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