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. | |
Boundary conditions mechanisms for cell scalars.
This directory contains several types of routines:
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 ) |
Apply boundary conditions on extra ghost cells on an array defined on cells.
[in,out] | array | an array defined on cells |
[in] | boundary_condition | bondary_condition |
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 ) |
Compute field gradient at a global physical 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
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank3_double | ( | double precision, dimension(:,:,:), intent(inout) | 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.
Version for a rank 3 double precision array.
[in] | array | cell-based array. |
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank3_integer | ( | integer, dimension(:,:,:), intent(inout) | 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.
Version for a rank 3 integer array.
[in] | array | cell-based array. |
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank3_logical | ( | logical, dimension(:,:,:), intent(inout) | 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.
Version for a rank 3 logical array.
[in] | array | cell-based array. |
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank4_double | ( | double precision, dimension(:,:,:,:), intent(inout) | 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.
Version for a rank 4 double precision array.
[in] | array | cell-based array. |
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank4_integer | ( | integer, dimension(:,:,:,:), intent(inout) | 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.
Version for a rank 4 integer array.
[in] | array | cell-based array. |
pure subroutine mod_exchange_periodic_ghost_cells::exchange_periodic_ghost_cells_rank4_logical | ( | logical, dimension(:,:,:,:), intent(inout) | 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.
Version for a rank 4 logical array.
[in] | array | cell-based array. |