[cig-commits] [commit] master: Add the files necessary to reproduce the variable viscosity, dynamic topography computations. (b12d14f)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Tue Sep 2 06:25:03 PDT 2014


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

On branch  : master
Link       : https://github.com/geodynamics/aspect/compare/873dd16d28505a844f0bd2fbf0739b4f0af46bf9...1f5a0f8d775c6f634a16eb9599891cc7d60571e5

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

commit b12d14f55ab90e03f0aa26ae786612e27d5095c1
Author: WDurkin <wjd73 at cornell.edu>
Date:   Mon Jul 28 14:33:30 2014 -0500

    Add the files necessary to reproduce the variable viscosity, dynamic topography computations.


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

b12d14f55ab90e03f0aa26ae786612e27d5095c1
 .../free_surface_wc.prm}                           |  41 +++++++++----
 .../free_surface_with_crust/plugin}/CMakeLists.txt |   4 +-
 .../free_surface_with_crust/plugin/simplerwc.cc    |  66 ++++++++++++++-------
 .../free_surface_with_crust/plugin/simplerwc.h     |  12 ++--
 .../free_surface_with_crust/Topography.png         | Bin 0 -> 6741 bytes
 .../free_surface_with_crust/free-surfaceWC.png     | Bin 0 -> 14671 bytes
 .../free_surface_with_crust/free_surface_wc.prm    |  41 +++++++++----
 .../free_surface_with_crust/plugin}/CMakeLists.txt |   4 +-
 .../free_surface_with_crust/plugin/simplerwc.cc    |  66 ++++++++++++++-------
 .../free_surface_with_crust/plugin/simplerwc.h     |  12 ++--
 10 files changed, 164 insertions(+), 82 deletions(-)

diff --git a/cookbooks/free-surface.prm b/cookbooks/free_surface_with_crust/free_surface_wc.prm
similarity index 80%
copy from cookbooks/free-surface.prm
copy to cookbooks/free_surface_with_crust/free_surface_wc.prm
index 64d72d1..e8b5a29 100644
--- a/cookbooks/free-surface.prm
+++ b/cookbooks/free_surface_with_crust/free_surface_wc.prm
@@ -1,3 +1,6 @@
+set Additional shared libraries            = ./plugin/libsimplerwc.so 
+
+
 # Very simple cookbook which demonstrates the use of
 # a free surface for computing surface topography.
 # The model is 2D, with a rising blob beneath a free
@@ -11,8 +14,17 @@ set Dimension = 2
 # stable than others, so we take a smaller time step
 set CFL number                             = 0.1
 
-set End time                               = 1e8
-set Output directory                       = output
+set End time                               = 1e10
+set Output directory                       = output/
+
+
+
+subsection Checkpointing
+  set Steps between checkpoint = 50
+end
+
+
+
 
 # Pressure normalization must be set to ``no'' for free surface
 # models, as we assume the pressure is zero at the free surface
@@ -25,7 +37,7 @@ set Use years in output instead of seconds = true
 subsection Boundary temperature model
   set Model name = constant
   subsection Constant
-    set Boundary indicator to temperature mappings = left:0, right:0, bottom:0, top:0
+    set Boundary indicator to temperature mappings = 0:0,1:0,2:0,3:0
   end
 end
 
@@ -70,21 +82,27 @@ subsection Initial conditions
   set Model name = function
   subsection Function 
     set Variable names      = x,y
-    set Function expression = if( sqrt( (x-250.e3)^2 + (y-100.e3)^2 ) < 25.e3, 200.0, 0.0)
+    set Function expression =  if( sqrt( (x-250.e3)^2 + (y-100.e3)^2 ) < 25.e3, 200.0, 0.0)
   end
 end
 
 
 # A fairly standard simple geometry model
 subsection Material model
-  set Model name = simple
-  subsection Simple model
+  set Model name = simplerwc
+  subsection Simplerwc model
     set Reference density             = 3300
     set Reference specific heat       = 1250
     set Reference temperature         = 0.0
     set Thermal conductivity          = 1.0 # low thermal conductivity for a sharp blob
     set Thermal expansion coefficient = 4e-5
-    set Viscosity                     = 1.e20
+    #set Viscosity                     = 1.e20
+  
+    #Parameters added by me
+    set Lower viscosity               =1.e20
+    set Upper viscosity               =1.e23
+    set Jump height                   =170.e3
+ 
   end
 end
 
@@ -106,15 +124,15 @@ end
 subsection Model settings
   set Include adiabatic heating               = false
   set Include shear heating                   = false
-  set Fixed temperature boundary indicators   = left, right, bottom, top
+  set Fixed temperature boundary indicators   = 0,1,2,3
   set Prescribed velocity boundary indicators =
-  set Tangential velocity boundary indicators = left, right, bottom
+  set Tangential velocity boundary indicators = 0,1,2
   set Zero velocity boundary indicators       = 
 
   # We specify a comma delimited list of the free surface boundaries
-  # for the model.  In this case, it is just the top boundary
+  # for the model.  In this case, it is just the top boundary (3)
   # of the box geometry model. 
-  set Free surface boundary indicators = top
+  set Free surface boundary indicators = 3
 end
 
 # Here is the major new section to the parameter file,
@@ -138,3 +156,4 @@ subsection Postprocess
     set Time between graphical output = 1.e6
   end
 end
+
diff --git a/benchmark/solcx/CMakeLists.txt b/cookbooks/free_surface_with_crust/plugin/CMakeLists.txt
similarity index 75%
copy from benchmark/solcx/CMakeLists.txt
copy to cookbooks/free_surface_with_crust/plugin/CMakeLists.txt
index e1c228a..42447a9 100644
--- a/benchmark/solcx/CMakeLists.txt
+++ b/cookbooks/free_surface_with_crust/plugin/CMakeLists.txt
@@ -3,8 +3,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)
 FIND_PACKAGE(Aspect REQUIRED HINTS ${ASPECT_DIR} ../ ../../ $ENV{ASPECT_DIR})
 DEAL_II_INITIALIZE_CACHED_VARIABLES()
 
-SET(TARGET "solcx")
+SET(TARGET "simplerwc")
 PROJECT(${TARGET})
 
-ADD_LIBRARY(${TARGET} SHARED solcx.cc)
+ADD_LIBRARY(${TARGET} SHARED simplerwc.cc)
 ASPECT_SETUP_PLUGIN(${TARGET})
diff --git a/source/material_model/simpler.cc b/cookbooks/free_surface_with_crust/plugin/simplerwc.cc
similarity index 77%
copy from source/material_model/simpler.cc
copy to cookbooks/free_surface_with_crust/plugin/simplerwc.cc
index 746d555..3f05335 100644
--- a/source/material_model/simpler.cc
+++ b/cookbooks/free_surface_with_crust/plugin/simplerwc.cc
@@ -19,8 +19,10 @@
 */
 
 
-#include <aspect/material_model/simpler.h>
+#include "./simplerwc.h"
 #include <deal.II/base/parameter_handler.h>
+#include <iostream>
+#include <cmath>
 
 using namespace dealii;
 
@@ -28,9 +30,14 @@ namespace aspect
 {
   namespace MaterialModel
   {
+
+
+
+    
+    
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     viscosity_depends_on (const NonlinearDependence::Dependence dependence) const
     {
       return false;
@@ -39,7 +46,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     density_depends_on (const NonlinearDependence::Dependence dependence) const
     {
       return false;
@@ -47,7 +54,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     compressibility_depends_on (const NonlinearDependence::Dependence) const
     {
       return false;
@@ -55,7 +62,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     specific_heat_depends_on (const NonlinearDependence::Dependence) const
     {
       return false;
@@ -63,7 +70,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     thermal_conductivity_depends_on (const NonlinearDependence::Dependence dependence) const
     {
       return false;
@@ -72,7 +79,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     is_compressible () const
     {
       return false;
@@ -80,15 +87,17 @@ namespace aspect
 
     template <int dim>
     double
-    Simpler<dim>::
+    Simplerwc<dim>::
     reference_viscosity () const
     {
-      return eta;
+      return eta_L;
     }
  
+        
+
     template <int dim>
     double
-    Simpler<dim>::
+    Simplerwc<dim>::
     reference_density () const
     {
       return reference_rho;
@@ -96,29 +105,32 @@ namespace aspect
 
     template <int dim>
     void
-    Simpler<dim>::
-    evaluate(const typename Interface<dim>::MaterialModelInputs &in, typename Interface<dim>::MaterialModelOutputs &out) const
+    Simplerwc<dim>::
+    evaluate(const typename Interface<dim>::MaterialModelInputs &in, typename Interface<dim>::MaterialModelOutputs &out ) const
     {
+      
+      double z;
       for (unsigned int i=0; i<in.position.size(); ++i)
         { 
-          out.viscosities[i] = eta;
+          z = in.position[i][1];
+          out.viscosities[i] = (z>jump_height) ?  eta_U: eta_L ;
+                     
           out.densities[i] = reference_rho * (1.0 - thermal_alpha * (in.temperature[i] - reference_T));
           out.thermal_expansion_coefficients[i] = thermal_alpha;
           out.specific_heat[i] = reference_specific_heat;
           out.thermal_conductivities[i] = k_value;
           out.compressibilities[i] = 0.0;
         }
-
     }
 
 
     template <int dim>
     void
-    Simpler<dim>::declare_parameters (ParameterHandler &prm)
+   Simplerwc<dim>::declare_parameters (ParameterHandler &prm)
     {
       prm.enter_subsection("Material model");
       {
-        prm.enter_subsection("Simpler model");
+        prm.enter_subsection("Simplerwc model");
         {
           prm.declare_entry ("Reference density", "3300",
                              Patterns::Double (0),
@@ -127,9 +139,15 @@ namespace aspect
                              Patterns::Double (0),
                              "The reference temperature $T_0$. The reference temperature is used "
                              "in the density formula. Units: $K$.");
-          prm.declare_entry ("Viscosity", "5e24",
+          prm.declare_entry ("Lower viscosity", "5e24",
+                             Patterns::Double (0),
+                             "The value of the viscosity $\\eta$L. Units: $kg/m/s$.");
+          prm.declare_entry ("Upper viscosity", "5e24",
                              Patterns::Double (0),
-                             "The value of the viscosity $\\eta$. Units: $kg/m/s$.");
+	                     "The value of the viscosity in the top section $\\eta$U. Units: $kg/m/s$.");
+          prm.declare_entry ("Jump height", "100000",
+                              Patterns::Double (0),
+                              "The height at which the viscosity changes. Units: m.");
           prm.declare_entry ("Thermal conductivity", "4.7",
                              Patterns::Double (0),
                              "The value of the thermal conductivity $k$. "
@@ -153,15 +171,17 @@ namespace aspect
 
     template <int dim>
     void
-    Simpler<dim>::parse_parameters (ParameterHandler &prm)
+    Simplerwc<dim>::parse_parameters (ParameterHandler &prm)
     {
       prm.enter_subsection("Material model");
       {
-        prm.enter_subsection("Simpler model");
+        prm.enter_subsection("Simplerwc model");
         {
           reference_rho              = prm.get_double ("Reference density");
           reference_T                = prm.get_double ("Reference temperature");
-          eta                        = prm.get_double ("Viscosity");
+          eta_L                      = prm.get_double ("Lower viscosity");
+          eta_U                      = prm.get_double ("Upper viscosity");
+          jump_height                 = prm.get_double ("Jump height"); 
           k_value                    = prm.get_double ("Thermal conductivity");
           reference_specific_heat    = prm.get_double ("Reference specific heat");
           thermal_alpha              = prm.get_double ("Thermal expansion coefficient");
@@ -178,8 +198,8 @@ namespace aspect
 {
   namespace MaterialModel
   {
-    ASPECT_REGISTER_MATERIAL_MODEL(Simpler,
-                                   "simpler",
+    ASPECT_REGISTER_MATERIAL_MODEL(Simplerwc,
+                                   "simplerwc",
                                    "A material model that has constant values "
                                    "except for density, which depends linearly on temperature: "
                                    "\\begin{align}"
diff --git a/include/aspect/material_model/simpler.h b/cookbooks/free_surface_with_crust/plugin/simplerwc.h
similarity index 93%
copy from include/aspect/material_model/simpler.h
copy to cookbooks/free_surface_with_crust/plugin/simplerwc.h
index b4838c8..53a214b 100644
--- a/include/aspect/material_model/simpler.h
+++ b/cookbooks/free_surface_with_crust/plugin/simplerwc.h
@@ -1,4 +1,4 @@
-/*
+ /*
   Copyright (C) 2011, 2012 by the authors of the ASPECT code.
 
   This file is part of ASPECT.
@@ -19,8 +19,8 @@
  */
 
 
-#ifndef __aspect__model_simpler_h
-#define __aspect__model_simpler_h
+#ifndef __aspect__model_simplerwc_h
+#define __aspect__model_simplerwc_h
 
 #include <aspect/material_model/interface.h>
 #include <aspect/simulator_access.h>
@@ -42,7 +42,7 @@ namespace aspect
      * @ingroup MaterialModels
      */
     template <int dim>
-    class Simpler : public Interface<dim>
+    class Simplerwc : public Interface<dim>
     {
       public:
 
@@ -95,7 +95,9 @@ namespace aspect
       private:
         double reference_rho;
         double reference_T;
-        double eta;
+        double eta_L;
+        double eta_U;
+        double jump_height;
         double thermal_alpha;
         double reference_specific_heat;
         double k_value;
diff --git a/doc/manual/cookbooks/free_surface_with_crust/Topography.png b/doc/manual/cookbooks/free_surface_with_crust/Topography.png
new file mode 100644
index 0000000..c0cdd06
Binary files /dev/null and b/doc/manual/cookbooks/free_surface_with_crust/Topography.png differ
diff --git a/doc/manual/cookbooks/free_surface_with_crust/free-surfaceWC.png b/doc/manual/cookbooks/free_surface_with_crust/free-surfaceWC.png
new file mode 100644
index 0000000..fca527c
Binary files /dev/null and b/doc/manual/cookbooks/free_surface_with_crust/free-surfaceWC.png differ
diff --git a/cookbooks/free-surface.prm b/doc/manual/cookbooks/free_surface_with_crust/free_surface_wc.prm
similarity index 80%
copy from cookbooks/free-surface.prm
copy to doc/manual/cookbooks/free_surface_with_crust/free_surface_wc.prm
index 64d72d1..e8b5a29 100644
--- a/cookbooks/free-surface.prm
+++ b/doc/manual/cookbooks/free_surface_with_crust/free_surface_wc.prm
@@ -1,3 +1,6 @@
+set Additional shared libraries            = ./plugin/libsimplerwc.so 
+
+
 # Very simple cookbook which demonstrates the use of
 # a free surface for computing surface topography.
 # The model is 2D, with a rising blob beneath a free
@@ -11,8 +14,17 @@ set Dimension = 2
 # stable than others, so we take a smaller time step
 set CFL number                             = 0.1
 
-set End time                               = 1e8
-set Output directory                       = output
+set End time                               = 1e10
+set Output directory                       = output/
+
+
+
+subsection Checkpointing
+  set Steps between checkpoint = 50
+end
+
+
+
 
 # Pressure normalization must be set to ``no'' for free surface
 # models, as we assume the pressure is zero at the free surface
@@ -25,7 +37,7 @@ set Use years in output instead of seconds = true
 subsection Boundary temperature model
   set Model name = constant
   subsection Constant
-    set Boundary indicator to temperature mappings = left:0, right:0, bottom:0, top:0
+    set Boundary indicator to temperature mappings = 0:0,1:0,2:0,3:0
   end
 end
 
@@ -70,21 +82,27 @@ subsection Initial conditions
   set Model name = function
   subsection Function 
     set Variable names      = x,y
-    set Function expression = if( sqrt( (x-250.e3)^2 + (y-100.e3)^2 ) < 25.e3, 200.0, 0.0)
+    set Function expression =  if( sqrt( (x-250.e3)^2 + (y-100.e3)^2 ) < 25.e3, 200.0, 0.0)
   end
 end
 
 
 # A fairly standard simple geometry model
 subsection Material model
-  set Model name = simple
-  subsection Simple model
+  set Model name = simplerwc
+  subsection Simplerwc model
     set Reference density             = 3300
     set Reference specific heat       = 1250
     set Reference temperature         = 0.0
     set Thermal conductivity          = 1.0 # low thermal conductivity for a sharp blob
     set Thermal expansion coefficient = 4e-5
-    set Viscosity                     = 1.e20
+    #set Viscosity                     = 1.e20
+  
+    #Parameters added by me
+    set Lower viscosity               =1.e20
+    set Upper viscosity               =1.e23
+    set Jump height                   =170.e3
+ 
   end
 end
 
@@ -106,15 +124,15 @@ end
 subsection Model settings
   set Include adiabatic heating               = false
   set Include shear heating                   = false
-  set Fixed temperature boundary indicators   = left, right, bottom, top
+  set Fixed temperature boundary indicators   = 0,1,2,3
   set Prescribed velocity boundary indicators =
-  set Tangential velocity boundary indicators = left, right, bottom
+  set Tangential velocity boundary indicators = 0,1,2
   set Zero velocity boundary indicators       = 
 
   # We specify a comma delimited list of the free surface boundaries
-  # for the model.  In this case, it is just the top boundary
+  # for the model.  In this case, it is just the top boundary (3)
   # of the box geometry model. 
-  set Free surface boundary indicators = top
+  set Free surface boundary indicators = 3
 end
 
 # Here is the major new section to the parameter file,
@@ -138,3 +156,4 @@ subsection Postprocess
     set Time between graphical output = 1.e6
   end
 end
+
diff --git a/benchmark/solcx/CMakeLists.txt b/doc/manual/cookbooks/free_surface_with_crust/plugin/CMakeLists.txt
similarity index 75%
copy from benchmark/solcx/CMakeLists.txt
copy to doc/manual/cookbooks/free_surface_with_crust/plugin/CMakeLists.txt
index e1c228a..42447a9 100644
--- a/benchmark/solcx/CMakeLists.txt
+++ b/doc/manual/cookbooks/free_surface_with_crust/plugin/CMakeLists.txt
@@ -3,8 +3,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)
 FIND_PACKAGE(Aspect REQUIRED HINTS ${ASPECT_DIR} ../ ../../ $ENV{ASPECT_DIR})
 DEAL_II_INITIALIZE_CACHED_VARIABLES()
 
-SET(TARGET "solcx")
+SET(TARGET "simplerwc")
 PROJECT(${TARGET})
 
-ADD_LIBRARY(${TARGET} SHARED solcx.cc)
+ADD_LIBRARY(${TARGET} SHARED simplerwc.cc)
 ASPECT_SETUP_PLUGIN(${TARGET})
diff --git a/source/material_model/simpler.cc b/doc/manual/cookbooks/free_surface_with_crust/plugin/simplerwc.cc
similarity index 77%
copy from source/material_model/simpler.cc
copy to doc/manual/cookbooks/free_surface_with_crust/plugin/simplerwc.cc
index 746d555..3f05335 100644
--- a/source/material_model/simpler.cc
+++ b/doc/manual/cookbooks/free_surface_with_crust/plugin/simplerwc.cc
@@ -19,8 +19,10 @@
 */
 
 
-#include <aspect/material_model/simpler.h>
+#include "./simplerwc.h"
 #include <deal.II/base/parameter_handler.h>
+#include <iostream>
+#include <cmath>
 
 using namespace dealii;
 
@@ -28,9 +30,14 @@ namespace aspect
 {
   namespace MaterialModel
   {
+
+
+
+    
+    
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     viscosity_depends_on (const NonlinearDependence::Dependence dependence) const
     {
       return false;
@@ -39,7 +46,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     density_depends_on (const NonlinearDependence::Dependence dependence) const
     {
       return false;
@@ -47,7 +54,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     compressibility_depends_on (const NonlinearDependence::Dependence) const
     {
       return false;
@@ -55,7 +62,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     specific_heat_depends_on (const NonlinearDependence::Dependence) const
     {
       return false;
@@ -63,7 +70,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     thermal_conductivity_depends_on (const NonlinearDependence::Dependence dependence) const
     {
       return false;
@@ -72,7 +79,7 @@ namespace aspect
 
     template <int dim>
     bool
-    Simpler<dim>::
+    Simplerwc<dim>::
     is_compressible () const
     {
       return false;
@@ -80,15 +87,17 @@ namespace aspect
 
     template <int dim>
     double
-    Simpler<dim>::
+    Simplerwc<dim>::
     reference_viscosity () const
     {
-      return eta;
+      return eta_L;
     }
  
+        
+
     template <int dim>
     double
-    Simpler<dim>::
+    Simplerwc<dim>::
     reference_density () const
     {
       return reference_rho;
@@ -96,29 +105,32 @@ namespace aspect
 
     template <int dim>
     void
-    Simpler<dim>::
-    evaluate(const typename Interface<dim>::MaterialModelInputs &in, typename Interface<dim>::MaterialModelOutputs &out) const
+    Simplerwc<dim>::
+    evaluate(const typename Interface<dim>::MaterialModelInputs &in, typename Interface<dim>::MaterialModelOutputs &out ) const
     {
+      
+      double z;
       for (unsigned int i=0; i<in.position.size(); ++i)
         { 
-          out.viscosities[i] = eta;
+          z = in.position[i][1];
+          out.viscosities[i] = (z>jump_height) ?  eta_U: eta_L ;
+                     
           out.densities[i] = reference_rho * (1.0 - thermal_alpha * (in.temperature[i] - reference_T));
           out.thermal_expansion_coefficients[i] = thermal_alpha;
           out.specific_heat[i] = reference_specific_heat;
           out.thermal_conductivities[i] = k_value;
           out.compressibilities[i] = 0.0;
         }
-
     }
 
 
     template <int dim>
     void
-    Simpler<dim>::declare_parameters (ParameterHandler &prm)
+   Simplerwc<dim>::declare_parameters (ParameterHandler &prm)
     {
       prm.enter_subsection("Material model");
       {
-        prm.enter_subsection("Simpler model");
+        prm.enter_subsection("Simplerwc model");
         {
           prm.declare_entry ("Reference density", "3300",
                              Patterns::Double (0),
@@ -127,9 +139,15 @@ namespace aspect
                              Patterns::Double (0),
                              "The reference temperature $T_0$. The reference temperature is used "
                              "in the density formula. Units: $K$.");
-          prm.declare_entry ("Viscosity", "5e24",
+          prm.declare_entry ("Lower viscosity", "5e24",
+                             Patterns::Double (0),
+                             "The value of the viscosity $\\eta$L. Units: $kg/m/s$.");
+          prm.declare_entry ("Upper viscosity", "5e24",
                              Patterns::Double (0),
-                             "The value of the viscosity $\\eta$. Units: $kg/m/s$.");
+	                     "The value of the viscosity in the top section $\\eta$U. Units: $kg/m/s$.");
+          prm.declare_entry ("Jump height", "100000",
+                              Patterns::Double (0),
+                              "The height at which the viscosity changes. Units: m.");
           prm.declare_entry ("Thermal conductivity", "4.7",
                              Patterns::Double (0),
                              "The value of the thermal conductivity $k$. "
@@ -153,15 +171,17 @@ namespace aspect
 
     template <int dim>
     void
-    Simpler<dim>::parse_parameters (ParameterHandler &prm)
+    Simplerwc<dim>::parse_parameters (ParameterHandler &prm)
     {
       prm.enter_subsection("Material model");
       {
-        prm.enter_subsection("Simpler model");
+        prm.enter_subsection("Simplerwc model");
         {
           reference_rho              = prm.get_double ("Reference density");
           reference_T                = prm.get_double ("Reference temperature");
-          eta                        = prm.get_double ("Viscosity");
+          eta_L                      = prm.get_double ("Lower viscosity");
+          eta_U                      = prm.get_double ("Upper viscosity");
+          jump_height                 = prm.get_double ("Jump height"); 
           k_value                    = prm.get_double ("Thermal conductivity");
           reference_specific_heat    = prm.get_double ("Reference specific heat");
           thermal_alpha              = prm.get_double ("Thermal expansion coefficient");
@@ -178,8 +198,8 @@ namespace aspect
 {
   namespace MaterialModel
   {
-    ASPECT_REGISTER_MATERIAL_MODEL(Simpler,
-                                   "simpler",
+    ASPECT_REGISTER_MATERIAL_MODEL(Simplerwc,
+                                   "simplerwc",
                                    "A material model that has constant values "
                                    "except for density, which depends linearly on temperature: "
                                    "\\begin{align}"
diff --git a/include/aspect/material_model/simpler.h b/doc/manual/cookbooks/free_surface_with_crust/plugin/simplerwc.h
similarity index 93%
copy from include/aspect/material_model/simpler.h
copy to doc/manual/cookbooks/free_surface_with_crust/plugin/simplerwc.h
index b4838c8..53a214b 100644
--- a/include/aspect/material_model/simpler.h
+++ b/doc/manual/cookbooks/free_surface_with_crust/plugin/simplerwc.h
@@ -1,4 +1,4 @@
-/*
+ /*
   Copyright (C) 2011, 2012 by the authors of the ASPECT code.
 
   This file is part of ASPECT.
@@ -19,8 +19,8 @@
  */
 
 
-#ifndef __aspect__model_simpler_h
-#define __aspect__model_simpler_h
+#ifndef __aspect__model_simplerwc_h
+#define __aspect__model_simplerwc_h
 
 #include <aspect/material_model/interface.h>
 #include <aspect/simulator_access.h>
@@ -42,7 +42,7 @@ namespace aspect
      * @ingroup MaterialModels
      */
     template <int dim>
-    class Simpler : public Interface<dim>
+    class Simplerwc : public Interface<dim>
     {
       public:
 
@@ -95,7 +95,9 @@ namespace aspect
       private:
         double reference_rho;
         double reference_T;
-        double eta;
+        double eta_L;
+        double eta_U;
+        double jump_height;
         double thermal_alpha;
         double reference_specific_heat;
         double k_value;



More information about the CIG-COMMITS mailing list