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_rec (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:
apply_bc_on_ghost_b_cells);
|
private |
Apply boundary conditions on extra ghost cells on an array defined on cells.
| [in,out] | array | an array defined on cells |
| [in] | boundary_condition | boundary_condition |
Following implicit discretization's Implicit boundary condition treatment, this routine follows the same logic as mod_add_cell_bc_noghost::add_cell_bc_noghost to compute the weights in order to apply boundary conditions on ghost cells. Then, it simply evaluates the polynomial at ghost cell locations to set their values.
Given the weights table \( \omega_{g_i} \), the value is computed as:
\[ \overline{S}_{g_i} = \sum_{k=0}^{p-1} \omega_k^{(i)} \,\overline{S}_{i_k} + \omega_g^{(i)} \, g. \]
| 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
| subroutine mod_copy_data_on_ghost_boundary_cells::copy_data_on_ghost_boundary_cells | ( | double precision, dimension(nx,ny,nz), intent(inout) | array | ) |
Copy cell array values on ghost nodes behind physical boundaries.
| 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. |