smod_essential_boundaries Submodule



Variables

Type Visibility Attributes Name Initial
character(len=3), private, allocatable :: cubic_vars_to_zero_out(:)

Functions

function get_diagonal_factor(matrix) result(diagonal_factor)

Returns the value that is introduced on the main block diagonal after zeroing out the corresponding row and column. Depends on the matrix that is used.

Arguments

Type IntentOptional Attributes Name
type(matrix_t), intent(in) :: matrix

Return Value complex(kind=dp)


Subroutines

subroutine zero_out_row_and_col(matrix, idxs, limits)

Zeroes out the row and column corresponding to the given indices. Afterwards diagonal_factor is introduced in that row/column on the main diagonal.

Arguments

Type IntentOptional Attributes Name
type(matrix_t), intent(inout) :: matrix

the matrix under consideration

integer, intent(in) :: idxs(:)

indices of the row and column to zero out

integer, intent(in) :: limits(2)

(start, end) limits of quadblock corresponding to (start, start):(end, end)


Module Procedures

module procedure /home/runner/work/legolas/legolas/docs/ford/module/smod_essential_boundaries.html apply_essential_boundaries_left module subroutine apply_essential_boundaries_left(matrix, settings)

Arguments

Type IntentOptional Attributes Name
type(matrix_t), intent(inout) :: matrix
type(settings_t), intent(in) :: settings

module procedure /home/runner/work/legolas/legolas/docs/ford/module/smod_essential_boundaries.html apply_essential_boundaries_right module subroutine apply_essential_boundaries_right(matrix, settings)

Arguments

Type IntentOptional Attributes Name
type(matrix_t), intent(inout) :: matrix
type(settings_t), intent(in) :: settings