PeriodicBC_t Derived Type

type, public, extends(GenericBC_t) :: PeriodicBC_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
character(len=LINE_LENGTH), public :: associatedbname

Constructor

public interface PeriodicBC_t

  • private function ConstructPeriodicBC(bname)

    Arguments

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

    Return Value type(PeriodicBC_t)


Type-Bound Procedures

procedure, public :: FlowState => GenericBC_FlowState

  • private subroutine GenericBC_FlowState(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 :: FlowGradVars => GenericBC_FlowGradVars

  • private subroutine GenericBC_FlowGradVars(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 :: FlowNeumann => GenericBC_FlowNeumann

  • private subroutine GenericBC_FlowNeumann(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 :: PhaseFieldState => GenericBC_PhaseFieldState

  • private subroutine GenericBC_PhaseFieldState(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(NCOMP)

procedure, public :: PhaseFieldNeumann => GenericBC_PhaseFieldNeumann

  • private subroutine GenericBC_PhaseFieldNeumann(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(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 => GenericBC_ChemPotState

  • private subroutine GenericBC_ChemPotState(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(NCOMP)

procedure, public :: ChemPotNeumann => GenericBC_ChemPotNeumann

  • private subroutine GenericBC_ChemPotNeumann(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(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 :: 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 => PeriodicBC_Destruct

  • private subroutine PeriodicBC_Destruct(self)

    Arguments

    Type IntentOptional Attributes Name
    class(PeriodicBC_t) :: self

procedure, public :: Describe => PeriodicBC_Describe

  • private subroutine PeriodicBC_Describe(self)

    Arguments

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

procedure, public :: GetPeriodicPair => PeriodicBC_GetPeriodicPair

  • private subroutine PeriodicBC_GetPeriodicPair(self, bname)

    Arguments

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