KernelFields
This class contains the fields for the kernel. It contains the following fields:
- MatrixFieldPointer
- VectorFieldPointer
- ScalarFieldPointer
- STVectorFieldPointer
- STScalarFieldPointer
It is defined in the KernelComponents
module.
The structure of this class is as follows:
Structure
TYPE :: KernelFields_
INTEGER(I4B) :: tMatrixFields = 0
!! total matrix fields
INTEGER(I4B) :: tVectorFields = 0
!! total vector fields
INTEGER(I4B) :: tScalarFields = 0
!! total scalar fields
INTEGER(I4B) :: tSTMatrixFields = 0
!! total space-time matrix fields
INTEGER(I4B) :: tSTVectorFields = 0
!! total space-time vector fields
INTEGER(I4B) :: tSTScalarFields = 0
!! total space-time scalar fields
TYPE(MatrixFieldPointer_), ALLOCATABLE :: matrixFields(:)
!! list of matrix fields
TYPE(VectorFieldPointer_), ALLOCATABLE :: vectorFields(:)
!! list of vector fields
TYPE(ScalarFieldPointer_), ALLOCATABLE :: scalarFields(:)
!! list of scalar fields
TYPE(STVectorFieldPointer_), ALLOCATABLE :: stVectorFields(:)
!! list of space-time vector fields
TYPE(STScalarFieldPointer_), ALLOCATABLE :: stScalarFields(:)
!! list of space-time scalar fields
CLASS(MatrixField_), POINTER :: stiffnessMat => NULL()
!! Global Stiffness matrix
CLASS(MatrixField_), POINTER :: diffusionMat => NULL()
!! Global diffusion matrix
CLASS(MatrixField_), POINTER :: massMat => NULL()
!! Global mass matrix
CLASS(MatrixField_), POINTER :: dampingMat => NULL()
!! Global damping matrix
CLASS(VectorField_), POINTER :: displacement => NULL()
!! Vector field for nodal displacement
CLASS(VectorField_), POINTER :: velocity => NULL()
!! Vector field for nodal displacement
CLASS(VectorField_), POINTER :: acceleration => NULL()
!! Vector field for nodal acceleration
CLASS(VectorField_), POINTER :: nodeCoord => NULL()
!! Vector field for nodal coordinates
CLASS(ScalarField_), POINTER :: pressure => NULL()
!! scalar field for nodal pressure
CLASS(ScalarField_), POINTER :: p_velocity => NULL()
!! scalar field for nodal pressure
CLASS(ScalarField_), POINTER :: p_acceleration => NULL()
!! scalar field for nodal pressure
END TYPE KernelFields_