UserDefinedBC_t Derived Type

type, public, extends(GenericBC_t) :: UserDefinedBC_t


Components

Type Visibility Attributes Name Initial
logical, public :: constructed = .false.
character(len=LINE_LENGTH), public :: bname
character(len=LINE_LENGTH), public :: BCType
integer, public :: currentEqn = 1
integer, public :: udf_no

Constructor

public interface UserDefinedBC_t

  • private function ConstructUserDefinedBC(bname)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: bname

    Return Value type(UserDefinedBC_t)


Type-Bound Procedures

procedure, public :: Describe => GenericBC_Describe

  • private subroutine GenericBC_Describe(self)

    Arguments

    Type IntentOptional Attributes Name
    class(GenericBC_t), intent(in) :: self

procedure, public :: GetPeriodicPair => GenericBC_GetPeriodicPair

  • private subroutine GenericBC_GetPeriodicPair(self, bname)

    Arguments

    Type IntentOptional Attributes Name
    class(GenericBC_t), intent(in) :: self
    character(len=*), intent(out) :: bname

procedure, public :: SlrState => GenericBC_SlrState

  • private subroutine GenericBC_SlrState(self, x, t, nHat, Q)

    Arguments

    Type IntentOptional Attributes Name
    class(GenericBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(inout) :: Q(NCONS)

procedure, public :: SlrGradVars => GenericBC_SlrGradVars

  • private subroutine GenericBC_SlrGradVars(self, x, t, nHat, Q, U, GetGradients)

    Arguments

    Type IntentOptional Attributes Name
    class(GenericBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(in) :: Q(NCONS)
    real(kind=RP), intent(inout) :: U(NGRAD)
    procedure(GetGradientValues_f) :: GetGradients

procedure, public :: SlrNeumann => GenericBC_SlrNeumann

  • private subroutine GenericBC_SlrNeumann(self, x, t, nHat, Q, U_x, U_y, U_z, flux)

    Arguments

    Type IntentOptional Attributes Name
    class(GenericBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(in) :: Q(NCONS)
    real(kind=RP), intent(in) :: U_x(NGRAD)
    real(kind=RP), intent(in) :: U_y(NGRAD)
    real(kind=RP), intent(in) :: U_z(NGRAD)
    real(kind=RP), intent(inout) :: flux(NCONS)

procedure, public :: StateForEqn

  • private subroutine StateForEqn(self, nEqn, x, t, nHat, Q)

    Arguments

    Type IntentOptional Attributes Name
    class(GenericBC_t), intent(in) :: self
    integer, intent(in) :: nEqn
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(inout) :: Q(nEqn)

procedure, public :: GradVarsForEqn

  • private subroutine GradVarsForEqn(self, nEqn, nGradEqn, x, t, nHat, Q, U, GetGradients)

    Arguments

    Type IntentOptional Attributes Name
    class(GenericBC_t), intent(in) :: self
    integer, intent(in) :: nEqn
    integer, intent(in) :: nGradEqn
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(in) :: Q(nEqn)
    real(kind=RP), intent(inout) :: U(nGradEqn)
    procedure(GetGradientValues_f) :: GetGradients

procedure, public :: NeumannForEqn

  • private subroutine NeumannForEqn(self, nEqn, nGradEqn, x, t, nHat, Q, U_x, U_y, U_z, flux)

    Arguments

    Type IntentOptional Attributes Name
    class(GenericBC_t), intent(in) :: self
    integer, intent(in) :: nEqn
    integer, intent(in) :: nGradEqn
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(in) :: Q(nEqn)
    real(kind=RP), intent(in) :: U_x(nGradEqn)
    real(kind=RP), intent(in) :: U_y(nGradEqn)
    real(kind=RP), intent(in) :: U_z(nGradEqn)
    real(kind=RP), intent(inout) :: flux(nEqn)

procedure, public :: Destruct => UserDefinedBC_Destruct

  • private subroutine UserDefinedBC_Destruct(self)

    Arguments

    Type IntentOptional Attributes Name
    class(UserDefinedBC_t) :: self

procedure, public :: FlowState => UserDefinedBC_FlowState

  • private subroutine UserDefinedBC_FlowState(self, x, t, nHat, Q)

    Arguments

    Type IntentOptional Attributes Name
    class(UserDefinedBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(inout) :: Q(NCONS)

procedure, public :: FlowGradVars => UserDefinedBC_FlowGradVars

  • private subroutine UserDefinedBC_FlowGradVars(self, x, t, nHat, Q, U, GetGradients)

    Arguments

    Type IntentOptional Attributes Name
    class(UserDefinedBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(in) :: Q(NCONS)
    real(kind=RP), intent(inout) :: U(NGRAD)
    procedure(GetGradientValues_f) :: GetGradients

procedure, public :: FlowNeumann => UserDefinedBC_FlowNeumann

  • private subroutine UserDefinedBC_FlowNeumann(self, x, t, nHat, Q, U_x, U_y, U_z, flux)

    Arguments

    Type IntentOptional Attributes Name
    class(UserDefinedBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(in) :: Q(NCONS)
    real(kind=RP), intent(in) :: U_x(NGRAD)
    real(kind=RP), intent(in) :: U_y(NGRAD)
    real(kind=RP), intent(in) :: U_z(NGRAD)
    real(kind=RP), intent(inout) :: flux(NCONS)

procedure, public :: PhaseFieldState => UserDefinedBC_PhaseFieldState

  • private subroutine UserDefinedBC_PhaseFieldState(self, x, t, nHat, Q)

    Arguments

    Type IntentOptional Attributes Name
    class(UserDefinedBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(inout) :: Q(NCOMP)

procedure, public :: PhaseFieldNeumann => UserDefinedBC_PhaseFieldNeumann

  • private subroutine UserDefinedBC_PhaseFieldNeumann(self, x, t, nHat, Q, U_x, U_y, U_z, flux)

    Arguments

    Type IntentOptional Attributes Name
    class(UserDefinedBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(in) :: Q(NCOMP)
    real(kind=RP), intent(in) :: U_x(NCOMP)
    real(kind=RP), intent(in) :: U_y(NCOMP)
    real(kind=RP), intent(in) :: U_z(NCOMP)
    real(kind=RP), intent(inout) :: flux(NCOMP)

procedure, public :: ChemPotState => UserDefinedBC_ChemPotState

  • private subroutine UserDefinedBC_ChemPotState(self, x, t, nHat, Q)

    Arguments

    Type IntentOptional Attributes Name
    class(UserDefinedBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(inout) :: Q(NCOMP)

procedure, public :: ChemPotNeumann => UserDefinedBC_ChemPotNeumann

  • private subroutine UserDefinedBC_ChemPotNeumann(self, x, t, nHat, Q, U_x, U_y, U_z, flux)

    Arguments

    Type IntentOptional Attributes Name
    class(UserDefinedBC_t), intent(in) :: self
    real(kind=RP), intent(in) :: x(NDIM)
    real(kind=RP), intent(in) :: t
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(in) :: Q(NCOMP)
    real(kind=RP), intent(in) :: U_x(NCOMP)
    real(kind=RP), intent(in) :: U_y(NCOMP)
    real(kind=RP), intent(in) :: U_z(NCOMP)
    real(kind=RP), intent(inout) :: flux(NCOMP)