[cig-commits] [commit] master: Merge branch 'master' into advection_field (40ab879)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed May 21 07:43:39 PDT 2014
Repository : https://github.com/geodynamics/aspect
On branch : master
Link : https://github.com/geodynamics/aspect/compare/6aa7541c733b8fd1cc1b0c74536c8804aaeb7015...fa9e02e17c95bc1a8c6b635f193e536888750f41
>---------------------------------------------------------------
commit 40ab87990ffb07cb572dcf8a87daf8b2d2a4dd0d
Merge: d11b3bc 19fcaae
Author: Juliane Dannberg <dannberg at gfz-potsdam.de>
Date: Tue May 20 20:30:00 2014 +0200
Merge branch 'master' into advection_field
Conflicts:
source/simulator/assembly.cc
source/simulator/solver.cc
>---------------------------------------------------------------
40ab87990ffb07cb572dcf8a87daf8b2d2a4dd0d
doc/modules/changes.h | 3 +
include/aspect/boundary_composition/interface.h | 4 +-
include/aspect/boundary_temperature/interface.h | 4 +-
.../compositional_initial_conditions/interface.h | 5 +-
include/aspect/geometry_model/interface.h | 4 +-
include/aspect/gravity_model/interface.h | 4 +-
include/aspect/heating_model/interface.h | 4 +-
include/aspect/initial_conditions/interface.h | 4 +-
include/aspect/introspection.h | 20 +-
include/aspect/material_model/interface.h | 4 +-
include/aspect/mesh_refinement/interface.h | 27 ++-
.../minimum_refinement_function.h} | 51 +++--
include/aspect/postprocess/interface.h | 4 +-
include/aspect/postprocess/visualization.h | 4 +-
include/aspect/simulator.h | 16 +-
include/aspect/termination_criteria/interface.h | 4 +-
.../velocity_boundary_conditions/interface.h | 4 +-
source/mesh_refinement/interface.cc | 82 ++++++++
.../mesh_refinement/minimum_refinement_function.cc | 118 ++++++++++++
source/postprocess/temperature_statistics.cc | 5 +-
source/postprocess/visualization/density.cc | 8 +-
source/postprocess/visualization/melt_fraction.cc | 10 +-
source/postprocess/visualization/specific_heat.cc | 8 +-
source/simulator/assembly.cc | 28 ++-
source/simulator/core.cc | 171 ++++++++++++++---
source/simulator/helper_functions.cc | 71 ++++++-
source/simulator/initial_conditions.cc | 41 ++--
source/simulator/introspection.cc | 58 +++---
source/simulator/nullspace.cc | 11 +-
source/simulator/parameters.cc | 8 +
source/simulator/solver.cc | 66 +++++--
tests/always_refine/statistics | 14 +-
tests/composition-active/statistics | 132 ++++++-------
tests/composition-passive-tracers/statistics | 36 ++--
tests/composition_reaction/statistics | 24 +--
.../latent-heat.prm => tests/direct_solver_1.prm | 9 +-
tests/direct_solver_1/screen-output | 98 ++++++++++
tests/direct_solver_1/statistics | 18 ++
cookbooks/latent-heat.prm => tests/latent_heat.prm | 32 +---
tests/latent_heat/screen-output | 45 +++++
.../{radiogenic_heating => latent_heat}/statistics | 4 +-
tests/minimum_refinement_function.prm | 211 +++++++++++++++++++++
tests/minimum_refinement_function/screen-output | 143 ++++++++++++++
.../solution-00003.0000.vtu | 39 ++++
.../solution-00003.0001.vtu | 39 ++++
tests/minimum_refinement_function/statistics | 23 +++
tests/multicomponent_arithmetic/statistics | 10 +-
tests/multicomponent_geometric/statistics | 10 +-
tests/multicomponent_harmonic/statistics | 10 +-
tests/multicomponent_max_composition/statistics | 10 +-
tests/passive_comp/statistics | 2 +-
tests/postprocess_initial/statistics | 12 +-
tests/stokes/statistics | 2 +-
53 files changed, 1432 insertions(+), 342 deletions(-)
diff --cc source/simulator/assembly.cc
index 4ab4842,fe674a2..695a1fa
--- a/source/simulator/assembly.cc
+++ b/source/simulator/assembly.cc
@@@ -1230,41 -1233,31 +1233,31 @@@ namespace aspec
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");
-
- preconditioner.reset (new LinearAlgebra::PreconditionILU());
- preconditioner->initialize (system_matrix.block(2,2));
-
- computing_timer.exit_section();
-
break;
}
- case TemperatureOrComposition::compositional_field:
+ case AdvectionField::compositional_field:
{
computing_timer.enter_section (" Build composition preconditioner");
-
- const unsigned int block_number
- = 3+advection_field.compositional_variable;
- preconditioner.reset (new LinearAlgebra::PreconditionILU());
- preconditioner->initialize (system_matrix.block(block_number,
- block_number));
-
- computing_timer.exit_section();
-
break;
}
default:
Assert (false, ExcNotImplemented());
}
+
- const unsigned int block_idx = temperature_or_composition.block_index(introspection);
++ const unsigned int block_idx = advection_field.block_index(introspection);
+ preconditioner.reset (new LinearAlgebra::PreconditionILU());
+ preconditioner->initialize (system_matrix.block(block_idx, block_idx));
+ computing_timer.exit_section();
}
@@@ -1627,14 -1621,14 +1621,14 @@@
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())
- computing_timer.enter_section (" Assemble temperature system");
+ if (advection_field.is_temperature())
+ computing_timer.enter_section (" Assemble temperature system");
else
- computing_timer.enter_section (" Assemble composition system");
- const unsigned int block_idx = temperature_or_composition.block_index(introspection);
+ computing_timer.enter_section (" Assemble composition system");
-
- system_matrix.block (advection_field.block_index(introspection),advection_field.block_index(introspection)) = 0;
++ const unsigned int block_idx = advection_field.block_index(introspection);
+ system_matrix.block(block_idx, block_idx) = 0;
system_rhs = 0;
const std::pair<double,double>
diff --cc source/simulator/solver.cc
index 75f4dbb,902dab9..f2561ff
--- a/source/simulator/solver.cc
+++ b/source/simulator/solver.cc
@@@ -288,12 -288,12 +288,12 @@@ namespace aspec
}
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 = advection_field.block_index(introspection);
- unsigned int block_idx = temperature_or_composition.block_index(introspection);
++ unsigned int block_idx = 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;
@@@ -338,10 -338,10 +338,10 @@@
// solve the linear system:
current_constraints.set_zero(distributed_solution);
- solver.solve (system_matrix.block(block_number,block_number),
- distributed_solution.block(block_number),
- system_rhs.block(block_number),
+ solver.solve (system_matrix.block(block_idx,block_idx),
+ distributed_solution.block(block_idx),
+ system_rhs.block(block_idx),
- (temperature_or_composition.is_temperature()
+ (advection_field.is_temperature()
?
*T_preconditioner
:
More information about the CIG-COMMITS
mailing list