FEM: Amplitude support for final temperature field (#23530)
* FEM: Update FemConstraintInitialTemperature.cpp * FEM: Update FemConstraintInitialTemperature.h * FEM: Update write_amplitude.py * FEM: Update write_constraint_finaltemperature.py
This commit is contained in:
@@ -37,6 +37,16 @@ ConstraintInitialTemperature::ConstraintInitialTemperature()
|
||||
ADD_PROPERTY(initialTemperature, (300.0));
|
||||
ADD_PROPERTY(EnableFinalTemperature, (false));
|
||||
ADD_PROPERTY(FinalTemperature, (300.0));
|
||||
ADD_PROPERTY_TYPE(EnableAmplitude,
|
||||
(false),
|
||||
"",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude of the final temperature field");
|
||||
ADD_PROPERTY_TYPE(AmplitudeValues,
|
||||
(std::vector<std::string> {"0, 0", "1, 1"}),
|
||||
"",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude values");
|
||||
}
|
||||
|
||||
App::DocumentObjectExecReturn* ConstraintInitialTemperature::execute()
|
||||
|
||||
@@ -45,6 +45,9 @@ public:
|
||||
App::PropertyBool EnableFinalTemperature;
|
||||
App::PropertyTemperature FinalTemperature;
|
||||
|
||||
App::PropertyBool EnableAmplitude;
|
||||
App::PropertyStringList AmplitudeValues;
|
||||
|
||||
/// recalculate the object
|
||||
App::DocumentObjectExecReturn* execute() override;
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ def write_amplitude(f, ccxwriter):
|
||||
ccxwriter.member.cons_temperature,
|
||||
ccxwriter.member.cons_bodyheatsource,
|
||||
ccxwriter.member.cons_rigidbody,
|
||||
ccxwriter.member.cons_initialtemperature,
|
||||
]
|
||||
|
||||
for constraint_list in constraint_lists:
|
||||
|
||||
@@ -60,7 +60,10 @@ def write_constraint(f, femobj, inittemp_obj, ccxwriter):
|
||||
|
||||
finaltemp = inittemp_obj.FinalTemperature.getValueAs("K")
|
||||
|
||||
f.write("*TEMPERATURE\n")
|
||||
if inittemp_obj.EnableAmplitude:
|
||||
f.write(f"*TEMPERATURE, AMPLITUDE={inittemp_obj.Name}\n")
|
||||
else:
|
||||
f.write("*TEMPERATURE\n")
|
||||
if inittemp_obj.References:
|
||||
f.write(f"{inittemp_obj.Name},{finaltemp}\n")
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user