0.6.0
Loading...
Searching...
No Matches
Grid tools

to be described More...

Namespaces

module  mod_generic_node_type
 Any node type variables.
 
module  mod_grid_physical_points
 Functions to manage physical points in/out the mesh.
 

Functions

subroutine, public mod_compute_grid_volume::compute_grid_volume_cell (grid_volume_cell, has_immersed_boundaries, n_isd, isd_target, is_cell_penalized)
 Compute the volume of each cell of the cell-centered grid.
 
subroutine, public mod_compute_grid_volume::compute_grid_volume_face (grid_volume_face, has_immersed_boundaries, n_isd, isd_target, is_cell_penalized)
 Compute the volume of each cell of the face-centered grid.
 
subroutine, public mod_grid_get_grid_volume::get_grid_volume (volumes)
 Compute the volume of each cell of a grid.
 

Detailed Description

to be described

Function Documentation

◆ compute_grid_volume_cell()

subroutine, public mod_compute_grid_volume::compute_grid_volume_cell ( double precision, dimension(:,:,:), intent(out), allocatable grid_volume_cell,
logical, intent(in) has_immersed_boundaries,
integer, intent(in) n_isd,
integer, dimension(:), intent(in), optional, allocatable isd_target,
logical, dimension(:,:,:), intent(in), optional, allocatable is_cell_penalized )

Compute the volume of each cell of the cell-centered grid.

Parameters
[out]grid_volume_cellvolume of the cell-centered grid
[in]has_immersed_boundariesflag for presence of immersed boundaries
[in]n_isdnumber of immersed boundaries (immersed subdomains)
[in]isd_targetlist of enabled immersed boundaries
[in]is_cell_penalizedarray of penalized cells

◆ compute_grid_volume_face()

subroutine, public mod_compute_grid_volume::compute_grid_volume_face ( type(t_face_field), intent(out) grid_volume_face,
logical, intent(in) has_immersed_boundaries,
integer, intent(in) n_isd,
integer, dimension(:), intent(in), allocatable isd_target,
logical, dimension(:,:,:), intent(in), optional, allocatable is_cell_penalized )

Compute the volume of each cell of the face-centered grid.

Parameters
[out]grid_volume_facevolume of the face-centered grid
[in]has_immersed_boundariesflag for presence of immersed boundaries
[in]n_isdnumber of immersed boundaries (immersed subdomains)
[in]isd_targetlist of enabled immersed boundaries
[in]is_cell_penalizedarray of penalized cells

◆ get_grid_volume()

subroutine, public mod_grid_get_grid_volume::get_grid_volume ( double precision, dimension(:,:,:), intent(out) volumes)

Compute the volume of each cell of a grid.

Then using immersed boundaries, the volume is restricted to the inner domain. The outer domain counts as zero.

The argument volumes can be a cell field or the component of a face field. In the latter case, the routine considers "shifted cells," i. e. cells centered on face nodes. Although, on the boundary, the volume outside the physical domain and in overlaping regions is not counted. Therefore, the returned argument volumes can be used as follows:

vol = sum(volumes) !! The inner part of the local domain.
call global_sum(vol) !! The inner part of the global domain.
int = sum(field*volumes) !! The integral of `field` restricted to the
!! inner part of the local domain.
call global_sum(int) !! The integral of `field` restricted to the inner
!! part of the global domain.