FEM: Add thermal contact with CalculiX (#22121)
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -51,6 +51,8 @@ public:
|
||||
App::PropertyBool Friction;
|
||||
App::PropertyFloat FrictionCoefficient;
|
||||
App::PropertyStiffnessDensity StickSlope;
|
||||
App::PropertyBool EnableThermalContact;
|
||||
App::PropertyStringList ThermalContactConductance;
|
||||
|
||||
// etc
|
||||
/* */
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user