You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Periodic surging experiments would greatly benefit from more efficient timesteping. Using the minimum timestep, which is typically the Stokes solver timestep during surging, for the entire 2000+ year simulation is computational prohibitive.
During the quiescence the Stokes solver probably only needs dt=1.0, whereas it's probably run with dt=0.05 during surging. Furthermore, the Enthalpy solver probably only needs to be run with dt=0.1 during quiescence, whereas it's also run with dt=0.1 during surging.
Because of the regular return intervals, this should be very doable in Elmer/Ice. Something like:
where Solver X is a dynamics solver which only needs to be run w/ dt=1.0 during quiescence. Thermodynamic solver would be executed with dt=0.1. This simulation would be 3-surge cycle with a 5-year active phase and a 45-year quiescent phase.
The Problem:
The Timestep Scale keyword from the solver section only excepts constants. See the "elmer/fem/src/MainUtils.f90" file:
IF(.NOT. ListGetLogical( Params,'Auxiliary Solver',Found)) THEN
DTScal = ListGetConstReal( Params, 'Timestep Scale', Found )
IF ( .NOT. Found ) DTScal =1.0_dp
This a problem, given that Exec Intervals needs an array the same length as Timestep Sizes and Timetep Intervals. Therefore, we can execute solvers at different intervals but the timestep will not be correctly scaled.
How to fix:
This is a problem with the "elmer/fem/src/MainUtils.f90" file which is beyond the scope of what I'm comfortable editing
I've posted on the Elmer forum requesting help to see if anyone can update the code to fix this. Elmer Forum post can be found here:
What we want to do:
Periodic surging experiments would greatly benefit from more efficient timesteping. Using the minimum timestep, which is typically the
Stokes
solver timestep during surging, for the entire2000+
year simulation is computational prohibitive.During the quiescence the
Stokes
solver probably only needsdt=1.0
, whereas it's probably run withdt=0.05
during surging. Furthermore, theEnthalpy
solver probably only needs to be run withdt=0.1
during quiescence, whereas it's also run withdt=0.1
during surging.Because of the regular return intervals, this should be very doable in
Elmer/Ice
. Something like:where
Solver X
is a dynamics solver which only needs to be run w/dt=1.0
during quiescence. Thermodynamic solver would be executed withdt=0.1
. This simulation would be 3-surge cycle with a 5-year active phase and a 45-year quiescent phase.The Problem:
The
Timestep Scale
keyword from the solver section only excepts constants. See the"elmer/fem/src/MainUtils.f90"
file:This a problem, given that
Exec Intervals
needs an array the same length asTimestep Sizes
andTimetep Intervals
. Therefore, we can execute solvers at different intervals but the timestep will not be correctly scaled.How to fix:
This is a problem with the
"elmer/fem/src/MainUtils.f90"
file which is beyond the scope of what I'm comfortable editingI've posted on the
Elmer
forum requesting help to see if anyone can update the code to fix this.Elmer Forum
post can be found here:The text was updated successfully, but these errors were encountered: