DiffusionEq_ Derived Type

type, public :: DiffusionEq_


Contents


Components

TypeVisibility AttributesNameInitial
type(FEMDomain_), public, pointer:: FEMDomain
real(kind=real64), public, allocatable:: UnknownValue(:,:)
real(kind=real64), public, allocatable:: UnknownVec(:)
real(kind=real64), public, allocatable:: UnknownValueInit(:,:)
real(kind=real64), public, allocatable:: UnknownValueRate(:,:)
real(kind=real64), public, allocatable:: DiffusionMat(:,:,:)
real(kind=real64), public, allocatable:: Divergence(:,:)
real(kind=real64), public, allocatable:: Flowvector(:,:)
real(kind=real64), public, allocatable:: FluxVector3D(:,:)
real(kind=real64), public, allocatable:: Permiability(:)
real(kind=real64), public :: dt
integer(kind=int32), public :: step
logical, public :: explicit =.false.

Type-Bound Procedures

procedure, public :: Setup => SetupDiffusionEq

  • public subroutine SetupDiffusionEq(obj, explicit)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj
    logical, intent(in), optional :: explicit

procedure, public :: Solve => SolveDiffusionEq

  • public subroutine SolveDiffusionEq(obj, Solvertype, restart)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj
    character(len=*), intent(in), optional :: Solvertype
    logical, intent(in), optional :: restart

procedure, public :: Update => UpdateDiffusionEq

  • public subroutine UpdateDiffusionEq(obj, explicit)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj
    logical, intent(in), optional :: explicit

procedure, public :: GetMat => GetDiffusionMat

procedure, public :: GetRHS => GetFlowvector

  • public subroutine GetFlowvector(obj)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj

procedure, public :: GetInitVal => GetUnknownValue

procedure, public :: Display => DisplayDiffusionEq

  • public subroutine DisplayDiffusionEq(obj, OptionalProjectName, DisplayMode, OptionalStep, Name)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj
    character(len=*), intent(in), optional :: OptionalProjectName
    character(len=*), intent(in), optional :: DisplayMode
    integer(kind=int32), intent(in), optional :: OptionalStep
    character(len=*), intent(in), optional :: Name

procedure, public :: import => importDiffusionEq

  • public subroutine importDiffusionEq(obj, Permiability)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: Permiability(:)

procedure, public :: export => exportDiffusionEq

  • public subroutine exportDiffusionEq(obj, path, restart)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj
    character(len=*), intent(in), optional :: path
    logical, intent(in), optional :: restart

procedure, public :: deploy => deployDiffusionEq

  • public subroutine deployDiffusionEq(obj, FEMDomain)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj
    type(FEMDomain_), intent(in), target:: FEMDomain

procedure, public :: save => saveDiffusionEq

  • public subroutine saveDiffusionEq(obj, path, name)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj
    character(len=*), intent(in) :: path
    character(len=*), intent(in), optional :: name

procedure, public :: open => openDiffusionEq

  • public subroutine openDiffusionEq(obj, path, name)

    Arguments

    Type IntentOptional AttributesName
    class(DiffusionEq_), intent(inout) :: obj
    character(len=*), intent(in) :: path
    character(len=*), intent(in), optional :: name

procedure, public :: remove => removeDiffusionEq

procedure, public :: updateByRK4 => updateByRK4DiffusionEq