[aspect-devel] Implementing a composite medium

FELIPE ORELLANA ROVIROSA f_orellana at berkeley.edu
Sun May 27 13:49:31 PDT 2018


Hi John, and hi all,

    Thanks for your comments.

    I think there are different ways to achieve the kind of models I aim
for.

    Among other things, I managed to implement a 3D model that has two
internal layers being compositional fields, with different densities and
viscosities. There is also a non-compositional field background. I am using
the Composition reaction model, but setting the depth of reaction to 0, so
they will not react inside my domain.

   The layers are defined by depth intervals

     subsection Compositional initial conditions
  set Model name = function
                ...then I gave a function of z

   In the model parameters, for each compositional field layer, I set
Composition viscosity prefactors, and Density differentials, with respect
to the part of the domain that is not a compositional field which has its
reference density and viscosity.

   Over all of that I have some passive tracers that will map parts of the
domain and stuff.

   The model runs OK, progresses in time, produces output (solution,
particles), but it fails after some time (~2 hour or less). I have tried
resuming it several times, and also re-running it from scratch, but it
keeps failing.

what can be wrong here?

this is the error message:

*** Timestep 164:  t=9.00151e+13 seconds
   Solving temperature system... 8 iterations.
   Solving C_1 system ... 24 iterations.
   Solving C_2 system ... 22 iterations.
   Rebuilding Stokes preconditioner...
   Solving Stokes system... 30+11 iterations.

   Postprocessing:
     RMS, max velocity:                  4.39e-09 m/s, 1.37e-08 m/s
     Temperature min/avg/max:            1800 K, 1800 K, 2100 K
     Heat fluxes through boundary parts: -2.436e+04 W, -2433 W, -1.485e+05
W, -1.038e+05 W, -2.597e+09 W, 141.2 W
     Number of advected particles:       20000

*** Timestep 165:  t=9.18957e+13 seconds
   Solving temperature system...

----------------------------------------------------
Exception on processing:

--------------------------------------------------------
An error occurred in line <479> of file
</root/SEISMO/usr-local-src/aspect/aspect-1.5.0/source/simulator/solver.cc>
in function
    double aspect::Simulator<dim>::solve_advection(const
aspect::Simulator<dim>::AdvectionField&) [with int dim = 3]
The violated condition was:
    false
The name and call sequence of the exception was:
    ExcMessage (std::string("The iterative advection solver " "did not
converge. It reported the following error:\n\n") + exc.what())
Additional Information:
The iterative advection solver did not converge. It reported the following
error:

--------------------------------------------------------
An error occurred in line <1042> of file
</share/apps/deal.II/include/deal.II/lac/solver_gmres.h> in function
    void dealii::SolverGMRES<VectorType>::solve(const MatrixType&,
VectorType&, const VectorType&, const PreconditionerType&) [with MatrixType
= dealii::TrilinosWrappers::SparseMatrix, PreconditionerType =
dealii::TrilinosWrappers::PreconditionILU, VectorType =
dealii::TrilinosWrappers::MPI::Vector]
The violated condition was:
    iteration_state == SolverControl::success
The name and call sequence of the exception was:
    SolverControl::NoConvergence (accumulated_iterations, last_res)
Additional Information:
Iterative method reported convergence failure in step 1000. The residual in
the last step was 6.11763e+21.

This error message can indicate that you have simply not allowed a
sufficiently large number of iterations for your iterative solver to
converge. This often happens when you increase the size of your problem. In
such cases, the last residual will likely still be very small, and you can
make the error go away by increasing the allowed number of iterations when
setting up the SolverControl object that determines the maximal number of
iterations you allow.

The other situation where this error may occur is when your matrix is not
invertible (e.g., your matrix has a null-space), or if you try to apply the
wrong solver to a matrix (e.g., using CG for a matrix that is not symmetric
or not positive definite). In these cases, the residual in the last
iteration is likely going to be large.
--------------------------------------------------------

--------------------------------------------------------

Aborting!
----------------------------------------------------
--------------------------------------------------------------------------
mpiexec noticed that the job aborted, but has no info as to the process
that caused that situation.
--------------------------------------------------------------------------
~
:(
cheers,
Felipe







On Tue, May 22, 2018 at 1:58 PM, John Naliboff <jbnaliboff at ucdavis.edu>
wrote:

> Hi Felipe,
>
> I'm not sure I fully understand what features you would like in your
> model. When you say you "need the viscosities and mass-densities to vary by
> layer", do you mean that the viscosities and mass-densities should change
> at a fixed depth, as a function of composition (ex: whether or not a
> compositional field is present --> interface evolves through time) or a
> combination of these two types of behaviors?
>
> The multicomponent material model allows you to specify different
> properties (reference density, viscosity, etc) for different compositional
> fields, but the properties are constant through time (e.g., not pressure or
> temperature-dependent viscosity, etc).
>
> Other material models that use compositional fields ('diffusion
> dislocation' or even 'simple') have more complicated viscous flow laws. You
> can combine either of these with the 'depth dependent' material model,
> which simply modifies the viscosity as a function of depth (user-specified)
> after the viscosity in the other material models has been computed.
>
> Cheers,
> John
> On 05/22/2018 11:17 AM, FELIPE ORELLANA ROVIROSA wrote:
>
>
>  Hi all,
>
>          I am trying to implement a layered medium in which the material
> properties are composition- and temperature-dependent. More precisely, I
> need the viscosities and mass-densities to vary by layer (somehow by
> pressure-composition) and by temperature.
>
>          I tried doing this using the depth-dependent model, and the depth
> dependence method = List, which only allows for viscosity layering; and as
> a base model using the simple model, on which I specified density
> differentials for compositional fields.
>
>           The model run for hours, no problem. When plotting the results
> on Paraview, plotting the density field, I realized that the model had NOT
> incorporated the density layering. More so, the system evolution was
> basically the same as in previous models I had, which consisted in
> temperature- and composition-dependent viscosity, but temperature-dependent
> density only.
>           Somehow, the depth-dependence List is for viscosities only (as
> the manual reads), but the material model Simple allows for compositional
> fields with compositional densities.. But the whole set didn't work as
> expected..
>
>            Would the 'multicomponent' model allow all these variations?
>
>            I keep reading the manual but I cannot find the proper way to
> organize the code syntax, a parameter file implementation that properly
> handles temperature- and composition-dependent densities and viscosities.
>
>            I would appreciate some directions,
>
> cheers,
>
> Felipe
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Aspect-devel mailing listAspect-devel at geodynamics.orghttp://lists.geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>
>
>
> _______________________________________________
> Aspect-devel mailing list
> Aspect-devel at geodynamics.org
> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/aspect-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20180527/cb1d5441/attachment.html>


More information about the Aspect-devel mailing list