[aspect-devel] The output of nonadiabatic_temperature
Nan Zhang
Nan.Zhang at colorado.edu
Sun Oct 23 20:08:26 PDT 2016
Hi Juliane,
Sorry for my late reply due to a conference. The attached is my compiling
error message
***********************************************************************
[ 0%] [ 0%] Building CXX object
CMakeFiles/aspect.dir/source/postprocess/visualization.cc.o
[ 1%] [ 1%] Building CXX object
CMakeFiles/aspect.dir/source/postprocess/visualization/compositional_vector.cc.o
Building CXX object
CMakeFiles/aspect.dir/source/postprocess/visualization/specific_heat.cc.o
Building CXX object
CMakeFiles/aspect.dir/source/postprocess/visualization/thermal_conductivity.cc.o
/group/pawsey0138/znan/sw_packages/aspect_trilinos/aspect_develop/source/postprocess/visualization.cc:
In instantiation of 'std::pair<std::basic_string<char>,
std::basic_string<char> >
aspect::Postprocess::Visualization<dim>::execute(dealii::TableHandler&)
[with int dim = 2]':
/group/pawsey0138/znan/sw_packages/aspect_trilinos/aspect_develop/source/postprocess/visualization.cc:988:5:
required from here
/group/pawsey0138/znan/sw_packages/aspect_trilinos/aspect_develop/source/postprocess/visualization.cc:297:7:
error: invalid use of incomplete type 'const class
aspect::LateralAveraging<2>'
this->get_lateral_averaging().get_temperature_averages(ave_temp);
^
In file included from
/group/pawsey0138/znan/sw_packages/aspect_trilinos/aspect_develop/include/aspect/postprocess/interface.h:27:0,
from
/group/pawsey0138/znan/sw_packages/aspect_trilinos/aspect_develop/include/aspect/postprocess/visualization.h:25,
from
/group/pawsey0138/znan/sw_packages/aspect_trilinos/aspect_develop/source/postprocess/visualization.cc:22:
/group/pawsey0138/znan/sw_packages/aspect_trilinos/aspect_develop/include/aspect/simulator_access.h:55:28:
error: declaration of 'const class aspect::LateralAveraging<2>'
template <int dim> class LateralAveraging;
^
[ 2%] Building CXX object
CMakeFiles/aspect.dir/source/postprocess/visualization/seismic_vp.cc.o
make[2]: *** [CMakeFiles/aspect.dir/source/postprocess/visualization.cc.o]
Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/aspect.dir/all] Error 2
make: *** [all] Error 2
***********************************************************************
My Aspect modifications include 3 parts: (1) adding a array
in visualization.h
*****************************************
template <int dim>
class Visualization : public Interface<dim>, public
::aspect::SimulatorAccess<dim>
{
...
public:
std::vector<double> ave_temp;
...
}
*****************************************
(2) getting the average temperature in visualization.cc like
*****************************************
template <int dim>
std::pair<std::string,std::string>
Visualization<dim>::execute (TableHandler &statistics)
{
...
ave_temp.resize(50);
this->get_lateral_averaging().get_temperature_averages(ave_temp);
...
}
*****************************************
(3) changing the adiabatic temperature to average temperature
in nonadiabatic_temperature.cc like
******************************************
template <int dim>
void
NonadiabaticTemperature<dim>::
compute_derived_quantities_vector (const std::vector<Vector<double> >
&uh,
const std::vector<std::vector<Tensor<1,dim>
> > &,
const std::vector<std::vector<Tensor<2,dim>
> > &,
const std::vector<Point<dim> > &,
const std::vector<Point<dim> >
&evaluation_points,
std::vector<Vector<double>>&computed_quantities) const
{...
for (unsigned int q=0; q<n_quadrature_points; ++q)
{
const double temperature =
uh[q][this->introspection().component_indices.temperature];
//computed_quantities[q](0) = temperature -
this->get_adiabatic_conditions().temperature(evaluation_points[q]);
double depth =
this->get_geometry_model().depth(evaluation_points[q]);
const unsigned int idx = static_cast<unsigned
int>((ave_temp.size()-1) * depth /
this->get_geometry_model().maximal_depth());
double delta_temperature = temperature-ave_temp[idx];
computed_quantities[q](0) = delta_temperature;
}
...
}
******************************************
>From the error, I feel that I may not understand the structure. I wonder if
you guys could give me some hints how to transfer average temperature into
nonadiabatic_temperature.cc?
Bests,
Nan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20161024/ff61b5ec/attachment.html>
More information about the Aspect-devel
mailing list