Namespaces | |
module | type_ls_map |
Type declaration associated to the numerical grid mapping of a cell linear system. | |
Functions | |
subroutine | mod_add_diagonal_cell_matrix::add_diagonal_cell_matrix (matrix, stencil_size, work_array, equation_ls_map) |
Add a term to the diagonal of a matrix for a cell-discretized equation. More... | |
subroutine | mod_add_rhs_cell::add_rhs_cell (rhs, array, equation_ls_map) |
Add a term to the right-hand side for a cell-discretized equation or determine \( \phi^{n+1} \) for a fully explicit cell transport implementation. More... | |
subroutine | mod_finalize_cell_linear_system::finalize_cell_linear_system (matrix, rhs, stencil_size, equation_ls_map) |
Finalize a cell linear system. The routine checks the if a diagonal element of the matrix is null (typically a corner of the domain), set it to 1 and the right-hand side to 0. More... | |
subroutine | mod_initialize_cell_linear_system::initialize_cell_linear_system (matrix, rhs, ls_map) |
Allocate matrix and right-hand-side of a cell linear system. | |
subroutine | mod_time_advance_explicitly::time_advance_explicitly (matrix, rhs, array, equation_ls_map, stencil_size, boundary_condition) |
Determine \( \phi^{n+1} \) for a fully explicit cell transport implementation. More... | |
subroutine mod_add_diagonal_cell_matrix::add_diagonal_cell_matrix | ( | double precision, dimension(:), intent(inout) | matrix, |
integer, intent(in) | stencil_size, | ||
double precision, dimension(nx,ny,nz), intent(in) | work_array, | ||
type(t_ls_map), intent(in) | equation_ls_map | ||
) |
This routine takes cell field elements and adds them to the corresponding diagonal.
subroutine mod_add_rhs_cell::add_rhs_cell | ( | double precision, dimension(:), intent(inout) | rhs, |
double precision, dimension(nx,ny,nz), intent(in) | array, | ||
type(t_ls_map), intent(in) | equation_ls_map | ||
) |
add_rhs_cell
routine takes cell field elements and adds them to the right-hand side of a linear system.time_advance_explicitly
routine solves \(\alpha_{i,j,k} \phi^{n+1} = RHS_{i,j,k} \) and applies the appropriate boundary conditions. subroutine mod_finalize_cell_linear_system::finalize_cell_linear_system | ( | double precision, dimension(:), intent(inout) | matrix, |
double precision, dimension(:), intent(inout) | rhs, | ||
integer, intent(in) | stencil_size, | ||
type(t_ls_map), intent(in) | equation_ls_map | ||
) |
subroutine mod_time_advance_explicitly::time_advance_explicitly | ( | double precision, dimension(:), intent(in) | matrix, |
double precision, dimension(:), intent(in) | rhs, | ||
double precision, dimension(nx,ny,nz), intent(out) | array, | ||
type(t_ls_map), intent(in) | equation_ls_map, | ||
integer, intent(in) | stencil_size, | ||
type(t_boundary_condition), intent(in) | boundary_condition | ||
) |
time_advance_explicitly
routine solves \(\alpha_{i,j,k} \phi^{n+1} = RHS_{i,j,k} \) and applies the appropriate boundary conditions.