Add new elements to point containers is now more general

This commit is contained in:
Jorge Gonzalez 2026-02-20 11:03:11 +01:00
commit 70f6db0883
12 changed files with 109 additions and 108 deletions

View file

@ -64,7 +64,6 @@ MODULE moduleMesh
!Containers for nodes in the mesh
TYPE:: meshNodeCont
CLASS(meshNode), ALLOCATABLE:: obj
CONTAINS
END TYPE meshNodeCont
@ -79,6 +78,12 @@ MODULE moduleMesh
END TYPE meshNodePointer
interface
module subroutine meshNodePointer_add(self, node)
class(meshNodePointer), allocatable, intent(inout):: self(:)
integer, intent(in):: node
end subroutine meshNodePointer_add
module function meshNodePointer_equal_type_type(self, other) result(isEqual)
class(meshNodePointer), intent(in):: self, other
logical:: isEqual
@ -192,6 +197,12 @@ MODULE moduleMesh
end type meshEdgePointer
interface
module subroutine meshEdgePointer_add(self, edge)
class(meshEdgePointer), allocatable, intent(inout):: self(:)
integer, intent(in):: edge
end subroutine meshEdgePointer_add
module function meshEdgePointer_equal_type_type(self, other) result(isEqual)
class(meshEdgePointer), intent(in):: self, other
logical:: isEqual
@ -837,7 +848,7 @@ MODULE moduleMesh
end type boundaryParticlePointer
!Number of boundaries
INTEGER:: nBoundaries = 0
INTEGER:: nBoundariesParticle = 0
!Array for boundaries
TYPE(boundaryParticleCont), ALLOCATABLE, TARGET:: boundariesParticle(:)
@ -853,7 +864,6 @@ MODULE moduleMesh
contains
procedure, pass:: init => initBoundaryEM
procedure(applyEM_interface), deferred, pass:: apply
procedure, pass:: addNodes
end type boundaryEMGeneric
@ -868,12 +878,6 @@ MODULE moduleMesh
end subroutine initBoundaryEM
module subroutine addNodes(self, nodes)
class(boundaryEMGeneric), intent(inout):: self
integer, intent(in):: nodes(:)
end subroutine addNodes
module function boundaryEMName_to_Index(boundaryName) result(bp)
character(:), allocatable:: boundaryName
integer:: bp
@ -957,27 +961,9 @@ MODULE moduleMesh
class(meshEdgePointer), allocatable:: edges(:)
class(boundaryParticlePointer), allocatable:: particles(:)
class(boundaryEMGeneric), pointer:: EM => null()
contains
procedure, pass:: addNode
procedure, pass:: addEdge
end type
interface
module subroutine addNode(self, node)
class(physicalSurface), intent(inout):: self
integer, intent(in):: node
end subroutine addNode
module subroutine addEdge(self, edge)
class(physicalSurface), intent(inout):: self
integer, intent(in):: edge
end subroutine addEdge
end interface
integer:: nPhysicalSurfaces
type(physicalSurface), allocatable:: physicalSurfaces(:)