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
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()
|
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()
|
private |
- elemental non-class subroutines / functions
Definition at line 640 of file reconstruction_linear.f90.
◆ minmod3_limiter()
|
private |
Definition at line 653 of file reconstruction_linear.f90.
◆ nolimit_limiter()
|
private |
Definition at line 721 of file reconstruction_linear.f90.
◆ ospre_limiter()
|
private |
Definition at line 681 of file reconstruction_linear.f90.
◆ sweby_limiter()
|
private |
Definition at line 667 of file reconstruction_linear.f90.
◆ vanleer_limiter()
|
private |
Definition at line 708 of file reconstruction_linear.f90.
Variable Documentation
◆ limitertype_name
|
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
|
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.