> For the complete documentation index, see [llms.txt](https://dante-solutions-inc.gitbook.io/dante-6.3-help-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dante-solutions-inc.gitbook.io/dante-6.3-help-documentation/readme/additional-topics-introduction/induction-hardening-process-modeling.md).

# Induction Hardening Process Modeling

DANTE is able to model the induction hardening process. However, DANTE does not model the electromagnetic (EM) phenomenon. There are several options available to generate the necessary temperature history from an induction hardening process for the stress analysis.

* The first option is to take the temperature history from an electromagnetic model performed on a third-party software. To use this option, a script to map the temperature results from a third-party software results to the stress model is required. This option is not recommended, as the thermal properties used in the EM model may not be the same as in the DANTE model.
* The second option (more robust than the first option) is to use the Joule heating predicted by the EM software to drive the DANTE Thermal Model. This method has been used with great success by DANTE engineers. A mapping script to transfer the EM modeling results to DANTE Power File format is required for this option.
* The third option is to use knowledge of the case depth, heat effected zone, and maximum surface temperature to define the Joule heating profile manually. A script to generate the power file is required. An example to generate the power file is given in later section.

To use the second or the third options, the Power File can be generated following the rules below:

* To link to **Abaqus/Standard** solver, the Power file name is: ***Job\_Name***” + ***“\_DFLUX\_POWER.TXT***”. For example, if the job name is “Job-1”, then the film subroutine file name would be “**Job-1\_DFLUX\_POWER.TXT**”. The \*DFLUX subroutine file will then be called by Abaqus during the analysis.
* To link to **Ansys/Mechanical** solver, The file name is arbitrary. and the Power file name and path should be specified in the ***DANTE\_CTLB.CTL*** file in the working directory. (Note: this file has a fixed format)

  ```
    Line-1:  This file has fixed format: for Internal Heat Power File Name
    Line-1:  Version-5 
    Line-2  Number of DFLUX_POWER.TXT File (0: no POWER File, <=1 allowed) 
    Line-2  1
    Line-3  DFLUX_POWER.TXT File name if "1" is selected (allow Max. one file)
    Line-3  G:\temp\model-name_POWER.TXT
    Line-4  End of File
  ```

*An example of Power File is shown below (\* indicates comment line):*\*

<figure><img src="/files/skcqOt3nSeVqQPCwiZj2" alt=""><figcaption></figcaption></figure>

***\*Power\_Check***: Keyword used to get Element Numbers and Node Point Numbers for the model OR to read from this file. Setting this value to one (1) will get the Element Number, Node Point Number, and Node Point Coordinates by executing one time increment of the analysis. The info will be written to the \*.log file and will be used by the Fortran code to generate the Joule power distribution. Setting this value to zero (0) will read the data in this file.

***\*Num\_Power\_Frame***: Keyword used to set the number of time frames used. For a single shot process, there will only be 1 frame. For scanning processes, there will be multiple frames defined at different times of the analysis. The total number will be determined by the value of **NUM\_FRAME\_TOTAL**.

***\*Power\_Wgt***: Keyword used to scale the Joule power values in this file. This is an easy way to adjust the power up or down without having to rerun the Fortran code to generate new power values.

***\*Start\_Power***: Keyword to define the start of the power values. Each time with a power definition will start with **\*Start\_Power** and end with **\*End\_Power**. All keywords before **\*Start\_Power** only need to be defined once, at the beginning of the file.

***\*Power\_Time***: Keyword that defines the time in the analysis step to apply the power values. The values will remain constant until a new time is defined, with a new set of power values, OR \*DFLUX is deactivated in the analysis by using “\*DFLUX, op=new” in a new analysis step. For single shot processes, there will be one **\*Power\_Time**. For scanning processes, there will be multiple **\*Power\_Time**; the exact number of instances and the values will depend on the processing time and the size of the time increments from one set of power values to the next.

***\*Power\_Density***: Keyword that defines the power value at each node of the model. The format is comma delimited and is: Element Number, X-Y-Z coordinates of the element centroid, Power Value. It is possible to only define the elements which are heated, thus reducing the number of lines in the **\*Power\_Density** definition. All elements not defined for heating and given a value in this file will have a power value of zero (0) assigned by the subroutine.

***\*End\_Power***: Keyword to define the end of the power values. Each time with a power definition will start with **\*Start\_Power** and end with **\*End\_Power**.

An example to generate the Power File using a Fortran code, is shown in Figure below, which may be used to define the geometry to be heated and to define the power in terms of depth from the part surface. The code may be used to define the power distribution for a single-shot process or a scanning process. A Fortran compiler is required to use this file. A brief explanation of the required parameters is outlined. The example code can be found in DANTE installation examples directory.

<figure><img src="/files/CYj78FxSRhGKCdsekwzE" alt=""><figcaption></figcaption></figure>

***TIME\_DWELL***: Parameter used to define any dwell, in seconds, at the start of a scanning process. Given the geometry and/or process settings, a pause (dwell) at the start of the process may be required to ensure the first volume of material to see the inductor is sufficiently heated.

***TRAVEL\_SPEED***: Parameter used to define the scanning speed of an inductor, in mm/s. The scanning speed can be constant or a function of time.

***WIDTH\_INDUCTOR***: Parameter used to the define the inductor width, in mm; i.e., how much of the part’s axial length is covered by the inductor.

***P0\_INDUCTOR***: Parameter used to define the initial position of the inductor head, in mm. For most instances, this value will be set to zero (0), which lines up the head of the inductor with the bottom of the part.

***NUM\_FRAME\_TOTAL***: Parameter used to set the total number of power versus depth frames for a scanning process.

***TIME\_STEP***: Parameter used to set the total time, in seconds, of the induction heating process. For a single-shot process, this will be the time the inductor is transferring energy to the part. For a scanning process, this will be the time it takes to scan the entire part. The time of each scanning time increment (**TIME\_STEP / NUM\_FRAME\_TOTAL**) should be such that the temperature change and phase transformations that occur as the inductor moves along the part appear smooth. If the scanning time increment is too large, it will look as if the maximum temperature is jumping from node to node.

***POWER\_WEIGHT***: Parameter used to scale the power values written to the \*\_DFLUX\_POWER.TXT file, which is explained below.

***DATA (HDEPTHA)***: Depths, in mm, from the surface of the part that will have power values applied. The values defined provide a range over which a single power value is applied. For example, in Figure 1, a single power value (8.67) will be applied at any node between 0 mm (the surface) and 0.25 mm. A single power value (7.50) will be applied at any node between 0.251 mm and 0.55 mm. There is no limit on the depth which can be defined, but there is currently a limit of ten values that can be defined.

***DATA (HGENA)***: Power, in W, assigned to the depths provided in **DATA (HDEPTHA)**. These two data, **DATA (HDEPTHA)** and **DATA (HGENA),** are data pairs.

Spray Quench may be used along with the induction heating for scanning IH and spray quench process. Please reference [**Immersion Quench Process Modeling**](/dante-6.3-help-documentation/readme/additional-topics-introduction/immersion-quench-process-modeling.md) for setting up a spray quench modeling boundary conditions.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://dante-solutions-inc.gitbook.io/dante-6.3-help-documentation/readme/additional-topics-introduction/induction-hardening-process-modeling.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
