|
| subroutine | type_scalar_field_bc_initializer::set_bc_u (scalar_initializer, i, b, bctype, last_coef) |
| |
| subroutine | type_scalar_field_bc_initializer::set_bc_v (scalar_initializer, j, b, bctype, last_coef) |
| |
| subroutine | type_scalar_field_bc_initializer::set_bc_w (scalar_initializer, k, b, bctype, last_coef) |
| |
| subroutine | type_scalar_field_bc_initializer::initialize_scalar (scalar_initializer, region, boundary_condition, bctype, last_coef) |
| |
| subroutine | type_scalar_field_bc_initializer::set_bc_u_shape (shape_initializer, i, b, bctype, last_coef) |
| |
| subroutine | type_scalar_field_bc_initializer::set_bc_v_shape (shape_initializer, j, b, bctype, last_coef) |
| |
| subroutine | type_scalar_field_bc_initializer::set_bc_w_shape (shape_initializer, k, b, bctype, last_coef) |
| |
| subroutine | type_scalar_field_bc_initializer::initialize_shape (shape_initializer, region, boundary_condition, bctype, last_coef) |
| |
| subroutine | type_scalar_field_bc_initializer::initialize_vector (vector_initializer, region, boundary_condition, bctype) |
| |
| subroutine | set_bc_vector (point_index, side_coord, coords_j, coords_k, dj, dk, type, sampling, side) |
| | Set the side with adequate vector (Robin) boundary condition.
|
| |
| subroutine | type_scalar_field_bc_initializer::set_bc_uniform (bctype, region, boundary_condition, coef) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::initialize_dirichlet_bc (bc_initializer, boundary_condition) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::initialize_neumann_bc (bc_initializer, boundary_condition) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::initialize_flux_bc (bc_initializer, boundary_condition) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::initialize_robin_bc (bc_initializer, boundary_condition) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::initialize_wall_bc (bc_initializer, boundary_condition) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::finalize_bc_dirichlet (bc_initializer) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::finalize_bc_neumann (bc_initializer) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::finalize_bc_flux (bc_initializer) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::finalize_bc_robin (bc_initializer) |
| |
| recursive subroutine | type_scalar_field_bc_initializer::finalize_bc_wall (bc_initializer) |
| |
| subroutine initialize_vector::set_bc_vector |
( |
integer, dimension(3), intent(in) | point_index, |
|
|
double precision, intent(in) | side_coord, |
|
|
double precision, dimension(:), intent(in) | coords_j, |
|
|
double precision, dimension(:), intent(in) | coords_k, |
|
|
double precision, dimension(:), intent(in) | dj, |
|
|
double precision, dimension(:), intent(in) | dk, |
|
|
integer, intent(in) | type, |
|
|
integer, intent(in) | sampling, |
|
|
class(t_boundary_condition_side), intent(inout) | side ) |
Set the side with adequate vector (Robin) boundary condition.
This function is a generic function based on the algorithm for a left side (regarding its arguments' names). It ressembles to set_bc_u and others, but in a more compact form It is based on variations of the variable point_index that is used as a trick to generate the boundary cells' barycenter. point_index(1) stands for the side axis (1, 2 or 3). point_index(2) stands for the first axis (1, 2 or 3), i.e. the first index of sidecoef. point_index(3) stands for the second axis (1, 2 or 3), i.e. the second index of sidecoef. Regarding barycenter position:
- if the side is left, the fixed point position is
point(1) = coord_x_u(isu)
- if the side is right, the fixed point position is
point(1) = coord_x_u(ieu)
- if the side is bottom, the fixed point position is
point(2) = coord_y_v(jsv)
- if the side is top, the fixed point position is
point(2) = coord_y_v(jev)
- if the side is back, the fixed point position is
point(3) = coord_z_w(ksw)
- if the side is front, the fixed point position is
point(3) = coord_z_w(kew)
point(point_index(2)) = coords_j(jj) is the position of the jj cell of the first axis
point(point_index(3)) = coords_k(kk) is the position of the kk cell of the second axis
- Parameters
-
| [in] | point_index | the indices of the axis: (1): side, (2) first axis, (3) second axis |
| [in] | side_coord | the coordinate of the size (e.g. coord_x_u(isu) for left) |
| [in] | coords_j | the cell coordinates of the first axis |
| [in] | coords_k | the cell coordinates of the second axis |
| [in] | dj | the cell sizes along the first axis (may be dx, dy or dz) |
| [in] | dk | the cell sizes along the second axis (may be dx, dy or dz) |
| [in] | type | the given boundary type |
| [in] | sampling | the sampling level (1=2nd order, 2=4th order) |
| [in,out] | side | the resulting filled boundary condition side |