Structure
AbstractKernel_
class is an abstract class for physics kernel.
Workflow
loading...TYPE, ABSTRACT :: AbstractKernel_
TYPE(FEDomain_), POINTER :: dom => NULL()
!! Domain of the problem
TYPE(FEDomainPointer_), ALLOCATABLE :: domains(:)
!! Domains of the problem
TYPE(KernelOpt_) :: opt
!! options of the kernel
!! It is defined in the KernelComponents module
TYPE(KernelFields_) :: fields
!! fields of kernel
TYPE(KernelMeshFields_) :: meshFields
!! mesh fields of kernel
TYPE(KernelMaterials_) :: materials
!! materials of kernel
TYPE(KernelElemshapeData_) :: elemsd
!! element shape data used in kernels
TYPE(KernelBC_) :: bc
!! boundary conditions of the kernel
CLASS(FEDOF_), POINTER :: fedof => NULL()
!! Degree of freedom of the problem
TYPE(FEDOFPointer_), ALLOCATABLE :: fedofs(:)
!! Degree of freedom of the problem
CLASS(FEDOF_), POINTER :: geofedof => NULL()
!! Degree of freedom of the geometryof the problem
CLASS(AbstractFE_), POINTER :: timeFE => NULL()
!! Time finite element
CLASS(AbstractFE_), POINTER :: geoTimeFE => NULL()
!! Linear time finite element
TYPE(PVDFile_) :: pvdFile
!! instance of pvd file class
CLASS(AbstractLinSolver_), POINTER :: linsol => NULL()
!! A pointer to a Linear iterative solver
!! NOTE: The actual linear solver depends upon the
!! engine and type of problem. linsol is initiated in
!! KernelInitiateFromParam routine.
CLASS(AbstractMatrixField_), POINTER :: tanmat => NULL()
!! Global tangent matrix
!! NOTE: The actual form of tangent matrix depends upon the engine
!! and type of problem.
TYPE(TxtFile_) :: showTimeFile
!! File which keeps the time statics of the kernel (performance related)
!! This file is created when showTime is set to true.
!! The name of this file will be
!! outputPath / name + _time_stat.csv
CLASS(UserFunction_), POINTER :: bodySourceFunc => NULL()
!! body force function
REAL(DFP), ALLOCATABLE :: timeVec(:)
!! time vector
INTEGER(I4B), ALLOCATABLE :: dbcIndx(:)
!! Indices where Dirichlet boundary conditions is prescribed
!! INFO: This variable is for internal use only.
!! It is formed from the Dirichlet boundary conditions.
END TYPE
dom
and domains
dom
is an instance of FEDomain_ which denotes the domain of the problem.domains
is an instance ofFEDomainPointer_
which denotes the vector of pointers ofFEDomain
.
Note: domains
is used in multi-physics problems, in this case we can have several domains for different physical variables.
opt
It is an instance of KernelOpt_
which contains the options of the kernel, you can find about this in KernelOpt_
fields
This is an instance of KernelFields
, which is defined in the KernelComponents
module. You can find more information about this KernelFields.
meshFields
This is an instance of KernelMeshFields_
which contains the mesh fields of the kernel. You can find more information about this KernelMeshFields
materials
This is an instance of the KernelMaterials_
which is documented at KernelMaterials
elemsd
This is an instance of KernelElemshapeData_
which is documented at KernelElemshapeData
bc
This is an instance of KernelBC_
which deals with the boundary conditions in the kernel. You can find more information about this KernelBC
fedof
Finite element degree of freedom of the problem.
fedofs
Finite element degree of freedom of the problem
geofedof
Geometry related degree of freedom.
timeFE
Time finite element.
geoTimeFE
Time finite element for geometry of time.
pvdFile
Related to Paraview post-processing.
linsol
Linear solver
tanmat
Tangent matrix
showTimeFile
File which keeps the time statics of the kernel (performance related).
This file is created when showTime
is set to true.
The name of this file will be
outputPath / name + _time_stat.csv