[cig-commits] commit 2042 by dannberg to /var/svn/dealii/aspect

dealii.demon at gmail.com dealii.demon at gmail.com
Fri Nov 22 16:34:31 PST 2013


Revision 2042

fix the iterated Stokes compressibility test so that the mass fluxes are now correct

U   trunk/aspect/tests/compressibility_iterated_stokes.cc
U   trunk/aspect/tests/compressibility_iterated_stokes.prm


http://www.dealii.org/websvn/revision.php?repname=Aspect+Repository&path=%2F&rev=2042&peg=2042

Diff:
Modified: trunk/aspect/tests/compressibility_iterated_stokes.cc
===================================================================
--- trunk/aspect/tests/compressibility_iterated_stokes.cc	2013-11-22 22:24:07 UTC (rev 2041)
+++ trunk/aspect/tests/compressibility_iterated_stokes.cc	2013-11-23 00:33:57 UTC (rev 2042)
@@ -1,3 +1,89 @@
 // use the same postprocessing facilities as for the 'compressibility'
 // testcase
 #include "compressibility.cc"
+
+namespace aspect
+{
+  namespace MaterialModel
+  {
+    using namespace dealii;
+
+    template <int dim>
+    class CompressibilityIteratedStokes : public MaterialModel::Simple<dim>
+    {
+      public:
+        /**
+         * @name Physical parameters used in the basic equations
+         * @{
+         */
+        virtual double density (const double                  temperature,
+                                const double                  pressure,
+                                const std::vector<double>    &compositional_fields,
+                                const Point<dim>             &position) const;
+
+        virtual double compressibility (const double                  temperature,
+                                        const double                  pressure,
+                                        const std::vector<double>    &compositional_fields,
+                                        const Point<dim>             &position) const;
+
+      /**
+        * Return true if the compressibility() function returns something that
+        * is not zero.
+        */
+        virtual bool
+        is_compressible () const;
+    };
+
+  }
+}
+
+namespace aspect
+{
+  namespace MaterialModel
+  {
+
+    template <int dim>
+    double
+    CompressibilityIteratedStokes<dim>::
+    density (const double temperature,
+             const double pressure,
+             const std::vector<double> &composition,
+             const Point<dim> &position) const
+    {
+      return 10.0/11.0*exp(pressure/100.0);
+    }
+
+    template <int dim>
+    double
+    CompressibilityIteratedStokes<dim>::
+    compressibility (const double ,
+                     const double pressure,
+                     const std::vector<double> &,
+                     const Point<dim> &) const
+    {
+      // compressibility = 1/rho drho/dp
+      return  0.01;
+;
+    }
+
+    template <int dim>
+    bool
+    CompressibilityIteratedStokes<dim>::
+    is_compressible () const
+    {
+      return true;
+    }
+  }
+}
+
+// explicit instantiations
+namespace aspect
+{
+  namespace MaterialModel
+  {
+    ASPECT_REGISTER_MATERIAL_MODEL(CompressibilityIteratedStokes,
+                                   "compressibility iterated stokes",
+                                   "A simple material model that is like the "
+				   "'Simple' model, but has a non-zero compressibility.")
+  }
+}

Modified: trunk/aspect/tests/compressibility_iterated_stokes.prm
===================================================================
--- trunk/aspect/tests/compressibility_iterated_stokes.prm	2013-11-22 22:24:07 UTC (rev 2041)
+++ trunk/aspect/tests/compressibility_iterated_stokes.prm	2013-11-23 00:33:57 UTC (rev 2042)
@@ -16,7 +16,7 @@
 set Use years in output instead of seconds = false  # default: true
 
 set Nonlinear solver scheme                = Stokes only
-set Max nonlinear iterations               = 2
+set Max nonlinear iterations               = 20
 
 set Additional shared libraries = ./libcompressibility_iterated_stokes.so
 
@@ -56,13 +56,13 @@
 subsection Gravity model
   set Model name = vertical
   subsection Vertical
-    set Magnitude = 1.0
+    set Magnitude = 10.0
   end
 end
 
 
 subsection Material model
-  set Model name = compressibility
+  set Model name = compressibility iterated stokes
 
   subsection Simple model
     set Reference density             = 1    # default: 3300
@@ -97,7 +97,7 @@
 end
 
 subsection Postprocess
-  set List of postprocessors = compressibility, visualization
+  set List of postprocessors = compressibility
 
   subsection Visualization
 


More information about the CIG-COMMITS mailing list