Namespaces | |
module | type_face_ls_map |
Type decalaration associated to the mapping of a face vector linear system on the numerical grid. | |
Functions | |
subroutine | mod_add_diagonal_face_matrix::add_diagonal_face_matrix (matrix, navier_stencil_size, work_array, navier_ls_map) |
Add a term to the diagonal of a matrix for an equation defined on faces. | |
subroutine | mod_add_rhs_face::add_rhs_face (rhs, work_array, navier_ls_map) |
Add arrays to Right-Hand-Side corresponding to an equation discretized on faces. More... | |
subroutine | mod_finalize_face_linear_system::finalize_face_linear_system (matrix, rhs, stencil_size, equation_face_ls_map) |
Detect unset rows and set them ready to pass ls solvers. More... | |
pure subroutine | mod_initialize_face_linear_system::initialize_face_linear_system (matrix, rhs, ls_map) |
Allocate matrix and right-hand side of a face linear system. | |
subroutine | mod_time_advance_explicitly_face::time_advance_explicitly_face (matrix, rhs, work_array) |
Determine \( \mathbf{u}^{n+1} \) for an equation discretized on faces and with a fully explicit implementation. More... | |
subroutine mod_add_rhs_face::add_rhs_face | ( | double precision, dimension(:), intent(inout) | rhs, |
type(t_face_field), intent(in) | work_array, | ||
type(t_face_ls_map), intent(in) | navier_ls_map | ||
) |
!!
add_rhs_face
routine takes cell field elements and adds them to the right-hand side of a linear system. subroutine mod_finalize_face_linear_system::finalize_face_linear_system | ( | double precision, dimension(:), intent(inout) | matrix, |
double precision, dimension(:), intent(inout) | rhs, | ||
integer, intent(in) | stencil_size, | ||
type(t_face_ls_map), intent(in) | equation_face_ls_map | ||
) |
Unset rows are detected by checking diagonal element values of that equals to 0d0. Then set the row to identity and the right-hand side to 0.
subroutine mod_time_advance_explicitly_face::time_advance_explicitly_face | ( | double precision, dimension(:), intent(in) | matrix, |
double precision, dimension(:), intent(in) | rhs, | ||
type(t_face_field), intent(inout) | work_array | ||
) |
!!
time_advance_explicitly_face
routine solves \( \alpha_{i,j,k} \u^{n+1} = RHS_{i,j,k} \) and applies the appropriate boundary conditions.