FEM: Add thermal contact with CalculiX (#22121)

This commit is contained in:
FEA-eng
2025-07-14 18:03:43 +02:00
committed by GitHub
parent 3dc2f7b3e9
commit 2379cc28c1
3 changed files with 17 additions and 0 deletions

View File

@@ -58,6 +58,16 @@ ConstraintContact::ConstraintContact()
"ConstraintContact",
App::PropertyType(App::Prop_None),
"Stick slope");
ADD_PROPERTY_TYPE(EnableThermalContact,
(false),
"ConstraintContact",
App::PropertyType(App::Prop_None),
"Enable thermal contact");
ADD_PROPERTY_TYPE(ThermalContactConductance,
(std::vector<std::string> {}),
"ConstraintContact",
App::PropertyType(App::Prop_None),
"Thermal contact conductance");
}
App::DocumentObjectExecReturn* ConstraintContact::execute()

View File

@@ -51,6 +51,8 @@ public:
App::PropertyBool Friction;
App::PropertyFloat FrictionCoefficient;
App::PropertyStiffnessDensity StickSlope;
App::PropertyBool EnableThermalContact;
App::PropertyStringList ThermalContactConductance;
// etc
/* */

View File

@@ -89,3 +89,8 @@ def write_constraint(f, femobj, contact_obj, ccxwriter):
friction = contact_obj.FrictionCoefficient
stick = contact_obj.StickSlope.getValueAs("MPa/mm").Value
f.write(f"{friction:.13G}, {stick:.13G}\n")
if contact_obj.EnableThermalContact:
f.write("*GAP CONDUCTANCE\n")
for value in contact_obj.ThermalContactConductance:
f.write(f"{value}\n")
f.write("\n")