version 0.6.0
Loading...
Searching...
No Matches
Boundary conditions mechanisms for cell scalars

Boundary conditions mechanisms for cell scalars. More...

Namespaces

module  mod_explicit_add_cell_bc_nh
 Fill ghost nodes with homogeneous Neumann boundary conditions for cell scalars.
 

Functions

subroutine mod_apply_bc_on_ghost_b_cells::apply_bc_on_ghost_b_cells (array, boundary_condition)
 Apply boundary conditions on extra ghost cells on an array defined on cells.
 
double precision function mod_compute_uncentered_boundary_cell_gradient::compute_uncentered_boundary_cell_gradient (t0, t1, t2, boundary)
 Compute field gradient at a global physical boundary.
 
subroutine mod_copy_data_on_ghost_boundary_cells::copy_data_on_ghost_boundary_cells (array)
 Copy cell array values on ghost nodes behind physical boundaries.
 
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank3_integer (array)
 Copy the values in the ghost cells in the periodic directions when the number of processes in the same direction is equal to one.
 
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank3_double (array)
 Copy the values in the ghost cells in the periodic directions when the number of processes in the same direction is equal to one.
 
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank3_logical (array)
 Copy the values in the ghost cells in the periodic directions when the number of processes in the same direction is equal to one.
 
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank4_integer (array)
 Copy the values in the ghost cells in the periodic directions when the number of processes in the same direction is equal to one.
 
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank4_double (array)
 Copy the values in the ghost cells in the periodic directions when the number of processes in the same direction is equal to one.
 
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank4_logical (array)
 Copy the values in the ghost cells in the periodic directions when the number of processes in the same direction is equal to one.
 

Detailed Description

This directory contains several types of routines:

Function Documentation

◆ apply_bc_on_ghost_b_cells()

subroutine mod_apply_bc_on_ghost_b_cells::apply_bc_on_ghost_b_cells ( double precision, dimension(:,:,:), intent(inout) array,
type(t_boundary_condition), intent(in) boundary_condition )
Parameters
[in,out]arrayan array defined on cells
[in]boundary_conditionbondary_condition

◆ compute_uncentered_boundary_cell_gradient()

double precision function mod_compute_uncentered_boundary_cell_gradient::compute_uncentered_boundary_cell_gradient ( double precision, intent(in) t0,
double precision, intent(in) t1,
double precision, intent(in) t2,
integer, intent(in) boundary )

The field gradient at a global physical boundary is computed using second-order accurate Lagrange polynomials. For instance, the following sampling is used at the left boundary:

 values:   t0  t1      t2
           ├───×───┼───×───┼──
 indices:      is    is+1

or at the right boundary:

 values:                       t2      t1  t0
                         ──┼───×───┼───×───┤
 indices:                    ie-1      ie

Compute uncentered second order cell gradient on a boundary

◆ exchange_periodic_ghost_cells_rank3_double()

pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank3_double ( double precision, dimension(:,:,:), intent(inout) array)

Version for a rank 3 double precision array.

Parameters
[in]arraycell-based array.

◆ exchange_periodic_ghost_cells_rank3_integer()

pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank3_integer ( integer, dimension(:,:,:), intent(inout) array)

Version for a rank 3 integer array.

Parameters
[in]arraycell-based array.

◆ exchange_periodic_ghost_cells_rank3_logical()

pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank3_logical ( logical, dimension(:,:,:), intent(inout) array)

Version for a rank 3 logical array.

Parameters
[in]arraycell-based array.

◆ exchange_periodic_ghost_cells_rank4_double()

pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank4_double ( double precision, dimension(:,:,:,:), intent(inout) array)

Version for a rank 4 double precision array.

Parameters
[in]arraycell-based array.

◆ exchange_periodic_ghost_cells_rank4_integer()

pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank4_integer ( integer, dimension(:,:,:,:), intent(inout) array)

Version for a rank 4 integer array.

Parameters
[in]arraycell-based array.

◆ exchange_periodic_ghost_cells_rank4_logical()

pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank4_logical ( logical, dimension(:,:,:,:), intent(inout) array)

Version for a rank 4 logical array.

Parameters
[in]arraycell-based array.