ConOpSys V2970  P004.07
ANVILEX control operating system
Generic_Cooling_Model.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file Generic_Cooling_Model.h
3 //! @brief Cooling model generic class header file.
4 //! @copyright (C) 2015-2021 ANVILEX LLC
5 //! @attention No special attention requered.
6 //! $HeadURL: https://192.168.3.4:8443/svn/P004_07/ConOpSys/Common/Generic_Cooling_Model.h $
7 //! $Revision: 0 $
8 //! $Date: 2021-05-07 02:16:27 +0500 (Пт, 07 Мая 2021) $
9 //! $Author: sorokin $
10 //
11 // Copyright(C) 2004-2021 ANVILEX LLC
12 //
13 // Redistribution and use in source and binary forms, with or without
14 // modification, are permitted provided that the following conditions are met:
15 //
16 // 1. Redistributions of source code must retain the above copyright notice,
17 // this list of conditions and the following disclaimer.
18 //
19 // 2. Redistributions in binary form must reproduce the above copyright notice,
20 // this list of conditions and the following disclaimer in the documentation
21 // and/or other materials provided with the distribution.
22 //
23 // 3. Neither the name of ANVILEX nor the names of its contributors may be
24 // used to endorse or promote products derived from this software without
25 // specific prior written permission.
26 //
27 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
31 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37 // POSSIBILITY OF SUCH DAMAGE.
38 //
39 //------------------------------------------------------------------------------
40 
41 #pragma once
42 
43 //------------------------------------------------------------------------------
44 // Include standard libraries header files
45 //------------------------------------------------------------------------------
46 
47 //------------------------------------------------------------------------------
48 // Include thrid party header files
49 //------------------------------------------------------------------------------
50 
51 //------------------------------------------------------------------------------
52 // Include ConOpSys header files
53 //------------------------------------------------------------------------------
54 
55 #include "Defines.h"
56 
57 //------------------------------------------------------------------------------
58 // Include ConOpSys application header files
59 //------------------------------------------------------------------------------
60 
61 //------------------------------------------------------------------------------
62 // Global defines
63 //------------------------------------------------------------------------------
64 
65 //------------------------------------------------------------------------------
66 // Global macros
67 //------------------------------------------------------------------------------
68 
69 //------------------------------------------------------------------------------
70 // Class declaration
71 //------------------------------------------------------------------------------
72 
73 //! @brief Cooling system generic model class
75 {
76 
77  //----------------------------------------------------------------------------
78  // Public defines, methods and variables
79  //----------------------------------------------------------------------------
80 
81  public:
82 
83  //--------------------------------------------------------------------------
84  // Public methods
85  //--------------------------------------------------------------------------
86 
87  //!-------------------------------------------------------------------------
88  //! @brief Class constructor method.
89  //! @note None
90  //! \par Override
91  //! Not allowed
92  //! @attention Don't call this method directly.
93  //! @dotfile TGeneric_Cooling_Model__TGeneric_Cooling_Model.dt
94  //--------------------------------------------------------------------------
95 
97 
98  //!-------------------------------------------------------------------------
99  //! @brief Class desstructor method.
100  //! @note None
101  //! \par Override
102  //! Not allowed
103  //! @attention Don't call this method directly.
104  //! @dotfile TGeneric_Cooling_Model___TGeneric_Cooling_Model.dt
105  //--------------------------------------------------------------------------
106 
108 
109  //!-------------------------------------------------------------------------
110  //! @brief Class initialisation method.
111  //! @note None
112  //! \par Override
113  //! Not allowed
114  //! @attention None
115  //! @dotfile TGeneric_Cooling_Model__Init.dt
116  //--------------------------------------------------------------------------
117 
118  virtual VOID Init();
119 
120  //!---------------------------------------------------------------------------
121  //! @brief Member function that returns the value of the cabinet temperature.
122  //! @note None
123  //! @param -
124  //! @return F32 - Value of the cabinet temperature.
125  //! \par Override
126  //! Not allowed
127  //! @attention None
128  //! @dotfile TGeneric_Cooling_Model__Get_Cabinet_Temperature.dt
129  //----------------------------------------------------------------------------
130 
132 
133  //--------------------------------------------------------------------------
134  // Model input data
135  //--------------------------------------------------------------------------
136 
137  //! @brief Body surface area exposed to radiant heat transfer, [m^2]
138  F32 f32_Area = (F32)0.0f;
139 
140  //! @brief Body Volume, [m^3]
141  F32 f32_Volume = (F32)0.0f;
142 
143  //! @brief Specific thermal conductivity of a coolant, [J/(kg*°C)]
145 
146  //! @brief Heat loss power in the body, [W]
148 
149  //! @brief Ambient temperature, [°C]
151 
152  //! @brief Fan curve proportional factor, [-]
153  F32 f32_k_fan = (F32)0.0f;
154 
155  //! @brief Filling factor of the volume with the coolant, [-]
157 
158  //! @brief Density of a coolant, [kg/(m^3)]
160 
161  //! @brief Emissivity factor of an emitting surface, [-]
163 
164  //----------------------------------------------------------------------------
165  // Generic properties
166  //----------------------------------------------------------------------------
167 
168  //! @brief Integration step, [s]
169  F32 f32_h = (F32)0.0f;
170 
171  //----------------------------------------------------------------------------
172  // Protected defines, methods and variables
173  //----------------------------------------------------------------------------
174 
175  protected:
176 
177  //----------------------------------------------------------------------------
178  // Private defines, methods and variables
179  //----------------------------------------------------------------------------
180 
181  private:
182 
183  //----------------------------------------------------------------------------
184  // Private methods
185  //----------------------------------------------------------------------------
186 
187  //!---------------------------------------------------------------------------
188  //! @brief Member function that returns the value of the heat transfer coefficient from a surface.
189  //! @note None
190  //! @param [in] &Ambient_Temperature - Pointer to a variable storing the value of the ambient temperature
191  //! [in] &Coolant_Temperature - Pointer to a variable storing the temperature of the coolant
192  //! @return F32 - Value of the heat transfer coefficient from an emitting surface.
193  //! \par Override
194  //! Not allowed
195  //! @attention None
196  //! @dotfile TGeneric_Cooling_Model__Heat_Transfer_Coefficient.dt
197  //----------------------------------------------------------------------------
198 
199  F32 Heat_Transfer_Coefficient( F32 &Ambient_Temperature, F32 &Coolant_Temperature );
200 
201  //--------------------------------------------------------------------------
202  // Private variables
203  //--------------------------------------------------------------------------
204 
205  //! @brief Coolant temperature, [°C]
207 
208  //! @brief Volume filled with coolant, [m^3]
210 
211  //! @brief Mass of the coolant, [kg]
213 
214  //! @brief Thermal conductivity of the coolant, [J/°C]
216 
217  //! @brief Increase in coolant temperature, [°C]
218  F32 f32_Delta_T = (F32)1.0f;
219 
220 };
221 
222 //------------------------------------------------------------------------------
223 // End of file
224 //------------------------------------------------------------------------------
225 
ConOpSys data type definitions header file.
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
float F32
IEEE-754 32-Bit single presession floating point numbers datatype defenition.
Definition: Defines.h:324
Cooling system generic model class.
Definition: Generic_Cooling_Model.h:75
TGeneric_Cooling_Model()
Class constructor method.
Definition: Generic_Cooling_Model.cpp:61
F32 f32_Power_Loss
Heat loss power in the body, [W].
Definition: Generic_Cooling_Model.h:147
virtual VOID Init()
Class initialisation method.
Definition: Generic_Cooling_Model.cpp:77
F32 f32_k_fan
Fan curve proportional factor, [-].
Definition: Generic_Cooling_Model.h:153
F32 f32_Effective_Volume
Volume filled with coolant, [m^3].
Definition: Generic_Cooling_Model.h:209
F32 f32_Get_Cabinet_Temperature()
Member function that returns the value of the cabinet temperature.
Definition: Generic_Cooling_Model.cpp:95
F32 f32_Ambient_Temperature
Ambient temperature, [°C].
Definition: Generic_Cooling_Model.h:150
F32 f32_Coolant_Mass
Mass of the coolant, [kg].
Definition: Generic_Cooling_Model.h:212
F32 f32_Volume
Body Volume, [m^3].
Definition: Generic_Cooling_Model.h:141
F32 f32_Coolant_Density
Density of a coolant, [kg/(m^3)].
Definition: Generic_Cooling_Model.h:159
F32 f32_Area
Body surface area exposed to radiant heat transfer, [m^2].
Definition: Generic_Cooling_Model.h:138
~TGeneric_Cooling_Model()
Class desstructor method.
Definition: Generic_Cooling_Model.cpp:69
F32 f32_Specific_Thermal_Conductivity
Specific thermal conductivity of a coolant, [J/(kg*°C)].
Definition: Generic_Cooling_Model.h:144
F32 f32_b_volume
Filling factor of the volume with the coolant, [-].
Definition: Generic_Cooling_Model.h:156
F32 Heat_Transfer_Coefficient(F32 &Ambient_Temperature, F32 &Coolant_Temperature)
Member function that returns the value of the heat transfer coefficient from a surface.
Definition: Generic_Cooling_Model.cpp:117
F32 f32_h
Integration step, [s].
Definition: Generic_Cooling_Model.h:169
F32 f32_Coolant_Thermal_Conductivity
Thermal conductivity of the coolant, [J/°C].
Definition: Generic_Cooling_Model.h:215
F32 f32_Emissivity_Factor
Emissivity factor of an emitting surface, [-].
Definition: Generic_Cooling_Model.h:162
F32 f32_Delta_T
Increase in coolant temperature, [°C].
Definition: Generic_Cooling_Model.h:218
F32 f32_Coolant_Temperature
Coolant temperature, [°C].
Definition: Generic_Cooling_Model.h:206