ansys.dyna.core.pre.dynaem.DynaEM ================================= .. py:class:: ansys.dyna.core.pre.dynaem.DynaEM Bases: :py:obj:`ansys.dyna.core.pre.dynabase.DynaBase` Contains methods for creating keywords related to EM. .. !! processed by numpydoc !! .. py:attribute:: analysis .. py:method:: create_em_control(emsol=0, numls=100, macrodt=0, ncylfem=5000, ncylbem=5000) Enable the EM solver and set its options. :Parameters: **emsol** : :class:`python:int`, :obj:`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. **numls** : :class:`python:int`, :obj:`optional` Number of local EM steps in a whole period for when ``emsol = 2``. The default is ``100``. **macrodt** : :class:`python:int`, :obj:`optional` Macro time step for when ``emsol = 2``. The default is ``0``. **ncylfem** : :class:`python:int`, :obj:`optional` Number of electromagnetism cycles between the recalculation of FEM matrices. The default is ``5000``. **ncylbem** : :class:`python:int`, :obj:`optional` Number of electromagnetism cycles between the recalculation of BEM matrices. The default is ``5000``. :Returns: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: create_em_timestep(tstype, dtconst) Control the EM time step and its evolution. :Parameters: **tstype** : :class:`python:int` 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. **dtconst** : :class:`python:float` Constant value for the time step for when ``tstype = 1``. :Returns: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: create_em_contact(contid=0, dtype=0, psidm=0, psids=0, eps1=0.3, eps2=0.3, eps3=0.3, d0=0) Create an optional card for defining options on electromagnetic contacts between two sets of parts. :Parameters: **contid** : :class:`python:int`, :obj:`optional` Electromagnetic contact ID. The default is ``0``. **dtype** : :class:`python:int`, :obj:`optional` Detection type. The default is ``0``. Options are: - EQ.0: Contact type 0 - EQ.1: Contact type 1 **psidm** : :class:`python:int`, :obj:`optional` Master part set ID. The default is ``0``. **psids** : :class:`python:int` Slave part set ID. The default is ``0``. **eps1** : :class:`python:float`, :obj:`optional` First contact coefficient for contact detection conditions. The default is ``0.3``. **eps2** : :class:`python:float`, :obj:`optional` Second contact coefficient for contact detection conditions. The default is ``0.3``. **eps3** : :class:`python:float`, :obj:`optional` Third contact coefficient for contact detection conditions. The default is ``0.3``. **d0** : :class:`python:float`, :obj:`optional` Contact condition 3 when ``dtype = 1``. :Returns: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: set_rogowsky_coil_to_output_current(segmentset=SegmentSet([[]]), settype=1, curtyp=1) Define Rogowsky coils to measure a global current versus time through a segment set or a node set. :Parameters: **rogid** : :class:`python:int` Rogowsky coil ID. **setid** : :class:`python:int` Segment or node set ID. **settype** : :class:`python:int`, :obj:`optional` Type of set. The default is ``1``. Options are: - EQ.1: Segment set - EQ.2: Node set **curtyp** : :class:`python:int` 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: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: create_em_mat001(mid, mtype, sigma) Create an electromagnetic material type and set properties for a material whose permeability equals the free space permeability. :Parameters: **mid** : :class:`python:int` Material ID. **mtype** : :class:`python:int` 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 **sigma** : :class:`python:float` Initial electrical conductivity of the material. :Returns: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: create_em_mat002(mid, mtype, sigma, eosid, murel) Create an electromagnetic material type and set properties whose permeability is different than the free space permeability. :Parameters: **mid** : :class:`python:int` Material ID. **mtype** : :class:`python:int` 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 **sigma** : :class:`python:float` Initial electrical conductivity of the material. **eosid** : :class:`python:int` ID of the EOS to use for the electrical conductivity. **murel** : :class:`python:float` Relative permeability, which is the ratio of the permeability of a specific medium to the permeability of the free space. :Returns: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: create_em_solver_fembem_monolithic(mtype=0, stype=0, abstol=1e-06, reltol=0.0001, maxit=500) Turn on the monolithic FEM-BEM solver. :Parameters: **mtype** : :class:`python:int`, :obj:`optional` Monolithic solver type. The default is ``0``. The only option is EQ.0: Direct symmetric solver. **stype** : :class:`python:int` Solver type. The default is ``0``. Options are: - EQ.0: MINRES iterative solver - EQ.1: GMRES iterative solver **abstol** : :class:`python:float`, :obj:`optional` Absolute tolerance. The default is ``1e-6``. **reltol** : :class:`python:float`, :obj:`optional` Relative tolerance. The default is ``1e-4``. **maxit** : :class:`python:int`, optional. Maximum number of iterations. The default is 500. :Returns: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: create_em_output(mats=0, matf=0, sols=0, solf=0) Define the level of EM-related output on the screen and in the message file. :Parameters: **mats** : :class:`python:int`, :obj:`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 **matf** : :class:`python:int`, :obj:`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 **sols** : :class:`python:int` 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 **solf** : :class:`python:int`, :obj:`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 - EQ.2: Detailed information at each FEM iteration :Returns: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: connect_isopotential(contype=Isopotential_ConnType.SHORT_CIRCUIT, isopotential1=None, isopotential2=None, value=0, func=None, curve=None, inductance=0, capacity=0, initial_voltage=0) Define a connection between two isopotentials or between an isopotential and the ground. :Parameters: **contype** : :obj:`Isopotential_ConnType` Isopotential connection type. The default is ``SHORT_CIRCUIT``. **isopotential1** : :obj:`Isopotential` First isopotential to connect. **isopotential2** : :obj:`Isopotential` Second isopotential to connect. **value** : :class:`python:float`, :obj:`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: :class:`python:int` Connection ID. .. !! processed by numpydoc !! .. py:method:: create_em_database_globalenergy(outlv=0) Enable the output of global EM. :Parameters: **outlv** : :class:`python:int`, :obj:`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: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: create_Permanent_magnet(id, partid, mtype, north, sourth, hc) Create a permanent magnet. :Parameters: **id** : :class:`python:int` ID of the magnet. **partid** : :class:`python:int` Part ID. **mtype** : :class:`python:int`, :obj:`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 **north** : :class:`python:int` ID of the magnet's north face for ``mtype = 0`` and ``mtype = 1``. **sourth** : :class:`python:int` ID of the magnet's south face for ``mtype = 0`` and ``mtype = 1``. **hc** : :class:`python:int` Coercive force. :Returns: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: create_em_eos_permeability(eosid, eostype, lcid) Define the parameters for the behavior of a material's permeability. :Parameters: **eosid** : :class:`python:int` EM EOS ID. **eostype** : :class:`python:int` 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 **lcid** : :class:`python:int` Load curve ID. :Returns: :ref:`bool ` ``True`` when successful, ``False`` when failed. .. !! processed by numpydoc !! .. py:method:: save_file() Save keyword files. .. !! processed by numpydoc !!