Tutorial Resistive heating — Welcome to LS-DYNA Examples

Home » Knowledge Base » EM / Electromagnetics » Tutorial Resistive heating

This folder contains several input decks that aim to progressively introduce the user to the main keywords and concepts used by the EM resistive heating solver. Some of the features are only available for LS-DYNA R12 branch or in recent Development versions so make sure to have the correct executable installed. The revision (SVN) number is always indicated in the header of the main input deck (‘i.k’) along with some other critical information pertaining to the specific input deck. See the Download section for more information.


Joule heating or resistive heating is used in multiple daily use devices as well as in numerous industrial applications. Examples include incandescent light bulb, kettle boiler, hair dryer etc etc. On the industrial level, it is used in various applications such as baking or drying plastics, metal heat treatments, welding, casting etc etc. The ultimate goal of the EM resistive heating solver is to capture that Joule heating (via the solve of a Laplace equation for the scalar potential) and, ultimately be able to pass it to the thermal solver which can then estimate the temperature distribution. As such, the EM resistive heating solver is routinely used in conjunction with the thermal solver.




Image illustrating intro1 example :

 Image illustrating Source4 example :


Image illustrating Source5 example :


Image illustrating Erosion1 example :



This fist example introduces the user to the minimum number of keywords required to turn on the EM resistive heating solver. A control keyword is introduced *EM_CONTROL, the EM timestep is defined via *EM_CONTROL_TIMESTEP and temperature dependent electromagnetic conductivities are associated to material properties with *EM_MAT_001 and *EM_EOS_TABULATED1. No current source term is introduced and the only EM quantity that will vary during the run is the materials’ electromagnetic conductivities thanks to a prescribed rising temperature. Due to that latter fact, the EM solver stiffness matrix must be periodically recomputed to ensure accuracy. Take a moment to note that the input files are organized along with their specific solvers. The em keywords are regrouped in an ’em.k’ file, the thermal keywords in a ‘thermal.k’ file and the solid mechanics keywords in a ‘struc.k’ file.


This example features a simple metal bar where potential is imposed on both ends, thus allowing a constant current to flow. The keywords *EM_ISOPOTENTIAL and *EM_ISOPOTENTIAL_CONNECT are introduced. The 2D planar solver is selected by turning on a specific flag in *EM_CONTROL and choosing the material type *EM_MAT_004 instead of the classic *EM_MAT_001 for 3D runs. Make sure as well to orient all the elements in +Z direction.


The following  example shows how two parts can be simply connected with one another by using the keyword *EM_ISOPOTENTIAL_CONNECT thus allowing current to flow from one part to another. The simplest type of connection is the ‘short’ type when the same potential is assigned to two different *EM_ISOPOTENTIAL but other configurations are possible.


These two examples show two ways of defining a R,L,C circuit as an inlet boundary condition. The first way is to use the corresponding ‘contype’ in *EM_ISOPOTENTIAL_CONNECT but the second is by using the capabilities offered by *DEFINE_FUNCTION. This second set-up highlights the fact that a wide variety of circuit types  can be defined as inlet condition as long as the user provides the correct circuit equation in the *DEFINE_FUNCTION.



This example aims to further drive the point that complex circuits can be defined as inlet boundary conditions. In this case, two parts are connected together by an imposed current plus an imposed resistance the addition of both conditions forming a Robin type boundary condition which, in this case, represents the behavior of a discharging capacitor and a resistance. The other ends of the two parts are further connected together by a resistance.


The following input shows an example of using EM_BOUNDARY_PRESCRIBED. This keyword serves as an alternative to EM_ISOPOTENTIAL/EM_ISOPOTENTIAL_CONNECT and allows to directly prescribe local boundary conditions (voltage, current density, resistance) at nodes. This keyword is especially useful in cases where the boundary condition depends on local conditions such as temperature or displacement.


In this example, current must be allowed to flow between a metal bar and two other parts. The two other parts, representing the two ends of the circuit are sliding away from the metal bar. In order for current to flow between independent parts that are close enough to be considered in contact from a current flow point of view, the EM contact search must be activated. This is done with the keyword EM_CONTROL_CONTACT. This EM contact is independent from any type of mechanical or thermal contact which must be defined separately. Several options exist for the EM contact detection and parameters can be defined for local contacts between parts by using the keyword EM_CONTACT. When contact between conductors is susceptible to occur, it is advised to frequently update the contact search (by default, it is only done at initialization) by defining the eighth flag of *EM_CONTROL.


This example shows how the EM solver can be turned off with the keyword EM_CONTROL_SWITCH. Turning off the EM solver is frequently used in cases where current is applied only for a specific amount of time and then removed. After the EM solver has been turned off, the calculation reverts to a simple mechanical/thermal problem. Complex types of switch can be implemented (for example temperature dependent) which allows to turn the solver on and off.


It also possible to turn off only certain elements or parts from the EM solve. One intuitive way to do so would be to reduce the conductivity of certain elements to a very low value but it is also possible to remove certain elements directly from the system by using the ‘matdeath’ feature of EM_MAT_001. The following couple of examples show two ways of doing so. The first one applies a simple death time for a specific conductor while the other uses a *DEFINE_FUNCTION to remove certain elements from the solve if their temperature rises too much.



Similarly, it is possible to take eroding elements into account in the EM solver and remove eroded elements from the EM solve by using the keyword *EM_CONTROL_EROSION.


The following two examples show that it is also possible to have conducting beam elements in a 3D analysis. This can be used in cases where wires need to be modeled rather than using EM_ISOPOTENTIAL_CONNECT to connect conductors together. In the second example, the beam parts are turned off one after the other (simulating for example a progressive failure) and the current flow is diverted accordingly.



Similarly and as shown in the example below, it is also possible to mix thin shell conductors with solid conductors.