[aspect-devel] problem with latent heat model
FELIPE ORELLANA ROVIROSA
f_orellana at berkeley.edu
Thu Jun 14 19:38:01 PDT 2018
Hi all,
I am trying to implement a model of a 3D convecting system with phase
changes interfaces. I am using the latent heat material model. For testing,
I am implementing only one transition (at 660 km).
My model runs, so I assume the syntax is correct. But, my model fails on
timestep 0. I pasted the error message at the end.
I have some questions regarding the implementation of this material
model:
When setting the Phase transition temperatures, what temperature should
be provided? the T above or below the phase transition interface, or before
or after the transition occurs? I tried both cases but the model fails
similarly.
Because the phase transitions exo/endo-termic, they will release/absorve
latent heat, and alter the temperature field during convection (I have
turned on and off the heating model). So, does the Temperature Initial
Condition needs to match the expected jump in temperature due to the phase
change across the interface where it is occurring? I have tried doing and
not doing this but the model fails anyways.
what is going on?
cheers,
Felipe
----------------------------------------------------
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 0. The residual in
the last step was nan.
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.
---------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20180614/0d994357/attachment.html>
More information about the Aspect-devel
mailing list