Parameter optimization of CET simulation in arc weld

dendritic solidification, eutectics, peritectics,....
Post Reply
Kim Hee Eun
Posts: 7
Joined: Mon Sep 15, 2025 7:05 am
anti_bot: 333

Parameter optimization of CET simulation in arc weld

Post by Kim Hee Eun » Thu Feb 05, 2026 12:03 pm

Dear Bernd,

Hello, this is Hee-Eun Kim.

I am currently attempting to simulate the columnar-to-equiaxed transition (CET) behavior in the arc weld of the CMSX-4 alloy. Based on discussions on the MICRESS forum indicating that the nucleation density model better reflects the physical mechanism, I used the default seed_density model without the lognormal option. The nucleation classes were defined to generate a total of ten classes.

Since the actual weld depth is 0.686 mm, I set the geometry z-axis to 1000 µm. Accordingly, the temperature profile along the z-axis as a function of time in the process conditions was also defined over a total depth of 0.1 cm.

When I first ran the simulation, liquid phase appeared even though the temperature was around 300 K. To resolve this, I modified the initial microstructure so that the entire z-domain started as a disordered FCC phase. However, after this modification, liquid no longer formed even when the temperature increased to 1900 K. I would appreciate your advice on this issue.

In addition, since the mushy zone of CMSX-4 is approximately between 1400 K and 1700 K, I set the nucleation temperature range within this interval. Would this be appropriate? I would also appreciate your advice on the nucleation parameters.

I have attached the dri file and the thermal history file for your reference.
Thank you always for your help.

Best regards,
Hee-Eun Kim
You do not have the required permissions to view the files attached to this post.

Kim Hee Eun
Posts: 7
Joined: Mon Sep 15, 2025 7:05 am
anti_bot: 333

Re: Parameter optimization of CET simulation in arc weld

Post by Kim Hee Eun » Fri Feb 06, 2026 5:01 am

Dear Bernd,

I am reattaching the modified .dri file in which the liquid nucleation and initial microstructure settings have been revised.

However, liquid phase formation still does not occur in the simulation.
I would greatly appreciate your advice on this issue.

Thank you very much for your time and support.

Kim
You do not have the required permissions to view the files attached to this post.

Bernd
Posts: 1612
Joined: Mon Jun 23, 2008 9:29 pm

Re: Parameter optimization of CET simulation in arc weld

Post by Bernd » Mon Feb 09, 2026 4:14 pm

Dear Kim,

The two versions of input files which you sent have different problems why nucleation of liquid doesn't happen. In the first, there is simply no nucleation type for liquid present. In the second, you have added two further nucleation types for liquid, but they are from an L-PBF simulation and have a completely wrong time and length scale with respect to the checking interval and shield data. Therefore, it would take extremely long to get to the point where nucleation can happen.

Apart, there are at least two further things you should correct:

1.) You have a wrong initial composition because you specify the liquid composition and an "equibrium" initial condition. You should rather assign the alloy composition to the fcc-phase (phase 1) by writing:

# How shall initial concentrations be set?
# Options: input equilibrium from_file [phase number]
equilibrium 1
# ...

2.) You should not use a 1d-extension of the composition field if you plan to nucleate liquid around the top of the domain:

# 1D far field for solute diffusion
# ---------------------------------
# Enable one dimensional far field approximation for solute diffusion?
# Options: 1d_far_field 1d_far_field_EW no_1d_far_field
no_1d_far_field
# Number of cells for the 1D external field?
...

Bernd

Kim Hee Eun
Posts: 7
Joined: Mon Sep 15, 2025 7:05 am
anti_bot: 333

Re: Parameter optimization of CET simulation in arc weld

Post by Kim Hee Eun » Wed Feb 11, 2026 7:09 am

Dear Bernd,

Thank you very much for your previous reply.

After adjusting the shield distance, time between checks for nucleation, shield time, and minimum undercooling, I was able to successfully achieve liquid nucleation. I sincerely appreciate your help.

I have a few additional questions regarding the parameters:

1. Regarding the “Time between checks for nucleation,” I understand that this parameter determines the time interval at which the program checks whether nucleation is possible. If this interval is set too small, could it be that in the arc process the system has not yet reached sufficient undercooling for nucleation (compared to the laser process), and therefore nucleation was judged as not possible and did not occur?

2. Concerning the grain radius, shield time, and time interval parameters: during the simulation, when I reduced the shield time and the nucleation time interval, nucleation proceeded more stably. Should these time-related parameters be adjusted depending on the grain radius or the level of undercooling?

Additionally, during the simulation, I encountered the following error immediately after the first liquid nucleus was formed. After modifying the shield time and nucleation time interval parameters, the error no longer occurred.

Updating of diffusion data from database...
forrtl: severe (157): Program Exception - access violation
Image PC Routine Line Source
MICRESS_TQ.exe 00007FF6614E9E34 Unknown Unknown Unknown
MICRESS_TQ.exe 00007FF6614C6536 Unknown Unknown Unknown
MICRESS_TQ.exe 00007FF661442CE0 Unknown Unknown Unknown
MICRESS_TQ.exe 00007FF6613E2FCB Unknown Unknown Unknown
MICRESS_TQ.exe 00007FF661BFD1F0 Unknown Unknown Unknown
KERNEL32.DLL 00007FF8FFB6E8D7 Unknown Unknown Unknown
ntdll.dll 00007FF900768D9C Unknown Unknown Unknown

Could this error be related to diffusion, partitioning, or other processes associated with the TQ database during nucleation?

Furthermore, when liquid nucleation did not proceed smoothly, the solid–liquid interface became unphysically thick. I assume that due to insufficient undercooling at the interface, or because the shield distance or time interval was too short, the model treated the region as an interface instead of allowing nucleation. I would greatly appreciate your advice on this matter as well.

Thank you very much for your support.

Best regards,
Heeun Kim
You do not have the required permissions to view the files attached to this post.

Bernd
Posts: 1612
Joined: Mon Jun 23, 2008 9:29 pm

Re: Parameter optimization of CET simulation in arc weld

Post by Bernd » Wed Feb 11, 2026 6:18 pm

Dear Kim,

Regarding your first question, your understanding of the “Time between checks for nucleation” parameter is correct. However, making this checking interval very small should not do any harm, except for performance (as checking for nucleation requires TQ-calls and thus is very time-comsuming). Whether checking is performed with sufficient undercooling should not be arranged by reducing the checking interval but by correctly setting the critical undercooling value. Even if checking is done before the required undercooling has been reached, there will be continuous rechecking until nucleation can take place.

Modelling nucleation in MICRESS using the "seed_undercooling" mechanism is done by a set of empirical rules which do not fit to any physical nucleation model. That means, any physical reasoning by the user needs to be translated to these rules or parameters. Therefore, there is no single standard approach, and every user may develop his/her own strategy. However, the main assumption of the "seed_undercooling" idea is to allow nucleation as soon as a critical undercooling (defined by the user) is reached. To make things clearer, let me just explain shortly the different parameters within this idea:

Time interval for checking nucleation
As you understood correctly, this is just the time interval between checks for nuclation in all grid cells selected by the other rules. Within the "seed_undercooling" strategy, this interval should be chosen small enough that nucleation can happen soon after at a certain grid cell the critical undercooling has been reached. If the interval is too large, temperature may have already changed so much that the undercooling is then much bigger than the critical undercooling. On the other hand, if the interval is too small, checking is done unnecessarily often, and calculation performance drops (see "seed time" in the .TabP performance output). Thus, the choice of the time interval between checks for nuclation essentially depends on the temperature rate. Consequently, in the next MICRESS version 7.4, there will be an "automatic" option where the user can alternatively specify a temperature interval instead of a time interval (or even both).
Stretching the "seed_undercooling" idea towards a nucleation probability model, this parameter could also be used to implement a certainnucleation rate (together with the shield distance or nucleation distance parameters). This e.g. may be an interesting strategy for isothermal transformations where the seed_undercooling idea is not very helpful. However, I don't think that this could be useful in your case.

Shield distance
The shield distance defines (together with the shield time), up to which distance no second seed should be nucleated around an already nucleated seed of the same phase (or shield group). This prevents too close nucleation, which in reality may be due to a local heat release which we typically cannot directly include in the MICRESS simulation of alloys. Practically, by properly chosing the shield distance (and shield time), you can achieve either a more dense or less dense formation of precipitates in your simulation, whatever could be the reason for such a behavior in reality. As a second (optional) parameter in the same line of input, you can define the "nucleation distance", which corresponds to a checking distance. If the second parameter is not present, the nucleation distance will be set to the same value as the shield distance. Please note that if the nucleation distance is larger than the shield distance, nuclei can still nucleate close to each other (restricted only by the shield distance), while checking for nucleation is done only at points with larger distances. That means, the larger nucleation distance could e.g. be compensated for by chosing a smaller checking time interval.
In the input file which you attached to your post, the shield distance is chosen as one single grid spacing (0.5 µm), which means that the shield is effectively non-existing. The same value is also used for the nucleation distance, meaning that every single cell is being checked each time. This has the consequence that nucleation of liquid essentially advances everywhere simulataneously, leading to a diffuse semisolid region instead of a melting which starts from single points. Apart, it hampers perfomance tremendously...

Shield time
As said above, the shield time is an important ingredient of the shield effect which should prevent precipitates from nucleating too close together. Similar to the interval between checks for nucleation, its choice depends on the time-scale of the simulation, and as such, at least in many cases, also on the cooling rate. Therefore it will be possible from the next version of MICRESS on to alternatively define this value indirectly via a temperture interval which indirectly defines the time after which the shield is killed.
In your example file, the shield time is as small as the checking interval, which switches off the shield effect.

Grain radius
Initial grains are usually as small as possible (single cell with a fraction of 2.01 * phMin) to avoid redistribution problems. Growth of these "small grains" is granted by using "small grain" models, which is either "stabilisation" or "analytical_curvature", until they reach full size. This means, in most cases, the grain radius of new seeds should be set to zero. However, as it is often the case, there are exceptions. One exeption is when "add_to_grain" is used in order to create multiple seeds which belong to the same grain number. This prohibits the use of the "small grain" models. As a consequence, only the fd_correction mechanism allows them to grow, even if the cell has a fraction <0.5. In this case it is recommended to start from a somewhat bigger initial phase fraction in order to facilitate this type of "small grain" growth and to prevent in this way that some of the seeds could get lost due to numerical issus. Therefore, in this case, the radius should be chosen >0, but <Δx, so that an initial fraction between 2.01*phMIn and 1.0 is achieved. I recommend a grain radius of 0.2-0.5 *Δx if there is no too strong segregation between the involved phases (here: fcc and liquid).

In summary, for your case, I recommend to further increase the shield distance (=nucleation distance) and the check interval to avoid nucleation overkill (suggestion: shield distance = 50 µm, check interval = 0.005 s) for seed types 3 and 4.

Further suggestions:
- for seed type 4 the reference phase must also be 1
- the output interval for the tablin files must be increased to avoid output overkill (e.g. "tab_log 0.01 60." in section "Output")
- the general nucleation option "out_nucleation" creates a main output every time when nucleation happens. Depending on the nucleation settings this may lead to a huge number of time-steps and huge output files. I would not recommend to use it.
- given the big temperature interval inside the simulation domain, it is recommendable to use z-Segmentation of diffusion data by using "diagonal_dilute z" for all elements and phases. At the end of the diffusion input section, the number of segments can be set e.g. to 10, which leads to much narrower T-intervals for which diffusion data are calculated.
- you currently use an interface thickness of 2,28 cells which is too small and which may lead to serious problems with evaluation of laplace and curvature and with interface nucleation. You should use at least 2.5 cells, better 2.85 or higher to include diagonal neighbor relations for calculation of the Laplace term. Too high values, on the other hand, reduce the effective resolution, so that a reduction of Δx is required (which leads to higher calculation times). I personally stick to a value of 2.85 in most cases.

Bernd

Post Reply