Skip to main content

KernelBC

This class deals with the boundary conditions in the kernel.

Structure

TYPE KernelBC_
INTEGER(I4B) :: tdbc = 0
!! total Dirichlet boundary conditions

INTEGER(I4B) :: tnbc = 0
!! total Neumann boundary conditions

INTEGER(I4B) :: tnbcPointSource = 0
!! total Neumann boundary conditions

INTEGER(I4B) :: twdbc = 0
!! total weak Dirichlet boundary conditions

INTEGER(I4B) :: tnitscheLocalID = 0
!! total nitsche local id

LOGICAL(LGT) :: isNitsche = .FALSE.
!! If true, then it means weak dirichlet boundary condition is used.
!! This variable is set in Initiate method
!! This variable is set to true if the tWeakDirichletBC
!! is greater than zero, otherwise it is set to false

LOGICAL(LGT) :: isSymNitsche = .TRUE.
!! Sym or unsymmetric Nitsche formulation

REAL(DFP) :: nitscheAlpha = 100.0
!! coefficient for nitsche formulation

REAL(DFP) :: nitscheType = TypeKernelNitscheOpt%sym
!! -1.0 for symmetric formulation
!! 1.0 for skew symmetric formulation

TYPE(DirichletBCPointer_), ALLOCATABLE :: dbc(:)
!! Dirichlet boundary condition for displacement

TYPE(NeumannBCPointer_), ALLOCATABLE :: nbc(:)
!! Neumann boundary condition for displacement

TYPE(NeumannBCPointer_), ALLOCATABLE :: nbcPointSource(:)
!! Neumann boundary condition for displacement

TYPE(NitscheBCPointer_), ALLOCATABLE :: wdbc(:)
!! Weak dirichlet boundary condition for displacement

INTEGER(I4B), ALLOCATABLE :: nitscheLocalID(:)
!! nitscheLocalID is a mapping from global mesh-id (of dimension
!! nsd-1), to local id.
!! If nitscheLocalID(meshID) = 0, then it means
!! meshID of dimension nsd-1 is not a nitsche boundary.
!! This mapping is used to access entries in nitscheFacetToCell.

TYPE(DomainConnectivityPointer_), ALLOCATABLE :: nitscheFacetToCell(:)
!! Nitsche facet to cell data connectivity information
!! We form FacetToCellData for each Nitsche boundary
!! The size of nitscheFacetToCell is same as the
!! total number of boundaries (mesh-ids) in wdbcForDisplacement
!! This data is initiated in Set Method

END TYPE KernelBC_