The SolKz Stokes benchmark#

The SolKz benchmark is another variation on the same theme as The SolCx Stokes benchmark, it solves a Stokes problem with a spatially variable viscosity, but this time the viscosity is not a discontinuous function. Instead, it grows exponentially with the vertical coordinate so that its overall variation is again \(10^6\). The forcing is again chosen by imposing a spatially variable density variation. For details, refer again to [Duretz et al., 2011].

The following input file, only a small variation of the one in the previous section, solves the benchmark (see benchmarks/solkz/):

# A description of the SolKZ benchmark for which a known solution
# is available. See the manual for more information.

set Additional shared libraries            = ./libsolkz.so

############### Global parameters

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 = 1
    set Y extent = 1
  end
end


subsection Boundary velocity model
  set Tangential velocity boundary indicators = left, right, bottom, top
end


subsection Material model
  set Model name = SolKzMaterial
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                = 4
end


############### Parameters describing what to do with the solution

subsection Postprocess
  set List of postprocessors = SolKzPostprocessor, visualization
end

The output when running ASPECT on this parameter file looks similar to the one shown for the SolCx case. The solution when computed with one more level of global refinement is visualized in Fig. 147 and Fig. 148. The velocity solution computed with three more levels of global refinement and plotted over the viscosity field is shown in Fig. 149.

SolKz Stokes benchmark. The density perturbation field overlaid with velocity vectors. The viscosity grows exponentially in the vertical direction, leading to small velocities at the top despite the large density variations.

Fig. 147 SolKz Stokes benchmark. The density pertubation field overlaid with velocity vectors. The viscosity grows exponentially in the vertical direction, leading to small velocities at the top despite the large density variations.#

SolKz Stokes benchmark pressure.

Fig. 148 SolKz Stokes benchmark pressure.#

SolKz Stokes benchmark. Another view of the velocity vectors, this time plotted over the viscosity field.

Fig. 149 SolKz Stokes benchmark. Another view of the velocity vectors, this time plotted over the viscosity field.#