This module implements a convenience 1D grid class. The module is mostly indented to help write the examples. The WENO schemes themselves are completely independent from this module, so that they can be used anywhere.
1D grid class.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=:), | public, | allocatable | :: | name |
variable name |
||
character(len=:), | public, | allocatable | :: | scale |
scale type |
||
integer, | public | :: | ncells |
number of cells |
|||
real(kind=rk), | public, | allocatable | :: | edges(:) |
vector(0:ncells) of cell edges |
||
real(kind=rk), | public, | allocatable | :: | center(:) |
vector(ncells) of cell centers, |
||
real(kind=rk), | public, | allocatable | :: | width(:) |
vector(ncells) of cell widths, |
||
real(kind=rk), | public, | dimension(:), pointer | :: | left | => | null() |
vector(ncells) of left cell boundaries, |
real(kind=rk), | public, | dimension(:), pointer | :: | right | => | null() |
vector(ncells) of right cell boundaries, |
procedure, public, pass(self) :: linear => grid1_linear | |
procedure, public, pass(self) :: bilinear => grid1_bilinear | |
procedure, public, pass(self) :: log => grid1_log | |
procedure, public, pass(self) :: geometric => grid1_geometric |