class_bc_math_procedures Submodule


Uses

  • module~~class_bc_math_procedures~~UsesGraph module~class_bc_math_procedures class_bc_math_procedures module~class_face class_face module~class_bc_math_procedures->module~class_face module~class_bc_math class_bc_math module~class_bc_math_procedures->module~class_bc_math module~class_psblas class_psblas module~class_face->module~class_psblas module~class_bc_math->module~class_psblas module~class_stopwatch class_stopwatch module~class_psblas->module~class_stopwatch module~tools_psblas tools_psblas module~class_psblas->module~tools_psblas module~class_stopwatch->module~tools_psblas psb_base_mod psb_base_mod module~class_stopwatch->psb_base_mod psb_prec_mod psb_prec_mod module~tools_psblas->psb_prec_mod module~tools_psblas->psb_base_mod psb_krylov_mod psb_krylov_mod module~tools_psblas->psb_krylov_mod

Contents


Module Procedures

module procedure alloc_bc_math module subroutine alloc_bc_math(bc, id, nbf, a, b, c)

Arguments

Type IntentOptional AttributesName
class(bc_math), intent(inout) :: bc
integer, intent(in) :: id
integer, intent(in) :: nbf
real(kind=psb_dpk_), intent(in) :: a(:)
real(kind=psb_dpk_), intent(in) :: b(:)
real(kind=psb_dpk_), intent(in) :: c(:)

module procedure apply_abc_to_boundary_s module procedure apply_abc_to_boundary_s()

WARNING! - Use intent(inout) for BX(:) - Do loop on the faces subset corresponding to IB bc. - Only this section of BX(:) is going to be modified. - BX(:) indexing starts from 1: when BX(:) is referenced an offset equal to the # of boundary faces with flag > 0 and < IB must be added to the I counter.

Arguments

None

module procedure apply_abc_to_boundary_v module procedure apply_abc_to_boundary_v()

WARNING! - Use intent(inout) for BX(:) - Do loop on the faces subset corresponding to IB bc. - Only this section of BX(:) is going to be modified. - BX(:) idexing starts from 1: when BX(:) is referenced an offset equal to the # of boundary faces with flag > 0 and < IB must be added to the I counter.

Read more…

Arguments

None

module procedure create_bc_math module subroutine create_bc_math(bc, input_file, sec, nbf)

Arguments

Type IntentOptional AttributesName
type(bc_math), pointer:: bc
character(len=*), intent(in) :: input_file
character(len=*), intent(in) :: sec
integer, intent(in) :: nbf

module procedure dealloc_bc_math module subroutine dealloc_bc_math(bc)

To be invoked when BC_MATH is a member of another BC class.

Arguments

Type IntentOptional AttributesName
class(bc_math) :: bc

module procedure debug_bc_math module subroutine debug_bc_math(bc)

Arguments

Type IntentOptional AttributesName
class(bc_math), intent(in) :: bc

module procedure free_bc_math module subroutine free_bc_math(bc)

To be invoked when BC_MATH is used as high-level BC.

Arguments

Type IntentOptional AttributesName
type(bc_math), pointer:: bc

module procedure get_abc_math_s module procedure get_abc_math_s()

Arguments

None

module procedure get_abc_math_v module procedure get_abc_math_v()

WARNING! Use intent(inout) for A, B and C. REMARK: BC(:) elements are supposed to differ only in "C" term

Arguments

None

module procedure is_allocated elemental module function is_allocated(bc)

Arguments

Type IntentOptional AttributesName
class(bc_math), intent(in) :: bc

Return Value logical

module procedure nemo_bc_math_sizeof elemental module function nemo_bc_math_sizeof(bc)

Arguments

Type IntentOptional AttributesName
class(bc_math), intent(in) :: bc

Return Value integer(kind=nemo_int_long_)

module procedure set_bc_math_map module subroutine set_bc_math_map(bc, i, a, b, c)

Arguments

Type IntentOptional AttributesName
class(bc_math), intent(inout) :: bc
integer, intent(in) :: i
real(kind=psb_dpk_), intent(in) :: a
real(kind=psb_dpk_), intent(in) :: b
real(kind=psb_dpk_), intent(in) :: c

module procedure update_boundary_math module subroutine update_boundary_math(ib, bc, msh, x, bx)

WARNING! Use intent(inout) for BX(:)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: ib
type(bc_math), intent(in) :: bc
type(mesh), intent(in) :: msh
real(kind=psb_dpk_), intent(in) :: x(:)
real(kind=psb_dpk_), intent(inout) :: bx(:)