Skip to content

Commit

Permalink
fix reverse triangle connectivity
Browse files Browse the repository at this point in the history
  • Loading branch information
Edgar-21 committed Jan 23, 2025
1 parent bbc1d11 commit 7bb2157
Showing 1 changed file with 21 additions and 20 deletions.
41 changes: 21 additions & 20 deletions parastell/invessel_build.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
)


def create_moab_tris_from_verts(corners, mbc):
def create_moab_tris_from_verts(corners, mbc, reverse=False):
"""Create 2 moab triangle elements from a list of 4 pymoab verts.
Arguments:
Expand All @@ -33,13 +33,20 @@ def create_moab_tris_from_verts(corners, mbc):
Returns:
list of two pymoab MBTRI elements
"""

tri_1 = mbc.create_element(
types.MBTRI, [corners[2], corners[1], corners[0]]
)
tri_2 = mbc.create_element(
types.MBTRI, [corners[3], corners[2], corners[0]]
)
if reverse:
tri_1 = mbc.create_element(
types.MBTRI, [corners[0], corners[1], corners[2]]
)
tri_2 = mbc.create_element(
types.MBTRI, [corners[0], corners[2], corners[3]]
)
else:
tri_1 = mbc.create_element(
types.MBTRI, [corners[2], corners[1], corners[0]]
)
tri_2 = mbc.create_element(
types.MBTRI, [corners[3], corners[2], corners[0]]
)

return [tri_1, tri_2]

Expand Down Expand Up @@ -388,12 +395,9 @@ def connect_ribs_with_tris_moab(self, rib1, rib2, reverse=False):
corner3 = rib2.mb_verts[rib_loci_index + 1]
corner4 = rib2.mb_verts[rib_loci_index]
corners = [corner1, corner2, corner3, corner4]
if reverse:
mb_tris += create_moab_tris_from_verts(
corners[-1::-1], self.mbc
)
else:
mb_tris += create_moab_tris_from_verts(corners, self.mbc)
mb_tris += create_moab_tris_from_verts(
corners, self.mbc, reverse=reverse
)
return mb_tris

def get_loci(self):
Expand Down Expand Up @@ -591,12 +595,9 @@ def generate_pydagmc_surface(self, dag_model, mbc, reverse=False):
corner3 = next_rib.mb_verts[rib_pt_index + 1]
corner4 = next_rib.mb_verts[rib_pt_index]
corners = [corner1, corner2, corner3, corner4]
if reverse:
mb_tris += create_moab_tris_from_verts(
corners[-1::-1], mbc
)
else:
mb_tris += create_moab_tris_from_verts(corners, mbc)
mb_tris += create_moab_tris_from_verts(
corners, mbc, reverse=reverse
)
surface = dagmc.Surface.create(dag_model)
mbc.add_entities(surface.handle, mb_tris)

Expand Down

0 comments on commit 7bb2157

Please sign in to comment.