22 #ifndef NANDRAD_WindowDividerH 23 #define NANDRAD_WindowDividerH 28 #include <IBK_Parameter.h> 29 #include <IBK_Exception.h> 31 #include "NANDRAD_CodeGenMacros.h" 33 #include "NANDRAD_Material.h" 39 NANDRAD_READWRITE_PRIVATE
47 void checkParameters(
const std::vector<Material> & materials);
66 inline bool WindowDivider::operator!=(
const WindowDivider & other)
const {
73 inline void WindowDivider::checkParameters(
const std::vector<Material> & materials) {
74 FUNCID(WindowDivider::checkParameters);
79 std::vector<Material>::const_iterator it = std::find(materials.begin(), materials.end(),
m_materialId);
80 if (it == materials.end())
81 throw IBK::Exception(IBK::FormatString(
"Material with ID %1 not defined.").arg(
m_materialId), FUNC_ID);
84 m_area.checkedValue(
"Area",
"m2",
"m2", 0,
true, (std::numeric_limits<double>::max)(),
true,
85 "Cross section area of dividers must be >= 0 m2.");
86 m_thickness.checkedValue(
"Thickness",
"m",
"m", 0,
false, (std::numeric_limits<double>::max)(),
true,
87 "Thickness of dividers must be > 0 m.");
92 #endif // NANDRAD_WindowDividerH IBK::Parameter m_area
Cross section occupied by all divider elements in this window (required when m_materialID is given)...
Contains global constants for the Nandrad data model.
double m_lambda
Cached thermal conductivity in [W/mK], retrieved from referenced material in checkParameters().
unsigned int INVALID_ID
defines an invalid id
IBK::Parameter m_thickness
Thickness of frame.
unsigned int m_materialId
Material used for divider (INVALID_ID for no divider).
The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data...
Thermal conductivity of the dry material.
WindowDivider defines the divider of a window.