Dear all,
I am currently running a simulation of a pile embedded in soil using the ThermoRichardsMechanics (TRM) process. However, when I decrease the soil permeability, the simulation fails to converge.
I have already tried reducing the time step size, but the issue persists. I’m wondering if anyone has encountered a similar problem or has suggestions on additional parameters or strategies I could try to improve convergence.
Below is the solver configuration I am currently using:
<nonlinear_solvers>
<nonlinear_solver>
<name>basic_newton</name>
<type>Newton</type>
<max_iter>50</max_iter>
<linear_solver>general_linear_solver</linear_solver>
</nonlinear_solver>
</nonlinear_solvers>
<linear_solvers>
<linear_solver>
<name>general_linear_solver</name>
<eigen>
<solver_type>PardisoLU</solver_type>
<precon_type>DIAGONAL</precon_type>
<max_iteration_step>10000</max_iteration_step>
<error_tolerance>1e-8</error_tolerance>
</eigen>
</linear_solver>
I would really appreciate any suggestion.
Regards,
María
Hi María,
the pressure actually diverges, Convergence criterion, component 1: |dx|=1...e+10....
So something goes wrong with the pressure. Do you have any oscillations? Then maybe mass lumping could help…
Try similar but simpler simulation (assembly time of 23s means you have large mesh), maybe go 2D first (if it is not already).
What are your non-linear solver convergence criteria?
As for the linear solver setting, the more correct one would be:
<eigen>
<solver_type>PardisoLU</solver_type>
<scaling>true</scaling>
</eigen>
where I added scaling, which might help (but not the problem in this particular case).
– d
and if you would post the complete log as text file, it might be helpful for analysis…
Hi,
Thank you for your reply. Regarding the nonlinear solver, I currently have the following configuration:
> <nonlinear_solvers>
> <nonlinear_solver>
> <name>basic_newton</name>
> <type>Newton</type>
> <max_iter>50</max_iter>
> <linear_solver>general_linear_solver</linear_solver>
> </nonlinear_solver>
> </nonlinear_solvers>
I’m already using a 2D mesh, but I could try reducing its size.
I’ve attached the project file in case you’re able to take a look, I would really appreciate it.
Please let me know if you have any further suggestions.
Regards,
María
Mechanical_NC_layers_GWT_heating_6hours_correctper.zip (6.1 KB)
The convergence criteria a a little loose (from your prj file):
<convergence_criterion>
<type>PerComponentDeltaX</type>
<norm_type>NORM2</norm_type>
<abstols>1e0 1e-1 1e-1 1e-1</abstols>
</convergence_criterion>
A guess would be, that you run into some state, which is not a valid solution (not close enough) of the system…
Try something like 1e-6 1e-4 1e-8 1e-8
…
If you could provide the meshes as well, I could take a look, how it would run on my computer. (and probably I’d need the mfront file as well → you can send the whole project to [email protected])
– d
As the problem seems to be in the pressure, you could try to “downgrade” the problem to the RichardsFlow first, just to see how things go for the pressure.