class_scalar_source Module

Define, set, and get scalar-valued source term coefficients for partial differential equations


Uses

  • module~~class_scalar_source~~UsesGraph module~class_scalar_source class_scalar_source module~class_dimensions class_dimensions module~class_scalar_source->module~class_dimensions module~class_psblas class_psblas module~class_scalar_source->module~class_psblas module~class_dimensions->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

Used by

  • module~~class_scalar_source~~UsedByGraph module~class_scalar_source class_scalar_source module~tools_nemo tools_nemo module~tools_nemo->module~class_scalar_source module~scalar_pde_source_implementation scalar_pde_source_implementation module~scalar_pde_source_implementation->module~class_scalar_source module~class_scalar_source_procedures class_scalar_source_procedures module~class_scalar_source_procedures->module~class_scalar_source

Contents


Interfaces

interface

  • private module subroutine create_scalar_source(src, input_file, sec, dim)

    Define scalar source term

    Arguments

    Type IntentOptional AttributesName
    class(scalar_source), intent(inout) :: src
    character(len=*), intent(in) :: input_file
    character(len=*), intent(in) :: sec
    type(dimensions), intent(in) :: dim

interface

  • private module function get_scalar_source_dim(src)

    result specifieds source dimensions

    Arguments

    Type IntentOptional AttributesName
    class(scalar_source), intent(in) :: src

    Return Value type(dimensions)

interface

  • private module function get_scalar_source_sc(src)

    result is the source offset (constant term)

    Arguments

    Type IntentOptional AttributesName
    class(scalar_source), intent(in) :: src

    Return Value real(kind=psb_dpk_)

interface

  • private module function get_scalar_source_sp(src)

    result is the source scaling coefficient

    Arguments

    Type IntentOptional AttributesName
    class(scalar_source), intent(in) :: src

    Return Value real(kind=psb_dpk_)

interface

  • private module function nemo_scalar_source_sizeof(src)

    Arguments

    Type IntentOptional AttributesName
    class(scalar_source), intent(in) :: src

    Return Value integer(kind=nemo_int_long_)


Derived Types

type, public :: scalar_source

Coefficients/dimensions for a PDE source term with linear dependence on a scalar_field (SRC = sc + sp*phi_P)

Components

TypeVisibility AttributesNameInitial
type(dimensions), private :: dim
real(kind=psb_dpk_), private :: sc

source offset (constant term)

real(kind=psb_dpk_), private :: sp

source scaling coefficient (multiplies scalar_field)

Type-Bound Procedures

generic, public :: create_source => create_scalar_source
generic, public :: dim_ => get_scalar_source_dim
generic, public :: nemo_sizeof => nemo_scalar_source_sizeof
generic, public :: sc_ => get_scalar_source_sc
generic, public :: sp_ => get_scalar_source_sp
procedure, private :: create_scalar_source
procedure, private :: get_scalar_source_dim
procedure, private :: get_scalar_source_sc
procedure, private :: get_scalar_source_sp
procedure, private :: nemo_scalar_source_sizeof