reconstruction_linear_mod Module Reference

module for linear (first order) TVD reconstruction using slope limiters More...

Data Types

type  reconstruction_linear
 

Functions/Subroutines

subroutine initreconstruction_linear (this, Mesh, Physics, config, IO)
 Constructor of linear reconstruction module. More...
 
pure subroutine calculatestates (this, Mesh, Physics, rvar, rstates)
 Reconstructes states at cell boundaries. More...
 
pure subroutine calculateslopes (this, Mesh, Physics, rvar)
 computes the limited slopes More...
 
subroutine finalize (this)
 
elemental real function minmod2_limiter (arg1, arg2)
 
elemental real function minmod3_limiter (arg1, arg2, arg3)
 
elemental real function sweby_limiter (arg1, arg2, param)
 
elemental real function ospre_limiter (arg1, arg2)
 
elemental real function vanleer_limiter (arg1, arg2)
 
elemental real function nolimit_limiter (arg1, arg2)
 

Variables

integer, parameter, public minmod = 1
 
integer, parameter, public monocent = 2
 
integer, parameter, public sweby = 3
 
integer, parameter, public superbee = 4
 
integer, parameter, public ospre = 5
 
integer, parameter, public pp = 6
 
integer, parameter, public vanleer = 7
 
integer, parameter, public nolimit = 8
 
character(len=32), parameter recontype_name = "linear"
 
character(len=32), dimension(8), parameter limitertype_name = (/ "minmod ", "mc ", "sweby ", "superbee ", "ospre ", "pp ", "van leer ", "no limit "/)
 

Detailed Description

module for linear (first order) TVD reconstruction using slope limiters

Author
Tobias Illenseer
Björn Sperling
Jannes Klee

Currentely supported limiter functions:

  • minmod
  • mc (monotonized central)
  • sweby
  • superbee
  • ospre
  • pp (positivity preserving), NOT SUPPORTED in Fosite3D
  • vanleer
  • nolimit: for testing purposes only, disables limiting
Todo:

implement 1D/2D/3D PP limiter

fix broken output of slopes, uncomment the lines below yields segfault

Function/Subroutine Documentation

◆ calculateslopes()

pure subroutine reconstruction_linear_mod::calculateslopes ( class(reconstruction_linear), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
class(marray_compound), intent(inout)  rvar 
)

computes the limited slopes

Definition at line 236 of file reconstruction_linear.f90.

◆ calculatestates()

pure subroutine reconstruction_linear_mod::calculatestates ( class(reconstruction_linear), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
class(marray_compound), intent(inout)  rvar,
class(marray_compound), intent(inout)  rstates 
)

Reconstructes states at cell boundaries.

Definition at line 210 of file reconstruction_linear.f90.

◆ finalize()

subroutine reconstruction_linear_mod::finalize ( class(reconstruction_linear), intent(inout)  this)
private

Definition at line 625 of file reconstruction_linear.f90.

◆ initreconstruction_linear()

subroutine reconstruction_linear_mod::initreconstruction_linear ( class(reconstruction_linear), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
type(dict_typ), pointer  config,
type(dict_typ), pointer  IO 
)

Constructor of linear reconstruction module.

Definition at line 96 of file reconstruction_linear.f90.

◆ minmod2_limiter()

elemental real function reconstruction_linear_mod::minmod2_limiter ( real, intent(in)  arg1,
real, intent(in)  arg2 
)
private
elemental non-class subroutines / functions

Definition at line 640 of file reconstruction_linear.f90.

◆ minmod3_limiter()

elemental real function reconstruction_linear_mod::minmod3_limiter ( real, intent(in)  arg1,
real, intent(in)  arg2,
real, intent(in)  arg3 
)
private

Definition at line 653 of file reconstruction_linear.f90.

◆ nolimit_limiter()

elemental real function reconstruction_linear_mod::nolimit_limiter ( real, intent(in)  arg1,
real, intent(in)  arg2 
)
private

Definition at line 721 of file reconstruction_linear.f90.

◆ ospre_limiter()

elemental real function reconstruction_linear_mod::ospre_limiter ( real, intent(in)  arg1,
real, intent(in)  arg2 
)
private

Definition at line 681 of file reconstruction_linear.f90.

◆ sweby_limiter()

elemental real function reconstruction_linear_mod::sweby_limiter ( real, intent(in)  arg1,
real, intent(in)  arg2,
real, intent(in)  param 
)
private

Definition at line 667 of file reconstruction_linear.f90.

◆ vanleer_limiter()

elemental real function reconstruction_linear_mod::vanleer_limiter ( real, intent(in)  arg1,
real, intent(in)  arg2 
)
private

Definition at line 708 of file reconstruction_linear.f90.

Variable Documentation

◆ limitertype_name

character(len=32), dimension(8), parameter reconstruction_linear_mod::limitertype_name = (/ "minmod ", "mc ", "sweby ", "superbee ", "ospre ", "pp ", "van leer ", "no limit "/)
private

Definition at line 80 of file reconstruction_linear.f90.

◆ minmod

integer, parameter, public reconstruction_linear_mod::minmod = 1

Definition at line 71 of file reconstruction_linear.f90.

◆ monocent

integer, parameter, public reconstruction_linear_mod::monocent = 2

Definition at line 72 of file reconstruction_linear.f90.

◆ nolimit

integer, parameter, public reconstruction_linear_mod::nolimit = 8

Definition at line 78 of file reconstruction_linear.f90.

◆ ospre

integer, parameter, public reconstruction_linear_mod::ospre = 5

Definition at line 75 of file reconstruction_linear.f90.

◆ pp

integer, parameter, public reconstruction_linear_mod::pp = 6

Definition at line 76 of file reconstruction_linear.f90.

◆ recontype_name

character(len=32), parameter reconstruction_linear_mod::recontype_name = "linear"
private

Definition at line 79 of file reconstruction_linear.f90.

◆ superbee

integer, parameter, public reconstruction_linear_mod::superbee = 4

Definition at line 74 of file reconstruction_linear.f90.

◆ sweby

integer, parameter, public reconstruction_linear_mod::sweby = 3

Definition at line 73 of file reconstruction_linear.f90.

◆ vanleer

integer, parameter, public reconstruction_linear_mod::vanleer = 7

Definition at line 77 of file reconstruction_linear.f90.