Hi all, I am trying to solve a THM problem with staggered scheme using OGS6. I found that staggered scheme has been implemented into HT module but there is not any stablization concerning about the convective heat flux. Then I test a strong convective case with Eigen solver using the existing HT module in ogs6.4.4 and the results look good. But when I use my personal parellel computing branch to solve the same problem with petsc solver the simulation cannot get convergence
Linear solver cg with bjacobi preconditioner
Warning: maximum number of iterations reached.
[0] info: [time] Linear solver took 13.1202 s.
[0] info: Convergence criterion: |dx|=6.0949e+08, |x|=6.1496e+08, |dx|/|x|=9.9111e-01
[0] info: [time] Iteration #7 took 13.3224 s.
[0] info: [time] Assembly took 0.203315 s.
[0] info: [time] Applying Dirichlet BCs took 9.17912e-05 s.
Divergence detected, use command option -ksp_monitor or -log_summary to check the details.
[0] info: [time] Linear solver took 1.16567 s.
[0] error: Picard: The linear solver failed.
[0] info: [time] Solving process #0 took 95.6734 s in time step #1 coupling iteration #1
[0] warning: The nonlinear solver failed in time step #1 at t = 18 s for process #0.
[0] info: [time] Time step #1 took 96.9823 s.
[0] warning: Time step will be rejected due to nonlinear solver divergence.
[0] critical: /mnt/e/OGS-THMPF-REBASED/ogs/ProcessLib/TimeLoop.cpp:426 computeTimeStepping()
[0] error: The new step size of 18 is the same as that of the previous rejected time step.
Please re-run ogs with a proper adjustment in the numerical settings,
e.g those for time stepper, local or global non-linear solver.
[0] info: OGS terminated on 2023-12-07 20:08:24+0800.
[0] error: OGS terminated with error.
. I wonder if anyone can tell me what is the reason for such a good robustness of OGS in a strong heat convective problem. the attached .prj file for HT module is tested with both my personal and the master branch and I didn’t set any stablization methods like FullUpwind
and IsotropicDiffusion
.
By the way, though I set blocks of Eigen solver computation
for the linear sovler part in my project but my personal branch still used some petsc method like Linear solver cg with bjacobi preconditioner
to do the computation. Is this because I introduced Petsc so that all the projects will be solved in Petsc? Here is the link of my presonal branch:https://gitlab.opengeosys.org/yUHaOLiu-tj/ogs/-/tree/THMPF-REBASED/ProcessLib/THMPhaseField?ref_type=heads
Best,
Yuhao
2D-inj.zip (1.8 KB)