Fem: Add support for 2D geometries to Contact constraint - fixes #13280

This commit is contained in:
marioalexis
2025-08-28 23:12:15 -03:00
parent c483f5a890
commit 7afa56652c
3 changed files with 32 additions and 18 deletions

View File

@@ -57,12 +57,23 @@ def get_after_write_constraint():
def write_meshdata_constraint(f, femobj, contact_obj, ccxwriter):
# slave DEP
f.write(f"*SURFACE, NAME=DEP{contact_obj.Name}\n")
for i in femobj["ContactSlaveFaces"]:
f.write(f"{i[0]},S{i[1]}\n")
for refs, surf, is_sub_el in femobj["ContactSlaveFaces"]:
if is_sub_el:
for elem, fno in surf:
f.write(f"{elem},S{fno}\n")
else:
for elem in surf:
f.write(f"{elem},S2\n")
# master IND
f.write(f"*SURFACE, NAME=IND{contact_obj.Name}\n")
for i in femobj["ContactMasterFaces"]:
f.write(f"{i[0]},S{i[1]}\n")
for refs, surf, is_sub_el in femobj["ContactMasterFaces"]:
if is_sub_el:
for elem, fno in surf:
f.write(f"{elem},S{fno}\n")
else:
for elem in surf:
f.write(f"{elem},S2\n")
def write_constraint(f, femobj, contact_obj, ccxwriter):