GetSUPGParam
When obj is an instance of ElemshapeData_, the stabilization parameter is given by:
!!! info "opt=1"
!!! info "opt=2"
where,
For scalar variable:
For vector variable:
When obj is an instance of [[STElemshapeData_]], the stabilization parameter is given by:
!!! info "opt=1"
!!! info "opt=2"
where,
!!! example "" You can learn about this method from expample [[_ElemshapeData_test_14]]
!!! info "Interface-1"
MODULE PURE SUBROUTINE GetSUPGParam(obj, tau, c, val, nu, k, &
& phi, dt, opt)
CLASS(ElemshapeData_), INTENT(IN) :: obj
!! It can be an instance of ElemshapeData_ or STElemshapeData_
TYPE(FEVariable_), INTENT(INOUT) :: tau
!! Stabilization parameter
!! Quadrature FEVariable
!! varType=Space
TYPE(FEVariable_), INTENT(IN) :: c
!! Convective velocity => Vector variable
TYPE(FEVariable_), INTENT(IN) :: val
!! solution, it can be scalar or vector variable
TYPE(FEVariable_), INTENT(IN) :: nu
!! diffusivity
!! In case of NSE it should be mu/rho
TYPE(FEVariable_), OPTIONAL, INTENT(IN) :: k
!! permeability
TYPE(FEVariable_), OPTIONAL, INTENT(IN) :: phi
!! porosity
REAL(DFP), OPTIONAL, INTENT(IN) :: dt
!! time step size
INTEGER(I4B), OPTIONAL, INTENT(IN) :: opt
!! futuristic options
END SUBROUTINE GetSUPGParam
!!! note ""
obj can be an instance of [[ElemshapeData_]] or [[STElemshapeData_]]
In interface-1 the meaning of variables is given below:
objinstance ofElemshapeData_tau, stabilization parameter , it is an instance of [[FEVariable_]].Rank=ScalardefinedOn=QuadraturevarType=Space (changes in space)
c, is convective velocity, it is an instance of [[FEVariable_]] with following propertiesRank=VectordefinedOn=Quadrature or NodesvarType=Constant or Space (if obj is an instance of [[ElemshapeData_]])varType=Constant, Space, SpaceTime (if obj is an instance of [[STElemshapeData_]]
val, is solution, an instance of [[FEVariable_]], with following properties::Rank=Scalar (for convection-diffusion problems)Rank=Vector (for Navier-Stokes equations)varType=Constant or Space (if obj is an instance of [[ElemshapeData_]])varType=Constant, Space, SpaceTime (if obj is an instance of [[STElemshapeData_]]
nu, denotes diffusivity or kinematic viscosity , an instance of [[FEVariable_]]Rank=ScalardefinedOn=Quadrature or NodesvarType=Constant or Space (if obj is an instance of [[ElemshapeData_]])varType=Constant, Space, SpaceTime (if obj is an instance of [[STElemshapeData_]]
k, denotes permeability of porous medium, an instance of [[FEVariable_]]Rank=ScalardefinedOn=Quadrature or NodesvarType=Constant or Space (if obj is an instance of [[ElemshapeData_]])varType=Constant, Space, SpaceTime (if obj is an instance of [[STElemshapeData_]]
phi, denotes porosity of porous medium, an instance of [[FEVariable_]]Rank=ScalardefinedOn=Quadrature or NodesvarType=Constant or Space (if obj is an instance of [[ElemshapeData_]])varType=Constant, Space, SpaceTime (if obj is an instance of [[STElemshapeData_]]
dt, time step
!!! info "Interface-2"
MODULE PURE SUBROUTINE GetSUPGParam(obj, tau, c, val, nu, k, &
& phi, dt, opt)
CLASS(STElemshapeData_), INTENT(IN) :: obj(:)
!! space-time shape data
TYPE(FEVariable_), INTENT(INOUT) :: tau
!! Stabilization parameter
!! Quadrature type
!! SpaceTime
TYPE(FEVariable_), INTENT(IN) :: c
!! convective velocity
!! vector FEVariable
TYPE(FEVariable_), INTENT(IN) :: val
!! solution
!! scalar or vector FEVariable
TYPE(FEVariable_), INTENT(IN) :: nu
!! kinematic diffusivity
TYPE(FEVariable_), OPTIONAL, INTENT(IN) :: k
!! permeability
!! Scalar FEVariable
TYPE(FEVariable_), OPTIONAL, INTENT(IN) :: phi
!! porosity
!! Scalar FEVariable
REAL(DFP), OPTIONAL, INTENT(IN) :: dt
!! time step size
INTEGER(I4B), OPTIONAL, INTENT(IN) :: opt
!! futuristic options
END SUBROUTINE GetSUPGParam
In interface-2 the meaning of variables is given below:
obja vector of [[STElemshapeData_]]tau, stabilization parameter , it is an instance of [[FEVariable_]].Rank=ScalardefinedOn=QuadraturevarType=SpaceTime (changes in space and time)
c, is convective velocity, it is an instance of [[FEVariable_]] with following propertiesRank=VectordefinedOn=Quadrature or NodesvarType=Constant, Space, SpaceTime
val, is solution, an instance of [[FEVariable_]], with following properties::Rank=Scalar (for convection-diffusion problems)Rank=Vector (for Navier-Stokes equations)varType=Constant, Space, SpaceTime
nu, denotes diffusivity or kinematic viscosity , an instance of [[FEVariable_]]Rank=ScalardefinedOn=Quadrature or NodesvarType=Constant, Space, SpaceTime
k, denotes permeability of porous medium, an instance of [[FEVariable_]]Rank=ScalardefinedOn=Quadrature or NodesvarType=Constant, Space, SpaceTime
phi, denotes porosity of porous medium, an instance of [[FEVariable_]]Rank=ScalardefinedOn=Quadrature or NodesvarType=Constant, Space, SpaceTime
dt, time step
!!! info "Interface-3"
This interface is similar to the interface-1, but in this interface material properties nu, k, phi are constant real values.
MODULE PURE SUBROUTINE GetSUPGParam(obj, tau, c, val, nu, k, &
& phi, dt, opt)
CLASS(ElemshapeData_), INTENT(IN) :: obj
!! It can be an instance of ElemshapeData_ or STElemshapeData_
TYPE(FEVariable_), INTENT(INOUT) :: tau
!! Stabilization parameter
!! Quadrature FEVariable
!! varType=Space
TYPE(FEVariable_), INTENT(IN) :: c
!! Convective velocity => Vector variable
TYPE(FEVariable_), INTENT(IN) :: val
!! solution, it can be scalar or vector variable
REAL( DFP ), INTENT(IN) :: nu
!! In case of NSE it should be mu/rho
!! diffusivity
REAL( DFP ), OPTIONAL, INTENT(IN) :: k
!! permeability
REAL( DFP ), OPTIONAL, INTENT(IN) :: phi
!! porosity
REAL(DFP), OPTIONAL, INTENT(IN) :: dt
!! time step size
INTEGER(I4B), OPTIONAL, INTENT(IN) :: opt
!! futuristic options
END SUBROUTINE GetSUPGParam
!!! info "Interface-4"
This interface is similar to the Interface-2, but in this interface material properties nu, k, phi are constant real values.
MODULE PURE SUBROUTINE GetSUPGParam(obj, tau, c, val, nu, k, &
& phi, dt, opt)
CLASS(STElemshapeData_), INTENT(IN) :: obj(:)
!! space-time shape data
TYPE(FEVariable_), INTENT(INOUT) :: tau
!! Stabilization parameter
!! Quadrature type
!! SpaceTime
TYPE(FEVariable_), INTENT(IN) :: c
!! convective velocity
!! vector FEVariable
TYPE(FEVariable_), INTENT(IN) :: val
!! solution
!! scalar or vector FEVariable
REAL( DFP ), INTENT(IN) :: nu
!! kinematic diffusivity
REAL( DFP ), OPTIONAL, INTENT(IN) :: k
!! permeability
!! Scalar FEVariable
REAL( DFP ), OPTIONAL, INTENT(IN) :: phi
!! porosity
!! Scalar FEVariable
REAL(DFP), OPTIONAL, INTENT(IN) :: dt
!! time step size
INTEGER(I4B), OPTIONAL, INTENT(IN) :: opt
!! futuristic options
END SUBROUTINE GetSUPGParam