[cig-commits] [commit] master: use introspection for the block index (d11b3bc)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed May 21 07:43:36 PDT 2014


Repository : https://github.com/geodynamics/aspect

On branch  : master
Link       : https://github.com/geodynamics/aspect/compare/6aa7541c733b8fd1cc1b0c74536c8804aaeb7015...fa9e02e17c95bc1a8c6b635f193e536888750f41

>---------------------------------------------------------------

commit d11b3bcf9b56ad5818282491ceb96d0bdbf64129
Author: Juliane Dannberg <dannberg at gfz-potsdam.de>
Date:   Tue May 20 20:16:00 2014 +0200

    use introspection for the block index


>---------------------------------------------------------------

d11b3bcf9b56ad5818282491ceb96d0bdbf64129
 source/simulator/assembly.cc | 13 ++++---------
 source/simulator/core.cc     |  2 +-
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/source/simulator/assembly.cc b/source/simulator/assembly.cc
index 53b69ea..4ab4842 100644
--- a/source/simulator/assembly.cc
+++ b/source/simulator/assembly.cc
@@ -1630,16 +1630,11 @@ namespace aspect
   void Simulator<dim>::assemble_advection_system (const AdvectionField &advection_field)
   {
     if (advection_field.is_temperature())
-      {
-        computing_timer.enter_section ("   Assemble temperature system");
-        system_matrix.block (2,2) = 0;
-      }
+      computing_timer.enter_section ("   Assemble temperature system");
     else
-      {
-        computing_timer.enter_section ("   Assemble composition system");
-        system_matrix.block(3+advection_field.compositional_variable,
-                            3+advection_field.compositional_variable) = 0;
-      }
+      computing_timer.enter_section ("   Assemble composition system");
+
+    system_matrix.block (advection_field.block_index(introspection),advection_field.block_index(introspection)) = 0;
     system_rhs = 0;
 
     const std::pair<double,double>
diff --git a/source/simulator/core.cc b/source/simulator/core.cc
index daab346..f5bf680 100644
--- a/source/simulator/core.cc
+++ b/source/simulator/core.cc
@@ -1085,7 +1085,7 @@ namespace aspect
               assemble_advection_system (AdvectionField::composition(c));
               build_advection_preconditioner(AdvectionField::composition(c),
                                              C_preconditioner);
-              solve_advection(AdvectionField::composition(c)); // this is correct, 0 would be temperature
+              solve_advection(AdvectionField::composition(c));
               current_linearization_point.block(introspection.block_indices.compositional_fields[c])
                 = solution.block(introspection.block_indices.compositional_fields[c]);
             }



More information about the CIG-COMMITS mailing list