From c6823080dd26be14150411b2a6bf4576f3bdf75d Mon Sep 17 00:00:00 2001 From: Fung Chan Date: Wed, 2 Apr 2025 17:15:19 +1300 Subject: [PATCH] Fixed element numbering in add_matching_mesh for arbitrary numbering scenario --- src/lib/geometry.f90 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/geometry.f90 b/src/lib/geometry.f90 index 558b121d..ad8ed8c6 100644 --- a/src/lib/geometry.f90 +++ b/src/lib/geometry.f90 @@ -295,9 +295,9 @@ subroutine add_matching_mesh() enddo do noelem=1,num_elems - ne=ne_global+noelem - elem_field(ne_group,ne)=2.0_dp!VEIN ne_m=elems(noelem) + ne=ne_global+ne_m ! element num ordering for veins matchs artery + elem_field(ne_group,ne)=2.0_dp!VEIN elem_field(ne_group,ne_m)=0.0_dp!ARTERY elems(ne0+noelem)=ne if(.NOT.REVERSE)then @@ -323,6 +323,7 @@ subroutine add_matching_mesh() elem_cnct(-1,n,ne)=elem_cnct(1,n,ne_m)+ne0 enddo endif + !if worrying about regions and versions do it here elems_at_node(elem_nodes(1,ne),0)=elems_at_node(elem_nodes(1,ne),0)+1 elems_at_node(elem_nodes(1,ne),elems_at_node(elem_nodes(1,ne),0))=ne @@ -335,10 +336,10 @@ subroutine add_matching_mesh() nindex=no_hord elem_ordrs(nindex,ne)=elem_ordrs(nindex,ne_m) enddo - + !update current no of nodes and elements to determine connectivity np0=np !current highest node - ne1=ne !current highest element + ne1=maxval(elems) !current highest element noelem0=maxval(elems) if(mesh_type.eq.'ladder')then !To be implemented