[aspect-devel] problem with ASPECT - the iterative Stokes solver did not converge

Petar Glisovic pglisovic at gmail.com
Tue Aug 5 01:53:17 PDT 2014


Hi guys,

*@Rene*
I already have Forte's viscosity profile defined at the same depths as
cookbook values for the Steinberger & Calderwood rheology. This not helped
the iterative Stokes solver to converge.

However thank you for the file that is interpolated on equidistant depths.
Just in case, I am running a test with this profile but it seems nothing is
going on.

If you prefer a stepwise function, we might think about implementing a
>
 new reader class for your viscosity profile.
>
A stepwise function could be a good addition to the Aspect.

*@Timo*

> I assume the job gets killed because it uses too much memory (100
>
 million unknowns!). How many cores are you using?
>
Only 12. I have just followed one of Wolfgang's suggestions, "My rule of
thumb is that you can run models with a few 100,000 unknowns on a single
processor", however, I didn't know that Initial global refinement=5 and
Initial adaptive refinement=0 will produce 100 million unknowns.

Looks like a division by zero is happening in the material model.
>
Maybe the temperature becomes 0 somewhere?
>
How is that possible? How can I check that?

Best
Petar

On Mon, Aug 4, 2014 at 6:54 PM, Rene Gassmoeller <rengas at gfz-potsdam.de>
wrote:

> Hi Petar,
> I think I found at least one of the problems. So far the material model
> you use expects the radial viscosity file in the format of [Viscosity
> [Pas]] [Depth [km]], but unfortunately it does only use the depth column
> to find the minimum and maximum value and assumes all intervals in
> between are equally sized. This is poorly documented, since at the time
> we created the material model it was not intended to be used with other
> viscosity profiles. For the time being you could use the attached
> profile, which I simply took from your file and linearly interpolated on
> equidistant depths. There still seems to be a glitch somewhere, because
> I do not see a lithosphere in my (2d) test models, and I can not confirm
> the convergence in 3d right now, maybe I can take a look tomorrow.
> If you prefer a stepwise function, we might think about implementing a
> new reader class for your viscosity profile. Thanks a lot for the profile.
>
> Let me know if this works for you,
> Rene
>
>
>
> On 08/04/2014 10:16 PM, Petar Glisovic wrote:
> > @Wolfgang or @list moderator
> > I didn't receive either Rene or Jacky's message. Checking the
> aspect-devel
> > archives I have found out that there are these two messages intended for
> > me. However, I have subscribed to the aspect-devel list and I hope this
> > will prevent the communication problems in the future.
> >
> > @Rene
> > Thank you for your detailed reply.
> >
> > 1. It seems the Adiabatic surface temperature should be 1600 K by
> default.
> > However this alone is not enough to solve the convergence of the
> iterative
> > Stokes solver.
> >
> > 2. The convergence in 2D could not be achieved also, but
> >
> > 3. a simple material model with Thermal viscosity exponent=10 worked
> quite
> > well, therefore, a resolution is well-defined after all, is it?
> >
> > 4. However, I run a test setting the global refinement in the 3D model
> to 5
> > and the adaptive refinement to 0 and it seems nothing happened (the job
> is
> > done after ~30 sec - there is no error message), this is a log file:
> >
> >> Number of active cells: 3145728 (on 6 levels)
> >> Number of degrees of freedom: 104645770 (76088070+3195010+25362690)
> >>
> >
> > 5. If I set the temperature dependence to 0 as you explained and use a
> > constant radial viscosity profile test-radial-visc.txt (inside
> > aspect/data/material-model/steinberger/test-steinberger-compressible/)
> then
> > the code works for a while, to be precise 13 timesteps,
> >
> >> *** Timestep 13:  t=343515 years
> >>    Solving temperature system... 19 iterations.
> >>    Rebuilding Stokes preconditioner...
> >>    Solving Stokes system... 30+15 iterations.
> >>
> >>    Postprocessing:
> >>      RMS, max velocity:                  0.583 m/year, 3.54 m/year
> >>      Temperature min/avg/max:            300 K, 1934 K, 3565 K
> >>
> >      Heat fluxes through boundary parts: -2.756e+13 W, 2.332e+13 W
> >>
> >
> > and after that I have received the following error message:
> >
> >> An error occurred in line <3369> of file
> >>
> </RQusagers/glisovic/deal.II/include/deal.II/lac/trilinos_sparse_matrix.h>
> >> in function
> >>     void
> >>
> dealii::TrilinosWrappers::SparseMatrix::add(dealii::TrilinosWrappers::SparseMatrix::size_type,
> >> dealii::TrilinosWrappers::SparseMatrix::size_type, const size_type*,
> const
> >> double*, bool, bool)
> >> The violated condition was:
> >>     numbers::is_finite(values[j])
> >> The name and call sequence of the exception was:
> >>     ExcNumberNotFinite()
> >> Additional Information:
> >>
> > (none)
> >>
> >
> > So, help! No idea how to move forward.
> >
> > Many thanks,
> > Petar
> >
> > *Rene Gassmoeller rengas at gfz-potsdam.de
> >> <aspect-devel%
> 40geodynamics.org?Subject=Re%3A%20%5Baspect-devel%5D%20problem%20with%20ASPECT%20-%20the%20iterative%20Stokes%0A%20solver%20did%20not%20converge&In-Reply-To=%3C53D5EB69.30809%40gfz-potsdam.de%3E
> >*
> >>
> > *Sun Jul 27 23:19:21 PDT 2014*
> >>
> > Hi Petar,
> >> from a first glance the parameters you used for your model look good,
> >> but there is one thing you should test. In your parameter file you did
> >> not set the Adiabatic surface temperature, because it is not needed for
> >> the simple material model, and it defaults to 0 (@Wolfgang: We should
> >> maybe change this to a reasonable value like 1600? Many of the more
> >> complex plugins rely on a good adiabatic profile). The Steinberger
> >> material model, and also your harmonic perturbation initial condition
> >> rely on the initially computed adiabatic profile to compute their
> >> properties, therefore this might mess up you calculation. I would guess
> >> this is already the problem.
> >>
> >> However there are a few other things that you might try to find the
> >> reason for the convergence problems if the above did not help. First you
> >> could test the convergence in 2D, in your model setup that is as simple
> >> as setting Dimension = 2. And you could try a higher resolution in 2D.
> >> Both options should show significantly better convergence, so you have
> >> at least a starting point.
> >>
> >> Then you could test a temperature dependency in the simple material
> >> model (e.g. set Thermal viscosity exponent to something like 10). If
> >> this turns out to be a problem then your resolution might be too low to
> >> resolve the viscosity changes you are prescribing.
> >>
> >> If it turns out to be a resolution issue, try setting the global
> >> refinement in the 3D model to 5 and the adaptive refinement to 0. Aspect
> >> will still coarsen and adaptively refine again later on, just the
> >> initial convergence should be much better.
> >>
> >> You mentioned that you tested a constant viscosity profile with the
> >> Steinberger material model, but in the parameter file it looks like you
> >> only modified the radial dependence? Did you also set the temperature
> >> dependence to 0? You could do that by setting 'Lateral viscosity file
> >> name' to our test file in
> >>
> data/material-model/steinberger/test-steinberger-compressible/test-viscosity-prefactor.txt.
> >> With a constant radial and lateral viscosity the convergence should be
> >> extremely fast.
> >>
> >> Let us know if you have any further questions.
> >>
> >> In fact I have a question for you. We are constantly looking to improve
> >> the available options in Aspect and include new models. Could you ask
> >> Alessandro, whether he would be willing to share the viscosity profile
> >> you used with the general Aspect users? In that case we could include it
> >> in the official version as an alternative to the existing one by
> >> Steinberger & Calderwood.
> >>
> >> Best,
> >> Rene
> >>
> >>
> >
> >
> > On Fri, Jul 25, 2014 at 6:22 PM, Petar Glisovic <pglisovic at gmail.com>
> wrote:
> >
> >> Wolfgang,
> >>
> >> First of all, thank you for your quick reply.
> >>
> >>  This is almost certainly an unrelated observation, but with as few
> >>> unknowns as you have, you should first run small models using only a
> single
> >>> processor when you try things out.
> >>>
> >>> My rule of thumb is that you can run models with a few 100,000 unknowns
> >>> on a single processor. For parallel computations, you typically don't
> gain
> >>> anything if you have fewer than 50,000 unknowns per processor -- i.e.,
> in
> >>> your case, 4 or 5 processors is about the optimum.
> >>>
> >>
> >> Thanks for this tip.
> >>
> >>
> >>
> >> subsection Material model
> >>>>      set Model name = Steinberger
> >>>>      subsection Steinberger model
> >>>>          set Bilinear interpolation = true
> >>>>          set Compressible = true
> >>>
> >>> What happens if you set this to false?
> >>>
> >>
> >> The outcome of this action is:
> >> --------------------------------------------------------
> >> An error occurred in line <3369> of file </RQusagers/glisovic
> >> /deal.II/include/deal.II/lac/trilinos_sparse_matrix.h> in function
> >>     void dealii::TrilinosWrappers::SparseMatrix::add(dealii::
> >> TrilinosWrappers::SparseMatrix::size_type, dealii::TrilinosWrappers::
> >> SparseMatrix::size_type, const size_type*, const double*, bool, bool)
> >> The violated condition was:
> >>     numbers::is_finite(values[j])
> >> The name and call sequence of the exception was:
> >>     ExcNumberNotFinite()
> >> Additional Information:
> >> (none)
> >> ...
> >> The complete log file is attached below.
> >>
> >> Petar
> >>
> >>
> >>
> >> On Fri, Jul 25, 2014 at 4:14 PM, Wolfgang Bangerth <
> bangerth at math.tamu.edu
> >>> wrote:
> >>
> >>>
> >>> Petar,
> >>> let me pull this discussion to the mailing list since the authors of
> the
> >>> Steinberger model are there.
> >>>
> >>>
> >>>  I have experienced a problem running ASPECT. It seems that the
> iterative
> >>>> Stokes solver did not converge after three days of the job running on
> 48
> >>>> CPUs - please see attached log files (/aspect.e2477653,
> aspect.o2477653
> >>>> & log.txt/).
> >>>>
> >>>
> >>> This is almost certainly an unrelated observation, but with as few
> >>> unknowns as you have, you should first run small models using only a
> single
> >>> processor when you try things out.
> >>>
> >>> My rule of thumb is that you can run models with a few 100,000 unknowns
> >>> on a single processor. For parallel computations, you typically don't
> gain
> >>> anything if you have fewer than 50,000 unknowns per processor -- i.e.,
> in
> >>> your case, 4 or 5 processors is about the optimum.
> >>>
> >>>  However, my goal is to use the depth-dependent (i.e., radial)
> viscosity
> >>>> profile (Mitrovica & Forte, 2004; please see attached file:
> >>>> /mitro-forte-2004-radial-visc-new.txt/) jointly with lateral
> variations
> >>>> in viscosity (see below /shell_simple_3d_new.prm/). For example, to
> use
> >>>>
> >>>> something similar to the Steinberger model:
> >>>> subsection Material model
> >>>>      set Model name = Steinberger
> >>>>      subsection Steinberger model
> >>>>          set Bilinear interpolation = true
> >>>>          set Compressible = true
> >>>>
> >>>
> >>> What happens if you set this to false?
> >>>
> >>> I don't know the parameters to the Steinberger model, so can't comment
> on
> >>> their validity. I hope someone else on the mailing list may be able to
> >>> provide more feedback.
> >>>
> >>> Best
> >>>   Wolfgang
> >>> --
> >>>
> ------------------------------------------------------------------------
> >>> Wolfgang Bangerth               email:
> bangerth at math.tamu.edu
> >>>                                 www:
> http://www.math.tamu.edu/~bangerth/
> >>>
> >>>
> >>
> >>
> >> --
> >> Petar Glisovic, Dr.
> >> postdoctoral fellow
> >>
> >> *address*:  GEOTOP, Université du Québec à Montréal, CP 8888, succursale
> >> Centre-Ville, Montréal, Québec, Canada H3C 3P8 * | ema**il**: *
> >> pglisovic at gmail.com & glisovic.petar at courrier.uqam.ca*  | phone:
>  *1-514-987-3000
> >> #3592 & #4600*  | fax:  *1-514-987-3635
> >>
> >
> >
> >
>



-- 
Petar Glisovic, Dr.
postdoctoral fellow

*address*:  GEOTOP, Université du Québec à Montréal, CP 8888, succursale
Centre-Ville, Montréal, Québec, Canada H3C 3P8 * | ema**il**: * pglisovic
@gmail.com & glisovic.petar at courrier.uqam.ca*  | phone:  *1-514-987-3000
#3592 & #4600*  | fax:  *1-514-987-3635
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20140805/962538b3/attachment-0001.html>


More information about the Aspect-devel mailing list