Boundary objects#

This section lists classes for creating and editing boundaries in the 3D tools. These objects are returned by app methods and can be used to edit or delete a boundary condition.

common.BoundaryObject

Manages boundary data and execution.

hfss_boundary.FarFieldSetup

Manages Far Field Component data and execution.

hfss_boundary.NearFieldSetup

Manages Near Field Component data and execution.

q3d_boundary.Matrix

Manages Matrix in Q3d and Q2d Projects.

maxwell_boundary.MaxwellParameters

Manages parameters data and execution.

maxwell_boundary.MaxwellMatrix

Provides methods to interact with matrices in Maxwell.

maxwell_boundary.MaxwellReducedMatrix

Provides methods to interact with reduced matrices in Maxwell.

maxwell_boundary.MaxwellReducedMatrixOperation

Represent a reduced matrix operation in Maxwell (join in series or parallel).

maxwell_boundary.MaxwellForce

Initialize Maxwell force.

maxwell_boundary.MaxwellTorque

Initialize Maxwell torque.

maxwell_boundary.MaxwellLayoutForce

Initialize Maxwell layout force.

layout_boundary.BoundaryObject3dLayout

Manages boundary data and execution for Hfss3dLayout.

icepak_boundary.NetworkObject

Manages networks in Icepak projects.

Maxwell Matrices#

To facilitate matrix assignment in Maxwell, multiple classes have been created. These classes help to easily create matrix for different Maxwell solvers for both Maxwell3D and Maxwell2D.

MatrixElectric

Matrix assignment for electric solvers.

SourceMagnetostatic

Source definition for magnetostatic solver.

GroupSourcesMagnetostatic

Group sources definition for magnetostatic solver.

MatrixMagnetostatic

Matrix assignment for magnetostatic solver.

SourceACMagnetic

Sources for AC Magnetic solver.

MatrixACMagnetic

Matrix assignment for AC Magnetic solver.

RLSourceACMagneticAPhi

RL sources for AC Magnetic A-Phi solver.

GCSourceACMagneticAPhi

GC sources for AC Magnetic A-Phi solver.

MatrixACMagneticAPhi

Matrix assignment for AC Magnetic A-Phi solver.

Circuit excitations#

To facilitate excitations assignment in Circuit, multiple classes have been created.

Sources

Manages sources in Circuit projects.

PowerSinSource

Power Sinusoidal Class.

PowerIQSource

Power IQ Class.

VoltageFrequencyDependentSource

Voltage Frequency Dependent Class.

VoltageDCSource

Power Sinusoidal Class.

VoltageSinSource

Power Sinusoidal Class.

CurrentSinSource

Current Sinusoidal Class.

Native components#

When native components object are created, the NativeComponentObject class is returned. For PCB components, NativeComponentPCB is returned.

NativeComponentPCB

Manages native component PCB data and execution.

NativeComponentObject

Manages Native Component data and execution.

PCBSettingsDeviceParts

Handle device part settings of the PCB component.

PCBSettingsPackageParts

Handle package part settings of the PCB component.

Native Component Object example:

from ansys.aedt.core import Icepak

ipk = Icepak()
component_name = "RadioBoard1"
pcb_comp = self.aedtapp.create_ipk_3dcomponent_pcb(
    component_name,
    link_data,
    solution_freq,
    resolution,
    custom_x_resolution=400,
    custom_y_resolution=500,
)
# pcb_comp is a NativeComponentPCB
...
ipk.release_desktop()

Icepak transient assignments#

To facilitate transient assignment handling in Icepak, it is possible to use one of the following classes:

SinusoidalDictionary

Manages sinusoidal condition assignments, which are children of the BoundaryDictionary class.

LinearDictionary

Manages linear conditions assignments, which are children of the BoundaryDictionary class.

PowerLawDictionary

Manages power law condition assignments, which are children of the BoundaryDictionary class.

ExponentialDictionary

Manages exponential condition assignments, which are children of the BoundaryDictionary class.

SquareWaveDictionary

Manages square wave condition assignments, which are children of the BoundaryDictionary class.

PieceWiseLinearDictionary

Manages dataset condition assignments, which are children of the BoundaryDictionary class.

It is possible to initialize the class manually or through a method:

bc_transient = ipk.create_sinusoidal_transient_assignment(
    vertical_offset="1W", vertical_scaling="3", period="2", period_offset="0.5s"
)
# bc_transient will be SinusoidalDictionary type
ipk.assign_solid_block("Cylinder1", bc_transient)

# or

bc_transient = SinusoidalDictionary(
    vertical_offset="1W", vertical_scaling="3", period="2", period_offset="0.5s"
)
ipk.assign_solid_block("Cylinder1", bc_transient)