TemperateIce stability issues

Extension of Elmer in computational glaciology
Post Reply
joeatodd
Posts: 36
Joined: 02 Feb 2012, 18:49
Antispam: Yes

TemperateIce stability issues

Post by joeatodd »

Hi all,

I'm encountering some strange convergence issues in the temperature solver in a coupled NS/Heat equation + mesh update spinup run.

Although my simulation is transient, I'm attempting to solve the steady state temperature equation by specifying:

Code: Select all

Steady State Condition = Real 1.0 
in the TemperateIce solver section.

Interestingly, this seems to work (though it takes a while to converge) if I switch off the Mesh Update solver, but not if it is on. The strange part is, if I specify in the body force:

Code: Select all

 Mesh Update = Real 0.0 
such that I get a "solution trivially zero" (i.e. Mesh Update solver doing nothing), I still get a breakdown error...

This is really confusing me. It seems as if MeshSolve.F90 is doing something, aside from displacing the mesh, which is messing up the temperature solution on the following timestep.

A final piece of the puzzle: If I turn off:

Code: Select all

 Temp Load = Variable Velocity 1
     Real Procedure  "ElmerIceUSF" "getFrictionLoads"
then it seems to behave, even with the mesh update.

If anyone has any ideas what might be causing this, I'd be very grateful!
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: TemperateIce stability issues

Post by raback »

Hi

In HeatSolve there is something like:

IF ( ALL(MU==0) ) C1 = 0.0D0

Here MU is the mesh velocity. This is rather dirty test and maybe you have some noise that does not trigger this condition and hence you have still convection accounted i.e. C1=1.0. Now of course this should not affect but it could still introduce some discontinuity in the way the solution is carried out. You could try to see what the value of C1 is and enforce it to zero. If the problem is located then some further anylysis might be needed.

-Peter
joeatodd
Posts: 36
Joined: 02 Feb 2012, 18:49
Antispam: Yes

Re: TemperateIce stability issues

Post by joeatodd »

Hey Peter,

Thanks for getting back to me.

I tried modifying the temperature solver to set

Code: Select all

 MeshVelocity = 0.0 
internally when running in steady state but this didn't make a difference.

I've tracked the problem down to the recomputation (I think) of the stabilization parameters within DisplaceMesh. I modified my local MeshSolve.F90 to pass StabFlag=.FALSE. to DisplaceMesh, and this now the steady state temperature and mesh update solvers play nicely together.

I don't know enough about stabilization methods to know whether this is a bug or expected behaviour, or what the consequences of not recomputing the stabilization parameters in mesh update are.

Joe
Post Reply