Mesh_ Derived Type

type, public :: Mesh_


Contents


Components

TypeVisibility AttributesNameInitial
character(len=200), public :: FileName =" "
real(kind=real64), public, allocatable:: NodCoord(:,:)
integer(kind=int32), public, allocatable:: ElemNod(:,:)
integer(kind=int32), public, allocatable:: ElemMat(:)
integer(kind=int32), public, allocatable:: MasterID(:)
integer(kind=int32), public, allocatable:: SlaveID(:)
integer(kind=int32), public, allocatable:: NTSMasterFacetID(:)
real(kind=real64), public, allocatable:: xi(:,:)
real(kind=real64), public, allocatable:: NodCoordInit(:,:)
integer(kind=int32), public, allocatable:: BottomElemID
integer(kind=int32), public, allocatable:: TopElemID
integer(kind=int32), public, allocatable:: FacetElemNod(:,:)
integer(kind=int32), public, allocatable:: NextFacets(:,:)
integer(kind=int32), public, allocatable:: SurfaceLine2D(:)
integer(kind=int32), public, allocatable:: SubMeshNodFromTo(:,:)
integer(kind=int32), public, allocatable:: SubMeshElemFromTo(:,:)
integer(kind=int32), public, allocatable:: SubMeshSurfFromTo(:,:)
integer(kind=int32), public :: surface =1
integer(kind=int32), public, allocatable:: GlobalNodID(:)
character(len=36), public :: uuid
character(len=70), public :: ElemType =" "
character(len=70), public :: ErrorMsg =" "
character(len=70), public :: meshtype

Type-Bound Procedures

procedure, public :: add => addMesh

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

    Arguments

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

procedure, public :: addElements => addElementsMesh

  • public subroutine addElementsMesh(obj, connectivity)

    Arguments

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

procedure, public :: adjustSphere => AdjustSphereMesh

  • public subroutine AdjustSphereMesh(obj, rx, ry, rz, debug)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: rx
    real(kind=real64), intent(in), optional :: ry
    real(kind=real64), intent(in), optional :: rz
    logical, intent(in), optional :: debug

procedure, public :: adjustCylinder => AdjustCylinderMesh

  • public subroutine AdjustCylinderMesh(obj, rx, ry, rz, debug)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: rx
    real(kind=real64), intent(in), optional :: ry
    real(kind=real64), intent(in), optional :: rz
    logical, intent(in), optional :: debug

procedure, public :: assemble => assembleMesh

  • public recursive subroutine assembleMesh(obj)

    Arguments

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

procedure, public :: arrangeNodeOrder => arrangeNodeOrderMesh

  • public subroutine arrangeNodeOrderMesh(obj, NumberOfLayer)

    Arguments

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

procedure, public :: copy => CopyMesh

  • public subroutine CopyMesh(obj, cobj, Minimum)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    class(Mesh_), intent(in) :: cobj
    logical, intent(in), optional :: Minimum

procedure, public :: cut => cutMesh

  • public subroutine cutMesh(obj, material1, material2)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: material1
    integer(kind=int32), intent(in), optional :: material2

procedure, public :: convertMeshType => ConvertMeshTypeMesh

  • public subroutine ConvertMeshTypeMesh(obj, Option)

    Arguments

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

procedure, public :: convertTetraToHexa => convertTetraToHexaMesh

procedure, public :: convertTriangleToRectangular => convertTriangleToRectangularMesh

procedure, public :: create => createMesh

  • public recursive subroutine createMesh(obj, meshtype, x_num, y_num, x_len, y_len, Le, Lh, Dr, thickness, division, smooth, top, margin, inclineRate, shaperatio, master, slave, x, y, z, dx, dy, dz, coordinate, species, SoyWidthRatio)

    !!!

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    character(len=*), intent(in), optional :: meshtype
    integer(kind=int32), intent(in), optional :: x_num
    integer(kind=int32), intent(in), optional :: y_num
    real(kind=real64), intent(in), optional :: x_len
    real(kind=real64), intent(in), optional :: y_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
    logical, intent(in), optional :: smooth
    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(Mesh_), intent(inout), optional :: master
    type(Mesh_), 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

procedure, public :: check => checkMesh

  • public subroutine checkMesh(obj)

    Arguments

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

procedure, public :: convert2Dto3D => Convert2Dto3DMesh

  • public subroutine Convert2Dto3DMesh(obj, Thickness, division, smooth)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: Thickness
    integer(kind=int32), intent(in), optional :: division
    logical, intent(in), optional :: smooth

procedure, public :: clean => cleanMesh

  • public subroutine cleanMesh(obj)

    Arguments

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

procedure, public :: delete => DeallocateMesh

  • public subroutine DeallocateMesh(obj)

    Arguments

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

procedure, public :: detectIface => detectIfaceMesh

  • public function detectIfaceMesh(obj, material1, material2) result(list)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: material1
    integer(kind=int32), intent(in), optional :: material2

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

procedure, public :: displayMesh => DisplayMesh

  • public subroutine DisplayMesh(obj, OptionalFolderName, OptionalFormat, FileHandle, Name)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    character(len=*), intent(in), optional :: OptionalFolderName
    character(len=*), intent(in), optional :: OptionalFormat
    integer(kind=int32), intent(in), optional :: FileHandle
    character(len=*), intent(in), optional :: Name

procedure, public :: display => DisplayMesh

  • public subroutine DisplayMesh(obj, OptionalFolderName, OptionalFormat, FileHandle, Name)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    character(len=*), intent(in), optional :: OptionalFolderName
    character(len=*), intent(in), optional :: OptionalFormat
    integer(kind=int32), intent(in), optional :: FileHandle
    character(len=*), intent(in), optional :: Name

procedure, public :: divide => divideMesh

  • public function divideMesh(obj, n) result(meshes)

    Arguments

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

    Return Value class(Mesh_), allocatable, (:)

procedure, public :: delauneygetNewNode => DelauneygetNewNodeMesh

  • public subroutine DelauneygetNewNodeMesh(obj, node_id, staged_node, triangle, box)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: node_id
    integer(kind=int32), intent(inout), optional :: staged_node(:)
    real(kind=real64), intent(inout), optional :: triangle(:,:)
    type(Mesh_), intent(in), optional :: box

procedure, public :: delauneygetNewNode3D => DelauneygetNewNode3DMesh

  • public subroutine DelauneygetNewNode3DMesh(obj, NodeID)

    Arguments

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

procedure, public :: delauneygetNewTriangle => DelauneygetNewTriangleMesh

  • public subroutine DelauneygetNewTriangleMesh(obj, triangle_node_id, new_node_id)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: triangle_node_id(:)
    integer(kind=int32), intent(in) :: new_node_id

procedure, public :: delauneyremoveOverlaps => DelauneyremoveOverlapsMesh

  • public subroutine DelauneyremoveOverlapsMesh(obj, step, NoChange)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: step
    logical, intent(inout), optional :: NoChange

procedure, public :: export => exportMeshObj

  • public subroutine exportMeshObj(obj, restart, path, stl, scalar, vector, tensor, name)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    logical, intent(in), optional :: restart
    character(len=*), intent(in), optional :: path
    logical, intent(in), optional :: stl
    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 :: name

procedure, public :: exportElemNod => ExportElemNod

  • public subroutine ExportElemNod(obj, elem_nod)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(inout), allocatable:: elem_nod(:,:)

procedure, public :: exportNodCoord => ExportNodCoord

  • public subroutine ExportNodCoord(obj, nod_coord)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    real(kind=real64), intent(inout), allocatable:: nod_coord(:,:)

procedure, public :: exportSurface2D => ExportSurface2D

  • public subroutine ExportSurface2D(obj, surface_nod)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(inout), allocatable:: surface_nod(:)

procedure, public :: empty => emptyMesh

  • public function emptyMesh(obj) result(res)

    Arguments

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

    Return Value logical

procedure, public :: edit => editMesh

  • public subroutine editMesh(obj, x, altitude)

    Arguments

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

procedure, public :: getCoordinate => getCoordinateMesh

  • public function getCoordinateMesh(obj, NodeID, onlyX, onlyY, OnlyZ) result(x)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: NodeID
    logical, intent(in), optional :: onlyX
    logical, intent(in), optional :: onlyY
    logical, intent(in), optional :: OnlyZ

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

procedure, public :: getNodeIDinElement => getNodeIDinElementMesh

  • public function getNodeIDinElementMesh(obj, ElementID) result(NodeIDList)

    Arguments

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

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

procedure, public :: getFacetElement => GetFacetElement

  • public subroutine GetFacetElement(obj)

    Arguments

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

procedure, public :: getFacetNodeID => getFacetNodeIDMesh

  • public function getFacetNodeIDMesh(obj, ElementID) result(ret)

    Arguments

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

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

procedure, public :: getSurface => GetSurface

  • public subroutine GetSurface(obj)

    Arguments

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

procedure, public :: getInterface => GetInterface

  • public subroutine GetInterface(obj1, obj2, iface1, iface2, err)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj1
    class(Mesh_), intent(inout) :: obj2
    class(Mesh_), intent(inout) :: iface1
    class(Mesh_), intent(inout) :: iface2
    integer(kind=int32), intent(inout), optional :: err

procedure, public :: getInterfaceElemNod => GetInterfaceElemNod

  • public subroutine GetInterfaceElemNod(obj, iface)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(in) :: obj
    class(Mesh_), intent(inout) :: iface

procedure, public :: getBoundingBox => GetBoundingBox

  • public subroutine GetBoundingBox(obj, BBox)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(in) :: obj
    class(Mesh_), intent(inout) :: BBox

procedure, public :: getFacetElemInsideBox => GetFacetElemInsideBox

  • public subroutine GetFacetElemInsideBox(obj, BBox, iface)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(in) :: obj
    class(Mesh_), intent(in) :: BBox
    class(Mesh_), intent(inout) :: iface

procedure, public :: getInterSectBox => GetInterSectBox

  • public subroutine GetInterSectBox(obj1, obj2, BBox)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(in) :: obj1
    class(Mesh_), intent(in) :: obj2
    class(Mesh_), intent(inout) :: BBox

procedure, public :: getNextFacets => GetNextFacets

  • public subroutine GetNextFacets(obj)

    Arguments

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

procedure, public :: getElemType => GetElemTypeMesh

  • public function GetElemTypeMesh(obj) result(ElemType)

    Arguments

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

    Return Value character(len=200)

procedure, public :: getElement => getElementMesh

  • public function getElementMesh(obj, ElementID) result(element)

    Arguments

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

    Return Value type(Mesh_)

procedure, public :: getNumOfDomain => getNumOfDomainMesh

  • public function getNumOfDomainMesh(obj, ItrTol) result(dnum)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: getCircumscribedCircle => getCircumscribedCircleMesh

  • public subroutine getCircumscribedCircleMesh(obj, centerx, centery, centerz, radius)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    real(kind=real64), intent(out) :: centerx
    real(kind=real64), intent(out) :: centery
    real(kind=real64), intent(out) :: centerz
    real(kind=real64), intent(out) :: radius

procedure, public :: getCircumscribedSphere => getCircumscribedSphereMesh

  • public subroutine getCircumscribedSphereMesh(obj, centerx, centery, centerz, radius)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    real(kind=real64), intent(out) :: centerx
    real(kind=real64), intent(out) :: centery
    real(kind=real64), intent(out) :: centerz
    real(kind=real64), intent(out) :: radius

procedure, public :: getCircumscribedTriangle => getCircumscribedTriangleMesh

  • public subroutine getCircumscribedTriangleMesh(obj, triangle)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    real(kind=real64), intent(out), allocatable:: triangle(:,:)

procedure, public :: getCircumscribedBox => getCircumscribedBoxMesh

  • public subroutine getCircumscribedBoxMesh(obj, box)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    type(Mesh_), intent(inout) :: box

procedure, public :: getCircumscribedSphereOfTetra => getCircumscribedSphereOfTetraMesh

  • public subroutine getCircumscribedSphereOfTetraMesh(obj, center, radius)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(in) :: obj
    real(kind=real64), intent(inout) :: center(3)
    real(kind=real64), intent(inout) :: radius

procedure, public :: getNodeList => getNodeListMesh

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

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    type(Mesh_), 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, (:)

procedure, public :: getFacetList => getFacetListMesh

  • public function getFacetListMesh(obj, NodeID) result(FacetList)

    Arguments

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

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

procedure, public :: getElementList => getElementListMesh

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

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    type(Mesh_), 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, (:)

procedure, public :: getVolume => getVolumeMesh

  • public function getVolumeMesh(obj) result(volume)

    Arguments

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

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

procedure, public :: getShapeFunction => getShapeFunctionMesh

  • public function getShapeFunctionMesh(obj, ElementID, GaussPointID, ReducedIntegration) result(sobj)

    Arguments

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

    Return Value type(ShapeFunction_)

procedure, public :: getCenterCoordinate => getCenterCoordinateMesh

  • public function getCenterCoordinateMesh(obj, elemid) result(ret)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(in) :: obj
    integer(kind=int32), intent(in) :: elemid

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

procedure, public :: getNeighboringNode => getNeighboringNodeMesh

  • public function getNeighboringNodeMesh(obj, nodeid) result(ret)

    Arguments

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

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

procedure, public :: getNeighboringElement => getNeighboringElementMesh

  • public function getNeighboringElementMesh(obj, elemid, withSurfaceID, interfaces) result(ret)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: elemid
    logical, intent(in), optional :: withSurfaceID
    integer(kind=int32), intent(inout), optional allocatable:: interfaces(:)

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

procedure, public :: ShapeFunction => getShapeFunctionMesh

  • public function getShapeFunctionMesh(obj, ElementID, GaussPointID, ReducedIntegration) result(sobj)

    Arguments

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

    Return Value type(ShapeFunction_)

procedure, public :: gmsh => gmshMesh

  • public subroutine gmshMesh(obj, OptionalContorName, OptionalAbb, OptionalStep, Name, withNeumannBC, withDirichletBC, onlyNeumannBC, onlyDirichletBC, asMsh, withMaterial, ElemValue, timestep)

    Arguments

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

procedure, public :: import => importMeshObj

  • public subroutine importMeshObj(obj, FileName, extention, ElemType, Mesh)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    character(len=*), intent(in), optional :: FileName
    character(len=*), intent(in), optional :: extention
    character(len=*), intent(in), optional :: ElemType
    type(Mesh_), intent(in), optional :: Mesh

procedure, public :: importElemNod => ImportElemNod

  • public subroutine ImportElemNod(obj, elem_nod)

    Arguments

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

procedure, public :: importNodCoord => ImportNodCoord

  • public subroutine ImportNodCoord(obj, nod_coord)

    Arguments

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

procedure, public :: importElemMat => ImportElemMat

  • public subroutine ImportElemMat(obj, elem_mat)

    Arguments

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

procedure, public :: init => InitializeMesh

  • public subroutine InitializeMesh(obj, MaterialID, NoFacetMode, simple)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: MaterialID
    logical, intent(in), optional :: NoFacetMode
    logical, intent(in), optional :: simple

procedure, public :: InsideOfElement => InsideOfElementMesh

  • public function InsideOfElementMesh(obj, ElementID, x, y, z) result(Inside)

    Arguments

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

    Return Value logical

procedure, public :: json => jsonMesh

  • public subroutine jsonMesh(obj, name, fh, endl)

    Arguments

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

procedure, public :: length => lengthMesh

  • public function lengthMesh(obj) result(length)

    Arguments

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

    Return Value real(kind=real64) (3)

procedure, public :: Laplacian => LaplacianMesh

  • public subroutine LaplacianMesh(obj, itr_tol)

    Arguments

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

procedure, public :: mergeMesh => MergeMesh

  • public subroutine MergeMesh(inobj1, inobj2, outobj)

    Arguments

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

procedure, public :: meltingSkelton => MeltingSkeltonMesh

  • public subroutine MeltingSkeltonMesh(obj, ItrTol)

    Arguments

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

procedure, public :: meshing => MeshingMesh

  • public subroutine MeshingMesh(obj, Mode, itr_tol, delaunay2d)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: Mode
    integer(kind=int32), intent(in), optional :: itr_tol
    logical, intent(in), optional :: delaunay2d

procedure, public :: numElements => numElementsMesh

  • public function numElementsMesh(obj) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: ne => numElementsMesh

  • public function numElementsMesh(obj) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: numNodes => numNodesMesh

  • public function numNodesMesh(obj) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: nn => numNodesMesh

  • public function numNodesMesh(obj) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: numNodesForEachElement => numNodesForEachElementMesh

  • public function numNodesForEachElementMesh(obj) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: nne => numNodesForEachElementMesh

  • public function numNodesForEachElementMesh(obj) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: numDimension => numDimensionMesh

  • public function numDimensionMesh(obj) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: nd => numDimensionMesh

  • public function numDimensionMesh(obj) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: nearestElementID => nearestElementIDMesh

  • public function nearestElementIDMesh(obj, x, y, z) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: getNearestElementID => nearestElementIDMesh

  • public function nearestElementIDMesh(obj, x, y, z) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: getNearestNodeID => getNearestNodeIDMesh

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

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: HowManyDomain => HowManyDomainMesh

  • public function HowManyDomainMesh(obj) result(ret)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public :: open => openMesh

  • public subroutine openMesh(obj, path, name)

    Arguments

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

procedure, public :: position => positionMesh

  • public function positionMesh(obj, id) result(x)

    Arguments

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

    Return Value real(kind=real64) (3)

procedure, public :: position_x => position_xMesh

  • public function position_xMesh(obj, id) result(x)

    Arguments

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

    Return Value real(kind=real64)

procedure, public :: position_y => position_yMesh

  • public function position_yMesh(obj, id) result(x)

    Arguments

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

    Return Value real(kind=real64)

procedure, public :: position_z => position_zMesh

  • public function position_zMesh(obj, id) result(x)

    Arguments

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

    Return Value real(kind=real64)

procedure, public :: remove => removeMesh

  • public subroutine removeMesh(obj, all, x_min, x_max, y_min, y_max, z_min, z_max)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    logical, intent(in), optional :: all
    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

procedure, public :: removeCircumscribedTriangle => removeCircumscribedTriangleMesh

procedure, public :: removeFailedTriangle => RemoveFailedTriangleMesh

procedure, public :: removeOverlappedNode => removeOverlappedNodeMesh

  • public subroutine removeOverlappedNodeMesh(obj, tolerance)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: tolerance

procedure, public :: removeElements => removeElementsMesh

  • public subroutine removeElementsMesh(obj, ElementIDs)

    Arguments

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

procedure, public :: resize => resizeMeshobj

  • public subroutine resizeMeshobj(obj, x_rate, y_rate, z_rate, x_len, y_len, z_len)

    Arguments

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

procedure, public :: remesh => remeshMesh

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

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    character(len=*), intent(in), optional :: meshtype
    integer(kind=int32), intent(in), optional :: x_num
    integer(kind=int32), intent(in), optional :: y_num
    real(kind=real64), intent(in), optional :: x_len
    real(kind=real64), intent(in), optional :: y_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
    logical, intent(in), optional :: smooth
    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(Mesh_), intent(inout), optional :: master
    type(Mesh_), 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(:,:)

procedure, public :: save => saveMesh

  • public subroutine saveMesh(obj, path, name)

    Arguments

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

procedure, public :: sortFacet => SortFacetMesh

  • public subroutine SortFacetMesh(obj)

    Arguments

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

procedure, public :: shift => shiftMesh

  • public subroutine shiftMesh(obj, x, y, z)

    Arguments

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

procedure, public :: showRange => showRangeMesh

  • public subroutine showRangeMesh(obj)

    Arguments

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

procedure, public :: showMesh => ShowMesh

  • public subroutine ShowMesh(obj, FileHandle, OnlySurface)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: FileHandle
    logical, intent(in), optional :: OnlySurface

procedure, public :: show => ShowMesh

  • public subroutine ShowMesh(obj, FileHandle, OnlySurface)

    Arguments

    Type IntentOptional AttributesName
    class(Mesh_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: FileHandle
    logical, intent(in), optional :: OnlySurface