diff --git a/src/Mod/Fem/App/FemConstraintContact.cpp b/src/Mod/Fem/App/FemConstraintContact.cpp index 51c74389b6..126365f744 100644 --- a/src/Mod/Fem/App/FemConstraintContact.cpp +++ b/src/Mod/Fem/App/FemConstraintContact.cpp @@ -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 {}), + "ConstraintContact", + App::PropertyType(App::Prop_None), + "Thermal contact conductance"); } App::DocumentObjectExecReturn* ConstraintContact::execute() diff --git a/src/Mod/Fem/App/FemConstraintContact.h b/src/Mod/Fem/App/FemConstraintContact.h index c2cc575b30..4e7c26cab5 100644 --- a/src/Mod/Fem/App/FemConstraintContact.h +++ b/src/Mod/Fem/App/FemConstraintContact.h @@ -51,6 +51,8 @@ public: App::PropertyBool Friction; App::PropertyFloat FrictionCoefficient; App::PropertyStiffnessDensity StickSlope; + App::PropertyBool EnableThermalContact; + App::PropertyStringList ThermalContactConductance; // etc /* */ diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_contact.py b/src/Mod/Fem/femsolver/calculix/write_constraint_contact.py index fca26b40a1..99135ada6e 100644 --- a/src/Mod/Fem/femsolver/calculix/write_constraint_contact.py +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_contact.py @@ -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")