© MatCalc (2008)
 
 
 
 
 
 
 
 
   
 
   

 

*****************************************************************************************************************

 

Attention: The methodology and scripts in this example are not up to date. From MatCalc version 5.23, thermal profiles and changes in precipitation domains, etc. are controlled via heat treatment segments. Please see Application 3 and younger for latest scripts on complex heat treatments!

 

*****************************************************************************************************************

A3: Heat treatment of a complex tool steel

In the following will be shown how a system setup for a heat treatment of a complex tool steel can look like. A tool steel is a intresting example for a precipitation simulation because of the complex microstructure of this steels which is needed as a result of the effective loads. For the system setup were written in all 5 scripts to get a clear structure which is comprehensible at every point. In detail the simulation is splitted up into the following parts:

  1. Main.mcs: The main script can be seen as a comfortable possibility to handle other scripts. In the main script there are no setup definitions. There will be only scripts executed and calculations started without any intervention of the user.
  2. Setup Casting: In this script the chemical composition of the steel, the considered phases, the used databases and some variables which are needed for the following simulation is defined. Furthermore the precipitate domain(s) and the time-temperature-table in this script will be defined.
  3. Setup Precipitates: The "Setup Precipitate" script contains the definition of the considered precipitate phases, attaches the precipitate domain to the precipitate phases for the first simulation step (the casting) and defines the nucleation sites for each precipitate population. Furthermore in this script the simulation setup will be done (definition of simulation end time, starting conditions,...).
  4. Setup GUI: This script creates the output windows, plots, etc.
  5. Heat Treatment : The "Heat Treatment" script defines the several parts of the heat treatment like reheating up to the point where the matrix phase with the highest phase fraction is changing from Ferrite to Austenite, austenitisation of the material and annealing at 600°C for a certain time.

In the following the content and strucutre of this scripts will be explained.

1. Main (download: 0 Main.mcs)

The script code for the main script looks like:

 

$ MatCalc batch script for complex tool steel

$ MUST change working directory ...
$ '.' = set to path of last file operation
set-working-directory .

$+++++++++++++++++++++++++++++++

run 1 Setup Casting.mcs
run 2 Setup Precipitates.mcs
run 3 Setup GUI.mcs
start-precipitate-simulation

$+++++++++++++++++++++++++++++++

run 4 reheating.mcs

 

One can see that there are only few command lines written. At first the first 3 setup scripts are executed. After this the calculation is started. When this simulation is finished the next script will be executed.

2. Setup Casting (download: 1 Setup Casting.mcs)

After starting the main script, the first script which will be executed is the "Setup Casting" script. In this script the chemical composition, the considered phases,... as written before will be defined.

 

$ MatCalc script Complex steel
$ Nov 2005

 

new-workspace

set-workspace-info Complex Steel Kinetik
set-workspace-info Casting, Austenitising, Tempering

open-thermo-database TCFE3_mod.tdb
select-elements C Co Cr Fe Mn Mo Si V
select-phase bcc_a2 fcc_a1 hcp_a3 Cementite M23C6
set-reference-element fe
read-thermodyn-database

 

$ the phases fcc_a1#01 and hcp_a3#01 have already been generated automatically
change-phase-status hcp_a3 f s s $ suspend hcp_a3 matrix phase
enter-composition wp C=0,3 Cr=2,50 Mn=0,25 Mo=2,50 Si=0,20 V=0,20

 

$ all variables are global and can be used in other scripts too
set-variable-value x_scale 0.0
set-variable-value ipdcf 1e-6 $ inner particle diffusion coefficient
set-variable-value npc 10 $ number of particle classes
set-variable-value ssprl 100 $ store every
set-variable-value irf 5 $ inactive radius factor
set-variable-value time_cast 10000 $ time to cool down the casting
set-variable-value time_aust 60*60 $ seconds of austenitising
set-variable-value time_temp 500*60 $ seconds of heat treatment

 

$ read diffusion data and physical constants
read-mobility-database mobility_v21
read-physical-database PhysData.pdb

set-temperature-celsius 1200
set-automatic-startvalues
calc-equilibrium

 

$ precipitate domains_____________________________________________

create-precipitate-domain Austenite $ Austenit as precipitation domain = matrix

Attention: From MatCalc version 5.20 the command 'create-precipitate-domain' changed to 'create-precipitation-domain'
set-precipitation-parameter Austenite x fcc_a1 $ Attach the BCC_a2 phase as matrix to the domain "Austenite"
set-precipitation-parameter Austenite d 1e11 $ dislocation density
set-precipitation-parameter Austenite g 100e-6 1 $ grain diameter
set-precipitation-parameter Austenite s 10e-6 $ subgrain diameter

create-precipitate-domain Ferrite

Attention: From MatCalc version 5.20 the command 'create-precipitate-domain' changed to 'create-precipitation-domain'
set-precipitation-parameter Ferrite x bcc_a2
set-precipitation-parameter Ferrite d 1e14
set-precipitation-parameter Ferrite g 100e-6 1
set-precipitation-parameter Ferrite s 0,1e-6 100 $ subgrain diameter (lath-width)

 

So far there is nothing new. The setup is similar to the setup done in other examples e.g. A1. As next we define the time-temperature-table for the heat treatment including the casting process. The name of the time-temperature-table is 'ht_slow'. Several table values are marked red in the following block. As one can see there are also some variables used. Using this variables it is possible in an easy way to change the duration of different parts of the heat treatment e.g. the duration of the austenitisation. In this example usage of variables is only limited ton the time, but it is actually also possible for the temperature.

 

$________________________________________________________________
create-global-table ht_slow

$ Casting
add-table-entry ht_slow 0 1200
add-table-entry ht_slow time_cast 300

$ Reheating
add-table-entry ht_slow time_cast+30 900

$ Austenitizing
add-table-entry ht_slow time_cast+50 1000
add-table-entry ht_slow time_cast+50+time_aust 1000
add-table-entry ht_slow time_cast+50+time_aust+50 300

$ tempering
add-table-entry ht_slow time_cast+50+time_aust+100 600
add-table-entry ht_slow time_cast+50+time_aust+100+time_temp 600
add-table-entry ht_slow time_cast+50+time_aust+100+time_temp+50 600

After this setup the next step will be the precipitate setup.

3. Setup Precipitates (download: 2 Setup Precipitates.mcs)

In this script all precipitates considered in the calculation will be defined. As example the first block of the M23C6 precipitates will be explained. For all other precipitate populations (MX, Cementite,...) it looks smilar. There are only some differences in the setup parameters.
After creating a precipitate phase (1st command line) there is defined the number of particle classes. This variable (defined before - look at Setup Casting script) influences the quality of the results and furthermore the calculation time. So one can imagine that with a npc factor of 100 the calculation will take even longer as with a npc factor of 10. Afterwards one has to define the precipitate domain. As the starting point of the simulation is the beginning of the casting at 1200°C the precipitate domain is Austenite (at this temperatures we have an austenitic lattice structure). The following command line with the setting parameter '0' means only that for the following calculations will be taken the interfacial energies calculated from MatCalc out of the thermodynamic database. The next line describes the interface mobility.

 

create-new-phase m23c6 p
set-precipitation-parameter m23c6_p0 c npc
set-precipitation-parameter m23c6_p0 d Austenite
set-precipitation-parameter m23c6_p0 i 0
set-precipitation-parameter m23c6_p0 l 1e100

 

In the following block the nucleation sites for the 'Austenite' precipitate domain are defined. Furthermore there were defined some more settings like nucleation model, nucleus composition, nucleation site saturation, .... The inactive radius factor (irf) is a factor which considers that in a certain area around a precipitate another precipitate can not arise. Other setup informations about atomic attachment control/incubation, incubation time model, incubation time constant or nucleation constant are also needed. In the last line the diffusion in the precipitate is set "ipdcf" times higher/lower as in the matrix. So in this case the diffusion in precipitates is 1e-06 times lower then in the matrix.

 

set-precipitation-parameter m23c6_p0 n s gs
set-precipitation-parameter m23c6_p0 n n t
set-precipitation-parameter m23c6_p0 n c o
set-precipitation-parameter m23c6_p0 n i y
set-precipitation-parameter m23c6_p0 n r irf
set-precipitation-parameter m23c6_p0 n a m
set-precipitation-parameter m23c6_p0 n m i
set-precipitation-parameter m23c6_p0 n t 1.0
set-precipitation-parameter m23c6_p0 n u 1.0
set-precipitation-parameter m23c6_p0 s d r ipdcf

 

At the end of the script there are further definitions for the calculation setup. The simulation end time, the source of the time-temperature information for the heat treatment simulation ('ht_slow'), the starting conditions ('r=supersatured matrix/reset') are defined. Afterwards some settings for the convergence control like weighted diffusion coefficient (=on), oscillation damping (=on), dfm compensation (3%) and mass balance tolerance were made. 'u' defines the update interval of the shown windows. 'ssprl' defines the store interval in which the results will be writen into the buffer.

 

set-sim-parameter e time_cast
set-sim-parameter t t ht_slow 10
set-sim-parameter s r
set-sim-parameter c w y
set-sim-parameter c o y
set-sim-parameter c d 0
set-sim-parameter u 100
set-sim-parameter r l ssprl

4. Setup GUI (download: 3 Setup GUI.mcs)

The script Setup GUI is a own script to define the output windows. To learn more about the several command lines for the output window definition look at the examples T11, T12 and A1. Aditionally try to enter the unknown commands one by one in the MatCalc console window. You will see, they are self explaining. Afterwards the calculation starts with the casting simulation (remember the command line in the main script before). The last script will be the 'Heat Treatment' script.

5. Heat Treatment (download: 4 Heat Treatment.mcs)

If you open the heat treatment script in a common editor the script code looks like:

 

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ reheating
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

set-variable-value time time_cast+30

$ Shift the precipitate distributions from "Austenite" to "Ferrite"
$ Change the nucleation sites and the interfacial energies according the new matrix phase

set-precipitation-parameter m23c6_p0 d Ferrite
set-precipitation-parameter m23c6_p0 n s gs

set-precipitation-parameter fcc_a1#01_p0 d Ferrite
set-precipitation-parameter fcc_a1#01_p0 n s gsd

set-precipitation-parameter Cementite_p0 d Ferrite
set-precipitation-parameter Cementite_p0 n s gsd

set-precipitation-parameter hcp_a3#01_p0 d Ferrite
set-precipitation-parameter hcp_A3#01_p0 n s gsd

set-sim-parameter e time
set-sim-parameter t t ht_slow 10 $ Select the table for this T(t)
set-sim-parameter s n
set-sim-parameter r l ssprl
set-sim-parameter a y

start-precipitate-simulation

 

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ austenitising
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

set-variable-value time time_cast+50+time_aust+50

set-precipitation-parameter m23c6_p0 d Austenite
set-precipitation-parameter m23c6_p0 n s gs

set-precipitation-parameter fcc_a1#01_p0 d Austenite
set-precipitation-parameter fcc_a1#01_p0 n s gsd

set-precipitation-parameter Cementite_p0 d Austenite
set-precipitation-parameter Cementite_p0 n s gsd

set-precipitation-parameter hcp_a3#01_p0 d Austenite
set-precipitation-parameter hcp_A3#01_p0 n s gsd

set-sim-parameter e time
set-sim-parameter t t ht_slow 10
set-sim-parameter s n
set-sim-parameter r l ssprl
set-sim-parameter a y

start-precipitate-simulation

 

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ heat treatment
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

set-variable-value time time_cast+50+time_aust+100+time_temp+50

set-precipitation-parameter m23c6_p0 d Ferrite
set-precipitation-parameter m23c6_p0 n s gs

set-precipitation-parameter fcc_a1#01_p0 d Ferrite
set-precipitation-parameter fcc_a1#01_p0 n s gsd

set-precipitation-parameter Cementite_p0 d Ferrite
set-precipitation-parameter Cementite_p0 n s gsd

set-precipitation-parameter hcp_a3#01_p0 d Ferrite
set-precipitation-parameter hcp_A3#01_p0 n s gsd

set-sim-parameter e time
set-sim-parameter t t ht_slow 10
set-sim-parameter s n
set-sim-parameter r l ssprl
set-sim-parameter a y

start-precipitate-simulation

 

The script is divided into three parts: reheating, austenitising and heat treatment. After the setup of each part the simulation is restarted. It is important to activate the 'append to buffer' option (last command line before the precipitate simulation starts). So the new simulation results of every part of the whole heat treatment will be attached to the existing buffer without subscribing any older results. If this option is not activated the new results will be written over the older one. The setup is limited on the definition of the precipitate domain (depending on the temperature area - austenitic or ferritic/martensitic), the definition of the nucleation sites for each precipitate population and the definition of the new simulation end time. The starting condition for this "additional" accomplished simulations is set as none. It means that the simulation starts with the end condition of the previous simulation. After the command line 'start-precipitate-simulation' the calcualtion will be executed. If everything works well alter few minutes (depending on the speed of your pc) the result of the simulation should look like the following figure.

 

 

One can see that the Cementite phase disappears after ca. 8h. In the opposite the phase fraction of the M23C6 increase. Remarkable is also that only the MX precipitates are coarsening the other precipitates are almoust stable about the observed period. ADVICE: To run the different script via the main script all scripts have to be in the same directory!

‹‹ to the Top ››  ‹‹ to the Application files ››