PLUME-MoM-TSM  1.0
VolcanicPlumeModel
Functions/Subroutines | Variables
geometry_2d Module Reference

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
 

Detailed Description

Grid module.

This module contains the variables and the subroutines related to the computational grid

Function/Subroutine Documentation

subroutine geometry_2d::compute_cell_fract ( )

Definition at line 866 of file geometry_2d.f90.

Here is the caller graph for this function:

subroutine geometry_2d::deallocate_grid ( )

Definition at line 212 of file geometry_2d.f90.

Here is the caller graph for this function:

subroutine geometry_2d::init_grid ( )

Finite volume grid initialization.

This subroutine initialize the grids for the finite volume solver.

Date
16/08/2011

Definition at line 91 of file geometry_2d.f90.

Here is the caller graph for this function:

subroutine geometry_2d::init_source ( )

Definition at line 253 of file geometry_2d.f90.

Here is the caller graph for this function:

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

Date
13/02/2009
Parameters
x1original grid (input)
f1original values (input)
x2new point (output)
f2interpolated 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

Date
OCTOBER 2016
Parameters
x1original grid (input)
y1original grid (input)
f1original values (input)
x2new point (output)
y2new point (output)
f2interpolated 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.

Date
OCTOBER 2016
Parameters
x1original grid (input)
y1original grid (input)
f1original values (input)
x2new point (output)
y2new point (output)
f2interpolated 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

Date
OCTOBER 2016
Parameters
x1original grid (input)
y1original grid (input)
f1original values (input)
x2new point (output)
y2new point (output)
f2interpolated 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":

  • 'none' => no limiter (constant value);
  • 'minmod' => minmod slope;
  • 'superbee' => superbee limiter (Roe, 1985);
  • 'van_leer' => monotonized central-difference limiter (van Leer, 1977)
Parameters
[in]v3-point stencil value array
[in]z3-point stencil location array
[in]limiterinteger defining the limiter choice
[out]slope_limlimited slope
Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Definition at line 756 of file geometry_2d.f90.

Here is the call graph for this function:

real(wp) function geometry_2d::maxmod ( real(wp)  a,
real(wp)  b 
)

Definition at line 845 of file geometry_2d.f90.

Here is the caller graph for this function:

real(wp) function geometry_2d::minmod ( real(wp)  a,
real(wp)  b 
)

Definition at line 824 of file geometry_2d.f90.

Here is the caller graph for this function:

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.

Date
OCTOBER 2016
Parameters
x1original grid (input)
y1original grid (input)
f1original values (input)
xlnew point (input)
xrnew point (input)
ylnew point (input)
yrnew point (input)
f2interpolated value (output)

Definition at line 692 of file geometry_2d.f90.

Here is the caller graph for this function:

Variable Documentation

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.