ansys.dyna.core.pre.dynaem#

Module for creating an electromagnetism (EM) input deck.

Classes#

Isopotential_ConnType

Generic enumeration.

DynaEM

Contains methods for creating keywords related to EM.

EMType

Generic enumeration.

EMDimension

Generic enumeration.

BEMSOLVER

Generic enumeration.

FEMSOLVER

Generic enumeration.

EMAnalysis

Enables the EM solver and sets its options.

CircuitType

Generic enumeration.

Circuit

Defines an electrical circuit.

EMContactType

Generic enumeration.

EMContact

Detects contact between conductors.

EMRandlesLayer

Generic enumeration.

Isopotential

Defines an isopotential.

RogoCoil

Measures the total current flowing through a given section of the conductor.

RandlesCellType

Generic enumeration.

RandlesCell

Define parameters for a Randles Cell.

Module Contents#

class ansys.dyna.core.pre.dynaem.Isopotential_ConnType[source]#

Bases: ansys.dyna.core.pre.dynabase.Enum

Generic enumeration.

Derive from this class to define new enumerations.

SHORT_CIRCUIT = 1[source]#
RESISTANCE = 2[source]#
VOLTAGE_SOURCE = 3[source]#
CURRENT_SOURCE = 4[source]#
RLC_CIRCUIT = 6[source]#
class ansys.dyna.core.pre.dynaem.DynaEM[source]#

Bases: ansys.dyna.core.pre.dynabase.DynaBase

Contains methods for creating keywords related to EM.

analysis[source]#
create_em_control(emsol=0, numls=100, macrodt=0, ncylfem=5000, ncylbem=5000)[source]#

Enable the EM solver and set its options.

Parameters:
emsolint, optional

EM solver. The default is 0. Options are:

  • EQ.-1: Turn off the EM solver after reading the EM keywords.

  • EQ.1: Eddy current solver.

  • EQ.2: Induced heating solver.

  • EQ.3: Resistive heating solver.

  • EQ.11: Electrophysiology monodomain.

  • EQ.12: Electrophysiology bidomain.

  • EQ.13: Electrophysiology monodomain coupled with bidomain.

numlsint, optional

Number of local EM steps in a whole period for when emsol = 2. The default is 100.

macrodtint, optional

Macro time step for when emsol = 2. The default is 0.

ncylfemint, optional

Number of electromagnetism cycles between the recalculation of FEM matrices. The default is 5000.

ncylbemint, optional

Number of electromagnetism cycles between the recalculation of BEM matrices. The default is 5000.

Returns:
bool

True when successful, False when failed.

create_em_timestep(tstype, dtconst)[source]#

Control the EM time step and its evolution.

Parameters:
tstypeint

Time step type. Options are:

  • EQ.1: Constant time step given in DTCONST

  • EQ.2: Time step as a function of time given by a load curve specified in LCID

  • EQ.3: Automatic time step computation, depending on the solver type

This time step is then multiplied by FACTOR.

dtconstfloat

Constant value for the time step for when tstype = 1.

Returns:
bool

True when successful, False when failed.

create_em_contact(contid=0, dtype=0, psidm=0, psids=0, eps1=0.3, eps2=0.3, eps3=0.3, d0=0)[source]#

Create an optional card for defining options on electromagnetic contacts between two sets of parts.

Parameters:
contidint, optional

Electromagnetic contact ID. The default is 0.

dtypeint, optional

Detection type. The default is 0. Options are:

  • EQ.0: Contact type 0

  • EQ.1: Contact type 1

psidmint, optional

Master part set ID. The default is 0.

psidsint

Slave part set ID. The default is 0.

eps1float, optional

First contact coefficient for contact detection conditions. The default is 0.3.

eps2float, optional

Second contact coefficient for contact detection conditions. The default is 0.3.

eps3float, optional

Third contact coefficient for contact detection conditions. The default is 0.3.

d0float, optional

Contact condition 3 when dtype = 1.

Returns:
bool

True when successful, False when failed.

set_rogowsky_coil_to_output_current(segmentset=SegmentSet([[]]), settype=1, curtyp=1)[source]#

Define Rogowsky coils to measure a global current versus time through a segment set or a node set.

Parameters:
rogidint

Rogowsky coil ID.

setidint

Segment or node set ID.

settypeint, optional

Type of set. The default is 1. Options are:

  • EQ.1: Segment set

  • EQ.2: Node set

curtypint

Type of current measured. The default is 1. Options are:

  • EQ.1: Volume current

  • EQ.2: Surface current (not available yet}

  • EQ.3: Magnetic field flow (B field times area)

Returns:
bool

True when successful, False when failed.

create_em_mat001(mid, mtype, sigma)[source]#

Create an electromagnetic material type and set properties for a material whose permeability equals the free space permeability.

Parameters:
midint

Material ID.

mtypeint

Electromagnetism type of the material. Options are:

  • EQ.0: Air or vacuum

  • EQ.1: Insulator material (These materials have the same electromagnetism behavior as EQ.0.)

  • EQ.2: Conductor carrying a source

  • EQ.3: Fluid conductor

  • EQ.4: Conductor not connected to any current or voltage source, where the eddy current problem is solved

sigmafloat

Initial electrical conductivity of the material.

Returns:
bool

True when successful, False when failed.

create_em_mat002(mid, mtype, sigma, eosid, murel)[source]#

Create an electromagnetic material type and set properties whose permeability is different than the free space permeability.

Parameters:
midint

Material ID.

mtypeint

Electromagnetism type of the material. Options are:

  • EQ.0: Air or vacuum

  • EQ.1: Insulator material (These materials have the same electromagnetism behavior as EQ.0.)

  • EQ.2: Conductor carrying a source

  • EQ.4: Conductor not connected to any current or voltage source, where the wddy current problem is solved

sigmafloat

Initial electrical conductivity of the material.

eosidint

ID of the EOS to use for the electrical conductivity.

murelfloat

Relative permeability, which is the ratio of the permeability of a specific medium to the permeability of the free space.

Returns:
bool

True when successful, False when failed.

create_em_solver_fembem_monolithic(mtype=0, stype=0, abstol=1e-06, reltol=0.0001, maxit=500)[source]#

Turn on the monolithic FEM-BEM solver.

Parameters:
mtypeint, optional

Monolithic solver type. The default is 0. The only option is EQ.0: Direct symmetric solver.

stypeint

Solver type. The default is 0. Options are:

  • EQ.0: MINRES iterative solver

  • EQ.1: GMRES iterative solver

abstolfloat, optional

Absolute tolerance. The default is 1e-6.

reltolfloat, optional

Relative tolerance. The default is 1e-4.

maxitint, optional.

Maximum number of iterations. The default is 500.

Returns:
bool

True when successful, False when failed.

create_em_output(mats=0, matf=0, sols=0, solf=0)[source]#

Define the level of EM-related output on the screen and in the message file.

Parameters:
matsint, optional

Level of matrix assembly output to show on the screen. The default is 0. Options are:

  • EQ.0: No output

  • EQ.1: Basic assembly steps

  • EQ.2: Basic assembly steps + percentage completed + final statistics

  • EQ.3: Basic assembly steps + percentage completed + statistics at each percentage of completion

matfint, optional

Level of matrix assembly output to write to the message file. The default is 0. Options are:

  • EQ.0: No output

  • EQ.1: Basic assembly steps

  • EQ.2: Basic assembly steps + percentage completed + final statistics

  • EQ.3: Vasic assembly steps + percentage completed + statistics at each percentage of completion

solsint

Level of solver output to show on the screen. The default is 0. Options are:

  • EQ.0: No output

  • EQ.1: Global information at each FEM iteration

  • EQ.2: Detailed information at each FEM iteration

solfint, optional

Level of solver output to write to the message file. The default is 0. Options are:

  • EQ.0: No output

  • EQ.1: Global information at each FEM iteration

0 EQ.2: Detailed information at each FEM iteration

Returns:
bool

True when successful, False when failed.

connect_isopotential(contype=Isopotential_ConnType.SHORT_CIRCUIT, isopotential1=None, isopotential2=None, value=0, func=None, curve=None, inductance=0, capacity=0, initial_voltage=0)[source]#

Define a connection between two isopotentials or between an isopotential and the ground.

Parameters:
contypeIsopotential_ConnType

Isopotential connection type. The default is SHORT_CIRCUIT.

isopotential1Isopotential

First isopotential to connect.

isopotential2Isopotential

Second isopotential to connect.

valuefloat, optional

Value of the resistance, voltage, or current depending on the isopotential connection type. The default is 0.

func
curve
inductance
capacity
initial voltage
Returns:
int

Connection ID.

create_em_database_globalenergy(outlv=0)[source]#

Enable the output of global EM.

Parameters:
outlvint, optional

Flag for whether to generate the output file. The default is 0. Options are:

  • EQ.0: No output file is generated.

  • EQ.1: The output file is generated.

Returns:
bool

True when successful, False when failed.

create_Permanent_magnet(id, partid, mtype, north, sourth, hc)[source]#

Create a permanent magnet.

Parameters:
idint

ID of the magnet.

partidint

Part ID.

mtypeint, optional

Magnet definition type. Options are:

  • EQ.0: Magnet defined by two node set for the north and south poles

  • EQ.1: Magnet defined by two segments set for the north and south poles

  • EQ.3: Magnet defined by a global vector orientation

  • EQ.4: Magnet defined by a global vector orientation given by two node IDs

northint

ID of the magnet’s north face for mtype = 0 and mtype = 1.

sourthint

ID of the magnet’s south face for mtype = 0 and mtype = 1.

hcint

Coercive force.

Returns:
bool

True when successful, False when failed.

create_em_eos_permeability(eosid, eostype, lcid)[source]#

Define the parameters for the behavior of a material’s permeability.

Parameters:
eosidint

EM EOS ID.

eostypeint

Define the type of EOS. Options are:

  • EQ.1: Permeability defined by a B function of the H curve

  • EQ.2: Permeability defined by an H function of the B curve

lcidint

Load curve ID.

Returns:
bool

True when successful, False when failed.

save_file()[source]#

Save keyword files.

class ansys.dyna.core.pre.dynaem.EMType[source]#

Bases: ansys.dyna.core.pre.dynabase.Enum

Generic enumeration.

Derive from this class to define new enumerations.

EDDY_CURRENT = 1[source]#
INDUCTIVE_HEATING = 2[source]#
RESISTIVE_HEATING = 3[source]#
ELECTROPHYSIOLOGY = 11[source]#
class ansys.dyna.core.pre.dynaem.EMDimension[source]#

Bases: ansys.dyna.core.pre.dynabase.Enum

Generic enumeration.

Derive from this class to define new enumerations.

SOLVER_3D = 0[source]#
PLANAR_2D = 1[source]#
AXISYMMETRIC_2D = 3[source]#
class ansys.dyna.core.pre.dynaem.BEMSOLVER[source]#

Bases: ansys.dyna.core.pre.dynabase.Enum

Generic enumeration.

Derive from this class to define new enumerations.

DIRECT_SOLVER = 1[source]#
PCG = 2[source]#
class ansys.dyna.core.pre.dynaem.FEMSOLVER[source]#

Bases: ansys.dyna.core.pre.dynabase.Enum

Generic enumeration.

Derive from this class to define new enumerations.

DIRECT_SOLVER = 1[source]#
PCG = 2[source]#
class ansys.dyna.core.pre.dynaem.EMAnalysis(type=EMType.EDDY_CURRENT)[source]#

Enables the EM solver and sets its options.

Parameters:
typeint

Electromagnetism solver. The default is EDDY_CURRENT. Options are:

  • EQ.1: Eddy current solver

  • EQ.2: Induced heating solver

  • EQ.3: Resistive heating solver

  • EQ.11: Electrophysiology monodomain

p_matrix_tol = 1e-06[source]#
q_matrix_tol = 1e-06[source]#
w_matrix_tol = 1e-06[source]#
defined = False[source]#
stub[source]#
type[source]#
dimtype = 0[source]#
defined_bem = False[source]#
defined_fem = False[source]#
set_timestep(timestep)[source]#

Set the EM time step and its evolution.

set_em_solver(type=EMType.EDDY_CURRENT, dimtype=EMDimension.SOLVER_3D)[source]#

Set the EM solver.

set_solver_bem(solver=BEMSOLVER.PCG, relative_tol=1e-06, max_iteration=1000)[source]#

Set the type of linear solver, pre-conditioner, and tolerance for the EM BEM solver.

set_solver_fem(solver=FEMSOLVER.DIRECT_SOLVER, relative_tol=1e-06, max_iteration=1000)[source]#

Set some parameters for the EM FEM solver.

set_bem_matrix_tol(p_matrix_tol=1e-06, q_matrix_tol=1e-06, w_matrix_tol=1e-06)[source]#

Set the type of BEM matrices and the way that they are assembled.

create()[source]#

Create an EM analysis.

class ansys.dyna.core.pre.dynaem.CircuitType[source]#

Bases: ansys.dyna.core.pre.dynabase.Enum

Generic enumeration.

Derive from this class to define new enumerations.

IMPOSED_CURRENT_VS_TIME = 1[source]#
IMPOSED_VOLTAGE_VS_TIME = 2[source]#
class ansys.dyna.core.pre.dynaem.Circuit(loadcurve, circuit_type=CircuitType.IMPOSED_CURRENT_VS_TIME)[source]#

Defines an electrical circuit.

Parameters:
circtypint

Circuit type. Options are:

  • EQ.1: Imposed current vs time defined by a load curve

  • EQ.2: Imposed voltage vs time defined by a load curve

loadcurveCurve

Load curve for when the circtyp parameter is set to 1, 2, 21 or 22.

stub[source]#
circuit_type[source]#
lcid[source]#
set_current(current, current_inlet, current_outlet)[source]#

Define the segment set for the current.

Parameters:
currentSegmentSet

Segment set for the current.

current_inletSegmentSet

Segment set for input voltage or input current for CIRCTYP.EQ.2/3/12/22 and CIRCTYP.EQ 1/11/21 respectively.

current_outletSegmentSet

Segment set for the output voltage or output current for CIRCTYP = 2/3/12/22 and CIRCTYP = 1/11/21 respectively.

create()[source]#

Create a circuit.

class ansys.dyna.core.pre.dynaem.EMContactType[source]#

Bases: ansys.dyna.core.pre.dynabase.Enum

Generic enumeration.

Derive from this class to define new enumerations.

NODE_TO_NODE_BASED_ON_CONSTRAINTS[source]#
NODE_TO_NODE_PENALTY_BASED_CONTACT = 0[source]#
DISCRETE_MORTAR_PENALTY_CONTACT = 1[source]#
class ansys.dyna.core.pre.dynaem.EMContact(contact_type=EMContactType.NODE_TO_NODE_PENALTY_BASED_CONTACT)[source]#

Detects contact between conductors.

If no contact parts are defined, this method detects contact between all active parts associated with a conducting material.

stub[source]#
contacttype[source]#
create()[source]#

Create an EM contact.

class ansys.dyna.core.pre.dynaem.EMRandlesLayer[source]#

Bases: ansys.dyna.core.pre.dynabase.Enum

Generic enumeration.

Derive from this class to define new enumerations.

DEFAULT = 0[source]#
CURRENT_COLLECTOR_POSITIVE = 1[source]#
POSITIVE_ELECTRODE = 2[source]#
SEPARATOR = 3[source]#
NEGATIVE_ELECTRODE = 4[source]#
CURRENT_COLLECTOR_NEGATIVE = 5[source]#
class ansys.dyna.core.pre.dynaem.Isopotential(set=None, layer=EMRandlesLayer.DEFAULT)[source]#

Defines an isopotential.

This method constrain nodes so that they have the same scalar potential value.

Parameters:
setSet

Segment set or node set.

isopotlist = [][source]#
stub[source]#
set[source]#
id = 0[source]#
rdltype[source]#
create()[source]#

Create an isopotential.

class ansys.dyna.core.pre.dynaem.RogoCoil(set=None)[source]#

Bases: ansys.dyna.core.pre.dynabase.BaseObj

Measures the total current flowing through a given section of the conductor.

Parameters:
setSet

Segment set.

stub[source]#
set[source]#
id = 0[source]#
type = 'rogocoil'[source]#
create()[source]#

Create a Rogowsky coil.

class ansys.dyna.core.pre.dynaem.RandlesCellType[source]#

Bases: ansys.dyna.core.pre.dynabase.Enum

Generic enumeration.

Derive from this class to define new enumerations.

USER_DEFINED_EQUIVALENT_CIRCUIT_MODEL[source]#
RANDLES_CELL_0_ORDER = 0[source]#
RANDLES_CELL_1_ORDER = 1[source]#
RANDLES_CELL_2_ORDER = 2[source]#
RANDLES_CELL_3_ORDER = 3[source]#
class ansys.dyna.core.pre.dynaem.RandlesCell(set=None)[source]#

Define parameters for a Randles Cell.

stub[source]#
define_batmac = False[source]#
define_randles_short = False[source]#
define_extra_heat_source = False[source]#
set_batmac_model(cell_type=RandlesCellType.RANDLES_CELL_1_ORDER, cell_parts=None, area=2, cell_capacity=0, soc_conversion_factor=0, charge_init_state=0, equilibrium_voltage=None, circuit_parameter=None, constant_temperature=0, temperature_from_thermal_solver=False, add_heating_to_thermal_solver=False)[source]#

define the distributed Randles circuit parameters for a Randles cell when using the batmac model.

set_randles_short(resistances_func=None)[source]#

Define conditions to turn on a Randles short (replace one or several Randles circuits by resistances), and to define the value of the short resistance.

Parameters:
resistances_funcFunction

Define the local resistance function of local parameters for the local Randles circuit.

set_extra_heat_source(heat_source_func=None)[source]#

Add an extra heat source term to the Randles circuit nodes in order to account for thermal runaway situations.

Parameters:
heat_source_funcFunction

Define the local heat source function of local parameters for the local Randles circuit.

create()[source]#

Set parameter for Randles Cell.