FEMDomainClass Module



Variables

Type Visibility Attributes Name Initial
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 :: VTK_QUADRATIC_LINEAR_WEDGE = 31
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
integer(kind=int32), public, parameter :: FEMDomain_Overset_GPP = 1
integer(kind=int32), public, parameter :: FEMDomain_Overset_P2P = 2

Interfaces

public interface operator(+)

public interface ZeroMatrix_as_CRS

  • public function ZeroMatrix_as_CRS_FEMDomains(femdomains, DOF) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    type(FEMDomain_), intent(inout) :: femdomains(:)
    integer(kind=int32), intent(in) :: DOF

    Return Value type(CRS_)

public interface to_composite_beam

  • public function to_composite_beam_FEMDomain(length, width, angle_x, angle_z, division) result(this)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: length(:)
    real(kind=real64), intent(in) :: width(:)
    real(kind=real64), intent(in), optional :: angle_x(:)
    real(kind=real64), intent(in), optional :: angle_z
    integer(kind=int32), intent(in), optional :: division(:)

    Return Value type(FEMDomain_)

public interface to_ptr

  • public function to_ptr_femdomain(femdomain) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    type(FEMDomain_), intent(in), target :: femdomain

    Return Value type(FEMDomainp_)

  • public function to_ptr_femdomains(femdomains) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    type(FEMDomain_), intent(in), target :: femdomains(:)

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

public interface num_node

  • public function num_node_femdomain_pointers(FEMDomainPointer) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)

    Return Value integer(kind=int32)

public interface num_element

  • public function num_element_femdomain_pointers(FEMDomainPointer) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)

    Return Value integer(kind=int32)

public interface get_element_idx

  • public function get_element_idx_FEMDomainPointer(FEMDomainPointer, DomainID, ElementID) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)
    integer(kind=int32), intent(in) :: DomainID
    integer(kind=int32), intent(in) :: ElementID

    Return Value integer(kind=int32)

public interface get_node_list

  • public function get_node_list_by_range_FEMDP(FEMDomainPointer, range) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)
    type(Range_), intent(in) :: range

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

public interface export_vtk

  • public subroutine export_vtk_FEMDomainPointer(FEMDomainPointer, name, field, displacement)

    Arguments

    Type IntentOptional Attributes Name
    type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)
    character(len=*), intent(in) :: name
    real(kind=real64), intent(in) :: field(:)
    real(kind=real64), intent(in), optional :: displacement(:)

public interface diff

  • public function diff_for_real_array(femdomains, diff_target) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    type(FEMDomain_), intent(in) :: femdomains(1:2)
    real(kind=real64), intent(in) :: diff_target(:,:)

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


Derived Types

type, public ::  Meshp_

Components

Type Visibility Attributes Name Initial
type(Mesh_), public, pointer :: Meshp => null()

type, public ::  Materialp_

Components

Type Visibility Attributes Name Initial
type(MaterialProp_), public, pointer :: Materialp => null()

type, public ::  Boundaryp_

Components

Type Visibility Attributes Name Initial
type(Boundary_), public, pointer :: Boundaryp => null()

type, public ::  OversetConnect_

Components

Type Visibility Attributes Name Initial
logical, public :: active = .false.
real(kind=real64), public, allocatable :: position(:)
integer(kind=int32), public :: ElementID
integer(kind=int32), public :: GaussPointID
integer(kind=int32), public :: projection
integer(kind=int32), public :: MyElementID
integer(kind=int32), public, allocatable :: InterConnect(:)
integer(kind=int32), public, allocatable :: DomainIDs12(:)

type, public ::  FEMDomain_

Components

Type Visibility Attributes Name Initial
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=:), public, allocatable :: FilePath
character(len=:), public, allocatable :: FileName
character(len=:), public, allocatable :: Name
character(len=:), public, allocatable :: SolverType
character(len=:), public, allocatable :: Category1
character(len=:), public, allocatable :: Category2
character(len=:), public, allocatable :: Category3
character(len=9), public :: Dtype = "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
integer(kind=int32), public, allocatable :: mpi_global_node_idx(:)
integer(kind=int32), public, allocatable :: mpi_shared_node_info(:,:)
type(OversetConnect_), public, allocatable :: OversetConnect(:)
integer(kind=int32), public, allocatable :: OversetExists(:,:)
integer(kind=int32), public :: num_oversetconnect = 0
type(Meshp_), public, allocatable :: Meshes(:)
type(Materialp_), public, allocatable :: Materials(:)
type(Boundaryp_), public, allocatable :: Boundaries(:)
real(kind=real64), public, allocatable :: ObjectPosition(:)
real(kind=real64), public :: total_rotation(1:3) = 0.0d0
integer(kind=int32), public, allocatable :: grub_NodeList(:)
logical, public :: debug_mode = .false.

Type-Bound Procedures

procedure, public :: add => addFEMDomain
procedure, public :: addNBC => AddNBCFEMDomain
procedure, public :: add_point => add_pointFEMDomain
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 :: mpi_matmul => mpi_matmulFEMDomain
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 :: Boolean => BooleanFEMDomain
procedure, public :: bond => bondFEMDomain
procedure, public :: checkConnectivity => CheckConnedctivityFEMDomain
procedure, public :: connectivity => connectivityFEMDomain
procedure, public :: copy => copyFEMDomain
procedure, public :: convertMeshType => convertMeshTypeFEMDomain
procedure, public :: changeElementType => changeElementTypeFEMDomain
procedure, public :: clipVector => clipVectorFEMDomain
procedure, public :: contactdetect => contactdetectFEMDomain
procedure, public :: centerPosition => centerPositionFEMDomain
procedure, public, pass :: centerPositionFEMDomain
procedure, public, pass :: centerPositionByNodeListFEMD
generic, public :: getCenter => centerPositionFEMDomain, centerPositionByNodeListFEMD
procedure, public :: create => createFEMDomain
procedure, public :: cube => cubeFEMDomain

direct object generation

Read more…
procedure, public :: delete => DeallocateFEMDomain
procedure, public :: display => displayFEMDomain
procedure, public, pass :: divide_mpi_FEMDomain
procedure, public, pass :: divide_nFEMDomain
generic, public :: divide => divide_mpi_FEMDomain, divide_nFEMDomain
procedure, public :: Delaunay3D => Delaunay3DFEMDomain
procedure, public :: Delaunay2D => Delaunay2DFEMDomain
procedure, public :: deform => deformFEMDomain
procedure, public :: Deduplicate => DeduplicateFEMDomain
procedure, public :: export => ExportFEMDomain
procedure, public :: edit => editFEMDomain
procedure, public :: empty => emptyFEMDomain
procedure, public :: extract => extractFacetElementFEMDomain
procedure, public :: field => fieldFEMDomain
procedure, public :: fixReversedElements => fixReversedElementsFEMDomain
procedure, public :: fit => fitFEMDomain
procedure, public :: fitSegmentToSegment => fitSegmentToSegmentFEMDomain
procedure, public :: full => fullFEMDomain
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, pass :: getLayer_scalarFEMDomain
generic, public :: getLayer => getLayer_scalarFEMDomain
procedure, public :: getLayerID => getLayerIDFEMDomain
procedure, public :: getLayerAttribute => getLayerAttributeFEMDomain
procedure, public :: getLayerDataStyle => getLayerDataStyleFEMDomain
procedure, public :: getShapeFunction => getShapeFunctionFEMDomain
procedure, public :: getNearestNodeID => getNearestNodeIDFEMDomain
procedure, public :: getE2Econnectivity => getE2EconnectivityFEMDomain
procedure, public :: getElementCauchyStress => getElementCauchyStressFEMDomain
procedure, public :: getMyID => getMyIDFEMDomain
procedure, public :: getValue => getValueFEMDomain
procedure, public :: getStrainTensor => getStrainTensorFEMDomain
procedure, public :: getSpinTensor => getSpinTensorFEMDomain
procedure, public :: getVelocityGradient => getVelocityGradientFEMDomain
procedure, public :: getNumberOfOversetForElement => getNumberOfOversetForElementFEMDomain
procedure, public :: getSurface => getSurfaceFEMDomain
procedure, public :: getSurfaceElements => getSurfaceElementsFEMDomain
procedure, public :: getVertices => getVerticesFEMDomain
procedure, public :: NodeID => NodeIDFEMDomain
procedure, public :: getElementID => getElementIDFEMDomain
procedure, public :: getNodeList => getNodeListFEMDomain
procedure, public :: getDuplicatedNodeList => getDuplicatedNodeListFEMDomain
procedure, public :: has => hasFEMDomain
procedure, public :: have => hasFEMDomain
procedure, public :: MovingAverageFilter => MovingAverageFilterFEMDomain
procedure, public :: getElement => getElementFEMDOmain
procedure, public :: getNeighboringElementList => getNeighboringElementListFEMDomain
procedure, public :: to_ElementID => to_ElementIDFEMDomain
procedure, public, pass :: getElementListFEMDomain
procedure, public, pass :: getElementList_by_radiusFEMDomain
generic, public :: getElementList => getElementList_by_radiusFEMDomain, getElementListFEMDomain
procedure, public :: getScalarField => getScalarFieldFEMDomain
procedure, public :: getSingleFacetNodeID => getSingleFacetNodeIDFEMDomain
procedure, public :: getFacetLocalNodeID => getFacetLocalNodeIDFEM
procedure, public, pass :: getFacetList_by_range
procedure, public, pass :: getFacetListFEMDomain
generic, public :: getFacetList => getFacetList_by_range, getFacetListFEMDomain
procedure, public :: getFacetList_as_Idx => getFacetList_as_Idx_by_range
procedure, public :: getLocalCoordinate => getLocalCoordinateFEMDomain
procedure, public :: GlobalPositionOfGaussPoint => getGlobalPositionOfGaussPointFEMDomain
procedure, public :: getElevation => getElevationFEMDomain
procedure, public :: init => InitializeFEMDomain
procedure, public :: import => ImportFEMDomain
procedure, public :: importVTKFile => ImportVTKFileFEMDomain
procedure, public :: importSTLFile => ImportSTLFileFEMDomain
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 :: inside_of_element => inside_of_elementFEMDomain
procedure, public :: json => jsonFEMDomain
procedure, public :: killElement => killElementFEMDomain
procedure, public :: killNodes => killNodesFEMDomain
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 :: NumOversetElements => NumOversetElementsFEMDomain
procedure, public :: x => xFEMDomain
procedure, public :: y => yFEMDomain
procedure, public :: z => zFEMDomain
procedure, public :: getPoint => getPointFEMDomain
procedure, public :: Point => getPointFEMDomain
procedure, public :: getPoint_x => getPoint_xFEMDomain
procedure, public :: getPoint_y => getPoint_yFEMDomain
procedure, public :: getPoint_z => getPoint_zFEMDomain
procedure, public :: setPoint_x => set_xFEMDomain
procedure, public :: setPoint_y => set_yFEMDomain
procedure, public :: setPoint_z => set_zFEMDomain
procedure, public :: xyz => xyzFEMDomain
procedure, public :: asGlobalVector => asGlobalVectorFEMDomain
procedure, public :: ElementID2NodeID => ElementID2NodeIDFEMDomain
procedure, public :: open => openFEMDomain
procedure, public, pass :: oversetFEMDomain
procedure, public, pass :: oversetFEMDomains
generic, public :: overset => oversetFEMDomain, oversetFEMDomains
generic, public :: overlap => oversetFEMDomain, oversetFEMDomains
generic, public :: chimera => oversetFEMDomain, oversetFEMDomains
procedure, public :: PCAvector => PCAvectorFEMDomain
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 :: points => xyzFEMDomain
procedure, public :: span => spanFEMDomain
procedure, public :: to_HollowTube => to_HollowTube_FEMDomain
procedure, public :: to_Tube => to_HollowTube_FEMDomain
procedure, public :: to_culm => to_culm_FEMDomain
procedure, public :: to_multi_culm => to_multi_culm_FEMDomain
procedure, public :: to_cylinder => to_cylinder_FEMDomain
procedure, public :: to_vertexData => to_vertexData_FEMDomain
procedure, public :: xmin => xminFEMDomain
procedure, public :: x_min => xminFEMDomain
procedure, public :: xmax => xmaxFEMDomain
procedure, public :: x_max => xmaxFEMDomain
procedure, public :: ymin => yminFEMDomain
procedure, public :: y_min => yminFEMDomain
procedure, public :: ymax => ymaxFEMDomain
procedure, public :: y_max => ymaxFEMDomain
procedure, public :: zmin => zminFEMDomain
procedure, public :: z_min => zminFEMDomain
procedure, public :: zmax => zmaxFEMDomain
procedure, public :: z_max => zmaxFEMDomain
procedure, public :: xrange => xrangeFEMDomain
procedure, public :: x_range => xrangeFEMDomain
procedure, public :: xr => xrangeFEMDomain
procedure, public :: yrange => yrangeFEMDomain
procedure, public :: y_range => yrangeFEMDomain
procedure, public :: yr => yrangeFEMDomain
procedure, public :: zrange => zrangeFEMDomain
procedure, public :: z_range => zrangeFEMDomain
procedure, public :: zr => zrangeFEMDomain
procedure, public :: x_len => x_lenFEMDomain
procedure, public :: y_len => y_lenFEMDomain
procedure, public :: z_len => z_lenFEMDomain
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, pass :: removeElement_by_radius_FEMDomain
procedure, public, pass :: removeElementFEMDomain
generic, public :: removeElement => removeElementFEMDomain, removeElement_by_radius_FEMDomain
generic, public :: removeElements => removeElementFEMDomain, removeElement_by_radius_FEMDomain
procedure, public :: remove => removeFEMDomain
procedure, public :: remove_duplication => remove_duplication_FEMDomain
procedure, public, pass :: refineFEMDomain
procedure, public, pass :: refine_elementsFEMDomain
generic, public :: refine => refineFEMDomain, refine_elementsFEMDomain
procedure, public, pass :: readFEMDomain
procedure, public, pass :: read_vtk_domain_decomposed_FEMDOmain
generic, public :: read => readFEMDomain
procedure, public, pass :: read_SCALAR_FEMDomain
generic, public :: read_SCALAR => read_SCALAR_FEMDomain
generic, public :: read_vtk => read_vtk_domain_decomposed_FEMDOmain
procedure, public :: read_mpi_property => read_mpi_propertyFEMDomain
procedure, public :: remesh => remeshFEMDomain
procedure, public :: randomDance => randomDanceFEMDomain
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, pass :: selectFEMDomain
generic, 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, pass :: vtk_MPI_FEMDOmain
procedure, public, pass :: vtkFEMDOmain => vtkFEMDomain
generic, public :: vtk => vtkFEMDOmain, vtk_MPI_FEMDOmain
procedure, public :: x3d => x3dFEMDomain
procedure, public :: csv => csvFEMDomain
procedure, public :: ifc => ifcFEMDomain
procedure, public :: Bmatrix => BMatrixFEMDomain
procedure, public :: Lmatrix => LMatrixFEMDomain
procedure, public :: Wmatrix => WMatrixFEMDomain
procedure, public, pass :: DMatrix_generic_FEMDomain
procedure, public, pass :: DMatrixFEMDomain
generic, public :: Dmatrix => DMatrixFEMDomain, DMatrix_generic_FEMDomain
procedure, public :: MassVector => MassVectorFEMDomain
procedure, public :: PressureVector => PressureVectorFEMDomain
procedure, public :: StrainMatrix => StrainMatrixFEMDomain
procedure, public :: StrainVector => StrainVectorFEMDomain
procedure, public :: StressMatrix => StressMatrixFEMDomain
procedure, public :: StressVector => StressVectorFEMDomain
procedure, public :: ViscousBoundaryForce => ViscousBoundaryForceFEMDomain
procedure, public, pass :: DiffusionMatrixFEMDomain
procedure, public, pass :: StiffnessMatrixFEMDomain
procedure, public, pass :: StiffnessMatrix_generic_FEMDomain
procedure, public, pass :: MassMatrixFEMDomain
procedure, public :: ConnectMatrix => ConnectMatrixFEMDomain
procedure, public :: ConnectVector => ConnectVectorFEMDomain
procedure, public :: ElementVector => ElementVectorFEMDomain
procedure, public :: GlobalVector => GlobalVectorFEMDomain
procedure, public, pass :: TractionVectorFEMDomain
procedure, public, pass :: TractionVector_by_elemFEMDomain
generic, public :: TractionVector => TractionVectorFEMDomain, TractionVector_by_elemFEMDomain
procedure, public :: PointTorsionalForce => PointTorsionalForceFEMDomain
procedure, public :: TorsionalForce => TorsionalForceFEMDomain
procedure, public :: PointForceVector => PointForceVectorFEMDomain
procedure, public :: FlowVector => FlowVectorFEMDomain
procedure, public, pass :: DiffusionMatrix_as_CRS_FEMDomain
procedure, public, pass :: StiffnessMatrix_as_CRS_FEMDomain
procedure, public, pass :: MassMatrix_as_CRS_FEMDomain
procedure, public, pass :: M_inv_K_Matrix_CRS_FEMDomain
procedure, public, pass :: ZeroMatrix_as_CRS_FEMDomain
procedure, public, pass :: ZeroMatrix_as_COO_FEMDomain
generic, public :: DiffusionMatrix => DiffusionMatrixFEMDomain, DiffusionMatrix_as_CRS_FEMDomain
generic, public :: StiffnessMatrix => StiffnessMatrixFEMDomain, StiffnessMatrix_generic_FEMDomain, StiffnessMatrix_as_CRS_FEMDomain
generic, public :: MassMatrix => MassMatrixFEMDomain, MassMatrix_as_CRS_FEMDomain
procedure, public :: setMassMatrix => setMassMatrix_as_CRS_FEMDomain
procedure, public :: setStiffnessMatrix => setStiffnessMatrix_as_CRS_FEMDomain
generic, public :: M_inv_K_Matrix => M_inv_K_Matrix_CRS_FEMDomain
generic, public :: ZeroMatrix => ZeroMatrix_as_CRS_FEMDomain
generic, public :: ZeroMatrix_as_COO => ZeroMatrix_as_COO_FEMDomain
procedure, public :: loadPoints => loadPointsFEMDomain
procedure, public :: particles => particlesFEMDomain
procedure, public :: sync => syncFEMDomain
procedure, public :: setVectorValue => setVectorValueFEMDomain

type, public, extends(FEMDomain_) ::  STFEMDomain_

Components

Type Visibility Attributes Name Initial
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=:), public, allocatable :: FilePath
character(len=:), public, allocatable :: FileName
character(len=:), public, allocatable :: Name
character(len=:), public, allocatable :: SolverType
character(len=:), public, allocatable :: Category1
character(len=:), public, allocatable :: Category2
character(len=:), public, allocatable :: Category3
character(len=9), public :: Dtype = "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
integer(kind=int32), public, allocatable :: mpi_global_node_idx(:)
integer(kind=int32), public, allocatable :: mpi_shared_node_info(:,:)
type(OversetConnect_), public, allocatable :: OversetConnect(:)
integer(kind=int32), public, allocatable :: OversetExists(:,:)
integer(kind=int32), public :: num_oversetconnect = 0
type(Meshp_), public, allocatable :: Meshes(:)
type(Materialp_), public, allocatable :: Materials(:)
type(Boundaryp_), public, allocatable :: Boundaries(:)
real(kind=real64), public, allocatable :: ObjectPosition(:)
real(kind=real64), public :: total_rotation(1:3) = 0.0d0
integer(kind=int32), public, allocatable :: grub_NodeList(:)
logical, public :: debug_mode = .false.
type(ShapeFunction_), public :: TimeShapeFunction
type(Mesh_), public :: TimeMesh

Type-Bound Procedures

procedure, public :: add => addFEMDomain
procedure, public :: addNBC => AddNBCFEMDomain
procedure, public :: add_point => add_pointFEMDomain
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 :: mpi_matmul => mpi_matmulFEMDomain
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 :: Boolean => BooleanFEMDomain
procedure, public :: bond => bondFEMDomain
procedure, public :: checkConnectivity => CheckConnedctivityFEMDomain
procedure, public :: connectivity => connectivityFEMDomain
procedure, public :: copy => copyFEMDomain
procedure, public :: convertMeshType => convertMeshTypeFEMDomain
procedure, public :: changeElementType => changeElementTypeFEMDomain
procedure, public :: clipVector => clipVectorFEMDomain
procedure, public :: contactdetect => contactdetectFEMDomain
procedure, public :: centerPosition => centerPositionFEMDomain
procedure, public, pass :: centerPositionFEMDomain
procedure, public, pass :: centerPositionByNodeListFEMD
generic, public :: getCenter => centerPositionFEMDomain, centerPositionByNodeListFEMD
procedure, public :: create => createFEMDomain
procedure, public :: cube => cubeFEMDomain

direct object generation

Read more…
procedure, public :: delete => DeallocateFEMDomain
procedure, public :: display => displayFEMDomain
procedure, public, pass :: divide_mpi_FEMDomain
procedure, public, pass :: divide_nFEMDomain
generic, public :: divide => divide_mpi_FEMDomain, divide_nFEMDomain
procedure, public :: Delaunay3D => Delaunay3DFEMDomain
procedure, public :: Delaunay2D => Delaunay2DFEMDomain
procedure, public :: deform => deformFEMDomain
procedure, public :: Deduplicate => DeduplicateFEMDomain
procedure, public :: export => ExportFEMDomain
procedure, public :: edit => editFEMDomain
procedure, public :: empty => emptyFEMDomain
procedure, public :: extract => extractFacetElementFEMDomain
procedure, public :: field => fieldFEMDomain
procedure, public :: fixReversedElements => fixReversedElementsFEMDomain
procedure, public :: fit => fitFEMDomain
procedure, public :: fitSegmentToSegment => fitSegmentToSegmentFEMDomain
procedure, public :: full => fullFEMDomain
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, pass :: getLayer_scalarFEMDomain
generic, public :: getLayer => getLayer_scalarFEMDomain
procedure, public :: getLayerID => getLayerIDFEMDomain
procedure, public :: getLayerAttribute => getLayerAttributeFEMDomain
procedure, public :: getLayerDataStyle => getLayerDataStyleFEMDomain
procedure, public :: getShapeFunction => getShapeFunctionFEMDomain
procedure, public :: getNearestNodeID => getNearestNodeIDFEMDomain
procedure, public :: getE2Econnectivity => getE2EconnectivityFEMDomain
procedure, public :: getElementCauchyStress => getElementCauchyStressFEMDomain
procedure, public :: getMyID => getMyIDFEMDomain
procedure, public :: getValue => getValueFEMDomain
procedure, public :: getStrainTensor => getStrainTensorFEMDomain
procedure, public :: getSpinTensor => getSpinTensorFEMDomain
procedure, public :: getVelocityGradient => getVelocityGradientFEMDomain
procedure, public :: getNumberOfOversetForElement => getNumberOfOversetForElementFEMDomain
procedure, public :: getSurface => getSurfaceFEMDomain
procedure, public :: getSurfaceElements => getSurfaceElementsFEMDomain
procedure, public :: getVertices => getVerticesFEMDomain
procedure, public :: NodeID => NodeIDFEMDomain
procedure, public :: getElementID => getElementIDFEMDomain
procedure, public :: getNodeList => getNodeListFEMDomain
procedure, public :: getDuplicatedNodeList => getDuplicatedNodeListFEMDomain
procedure, public :: has => hasFEMDomain
procedure, public :: have => hasFEMDomain
procedure, public :: MovingAverageFilter => MovingAverageFilterFEMDomain
procedure, public :: getElement => getElementFEMDOmain
procedure, public :: getNeighboringElementList => getNeighboringElementListFEMDomain
procedure, public :: to_ElementID => to_ElementIDFEMDomain
procedure, public, pass :: getElementListFEMDomain
procedure, public, pass :: getElementList_by_radiusFEMDomain
generic, public :: getElementList => getElementList_by_radiusFEMDomain, getElementListFEMDomain
procedure, public :: getScalarField => getScalarFieldFEMDomain
procedure, public :: getSingleFacetNodeID => getSingleFacetNodeIDFEMDomain
procedure, public :: getFacetLocalNodeID => getFacetLocalNodeIDFEM
procedure, public, pass :: getFacetList_by_range
procedure, public, pass :: getFacetListFEMDomain
generic, public :: getFacetList => getFacetList_by_range, getFacetListFEMDomain
procedure, public :: getFacetList_as_Idx => getFacetList_as_Idx_by_range
procedure, public :: getLocalCoordinate => getLocalCoordinateFEMDomain
procedure, public :: GlobalPositionOfGaussPoint => getGlobalPositionOfGaussPointFEMDomain
procedure, public :: getElevation => getElevationFEMDomain
procedure, public :: init => InitializeFEMDomain
procedure, public :: import => ImportFEMDomain
procedure, public :: importVTKFile => ImportVTKFileFEMDomain
procedure, public :: importSTLFile => ImportSTLFileFEMDomain
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 :: inside_of_element => inside_of_elementFEMDomain
procedure, public :: json => jsonFEMDomain
procedure, public :: killElement => killElementFEMDomain
procedure, public :: killNodes => killNodesFEMDomain
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 :: NumOversetElements => NumOversetElementsFEMDomain
procedure, public :: x => xFEMDomain
procedure, public :: y => yFEMDomain
procedure, public :: z => zFEMDomain
procedure, public :: getPoint => getPointFEMDomain
procedure, public :: Point => getPointFEMDomain
procedure, public :: getPoint_x => getPoint_xFEMDomain
procedure, public :: getPoint_y => getPoint_yFEMDomain
procedure, public :: getPoint_z => getPoint_zFEMDomain
procedure, public :: setPoint_x => set_xFEMDomain
procedure, public :: setPoint_y => set_yFEMDomain
procedure, public :: setPoint_z => set_zFEMDomain
procedure, public :: xyz => xyzFEMDomain
procedure, public :: asGlobalVector => asGlobalVectorFEMDomain
procedure, public :: ElementID2NodeID => ElementID2NodeIDFEMDomain
procedure, public :: open => openFEMDomain
procedure, public, pass :: oversetFEMDomain
procedure, public, pass :: oversetFEMDomains
generic, public :: overset => oversetFEMDomain, oversetFEMDomains
generic, public :: overlap => oversetFEMDomain, oversetFEMDomains
generic, public :: chimera => oversetFEMDomain, oversetFEMDomains
procedure, public :: PCAvector => PCAvectorFEMDomain
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 :: points => xyzFEMDomain
procedure, public :: span => spanFEMDomain
procedure, public :: to_HollowTube => to_HollowTube_FEMDomain
procedure, public :: to_Tube => to_HollowTube_FEMDomain
procedure, public :: to_culm => to_culm_FEMDomain
procedure, public :: to_multi_culm => to_multi_culm_FEMDomain
procedure, public :: to_cylinder => to_cylinder_FEMDomain
procedure, public :: to_vertexData => to_vertexData_FEMDomain
procedure, public :: xmin => xminFEMDomain
procedure, public :: x_min => xminFEMDomain
procedure, public :: xmax => xmaxFEMDomain
procedure, public :: x_max => xmaxFEMDomain
procedure, public :: ymin => yminFEMDomain
procedure, public :: y_min => yminFEMDomain
procedure, public :: ymax => ymaxFEMDomain
procedure, public :: y_max => ymaxFEMDomain
procedure, public :: zmin => zminFEMDomain
procedure, public :: z_min => zminFEMDomain
procedure, public :: zmax => zmaxFEMDomain
procedure, public :: z_max => zmaxFEMDomain
procedure, public :: xrange => xrangeFEMDomain
procedure, public :: x_range => xrangeFEMDomain
procedure, public :: xr => xrangeFEMDomain
procedure, public :: yrange => yrangeFEMDomain
procedure, public :: y_range => yrangeFEMDomain
procedure, public :: yr => yrangeFEMDomain
procedure, public :: zrange => zrangeFEMDomain
procedure, public :: z_range => zrangeFEMDomain
procedure, public :: zr => zrangeFEMDomain
procedure, public :: x_len => x_lenFEMDomain
procedure, public :: y_len => y_lenFEMDomain
procedure, public :: z_len => z_lenFEMDomain
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, pass :: removeElement_by_radius_FEMDomain
procedure, public, pass :: removeElementFEMDomain
generic, public :: removeElement => removeElementFEMDomain, removeElement_by_radius_FEMDomain
generic, public :: removeElements => removeElementFEMDomain, removeElement_by_radius_FEMDomain
procedure, public :: remove => removeFEMDomain
procedure, public :: remove_duplication => remove_duplication_FEMDomain
procedure, public, pass :: refineFEMDomain
procedure, public, pass :: refine_elementsFEMDomain
generic, public :: refine => refineFEMDomain, refine_elementsFEMDomain
procedure, public, pass :: readFEMDomain
procedure, public, pass :: read_vtk_domain_decomposed_FEMDOmain
generic, public :: read => readFEMDomain
procedure, public, pass :: read_SCALAR_FEMDomain
generic, public :: read_SCALAR => read_SCALAR_FEMDomain
generic, public :: read_vtk => read_vtk_domain_decomposed_FEMDOmain
procedure, public :: read_mpi_property => read_mpi_propertyFEMDomain
procedure, public :: remesh => remeshFEMDomain
procedure, public :: randomDance => randomDanceFEMDomain
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, pass :: selectFEMDomain
generic, 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, pass :: vtk_MPI_FEMDOmain
procedure, public, pass :: vtkFEMDOmain => vtkFEMDomain
generic, public :: vtk => vtkFEMDOmain, vtk_MPI_FEMDOmain
procedure, public :: x3d => x3dFEMDomain
procedure, public :: csv => csvFEMDomain
procedure, public :: ifc => ifcFEMDomain
procedure, public :: Bmatrix => BMatrixFEMDomain
procedure, public :: Lmatrix => LMatrixFEMDomain
procedure, public :: Wmatrix => WMatrixFEMDomain
procedure, public, pass :: DMatrix_generic_FEMDomain
procedure, public, pass :: DMatrixFEMDomain
generic, public :: Dmatrix => DMatrixFEMDomain, DMatrix_generic_FEMDomain
procedure, public :: MassVector => MassVectorFEMDomain
procedure, public :: PressureVector => PressureVectorFEMDomain
procedure, public :: StrainMatrix => StrainMatrixFEMDomain
procedure, public :: StrainVector => StrainVectorFEMDomain
procedure, public :: StressMatrix => StressMatrixFEMDomain
procedure, public :: StressVector => StressVectorFEMDomain
procedure, public :: ViscousBoundaryForce => ViscousBoundaryForceFEMDomain
procedure, public, pass :: DiffusionMatrixFEMDomain
procedure, public, pass :: StiffnessMatrixFEMDomain
procedure, public, pass :: StiffnessMatrix_generic_FEMDomain
procedure, public, pass :: MassMatrixFEMDomain
procedure, public :: ConnectMatrix => ConnectMatrixFEMDomain
procedure, public :: ConnectVector => ConnectVectorFEMDomain
procedure, public :: ElementVector => ElementVectorFEMDomain
procedure, public :: GlobalVector => GlobalVectorFEMDomain
procedure, public, pass :: TractionVectorFEMDomain
procedure, public, pass :: TractionVector_by_elemFEMDomain
generic, public :: TractionVector => TractionVectorFEMDomain, TractionVector_by_elemFEMDomain
procedure, public :: PointTorsionalForce => PointTorsionalForceFEMDomain
procedure, public :: TorsionalForce => TorsionalForceFEMDomain
procedure, public :: PointForceVector => PointForceVectorFEMDomain
procedure, public :: FlowVector => FlowVectorFEMDomain
procedure, public, pass :: DiffusionMatrix_as_CRS_FEMDomain
procedure, public, pass :: StiffnessMatrix_as_CRS_FEMDomain
procedure, public, pass :: MassMatrix_as_CRS_FEMDomain
procedure, public, pass :: M_inv_K_Matrix_CRS_FEMDomain
procedure, public, pass :: ZeroMatrix_as_CRS_FEMDomain
procedure, public, pass :: ZeroMatrix_as_COO_FEMDomain
generic, public :: DiffusionMatrix => DiffusionMatrixFEMDomain, DiffusionMatrix_as_CRS_FEMDomain
generic, public :: StiffnessMatrix => StiffnessMatrixFEMDomain, StiffnessMatrix_generic_FEMDomain, StiffnessMatrix_as_CRS_FEMDomain
generic, public :: MassMatrix => MassMatrixFEMDomain, MassMatrix_as_CRS_FEMDomain
procedure, public :: setMassMatrix => setMassMatrix_as_CRS_FEMDomain
procedure, public :: setStiffnessMatrix => setStiffnessMatrix_as_CRS_FEMDomain
generic, public :: M_inv_K_Matrix => M_inv_K_Matrix_CRS_FEMDomain
generic, public :: ZeroMatrix => ZeroMatrix_as_CRS_FEMDomain
generic, public :: ZeroMatrix_as_COO => ZeroMatrix_as_COO_FEMDomain
procedure, public :: loadPoints => loadPointsFEMDomain
procedure, public :: particles => particlesFEMDomain
procedure, public :: sync => syncFEMDomain
procedure, public :: setVectorValue => setVectorValueFEMDomain

type, public ::  FEMDomainp_

Components

Type Visibility Attributes Name Initial
type(FEMDomain_), public, pointer :: femdomainp => null()

Type-Bound Procedures

procedure, public :: getMyID => getMyIDFEMDomainp
procedure, public :: overset => overset_FEMDomainp
procedure, public :: connect => overset_FEMDomainp
procedure, public :: overlap => overset_FEMDomainp

Functions

public function lengthFEMDomain(this) result(length)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64), (3)

public function x_lenFEMDomain(this) result(length)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64)

public function y_lenFEMDomain(this) result(length)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64)

public function z_lenFEMDomain(this) result(length)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64)

public function divide_mpi_FEMDomain(this, mpid) result(FEMDomain)

Passed the test "Tutorial/fem/divide_mesh.f90"

Read more…

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
type(MPI_), intent(inout) :: mpid

Return Value type(FEMDomain_)

public function divide_nFEMDomain(this, n) result(FEMDomains)

slow

Read more…

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: n

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

public pure function xrangeFEMDomain(this) result(xrange)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64), (1:2)

public pure function yrangeFEMDomain(this) result(yrange)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64), (1:2)

public pure function zrangeFEMDomain(this) result(zrange)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64), (1:2)

public function getSurfaceElementsFEMDomain(this, range) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
type(Range_), intent(in) :: range

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in), optional :: elem

Return Value real(kind=real64)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: elem

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

public function getFacetLocalNodeIDFEM(this) result(facet)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

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

public function getSingleFacetNodeIDFEMDomain(this, ElementID) result(facet)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: ElementID

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

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

Arguments

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

Return Value logical

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name

Return Value integer(kind=int32)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name

Return Value integer(kind=int32)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name

Return Value integer(kind=int32)

public function centerPositionFEMDomain(this, ElementID, max, min) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in), optional :: ElementID
logical, intent(in), optional :: max
logical, intent(in), optional :: min

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

public function centerPositionByNodeListFEMD(this, nodelist) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: nodelist(:)

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in) :: GaussPointID

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, ElementID, x, y, z) result(xi)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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 pure function nnFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value integer(kind=int32)

public pure function ndFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value integer(kind=int32)

public pure function neFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value integer(kind=int32)

public pure function nneFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value integer(kind=int32)

public function ngpFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

Return Value integer(kind=int32)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, id) result(x)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in), optional :: id

Return Value real(kind=real64), (3)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in), optional :: id

Return Value real(kind=real64)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in), optional :: id

Return Value real(kind=real64)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in), optional :: id

Return Value real(kind=real64)

public function MassMatrix_as_CRS_FEMDomain(this, Density, DOF, omp) result(MassMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: Density(:)
integer(kind=int32), intent(in), optional :: DOF
logical, intent(in), optional :: omp

Return Value type(CRS_)

public recursive function ZeroMatrix_as_CRS_FEMDomain(this, DOF, regacy) result(ZeroMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: DOF
logical, intent(in), optional :: regacy

Return Value type(CRS_)

public function ZeroMatrix_as_COO_FEMDomain(this, DOF) result(ZeroMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: DOF

Return Value type(COO_)

public function MassMatrixFEMDomain(this, ElementID, Density, DOF, Lumped) result(MassMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in), optional :: Density
integer(kind=int32), intent(in), optional :: DOF
logical, intent(in), optional :: Lumped

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

public function FlowVectorFEMDomain(this, Pressure, Permiability, ElementID) result(Flowvector)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: Pressure(:)
real(kind=real64), intent(in) :: Permiability
integer(kind=int32), intent(in) :: ElementID

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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 PressureVectorFEMDomain(this, ElementID, pressure) result(PressureVector)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in) :: pressure

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

public function StiffnessMatrix_as_CRS_FEMDomain(this, YoungModulus, PoissonRatio, omp) result(StiffnessMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: YoungModulus(:)
real(kind=real64), intent(in), optional :: PoissonRatio(:)
logical, intent(in), optional :: omp

Return Value type(CRS_)

public function StiffnessMatrix_g_as_CRS_FEMDomain(this, YoungModulus, PoissonRatio, omp) result(StiffnessMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: YoungModulus(:,:)
real(kind=real64), intent(in) :: PoissonRatio(:,:)
logical, intent(in), optional :: omp

Return Value type(CRS_)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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 StiffnessMatrix_generic_FEMDomain(this, ElementID, E, v, rot_angles) result(StiffnessMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: ElementID
real(kind=real64), intent(in) :: E(:)
real(kind=real64), intent(in) :: v(:)
real(kind=real64), intent(in), optional :: rot_angles(:)

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: E
real(kind=real64), intent(in) :: v

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

public function DMatrix_generic_FEMDomain(this, E, v) result(Dmat)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: E(1:6)
real(kind=real64), intent(in) :: v(1:6)

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, ElementID, GaussPoint, disp) result(Strainvec)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, ElementID, GaussPoint, disp, E, v) result(StressMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, ElementID, GaussPoint, disp, E, v) result(Stressvec)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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 ViscousBoundaryForceFEMDomain(this, u, v, spring, damper, NodeList, Direction) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in) :: u(:)
real(kind=real64), intent(in) :: v(:)
real(kind=real64), intent(in) :: spring
real(kind=real64), intent(in) :: damper
integer(kind=int32), intent(in) :: NodeList(:)
character(len=*), intent(in) :: Direction

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

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

Arguments

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

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

public recursive function WMatrixFEMDomain(this, shapefunction, ElementID) result(Wmat)

Arguments

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

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

public recursive function LMatrixFEMDomain(this, shapefunction, ElementID) result(Lmat)

Arguments

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

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

public function DiffusionMatrix_as_CRS_FEMDomain(this, Coefficient, omp) result(DiffusionMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: Coefficient(:)
logical, intent(in), optional :: omp

Return Value type(CRS_)

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

diff_coeff & det_mat(shapefunc%Jmatinv,size(shapefunc%Jmatinv,1) )! it was JmatInv, but should be Jmat, revised @ 20221201

Arguments

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

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, ElementID) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: ElementID

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

public function allconnectivityFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

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

public function selectFEMDomain(this, x_min, x_max, y_min, y_max, z_min, z_max, center, radius_range) result(NodeList)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
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
real(kind=real64), intent(in), optional :: center(:)
real(kind=real64), intent(in), optional :: radius_range(1:2)

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in) :: LocalNodeID

Return Value integer(kind=int32)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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 ConnectVectorFEMDomain(this, position, DOF, shapefunction, strict) result(Connectvector)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, ElementID) result(element)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: ElementID

Return Value type(FEMDomain_)

public function xFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

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

public function yFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

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

public function zFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

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

public function TractionVectorFEMDomain(this, displacement, YoungModulus, PoissonRatio, debug_elementID) result(Traction)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: displacement(:)
real(kind=real64), intent(in) :: YoungModulus(:)
real(kind=real64), intent(in) :: PoissonRatio(:)
integer(kind=int32), intent(in), optional :: debug_elementID

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
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(this, BoundingBox, xmin, xmax, ymin, ymax, zmin, zmax) result(NodeList)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, NodeID) result(FacetList)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: NodeID

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

public function getFacetList_by_range(this, range) result(FacetList)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
type(Range_), intent(in) :: range

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

public function getFacetList_as_Idx_by_range(this, range) result(FacetList)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
type(Range_), intent(in) :: range

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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 function getElementList_by_radiusFEMDomain(this, center, radius, zmin, zmax) result(ElementList)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: center(1:2)
real(kind=real64), intent(in) :: radius
real(kind=real64), intent(in) :: zmin
real(kind=real64), intent(in) :: zmax

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

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

Arguments

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

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

public pure function emptyFEMDomain(this) result(FEMDomain_is_empty)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value logical

public function appendfemdomain(x, y) result(z)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: x
class(FEMDomain_), intent(in) :: y

Return Value type(FEMDomain_)

public function getScalarFieldFEMDomain(this, xr, yr, zr, entryvalue, default) result(ScalarField)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in) :: xr(2)
real(kind=real64), intent(in) :: yr(2)
real(kind=real64), intent(in) :: zr(2)
real(kind=real64), intent(in) :: entryvalue
real(kind=real64), intent(in) :: default(:)

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

public function getE2EconnectivityFEMDomain(this) result(E2Econnect)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

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

public function MovingAverageFilterFEMDomain(this, inScalarField, ignore_top_and_bottom) result(outScalarField)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in) :: inScalarField(:)
logical, intent(in), optional :: ignore_top_and_bottom

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

public pure function xminFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64)

public pure function xmaxFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64)

public pure function yminFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64)

public pure function ymaxFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64)

public pure function zminFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value real(kind=real64)

public function zmaxFEMDomain(this, x, y, debug) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in), optional :: x
real(kind=real64), intent(in), optional :: y
logical, intent(in), optional :: debug

Return Value real(kind=real64)

public function getElevationFEMDomain(this, x_num, y_num, x_len, y_len) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: x_num
integer(kind=int32), intent(in) :: y_num
real(kind=real64), intent(in) :: x_len
real(kind=real64), intent(in) :: y_len

Return Value real(kind=real64), (x_num+1,y_num+1)

public function getMyIDFEMDomain(this, FEMDomains) result(id)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
type(FEMDomain_), intent(in) :: FEMDomains(:)

Return Value integer(kind=int32)

public function getMyIDFEMDomainp(this, femdomainp) result(id)

Arguments

Type IntentOptional Attributes Name
class(FEMDomainp_), intent(in) :: this
type(FEMDomainp_), intent(in) :: femdomainp(:)

Return Value integer(kind=int32)

public pure function NumOversetElementsFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

Return Value integer(kind=int32)

public function PCAvectorFEMDomain(this, eigen_values) result(vectors)

INPUT INPUT/OUTPUT OUTPUT

Read more…

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(inout), optional, allocatable :: eigen_values(:)

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

public function getElementCauchyStressFEMDomain(this, displacement, E, v, i, j, option) result(sigma)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: displacement(:)
real(kind=real64), intent(in) :: E(:)
real(kind=real64), intent(in) :: v(:)
integer(kind=int32), intent(in), optional :: i
integer(kind=int32), intent(in), optional :: j
character(len=*), intent(in), optional :: option

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

public function hasFEMDomain(this, position) result(inside)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in) :: position(:)

Return Value logical

public function inside_of_elementFEMDomain(this, point, ElementID) result(inside)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in) :: point(:)
integer(kind=int32), intent(in) :: ElementID

Return Value logical

public function clipVectorFEMDomain(this, vector, femdomains, DomainID) result(ret_vec)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in) :: vector(:)
type(FEMDomain_), intent(in) :: femdomains(:)
integer(kind=int32), intent(in) :: DomainID

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

public function getElementIDFEMDomain(this, x, debug, info) result(ElementID)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in) :: x(:)
logical, intent(in), optional :: debug
integer(kind=int32), intent(inout), optional, allocatable :: info(:)

Return Value integer(kind=int32)

public function getValueFEMDomain(this, scalar_field, position) result(retval)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: scalar_field(:)
real(kind=real64), intent(in) :: position(1:3)

Return Value real(kind=real64)

public function xyzFEMDomain(this) result(nodcoord)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

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

public function getStrainTensorFEMDomain(this, displacement, ElementID, GaussPointID, debug) result(StrainTensor)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: displacement(:,:)
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in) :: GaussPointID
logical, intent(in), optional :: debug

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

public function getVelocityGradientFEMDomain(this, velocity, ElementID, GaussPointID, debug) result(VelocityGradient)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: velocity(:,:)
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in) :: GaussPointID
logical, intent(in), optional :: debug

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

public function getSpinTensorFEMDomain(this, velocity, ElementID, GaussPointID, debug) result(SpinTensor)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: velocity(:,:)
integer(kind=int32), intent(in) :: ElementID
integer(kind=int32), intent(in) :: GaussPointID
logical, intent(in), optional :: debug

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

public function getNumberOfOversetForElementFEMDomain(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

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

public function ElementID2NodeIDFEMDomain(this, ElementID) result(NodeID)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: ElementID(:)

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

public function fullFEMDomain(this, func, params) result(scalar_field)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
public function func(x, params) result(scalar_value)
Arguments
Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: x(:)
real(kind=real64), intent(in), optional :: params(:)
Return Value real(kind=real64)
real(kind=real64), intent(in), optional :: params(:)

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

public function ZeroMatrix_as_CRS_FEMDomains(femdomains, DOF) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomain_), intent(inout) :: femdomains(:)
integer(kind=int32), intent(in) :: DOF

Return Value type(CRS_)

public function getNeighboringElementListFEMDomain(this, ElementID) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: ElementID

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

public function to_ElementIDFEMDomain(this, NodeList) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: NodeList(:)

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

public function mpi_matmulFEMDomain(this, A, x, mpid) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
type(CRS_), intent(in), optional :: A
real(kind=real64), intent(in) :: x(:)
type(MPI_), intent(inout) :: mpid

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

public function M_inv_K_Matrix_CRS_FEMDomain(this, Density, YoungModulus, PoissonRatio) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: Density(:)
real(kind=real64), intent(in) :: YoungModulus(:)
real(kind=real64), intent(in), optional :: PoissonRatio(:)

Return Value type(CRS_)

public function getPoint_xFEMDomain(this, idx) result(coord)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: idx

Return Value real(kind=real64)

public function getPoint_yFEMDomain(this, idx) result(coord)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: idx

Return Value real(kind=real64)

public function getPoint_zFEMDomain(this, idx) result(coord)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: idx

Return Value real(kind=real64)

public function to_composite_beam_FEMDomain(length, width, angle_x, angle_z, division) result(this)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: length(:)
real(kind=real64), intent(in) :: width(:)
real(kind=real64), intent(in), optional :: angle_x(:)
real(kind=real64), intent(in), optional :: angle_z
integer(kind=int32), intent(in), optional :: division(:)

Return Value type(FEMDomain_)

public function getPointFEMDomain(this, pointIdx) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: pointIdx

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

public function PointForceVectorFEMDomain(this, NodeList, Direction, force) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: NodeList(:)
character(len=*), intent(in) :: Direction
real(kind=real64), intent(in) :: force

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

public function elementType2VTKCellType(elementType) result(ret)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: elementType(:)

Return Value integer(kind=int32)

public function to_vertexData_FEMDomain(this, vertexIDs, scalar) result(vertexData)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: vertexIDs(:)
real(kind=real64), intent(in) :: scalar(:)

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

public function to_ptr_femdomain(femdomain) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomain_), intent(in), target :: femdomain

Return Value type(FEMDomainp_)

public function to_ptr_femdomains(femdomains) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomain_), intent(in), target :: femdomains(:)

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

public function get_element_idx_FEMDomainPointer(FEMDomainPointer, DomainID, ElementID) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)
integer(kind=int32), intent(in) :: DomainID
integer(kind=int32), intent(in) :: ElementID

Return Value integer(kind=int32)

public function get_node_list_by_range_FEMDP(FEMDomainPointer, range) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)
type(Range_), intent(in) :: range

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

public function num_node_femdomain_pointers(FEMDomainPointer) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)

Return Value integer(kind=int32)

public function num_element_femdomain_pointers(FEMDomainPointer) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)

Return Value integer(kind=int32)

public function TractionVector_by_elemFEMDomain(this, ElementID, range, SurfacePressure) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(in) :: ElementID
type(Range_), intent(in) :: range
real(kind=real64), intent(in) :: SurfacePressure

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

public function getTriangularArea_fromPoint(A, B, C) result(ret)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: A(:)
real(kind=real64), intent(in) :: B(:)
real(kind=real64), intent(in) :: C(:)

Return Value real(kind=real64)

public function rotate_3x3_matrix(x, y, z, inverse) result(ret)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: x
real(kind=real64), intent(in) :: y
real(kind=real64), intent(in) :: z
logical, intent(in), optional :: inverse

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

public function getDuplicatedNodeListFEMDomain(this, groupIdx, epsilon) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
integer(kind=int32), intent(inout), optional, allocatable :: groupIdx(:)
real(kind=real64), intent(in), optional :: epsilon

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

public recursive function OcTreeSearch(Points, PointIdx, MinimumDist) result(ret)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: Points(:,:)
integer(kind=int32), intent(in) :: PointIdx(:)
real(kind=real64), intent(in) :: MinimumDist

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

public function getCrossSection_FEMDomain(femdomain_pointers) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomainp_), intent(in) :: femdomain_pointers(:)

Return Value type(Range_)

public function cycle_vector(vec, n) result(ret)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: vec(:)
integer(kind=int32), intent(in) :: n

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

public function find_facet_pairing_FEMDomain(DomainA, DomainB, FacetA, FacetB) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomain_), intent(in) :: DomainA
type(FEMDomain_), intent(in) :: DomainB
integer(kind=int32), intent(in) :: FacetA(:)
integer(kind=int32), intent(in) :: FacetB(:)

Return Value integer(kind=int32)

public function PointTorsionalForceFEMDomain(this, normal, center, NodeID) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in) :: normal(:)
real(kind=real64), intent(in) :: center(:)
integer(kind=int32), intent(in) :: NodeID

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

public function TorsionalForceFEMDomain(this, normal, center, range) result(ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(in) :: normal(:)
real(kind=real64), intent(in) :: center(:)
type(Range_), intent(in) :: range

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

public function diff_for_real_array(femdomains, diff_target) result(ret)

Arguments

Type IntentOptional Attributes Name
type(FEMDomain_), intent(in) :: femdomains(1:2)
real(kind=real64), intent(in) :: diff_target(:,:)

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


Subroutines

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, path, name)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: path
character(len=*), intent(in), optional :: name

public recursive subroutine removeElement_by_radius_FEMDomain(this, center, r)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: center(1:3)
real(kind=real64), intent(in) :: r

public recursive subroutine removeElementFEMDomain(this, x_min, x_max, y_min, y_max, z_min, z_max, xr, yr, zr)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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
real(kind=real64), intent(in), optional :: xr(1:2)
real(kind=real64), intent(in), optional :: yr(1:2)
real(kind=real64), intent(in), optional :: zr(1:2)

public subroutine removeFEMDomain(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine saveFEMDomain(this, path, name)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: path
character(len=*), intent(in), optional :: name

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, scalar, vector, tensor)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in), optional :: scalar(:)
real(kind=real64), intent(in), optional :: vector(:,:)
real(kind=real64), intent(in), optional :: tensor(:,:,:)

public subroutine DeallocateFEMDomain(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine renameFEMDomain(this, Name)

Arguments

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

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

Arguments

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

public subroutine showFEMDomain(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, Mesh)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
class(Mesh_), intent(inout) :: Mesh

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, ratio)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: ratio

public subroutine MergeFEMDomain(inobj1, inobj2, outobj)

Arguments

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

public subroutine DeduplicateFEMDomain(this, error, num_removed_node)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: error
integer(kind=int32), intent(inout), optional :: num_removed_node

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, NumOfValPerNod)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: NumOfValPerNod

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, NumOfValPerNod)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: NumOfValPerNod

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, NumOfValPerNod)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: NumOfValPerNod

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, inSolverType)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: inSolverType

public subroutine SetName(this, Name)

Arguments

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

public subroutine SetDataType(this, inDType)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: inDType

public subroutine SetUpFEMDomain(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, xmin, xmax, ymin, ymax, zmin, zmax, tmin, tmax, valx, valy, valz, MaterialID, Mode2D)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
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(this, OptionalContorName, OptionalAbb, OptionalStep, Name, withNeumannBC, withDirichletBC, onlyNeumannBC, onlyDirichletBC, asMsh, withMaterial, Tag, timestep, field)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=1), intent(in), optional :: OptionalContorName*30
character(len=1), 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(this, gp_value, OptionalContorName, OptionalAbb, OptionalStep, Name)

Arguments

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
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(this, gp_value, OptionalContorName, OptionalAbb, OptionalStep, Name)

Arguments

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
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(this, gp_value, OptionalContorName, OptionalAbb, OptionalStep)

Arguments

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
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(this, x, y, z, NodeList, to)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(:)
character(len=*), intent(in), optional :: to

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, NodID, DimID, Val, FastMode)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, FileHandle, MeshDimension, FileName)

Arguments

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

public subroutine meshingFEMDomain(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine removeDBoundCondition(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine removeNBoundCondition(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine removeTBoundCondition(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine CheckConnedctivityFEMDomain(this, fix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
logical, intent(in), optional :: fix

public subroutine getDBCVectorFEMDomain(this, DBCvec)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(inout), allocatable :: DBCvec(:,:)

public subroutine convertMeshTypeFEMDomain(this, Option)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: Option

public subroutine changeElementTypeFEMDomain(this, elementtype)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: elementtype(:)

public subroutine remeshFEMDomain(this, 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 Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, 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, x_axis, y_axis, z_axis)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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
real(kind=real64), intent(in), optional :: x_axis(:)
real(kind=real64), intent(in), optional :: y_axis(:)
real(kind=real64), intent(in), optional :: z_axis(:)

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_) :: this

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

Arguments

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

public subroutine showBoundariesFEMDomain(this, Name)

Arguments

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

public subroutine removeBoundariesFEMDomain(this, Name, BoundaryID)

Arguments

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

public subroutine copyFEMDomain(this, OriginalObj, onlyMesh)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
class(FEMDomain_), intent(in) :: OriginalObj
logical, intent(in), optional :: onlyMesh

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, NumOfMatPara)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in), optional :: NumOfMatPara

public subroutine bakeDBoundariesFEMDomain(this, NodeDOF)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in), optional :: NodeDOF

public subroutine bakeNBoundariesFEMDomain(this, NodeDOF)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in), optional :: NodeDOF

public subroutine bakeTBoundariesFEMDomain(this, NodeDOF)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in), optional :: NodeDOF

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

Arguments

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

public subroutine showMaterialsFEMDomain(this, Name)

Arguments

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

public subroutine removeMaterialsFEMDomain(this, Name, BoundaryID)

Arguments

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

public subroutine contactdetectFEMDomain(obj1, obj2, ContactModel)

Arguments

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

public subroutine getSurfaceFEMDomain(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine getVerticesFEMDomain(this, vertices, vertexIDs)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(inout), allocatable :: vertices(:)
integer(kind=int32), intent(inout), allocatable :: vertexIDs(:)

public subroutine x3dFEMDomain(this, name)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name

public subroutine vtk_MPI_FEMDOmain(this, name, num_division, remove)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name
integer(kind=int32), intent(in) :: num_division
logical, intent(in), optional :: remove

public recursive subroutine vtkFEMDomain(this, name, scalar, vector, tensor, field, ElementType, Nodelist, debug, displacement, only_field)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(:)
logical, intent(in), optional :: debug
real(kind=real64), intent(in), optional :: displacement(:)
logical, intent(in), optional :: only_field

public subroutine plyFEMDomain(this, name, NodeList, scalar)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name
integer(kind=int32), intent(in), optional :: NodeList(:)
real(kind=real64), intent(in), optional :: scalar(:)

public subroutine stlFEMDomain(this, name, NodeList)

Arguments

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

public subroutine objFEMDomain(this, name)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name

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

Arguments

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

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

Arguments

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, name, scalar)

Arguments

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

public subroutine addLayerFEMDomainVector(this, name, vector)

Arguments

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

public subroutine addLayerFEMDomaintensor(this, name, tensor)

Arguments

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

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

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

Arguments

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

public subroutine editFEMDomain(this, x, altitude)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in), optional :: x(:)
real(kind=real64), intent(in), optional :: altitude(:)

public subroutine setMassMatrix_as_CRS_FEMDomain(this, Density, DOF, omp, MassMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: Density(:)
integer(kind=int32), intent(in), optional :: DOF
logical, intent(in), optional :: omp
type(CRS_), intent(inout) :: MassMatrix

public subroutine setStiffnessMatrix_as_CRS_FEMDomain(this, YoungModulus, PoissonRatio, omp, StiffnessMatrix)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: YoungModulus(:)
real(kind=real64), intent(in), optional :: PoissonRatio(:)
logical, intent(in), optional :: omp
type(CRS_), intent(inout) :: StiffnessMatrix

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

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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(this, blacklist, flag)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in), optional :: blacklist(:)
integer(kind=int32), intent(in), optional :: flag

public subroutine ImportVTKFileFEMDomain(this, name)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name

public subroutine Delaunay3DFEMDomain(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine Delaunay2DFEMDomain(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine fixReversedElementsFEMDomain(this)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this

public subroutine syncFEMDomain(this, from, mpid)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: from
type(MPI_), intent(inout) :: mpid

public subroutine syncFEMDomainVector(this, from, mpid)

Arguments

Type IntentOptional Attributes Name
type(FEMDomain_), intent(inout), allocatable :: this(:)
integer(kind=int32), intent(in) :: from
type(MPI_), intent(inout) :: mpid

public subroutine deformFEMDomain(this, disp, velocity, accel, dt)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in), optional :: disp(:)
real(kind=real64), intent(in), optional :: velocity(:)
real(kind=real64), intent(in), optional :: accel(:)
real(kind=real64), intent(in), optional :: dt

public subroutine overset_FEMDomainp(this, femdomainp, to, by, debug)

Arguments

Type IntentOptional Attributes Name
class(FEMDomainp_), intent(inout) :: this
type(FEMDomainp_), intent(inout) :: femdomainp(:)
integer(kind=int32), intent(in) :: to
character(len=*), intent(in) :: by
logical, intent(in), optional :: debug

public subroutine oversetFEMDomains(this, FEMDomains, to, by, debug)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
type(FEMDomain_), intent(inout) :: FEMDomains(:)
integer(kind=int32), intent(in) :: to
character(len=*), intent(in) :: by
logical, intent(in), optional :: debug

public subroutine oversetFEMDomain(this, FEMDomain, DomainID, algorithm, MyDomainID, debug)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
type(FEMDomain_), intent(inout) :: FEMDomain
integer(kind=int32), intent(in) :: DomainID
integer(kind=int32), intent(in) :: algorithm
integer(kind=int32), intent(in), optional :: MyDomainID
logical, intent(in), optional :: debug

public subroutine refineFEMDomain(this, ElementID, success)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: ElementID
logical, intent(inout), optional :: success

public subroutine refine_elementsFEMDomain(this, ElementID)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: ElementID(:)

public subroutine csvFEMDomain(this, name)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
character(len=*), intent(in) :: name

public subroutine fitFEMDomain(this, x, y, z, debug)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: x(:)
real(kind=real64), intent(in) :: y(:)
real(kind=real64), intent(in) :: z(:)
logical, intent(in), optional :: debug

public subroutine randomDanceFEMDomain(this, move, rotate, resize)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in), optional :: move(1:2)
real(kind=real64), intent(in), optional :: rotate(1:2)
real(kind=real64), intent(in), optional :: resize(1:2)

public subroutine loadPointsFEMDomain(this, x, y, z)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: x(:)
real(kind=real64), intent(in) :: y(:)
real(kind=real64), intent(in) :: z(:)

public subroutine particlesFEMDomain(this, name)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name

public subroutine BooleanFEMDomain(this, object, difference)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
type(FEMDomain_), intent(in) :: object
logical, intent(in), optional :: difference

public subroutine killNodesFEMDomain(this, NodeList)

[0,1,1,2,3,3]

Read more…

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: NodeList(:)

public subroutine ImportSTLFileFEMDomain(this, name)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name

public subroutine spanFEMDomain(this, p1, p2)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: p1(:)
real(kind=real64), intent(in) :: p2(:)

public subroutine to_HollowTube_FEMDomain(this, r_num, theta_num, z_num, thickness, radius, length)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in), optional :: r_num
integer(kind=int32), intent(in), optional :: theta_num
integer(kind=int32), intent(in), optional :: z_num
real(kind=real64), intent(in), optional :: thickness
real(kind=real64), intent(in), optional :: radius
real(kind=real64), intent(in), optional :: length

public subroutine to_culm_FEMDomain(this, r_num, theta_num, z_num, thickness, radius, length, node_thickness)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in), optional :: r_num
integer(kind=int32), intent(in), optional :: theta_num
integer(kind=int32), intent(in), optional :: z_num
real(kind=real64), intent(in), optional :: thickness
real(kind=real64), intent(in), optional :: radius
real(kind=real64), intent(in), optional :: length
real(kind=real64), intent(in), optional :: node_thickness

public subroutine to_multi_culm_FEMDomain(this, r_num, theta_num, z_num, thickness, radius, length, node_thickness, n)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in), optional :: r_num
integer(kind=int32), intent(in), optional :: theta_num
integer(kind=int32), intent(in), optional :: z_num
real(kind=real64), intent(in), optional :: thickness
real(kind=real64), intent(in), optional :: radius
real(kind=real64), intent(in), optional :: length
real(kind=real64), intent(in), optional :: node_thickness
integer(kind=int32), intent(in) :: n

public subroutine to_cylinder_FEMDomain(this, x_num, y_num, z_num, radius, length)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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 :: radius(1:2)
real(kind=real64), intent(in), optional :: length

public subroutine remove_duplication_FEMDomain(this, epsilon, debug)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in), optional :: epsilon
logical, intent(in), optional :: debug

public subroutine cubeFEMDomain(this, x_num, y_num, z_num, x_axis, y_axis, z_axis)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
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_axis(:)
real(kind=real64), intent(in), optional :: y_axis(:)
real(kind=real64), intent(in), optional :: z_axis(:)

public subroutine read_mpi_propertyFEMDomain(this, name, num_division)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name
integer(kind=int32), intent(inout), optional :: num_division

public subroutine read_vtk_domain_decomposed_FEMDOmain(this, name, myrank)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name
integer(kind=int32), intent(in) :: myrank

public subroutine set_xFEMDomain(this, idx, coord)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: idx
real(kind=real64), intent(in) :: coord

public subroutine set_yFEMDomain(this, idx, coord)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: idx
real(kind=real64), intent(in) :: coord

public subroutine set_zFEMDomain(this, idx, coord)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: idx
real(kind=real64), intent(in) :: coord

public subroutine add_pointFEMDomain(this, coord)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
real(kind=real64), intent(in) :: coord

public subroutine read_SCALAR_FEMDomain(this, filename)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: filename

public subroutine vtk_file(name, vertices, vertexData)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name
real(kind=real64), intent(in) :: vertices(:)
real(kind=real64), intent(in) :: vertexData(:)

public subroutine getLayer_scalarFEMDomain(this, name, ret)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
character(len=*), intent(in) :: name
real(kind=real64), allocatable :: ret(:)

public subroutine export_vtk_FEMDomainPointer(FEMDomainPointer, name, field, displacement)

Arguments

Type IntentOptional Attributes Name
type(FEMDomainp_), intent(in) :: FEMDomainPointer(:)
character(len=*), intent(in) :: name
real(kind=real64), intent(in) :: field(:)
real(kind=real64), intent(in), optional :: displacement(:)

public subroutine extractFacetElementFEMDomain(this, SurfaceElements, repeat)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout) :: this
integer(kind=int32), intent(in) :: SurfaceElements(:,:)
integer(kind=int32), intent(in) :: repeat

public subroutine bondFEMDomain(this, domain)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(inout), target :: this
type(FEMDomain_), intent(inout), target :: domain

public subroutine fitSegmentToSegmentFEMDomain(this, target_domain, this_segment_list, domain_segment_list, kill_node_list)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
type(FEMDomain_), intent(inout) :: target_domain
integer(kind=int32), intent(in) :: this_segment_list(:)
integer(kind=int32), intent(in) :: domain_segment_list(:)
integer, intent(inout), allocatable :: kill_node_list(:)

public subroutine setVectorValueFEMDomain(this, vector, DOF, fillValue, range)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
real(kind=real64), intent(inout), allocatable :: vector(:)
integer(kind=int32), intent(in) :: DOF
real(kind=real64), intent(in) :: fillValue
type(Range_), intent(in) :: range

public subroutine ifcFEMDomain(this, name)

Arguments

Type IntentOptional Attributes Name
class(FEMDomain_), intent(in) :: this
character(len=*), intent(in) :: name