Page 1 of 1
Fluid Flow Module for calculating Pressure Drop
Posted: Wed Nov 05, 2025 9:46 am
by Kim Hee Eun
Dear Bernd,
This is Hee Eun Kim.
I have a few questions regarding the Fluid Flow Module in MICRESS.
First, concerning the pressure drop between dendrites as described in the RDG theory,
does the Fluid Flow Module internally calculate parameters such as fluid permeability and density,
and is it possible to directly obtain the resulting pressure drop from these?
I have read the paper by Böttger, B., Apel, M., Jokisch, T., & Senger, A. (2020, May) — “Phase-field study on microstructure formation in Mar-M247 during electron beam welding and correlation to hot cracking susceptibility.”
Did this study make use of the Flow Module in MICRESS, or did it rely only on Thermo-Calc database calculations to estimate the pressure-related terms?
I am particularly interested in understanding how the pressure drop was evaluated in that work.
Furthermore, I would like to reproduce a result similar to that in Wang, N., Mokadem, S., Rappaz, M., & Kurz, W. (2004). Acta Materialia,
where a sharp pressure drop is observed when the liquid film becomes thin compared to the droplet region.
Is it possible to capture this phenomenon using MICRESS?
Lastly, could you please advise me on how to initiate the Fluid Flow Module—for example, what commands or input settings are required?
Are there any example files or templates available for reference?
I would like to include the code in the attached file.
Please have a look and refer to it for your review.
Thank you very much for your time and for reading my long message.
I look forward to your kind reply.
Best regards,
Hee Eun Kim
Re: Fluid Flow Module for calculating Pressure Drop
Posted: Thu Nov 06, 2025 11:13 pm
by Bernd
Dear Hee Eun Kim,
I now can give you only a short answer, because I am on holidays now. In principle, the MICRESS flow solver would be able to calculate the permeability of the small channels of rest liquid according to their size and shape. However, for the small fractions of liquid of ~1% which are relevant for hot cracking, this is not viable in practice. The reason is that simulations need to be in 3D for this purpose, and a representative domain would have to be very large compared to the channel width. Therefore, we did not use the flow solver in our paper on MAR-M247. Instead, we applied the Rappaz model which relies on the fraction solid-temperature curve and the secondary dendrite arm spacing (DAS). Both parameters were obtained from 2D-MICRESS simulations.
As far as I understand the second paper you refer to, it is about the coalescence phenomenon. This cannot easily be predicted with MICRESS because it is a nano-scale phenomenon and thus in phase-field models requires a properly adapted interface thickness. I will have a closer look to the paper when I am back from holiday.
For the technical advice with respect to the input for the fluid flow solver, I will ask my colleague Ralf, who is our expert in this field, to give you more information.
Best wishes
Bernd
Re: Fluid Flow Module for calculating Pressure Drop
Posted: Fri Nov 07, 2025 7:28 am
by Kim Hee Eun
Thank you for your support even during your vacation.
I am currently attempting to perform calculations under CMSX-4 arc-welding conditions.
Using the example file T30_01_FlowCylinderLaminar, I wrote a corresponding input file and ran the simulation.
During the calculation, the following warnings occurred:
Updating of diffusion data from database...
WARNING, Flow: continuity not converged 1.674E+02 > 1.000E-01 /s
WARNING, Flow: pressure not converged 3.642E-05 > 6.000E-06 Pa
I confirmed that the calculated pressure and velocity values in the flow field exceed the specified convergence criteria. I therefore increased the tolerances, but the warnings still persist. I also checked the MICRESS forum and did not modify the time stepping or the number of iterations for the linear solver, as recommended.
I would appreciate any insight into what may be causing this issue.
In addition, the example seems to model a single grain in the center with fluid flowing around it, producing pressure and velocity fields. This setup appears to differ from the physical situation I want to simulate. Therefore, I would like to clearly understand the limitations of the MICRESS Fluid Flow module. Could you explain the main limitations?
(Especially regarding fluid flow at ~1% liquid fraction, and whether there are additional limitations even in 3D simulations.)
I also have a conceptual question:
If dendrites are assumed to grow along the Z-direction and I impose a pressure difference between the bottom and the top to obtain the pressure drop, the bottom region becomes blocked by solidifying dendrites. Under such circumstances, is fluid flow still physically maintained?
If not, would using an initial microstructure of round grains help avoid such blockage?
Regarding the example A009_Flow_Permeability, the flow-solver settings include:
combined verbosity 2 steady_start pre_iter 4
fix 1
Convergence criterion for impulse eqn.: 2e-2
Max. number of iterations: 500
Convergence criterion for pressure: 1e-4
Divergence criterion for continuity: 1e-1
Max. iterations of the flow solver: 10
Underrelaxation factor for pressure: 0.7
These values are larger than I expected (e.g., time step, pressure tolerance, etc.).
Is there an upper limit or recommended maximum range for these solver parameters?
Thank you again for your continuous help.
I am worried that asking many questions at once might trouble you.
Best regards,
Hee Eun Kim
Re: Fluid Flow Module for calculating Pressure Drop
Posted: Fri Nov 14, 2025 1:51 pm
by ralf
Dear Hee Eun Kim,
I will address adjusting numerical parameters for the flow solver in this post, and the conceptual questions in a followup.
To achieve convergence in the flow solver the numerical parameters have to be chosen manually. Most important is the time step size, an currently the best approach is to use the "combined" solver with a "fix" time step.
The number in that line is the time step of the flow solver in seconds, and if that is too large the numerical error will diverge, i.e. just become larger and larger so that the convergence criterion can never be met. The "verbosity" parameter allows to track the convergence for individual flow solver steps, a verbosity of 2 is usually the best choice for the combined solver.
For the T30_01 example the output for the first step looks like this
Flow: t_pf= 1.000000E-04, t_flow= 5.000000E-06, dt= 5.000000E-06
Type: continuity pressure impulse iter. cont lin. solver
Criteria: 1.00000E-02 1.00000E-08 1.00000E-05
Cont. Err: 6.99891E+01 8.66712E-07 2.40062E-04 1 500
Cont. Err: 1.91852E+01 4.84875E-07 1.54735E-04 2 1000
Cont. Err: 9.74491E+00 4.08803E-07 1.14397E-04 3 1500
...
Cont. Err: 1.54392E-02 9.79571E-09 2.83713E-06 26 9762
Cont. Err: 1.21471E-02 9.29075E-09 2.43328E-06 27 9986
Final Res: 9.57015E-03 9.17212E-09 2.62415E-06 28 10234
V_x = 4.0609E+001 V_z = 2.6389E-011 mic/s, CFL-nr = 0.8474E-03
As you can see the error becomes smaller over successive continuity steps, which means that the time step (here 5e-6) is small enough.
The aim was to reach a continuity criterion of 1e-2, and you can see, that the pressure and impulse criteria were chosen so that the continuity criterion is eventually reached. If the continuity converges but only up to a point but the pressure criterion is always met, then the pressure criterion needs to be lowered. The impulse criterion should then be chosen so it is typically easily met.
In many flow simulations the flow is set in motion by the boundary conditions, so it initially accelerates until a steady state is reached. Thus the flow solver steps take longest in the beginning, but later, when the flow is more or less steady, will perform much faster, so the final flow solver iteration looks like this:
Flow: t_pf= 3.000000E-03, t_flow= 3.000000E-03, dt= 5.000000E-06
Type: continuity pressure impulse iter. cont lin. solver
Criteria: 1.00000E-02 1.00000E-08 1.00000E-05
Final Res: 1.95080E-05 8.05759E-09 6.07428E-06 1 3
V_x = 1.5895E+003 V_z = 1.6124E-009 mic/s, CFL-nr = 0.3646E-01
See also:
https://docs.micress.de/7.3/micress/top ... parameters
Re: Fluid Flow Module for calculating Pressure Drop
Posted: Fri Nov 14, 2025 5:08 pm
by ralf
To my understanding you want to use the flow solver to determine the Darcy permeability of a directionally solidified dendritic region.
So in principle the aim is to determine a steady field for a given dendritic structure given a pressure gradient and from that the quotient of flow rate to pressure gradient.
To do so the structure needs to be imported into MICRESS, the phase interaction should be essentially turned off, fluid flow boundary conditions should establish a pressure gradient. Then the flow simulation should be run until a steady flow is reached, and from that the pressure gradient and the flow can be used to calculate the permeability. Since the Darcy permeability describing slow/creeping flows through the mushy zone are of interest the "stokes" option should be chosen under Flow Solver numerical options.
Import of structures:
Two examples of this can be found in the application examples A009 and A011. The main difference is how the structure is imported, in A009 grain data is imported, while in A011 the liquid fraction is imported. The technical difference between these two options is, that the import as a grain (as in A009) generates a phase-field structure, so phasefield interactions (e.g. a grain growing in a melt flow) is possible, while reading the fraction as in example A011 can be used only for pure fluid flow simulations.
A third option to start from a given MICRESS result that was calculated without flow is the "restart with_flow" option in the restart section, a fourth option is reading a structure from a restart file in the "Initial Microstructure" section. This last option also allows some flexibility of cutting some desired part out of the original structure, like cutting off a bottom that would block the flow, cutting a long dendrite into shorter sections, or cutting large liquid regions above the dendrite tip.
Choice of boundary conditions:
The phasefield boundary conditions should be according to the simulation in which the structure was generated.
The flow/pressure boundary conditions should be chosen partially according to the phasefield boundary conditions of the microstructure. To determine the full permeability tensor three cases with pressure gradients in X, Y and Z-direction need to be simulated.
For the pressure gradient in X-direction the W and E boundary are in- and outlet.
For boundaries (NSTB) that are not in/outlet: convert phasefield bc to flow/pressure:
i -> i/-
s -> s/-
p -> p/p with pressure offset 0
i.e. for an iso boundary for the phase field chose iso for flow, "-" for pressure
In flow direction:
i -> o/f with fixed pressure difference between the opposing sides
s -> o/f with pressure difference
p -> p/p with pressure offset.
The pressure gradient should be kept small, see examples A009 / A011.
For directional growth above a dendrite tip there will be a pure liquid region in which transversal flow (X or Y direction) can become quite large. The large velocity difference to the flow in the dendritic region will make it difficult to achieve a numerical accuracy that adequately describes the lower regions with higher solid fractions. So the region above the dendrite tip should be cut short and an i/- or s/- boundary condition applied at the top.
For flow in z-direction, along the dendrites, Top and Bottom boundary should have o/f boundary conditions with a pressure difference between them and liquid must be able to pass between the Top and Bottom boundary. One way to ensure this is to cut a section of the dendrite where this is the case.
Additional limitations:
An additional limitation is, that isolated liquid regions will lead to numerical instability. More specifically: If there are in/outlets with fixed pressure, than all liquid regions should be connected to at least one such in/outlet. If there is no fixed pressure in/outlet, then all liquid regions should be connected (possibly across periodic boundaries). This may be am issue especially in structures with low liquid fraction. In such cases it is possible to remove such (in most cases) totally enclosed liquid regions in an intermediate step before reading the structure in the flow simulation.
Solid regions, even if disconnected from any other solid, will not float freely but instead be fixed in place.
Further considerations:
In a directionally growing mushy zone the solid fraction and hence the permeability, will vary strongly in growth direction. Two possible approaches to investigate the change in permeability are:
1) Cutting the dendrite into shorter sections along the z-direction and determining the permeability for each of those in separate fluid flow simulations.
This approach has the advantage of resulting in several smaller flow simulations that can be executed in parallel, but the disadvantage of cutting up the liquid region and introducing artificial boundary conditions at the newly introduced boundaries.
2) doing large simulations for X, Y and Z directions, then for transversal flow averaging the flow in some section, then dividing by the applied pressure gradient. For the Z-direction determining an average pressure gradient for some chosen section, then dividing the average flow in z-direction by that.
In both cases the sections for which the permeability is determined should contain several secondary arms for sensible averaging.