PLUME-MoM-TSM
1.0
VolcanicPlumeModel
|
Grid module. More...
Functions/Subroutines | |
subroutine | init_grid |
Finite volume grid initialization. More... | |
subroutine | deallocate_grid |
subroutine | init_source |
subroutine | interp_1d_scalar (x1, f1, x2, f2) |
Scalar interpolation. More... | |
subroutine | interp_2d_scalar (x1, y1, f1, x2, y2, f2) |
Scalar interpolation (2D) More... | |
subroutine | interp_2d_scalarb (x1, y1, f1, x2, y2, f2) |
Scalar interpolation (2D) More... | |
subroutine | interp_2d_slope (x1, y1, f1, x2, y2, f_x, f_y) |
Scalar interpolation (2D) More... | |
subroutine | regrid_scalar (xin, yin, fin, xl, xr, yl, yr, fout) |
Scalar regrid (2D) More... | |
subroutine | limit (v, z, limiter, slope_lim) |
Slope limiter. More... | |
real(wp) function | minmod (a, b) |
real(wp) function | maxmod (a, b) |
subroutine | compute_cell_fract |
Variables | |
real(wp), dimension(:), allocatable | x_comp |
Location of the centers (x) of the control volume of the domain. More... | |
real(wp), dimension(:), allocatable | x_stag |
Location of the boundaries (x) of the control volumes of the domain. More... | |
real(wp), dimension(:), allocatable | y_comp |
Location of the centers (y) of the control volume of the domain. More... | |
real(wp), dimension(:), allocatable | y_stag |
Location of the boundaries (x) of the control volumes of the domain. More... | |
real(wp), dimension(:,:), allocatable | grid_output |
Solution in ascii grid format (ESRI) More... | |
integer, dimension(:,:), allocatable | source_cell |
logical, dimension(:,:), allocatable | sourcee |
logical, dimension(:,:), allocatable | sourcew |
logical, dimension(:,:), allocatable | sources |
logical, dimension(:,:), allocatable | sourcen |
real(wp), dimension(:,:), allocatable | dist_sourcee |
real(wp), dimension(:,:), allocatable | dist_sourcew |
real(wp), dimension(:,:), allocatable | dist_sources |
real(wp), dimension(:,:), allocatable | dist_sourcen |
real(wp), dimension(:,:), allocatable | sourcee_vect_x |
real(wp), dimension(:,:), allocatable | sourcee_vect_y |
real(wp), dimension(:,:), allocatable | sourcew_vect_x |
real(wp), dimension(:,:), allocatable | sourcew_vect_y |
real(wp), dimension(:,:), allocatable | sources_vect_x |
real(wp), dimension(:,:), allocatable | sources_vect_y |
real(wp), dimension(:,:), allocatable | sourcen_vect_x |
real(wp), dimension(:,:), allocatable | sourcen_vect_y |
real(wp) | pi_g |
integer | n_topography_profile_x |
integer | n_topography_profile_y |
real(wp) | dx |
Control volumes size. More... | |
real(wp) | x0 |
Left of the physical domain. More... | |
real(wp) | xn |
Right of the physical domain. More... | |
real(wp) | dy |
Control volumes size. More... | |
real(wp) | y0 |
Bottom of the physical domain. More... | |
real(wp) | yn |
Top of the physical domain. More... | |
real(wp) | dx2 |
Half x Control volumes size. More... | |
real(wp) | dy2 |
Half y Control volumes size. More... | |
integer | comp_cells_x |
Number of control volumes x in the comp. domain. More... | |
integer | comp_interfaces_x |
Number of interfaces (comp_cells_x+1) More... | |
integer | comp_cells_y |
Number of control volumes y in the comp. domain. More... | |
integer | comp_interfaces_y |
Number of interfaces (comp_cells_y+1) More... | |
real(wp) | cell_size |
integer | comp_cells_xy |
integer | j_source |
integer | k_source |
integer | j_source_w |
integer | k_source_s |
real(wp), dimension(:,:), allocatable | cell_fract |
real(wp), dimension(:,:), allocatable | dx_rel |
real(wp), dimension(:,:), allocatable | dy_rel |
real(wp), dimension(:,:), allocatable | upwind_dist |
real(wp), dimension(:,:), allocatable | crosswind_dist |
Grid module.
This module contains the variables and the subroutines related to the computational grid
subroutine geometry_2d::compute_cell_fract | ( | ) |
subroutine geometry_2d::deallocate_grid | ( | ) |
subroutine geometry_2d::init_grid | ( | ) |
Finite volume grid initialization.
This subroutine initialize the grids for the finite volume solver.
Definition at line 91 of file geometry_2d.f90.
subroutine geometry_2d::init_source | ( | ) |
subroutine geometry_2d::interp_1d_scalar | ( | real(wp), dimension(:), intent(in) | x1, |
real(wp), dimension(:), intent(in) | f1, | ||
real(wp), intent(in) | x2, | ||
real(wp), intent(out) | f2 | ||
) |
Scalar interpolation.
This subroutine interpolate the values of the array f1, defined on the grid points x1, at the point x2. The value are saved in f2
x1 | original grid (input) |
f1 | original values (input) |
x2 | new point (output) |
f2 | interpolated value (output) |
Definition at line 391 of file geometry_2d.f90.
subroutine geometry_2d::interp_2d_scalar | ( | real(wp), dimension(:,:), intent(in) | x1, |
real(wp), dimension(:,:), intent(in) | y1, | ||
real(wp), dimension(:,:), intent(in) | f1, | ||
real(wp), intent(in) | x2, | ||
real(wp), intent(in) | y2, | ||
real(wp), intent(out) | f2 | ||
) |
Scalar interpolation (2D)
This subroutine interpolate the values of the array f1, defined on the grid points (x1,y1), at the point (x2,y2). The value are saved in f2
x1 | original grid (input) |
y1 | original grid (input) |
f1 | original values (input) |
x2 | new point (output) |
y2 | new point (output) |
f2 | interpolated value (output) |
Definition at line 449 of file geometry_2d.f90.
subroutine geometry_2d::interp_2d_scalarb | ( | real(wp), dimension(:), intent(in) | x1, |
real(wp), dimension(:), intent(in) | y1, | ||
real(wp), dimension(:,:), intent(in) | f1, | ||
real(wp), intent(in) | x2, | ||
real(wp), intent(in) | y2, | ||
real(wp), intent(out) | f2 | ||
) |
Scalar interpolation (2D)
This subroutine interpolate the values of the array f1, defined on the grid points (x1,y1), at the point (x2,y2). The value are saved in f2. In this case x1 and y1 are 1d arrays.
x1 | original grid (input) |
y1 | original grid (input) |
f1 | original values (input) |
x2 | new point (output) |
y2 | new point (output) |
f2 | interpolated value (output) |
Definition at line 518 of file geometry_2d.f90.
subroutine geometry_2d::interp_2d_slope | ( | real(wp), dimension(:,:), intent(in) | x1, |
real(wp), dimension(:,:), intent(in) | y1, | ||
real(wp), dimension(:,:), intent(in) | f1, | ||
real(wp), intent(in) | x2, | ||
real(wp), intent(in) | y2, | ||
real(wp), intent(out) | f_x, | ||
real(wp), intent(out) | f_y | ||
) |
Scalar interpolation (2D)
This subroutine interpolate the values of the array f1, defined on the grid points (x1,y1), at the point (x2,y2). The value are saved in f2
x1 | original grid (input) |
y1 | original grid (input) |
f1 | original values (input) |
x2 | new point (output) |
y2 | new point (output) |
f2 | interpolated value (output) |
Definition at line 598 of file geometry_2d.f90.
subroutine geometry_2d::limit | ( | real(wp), dimension(3), intent(in) | v, |
real(wp), dimension(3), intent(in) | z, | ||
integer, intent(in) | limiter, | ||
real(wp), intent(out) | slope_lim | ||
) |
Slope limiter.
This subroutine limits the slope of the linear reconstruction of the physical variables, accordingly to the parameter "solve_limiter":
[in] | v | 3-point stencil value array |
[in] | z | 3-point stencil location array |
[in] | limiter | integer defining the limiter choice |
[out] | slope_lim | limited slope |
Definition at line 756 of file geometry_2d.f90.
real(wp) function geometry_2d::maxmod | ( | real(wp) | a, |
real(wp) | b | ||
) |
real(wp) function geometry_2d::minmod | ( | real(wp) | a, |
real(wp) | b | ||
) |
subroutine geometry_2d::regrid_scalar | ( | real(wp), dimension(:), intent(in) | xin, |
real(wp), dimension(:), intent(in) | yin, | ||
real(wp), dimension(:,:), intent(in) | fin, | ||
real(wp), intent(in) | xl, | ||
real(wp), intent(in) | xr, | ||
real(wp), intent(in) | yl, | ||
real(wp), intent(in) | yr, | ||
real(wp), intent(out) | fout | ||
) |
Scalar regrid (2D)
This subroutine interpolate the values of the array f1, defined on the grid points (x1,y1), at the point (x2,y2). The value are saved in f2. In this case x1 and y1 are 1d arrays.
x1 | original grid (input) |
y1 | original grid (input) |
f1 | original values (input) |
xl | new point (input) |
xr | new point (input) |
yl | new point (input) |
yr | new point (input) |
f2 | interpolated value (output) |
Definition at line 692 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::cell_fract |
Definition at line 74 of file geometry_2d.f90.
real(wp) geometry_2d::cell_size |
Definition at line 68 of file geometry_2d.f90.
integer geometry_2d::comp_cells_x |
Number of control volumes x in the comp. domain.
Definition at line 64 of file geometry_2d.f90.
integer geometry_2d::comp_cells_xy |
Definition at line 69 of file geometry_2d.f90.
integer geometry_2d::comp_cells_y |
Number of control volumes y in the comp. domain.
Definition at line 66 of file geometry_2d.f90.
integer geometry_2d::comp_interfaces_x |
Number of interfaces (comp_cells_x+1)
Definition at line 65 of file geometry_2d.f90.
integer geometry_2d::comp_interfaces_y |
Number of interfaces (comp_cells_y+1)
Definition at line 67 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::crosswind_dist |
Definition at line 79 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::dist_sourcee |
Definition at line 35 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::dist_sourcen |
Definition at line 38 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::dist_sources |
Definition at line 37 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::dist_sourcew |
Definition at line 36 of file geometry_2d.f90.
real(wp) geometry_2d::dx |
Control volumes size.
Definition at line 56 of file geometry_2d.f90.
real(wp) geometry_2d::dx2 |
Half x Control volumes size.
Definition at line 62 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::dx_rel |
Definition at line 75 of file geometry_2d.f90.
real(wp) geometry_2d::dy |
Control volumes size.
Definition at line 59 of file geometry_2d.f90.
real(wp) geometry_2d::dy2 |
Half y Control volumes size.
Definition at line 63 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::dy_rel |
Definition at line 76 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::grid_output |
Solution in ascii grid format (ESRI)
Definition at line 27 of file geometry_2d.f90.
integer geometry_2d::j_source |
Definition at line 71 of file geometry_2d.f90.
integer geometry_2d::j_source_w |
Definition at line 72 of file geometry_2d.f90.
integer geometry_2d::k_source |
Definition at line 71 of file geometry_2d.f90.
integer geometry_2d::k_source_s |
Definition at line 72 of file geometry_2d.f90.
integer geometry_2d::n_topography_profile_x |
Definition at line 54 of file geometry_2d.f90.
integer geometry_2d::n_topography_profile_y |
Definition at line 54 of file geometry_2d.f90.
real(wp) geometry_2d::pi_g |
Definition at line 52 of file geometry_2d.f90.
integer, dimension(:,:), allocatable geometry_2d::source_cell |
Definition at line 29 of file geometry_2d.f90.
logical, dimension(:,:), allocatable geometry_2d::sourcee |
Definition at line 30 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::sourcee_vect_x |
Definition at line 40 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::sourcee_vect_y |
Definition at line 41 of file geometry_2d.f90.
logical, dimension(:,:), allocatable geometry_2d::sourcen |
Definition at line 33 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::sourcen_vect_x |
Definition at line 49 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::sourcen_vect_y |
Definition at line 50 of file geometry_2d.f90.
logical, dimension(:,:), allocatable geometry_2d::sources |
Definition at line 32 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::sources_vect_x |
Definition at line 46 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::sources_vect_y |
Definition at line 47 of file geometry_2d.f90.
logical, dimension(:,:), allocatable geometry_2d::sourcew |
Definition at line 31 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::sourcew_vect_x |
Definition at line 43 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::sourcew_vect_y |
Definition at line 44 of file geometry_2d.f90.
real(wp), dimension(:,:), allocatable geometry_2d::upwind_dist |
Definition at line 78 of file geometry_2d.f90.
real(wp) geometry_2d::x0 |
Left of the physical domain.
Definition at line 57 of file geometry_2d.f90.
real(wp), dimension(:), allocatable geometry_2d::x_comp |
Location of the centers (x) of the control volume of the domain.
Definition at line 15 of file geometry_2d.f90.
real(wp), dimension(:), allocatable geometry_2d::x_stag |
Location of the boundaries (x) of the control volumes of the domain.
Definition at line 18 of file geometry_2d.f90.
real(wp) geometry_2d::xn |
Right of the physical domain.
Definition at line 58 of file geometry_2d.f90.
real(wp) geometry_2d::y0 |
Bottom of the physical domain.
Definition at line 60 of file geometry_2d.f90.
real(wp), dimension(:), allocatable geometry_2d::y_comp |
Location of the centers (y) of the control volume of the domain.
Definition at line 21 of file geometry_2d.f90.
real(wp), dimension(:), allocatable geometry_2d::y_stag |
Location of the boundaries (x) of the control volumes of the domain.
Definition at line 24 of file geometry_2d.f90.
real(wp) geometry_2d::yn |
Top of the physical domain.
Definition at line 61 of file geometry_2d.f90.