version 0.6.0
Grid tools

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 mod_compute_grid_volume::compute_grid_volume_face (grid_volume_face, has_immersed_boundaries, n_isd, isd_target)
 Compute the volume of each cell of the face-centered grid. More...
 
subroutine, public mod_grid_get_grid_volume::get_grid_volume (volumes)
 Compute the volume of each cell of a grid. More...
 
subroutine mod_grid_get_grid_volume::modify_volumes_near_boundary (volumes, distance, boundary_shape, coord_x, coord_y, coord_z, coord_x_u, coord_y_v, coord_z_w, method)
 Compute the volume of each cell of grid. Functional version.
 

Detailed Description

Function Documentation

◆ compute_grid_volume_face()

subroutine 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 
)
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

◆ get_grid_volume()

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

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.