CheckEssentialParam
Check essential parameter for initiating the kernel.
Interface
- ܀ Interface
- ️܀ See example
- ↢
INTERFACE
  MODULE SUBROUTINE checkEssentialParam(obj, param, prefix)
    CLASS(MovingMesh_), INTENT(INOUT) :: obj
    TYPE(ParameterList_), INTENT(IN) :: param
    CHARACTER(*), OPTIONAL, INTENT(IN) :: prefix
  END SUBROUTINE checkEssentialParam
END INTERFACE
This example shows how to set the parameters for steady stokes flow kernel
PROGRAM main
  USE easifemBase
  USE easifemClasses
  USE easifemMaterials
  USE easifemKernels
  USE MovingMesh_Class
  IMPLICIT NONE
  TYPE( MovingMesh_ ) :: obj
  TYPE( HDF5File_ ) :: domainFile
  TYPE( Domain_ ) :: dom
  TYPE( ParameterList_ ) :: param
  CHARACTER( * ), PARAMETER :: engine="NATIVE_SERIAL"
  INTEGER( I4B ), PARAMETER :: CoordinateSystem = KERNEL_CARTESIAN
  INTEGER( I4B ), PARAMETER :: nsd = 2
  INTEGER( I4B ), PARAMETER :: nnt = 1
  REAL( DFP ), PARAMETER :: dt = 0.0_DFP
  REAL( DFP ), PARAMETER :: startTime = 0.0_DFP
  REAL( DFP ), PARAMETER :: endTime = 0.0_DFP
  REAL( DFP ), PARAMETER :: currentTime = 0.0_DFP
  INTEGER( I4B ), PARAMETER :: currentTimeStep = 1
  INTEGER( I4B ), PARAMETER :: totalTimeStep = 1
  REAL( DFP ), PARAMETER :: gravity(3)=[0.0, -9.8, 0.0]
  CHARACTER( * ), PARAMETER :: domainFileName="./mesh.h5"
  INTEGER( I4B ), PARAMETER :: materialInterfaces(3) = [1,2,3]
  INTEGER( I4B ), PARAMETER :: maxIter = 100
  INTEGER( I4B ), PARAMETER :: tMaterials= 1
  INTEGER( I4B ), PARAMETER :: tDirichletBC = 2
  INTEGER( I4B ), PARAMETER :: tNeumannBC = 1
  CHARACTER(*), PARAMETER :: baseInterpolationForSpace="LagrangeInterpolation"
  CHARACTER(*), PARAMETER :: baseContinuityForSpace="H1"
  CHARACTER(*), PARAMETER :: quadratureTypeForSpace="GaussLegendre"
  INTEGER( I4B ), PARAMETER :: postProcessOpt = 1
Set parameters for kernel.
CALL FPL_INIT(); CALL param%Initiate()
Set parameters for the kernel.
CALL SetMovingMeshParam( &
  & param=param, &
  & engine=engine, &
  & coordinateSystem=coordinateSystem, &
  & nsd=nsd, &
  & nnt=nnt, &
  & dt=dt, &
  & startTime=startTime, &
  & endTime=endTime, &
  & currentTime=currentTime, &
  & currentTimeStep=currentTimeStep, &
  & totalTimeStep=totalTimeStep, &
  & gravity=gravity, &
  & domainFile=domainFileName, &
  & materialInterfaces=materialInterfaces, &
  & maxIter=maxIter, &
  & tMaterials=tMaterials, &
  & tDirichletBC=tDirichletBC, &
  & tNeumannBC=tNeumannBC, &
  & baseInterpolationForSpace=baseInterpolationForSpace, &
  & baseContinuityForSpace=baseContinuityForSpace, &
  & quadratureTypeForSpace=quadratureTypeForSpace, &
  & postProcessOpt=postProcessOpt)
Checkessential parameter.
CALL obj%CheckessentialParam(param)
Let us check the essential parameter.
CALL param%Deallocate(); CALL FPL_FINALIZE()
END PROGRAM main