Diffusion Problem

dendritic solidification, eutectics, peritectics,....
Bernd
Posts: 1613
Joined: Mon Jun 23, 2008 9:29 pm

Re: Diffusion Problem

Post by Bernd » Thu Jan 22, 2026 11:21 pm

Dear materialmoop,

The authors of the paper you have linked raise a good point when they say that paraequilibrium is the better condition for the "equilibration" after quenching. The reason is that paraequilibrium means that only carbon is equilibrated, while the other elements are not in equilibrium. Although, at a first glimpse, it may seem strange for a holding process without phase transformation, this perhaps better describes the specific nature of the martensite phase.

You can do the same in MICRESS if you apply the "paratq" redistribution scheme after invoking "redistribution_control" in the 1/2-phase interaction:

#
# 1 (FCC_A1) / 2 (BCC_A2)
# -------------------------
# Simulation of interaction between 1 (FCC_A1) and 2 (BCC_A2)?
# Options:
# phase_interaction
# [ standard | particle_pinning[_temperature] | solute_drag ]
# [ redistribution_control ]
# [ no_junction_force ]
# | no_phase_interaction
# [ junction_force ]
# [ phase_diagram ]
# | identical <phase1> <phase2>
phase_interaction redistribution_control
# 'DeltaG' options: default
# avg ...[] max ...[J/cm^3] smooth ...[Deg] noise ...[J/cm^3] offset ...[J/cm^3]
...
# Which phase diagram is to be used?
# Options: database {local|global|interface|fragment}[<maximal distance>]
# | linear | linearTQ
database fragment
# Relinearisation interval for interface FCC_A1 / BCC_A2
# Options: automatic manual from_file none
automatic
# Maximal allowed local temperature deviation [K]
5.000000000000
# Please specify the redistribution behaviour of each component:
# Format: forward [backward]
# Options: nple para paratq normal [mob_corr] atc [mob_corr] [verbose]
# Component C:
normal
# Component MN:
paratq
# Component SI:
paratq


You will note that calculating paraequilibrium is much more time-consuming, and you need a better initialisation at the beginning after reading the .rest-file. For that, it is necessary to do a correct reading of initial microstructure from restart file instead of continuing by restart. As I already mentioned some time ago, in your input files you try to do both, while only the "restart reset_time" succeeds. However, this restart option with only resetting the time does not correctly initialize the TQ-equilibria when you switch from equilibrium to paraequilibrium. Instead you should use the reading of microstructure from a restart-file, which you already implemented in your input file:

#
# Structure from restart file
# ---------------------------
# Shall grain(s) be replaced by initial structure(s) from a restart file(s) ?
# Options: restart_file | no_restart_file
restart_file
# How many restart files shall be read?
1
# For each restart file a grain number and (optionally)
# shift (in grid cells) and zoom factor for all 3 dimensions
# as well as a character for rotation options must be specified:
# grain number [shift X (int) shift Y (int) shift Z (int)
# zoom X (int) zoom Y (int) zoom Z (int) rot(string)] ?
# Rotation options: "xz+90" "xz-90" "xz180" "xy+90" ... "yz180"
0
# Name of restart file?
heat130


However, this actually does nothing, because grain 0, which is the default background grain, is covered by the initial grain structure consisting of 9 fcc grains! So, the only thing you need to do for a correct initial microstructure reading from the restart file is to remove these 9 initial grains and to change the "restart reset_time" at the top of the input file by "new".

In my first trials, using "paratq" indeed seems to reduce the carbon content of the fcc grains by switching from equilibrium to paraequilibrium mode. I don't know if that is sufficient for you, but you should definitively give it a try.

Bernd

Post Reply