> 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/introduction/cylinder-2d-thermal-cae.md).

# Build Thermal Model using Abaqus-CAE

* ***File*** / ***Open***. Select ***cylinder-2d.cae*** to open if the cae file has been closed. (this file was created for the carburization model)
* *From the Model tree on the lest, copy and duplicate a thermal model*: cyl2d\_oil\_quench\_thermal. (The Model tree can be shown using ctrl + t button)

<figure><img src="/files/9lBsZEzsO1Ph7KBnqFBJ" alt=""><figcaption></figcaption></figure>

* Follow the following steps for building the thermal model..

## Step 1: Change Simulation Steps Definition

* Go to ***Step*** module.
* ***Step*** / ***Manager*** to open the step manager window.
* Delete ***carburizing*** step. And add ***heating up***, ***carburization***, ***air transfer***, ***oil quenching***, and ***air cooling*** steps. (They are all ***heat transfer*** analysis)

<figure><img src="/files/rvjVDFuAjYOK1Q3taAXE" alt="" width="442"><figcaption></figcaption></figure>

\*\*\*(Note: Using the following data as reference to define the steps) \*\*\*

```
Step 1: Heating up step
*Step, name=Heat-Up, amp=step, inc=1000
Furnace heat up
*Heat Transfer, end=PERIOD, deltmx=30.
1., 1000., 1e-06, 100.,
```

```
Step 2: Carburization step
*Step, name=Carburization, amp=step, inc=1000
Carburization process
*Heat Transfer, end=PERIOD, deltmx=30.
1., 10620., 1e-06, 500.,
```

```
Step 3: Air transfer step
*Step, name=Air-Transfer, amp=step, inc=1000
Transfer from furnace to quench tank
*Heat Transfer, end=PERIOD, deltmx=30.
0.01, 12., 1e-05, 1.,
```

```
Step 4: Immersion quenching step
*Step, name=Immersion-Quench, amp=step, inc=1000
*Heat Transfer, end=PERIOD, deltmx=30.
0.001, 5., 1e-06, 1.,
```

```
Step 5: Oil quenching step
*Step, name=Oil-Quench, amp=step, inc=1000
Oil quench to 65 C
*Heat Transfer, end=PERIOD, deltmx=30.
0.001, 1000., 1e-05, 50.,
```

```
Step 6: Air cooling to room temperature
*Step, name=Air-Cool, amp=step, inc=1000
Air cool to room temperature
*Heat Transfer, end=PERIOD, deltmx=30.
1., 1500., 1e-05, 100.,
```

## Step 2: Change Output Definition

* Stay in the Step Module, ***Output*** / ***DOF Monitor***, pick a surface point (or the predefined Monitor\_Node) to monitor the simulation status. DOF 11 is the temperature in the thermal model. Click ***OK*** to exit.

<figure><img src="/files/ZpD1QLOejx6A8L34rf1Q" alt="" width="401"><figcaption></figcaption></figure>

* ***Output*** / ***Restart Requests***, to modify the restart information. Click ***OK*** to exit

<figure><img src="/files/BWXCWQ9Wk0yDdM9JIwZi" alt="" width="389"><figcaption></figcaption></figure>

* ***Output*** / ***Field Output Requests*** / ***Manager***.

<figure><img src="/files/U1K9xpEC9P2tUESKT81z" alt="" width="374"><figcaption></figcaption></figure>

* Select the ***heating up*** step and click ***Edit***.  Output ***NT***, and ***SDV*** only.  Specify the output frequency as 10.

<figure><img src="/files/omeo3qR7xBAGvSXJKRfB" alt="" width="446"><figcaption></figcaption></figure>

* ***Output*** / ***History Output Requests***, to output the nodal temperature for the stress analysis (**optional**)

(Note: History output must be carefully used to reduce the file size, it does not have to be written out)

## Step 3: Input Thermal Material Properties

* Select ***Property*** module to update the material properties
* ***Material*** / ***Manager***, and ***Material Manager*** window appears. Select **STEEL\_*****S41XX***, and click ***Edit***.&#x20;
* Delete the ***Diffusivity*** and ***Solubility*** properties. (They are not used in the thermal analysis)
* Add ***General*** / ***Depvar***, set the Number of SDV to 190.

<figure><img src="/files/cyDEDqSGUn1aNVAQXYDb" alt="" width="442"><figcaption></figcaption></figure>

* Add ***General*** / ***User Material***, and input material data as figure below. Select ***Thermal*** as ***User material type.*** Adding the first material constant value, a total of 24 material constants will be needed, and they will be added from the input file later.

<figure><img src="/files/twgig3CaOn2t3ToD2Moi" alt="" width="377"><figcaption></figcaption></figure>

* Click ***OK*** to exit.

## Step 4: Apply Thermal Boundary Condition

* Select ***Interaction*** module to define the heat transfer boundary conditions.
* Define the outer surface of part for thermal boundary conditions. ***Tools*** / ***Surface*** / ***Create***. Click ***Continue*** and select the outer surface of the part.

<figure><img src="/files/VDMciI5CUVmFAi0bETM9" alt="" width="387"><figcaption></figcaption></figure>

* Define film property for thermal boundary conditions. ***Interaction*** / ***Property*** / ***Manager***

<figure><img src="/files/jI1iAHOCH2RPCR4ymS19" alt="" width="238"><figcaption></figcaption></figure>

* ***Interaction Property Manager*** window appears. Click ***Create*** to create the heat transfer coefficients of ***furnace***, ***air transfer***, ***oil quench***, and ***air cool***. ***Create Interaction Property*** window shows up.

<figure><img src="/files/8wQ18EpZgFfESuJ1Ic08" alt="" width="413"><figcaption></figcaption></figure>

Specify a name for the heat transfer coefficient. Select ***Film condition*** and click ***Continue***. ***Edit Interaction Property*** window appears.

<figure><img src="/files/lSsp4U6hDztP4YzrxksE" alt="" width="220"><figcaption></figcaption></figure>

* Activate ***temperature-dependent data***, and enter the temperature-dependent heat transfer coefficients. Click ***OK*** when all the data is entered.

<figure><img src="/files/iBjVh7lRkiXUDMPTp5fE" alt="" width="286"><figcaption></figcaption></figure>

***Note: The heat transfer coefficient values in terms of temperature are listed below for reference***

o   ***air-cool***

```
0.00011,  37.
0.000129, 65.
0.000143, 93.
0.000162, 120.
0.000178, 148.
0.000197, 176.
0.000237, 231.
0.000283, 287.
0.000335, 343.
0.000393, 398.
0.000458, 454.
0.000533, 509.
0.000616, 565.
0.000708, 620.
0.000811, 676.
```

o   ***Air-transfer***

```
0.000237,   231.
0.000283,   287.
0.000335,   343.
0.00010,    400.
0.00010,    500.
0.00009,    565.
0.00008,    620.
0.00008,    850.0
```

o   ***furnace***

```
0.0002, 20.
0.0008, 1000.
```

o   ***oil-quench***

<pre><code><strong>0.0001, 20.
</strong>0.0005, 150.
0.0015, 300.
0.002, 400.
0.00375, 450.
0.005, 500.
0.005, 550.
0.00475, 600.
0.003, 650.
0.002, 700.
0.0015, 750.
0.0013, 800.
</code></pre>

* ***Interaction/Manager***, and ***Interaction Manager*** window appears.

<figure><img src="/files/uBSaxobnU1C65wbxNCTn" alt="" width="443"><figcaption></figcaption></figure>

* Click ***Create*** to create boundary conditions. ***Create Interaction*** window shows up.

<figure><img src="/files/1UTJNHOL7wmJRA4tlJ8S" alt="" width="347"><figcaption></figcaption></figure>

* Select ***Heat-Up*** step, ***Surface film condition***, then click ***Continue***
* Select the pre-defined ***Outer\_Surface*** to apply boundary condition. Click ***Continue.***

<figure><img src="/files/NSluK3rtO7gupdmGsVsy" alt="" width="309"><figcaption></figcaption></figure>

* The ***Edit Interaction*** window shows up. Select ***Property Reference*** as ***Definition, Furnace*** as ***Interaction property***, and enter ***900.0*** as ***Sink temperature.*** Click ***OK*** to exit.

<figure><img src="/files/P3gQ08t4D668j1RNS3vo" alt="" width="351"><figcaption></figcaption></figure>

* In the ***Interaction Manager*** window, select the Air-Transfer step and Edit. (***Different thermal boundary condition is used in different steps***)

<figure><img src="/files/iUUXDSLjxVVOqjNgzOB2" alt="" width="438"><figcaption></figcaption></figure>

Edit or adding the proper thermla boundary conditions for all other steps.

The thermal boundary conditions (heat transfer coefficient and ambient temperature) for all other steps should also be defined.

***Note: To simulate immersion quenching step, film user subroutine must be used (Editing input deck is required to use the film subroutine)***

## Step 5: Change Initial Temperature Condition

* Select ***Load*** module.
* Define a node set, ***ALLNODES***, including all the nodes of the part. ***Tools*** / ***Set*** / ***Manager***.

<figure><img src="/files/km1e3k9xN7kpVacC5I7L" alt="" width="223"><figcaption></figcaption></figure>

* Set Manager window pops up. Click ***Create*** to define the ***ALLNODES*** node set with all the nodes.

<figure><img src="/files/xNanAspC3i7J49CTmbIF" alt="" width="323"><figcaption></figcaption></figure>

* ***Predefined Field*** / ***Manager***, and ***Field Manager*** window shows up. Delete Predefined Field if there is any.

<figure><img src="/files/3M5pA6xF0ZwLliOcdjKI" alt="" width="475"><figcaption></figcaption></figure>

* Click ***Create***, and the ***Create Predefined Field*** window pops up. Select the ***Initial*** step, check ***Other*** from category, and select ***Temperature*** for Types.

<figure><img src="/files/7EpAxYSsoPtGo8FkCmJH" alt="" width="297"><figcaption></figcaption></figure>

* Click ***Continue***, and select ALLNODES from the Region Selection window. Click ***Continue***.

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

* In the ***Edit Predefined Field*** window, change the ***Magnitude*** (initial temperature) to 20 °C. Click ***OK*** to exit.

<figure><img src="/files/GdZkK2KFGlMACEjUwjWe" alt="" width="387"><figcaption></figcaption></figure>

* Create the first field variable for defining the phase transformation Kinetics Mode (-6) (considered as optional here, it is less tedious to edit the input file)

<div><figure><img src="/files/869vXmknG9FmBOb8m3e1" alt="" width="207"><figcaption></figcaption></figure> <figure><img src="/files/dVxDeuY6Z8d5HUyvWm1s" alt="" width="307"><figcaption></figcaption></figure></div>

## Step 6: Write Out Input File

* Select ***Job*** module
* ***Job*** / ***Manager***, and ***Job Manager*** window pops up. Delete old jobs if there is any, and ***Create*** a new job with job name: ***cylinder\_2d\_t,*** with all the defaults. Click ***Write Input*** to output the file for thermal analysis. The default input file is: cylinder\_2d\_t.inp. The input file is written out to the current working directory.

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

*The input file, cylinder\_2d\_t.inp should be edited before running the job.*

## **Step 7:** **Modifying Thermal Input File**

* Double check all the ***Film Property*** definitions, and make sure they are correct and complete.
* Under the ***\*Material definition***, add definitions for SDV variables as highlighted lines below.

```
*Material, name=STEEL_S41XX
*Density
7.83e-06,
*Depvar
190,
1,  DEFWF_CARB,         Defined Nascent Carbon Weight Fraction
2,    HARDNESS,           Total Hardness
4,    DEFWF_NITROGEN,     Defined Nascent Nitrogen Weight Fraction
21,   VF_AUSTENITE,       Volume Fraction of Austenite
34,   VF_FERRITE,         Volume Fraction of Ferrite
47,   VF_PEARLITE,        Volume Fraction of Pearlite
60,   VF_UBAINITE,        Volume Fraction of Upper Bainite
73,   VF_LBAINITE,        Volume Fraction of Lower Bainite
86,   VF_MARTENSITE,      Volume Fraction of Martensite
99,   VF_TMARTENSITE,     Volume Fraction of Tempered Martensite
102,  WF_CARB_AUST,       Carbon Weight Fraction in Austenite
103,  WF_CARB_FERR,       Carbon Weight Fraction in Ferrite
104,  WF_CARB_PEARL,      Carbon Weight Fraction in Pearlite
105,  WF_CARB_UBAIN,      Carbon Weight Fraction in Upper Bainite
106,  WF_CARB_LBAIN,      Carbon Weight Fraction in Lower Bainite
107,  WF_CARB_MART,       Carbon Weight Fraction in Martensite
108,  WF_CARB_TMART,      Carbon Weight Fraction in Tempered Martensite
115,  DEFWF_NTDA,         Defined Nitrogen Weight Fraction in Nitride A
117,  DEFWF_NTDB,         Defined Nitrogen Weight Fraction in Nitride B
135,  CBDC_TMART,         CBD-C Weight Fraction in TMart
142,  CBDC_SIZE_TMART,    CBD-C Averaged Size in TMart
149,  CBDA_TMART,         CBD-A Weight Fraction in TMart
156,  CBDA_SIZE_TMART,    CBD-A Averaged Size in TMart
157,  TM_CMAX,            Max. Weight Fraction of CBD-C in TMart
172,  TM_AMAX,            Max. Weight Fraction of CBD-A in TMart
***** second constant of -3 is needed for the thermal model ***
*User Material, constants=24, type=THERMAL
**Row1 (1rd:Density),(2nd:ModelType),(3rd-8th:F,P,UB,LB,M,TM)
7.83e-06,    -3.,    0.3,    0.7,     0.,     0.,     0.,     0.
**Row-2: GS:1, Mn:3,   Si:4,   Ni:5,   Cr:6,   Mo:7,   Cu:8,  V:9
*      0.0635,   0.6,    -1.,    -1.,    -1.,    -1.,    -1.,   -1.*
*****Row-3: P:10, Nb:11,  Al:12,  Ti:13,  W:14,  Co:15,   B:16,  N:17 
***
*          -1.,   -1.,    -1.,    -1.,   -1.,    -1.,    -1.,    -1.*
```

\*\*Notes: \*\*

1. The 2<sup>nd</sup> material constant needs to be “-3” for thermal model.
2. The unit of grain size is mm diameter.
3. For all alloy elements, “-1.” means take the nominal value from the material database file.
4. To specify a specific composition, the unit of each alloy element value should be in percentage (Mn 0.6%). &#x20;

* Add  ***field variable*** initial conditions&#x20;

```
*Initial Conditions, type=FIELD, variable=13
ALLNODES, 0.
**
*Initial Conditions, type=FIELD, variable=1
ALLNODES, -4.
**
*Initial Conditions, type=TEMPERATURE
ALLNODES, 20.
**
*Initial Conditions, type=FIELD, variable=3
ALLNODES, 0.002
```

***Note: ALLNODES is a node set of whole model nodes.***

* Check ***\*Step*** definition to make sure they are well defined.  Add ***AMP=STEP*** to all the ***\*Step*** definition card except the Carburization step. For Carburization step, add ***AMP=RAMP***. &#x20;
* Using ***\*Controls*** card to make the convergence easier.

```
*Controls, parameters=time incrementation
10, 20, , , , , , , , ,
*Controls, parameters=line search
6, , , ,
*Controls, parameters=field, field=temperature
0.05, 10., , , , , 0.05,
```

* Make sure using ***OP=NEW*** option in the ***\*Sfilm*** card. Different film properties and ambient temperatures are used for different steps, as shown below.

Furnace Heat UP Step

```
*Sfilm, OP=NEW
Outer_Surface, F, 900., Furnace
```

Carburization Step

```
*Sfilm, OP=NEW
```

Air Transfer Step

```
*Sfilm, OP=NEW
Outer_Surface, F, 400., air-transfer
```

Immersion Step

```
*Sfilm, OP=NEW
Outer_Surface, FNU
```

Holding in Oil Tank Step

```
*Sfilm, OP=NEW
Outer_Surface, F, 65., oil-quench
```

Air Cool to Room Temperature Step

```
*Sfilm, OP=NEW
Outer_Surface, F, 20., air-cool
```

***Note: During immersion quench step, using FNU parameter for film subroutine to call immersion.txt file.***

* Add output for Cylinder2D\_t.fil file

```
*Node File, freq=1
NT,
```

* Change the field output \*Output card definition to

```
*Output, field, frequency=5
*Node Output
NT,
*Element Output, directions=YES
SDV1,SDV2,SDV4,SDV21,SDV34,SDV47,SDV60,SDV73,SDV86,SDV99,
SDV102,SDV103,SDV104,SDV105,SDV106,SDV107,SDV108,SDV115,SDV117,
SDV135,SDV142,SDV149,SDV156,SDV157,SDV172
```

* Prepare the carbon file: cylinder\_2d\_cc.nod, and this file is required by both the thermal and stress model. During Carburization step, add

```
*FIELD, OP=NEW, VAR=3, INPUT=cylinder_2d_gas_cc.cbn
```

***Note: The history output may write out large file. It can be deactivated.***

* ***Start the thermal job under ABAQUS command window.***

```
abaqus job=cylinder_2d_t
```

## Linear Immersion File

* Consider the thermal model input file name is cylinder\_2d\_t.inp. Prepare the immersion quench file with the name of ***cylinder\_2d\_t\_FILM-QUENCH.TXT***.
* The ***FILM-QUENCH.TXT*** file contains the immersion process, including the immersion speed, immersion direction, heat transfer coefficient values, air cooling, etc. This file should be in the current working directory. The file format is fixed as shown below.

```
**==================================================================
** File Name: "Model Name" + "_FILM-QUENCH.TXT"
**==================================================================
** 1: Linear Quench (Immersion or Spray)
** 2: Rotational Quench (Spray)
** 3: Gas Quench
**
*ITYPE_QUENCH
1
** The following format is for Linear Quench
** Number of Surfaces to define the HTC and ambient (\<=20 allowed)
*NUM_SURF_TOT
1
**--Surface Name****************************************************
*START_SURFACE
**
*SURFACE_NAME
Outer_surface
**
**--Direction of immersion (0,0,0)-->(x1,y1,z1)---------------
*QUENCH_DIRECTION
0.0, -1.0, 0.0
** Travel speed in terms of time:  Speed (mm/s) \<---> TIME(s)
*TRAVEL_SPEED
20.0
*QSTART_TIME
0.0
** *QSTART_LINE cannot be less than 0
*QSTART_LINE
0.0
** Negative *QEND_LINE number means infinity
*QEND_LINE
-1.0
*QEFFECT_LINE
0.0
**--Ambient temperature of Air--------------------------------
*TAMBT_AIR
20.0
**--Heat transfer coefficient of Air [W/(mm^2C)]--------------
*HTC_AIR
5e-05
**
**--Temperature of Effect Zone--------------------------------
*TAMBT_EFFECT
20.0
**--HTC of Effect Zone [W/(mm^2C)]--------------
*HTC_EFFECT
0.001
**
**--Temperature of quenchant [Unit: Degree C]---------
*TAMBT_QUENCH
65.0
**--HTC of quenchant--------------------
*HTC_QUENCH
0.0001,  20.0
0.0005,  150.0
0.0015,  300.0
0.002,  350.0
0.0025,  400.0
0.00375,  450.0
0.005,  500.0
0.005,  550.0
0.00475,  600.0
0.003,  650.0
0.002,  700.0
0.0015,  750.0
0.0013,  800.0
0.0005,  850.0
0.0008,  1000.0
*END_SURFACE
** Second Surface---------
**End of File
* *
```


---

# 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/introduction/cylinder-2d-thermal-cae.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.
