SetBlockMatrixFieldParam
Set parameters necessary for constructing BlockMatrixField_
Interface
- ܀ Interface
- ️܀ See example
- ↢
INTERFACE
MODULE SUBROUTINE setBlockMatrixFieldParam(param, name, matrixProp, &
& physicalVarNames, spaceCompo, timeCompo, engine, fieldType)
TYPE(ParameterList_), INTENT(INOUT) :: param
!! Options to create [[BlockMatrixField_]] will be stored in this
CHARACTER(*), INTENT(IN) :: name
!! Name of the matrix field
CHARACTER(*), INTENT(IN) :: matrixProp
!! Matrix property, "SYM" or "UNSYM"
CHARACTER(*), INTENT(IN) :: physicalVarNames(:)
!! Name of physical variables
INTEGER(I4B), INTENT(IN) :: spaceCompo(:)
!! Number of space-components in each physicalVarNames, see [[DOF_]]
INTEGER(I4B), INTENT(IN) :: timeCompo(:)
!! Number of time-components in each physicalVarNames, see [[DOF_]]
CHARACTER(*), INTENT(IN) :: engine
!! engine
INTEGER(I4B), OPTIONAL, INTENT(IN) :: fieldType
!! fieldType can be following
!! FIELD_TYPE_NORMAL <-- DEFAULT
!! FIELD_TYPE_CONSTANT
!! FIELD_TYPE_CONSTANT_SPACE
!! FIELD_TYPE_CONSTANT_TIME
END SUBROUTINE setBlockMatrixFieldParam
END INTERFACE
BlockMatrixField example 1
This example shows the use of SetBlockMatrixFieldParam
, BlockMatrixField
Usage
PROGRAM main
USE easifemBase
USE easifemClasses
IMPLICIT NONE
TYPE( BlockMatrixField_ ) :: obj
TYPE( ParameterList_ ) :: param
CALL FPL_INIT(); CALL param%Initiate()
CALL SetBlockMatrixFieldParam(param=param, name="K", &
& physicalVarNames=["V", "P"], spaceCompo=[2, 1], &
& timeCompo=[1,1], fieldType=FIELD_TYPE_NORMAL, &
& matrixProp="UNSYM" )
CALL obj%CheckEssentialParam( param )
CALL param%Print()
CALL param%Deallocate(); CALL FPL_FINALIZE()
END PROGRAM main