[aspect-devel] Error on a depth dependent material model

John Naliboff jbnaliboff at ucdavis.edu
Thu May 10 13:28:03 PDT 2018


Hi all,

I modified one of the burman tests (burnman_test.prm, uses Ascii 
reference profile material model) to use the depth dependent material 
model functionality (see attached). Even without depth-dependence 
enabled, this results in a segmentation fault. Eleonora - I ran your 
files and got the same error.

The stack trace from gdb is at the base of the email. I need to get 
setup for the webinar, so without going into too much detail it looks 
there is an issue reading in data values from an ascii file when the 
depth_dependent functionality is enabled (see strack frames 1-3).  I'll 
have a chance to look at this in more detail later in the afternoon.

Eleonora - good find, this appears to be a bug. However, I'm still not 
sure why your output did not show a stacktrace either in gdb or running 
through a terminal in debug mode.

Cheers,
John

*-----------------------------------------------------------------------------**
**-- This is ASPECT, the Advanced Solver for Problems in Earth's 
ConvecTion.**
**--     . version 2.0.0-pre (master, b720dae)**
**--     . using deal.II 8.5.1 (v8.5.1, 0e5d7e8)**
**--     . using Trilinos 12.10.1**
**--     . using p4est 1.1.0**
**--     . running in DEBUG mode**
**--     . running with 1 MPI process**
**-----------------------------------------------------------------------------**
**
**
**   Setting up GPlates boundary velocity plugin.**
**
**   Input point 1 spherical coordinates: 1.571 4.870**
**   Input point 1 normalized cartesian coordinates: 0.157 -0.988 -0.000**
**   Input point 1 rotated model coordinates: 0.157 -0.988 -0.000**
**   Input point 2 spherical coordinates: 1.571 5.240**
**   Input point 2 normalized cartesian coordinates: 0.503 -0.864 -0.000**
**   Input point 2 rotated model coordinates: 0.503 -0.864 -0.000**
**
**   Model will be rotated by -0.00 degrees around axis 0.00 0.00 1.00**
**   The ParaView rotation angles are: 0.00 -0.00 0.00**
**   The inverse ParaView rotation angles are: 0.00 -0.00 0.00**
**
**   Loading GPlates data boundary file 
/data1/Software/aspect/master/aspect/data/boundary-velocity/gplates/current_day.gpml.**
**
**
**   Loading new velocity file did not succeed.**
**   Assuming constant boundary conditions for rest of model run.**
**
**Number of active cells: 192 (on 3 levels)**
**Number of degrees of freedom: 2,832 (1,728+240+864)**
**
**
**Thread 1 "aspect" received signal SIGSEGV, Segmentation fault.**
**0x0000000000861062 in std::vector<dealii::Function<1, double>*, 
std::allocator<dealii::Function<1, double>*> >::operator[] 
(__n=<optimized out>, this=0x20) at 
/usr/include/c++/5/bits/stl_vector.h:795**
**795          { return *(this->_M_impl._M_start + __n); }**
**(gdb) bt**
**#0  0x0000000000861062 in std::vector<dealii::Function<1, double>*, 
std::allocator<dealii::Function<1, double>*> >::operator[] 
(__n=<optimized out>, this=0x20) at 
/usr/include/c++/5/bits/stl_vector.h:795**
**#1  aspect::Utilities::AsciiDataLookup<1>::get_data (this=0x0, 
position=..., component=<optimized out>)**
**    at /data1/Software/aspect/master/aspect/source/utilities.cc:1459**
**#2  0x000000000086233d in 
aspect::Utilities::AsciiDataProfile<2>::get_data_component (**
**    this=this at entry=0x1c154b0, position=..., component=<optimized out>)**
**    at /data1/Software/aspect/master/aspect/source/utilities.cc:2110**
**#3  0x0000000000ab27e1 in 
aspect::MaterialModel::AsciiReferenceProfile<2>::evaluate 
(this=0x1c15430, in=..., **
**    out=...) at 
/data1/Software/aspect/master/aspect/source/material_model/ascii_reference_profile.cc:93**
**#4  0x0000000000a8b5fa in 
aspect::MaterialModel::DepthDependent<2>::evaluate (this=0x1c0a9d0, 
in=..., out=...)**
**    at 
/data1/Software/aspect/master/aspect/source/material_model/depth_dependent.cc:134**
**#5  0x00000000009b44f6 in 
aspect::InitialTemperature::Adiabatic<2>::initial_temperature 
(this=0x1c17d70, **
**    position=...) at 
/data1/Software/aspect/master/aspect/source/initial_temperature/adiabatic.cc:90**
**#6  0x00000000009a76e8 in 
aspect::InitialTemperature::Manager<2>::initial_temperature 
(this=0x7fffffffbcb0, **
**    position=...) at 
/data1/Software/aspect/master/aspect/source/initial_temperature/interface.cc:160**
**#7  0x0000000000aec0c2 in std::_Mem_fn_base<double 
(aspect::InitialTemperature::Manager<2>::*)(dealii::Point<2, double> 
const&) const, true>::operator()<dealii::Point<2, double> const&, void> 
(__object=..., **
**    this=0x1c72410) at /usr/include/c++/5/functional:583**
**#8  std::_Bind<std::_Mem_fn<double 
(aspect::InitialTemperature::Manager<2>::*)(dealii::Point<2, double> 
const&) const> 
(std::reference_wrapper<aspect::InitialTemperature::Manager<2> >, 
std::_Placeholder<1>)>::__call<double, dealii::Point<2, double> const&, 
0ul, 1ul>(std::tuple<dealii::Point<2, double> const&>&&, 
std::_Index_tuple<0ul, 1ul>) (__args=<unknown type in 
/data1/Software/aspect/master/aspect/aspect, CU 0x2e433f5, DIE 
0x2f641dc>, **
**    this=0x1c72410) at /usr/include/c++/5/functional:1074**
**#9  std::_Bind<std::_Mem_fn<double 
(aspect::InitialTemperature::Manager<2>::*)(dealii::Point<2, double> 
const&) const> 
(std::reference_wrapper<aspect::InitialTemperature::Manager<2> >, 
std::_Placeholder<1>)>::operator()<dealii::Point<2, double> const&, 
double>(dealii::Point<2, double> const&) (this=0x1c72410)**
**    at /usr/include/c++/5/functional:1133**
**#10 std::_Function_handler<double (dealii::Point<2, double> const&), 
std::_Bind<std::_Mem_fn<double 
(aspect::InitialTemperature::Manager<2>::*)(dealii::Point<2, double> 
const&) const> 
(std::reference_wrapper<aspect::InitialTemperature::Manager<2> >, 
std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, 
dealii::Point<2, double> const&) (__functor=..., __args#0=...) at 
/usr/include/c++/5/functional:1857**
**#11 0x00007ffff4e35609 in std::function<double (dealii::Point<2, 
double> const&)>::operator()(dealii::Point<2, double> const&) const 
(this=this at entry=0x7fffffff9dc0, __args#0=...) at 
/usr/include/c++/5/functional:2267**
**#12 0x00007ffff4e3589d in 
dealii::VectorFunctionFromScalarFunctionObject<2, double>::vector_value (**
**    this=<optimized out>, p=..., values=...)**
**    at 
/data1/Software/dealii/v8.5.1/dealii/include/deal.II/base/function.templates.h:708**
**#13 0x00007ffff4e13c49 in dealii::Function<2, 
double>::vector_value_list (this=0x7fffffff9d60, **
**    points=std::vector of length 9, capacity 9 = {...}, 
values=std::vector of length 9, capacity 9 = {...})**
**    at 
/data1/Software/dealii/v8.5.1/dealii/include/deal.II/base/function.templates.h:107**
**#14 0x00007ffff1fdc570 in dealii::VectorTools::interpolate<2, 2, 
dealii::TrilinosWrappers::MPI::BlockVector, dealii::DoFHandler> 
(mapping=..., dof=..., function=..., vec=..., component_mask=...)**
**    at 
/data1/Software/dealii/v8.5.1/dealii/include/deal.II/numerics/vector_tools.templates.h:255**
**#15 0x0000000000aec6dd in 
aspect::Simulator<2>::set_initial_temperature_and_compositional_fields (**
**    this=this at entry=0x7fffffffad80)**
**    at 
/data1/Software/aspect/master/aspect/source/simulator/initial_conditions.cc:117**
**#16 0x0000000000bae2d2 in aspect::Simulator<2>::run 
(this=this at entry=0x7fffffffad80)**
**    at 
/data1/Software/aspect/master/aspect/source/simulator/core.cc:1601**
**#17 0x00000000009c9d74 in run_simulator<2> (**
**    input_as_string="# A test using adiabatic conditions and a gravity 
\n# profile generated by a mineral physics toolkit and read in\n# 
through an ascii data file. In this example, material properties\n# are 
based on a Birc"..., output_xml=output_xml at entry=false, 
output_plugin_graph=output_plugin_graph at entry=false)**
**    at /data1/Software/aspect/master/aspect/source/main.cc:519**
**#18 0x00000000009c9554 in main (argc=2, argv=0x7fffffffd778)**
**---Type <return> to continue, or q <return> to quit---**
**    at /data1/Software/aspect/master/aspect/source/main.cc:666**
**(gdb) *

On 05/10/2018 02:28 AM, Wolfgang Bangerth wrote:
> On 05/10/2018 04:09 PM, Eleonora Ficini wrote:
>> I did a backtrace but I didn't get any further info about where the 
>> error could be.
>> I also tried to run the code with 1 process but nothing new happened.
>
> Eleonore -- I'm sure we all would love to help you more, but you're 
> not making it easy for us :-)
>
> When you say "didn't get any further info", what exactly did you get? 
> What did the backtrace show?
>
> Other than that, we can really only speculate. Without a backtrace, or 
> alternatively a way for us to reproduce the error, there is really not 
> very much any of us can help :-(
>
> Best
>  Wolfgang
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20180510/09307b04/attachment-0001.html>
-------------- next part --------------
# A test using adiabatic conditions and a gravity 
# profile generated by a mineral physics toolkit and read in
# through an ascii data file. In this example, material properties
# are based on a Birch-Murnaghan equation of state. 

set Dimension                              = 2
set Use years in output instead of seconds = true
set End time                               = 1e6


subsection Material model
  set Model name = depth dependent

  subsection Depth dependent model
    set Base model = ascii reference profile
    set Depth dependence method = None
  end

  subsection Ascii reference profile
    set Thermal viscosity exponent = 0
    set Viscosity prefactors = 1.0, 1.0, 1.0, 1.0
    subsection Ascii data model
      set Data file name = example_isentrope.txt
      set Data directory = $ASPECT_SOURCE_DIR/data/adiabatic-conditions/ascii-data/
    end
  end

  set Material averaging = harmonic average
end

# The geometry is a spherical shell with the inner and 
# outer radius of the Earth's mantle. 
subsection Geometry model
  set Model name = spherical shell

  subsection Spherical shell
    set Inner radius  = 3481000
    set Outer radius  = 6336000
  end
end

subsection Adiabatic conditions model
  set Model name = ascii data

  subsection Ascii data model
    set Data directory = $ASPECT_SOURCE_DIR/data/adiabatic-conditions/ascii-data/
    set Data file name = example_isentrope.txt
  end
end


# The gravity model reads an ascii data file that contains a gravity
# profile consistent with the material properties computed using the 
# Birch-Murnaghan equation of state. It automatically uses the same file 
# specified in the adiabatic conditions model.
subsection Gravity model
  set Model name = ascii data
  subsection Ascii data model
    set Data directory = $ASPECT_SOURCE_DIR/data/adiabatic-conditions/ascii-data/
    set Data file name = example_isentrope.txt
  end
end

# The model uses the anelastic liquid approximation.
subsection Formulation
  set Formulation = anelastic liquid approximation
end

# The present-day plate velocities are imposed on the upper model
# boundary.
# The parameters below this comment were created by the update script
# as replacement for the old 'Model settings' subsection. They can be
# safely merged with any existing subsections with the same name.

subsection Boundary velocity model
  set Prescribed velocity boundary indicators = outer:gplates
end

subsection Boundary velocity model
  set Tangential velocity boundary indicators = inner
end

subsection Boundary temperature model
  set Fixed temperature boundary indicators   = inner, outer
end


subsection Boundary velocity model
  subsection GPlates model
    set Data directory = $ASPECT_SOURCE_DIR/data/boundary-velocity/gplates/
    set Velocity file name = current_day.gpml
    set Data file time step = 1e6
    set Point one = 1.5708,4.87
    set Point two = 1.5708,5.24
  end
end


subsection Boundary temperature model
  set List of model names = spherical constant
  subsection Spherical constant
    set Inner temperature = 3500 
    set Outer temperature = 273
  end
end

# The initial temperature is an adiabatic profile, which is
# taken from the adabatic conditions model. In this case, this is
# is the ascii data model that loads a file containing profiles
# corresponding to the Birch-Murnaghan equation of state.
# In addition to the adiabatic profile, there are thermal boundary 
# layers at the sirface and the core-mantle boundary.
subsection Initial temperature model
  set Model name = adiabatic

  subsection Adiabatic
    set Age top boundary layer = 5e7
  end
end


subsection Mesh refinement
  set Refinement fraction                = 0.4
  set Coarsening fraction                = 0.05
  set Initial adaptive refinement        = 1
  set Initial global refinement          = 2
  set Strategy                           = temperature
  set Time steps between mesh refinement = 5
end


subsection Heating model
  set List of model names = adiabatic heating, shear heating

  subsection Adiabatic heating
    set Use simplified adiabatic heating = true
  end
end

subsection Postprocess
  set List of postprocessors = velocity statistics, temperature statistics, heat flux statistics, depth average

  subsection Depth average
    set Time between graphical output = 1e6
  end
end


More information about the Aspect-devel mailing list