Skip to main content

LinearStaticCDR example 1

!!! note "" This examples shows how to use SetLinearStaticCDRParam to set the parameters of [[LinearStaticCDR_]] kernel.

Modules and classes

  • [[ParameterList_]]
  • [[LinearStaticCDR_]]

Usage

!!! notes "" Use modules and declare variables

PROGRAM main
USE easifemBase
USE easifemClasses
USE easifemKernels
USE LinearStaticCDR_Class
IMPLICIT NONE
TYPE(ParameterList_) :: param
TYPE(LinearStaticCDR_) :: obj

!!! notes "" Initiate an instance of [[ParameterList_]].

    CALL FPL_INIT(); CALL param%Initiate()

!!! notes "" Setting parameters for initiating an instance of [[LinearStaticCDR_]]

  CALL SetLinearStaticCDRParam( &
& isConservative=.FALSE., &
& param=param, &
& engine="NATIVE_SERIAL", &
& coordinateSystem=KERNEL_2D, &
& tMaterials=2, &
& tDirichletBC=4, &
& domainFile="./mesh.h5" )

Let us see the content of param.

  CALL param%print()

The results of the above call is given below

??? example "results"

[0] Key = LinearStaticCDR/name, Data Type = DLCA, Dimensions = 0, Bytes = 15, Value = StaticDiffusion
[13] Key = LinearStaticCDR/engine, Data Type = DLCA, Dimensions = 0, Bytes = 13, Value = NATIVE_SERIAL
[29] Key = LinearStaticCDR/tMaterials, Data Type = I4P, Dimensions = 0, Bytes = 4, Value = +2
[52] Key = LinearStaticCDR/tDirichletBC, Data Type = I4P, Dimensions = 0, Bytes = 4, Value = +4
[72] Key = LinearStaticCDR/baseContinuity, Data Type = DLCA, Dimensions = 0, Bytes = 2, Value = H1
[76] Key = LinearStaticCDR/isConservative, Data Type = L, Dimensions = 0, Bytes = 4, Value = F
[78] Key = LinearStaticCDR/baseInterpolation, Data Type = DLCA, Dimensions = 0, Bytes = 21, Value = LagrangeInterpolation
[87] Key = LinearStaticCDR/quadratureType, Data Type = DLCA, Dimensions = 0, Bytes = 13, Value = GaussLegendre
[92] Key = LinearStaticCDR/coordinateSystem, Data Type = I4P, Dimensions = 0, Bytes = 4, Value = +3
[99] Key = LinearStaticCDR/domainFile, Data Type = DLCA, Dimensions = 0, Bytes = 9, Value = ./mesh.h5

Checking the validity of the parameters.

  CALL obj%CheckEssentialParam(param)

!!! settings "Cleanup"

  CALL param%Deallocate(); CALL FPL_FINALIZE()
END PROGRAM main