NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD_HydraulicFluid.h
1 /* The NANDRAD data model library.
2 
3  Copyright (c) 2012-today, Institut für Bauklimatik, TU Dresden, Germany
4 
5  Primary authors:
6  Andreas Nicolai <andreas.nicolai -[at]- tu-dresden.de>
7  Anne Paepcke <anne.paepcke -[at]- tu-dresden.de>
8 
9  This library is part of SIM-VICUS (https://github.com/ghorwin/SIM-VICUS)
10 
11  This library is free software: you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  This library is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 */
21 
22 #ifndef NANDRAD_HydraulicFluidH
23 #define NANDRAD_HydraulicFluidH
24 
25 #include <IBK_Parameter.h>
26 
27 #include "NANDRAD_LinearSplineParameter.h"
28 #include "NANDRAD_CodeGenMacros.h"
29 #include "NANDRAD_Constants.h"
30 
31 namespace NANDRAD {
32 
33 /*! Properties of a fluid within a network. */
35 public:
36 
37  /*! Basic parameters. */
38  enum para_t {
39  P_Density, // Keyword: Density [kg/m3] 'Dry density of the material.'
40  P_HeatCapacity, // Keyword: HeatCapacity [J/kgK] 'Specific heat capacity of the material.'
41  P_Conductivity, // Keyword: Conductivity [W/mK] 'Thermal conductivity of the dry material.'
42  NUM_P
43  };
44 
45 
46  // *** PUBLIC MEMBER FUNCTIONS ***
47 
48  NANDRAD_READWRITE
49 
50  /*! Populates the HydraulicFluid object with properties of water. */
51  void defaultFluidWater();
52 
53  /*! Checks for valid and required parameters (value ranges). */
54  void checkParameters(int networkModelType);
55 
56  /*! Comparies objects by physical parametrization (excluding ID and displayname and object list). */
57  bool equal(const HydraulicFluid & other) const;
58 
59 
60  // *** PUBLIC MEMBER VARIABLES ***
61 
62  /*! Display name of fluid. */
63  std::string m_displayName; // XML:A
64  /*! List of parameters. */
65  IBK::Parameter m_para[NUM_P]; // XML:E
66 
67  /*! Kinematic viscosity [m2/s]. */
69 
70 };
71 
72 } // namespace NANDRAD
73 
74 #endif // NANDRAD_HydraulicFluidH
bool equal(const HydraulicFluid &other) const
Comparies objects by physical parametrization (excluding ID and displayname and object list)...
NANDRAD_READWRITE void defaultFluidWater()
Populates the HydraulicFluid object with properties of water.
Contains global constants for the Nandrad data model.
Class LinearSplineParameter stores a linear spline curve, the corresponding parameter name and a unit...
void checkParameters(int networkModelType)
Checks for valid and required parameters (value ranges).
IBK::Parameter m_para[NUM_P]
List of parameters.
Properties of a fluid within a network.
std::string m_displayName
Display name of fluid.
The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data...
LinearSplineParameter m_kinematicViscosity
Kinematic viscosity [m2/s].