[cig-commits] [commit] master: rename temperature_or_composition to advection_field (5cdc17a)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed May 21 07:43:32 PDT 2014
Repository : https://github.com/geodynamics/aspect
On branch : master
Link : https://github.com/geodynamics/aspect/compare/6aa7541c733b8fd1cc1b0c74536c8804aaeb7015...fa9e02e17c95bc1a8c6b635f193e536888750f41
>---------------------------------------------------------------
commit 5cdc17a68fc614cab6f70a745a4ae48d3b45b503
Author: Juliane Dannberg <dannberg at gfz-potsdam.de>
Date: Tue May 20 17:16:23 2014 +0200
rename temperature_or_composition to advection_field
>---------------------------------------------------------------
5cdc17a68fc614cab6f70a745a4ae48d3b45b503
include/aspect/simulator.h | 28 ++++-----
source/simulator/assembly.cc | 104 ++++++++++++++++-----------------
source/simulator/core.cc | 36 ++++++------
source/simulator/helper_functions.cc | 42 ++++++-------
source/simulator/initial_conditions.cc | 2 +-
source/simulator/simulator_access.cc | 4 +-
source/simulator/solver.cc | 16 ++---
7 files changed, 116 insertions(+), 116 deletions(-)
diff --git a/include/aspect/simulator.h b/include/aspect/simulator.h
index 1382787..8b03203 100644
--- a/include/aspect/simulator.h
+++ b/include/aspect/simulator.h
@@ -336,7 +336,7 @@ namespace aspect
* be told which one of the two, as well as on which of the
* compositional variables.
*/
- struct TemperatureOrComposition
+ struct AdvectionField
{
/**
* An enum indicating whether the identified variable is the
@@ -368,7 +368,7 @@ namespace aspect
* This function is implemented in
* <code>source/simulator/helper_functions.cc</code>.
*/
- TemperatureOrComposition (const FieldType field_type,
+ AdvectionField (const FieldType field_type,
const unsigned int compositional_variable = numbers::invalid_unsigned_int);
/**
@@ -379,7 +379,7 @@ namespace aspect
* <code>source/simulator/helper_functions.cc</code>.
*/
static
- TemperatureOrComposition temperature ();
+ AdvectionField temperature ();
/**
* A static function that creates an object identifying given
@@ -389,7 +389,7 @@ namespace aspect
* <code>source/simulator/helper_functions.cc</code>.
*/
static
- TemperatureOrComposition composition (const unsigned int compositional_variable);
+ AdvectionField composition (const unsigned int compositional_variable);
/**
* Return whether this object refers to the temperature field.
@@ -506,7 +506,7 @@ namespace aspect
* This function is implemented in
* <code>source/simulator/assembly.cc</code>.
*/
- void build_advection_preconditioner (const TemperatureOrComposition &temperature_or_composition,
+ void build_advection_preconditioner (const AdvectionField &advection_field,
std_cxx1x::shared_ptr<aspect::LinearAlgebra::PreconditionILU> &preconditioner);
/**
@@ -524,7 +524,7 @@ namespace aspect
* This function is implemented in
* <code>source/simulator/assembly.cc</code>.
*/
- void assemble_advection_system (const TemperatureOrComposition &temperature_or_composition);
+ void assemble_advection_system (const AdvectionField &advection_field);
/**
* Solve one block of the the temperature/composition linear system.
@@ -536,7 +536,7 @@ namespace aspect
* This function is implemented in
* <code>source/simulator/solver.cc</code>.
*/
- double solve_advection (const TemperatureOrComposition &temperature_or_composition);
+ double solve_advection (const AdvectionField &advection_field);
/**
* Solve the Stokes linear system. Return the initial nonlinear
@@ -717,7 +717,7 @@ namespace aspect
* <code>source/simulator/assembly.cc</code>.
*/
void
- local_assemble_advection_system (const TemperatureOrComposition &temperature_or_composition,
+ local_assemble_advection_system (const AdvectionField &advection_field,
const std::pair<double,double> global_field_range,
const double global_max_velocity,
const double global_entropy_variation,
@@ -737,7 +737,7 @@ namespace aspect
double compute_heating_term(const internal::Assembly::Scratch::AdvectionSystem<dim> &scratch,
typename MaterialModel::Interface<dim>::MaterialModelInputs &material_model_inputs,
typename MaterialModel::Interface<dim>::MaterialModelOutputs &material_model_outputs,
- const TemperatureOrComposition &temperature_or_composition,
+ const AdvectionField &advection_field,
const unsigned int q) const;
@@ -813,7 +813,7 @@ namespace aspect
* function takes the pre-existing size of this vector as the number of
* depth slices.
*/
- void compute_depth_average_field(const TemperatureOrComposition &temperature_or_composition,
+ void compute_depth_average_field(const AdvectionField &advection_field,
std::vector<double> &values) const;
/**
@@ -998,7 +998,7 @@ namespace aspect
* <code>source/simulator/assembly.cc</code>.
*/
double get_entropy_variation (const double average_value,
- const TemperatureOrComposition &temperature_or_composition) const;
+ const AdvectionField &advection_field) const;
/**
* Compute the minimal and maximal temperature througout the domain from
@@ -1009,7 +1009,7 @@ namespace aspect
* <code>source/simulator/helper_functions.cc</code>.
*/
std::pair<double,double>
- get_extrapolated_temperature_or_composition_range (const TemperatureOrComposition &temperature_or_composition) const;
+ get_extrapolated_advection_field_range (const AdvectionField &advection_field) const;
/**
* Compute the size of the next time step from the mesh size and the
@@ -1038,7 +1038,7 @@ namespace aspect
const double average_temperature,
const double global_entropy_variation,
const double cell_diameter,
- const TemperatureOrComposition &temperature_or_composition) const;
+ const AdvectionField &advection_field) const;
/**
* Compute the residual of one advection equation to be used for the
@@ -1051,7 +1051,7 @@ namespace aspect
void
compute_advection_system_residual(internal::Assembly::Scratch::AdvectionSystem<dim> &scratch,
const double average_field,
- const TemperatureOrComposition &temperature_or_composition,
+ const AdvectionField &advection_field,
double &max_residual,
double &max_velocity,
double &max_density,
diff --git a/source/simulator/assembly.cc b/source/simulator/assembly.cc
index 49ad33c..b5fff9c 100644
--- a/source/simulator/assembly.cc
+++ b/source/simulator/assembly.cc
@@ -518,7 +518,7 @@ namespace aspect
template <int dim>
double
Simulator<dim>::get_entropy_variation (const double average_field,
- const TemperatureOrComposition &temperature_or_composition) const
+ const AdvectionField &advection_field) const
{
// only do this if we really need entropy
// variation. otherwise return something that's obviously
@@ -532,11 +532,11 @@ namespace aspect
const unsigned int n_q_points = quadrature_formula.size();
const FEValuesExtractors::Scalar field
- = (temperature_or_composition.is_temperature()
+ = (advection_field.is_temperature()
?
introspection.extractors.temperature
:
- introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]
+ introspection.extractors.compositional_fields[advection_field.compositional_variable]
);
FEValues<dim> fe_values (finite_element, quadrature_formula,
@@ -605,7 +605,7 @@ namespace aspect
Simulator<dim>::
compute_advection_system_residual(internal::Assembly::Scratch::AdvectionSystem<dim> &scratch,
const double average_field,
- const TemperatureOrComposition &temperature_or_composition,
+ const AdvectionField &advection_field,
double &max_residual,
double &max_velocity,
double &max_density,
@@ -623,10 +623,10 @@ namespace aspect
const double u_grad_field = u * (scratch.old_field_grads[q] +
scratch.old_old_field_grads[q]) / 2;
- const double density = ((temperature_or_composition.is_temperature())
+ const double density = ((advection_field.is_temperature())
? scratch.explicit_material_model_outputs.densities[q] : 1.0);
- const double conductivity = ((temperature_or_composition.is_temperature()) ? scratch.explicit_material_model_outputs.thermal_conductivities[q] : 0.0);
- const double c_P = ((temperature_or_composition.is_temperature()) ? scratch.explicit_material_model_outputs.specific_heat[q] : 1.0);
+ const double conductivity = ((advection_field.is_temperature()) ? scratch.explicit_material_model_outputs.thermal_conductivities[q] : 0.0);
+ const double c_P = ((advection_field.is_temperature()) ? scratch.explicit_material_model_outputs.specific_heat[q] : 1.0);
const double k_Delta_field = conductivity
* (scratch.old_field_laplacians[q] +
scratch.old_old_field_laplacians[q]) / 2;
@@ -637,7 +637,7 @@ namespace aspect
= compute_heating_term(scratch,
scratch.explicit_material_model_inputs,
scratch.explicit_material_model_outputs,
- temperature_or_composition,
+ advection_field,
q);
double residual
= std::abs(density * c_P * (dField_dt + u_grad_field) - k_Delta_field - gamma);
@@ -662,7 +662,7 @@ namespace aspect
const double average_field,
const double global_entropy_variation,
const double cell_diameter,
- const TemperatureOrComposition &temperature_or_composition) const
+ const AdvectionField &advection_field) const
{
if (std::abs(global_u_infty) < 1e-50
|| std::abs(global_entropy_variation) < 1e-50
@@ -676,7 +676,7 @@ namespace aspect
compute_advection_system_residual(scratch,
average_field,
- temperature_or_composition,
+ advection_field,
max_residual,
max_velocity,
max_density,
@@ -721,9 +721,9 @@ namespace aspect
// this function computes the artificial viscosity for the temperature
// equation only. create an object that signifies this.
- const TemperatureOrComposition torc = TemperatureOrComposition::temperature_field;
+ const AdvectionField torc = AdvectionField::temperature_field;
const std::pair<double,double>
- global_field_range = get_extrapolated_temperature_or_composition_range (torc);
+ global_field_range = get_extrapolated_advection_field_range (torc);
double global_entropy_variation = get_entropy_variation ((global_field_range.first +
global_field_range.second) / 2,
torc);
@@ -1230,12 +1230,12 @@ namespace aspect
template <int dim>
void
- Simulator<dim>::build_advection_preconditioner(const TemperatureOrComposition &temperature_or_composition,
+ Simulator<dim>::build_advection_preconditioner(const AdvectionField &advection_field,
std_cxx1x::shared_ptr<aspect::LinearAlgebra::PreconditionILU> &preconditioner)
{
- switch (temperature_or_composition.field_type)
+ switch (advection_field.field_type)
{
- case TemperatureOrComposition::temperature_field:
+ case AdvectionField::temperature_field:
{
computing_timer.enter_section (" Build temperature preconditioner");
@@ -1247,12 +1247,12 @@ namespace aspect
break;
}
- case TemperatureOrComposition::compositional_field:
+ case AdvectionField::compositional_field:
{
computing_timer.enter_section (" Build composition preconditioner");
const unsigned int block_number
- = 3+temperature_or_composition.compositional_variable;
+ = 3+advection_field.compositional_variable;
preconditioner.reset (new LinearAlgebra::PreconditionILU());
preconditioner->initialize (system_matrix.block(block_number,
block_number));
@@ -1273,11 +1273,11 @@ namespace aspect
Simulator<dim>::compute_heating_term(const internal::Assembly::Scratch::AdvectionSystem<dim> &scratch,
typename MaterialModel::Interface<dim>::MaterialModelInputs &material_model_inputs,
typename MaterialModel::Interface<dim>::MaterialModelOutputs &material_model_outputs,
- const TemperatureOrComposition &temperature_or_composition,
+ const AdvectionField &advection_field,
const unsigned int q) const
{
- if (temperature_or_composition.field_type == TemperatureOrComposition::compositional_field)
+ if (advection_field.field_type == AdvectionField::compositional_field)
return 0.0;
const double current_T = material_model_inputs.temperature[q];
@@ -1363,7 +1363,7 @@ namespace aspect
template <int dim>
void Simulator<dim>::
- local_assemble_advection_system (const TemperatureOrComposition &temperature_or_composition,
+ local_assemble_advection_system (const AdvectionField &advection_field,
const std::pair<double,double> global_field_range,
const double global_max_velocity,
const double global_entropy_variation,
@@ -1384,19 +1384,19 @@ namespace aspect
Assert (scratch.phi_field.size() == advection_dofs_per_cell, ExcInternalError());
const unsigned int solution_component
- = (temperature_or_composition.is_temperature()
+ = (advection_field.is_temperature()
?
introspection.component_indices.temperature
:
- introspection.component_indices.compositional_fields[temperature_or_composition.compositional_variable]
+ introspection.component_indices.compositional_fields[advection_field.compositional_variable]
);
const FEValuesExtractors::Scalar solution_field
- = (temperature_or_composition.is_temperature()
+ = (advection_field.is_temperature()
?
introspection.extractors.temperature
:
- introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]
+ introspection.extractors.compositional_fields[advection_field.compositional_variable]
);
scratch.finite_element_values.reinit (cell);
@@ -1410,7 +1410,7 @@ namespace aspect
data.local_matrix = 0;
data.local_rhs = 0;
- if (temperature_or_composition.is_temperature())
+ if (advection_field.is_temperature())
{
scratch.finite_element_values[introspection.extractors.temperature].get_function_values (old_solution,
scratch.old_temperature_values);
@@ -1444,10 +1444,10 @@ namespace aspect
}
else
{
- scratch.finite_element_values[introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]].get_function_values(old_solution,
- scratch.old_composition_values[temperature_or_composition.compositional_variable]);
- scratch.finite_element_values[introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]].get_function_values(old_old_solution,
- scratch.old_old_composition_values[temperature_or_composition.compositional_variable]);
+ scratch.finite_element_values[introspection.extractors.compositional_fields[advection_field.compositional_variable]].get_function_values(old_solution,
+ scratch.old_composition_values[advection_field.compositional_variable]);
+ scratch.finite_element_values[introspection.extractors.compositional_fields[advection_field.compositional_variable]].get_function_values(old_old_solution,
+ scratch.old_old_composition_values[advection_field.compositional_variable]);
}
scratch.finite_element_values[introspection.extractors.velocities].get_function_values (old_solution,
@@ -1458,8 +1458,8 @@ namespace aspect
scratch.current_velocity_values);
- scratch.old_field_values = ((temperature_or_composition.is_temperature()) ? &scratch.old_temperature_values : &scratch.old_composition_values[temperature_or_composition.compositional_variable]);
- scratch.old_old_field_values = ((temperature_or_composition.is_temperature()) ? &scratch.old_old_temperature_values : &scratch.old_old_composition_values[temperature_or_composition.compositional_variable]);
+ scratch.old_field_values = ((advection_field.is_temperature()) ? &scratch.old_temperature_values : &scratch.old_composition_values[advection_field.compositional_variable]);
+ scratch.old_old_field_values = ((advection_field.is_temperature()) ? &scratch.old_old_temperature_values : &scratch.old_old_composition_values[advection_field.compositional_variable]);
scratch.finite_element_values[solution_field].get_function_gradients (old_solution,
scratch.old_field_grads);
@@ -1471,7 +1471,7 @@ namespace aspect
scratch.finite_element_values[solution_field].get_function_laplacians (old_old_solution,
scratch.old_old_field_laplacians);
- if (temperature_or_composition.is_temperature())
+ if (advection_field.is_temperature())
{
compute_material_model_input_values (current_linearization_point,
scratch.finite_element_values,
@@ -1509,7 +1509,7 @@ namespace aspect
0.5 * (global_field_range.second + global_field_range.first),
global_entropy_variation,
cell->diameter(),
- temperature_or_composition);
+ advection_field);
Assert (nu >= 0, ExcMessage ("The artificial viscosity needs to be a non-negative quantity."));
for (unsigned int q=0; q<n_q_points; ++q)
@@ -1525,7 +1525,7 @@ namespace aspect
}
const double density_c_P =
- ((temperature_or_composition.is_temperature())
+ ((advection_field.is_temperature())
?
scratch.material_model_outputs.densities[q] *
scratch.material_model_outputs.specific_heat[q]
@@ -1534,13 +1534,13 @@ namespace aspect
Assert (density_c_P >= 0, ExcMessage ("The product of density and c_P needs to be a non-negative quantity."));
const double conductivity =
- ((temperature_or_composition.is_temperature())
+ ((advection_field.is_temperature())
?
scratch.material_model_outputs.thermal_conductivities[q]
:
0.0);
const double latent_heat_LHS =
- ((parameters.include_latent_heat && temperature_or_composition.is_temperature())
+ ((parameters.include_latent_heat && advection_field.is_temperature())
?
- scratch.material_model_outputs.densities[q] *
scratch.material_model_inputs.temperature[q] *
@@ -1553,14 +1553,14 @@ namespace aspect
const double gamma = compute_heating_term(scratch,
scratch.material_model_inputs,
scratch.material_model_outputs,
- temperature_or_composition,
+ advection_field,
q);
const double reaction_term =
- ((temperature_or_composition.is_temperature())
+ ((advection_field.is_temperature())
?
0.0
:
- scratch.material_model_outputs.reaction_terms[q][temperature_or_composition.compositional_variable]);
+ scratch.material_model_outputs.reaction_terms[q][advection_field.compositional_variable]);
const double field_term_for_rhs
= (use_bdf2_scheme ?
@@ -1627,9 +1627,9 @@ namespace aspect
template <int dim>
- void Simulator<dim>::assemble_advection_system (const TemperatureOrComposition &temperature_or_composition)
+ void Simulator<dim>::assemble_advection_system (const AdvectionField &advection_field)
{
- if (temperature_or_composition.is_temperature())
+ if (advection_field.is_temperature())
{
computing_timer.enter_section (" Assemble temperature system");
system_matrix.block (2,2) = 0;
@@ -1637,13 +1637,13 @@ namespace aspect
else
{
computing_timer.enter_section (" Assemble composition system");
- system_matrix.block(3+temperature_or_composition.compositional_variable,
- 3+temperature_or_composition.compositional_variable) = 0;
+ system_matrix.block(3+advection_field.compositional_variable,
+ 3+advection_field.compositional_variable) = 0;
}
system_rhs = 0;
const std::pair<double,double>
- global_field_range = get_extrapolated_temperature_or_composition_range (temperature_or_composition);
+ global_field_range = get_extrapolated_advection_field_range (advection_field);
typedef
FilteredIterator<typename DoFHandler<dim>::active_cell_iterator>
@@ -1657,7 +1657,7 @@ namespace aspect
std_cxx1x::bind (&Simulator<dim>::
local_assemble_advection_system,
this,
- temperature_or_composition,
+ advection_field,
global_field_range,
get_maximal_velocity(old_solution),
// use the mid-value of the advected field instead of the
@@ -1665,7 +1665,7 @@ namespace aspect
// sensitive to this and this is far simpler
get_entropy_variation ((global_field_range.first +
global_field_range.second) / 2,
- temperature_or_composition),
+ advection_field),
std_cxx1x::_1,
std_cxx1x::_2,
std_cxx1x::_3),
@@ -1692,9 +1692,9 @@ namespace aspect
// field index.)
internal::Assembly::Scratch::
AdvectionSystem<dim> (finite_element,
- finite_element.base_element(temperature_or_composition.base_element(introspection)),
+ finite_element.base_element(advection_field.base_element(introspection)),
mapping,
- QGauss<dim>((temperature_or_composition.is_temperature()
+ QGauss<dim>((advection_field.is_temperature()
?
parameters.temperature_degree
:
@@ -1703,7 +1703,7 @@ namespace aspect
(parameters.stokes_velocity_degree+1)/2),
parameters.n_compositional_fields),
internal::Assembly::CopyData::
- AdvectionSystem<dim> (finite_element.base_element(temperature_or_composition.base_element(introspection))));
+ AdvectionSystem<dim> (finite_element.base_element(advection_field.base_element(introspection))));
system_matrix.compress(VectorOperation::add);
system_rhs.compress(VectorOperation::add);
@@ -1734,10 +1734,10 @@ namespace aspect
const internal::Assembly::CopyData::StokesSystem<dim> &data); \
template void Simulator<dim>::assemble_stokes_system (); \
template void Simulator<dim>::get_artificial_viscosity (Vector<float> &viscosity_per_cell) const; \
- template void Simulator<dim>::build_advection_preconditioner (const TemperatureOrComposition &, \
+ template void Simulator<dim>::build_advection_preconditioner (const AdvectionField &, \
std_cxx1x::shared_ptr<aspect::LinearAlgebra::PreconditionILU> &preconditioner); \
template void Simulator<dim>::local_assemble_advection_system ( \
- const TemperatureOrComposition &temperature_or_composition, \
+ const AdvectionField &advection_field, \
const std::pair<double,double> global_field_range, \
const double global_max_velocity, \
const double global_entropy_variation, \
@@ -1746,7 +1746,7 @@ namespace aspect
internal::Assembly::CopyData::AdvectionSystem<dim> &data); \
template void Simulator<dim>::copy_local_to_global_advection_system ( \
const internal::Assembly::CopyData::AdvectionSystem<dim> &data); \
- template void Simulator<dim>::assemble_advection_system (const TemperatureOrComposition &temperature_or_composition); \
+ template void Simulator<dim>::assemble_advection_system (const AdvectionField &advection_field); \
diff --git a/source/simulator/core.cc b/source/simulator/core.cc
index 0b4442a..06e4737 100644
--- a/source/simulator/core.cc
+++ b/source/simulator/core.cc
@@ -1072,20 +1072,20 @@ namespace aspect
{
case NonlinearSolver::IMPES:
{
- assemble_advection_system (TemperatureOrComposition::temperature());
- build_advection_preconditioner(TemperatureOrComposition::temperature(),
+ assemble_advection_system (AdvectionField::temperature());
+ build_advection_preconditioner(AdvectionField::temperature(),
T_preconditioner);
- solve_advection(TemperatureOrComposition::temperature());
+ solve_advection(AdvectionField::temperature());
current_linearization_point.block(introspection.block_indices.temperature)
= solution.block(introspection.block_indices.temperature);
for (unsigned int c=0; c<parameters.n_compositional_fields; ++c)
{
- assemble_advection_system (TemperatureOrComposition::composition(c));
- build_advection_preconditioner(TemperatureOrComposition::composition(c),
+ assemble_advection_system (AdvectionField::composition(c));
+ build_advection_preconditioner(AdvectionField::composition(c),
C_preconditioner);
- solve_advection(TemperatureOrComposition::composition(c)); // this is correct, 0 would be temperature
+ solve_advection(AdvectionField::composition(c)); // this is correct, 0 would be temperature
current_linearization_point.block(introspection.block_indices.compositional_fields[c])
= solution.block(introspection.block_indices.compositional_fields[c]);
}
@@ -1158,13 +1158,13 @@ namespace aspect
do
{
- assemble_advection_system(TemperatureOrComposition::temperature());
+ assemble_advection_system(AdvectionField::temperature());
if (iteration == 0)
- build_advection_preconditioner(TemperatureOrComposition::temperature(),
+ build_advection_preconditioner(AdvectionField::temperature(),
T_preconditioner);
- const double temperature_residual = solve_advection(TemperatureOrComposition::temperature());
+ const double temperature_residual = solve_advection(AdvectionField::temperature());
current_linearization_point.block(introspection.block_indices.temperature)
= solution.block(introspection.block_indices.temperature);
@@ -1173,11 +1173,11 @@ namespace aspect
for (unsigned int c=0; c<parameters.n_compositional_fields; ++c)
{
- assemble_advection_system (TemperatureOrComposition::composition(c));
- build_advection_preconditioner(TemperatureOrComposition::composition(c),
+ assemble_advection_system (AdvectionField::composition(c));
+ build_advection_preconditioner(AdvectionField::composition(c),
C_preconditioner);
composition_residual[c]
- = solve_advection(TemperatureOrComposition::composition(c));
+ = solve_advection(AdvectionField::composition(c));
current_linearization_point.block(introspection.block_indices.compositional_fields[c])
= solution.block(introspection.block_indices.compositional_fields[c]);
}
@@ -1237,19 +1237,19 @@ namespace aspect
case NonlinearSolver::iterated_Stokes:
{
// solve the temperature system once...
- assemble_advection_system (TemperatureOrComposition::temperature());
- build_advection_preconditioner (TemperatureOrComposition::temperature (),
+ assemble_advection_system (AdvectionField::temperature());
+ build_advection_preconditioner (AdvectionField::temperature (),
T_preconditioner);
- solve_advection(TemperatureOrComposition::temperature());
+ solve_advection(AdvectionField::temperature());
current_linearization_point.block(introspection.block_indices.temperature)
= solution.block(introspection.block_indices.temperature);
for (unsigned int c=0; c<parameters.n_compositional_fields; ++c)
{
- assemble_advection_system (TemperatureOrComposition::composition(c));
- build_advection_preconditioner (TemperatureOrComposition::composition (c),
+ assemble_advection_system (AdvectionField::composition(c));
+ build_advection_preconditioner (AdvectionField::composition (c),
C_preconditioner);
- solve_advection(TemperatureOrComposition::composition(c));
+ solve_advection(AdvectionField::composition(c));
current_linearization_point.block(introspection.block_indices.compositional_fields[c])
= solution.block(introspection.block_indices.compositional_fields[c]);
}
diff --git a/source/simulator/helper_functions.cc b/source/simulator/helper_functions.cc
index f8ea1ef..5909d49 100644
--- a/source/simulator/helper_functions.cc
+++ b/source/simulator/helper_functions.cc
@@ -56,8 +56,8 @@ namespace aspect
{
template <int dim>
- Simulator<dim>::TemperatureOrComposition::
- TemperatureOrComposition (const FieldType field_type,
+ Simulator<dim>::AdvectionField::
+ AdvectionField (const FieldType field_type,
const unsigned int compositional_variable)
:
field_type (field_type),
@@ -72,26 +72,26 @@ namespace aspect
template <int dim>
- typename Simulator<dim>::TemperatureOrComposition
- Simulator<dim>::TemperatureOrComposition::temperature ()
+ typename Simulator<dim>::AdvectionField
+ Simulator<dim>::AdvectionField::temperature ()
{
- return TemperatureOrComposition(temperature_field);
+ return AdvectionField(temperature_field);
}
template <int dim>
- typename Simulator<dim>::TemperatureOrComposition
- Simulator<dim>::TemperatureOrComposition::composition (const unsigned int compositional_variable)
+ typename Simulator<dim>::AdvectionField
+ Simulator<dim>::AdvectionField::composition (const unsigned int compositional_variable)
{
- return TemperatureOrComposition(compositional_field,
+ return AdvectionField(compositional_field,
compositional_variable);
}
template <int dim>
bool
- Simulator<dim>::TemperatureOrComposition::is_temperature() const
+ Simulator<dim>::AdvectionField::is_temperature() const
{
return (field_type == temperature_field);
}
@@ -99,7 +99,7 @@ namespace aspect
template <int dim>
unsigned int
- Simulator<dim>::TemperatureOrComposition::block_index(const Introspection<dim> &introspection) const
+ Simulator<dim>::AdvectionField::block_index(const Introspection<dim> &introspection) const
{
if (this->is_temperature())
return introspection.block_indices.temperature;
@@ -110,7 +110,7 @@ namespace aspect
template <int dim>
unsigned int
- Simulator<dim>::TemperatureOrComposition::base_element(const Introspection<dim> &introspection) const
+ Simulator<dim>::AdvectionField::base_element(const Introspection<dim> &introspection) const
{
if (this->is_temperature())
return introspection.base_elements.temperature;
@@ -391,21 +391,21 @@ namespace aspect
template <int dim>
std::pair<double,double>
Simulator<dim>::
- get_extrapolated_temperature_or_composition_range (const TemperatureOrComposition &temperature_or_composition) const
+ get_extrapolated_advection_field_range (const AdvectionField &advection_field) const
{
const QIterated<dim> quadrature_formula (QTrapez<1>(),
- (temperature_or_composition.is_temperature() ?
+ (advection_field.is_temperature() ?
parameters.temperature_degree :
parameters.composition_degree));
const unsigned int n_q_points = quadrature_formula.size();
const FEValuesExtractors::Scalar field
- = (temperature_or_composition.is_temperature()
+ = (advection_field.is_temperature()
?
introspection.extractors.temperature
:
- introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]
+ introspection.extractors.compositional_fields[advection_field.compositional_variable]
);
FEValues<dim> fe_values (mapping, finite_element, quadrature_formula,
@@ -857,15 +857,15 @@ namespace aspect
}
template <int dim>
- void Simulator<dim>::compute_depth_average_field(const TemperatureOrComposition &temperature_or_composition,
+ void Simulator<dim>::compute_depth_average_field(const AdvectionField &advection_field,
std::vector<double> &values) const
{
const FEValuesExtractors::Scalar field
- = (temperature_or_composition.is_temperature()
+ = (advection_field.is_temperature()
?
introspection.extractors.temperature
:
- introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]
+ introspection.extractors.compositional_fields[advection_field.compositional_variable]
);
FunctorDepthAverageField<dim> f(field);
@@ -1071,14 +1071,14 @@ namespace aspect
namespace aspect
{
#define INSTANTIATE(dim) \
- template struct Simulator<dim>::TemperatureOrComposition; \
+ template struct Simulator<dim>::AdvectionField; \
template void Simulator<dim>::normalize_pressure(LinearAlgebra::BlockVector &vector); \
template void Simulator<dim>::denormalize_pressure(LinearAlgebra::BlockVector &vector); \
template double Simulator<dim>::get_maximal_velocity (const LinearAlgebra::BlockVector &solution) const; \
- template std::pair<double,double> Simulator<dim>::get_extrapolated_temperature_or_composition_range (const TemperatureOrComposition &temperature_or_composition) const; \
+ template std::pair<double,double> Simulator<dim>::get_extrapolated_advection_field_range (const AdvectionField &advection_field) const; \
template std::pair<double,bool> Simulator<dim>::compute_time_step () const; \
template void Simulator<dim>::make_pressure_rhs_compatible(LinearAlgebra::BlockVector &vector); \
- template void Simulator<dim>::compute_depth_average_field(const TemperatureOrComposition &temperature_or_composition, std::vector<double> &values) const; \
+ template void Simulator<dim>::compute_depth_average_field(const AdvectionField &advection_field, std::vector<double> &values) const; \
template void Simulator<dim>::compute_depth_average_viscosity(std::vector<double> &values) const; \
template void Simulator<dim>::compute_depth_average_velocity_magnitude(std::vector<double> &values) const; \
template void Simulator<dim>::compute_depth_average_sinking_velocity(std::vector<double> &values) const; \
diff --git a/source/simulator/initial_conditions.cc b/source/simulator/initial_conditions.cc
index 8c2f01c..f0f2912 100644
--- a/source/simulator/initial_conditions.cc
+++ b/source/simulator/initial_conditions.cc
@@ -67,7 +67,7 @@ namespace aspect
bool normalize_composition = false;
//TODO: The code here is confusing. We should be using something
-// like the TemperatureOrComposition class instead of just a single
+// like the AdevctionField class instead of just a single
// integer 'n'
for (unsigned int n=0; n<1+parameters.n_compositional_fields; ++n)
{
diff --git a/source/simulator/simulator_access.cc b/source/simulator/simulator_access.cc
index 1f20605..8c85eea 100644
--- a/source/simulator/simulator_access.cc
+++ b/source/simulator/simulator_access.cc
@@ -212,7 +212,7 @@ namespace aspect
void
SimulatorAccess<dim>::get_depth_average_temperature(std::vector<double> &values) const
{
- simulator->compute_depth_average_field(Simulator<dim>::TemperatureOrComposition::temperature(),
+ simulator->compute_depth_average_field(Simulator<dim>::AdvectionField::temperature(),
values);
}
@@ -224,7 +224,7 @@ namespace aspect
// make sure that what we get here is really an index of one of the compositional fields
AssertIndexRange(composition_index,this->n_compositional_fields());
- simulator->compute_depth_average_field(Simulator<dim>::TemperatureOrComposition::composition(composition_index),
+ simulator->compute_depth_average_field(Simulator<dim>::AdvectionField::composition(composition_index),
values);
}
diff --git a/source/simulator/solver.cc b/source/simulator/solver.cc
index 8ad76fe..75f4dbb 100644
--- a/source/simulator/solver.cc
+++ b/source/simulator/solver.cc
@@ -288,12 +288,12 @@ namespace aspect
}
template <int dim>
- double Simulator<dim>::solve_advection (const TemperatureOrComposition &temperature_or_composition)
+ double Simulator<dim>::solve_advection (const AdvectionField &advection_field)
{
double advection_solver_tolerance = -1;
- unsigned int block_number = temperature_or_composition.block_index(introspection);
+ unsigned int block_number = advection_field.block_index(introspection);
- if (temperature_or_composition.is_temperature())
+ if (advection_field.is_temperature())
{
computing_timer.enter_section (" Solve temperature system");
pcout << " Solving temperature system... " << std::flush;
@@ -303,7 +303,7 @@ namespace aspect
{
computing_timer.enter_section (" Solve composition system");
pcout << " Solving composition system "
- << temperature_or_composition.compositional_variable+1
+ << advection_field.compositional_variable+1
<< "... " << std::flush;
advection_solver_tolerance = parameters.composition_solver_tolerance;
}
@@ -341,7 +341,7 @@ namespace aspect
solver.solve (system_matrix.block(block_number,block_number),
distributed_solution.block(block_number),
system_rhs.block(block_number),
- (temperature_or_composition.is_temperature()
+ (advection_field.is_temperature()
?
*T_preconditioner
:
@@ -355,12 +355,12 @@ namespace aspect
pcout << solver_control.last_step()
<< " iterations." << std::endl;
- if (temperature_or_composition.is_temperature())
+ if (advection_field.is_temperature())
statistics.add_value("Iterations for temperature solver",
solver_control.last_step());
else
statistics.add_value("Iterations for composition solver " +
- Utilities::int_to_string(temperature_or_composition.compositional_variable+1),
+ Utilities::int_to_string(advection_field.compositional_variable+1),
solver_control.last_step());
computing_timer.exit_section();
@@ -514,7 +514,7 @@ namespace aspect
namespace aspect
{
#define INSTANTIATE(dim) \
- template double Simulator<dim>::solve_advection (const TemperatureOrComposition &); \
+ template double Simulator<dim>::solve_advection (const AdvectionField &); \
template double Simulator<dim>::solve_stokes ();
ASPECT_INSTANTIATE(INSTANTIATE)
More information about the CIG-COMMITS
mailing list