feat: add thermal semantic domain model
This commit is contained in:
@@ -23,6 +23,12 @@ class AnalysisModel {
|
||||
/// @brief Returns the sole active static step.
|
||||
const StepDefinition& Step() const noexcept;
|
||||
|
||||
/// @brief Reports whether this view selects the uncoupled thermal step.
|
||||
bool IsThermal() const noexcept;
|
||||
|
||||
/// @brief Returns the selected thermal step, or null for structural views.
|
||||
const ThermalStepDefinition* ThermalStep() const noexcept;
|
||||
|
||||
/// @brief Returns active element-definition indices in stable Domain order.
|
||||
const std::vector<EntityIndex>& ActiveElements() const noexcept;
|
||||
|
||||
@@ -44,6 +50,12 @@ class AnalysisModel {
|
||||
/// @brief Returns concentrated-load indices in source order.
|
||||
const std::vector<EntityIndex>& ActiveLoads() const noexcept;
|
||||
|
||||
/// @brief Returns connected DS4 element indices in stable Domain order.
|
||||
const std::vector<EntityIndex>& ActiveThermalElements() const noexcept;
|
||||
|
||||
/// @brief Returns connected thermal node indices in stable Domain order.
|
||||
const std::vector<EntityIndex>& ActiveThermalNodes() const noexcept;
|
||||
|
||||
/// @brief Returns active surface pressure records without copying Domain data.
|
||||
const std::vector<SurfacePressureLoadDefinition>& ActiveSurfacePressureLoads()
|
||||
const noexcept;
|
||||
@@ -60,6 +72,9 @@ class AnalysisModel {
|
||||
std::vector<EntityIndex> active_sections_;
|
||||
std::vector<EntityIndex> active_boundary_conditions_;
|
||||
std::vector<EntityIndex> active_loads_;
|
||||
std::vector<EntityIndex> active_thermal_elements_;
|
||||
std::vector<EntityIndex> active_thermal_nodes_;
|
||||
bool is_thermal_{false};
|
||||
};
|
||||
|
||||
} // namespace fesa
|
||||
|
||||
Reference in New Issue
Block a user