Closed AdrienWehrle closed 4 months ago
Hoping automatic_scaling
will do a good job even with extremely low velocity values, an ADIceMaterial
in SI units was added in https://github.com/AdrienWehrle/diuca/commit/06f669b3d245f64e4ddcffa04fc1b16f090a1ff2 (hence switching the whole system back to Pa.s
).
iceslab_ad_2d_SI.i
now reaches convergence with dt = 3153600
(a tenth of year in seconds) at time=3
because it gets stuck on the finite strain rate parameter preventing viscosity from being inf
.
iceslab_ad_2d_SI.i
: loosening II_eps_min
(the finite strain rate parameter) prevents the viscosity from hitting the lower bound, but no convergence is reached.
II_eps_min
shouldn't be used for now since we're using an eulerian approach and not a lagragian one for now.
@GiudGiud and I realized reaching convergence on this problem was part of a bigger effort of getting diuca to converge on the very high ice viscosity. In this effort, @GiudGiud implemented a finite volume problem for diuca here https://github.com/AdrienWehrle/diuca/pull/4.
We also realized automatic_scaling
in SI units (with ADIceMaterialSI
) wasn't performing well, but manual scaling on each variable helped a lot reaching convergence.
We also tried using a field split, which didn't help because we initially got bad scaling from the automatic_scaling
, it should work now that we're using manual scaling.
Closing this issue as it's very general and points towards pretty much all current development efforts for diuca that will be addressed in future PRs and potential Issues.
iceslab_ad_2d.i
and the materialADIceMaterial.C
used in this problem are inMPa.a
. Hence the system should converge in a few years maximum (usual time scale for ice), e.g.dt=0.1
andtime=10
for convergence. However,dt=0.1
or evendt=10
are associated with very high steady-state relative differential norms (e.g.1e-02
) and it would take tens of thousands of steps to reach1e-08
.Convergence can be reached (with final velocities of the right order for an ice slab) and low steady-state relative differential norms on the first timestep (
1e-08
), having adt
of a year but in seconds i.e.dt = 1 * 3600 * 24 * 365 = 31536000
(convergence reached attime=93
)... Although the system should be in year and not second.On
dt = 315360000
(10 years in seconds), it takestime=16
to reach convergence.Dimensions, especially time dimensions, need to be checked and fixed if needed.
Maybe the velocity gradients are still computed in seconds although my viscosity is in years, explaining the
dt
requiring to be in seconds?