InteriorPenalty_t Derived Type

type, public, extends(EllipticDiscretization_t) :: InteriorPenalty_t


Components

Type Visibility Attributes Name Initial
procedure(PenaltyParameter_f), public, pointer :: PenaltyParameter
integer, public :: IPmethod = SIPG

Type-Bound Procedures

procedure, public :: Construct => IP_Construct

  • private subroutine IP_Construct(self, controlVariables, eqname)

    Arguments

    Type IntentOptional Attributes Name
    class(InteriorPenalty_t) :: self
    class(FTValueDictionary), intent(in) :: controlVariables
    integer, intent(in) :: eqname

procedure, public :: ComputeGradient => IP_ComputeGradient

  • private subroutine IP_ComputeGradient(self, nEqn, nGradEqn, mesh, time, GetGradients, HO_Elements)

    Arguments

    Type IntentOptional Attributes Name
    class(InteriorPenalty_t), intent(in) :: self
    integer, intent(in) :: nEqn
    integer, intent(in) :: nGradEqn
    class(HexMesh) :: mesh
    real(kind=RP), intent(in) :: time
    procedure(GetGradientValues_f) :: GetGradients
    logical, intent(in), optional :: HO_Elements

procedure, public :: ComputeInnerFluxes => IP_ComputeInnerFluxes

  • private subroutine IP_ComputeInnerFluxes(self, nEqn, nGradEqn, EllipticFlux, GetViscosity, e, contravariantFlux)

    Arguments

    Type IntentOptional Attributes Name
    class(InteriorPenalty_t), intent(in) :: self
    integer, intent(in) :: nEqn
    integer, intent(in) :: nGradEqn
    procedure(EllipticFlux_f) :: EllipticFlux
    procedure(GetViscosity_f) :: GetViscosity
    type(Element) :: e
    real(kind=RP), intent(out) :: contravariantFlux(1:nEqn,0:e%Nxyz(1),0:e%Nxyz(2),0:e%Nxyz(3),1:NDIM)

procedure, public :: RiemannSolver => IP_RiemannSolver

  • private subroutine IP_RiemannSolver(self, nEqn, nGradEqn, EllipticFlux, f, QLeft, QRight, U_xLeft, U_yLeft, U_zLeft, U_xRight, U_yRight, U_zRight, mu_left, mu_right, nHat, dWall, sigma, flux)

    Arguments

    Type IntentOptional Attributes Name
    class(InteriorPenalty_t) :: self
    integer, intent(in) :: nEqn
    integer, intent(in) :: nGradEqn
    procedure(EllipticFlux_f) :: EllipticFlux
    class(Face), intent(in) :: f
    real(kind=RP), intent(in) :: QLeft(nEqn)
    real(kind=RP), intent(in) :: QRight(nEqn)
    real(kind=RP), intent(in) :: U_xLeft(nGradEqn)
    real(kind=RP), intent(in) :: U_yLeft(nGradEqn)
    real(kind=RP), intent(in) :: U_zLeft(nGradEqn)
    real(kind=RP), intent(in) :: U_xRight(nGradEqn)
    real(kind=RP), intent(in) :: U_yRight(nGradEqn)
    real(kind=RP), intent(in) :: U_zRight(nGradEqn)
    real(kind=RP), intent(in) :: mu_left(3)
    real(kind=RP), intent(in) :: mu_right(3)
    real(kind=RP), intent(in) :: nHat(NDIM)
    real(kind=RP), intent(in) :: dWall
    real(kind=RP), intent(in) :: sigma(nEqn)
    real(kind=RP), intent(out) :: flux(nEqn)

procedure, public :: RiemannSolver_Jacobians => IP_RiemannSolver_Jacobians

  • private subroutine IP_RiemannSolver_Jacobians(self, f)

    Arguments

    Type IntentOptional Attributes Name
    class(InteriorPenalty_t), intent(in) :: self
    type(Face), intent(inout) :: f

procedure, public :: Describe => IP_Describe

  • private subroutine IP_Describe(self)

    Arguments

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