[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