New physical surfaces implemented

This commit is contained in:
Jorge Gonzalez 2026-02-20 09:50:42 +01:00
commit ce6b6a41a6
11 changed files with 122 additions and 99 deletions

View file

@ -133,7 +133,7 @@ MODULE moduleMesh2DCyl
!EDGE FUNCTIONS
!Init edge element
SUBROUTINE initEdge2DCyl(self, n, p, btPart, btEM)
SUBROUTINE initEdge2DCyl(self, n, p, ps)
USE moduleSpecies
USE moduleErrors
USE moduleConstParam, ONLY: PI
@ -142,8 +142,8 @@ MODULE moduleMesh2DCyl
CLASS(meshEdge2DCyl), INTENT(out):: self
INTEGER, INTENT(in):: n
INTEGER, INTENT(in):: p(:)
INTEGER, INTENT(in):: btPart(1:nsPecies)
integer, intent(in):: btEM
INTEGER, INTENT(in):: ps
integer:: ps_index
REAL(8), DIMENSION(1:3):: r1, r2
INTEGER:: s
@ -171,16 +171,13 @@ MODULE moduleMesh2DCyl
0.D0 /)
self%normal = self%normal/NORM2(self%normal)
!Boundary particle linking
allocate(self%boundariesParticle(1:nSpecies))
!Assign functions to boundary
do s = 1, nSpecies
self%boundariesParticle(s)%obj => boundariesParticle(btPart(s))%obj
! Get Physical Surface index based on input numering
ps_index = physicalSurface_to_index(ps)
end do
! Add nodes to EM boundary
call boundariesEMLinking(btEM)%model%addNodes(self%getNodes(self%nNodes))
! Add elements to physical surface
call physicalSurfaces(ps_index)%addEdge(self%n)
call physicalSurfaces(ps_index)%addNode(self%n1%n)
call physicalSurfaces(ps_index)%addNode(self%n2%n)
END SUBROUTINE initEdge2DCyl