Skip to content

Commit

Permalink
Add contact and mpc conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
m-frey committed Dec 10, 2024
1 parent da9705e commit 268c249
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions cubitpy/cubitpy_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,10 @@ def get_default_four_c_description(self):
return "KINEM nonlinear EAS none ANS none THICKDIR auto"
elif self == self.hex8_fluid or self.tet4_fluid:
return "NA ALE"
elif self == self.quad4:
return (
"KINEM nonlinear EAS none THICK 1.0 STRESS_STRAIN plane_stress GP 2 2"
)
else:
raise ValueError("Got wrong element type {}!".format(self))

Expand All @@ -255,6 +259,9 @@ class BoundaryConditionType(Enum):
beam_to_solid_surface_meshtying = auto()
beam_to_solid_surface_contact = auto()
solid_to_solid_surface_contact = auto()
micro_model_boundary_surface = auto()
periodic_rve_edge = auto()
line_mortar_contact = auto()

# fluid
flow_rate = auto()
Expand Down Expand Up @@ -322,6 +329,14 @@ def get_dat_bc_section_header(self, geometry_type):
geometry_type == GeometryType.curve
):
return "FLUID NEUMANN INFLOW LINE CONDITIONS"
elif self == self.line_mortar_contact and (geometry_type == GeometryType.curve):
return "DESIGN LINE MORTAR CONTACT CONDITIONS 2D"
elif self == self.periodic_rve_edge and (geometry_type == GeometryType.curve):
return "DESIGN LINE PERIODIC RVE 2D BOUNDARY CONDITIONS"
elif self == self.micro_model_boundary_surface and (
geometry_type == GeometryType.surface
):
return "MICROSCALE CONDITIONS"
else:
raise ValueError(
"No implemented case for {} and {}!".format(self, geometry_type)
Expand Down

0 comments on commit 268c249

Please sign in to comment.