The “inclusion” Stokes benchmark
The “inclusion” Stokes benchmark#
The “inclusion” benchmark again solves a problem with a discontinuous viscosity, but this time the viscosity is chosen in such a way that the discontinuity is along a circle. This ensures that, unlike in the SolCx benchmark, the discontinuity in the viscosity never aligns to cell boundaries, leading to much larger difficulties in obtaining an accurate representation of the pressure. Specifically, the almost discontinuous pressure along this interface leads to oscillations in the numerical solution. This can be seen in the visualizations shown in Fig. 152 and Fig. 153. As before, for details we refer to Duretz et al. [2011]. The analytic solution against which we compare is given in Schmid and Podladchikov [2003]. An extensive discussion of convergence properties is given in Kronbichler et al. [2012].
The benchmark can be run using the parameter files in benchmarks/inclusion/. The material model, boundary condition, and postprocessor are defined in benchmarks/inclusion/inclusion.cc. Consequently, this code needs to be compiled into a shared lib before you can run the tests.
############### Global parameters
set Additional shared libraries = ./libinclusion.so
set Dimension = 2
set Start time = 0
set End time = 0
set Output directory = output
set Pressure normalization = volume
############### Parameters describing the model
subsection Geometry model
set Model name = box
subsection Box
set X extent = 2
set Y extent = 2
end
end
subsection Boundary velocity model
set Prescribed velocity boundary indicators = left : InclusionBoundary, \
right : InclusionBoundary, \
bottom: InclusionBoundary, \
top : InclusionBoundary
end
subsection Material model
set Model name = InclusionMaterial
subsection Inclusion
set Viscosity jump = 1e3
end
end
subsection Gravity model
set Model name = vertical
end
############### Parameters describing the temperature field
subsection Initial temperature model
set Model name = perturbed box
end
############### Parameters describing the discretization
subsection Discretization
set Stokes velocity polynomial degree = 2
set Use locally conservative discretization = false
end
subsection Mesh refinement
set Initial adaptive refinement = 0
set Initial global refinement = 6
end
############### Parameters describing what to do with the solution
subsection Postprocess
set List of postprocessors = InclusionPostprocessor, visualization
end