FEMDomainClass Module

call MergeArray(CopiedArrayInt,NBoundNodIDBuf,obj%Boundary%NBoundNodID)
call MergeArray(CopiedArrayReal,NBoundValBuf,obj%Boundary%NBoundVal)
call DeleteOverlapBoundary(obj%Boundary)
call InitializeBoundary(obj%Boundary)

end subroutine



Contents

addFEMDomain openFEMDomain removeFEMDomain saveFEMDomain displayFEMDomain fieldFEMDomain DeallocateFEMDomain renameFEMDomain InitializeFEMDomain showFEMDomain ImportFEMDomain ImportMeshFEMDomain resizeFEMDomain fatFEMDomain MergeFEMDomain ExportFEMDomain InitDBC AddDBoundCondition InitNBC AddNBoundCondition InitTBC AddTBoundCondition SetSolver SetName SetDataType SetUpFEMDomain SetControlParaFEMDomain AddMaterialID MeltingSkeltonFEMDomain mshFEMDomain GmshPlotMesh GmshPlotContour GmshPlotVector GmshPlotContour2D GmshExportStress GnuplotPlotContour GnuplotExportStress moveFEMDomain rotateFEMDomain AddNBCFEMDomain ExportFEMDomainAsSTL meshingFEMDomain removeDBoundCondition removeNBoundCondition removeTBoundCondition CheckConnedctivityFEMDomain getDBCVectorFEMDomain convertMeshTypeFEMDomain remeshFEMDomain createFEMDomain setBoundaryFEMDomain showRangeFEMDomain ImportBoundariesFEMDomain showBoundariesFEMDomain removeBoundariesFEMDomain copyFEMDomain bakeFEMDomain bakeMaterialsFEMDomain bakeDBoundariesFEMDomain bakeNBoundariesFEMDomain bakeTBoundariesFEMDomain ImportMaterialsFEMDomain showMaterialsFEMDomain removeMaterialsFEMDomain contactdetectFEMDomain getSurfaceFEMDomain vtkFEMDomain plyFEMDomain stlFEMDomain objFEMDomain jsonFEMDomain readFEMDomain addLayerFEMDomain addLayerFEMDomainScalar addLayerFEMDomainVector addLayerFEMDomaintensor importLayerFEMDomain showLayerFEMDomain projectionFEMDomain editFEMDomain GlobalVectorFEMDomain killElementFEMDomain ImportVTKFileFEMDomain Delaunay3DFEMDomain Delaunay2DFEMDomain

Variables

TypeVisibility AttributesNameInitial
integer(kind=int32), public, parameter:: VTK_VERTEX =1
integer(kind=int32), public, parameter:: VTK_POLY_VERTEX =2
integer(kind=int32), public, parameter:: VTK_LINE =3
integer(kind=int32), public, parameter:: VTK_TRIANGLE =5
integer(kind=int32), public, parameter:: VTK_PIXEL =8
integer(kind=int32), public, parameter:: VTK_QUAD =9
integer(kind=int32), public, parameter:: VTK_TETRA =10
integer(kind=int32), public, parameter:: VTK_VOXEL =11
integer(kind=int32), public, parameter:: VTK_HEXAHEDRON =12
integer(kind=int32), public, parameter:: VTK_WEDGE =13
integer(kind=int32), public, parameter:: VTK_QUADRATIC_EDGE =21
integer(kind=int32), public, parameter:: VTK_QUADRATIC_TRIANGLE =22
integer(kind=int32), public, parameter:: VTK_QUADRATIC_QUAD =23
integer(kind=int32), public, parameter:: VTK_QUADRATIC_TETRA =24
integer(kind=int32), public, parameter:: VTK_QUADRATIC_HEXAHEDRON =25
integer(kind=int32), public, parameter:: MSH_LINE =1
integer(kind=int32), public, parameter:: MSH_TRIANGLE =2
integer(kind=int32), public, parameter:: MSH_QUAD =3
integer(kind=int32), public, parameter:: MSH_TETRA =4
integer(kind=int32), public, parameter:: MSH_HEXAHEDRON =5
integer(kind=int32), public, parameter:: MSH_PRISM =6
integer(kind=int32), public, parameter:: MSH_PYRAMID =7

Derived Types

type, public :: Meshp_

Components

TypeVisibility AttributesNameInitial
type(Mesh_), public, pointer:: Meshp

type, public :: Materialp_

Components

TypeVisibility AttributesNameInitial
type(MaterialProp_), public, pointer:: Materialp

type, public :: Boundaryp_

Components

TypeVisibility AttributesNameInitial
type(Boundary_), public, pointer:: Boundaryp

type, public :: FEMDomain_

Components

TypeVisibility AttributesNameInitial
type(Mesh_), public :: Mesh
type(MaterialProp_), public :: MaterialProp
type(Boundary_), public :: Boundary
type(ControlParameter_), public :: ControlPara
type(ShapeFunction_), public :: ShapeFunction
type(PhysicalField_), public, allocatable:: PhysicalField(:)
integer(kind=int32), public :: numoflayer =0
character(len=36), public :: uuid
character(len=36), public :: link(2)
character(len=70), public :: meshtype
real(kind=real64), public, allocatable:: scalar(:)
real(kind=real64), public, allocatable:: vector(:,:)
real(kind=real64), public, allocatable:: tensor(:,:,:)
real(kind=real64), public :: RealTime =1.0d0
integer(kind=int32), public :: NumOfDomain =1
character(len=200), public :: FilePath ="None"
character(len=200), public :: FileName ="None"
character(len=200), public :: Name ="None"
character(len=9), public :: Dtype ="None"
character(len=200), public :: SolverType ="None"
character(len=200), public :: Category1 ="None"
character(len=200), public :: Category2 ="None"
character(len=200), public :: Category3 ="None"
integer(kind=int32), public :: DomainID =1
integer(kind=int32), public :: timestep =1
integer(kind=int32), public :: NumberOfBoundaries =0
integer(kind=int32), public :: NumberOfMaterials =0
type(Meshp_), public, allocatable:: Meshes(:)
type(Materialp_), public, allocatable:: Materials(:)
type(Boundaryp_), public, allocatable:: Boundaries(:)

Type-Bound Procedures

procedure, public :: add => addFEMDomain
procedure, public :: addNBC => AddNBCFEMDomain
procedure, public :: importLayer => importLayerFEMDomain
procedure, public, pass :: addLayerFEMDomain
procedure, public, pass :: addLayerFEMDomainScalar
procedure, public, pass :: addLayerFEMDomainVector
procedure, public, pass :: addLayerFEMDomainTensor => addLayerFEMDomaintensor
generic, public :: addLayer => addLayerFEMDomainScalar, addLayerFEMDomain, addLayerFEMDomainVector, addLayerFEMDomainTensor
procedure, public :: showLayer => showLayerFEMDomain
procedure, public :: searchLayer => searchLayerFEMDomain
procedure, public :: addDBoundCondition => AddDBoundCondition
procedure, public :: addNBoundCondition => AddNBoundCondition
procedure, public :: addTBoundCondition => AddTBoundCondition
procedure, public :: addMaterialID => AddMaterialID
procedure, public :: assign => ImportFEMDomain
procedure, public :: allconnectivity => allconnectivityFEMDomain
procedure, public :: bake => bakeFEMDomain
procedure, public :: bakeMaterials => bakeMaterialsFEMDomain
procedure, public :: bakeDBoundaries => bakeDBoundariesFEMDomain
procedure, public :: bakeNBoundaries => bakeNBoundariesFEMDomain
procedure, public :: bakeTBoundaries => bakeTBoundariesFEMDomain
procedure, public :: checkConnectivity => CheckConnedctivityFEMDomain
procedure, public :: connectivity => connectivityFEMDomain
procedure, public :: copy => copyFEMDomain
procedure, public :: convertMeshType => convertMeshTypeFEMDomain
procedure, public :: contactdetect => contactdetectFEMDomain
procedure, public :: centerPosition => centerPositionFEMDomain
procedure, public :: create => createFEMDomain
procedure, public :: delete => DeallocateFEMDomain
procedure, public :: display => displayFEMDomain
procedure, public :: divide => divideFEMDomain
procedure, public :: Delaunay3D => Delaunay3DFEMDomain
procedure, public :: Delaunay2D => Delaunay2DFEMDomain
procedure, public :: export => ExportFEMDomain
procedure, public :: edit => editFEMDomain
procedure, public :: field => fieldFEMDomain
procedure, public :: gmshPlotMesh => GmshPlotMesh
procedure, public :: gmsh => GmshPlotMesh
procedure, public :: gmshPlotContour => GmshPlotContour
procedure, public :: gmshPlotVector => GmshPlotVector
procedure, public :: gmshPlotContour2D => GmshPlotContour2D
procedure, public :: gnuplotPlotContour => GnuplotPlotContour
procedure, public :: gnuplotExportStress => GnuplotExportStress
procedure, public :: getDBCVector => getDBCVectorFEMDomain
procedure, public :: getVolume => getVolumeFEMDomain
procedure, public :: getJacobiMatrix => getJacobiMatrixFEMDomain
procedure, public :: getLayerID => getLayerIDFEMDomain
procedure, public :: getLayerAttribute => getLayerAttributeFEMDomain
procedure, public :: getLayerDataStyle => getLayerDataStyleFEMDomain
procedure, public :: getShapeFunction => getShapeFunctionFEMDomain
procedure, public :: getNearestNodeID => getNearestNodeIDFEMDomain
procedure, public :: getSurface => getSurfaceFEMDomain
procedure, public :: NodeID => NodeIDFEMDomain
procedure, public :: getNodeList => getNodeListFEMDomain
procedure, public :: getElement => getElementFEMDOmain
procedure, public :: getElementList => getElementListFEMDomain
procedure, public :: getLocalCoordinate => getLocalCoordinateFEMDomain
procedure, public :: GlobalPositionOfGaussPoint => getGlobalPositionOfGaussPointFEMDomain
procedure, public :: init => InitializeFEMDomain
procedure, public :: import => ImportFEMDomain
procedure, public :: importVTKFile => ImportVTKFileFEMDomain
procedure, public :: importMesh => ImportMeshFEMDomain
procedure, public :: importMaterials => ImportMaterialsFEMDomain
procedure, public :: importBoundaries => ImportBoundariesFEMDomain
procedure, public :: initDBC => InitDBC
procedure, public :: initNBC => InitNBC
procedure, public :: initTBC => InitTBC
procedure, public :: json => jsonFEMDomain
procedure, public :: killElement => killElementFEMDomain
procedure, public :: length => lengthFEMDomain
procedure, public :: meltingSkelton => MeltingSkeltonFEMDomain
procedure, public :: move => moveFEMDomain
procedure, public :: meshing => meshingFEMDomain
procedure, public :: merge => MergeFEMDomain
procedure, public :: msh => mshFEMDomain
procedure, public :: nn => nnFEMDomain
procedure, public :: np => nnFEMDomain
procedure, public :: nd => ndFEMDomain
procedure, public :: ne => neFEMDomain
procedure, public :: nne => nneFEMDomain
procedure, public :: ngp => ngpFEMDomain
procedure, public :: x => xFEMDomain
procedure, public :: y => yFEMDomain
procedure, public :: z => zFEMDomain
procedure, public :: asGlobalVector => asGlobalVectorFEMDomain
procedure, public :: open => openFEMDomain
procedure, public :: ply => plyFEMDomain
procedure, public :: projection => projectionFEMDomain
procedure, public :: position => positionFEMDomain
procedure, public :: position_x => position_xFEMDomain
procedure, public :: position_y => position_yFEMDomain
procedure, public :: position_z => position_zFEMDomain
procedure, public :: removeMaterials => removeMaterialsFEMDomain
procedure, public :: rotate => rotateFEMDomain
procedure, public :: removeBoundaries => removeBoundariesFEMDomain
procedure, public :: rename => renameFEMDomain
procedure, public :: resize => resizeFEMDomain
procedure, public :: fat => fatFEMDomain
procedure, public :: remove => removeFEMDomain
procedure, public :: read => readFEMDomain
procedure, public :: remesh => remeshFEMDomain
procedure, public :: save => saveFEMDomain
procedure, public :: setDataType => SetDataType
procedure, public :: setSolver => SetSolver
procedure, public :: setName => SetName
procedure, public :: setUp => SetUpFEMDomain
procedure, public :: setBoundary => setBoundaryFEMDomain
procedure, public :: setControlPara => SetControlParaFEMDomain
procedure, public :: select => selectFEMDomain
procedure, public :: show => showFEMDomain
procedure, public :: showRange => showRangeFEMDomain
procedure, public :: showMaterials => showMaterialsFEMDomain
procedure, public :: showBoundaries => showBoundariesFEMDomain
procedure, public :: stl => stlFEMDomain
procedure, public :: obj => objFEMDomain
procedure, public :: vtk => vtkFEMDomain
procedure, public :: MassMatrix => MassMatrixFEMDomain
procedure, public :: MassVector => MassVectorFEMDomain
procedure, public :: Bmatrix => BMatrixFEMDomain
procedure, public :: Dmatrix => DMatrixFEMDomain
procedure, public :: StrainMatrix => StrainMatrixFEMDomain
procedure, public :: StrainVector => StrainVectorFEMDomain
procedure, public :: StressMatrix => StressMatrixFEMDomain
procedure, public :: StressVector => StressVectorFEMDomain
procedure, public :: StiffnessMatrix => StiffnessMatrixFEMDomain
procedure, public :: DiffusionMatrix => DiffusionMatrixFEMDomain
procedure, public :: ConnectMatrix => ConnectMatrixFEMDomain
procedure, public :: ElementVector => ElementVectorFEMDomain
procedure, public :: GlobalVector => GlobalVectorFEMDomain
procedure, public :: TractionVector => TractionVectorFEMDomain

type, public, extends(FEMDomain_) :: STFEMDomain_

Components

TypeVisibility AttributesNameInitial
type(Mesh_), public :: Mesh
type(MaterialProp_), public :: MaterialProp
type(Boundary_), public :: Boundary
type(ControlParameter_), public :: ControlPara
type(ShapeFunction_), public :: ShapeFunction
type(PhysicalField_), public, allocatable:: PhysicalField(:)
integer(kind=int32), public :: numoflayer =0
character(len=36), public :: uuid
character(len=36), public :: link(2)
character(len=70), public :: meshtype
real(kind=real64), public, allocatable:: scalar(:)
real(kind=real64), public, allocatable:: vector(:,:)
real(kind=real64), public, allocatable:: tensor(:,:,:)
real(kind=real64), public :: RealTime =1.0d0
integer(kind=int32), public :: NumOfDomain =1
character(len=200), public :: FilePath ="None"
character(len=200), public :: FileName ="None"
character(len=200), public :: Name ="None"
character(len=9), public :: Dtype ="None"
character(len=200), public :: SolverType ="None"
character(len=200), public :: Category1 ="None"
character(len=200), public :: Category2 ="None"
character(len=200), public :: Category3 ="None"
integer(kind=int32), public :: DomainID =1
integer(kind=int32), public :: timestep =1
integer(kind=int32), public :: NumberOfBoundaries =0
integer(kind=int32), public :: NumberOfMaterials =0
type(Meshp_), public, allocatable:: Meshes(:)
type(Materialp_), public, allocatable:: Materials(:)
type(Boundaryp_), public, allocatable:: Boundaries(:)
type(ShapeFunction_), public :: TimeShapeFunction
type(Mesh_), public :: TimeMesh

Type-Bound Procedures

procedure, public :: add => addFEMDomain
procedure, public :: addNBC => AddNBCFEMDomain
procedure, public :: importLayer => importLayerFEMDomain
procedure, public, pass :: addLayerFEMDomain
procedure, public, pass :: addLayerFEMDomainScalar
procedure, public, pass :: addLayerFEMDomainVector
procedure, public, pass :: addLayerFEMDomainTensor => addLayerFEMDomaintensor
generic, public :: addLayer => addLayerFEMDomainScalar, addLayerFEMDomain, addLayerFEMDomainVector, addLayerFEMDomainTensor
procedure, public :: showLayer => showLayerFEMDomain
procedure, public :: searchLayer => searchLayerFEMDomain
procedure, public :: addDBoundCondition => AddDBoundCondition
procedure, public :: addNBoundCondition => AddNBoundCondition
procedure, public :: addTBoundCondition => AddTBoundCondition
procedure, public :: addMaterialID => AddMaterialID
procedure, public :: assign => ImportFEMDomain
procedure, public :: allconnectivity => allconnectivityFEMDomain
procedure, public :: bake => bakeFEMDomain
procedure, public :: bakeMaterials => bakeMaterialsFEMDomain
procedure, public :: bakeDBoundaries => bakeDBoundariesFEMDomain
procedure, public :: bakeNBoundaries => bakeNBoundariesFEMDomain
procedure, public :: bakeTBoundaries => bakeTBoundariesFEMDomain
procedure, public :: checkConnectivity => CheckConnedctivityFEMDomain
procedure, public :: connectivity => connectivityFEMDomain
procedure, public :: copy => copyFEMDomain
procedure, public :: convertMeshType => convertMeshTypeFEMDomain
procedure, public :: contactdetect => contactdetectFEMDomain
procedure, public :: centerPosition => centerPositionFEMDomain
procedure, public :: create => createFEMDomain
procedure, public :: delete => DeallocateFEMDomain
procedure, public :: display => displayFEMDomain
procedure, public :: divide => divideFEMDomain
procedure, public :: Delaunay3D => Delaunay3DFEMDomain
procedure, public :: Delaunay2D => Delaunay2DFEMDomain
procedure, public :: export => ExportFEMDomain
procedure, public :: edit => editFEMDomain
procedure, public :: field => fieldFEMDomain
procedure, public :: gmshPlotMesh => GmshPlotMesh
procedure, public :: gmsh => GmshPlotMesh
procedure, public :: gmshPlotContour => GmshPlotContour
procedure, public :: gmshPlotVector => GmshPlotVector
procedure, public :: gmshPlotContour2D => GmshPlotContour2D
procedure, public :: gnuplotPlotContour => GnuplotPlotContour
procedure, public :: gnuplotExportStress => GnuplotExportStress
procedure, public :: getDBCVector => getDBCVectorFEMDomain
procedure, public :: getVolume => getVolumeFEMDomain
procedure, public :: getJacobiMatrix => getJacobiMatrixFEMDomain
procedure, public :: getLayerID => getLayerIDFEMDomain
procedure, public :: getLayerAttribute => getLayerAttributeFEMDomain
procedure, public :: getLayerDataStyle => getLayerDataStyleFEMDomain
procedure, public :: getShapeFunction => getShapeFunctionFEMDomain
procedure, public :: getNearestNodeID => getNearestNodeIDFEMDomain
procedure, public :: getSurface => getSurfaceFEMDomain
procedure, public :: NodeID => NodeIDFEMDomain
procedure, public :: getNodeList => getNodeListFEMDomain
procedure, public :: getElement => getElementFEMDOmain
procedure, public :: getElementList => getElementListFEMDomain
procedure, public :: getLocalCoordinate => getLocalCoordinateFEMDomain
procedure, public :: GlobalPositionOfGaussPoint => getGlobalPositionOfGaussPointFEMDomain
procedure, public :: init => InitializeFEMDomain
procedure, public :: import => ImportFEMDomain
procedure, public :: importVTKFile => ImportVTKFileFEMDomain
procedure, public :: importMesh => ImportMeshFEMDomain
procedure, public :: importMaterials => ImportMaterialsFEMDomain
procedure, public :: importBoundaries => ImportBoundariesFEMDomain
procedure, public :: initDBC => InitDBC
procedure, public :: initNBC => InitNBC
procedure, public :: initTBC => InitTBC
procedure, public :: json => jsonFEMDomain
procedure, public :: killElement => killElementFEMDomain
procedure, public :: length => lengthFEMDomain
procedure, public :: meltingSkelton => MeltingSkeltonFEMDomain
procedure, public :: move => moveFEMDomain
procedure, public :: meshing => meshingFEMDomain
procedure, public :: merge => MergeFEMDomain
procedure, public :: msh => mshFEMDomain
procedure, public :: nn => nnFEMDomain
procedure, public :: np => nnFEMDomain
procedure, public :: nd => ndFEMDomain
procedure, public :: ne => neFEMDomain
procedure, public :: nne => nneFEMDomain
procedure, public :: ngp => ngpFEMDomain
procedure, public :: x => xFEMDomain
procedure, public :: y => yFEMDomain
procedure, public :: z => zFEMDomain
procedure, public :: asGlobalVector => asGlobalVectorFEMDomain
procedure, public :: open => openFEMDomain
procedure, public :: ply => plyFEMDomain
procedure, public :: projection => projectionFEMDomain
procedure, public :: position => positionFEMDomain
procedure, public :: position_x => position_xFEMDomain
procedure, public :: position_y => position_yFEMDomain
procedure, public :: position_z => position_zFEMDomain
procedure, public :: removeMaterials => removeMaterialsFEMDomain
procedure, public :: rotate => rotateFEMDomain
procedure, public :: removeBoundaries => removeBoundariesFEMDomain
procedure, public :: rename => renameFEMDomain
procedure, public :: resize => resizeFEMDomain
procedure, public :: fat => fatFEMDomain
procedure, public :: remove => removeFEMDomain
procedure, public :: read => readFEMDomain
procedure, public :: remesh => remeshFEMDomain
procedure, public :: save => saveFEMDomain
procedure, public :: setDataType => SetDataType
procedure, public :: setSolver => SetSolver
procedure, public :: setName => SetName
procedure, public :: setUp => SetUpFEMDomain
procedure, public :: setBoundary => setBoundaryFEMDomain
procedure, public :: setControlPara => SetControlParaFEMDomain
procedure, public :: select => selectFEMDomain
procedure, public :: show => showFEMDomain
procedure, public :: showRange => showRangeFEMDomain
procedure, public :: showMaterials => showMaterialsFEMDomain
procedure, public :: showBoundaries => showBoundariesFEMDomain
procedure, public :: stl => stlFEMDomain
procedure, public :: obj => objFEMDomain
procedure, public :: vtk => vtkFEMDomain
procedure, public :: MassMatrix => MassMatrixFEMDomain
procedure, public :: MassVector => MassVectorFEMDomain
procedure, public :: Bmatrix => BMatrixFEMDomain
procedure, public :: Dmatrix => DMatrixFEMDomain
procedure, public :: StrainMatrix => StrainMatrixFEMDomain
procedure, public :: StrainVector => StrainVectorFEMDomain
procedure, public :: StressMatrix => StressMatrixFEMDomain
procedure, public :: StressVector => StressVectorFEMDomain
procedure, public :: StiffnessMatrix => StiffnessMatrixFEMDomain
procedure, public :: DiffusionMatrix => DiffusionMatrixFEMDomain
procedure, public :: ConnectMatrix => ConnectMatrixFEMDomain
procedure, public :: ElementVector => ElementVectorFEMDomain
procedure, public :: GlobalVector => GlobalVectorFEMDomain
procedure, public :: TractionVector => TractionVectorFEMDomain

type, public :: FEMDomainp_

Components

TypeVisibility AttributesNameInitial
type(FEMDomain_), public, pointer:: femdomainp

Functions

public function lengthFEMDomain(obj) result(length)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

Return Value real(kind=real64) (3)

public function divideFEMDomain(obj, n) result(FEMDomains)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: n

Return Value type(FEMDomain_), allocatable, (:)

public recursive function getVolumeFEMDomain(obj, elem) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
integer(kind=int32), intent(in), optional :: elem

Return Value real(kind=real64)

public function getJacobiMatrixFEMDomain(obj, elem) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: elem

Return Value real(kind=real64), allocatable, (:,:)

public function searchLayerFEMDomain(obj, name, id) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in), optional :: name
integer(kind=int32), intent(in), optional :: id

Return Value logical

public function getLayerIDFEMDomain(obj, name) result(id)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name

Return Value integer(kind=int32)

public function getLayerAttributeFEMDomain(obj, name) result(id)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name

Return Value integer(kind=int32)

public function getLayerDataStyleFEMDomain(obj, name) result(id)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name

Return Value integer(kind=int32)

public function centerPositionFEMDomain(obj, ElementID) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
integer(kind=int32), intent(in) :: ElementID

Return Value real(kind=real64), allocatable, (:)

public function getGlobalPositionOfGaussPointFEMDomain(obj, ElementID, GaussPointID) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in) :: GaussPointID

Return Value real(kind=real64), allocatable, (:)

public recursive function getShapeFunctionFEMDomain(obj, ElementID, GaussPointID, ReducedIntegration, position) result(sobj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: ElementID
integer(kind=int32), intent(in), optional :: GaussPointID
logical, intent(in), optional :: ReducedIntegration
real(kind=real64), intent(in), optional :: position(:)

Return Value type(ShapeFunction_)

public function getLocalCoordinateFEMDomain(Obj, ElementID, x, y, z) result(xi)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: Obj
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in) :: x
real(kind=real64), intent(in) :: y
real(kind=real64), intent(in) :: z

Return Value real(kind=real64), allocatable, (:)

public function nnFEMDomain(obj) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

Return Value integer(kind=int32)

public function ndFEMDomain(obj) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

Return Value integer(kind=int32)

public function neFEMDomain(obj) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

Return Value integer(kind=int32)

public function nneFEMDomain(obj) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

Return Value integer(kind=int32)

public function ngpFEMDomain(obj) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

Return Value integer(kind=int32)

public function getNearestNodeIDFEMDomain(obj, x, y, z, except, exceptlist) result(node_id)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: x
real(kind=real64), intent(in), optional :: y
real(kind=real64), intent(in), optional :: z
integer(kind=int32), intent(in), optional :: except
integer(kind=int32), intent(in), optional :: exceptlist(:)

Return Value integer(kind=int32)

public function positionFEMDomain(obj, id) result(x)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
integer(kind=int32), intent(in) :: id

Return Value real(kind=real64) (3)

public function position_xFEMDomain(obj, id) result(x)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
integer(kind=int32), intent(in) :: id

Return Value real(kind=real64)

public function position_yFEMDomain(obj, id) result(x)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
integer(kind=int32), intent(in) :: id

Return Value real(kind=real64)

public function position_zFEMDomain(obj, id) result(x)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
integer(kind=int32), intent(in) :: id

Return Value real(kind=real64)

public function MassMatrixFEMDomain(obj, ElementID, Density, DOF) result(MassMatrix)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in), optional :: Density
integer(kind=int32), intent(in), optional :: DOF

Return Value real(kind=real64), allocatable, (:,:)

public function MassVectorFEMDomain(obj, ElementID, Density, DOF, Accel) result(MassVector)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in), optional :: Density
integer(kind=int32), intent(in), optional :: DOF
real(kind=real64), intent(in), optional :: Accel(:)

Return Value real(kind=real64), allocatable, (:)

public function StiffnessMatrixFEMDomain(obj, ElementID, E, v) result(StiffnessMatrix)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in) :: E
real(kind=real64), intent(in) :: v

Return Value real(kind=real64), allocatable, (:,:)

public function DMatrixFEMDomain(obj, E, v) result(Dmat)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in) :: E
real(kind=real64), intent(in) :: v

Return Value real(kind=real64), allocatable, (:,:)

public function StrainMatrixFEMDomain(obj, ElementID, GaussPoint, disp) result(StrainMatrix)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in), optional :: GaussPoint
real(kind=real64), intent(in) :: disp(:,:)

Return Value real(kind=real64), allocatable, (:,:)

public function StrainVectorFEMDomain(obj, ElementID, GaussPoint, disp) result(Strainvec)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in), optional :: GaussPoint
real(kind=real64), intent(in) :: disp(:,:)

Return Value real(kind=real64), allocatable, (:)

public function StressMatrixFEMDomain(obj, ElementID, GaussPoint, disp, E, v) result(StressMatrix)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in), optional :: GaussPoint
real(kind=real64), intent(in) :: disp(:,:)
real(kind=real64), intent(in) :: E
real(kind=real64), intent(in) :: v

Return Value real(kind=real64), allocatable, (:,:)

public function StressVectorFEMDomain(obj, ElementID, GaussPoint, disp, E, v) result(Stressvec)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in), optional :: GaussPoint
real(kind=real64), intent(in) :: disp(:,:)
real(kind=real64), intent(in) :: E
real(kind=real64), intent(in) :: v

Return Value real(kind=real64), allocatable, (:)

public recursive function BMatrixFEMDomain(obj, shapefunction, ElementID) result(Bmat)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
type(ShapeFunction_), intent(in), optional :: shapefunction
integer(kind=int32), intent(in), optional :: ElementID

Return Value real(kind=real64), allocatable, (:,:)

public function DiffusionMatrixFEMDomain(obj, ElementID, D) result(DiffusionMatrix)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in), optional :: D

Return Value real(kind=real64), allocatable, (:,:)

public function ElementVectorFEMDomain(obj, ElementID, GlobalVector, DOF) result(ElementVector)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in) :: GlobalVector(:)
integer(kind=int32), intent(in), optional :: DOF

Return Value real(kind=real64), allocatable, (:)

public function connectivityFEMDomain(obj, ElementID) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
integer(kind=int32), intent(in) :: ElementID

Return Value integer(kind=int32), allocatable, (:)

public function allconnectivityFEMDomain(obj) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

Return Value integer(kind=int32), allocatable, (:,:)

public function selectFEMDomain(obj, x_min, x_max, y_min, y_max, z_min, z_max) result(NodeList)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
real(kind=real64), intent(in), optional :: x_min
real(kind=real64), intent(in), optional :: x_max
real(kind=real64), intent(in), optional :: y_min
real(kind=real64), intent(in), optional :: y_max
real(kind=real64), intent(in), optional :: z_min
real(kind=real64), intent(in), optional :: z_max

Return Value integer(kind=int32), allocatable, (:)

public function NodeIDFEMDomain(obj, ElementID, LocalNodeID) result(NodeID)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in) :: LocalNodeID

Return Value integer(kind=int32)

public function ConnectMatrixFEMDomain(obj, position, DOF, shapefunction, strict) result(connectMatrix)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in) :: position(:)
integer(kind=int32), intent(in) :: DOF
type(ShapeFunction_), intent(in), optional :: shapefunction
logical, intent(in), optional :: strict

Return Value real(kind=real64), allocatable, (:,:)

public function getElementFEMDOmain(obj, ElementID) result(element)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
integer(kind=int32), intent(in) :: ElementID

Return Value type(FEMDomain_)

public function xFEMDomain(obj) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

Return Value real(kind=real64), allocatable, (:)

public function yFEMDomain(obj) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

Return Value real(kind=real64), allocatable, (:)

public function zFEMDomain(obj) result(ret)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

Return Value real(kind=real64), allocatable, (:)

public function TractionVectorFEMDomain(obj, displacement, YoungModulus, PoissonRatio) result(Traction)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in) :: displacement(:)
real(kind=real64), intent(in) :: YoungModulus(:)
real(kind=real64), intent(in) :: PoissonRatio(:)

Return Value real(kind=real64), allocatable, (:)

public function asGlobalVectorFEMDomain(obj, LocalVector, ElementID, DOF) result(globalvec)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
real(kind=real64), intent(in) :: LocalVector(:)
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in) :: DOF

Return Value real(kind=real64), allocatable, (:)

public function getNodeListFEMDomain(obj, BoundingBox, xmin, xmax, ymin, ymax, zmin, zmax) result(NodeList)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
type(FEMDomain_), intent(inout), optional :: BoundingBox
real(kind=real64), intent(in), optional :: xmin
real(kind=real64), intent(in), optional :: xmax
real(kind=real64), intent(in), optional :: ymin
real(kind=real64), intent(in), optional :: ymax
real(kind=real64), intent(in), optional :: zmin
real(kind=real64), intent(in), optional :: zmax

Return Value integer(kind=int32), allocatable, (:)

public function getFacetListFEMDomain(obj, NodeID) result(FacetList)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: NodeID

Return Value integer(kind=int32), allocatable, (:,:)

public function getElementListFEMDomain(obj, BoundingBox, xmin, xmax, ymin, ymax, zmin, zmax, NodeID) result(ElementList)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
type(FEMDomain_), intent(inout), optional :: BoundingBox
real(kind=real64), intent(in), optional :: xmin
real(kind=real64), intent(in), optional :: xmax
real(kind=real64), intent(in), optional :: ymin
real(kind=real64), intent(in), optional :: ymax
real(kind=real64), intent(in), optional :: zmin
real(kind=real64), intent(in), optional :: zmax
integer(kind=int32), intent(in), optional :: NodeID

Return Value integer(kind=int32), allocatable, (:)

public pure function selectRow(Matrix, RowIDs) result(SelectedRows)

Arguments

Type IntentOptional AttributesName
real(kind=real64), intent(in) :: Matrix(:,:)
integer(kind=int32), intent(in) :: RowIDs(:)

Return Value real(kind=real64), allocatable, (:,:)


Subroutines

public subroutine addFEMDomain(obj, mesh, from, length, rot_x, rot_y, rot_z, x, y, z, dx, dy, dz)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
class(Mesh_), intent(inout), optional :: mesh
integer(kind=int32), intent(in), optional :: from
real(kind=real64), intent(in), optional :: length
real(kind=real64), intent(in), optional :: rot_x
real(kind=real64), intent(in), optional :: rot_y
real(kind=real64), intent(in), optional :: rot_z
real(kind=real64), intent(in), optional :: x
real(kind=real64), intent(in), optional :: y
real(kind=real64), intent(in), optional :: z
real(kind=real64), intent(in), optional :: dx
real(kind=real64), intent(in), optional :: dy
real(kind=real64), intent(in), optional :: dz

public subroutine openFEMDomain(obj, path, name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: path
character(len=*), intent(in), optional :: name

public subroutine removeFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public subroutine saveFEMDomain(obj, path, name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: path
character(len=*), intent(in), optional :: name

public subroutine displayFEMDomain(obj, path, name, extention, field)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: path
character(len=*), intent(in) :: name
character(len=*), intent(in) :: extention
real(kind=real64), intent(in), optional :: field(:)

public subroutine fieldFEMDomain(obj, scalar, vector, tensor)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: scalar(:)
real(kind=real64), intent(in), optional :: vector(:,:)
real(kind=real64), intent(in), optional :: tensor(:,:,:)

public subroutine DeallocateFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public subroutine renameFEMDomain(obj, Name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: Name

public subroutine InitializeFEMDomain(obj, Default, FileName, simple)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
logical, intent(in), optional :: Default
character(len=*), intent(in), optional :: FileName
logical, intent(in), optional :: simple

public subroutine showFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj

public subroutine ImportFEMDomain(obj, OptionalFileFormat, OptionalProjectName, FileHandle, Mesh, Boundaries, Boundary, Materials, Material, NumberOfBoundaries, BoundaryID, NumberOfMaterials, MaterialID, node, element, materialinfo, dirichlet, neumann, file)

print , "Project : ",ProjectName print , "is Exported as : ",FileFormat," format" print *, "File Name is : ",FileName

Read more…

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=4), intent(in), optional :: OptionalFileFormat
character(len=*), intent(in), optional :: OptionalProjectName
integer, intent(in), optional :: FileHandle
type(Mesh_), intent(in), optional :: Mesh
logical, intent(in), optional :: Boundaries
type(Boundary_), intent(in), optional :: Boundary
logical, intent(in), optional :: Materials
type(MaterialProp_), intent(in), optional :: Material
integer, intent(in), optional :: NumberOfBoundaries
integer, intent(in), optional :: BoundaryID
integer, intent(in), optional :: NumberOfMaterials
integer, intent(in), optional :: MaterialID
logical, intent(in), optional :: node
logical, intent(in), optional :: element
logical, intent(in), optional :: materialinfo
logical, intent(in), optional :: dirichlet
logical, intent(in), optional :: neumann
character(len=*), intent(in), optional :: file

public subroutine ImportMeshFEMDomain(obj, Mesh)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
class(Mesh_), intent(inout) :: Mesh

public subroutine resizeFEMDomain(obj, x_rate, y_rate, z_rate, x_len, y_len, z_len, x, y, z)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: x_rate
real(kind=real64), intent(in), optional :: y_rate
real(kind=real64), intent(in), optional :: z_rate
real(kind=real64), intent(in), optional :: x_len
real(kind=real64), intent(in), optional :: y_len
real(kind=real64), intent(in), optional :: z_len
real(kind=real64), intent(in), optional :: x
real(kind=real64), intent(in), optional :: y
real(kind=real64), intent(in), optional :: z

public subroutine fatFEMDomain(obj, ratio)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in) :: ratio

public subroutine MergeFEMDomain(inobj1, inobj2, outobj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: inobj1
class(FEMDomain_), intent(in) :: inobj2
class(FEMDomain_), intent(out) :: outobj

public subroutine ExportFEMDomain(obj, OptionalFileFormat, OptionalProjectName, FileHandle, SolverType, MeshDimension, FileName, Name, regacy, with, path, extention, step, FieldValue, restart)

print , "Project : ",ProjectName print , "is Exported as : ",FileFormat," format" print *, "File Name is : ",iFileName

Read more…

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in), optional :: OptionalFileFormat
character(len=*), intent(in), optional :: OptionalProjectName
integer(kind=int32), intent(in), optional :: FileHandle
character(len=*), intent(in), optional :: SolverType
integer(kind=int32), intent(in), optional :: MeshDimension
character(len=*), intent(in), optional :: FileName
character(len=*), intent(in), optional :: Name
logical, intent(in), optional :: regacy
class(FEMDomain_), intent(inout), optional :: with
character(len=*), intent(in), optional :: path
character(len=*), intent(in), optional :: extention
integer(kind=int32), intent(in), optional :: step
real(kind=real64), intent(in), optional :: FieldValue(:,:)
logical, intent(in), optional :: restart

public subroutine InitDBC(obj, NumOfValPerNod)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: NumOfValPerNod

public subroutine AddDBoundCondition(obj, xmin, xmax, ymin, ymax, zmin, zmax, tmin, tmax, valx, valy, valz, val, val_id, NumOfValPerNod, Mode2D)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: xmin
real(kind=real64), intent(in), optional :: xmax
real(kind=real64), intent(in), optional :: ymin
real(kind=real64), intent(in), optional :: ymax
real(kind=real64), intent(in), optional :: zmin
real(kind=real64), intent(in), optional :: zmax
real(kind=real64), intent(in), optional :: tmin
real(kind=real64), intent(in), optional :: tmax
real(kind=real64), intent(in), optional :: valx
real(kind=real64), intent(in), optional :: valy
real(kind=real64), intent(in), optional :: valz
real(kind=real64), intent(in), optional :: val
integer(kind=int32), intent(in), optional :: val_id
integer(kind=int32), intent(in), optional :: NumOfValPerNod
logical, intent(in), optional :: Mode2D

public subroutine InitNBC(obj, NumOfValPerNod)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: NumOfValPerNod

public subroutine AddNBoundCondition(obj, xmin, xmax, ymin, ymax, zmin, zmax, tmin, tmax, valx, valy, valz, val, val_id, NumOfValPerNod, Mode2D)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: xmin
real(kind=real64), intent(in), optional :: xmax
real(kind=real64), intent(in), optional :: ymin
real(kind=real64), intent(in), optional :: ymax
real(kind=real64), intent(in), optional :: zmin
real(kind=real64), intent(in), optional :: zmax
real(kind=real64), intent(in), optional :: tmin
real(kind=real64), intent(in), optional :: tmax
real(kind=real64), intent(in), optional :: valx
real(kind=real64), intent(in), optional :: valy
real(kind=real64), intent(in), optional :: valz
real(kind=real64), intent(in), optional :: val
integer(kind=int32), intent(in), optional :: val_id
integer(kind=int32), intent(in), optional :: NumOfValPerNod
logical, intent(in), optional :: Mode2D

public subroutine InitTBC(obj, NumOfValPerNod)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: NumOfValPerNod

public subroutine AddTBoundCondition(obj, xmin, xmax, ymin, ymax, zmin, zmax, tmin, tmax, valx, valy, valz, val, val_id, NumOfValPerNod, Mode2D)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: xmin
real(kind=real64), intent(in), optional :: xmax
real(kind=real64), intent(in), optional :: ymin
real(kind=real64), intent(in), optional :: ymax
real(kind=real64), intent(in), optional :: zmin
real(kind=real64), intent(in), optional :: zmax
real(kind=real64), intent(in), optional :: tmin
real(kind=real64), intent(in), optional :: tmax
real(kind=real64), intent(in), optional :: valx
real(kind=real64), intent(in), optional :: valy
real(kind=real64), intent(in), optional :: valz
real(kind=real64), intent(in), optional :: val
integer(kind=int32), intent(in), optional :: val_id
integer(kind=int32), intent(in), optional :: NumOfValPerNod
logical, intent(in), optional :: Mode2D

public subroutine SetSolver(obj, inSolverType)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=200), intent(in) :: inSolverType

public subroutine SetName(obj, Name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: Name

public subroutine SetDataType(obj, inDType)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=200), intent(in) :: inDType

public subroutine SetUpFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public subroutine SetControlParaFEMDomain(obj, OptionalTol, OptionalItrTol, OptionalTimestep, OptionalSimMode)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: OptionalTol
integer(kind=int32), intent(in), optional :: OptionalItrTol
integer(kind=int32), intent(in), optional :: OptionalTimestep
integer(kind=int32), intent(in), optional :: OptionalSimMode

public subroutine AddMaterialID(obj, xmin, xmax, ymin, ymax, zmin, zmax, tmin, tmax, valx, valy, valz, MaterialID, Mode2D)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: xmin
real(kind=real64), intent(in), optional :: xmax
real(kind=real64), intent(in), optional :: ymin
real(kind=real64), intent(in), optional :: ymax
real(kind=real64), intent(in), optional :: zmin
real(kind=real64), intent(in), optional :: zmax
real(kind=real64), intent(in), optional :: tmin
real(kind=real64), intent(in), optional :: tmax
real(kind=real64), intent(in), optional :: valx
real(kind=real64), intent(in), optional :: valy
real(kind=real64), intent(in), optional :: valz
integer(kind=int32), intent(in), optional :: MaterialID
logical, intent(in), optional :: Mode2D

public subroutine MeltingSkeltonFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public recursive subroutine mshFEMDomain(obj, name, scalar, vector, tensor, step, fieldname, NodeList)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
character(len=*), intent(in) :: name
real(kind=real64), intent(in), optional :: scalar(:,:)
real(kind=real64), intent(in), optional :: vector(:,:)
real(kind=real64), intent(in), optional :: tensor(:,:,:)
integer(kind=int32), intent(in), optional :: step
character(len=*), intent(in), optional :: fieldname
integer(kind=int32), intent(in), optional :: NodeList(:)

public subroutine GmshPlotMesh(obj, OptionalContorName, OptionalAbb, OptionalStep, Name, withNeumannBC, withDirichletBC, onlyNeumannBC, onlyDirichletBC, asMsh, withMaterial, Tag, timestep, field)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character, intent(in), optional :: OptionalContorName*30
character, intent(in), optional :: OptionalAbb*6
integer(kind=int32), intent(in), optional :: OptionalStep
character(len=*), intent(in), optional :: Name
logical, intent(in), optional :: withNeumannBC
logical, intent(in), optional :: withDirichletBC
logical, intent(in), optional :: onlyNeumannBC
logical, intent(in), optional :: onlyDirichletBC
logical, intent(in), optional :: asMsh
logical, intent(in), optional :: withMaterial
character(len=*), intent(in), optional :: Tag
integer(kind=int32), intent(in), optional :: timestep
real(kind=real64), intent(in), optional allocatable:: field(:)

public subroutine GmshPlotContour(obj, gp_value, OptionalContorName, OptionalAbb, OptionalStep, Name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
real(kind=real64), intent(in) :: gp_value(:,:)
character, intent(in), optional :: OptionalContorName*30
character, intent(in), optional :: OptionalAbb*6
integer(kind=int32), intent(in), optional :: OptionalStep
character(len=*), intent(in), optional :: Name

public subroutine GmshPlotVector(obj, Vector, Name, FieldName, Step, fh, withMsh, ElementWize, NodeWize, onlyDirichlet)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
real(kind=real64), intent(in), optional :: Vector(:,:)
character(len=*), intent(in), optional :: Name
character(len=*), intent(in) :: FieldName
integer(kind=int32), intent(in) :: Step
integer(kind=int32), intent(in), optional :: fh
logical, intent(in), optional :: withMsh
logical, intent(in), optional :: ElementWize
logical, intent(in), optional :: NodeWize
logical, intent(in), optional :: onlyDirichlet

public subroutine GmshPlotContour2D(obj, gp_value, OptionalContorName, OptionalAbb, OptionalStep, Name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
real(kind=real64), intent(in) :: gp_value(:,:)
character, intent(in), optional :: OptionalContorName*30
character, intent(in), optional :: OptionalAbb*6
integer(kind=int32), intent(in), optional :: OptionalStep
character(len=*), intent(in), optional :: Name

public subroutine GmshExportStress(obj, uvec, sigma, strain_measure, step, Name)

"Hydrostatic stress (kPa)" ""Deviatoric stress (kPa)" "Hydrostatic strain" "Deviatoric strain"

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
real(kind=real64), intent(in) :: uvec(:)
real(kind=real64), intent(in) :: sigma(:,:,:)
real(kind=real64), intent(in) :: strain_measure(:,:,:)
integer(kind=int32), intent(in) :: step
character(len=*), intent(in), optional :: Name

public subroutine GnuplotPlotContour(obj, gp_value, OptionalContorName, OptionalAbb, OptionalStep)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
real(kind=real64), intent(in) :: gp_value(:,:)
character, intent(in), optional :: OptionalContorName*30
character, intent(in), optional :: OptionalAbb*6
integer(kind=int32), intent(in), optional :: OptionalStep

public subroutine GnuplotExportStress(obj, uvec, sigma, strain_measure, step)

"Hydrostatic stress (kPa)" ""Deviatoric stress (kPa)" "Hydrostatic strain" "Deviatoric strain"

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
real(kind=real64), intent(in) :: uvec(:)
real(kind=real64), intent(in) :: sigma(:,:,:)
real(kind=real64), intent(in) :: strain_measure(:,:,:)
integer(kind=int32), intent(in) :: step

public subroutine moveFEMDomain(obj, x, y, z, NodeList)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: x
real(kind=real64), intent(in), optional :: y
real(kind=real64), intent(in), optional :: z
integer(kind=int32), intent(in), optional :: NodeList(:)

public subroutine rotateFEMDomain(obj, x, y, z, deg)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: x
real(kind=real64), intent(in), optional :: y
real(kind=real64), intent(in), optional :: z
logical, intent(in), optional :: deg

public subroutine AddNBCFEMDomain(obj, NodID, DimID, Val, FastMode)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: NodID
integer(kind=int32), intent(in) :: DimID
real(kind=real64), intent(in) :: Val
logical, intent(in), optional :: FastMode

public subroutine ExportFEMDomainAsSTL(obj, FileHandle, MeshDimension, FileName)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: FileHandle
integer(kind=int32), intent(in), optional :: MeshDimension
character(len=*), intent(in), optional :: FileName

public subroutine meshingFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public subroutine removeDBoundCondition(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public subroutine removeNBoundCondition(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public subroutine removeTBoundCondition(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public subroutine CheckConnedctivityFEMDomain(obj, fix)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
logical, intent(in), optional :: fix

public subroutine getDBCVectorFEMDomain(obj, DBCvec)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
real(kind=real64), intent(inout), allocatable:: DBCvec(:,:)

public subroutine convertMeshTypeFEMDomain(obj, Option)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: Option

public subroutine remeshFEMDomain(obj, meshtype, Name, x_num, y_num, z_num, x_len, y_len, z_len, Le, Lh, Dr, thickness, division, top, margin, inclineRate, shaperatio, master, slave, x, y, z, dx, dy, dz, coordinate)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in), optional :: meshtype
character(len=*), intent(in), optional :: Name
integer(kind=int32), intent(in), optional :: x_num
integer(kind=int32), intent(in), optional :: y_num
integer(kind=int32), intent(in), optional :: z_num
real(kind=real64), intent(in), optional :: x_len
real(kind=real64), intent(in), optional :: y_len
real(kind=real64), intent(in), optional :: z_len
real(kind=real64), intent(in), optional :: Le
real(kind=real64), intent(in), optional :: Lh
real(kind=real64), intent(in), optional :: Dr
real(kind=real64), intent(in), optional :: thickness
integer(kind=int32), intent(in), optional :: division
real(kind=real64), intent(in), optional :: top
real(kind=real64), intent(in), optional :: margin
real(kind=real64), intent(in), optional :: inclineRate
real(kind=real64), intent(in), optional :: shaperatio
type(FEMDomain_), intent(inout), optional :: master
type(FEMDomain_), intent(inout), optional :: slave
real(kind=real64), intent(in), optional :: x
real(kind=real64), intent(in), optional :: y
real(kind=real64), intent(in), optional :: z
real(kind=real64), intent(in), optional :: dx
real(kind=real64), intent(in), optional :: dy
real(kind=real64), intent(in), optional :: dz
real(kind=real64), intent(in), optional :: coordinate(:,:)

public subroutine createFEMDomain(obj, meshtype, Name, x_num, y_num, z_num, x_len, y_len, z_len, Le, Lh, Dr, thickness, division, top, margin, inclineRate, shaperatio, master, slave, x, y, z, dx, dy, dz, coordinate, species, SoyWidthRatio)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: meshtype
character(len=*), intent(in), optional :: Name
integer(kind=int32), intent(in), optional :: x_num
integer(kind=int32), intent(in), optional :: y_num
integer(kind=int32), intent(in), optional :: z_num
real(kind=real64), intent(in), optional :: x_len
real(kind=real64), intent(in), optional :: y_len
real(kind=real64), intent(in), optional :: z_len
real(kind=real64), intent(in), optional :: Le
real(kind=real64), intent(in), optional :: Lh
real(kind=real64), intent(in), optional :: Dr
real(kind=real64), intent(in), optional :: thickness
integer(kind=int32), intent(in), optional :: division
real(kind=real64), intent(in), optional :: top
real(kind=real64), intent(in), optional :: margin
real(kind=real64), intent(in), optional :: inclineRate
real(kind=real64), intent(in), optional :: shaperatio
type(FEMDomain_), intent(inout), optional :: master
type(FEMDomain_), intent(inout), optional :: slave
real(kind=real64), intent(in), optional :: x
real(kind=real64), intent(in), optional :: y
real(kind=real64), intent(in), optional :: z
real(kind=real64), intent(in), optional :: dx
real(kind=real64), intent(in), optional :: dy
real(kind=real64), intent(in), optional :: dz
real(kind=real64), intent(in), optional :: coordinate(:,:)
integer(kind=int32), intent(in), optional :: species
real(kind=real64), intent(in), optional :: SoyWidthRatio

public subroutine setBoundaryFEMDomain(obj, new, x_max, x_min, y_max, y_min, z_max, z_min, t_max, t_min, value, values)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
logical, intent(in), optional :: new
real(kind=real64), intent(in), optional :: x_max
real(kind=real64), intent(in), optional :: x_min
real(kind=real64), intent(in), optional :: y_max
real(kind=real64), intent(in), optional :: y_min
real(kind=real64), intent(in), optional :: z_max
real(kind=real64), intent(in), optional :: z_min
real(kind=real64), intent(in), optional :: t_max
real(kind=real64), intent(in), optional :: t_min
real(kind=real64), intent(in), optional :: value
real(kind=real64), intent(in), optional :: values(4)

public subroutine showRangeFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_) :: obj

public subroutine ImportBoundariesFEMDomain(obj, Boundary, NumberOfBoundaries, BoundaryID)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
type(Boundary_), intent(in), target:: Boundary
integer(kind=int32), intent(in), optional :: NumberOfBoundaries
integer(kind=int32), intent(in), optional :: BoundaryID

public subroutine showBoundariesFEMDomain(obj, Name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in), optional :: Name

public subroutine removeBoundariesFEMDomain(obj, Name, BoundaryID)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in), optional :: Name
integer(kind=int32), intent(in), optional :: BoundaryID

public subroutine copyFEMDomain(obj, OriginalObj, onlyMesh)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
class(FEMDomain_), intent(in) :: OriginalObj
logical, intent(in), optional :: onlyMesh

public recursive subroutine bakeFEMDomain(obj, template, templateFile, NodalDOF, NumOfMaterialPara, Tol, SimMode, ItrTol, Timestep)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in), optional :: template
character(len=*), intent(in), optional :: templateFile
integer(kind=int32), intent(in), optional :: NodalDOF
integer(kind=int32), intent(in), optional :: NumOfMaterialPara
real(kind=real64), intent(in), optional :: Tol
integer(kind=int32), intent(in), optional :: SimMode
integer(kind=int32), intent(in), optional :: ItrTol
integer(kind=int32), intent(in), optional :: Timestep

public subroutine bakeMaterialsFEMDomain(obj, NumOfMatPara)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: NumOfMatPara

public subroutine bakeDBoundariesFEMDomain(obj, NodeDOF)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: NodeDOF

public subroutine bakeNBoundariesFEMDomain(obj, NodeDOF)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: NodeDOF

public subroutine bakeTBoundariesFEMDomain(obj, NodeDOF)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: NodeDOF

public subroutine ImportMaterialsFEMDomain(obj, Material, NumberOfMaterials, MaterialID)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
type(MaterialProp_), intent(in), target:: Material
integer(kind=int32), intent(in), optional :: NumberOfMaterials
integer(kind=int32), intent(in), optional :: MaterialID

public subroutine showMaterialsFEMDomain(obj, Name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in), optional :: Name

public subroutine removeMaterialsFEMDomain(obj, Name, BoundaryID)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in), optional :: Name
integer(kind=int32), intent(in), optional :: BoundaryID

public subroutine contactdetectFEMDomain(obj1, obj2, ContactModel)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj1
class(FEMDomain_), intent(inout) :: obj2
character(len=*), intent(in), optional :: ContactModel

public subroutine getSurfaceFEMDomain(Obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: Obj

public recursive subroutine vtkFEMDomain(obj, name, scalar, vector, tensor, field, ElementType, Nodelist)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name
real(kind=real64), intent(in), optional :: scalar(:)
real(kind=real64), intent(in), optional :: vector(:,:)
real(kind=real64), intent(in), optional :: tensor(:,:,:)
character(len=*), intent(in), optional :: field
integer(kind=int32), intent(in), optional :: ElementType
integer(kind=int32), intent(in), optional :: Nodelist(:)

public subroutine plyFEMDomain(obj, name, NodeList)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name
integer(kind=int32), intent(in), optional :: NodeList(:)

public subroutine stlFEMDomain(obj, name, NodeList)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name
integer(kind=int32), intent(in), optional :: NodeList(:)

public subroutine objFEMDomain(obj, name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name

public subroutine jsonFEMDomain(obj, name, fh, endl)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(in) :: obj
character(len=*), intent(in), optional :: name
integer(kind=int32), intent(in), optional :: fh
logical, intent(in), optional :: endl

public subroutine readFEMDomain(obj, name, DimNum, ElementType)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name
integer(kind=int32), intent(in), optional :: DimNum
integer(kind=int32), intent(in), optional :: ElementType

public subroutine addLayerFEMDomain(obj, name, attribute, datastyle, vectorrank, tensorrank1, tensorrank2)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name
character(len=*), intent(in) :: attribute
character(len=*), intent(in) :: datastyle
integer, intent(in), optional :: vectorrank
integer, intent(in), optional :: tensorrank1
integer, intent(in), optional :: tensorrank2

public subroutine addLayerFEMDomainScalar(obj, name, scalar)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name
real(kind=real64), intent(in) :: scalar(:)

public subroutine addLayerFEMDomainVector(obj, name, vector)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name
real(kind=real64), intent(in) :: vector(:,:)

public subroutine addLayerFEMDomaintensor(obj, name, tensor)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in) :: name
real(kind=real64), intent(in) :: tensor(:,:,:)

public subroutine importLayerFEMDomain(obj, name, id, scalar, vector, tensor)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=*), intent(in), optional :: name
integer(kind=int32), intent(in), optional :: id
real(kind=real64), intent(in), optional :: scalar(:)
real(kind=real64), intent(in), optional :: vector(:,:)
real(kind=real64), intent(in), optional :: tensor(:,:,:)

public subroutine showLayerFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public subroutine projectionFEMDomain(obj, direction, domain, PhysicalField, debug)

call GetAllShapeFunc(shapefunc,elem_id=1,nod_coord=obj%Mesh%NodCoord,&

Read more…

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
character(len=2), intent(in) :: direction
type(FEMDomain_), intent(inout) :: domain
character(len=*), intent(in) :: PhysicalField
logical, intent(in), optional :: debug

public subroutine editFEMDomain(obj, x, altitude)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: x(:)
real(kind=real64), intent(in), optional :: altitude(:)

public subroutine GlobalVectorFEMDomain(obj, ElementID, ElementVector, DOF, Replace, Reset, GlobalVector)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in) :: ElementVector(:)
integer(kind=int32), intent(in), optional :: DOF
logical, intent(in), optional :: Replace
logical, intent(in), optional :: Reset
real(kind=real64), intent(inout), allocatable:: GlobalVector(:)

public subroutine killElementFEMDomain(obj, blacklist, flag)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: blacklist(:)
integer(kind=int32), intent(in), optional :: flag

public subroutine ImportVTKFileFEMDomain(Obj, name)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: Obj
character(len=*), intent(in) :: name

public subroutine Delaunay3DFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj

public subroutine Delaunay2DFEMDomain(obj)

Arguments

Type IntentOptional AttributesName
class(FEMDomain_), intent(inout) :: obj