[cig-commits] commit 2061 by bangerth to /var/svn/dealii/aspect

dealii.demon at gmail.com dealii.demon at gmail.com
Tue Nov 26 11:11:59 PST 2013


Revision 2061

One more test. Output is currently still wrong.

A   trunk/aspect/tests/no_adiabatic_heating_03/
A   trunk/aspect/tests/no_adiabatic_heating_03.cc
A   trunk/aspect/tests/no_adiabatic_heating_03.prm


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

Diff:
Copied: trunk/aspect/tests/no_adiabatic_heating_03.cc (from rev 2058, trunk/aspect/tests/no_adiabatic_heating_02.cc)
===================================================================
--- trunk/aspect/tests/no_adiabatic_heating_03.cc	                        (rev 0)
+++ trunk/aspect/tests/no_adiabatic_heating_03.cc	2013-11-26 19:11:17 UTC (rev 2061)
@@ -0,0 +1,45 @@
+// use the same postprocessing facilities as for the
+// 'compressibility_iterated_stokes' testcase
+#include "compressibility_iterated_stokes.cc"
+
+namespace aspect
+{
+  namespace MaterialModel
+  {
+    using namespace dealii;
+
+    template <int dim>
+    class NoAdiabaticHeating : public CompressibilityIteratedStokes<dim>
+    {
+      public:
+        virtual double thermal_expansion_coefficient (const double,
+                                                      const double,
+                                                      const std::vector<double> &,
+                                                      const Point<dim> &) const
+	{
+	  return 0;
+	}
+
+      virtual double viscosity (const double,
+				const double,
+				const std::vector<double> &,
+				const Point<dim> &) const
+	{
+	  return 10;
+	}
+    };
+
+  }
+}
+
+
+// explicit instantiations
+namespace aspect
+{
+  namespace MaterialModel
+  {
+    ASPECT_REGISTER_MATERIAL_MODEL(NoAdiabaticHeating,
+                                   "no adiabatic heating",
+                                   "As described in the .prm file.")
+  }
+}

Copied: trunk/aspect/tests/no_adiabatic_heating_03.prm (from rev 2058, trunk/aspect/tests/no_adiabatic_heating_02.prm)
===================================================================
--- trunk/aspect/tests/no_adiabatic_heating_03.prm	                        (rev 0)
+++ trunk/aspect/tests/no_adiabatic_heating_03.prm	2013-11-26 19:11:17 UTC (rev 2061)
@@ -0,0 +1,130 @@
+# Like 'no_adiabatic_heating_02' but here we actually switch on friction
+# heating and set the viscosity to a non-zero. In this testcase, we have
+#   u_z(z) = 1+z/100
+# so in 2d, we have
+#   eps(u) - 1/3 (div u) I = [[-1/300,0], [0,2/300]]
+# so the friction heating term is
+#   2*eta*5/9*(1/100)^2
+# Consequently, if we set the thermal diffusivity to zero, then from
+#   DT/Dt = 2*eta*5/9*(1/100)^2
+# we get
+#   T(t)  = 2*eta*5/9*(1/100)^2 * t + T(0)
+# From the velocity, we get
+#   z = t*t^2/200
+# so
+#   T(z)  = 2*eta*5/9*(1/100)^2 * (10*sqrt(100+2z)-100) + T(0)
+# Thus, the maximal temperature at the outlet should be
+#   T(1)  = 2*eta*5/9*(1/100)^2 * (10*sqrt(102)-100) + T(0)
+# To make all of this work, of course, we need that the density does
+# not depend on the temperature
+#
+# In this testcase, we choose eta=10, so this should lead to
+#   T(1)  = 0.001105
+
+set Dimension = 2
+
+set CFL number                             = 1.0
+set End time                               = 1
+set Output directory                       = output-no_adiabatic_heating_03
+set Start time                             = 0
+set Adiabatic surface temperature          = 0
+set Surface pressure                       = 0
+set Use years in output instead of seconds = false  # default: true
+
+set Nonlinear solver scheme                = iterated Stokes
+set Max nonlinear iterations               = 5
+
+set Additional shared libraries = ./libno_adiabatic_heating_03.so
+
+
+subsection Boundary temperature model
+  set Model name = box
+end
+
+
+
+subsection Gravity model
+  set Model name = vertical
+end
+
+
+subsection Geometry model
+  set Model name = box
+
+  subsection Box
+    set X extent = 1
+    set Y extent = 1
+    set Z extent = 1
+  end
+end
+
+
+# temperature field doesn't matter. set it to zero
+subsection Initial conditions
+  set Model name = function
+  subsection Function
+    set Function expression = 0
+  end
+end
+
+
+# no gravity. the pressure will equal just the dynamic component
+subsection Gravity model
+  set Model name = vertical
+  subsection Vertical
+    set Magnitude = 10.0
+  end
+end
+
+
+subsection Material model
+  set Model name = no adiabatic heating
+
+  subsection Simple model
+    set Reference density             = 1    # default: 3300
+    set Reference specific heat       = 1250
+    set Reference temperature         = 0    # default: 293
+    set Thermal conductivity          = 1e-6 # default: 4.7
+    set Thermal expansion coefficient = 0
+    set Viscosity                     = 1    # default: 5e24
+  end
+end
+
+
+subsection Mesh refinement
+  set Initial adaptive refinement        = 0
+  set Initial global refinement          = 4
+end
+
+
+subsection Model settings
+  set Fixed temperature boundary indicators   = 2
+  set Tangential velocity boundary indicators = 0, 1
+  set Zero velocity boundary indicators       =
+  set Prescribed velocity boundary indicators = 2: function
+  set Include shear heating = true
+  set Include adiabatic heating = false
+end
+
+subsection Boundary temperature model
+  set Model name = box
+  subsection Box
+    set Bottom temperature = 0
+  end
+end
+
+
+subsection Boundary velocity model
+  subsection Function
+    set Variable names = x,y
+    set Function expression = 0;1
+  end
+end
+
+subsection Postprocess
+  set List of postprocessors = temperature statistics, velocity statistics, visualization
+
+  subsection Visualization
+    set Time between graphical output = 0.1
+  end
+end


More information about the CIG-COMMITS mailing list