Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/modules/AbstractMesh/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ target_sources(
${PROJECT_NAME}
PRIVATE ${src_path}/AbstractMesh_Class.F90
${src_path}/NodeData_Class.F90
${src_path}/NodeDataList_Class.F90
${src_path}/NodeDataBinaryTree_Class.F90
${src_path}/ElemData_Class.F90
${src_path}/ElemDataList_Class.F90
Expand Down
10 changes: 5 additions & 5 deletions src/modules/AbstractMesh/src/AbstractMesh_Class.F90
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,7 @@ END SUBROUTINE obj_Display

INTERFACE
MODULE SUBROUTINE obj_DisplayNodeData(obj, msg, unitno)
CLASS(AbstractMesh_), INTENT(IN) :: obj
CLASS(AbstractMesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayNodeData
Expand All @@ -707,7 +707,7 @@ END SUBROUTINE obj_DisplayNodeData

INTERFACE
MODULE SUBROUTINE obj_DisplayElementData(obj, msg, unitno)
CLASS(AbstractMesh_), INTENT(IN) :: obj
CLASS(AbstractMesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayElementData
Expand All @@ -723,7 +723,7 @@ END SUBROUTINE obj_DisplayElementData

INTERFACE
MODULE SUBROUTINE obj_DisplayInternalFacetData(obj, msg, unitno)
CLASS(AbstractMesh_), INTENT(IN) :: obj
CLASS(AbstractMesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayInternalFacetData
Expand All @@ -739,7 +739,7 @@ END SUBROUTINE obj_DisplayInternalFacetData

INTERFACE
MODULE SUBROUTINE obj_DisplayBoundaryFacetData(obj, msg, unitno)
CLASS(AbstractMesh_), INTENT(IN) :: obj
CLASS(AbstractMesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayBoundaryFacetData
Expand All @@ -755,7 +755,7 @@ END SUBROUTINE obj_DisplayBoundaryFacetData

INTERFACE
MODULE SUBROUTINE obj_DisplayFacetElements(obj, msg, unitno)
CLASS(AbstractMesh_), INTENT(IN) :: obj
CLASS(AbstractMesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayFacetElements
Expand Down
29 changes: 29 additions & 0 deletions src/modules/AbstractMesh/src/NodeDataList_Class.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
! This program is a part of EASIFEM library
! Copyright (C) 2020-2021 Vikas Sharma, Ph.D
!
! This program is free software: you can redistribute it and/or modify
! it under the terms of the GNU General Public License as published by
! the Free Software Foundation, either version 3 of the License, or
! (at your option) any later version.
!
! This program is distributed in the hope that it will be useful,
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with this program. If not, see <https: //www.gnu.org/licenses/>
!

#define FTL_TEMPLATE_TYPE NodeData_
#define FTL_TEMPLATE_TYPE_IS_DERIVED
#define FTL_TEMPLATE_TYPE_IS_CLASS
#define FTL_TEMPLATE_TYPE_NAME NodeData
#define FTL_INSTANTIATE_TEMPLATE

MODULE NodeDataList_Class
USE GlobalData, ONLY: DFP, I4B, LGT
USE Display_Method
USE NodeData_Class
#include "../../ftlMacros/ftlList.inc"
END MODULE NodeDataList_Class
5 changes: 5 additions & 0 deletions src/modules/AbstractMesh/src/NodeData_Class.F90
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ MODULE NodeData_Class
PUBLIC :: NodeDataSet
PUBLIC :: NodeData_Pointer
PUBLIC :: NodeData_Display
PUBLIC :: Display
PUBLIC :: NodeData_Deallocate
PUBLIC :: NodeData_lt
PUBLIC :: NodeData_eq
Expand All @@ -36,6 +37,10 @@ MODULE NodeData_Class
INTEGER(I4B), PARAMETER, PUBLIC :: DOMAIN_BOUNDARY_NODE = -2
INTEGER(I4B), PARAMETER, PUBLIC :: GHOST_NODE = -3

INTERFACE Display
MODULE PROCEDURE NodeData_Display
END INTERFACE Display

!----------------------------------------------------------------------------
! NodeData_
!----------------------------------------------------------------------------
Expand Down
43 changes: 42 additions & 1 deletion src/modules/DynamicMesh/src/DynamicMesh_Class.F90
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ MODULE DynamicMesh_Class
USE ElemData_Class
USE ElemDataList_Class
USE NodeData_Class
USE NodeDataList_Class
USE NodeDataBinaryTree_Class
USE AbstractMesh_Class

Expand All @@ -51,6 +52,9 @@ MODULE DynamicMesh_Class
!! element data
TYPE(NodeDataBinaryTree_) :: nodeDataBinaryTree
!! node data
TYPE(NodeDataList_) :: nodeDataList
!! NodeData list

CONTAINS
PRIVATE

Expand All @@ -65,6 +69,11 @@ MODULE DynamicMesh_Class
PROCEDURE, PUBLIC, PASS(obj) :: IMPORT => obj_Import
!! Read mesh from hdf5 file
PROCEDURE, PUBLIC, PASS(obj) :: Display => obj_Display
!! Display the content
PROCEDURE, PUBLIC, PASS(obj) :: DisplayNodeData => obj_DisplayNodeData
!! Display node data
PROCEDURE, PUBLIC, PASS(obj) :: DisplayElementData => obj_DisplayElementData
!! Display element data

! SET:
! @NodeDataMethods
Expand Down Expand Up @@ -137,7 +146,7 @@ END SUBROUTINE obj_Import
END INTERFACE

!----------------------------------------------------------------------------
! Display@IOMethods
! Display@IOMethods
!----------------------------------------------------------------------------

!> author: Vikas Sharma, Ph. D.
Expand All @@ -155,6 +164,38 @@ MODULE SUBROUTINE obj_Display(obj, msg, unitno)
END SUBROUTINE obj_Display
END INTERFACE

!----------------------------------------------------------------------------
! DisplayNodeData@IOMethods
!----------------------------------------------------------------------------

!> authors: Vikas Sharma, Ph. D.
! date: 2024-01-29
! summary: Displays the Node data

INTERFACE
MODULE SUBROUTINE obj_DisplayNodeData(obj, msg, unitno)
CLASS(DynamicMesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayNodeData
END INTERFACE

!----------------------------------------------------------------------------
! DisplayElementData@IOMethods
!----------------------------------------------------------------------------

!> authors: Vikas Sharma, Ph. D.
! date: 2024-01-29
! summary: Displays the element data

INTERFACE
MODULE SUBROUTINE obj_DisplayElementData(obj, msg, unitno)
CLASS(DynamicMesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayElementData
END INTERFACE

!----------------------------------------------------------------------------
! InitiateNodeToElements@NodeDataMethods
!----------------------------------------------------------------------------
Expand Down
10 changes: 5 additions & 5 deletions src/modules/Mesh/src/Mesh_Class.F90
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ END SUBROUTINE obj_Display

INTERFACE
MODULE SUBROUTINE obj_DisplayNodeData(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CLASS(Mesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayNodeData
Expand All @@ -468,7 +468,7 @@ END SUBROUTINE obj_DisplayNodeData

INTERFACE
MODULE SUBROUTINE obj_DisplayElementData(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CLASS(Mesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayElementData
Expand All @@ -484,7 +484,7 @@ END SUBROUTINE obj_DisplayElementData

INTERFACE
MODULE SUBROUTINE obj_DisplayInternalFacetData(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CLASS(Mesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayInternalFacetData
Expand All @@ -500,7 +500,7 @@ END SUBROUTINE obj_DisplayInternalFacetData

INTERFACE
MODULE SUBROUTINE obj_DisplayBoundaryFacetData(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CLASS(Mesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayBoundaryFacetData
Expand All @@ -516,7 +516,7 @@ END SUBROUTINE obj_DisplayBoundaryFacetData

INTERFACE
MODULE SUBROUTINE obj_DisplayFacetElements(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CLASS(Mesh_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE obj_DisplayFacetElements
Expand Down
2 changes: 2 additions & 0 deletions src/submodules/DynamicMesh/src/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
MODULE PROCEDURE obj_Deallocate
CALL AbstractMeshDeallocate(obj)
CALL obj%elementDataList%DEALLOCATE()
CALL obj%nodeDataList%DEALLOCATE()
CALL obj%nodeDataBinaryTree%DEALLOCATE()
END PROCEDURE obj_Deallocate

END SUBMODULE ConstructorMethods
Loading