pohlan / SheetModel.jl

2 stars 1 forks source link

How to define the pseudo-time step limit? #9

Open pohlan opened 3 years ago

pohlan commented 3 years ago
pohlan commented 2 years ago

Experimenting with the numerical parameters showed that dτ_h (pseudo-time step for h) cannot be chosen completely randomly. If it is too large, ϕ has problems to converge, and if it is too small h and also ϕ converge very slowly. Furthermore it seems to depend on the grid resolution. I tried making it somehow proportional to Res_h, Res_ϕ or dτ_ϕ but couldn't figure out anything useful. I only managed to get the expected model output for a constant dτ_h determined through try and error.

mauro3 commented 2 years ago

dh/dt is the recation-part of the \phi equation. Is there something about how to choose a time step for a reaction-diffusion equation?

pohlan commented 2 years ago

But h is not just a reaction of ϕ diffusion, it influences the diffusion itself (with the factor h^α in the effective diffusivity). Possibly that's a reason why the h pseudo-time step is limited somehow. In this specific case, the h values mostly increase over pseudo-time, so if h advances quickly the effective diffusivity is very large, such that ϕ can only take tiny steps and doesn't converge well. This would fit together with the observation that ϕ generally converges better for small dτ_h, but then h itself converges very slowly and if dτ_h is too small the error just produces NaNs. Anyway, this is just some guessing, the issue might as well be somewhere else. But what I don't quite understand is why it doesn't work well if ϕ and h have the same pseudo-time step.

mauro3 commented 2 years ago

oo small the error just produces NaNs

Why is that?

dh/dt = vo-vc and vo-vc features as reaction term. Hmm, but you're right, it probably does not matter.