FEM: Add support for amplitudes with CalculiX (#22851)
This commit is contained in:
@@ -148,6 +148,16 @@ ConstraintDisplacement::ConstraintDisplacement()
|
||||
"ConstraintDisplacement",
|
||||
App::Prop_None,
|
||||
"Rotation in local Z direction");
|
||||
ADD_PROPERTY_TYPE(EnableAmplitude,
|
||||
(false),
|
||||
"ConstraintDisplacement",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude of the displacement boundary condition");
|
||||
ADD_PROPERTY_TYPE(AmplitudeValues,
|
||||
(std::vector<std::string> {"0, 0", "1, 1"}),
|
||||
"ConstraintFDisplacement",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude values");
|
||||
}
|
||||
|
||||
App::DocumentObjectExecReturn* ConstraintDisplacement::execute()
|
||||
|
||||
@@ -40,6 +40,9 @@ public:
|
||||
/// Constructor
|
||||
ConstraintDisplacement();
|
||||
|
||||
App::PropertyBool EnableAmplitude;
|
||||
App::PropertyStringList AmplitudeValues;
|
||||
|
||||
// Displacement parameters
|
||||
App::PropertyDistance xDisplacement;
|
||||
App::PropertyDistance yDisplacement;
|
||||
|
||||
@@ -54,6 +54,16 @@ ConstraintForce::ConstraintForce()
|
||||
|
||||
// by default use the null vector to indicate an invalid value
|
||||
naturalDirectionVector = Base::Vector3d(0, 0, 0);
|
||||
ADD_PROPERTY_TYPE(EnableAmplitude,
|
||||
(false),
|
||||
"ConstraintForce",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude of the force load");
|
||||
ADD_PROPERTY_TYPE(AmplitudeValues,
|
||||
(std::vector<std::string> {"0, 0", "1, 1"}),
|
||||
"ConstraintForce",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude values");
|
||||
}
|
||||
|
||||
App::DocumentObjectExecReturn* ConstraintForce::execute()
|
||||
|
||||
@@ -38,6 +38,8 @@ public:
|
||||
/// Constructor
|
||||
ConstraintForce();
|
||||
|
||||
App::PropertyBool EnableAmplitude;
|
||||
App::PropertyStringList AmplitudeValues;
|
||||
App::PropertyForce Force;
|
||||
App::PropertyLinkSub Direction;
|
||||
App::PropertyBool Reversed;
|
||||
|
||||
@@ -56,6 +56,16 @@ ConstraintHeatflux::ConstraintHeatflux()
|
||||
App::Prop_None,
|
||||
"Cavity radiation");
|
||||
ADD_PROPERTY_TYPE(CavityName, ("cav"), "ConstraintHeatflux", App::Prop_None, "Cavity name");
|
||||
ADD_PROPERTY_TYPE(EnableAmplitude,
|
||||
(false),
|
||||
"ConstraintHeatflux",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude of the heat flux load");
|
||||
ADD_PROPERTY_TYPE(AmplitudeValues,
|
||||
(std::vector<std::string> {"0, 0", "1, 1"}),
|
||||
"ConstraintHeatflux",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude values");
|
||||
}
|
||||
|
||||
App::DocumentObjectExecReturn* ConstraintHeatflux::execute()
|
||||
|
||||
@@ -39,6 +39,9 @@ class FemExport ConstraintHeatflux: public Fem::Constraint
|
||||
public:
|
||||
ConstraintHeatflux();
|
||||
|
||||
App::PropertyBool EnableAmplitude;
|
||||
App::PropertyStringList AmplitudeValues;
|
||||
|
||||
App::PropertyTemperature AmbientTemp;
|
||||
/*App::PropertyFloat FaceTemp;*/
|
||||
App::PropertyThermalTransferCoefficient FilmCoef;
|
||||
|
||||
@@ -34,6 +34,16 @@ ConstraintPressure::ConstraintPressure()
|
||||
{
|
||||
ADD_PROPERTY(Pressure, (0.0));
|
||||
ADD_PROPERTY(Reversed, (0));
|
||||
ADD_PROPERTY_TYPE(EnableAmplitude,
|
||||
(false),
|
||||
"ConstraintPressure",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude of the pressure load");
|
||||
ADD_PROPERTY_TYPE(AmplitudeValues,
|
||||
(std::vector<std::string> {"0, 0", "1, 1"}),
|
||||
"ConstraintPressure",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude values");
|
||||
}
|
||||
|
||||
App::DocumentObjectExecReturn* ConstraintPressure::execute()
|
||||
|
||||
@@ -37,6 +37,8 @@ class FemExport ConstraintPressure: public Fem::Constraint
|
||||
public:
|
||||
ConstraintPressure();
|
||||
|
||||
App::PropertyBool EnableAmplitude;
|
||||
App::PropertyStringList AmplitudeValues;
|
||||
App::PropertyPressure Pressure;
|
||||
App::PropertyBool Reversed;
|
||||
|
||||
|
||||
@@ -44,6 +44,16 @@ ConstraintTemperature::ConstraintTemperature()
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Type of constraint, temperature or concentrated heat flux");
|
||||
ConstraintType.setEnums(ConstraintTypes);
|
||||
ADD_PROPERTY_TYPE(EnableAmplitude,
|
||||
(false),
|
||||
"ConstraintTemperature",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude of the temperature boundary condition");
|
||||
ADD_PROPERTY_TYPE(AmplitudeValues,
|
||||
(std::vector<std::string> {"0, 0", "1, 1"}),
|
||||
"ConstraintTemperature",
|
||||
(App::PropertyType)(App::Prop_None),
|
||||
"Amplitude values");
|
||||
}
|
||||
|
||||
App::DocumentObjectExecReturn* ConstraintTemperature::execute()
|
||||
|
||||
@@ -40,6 +40,9 @@ public:
|
||||
/// Constructor
|
||||
ConstraintTemperature();
|
||||
|
||||
App::PropertyBool EnableAmplitude;
|
||||
App::PropertyStringList AmplitudeValues;
|
||||
|
||||
// Temperature parameters
|
||||
App::PropertyTemperature Temperature;
|
||||
App::PropertyPower CFlux;
|
||||
|
||||
Reference in New Issue
Block a user