[CIG-SEISMO] [SPECFEM3D_GLOBE] Instability at high(er) resolutions

Dimitri Komatitsch komatitsch at lma.cnrs-mrs.fr
Mon Jan 28 09:12:14 PST 2013


Hello Elliott,

I think it is simply that at such very high resolution many models have 
never been tested in SPECFEM3D_GLOBE (in particular 3D models).

When a 3D model is used there is no mathematically exact way of 
computing the CFL stability limit any more because material properties 
vary across any given element; thus we use trial and error to determine 
the maximal time step that can safely be used, and we then take a 5% 
safety margin as you noticed;

but this has only been done for models and resolutions that users 
routinely use; thus I think you came across a case that nobody has ever 
tried before.

If so, as you said you should try reducing the time step, and once you 
find a value that leads to a stable simulation for at least 30 or 40 
minutes of seismograms then you can hardwire it in 
compute_parameters.f90 and commit the changes to the SVN server.

You should try to decrease the time step by 5%, then 10%, 15%, 20% until 
you find something stable. Using 50% as you did is too conservative 
(doubles the CPU time...).

PS: please do not change the 5% safety margin. Just hardwire the right 
delta_t above that line and leave the 5% margin unchanged (since it is 
used by all other models).

Thank you,
Best wishes,

Dimitri.


On 01/17/2013 01:54 AM, Elliott Sales de Andrade wrote:
> Hello,
>
> I have been running at a somewhat higher resolution of NEX=1088, as in
> the attached Par_file. Unfortunately, the solver blows up in the solid
> after a few hundred timesteps. I know people have reported a similar
> error in the summer, but that involved the *fluid* and was supposed to
> be fixed.
>
> I have tried several older SVN versions (back to about 2008, I think),
> but without any luck. I also tried compiling with no optimizations
> whatsoever to see if it was a compiler problem (I'm using ifort 12.1.3).
>
> So far, the only working option I found was to reduce the timestep. In
> the `rcp_set_timestep_and_layers` subroutine, I have changed the 5%
> "safety margin" up to 50%, which seems to work. This reduced the time
> step from 0.0475 to 0.025.
>
> I am not certain as to the origin of the DT values in that subroutine,
> but I assume they are just pre-computed from some theoretical equation.
> While perusing the source, I did notice an additional subroutine in a
> different file, `auto_time_stepping`, but I don't believe it is called
> for the Par_file I am using.
>
> However, I did notice that the auto_time_stepping subroutine uses the
> constant P_VELOCITY_MAX = 11.02827d0. Perhaps this value would be true
> for PREM, but it's not true for AK135, and possibly other models. If
> this value in auto_time_stepping is incorrect, perhaps the pre-computed
> DT values in rcp_set_timestep_and_layers are also incorrect?
>
>
>
>
> _______________________________________________
> CIG-SEISMO mailing list
> CIG-SEISMO at geodynamics.org
> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-seismo

-- 
Dimitri Komatitsch
CNRS Research Director (DR CNRS), Laboratory of Mechanics and Acoustics,
UPR 7051, Marseille, France    http://komatitsch.free.fr


More information about the CIG-SEISMO mailing list