-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add gaps with forced ventilation #144
Add gaps with forced ventilation #144
Conversation
@simon-wacker Seems that you copy/paste unit test for a template but did not rename it which is why CMake wont run: Just rename it to something else and commit again |
@vidanovic Yes, thank you for the feedback. It is a work in progress that I just pushed to have a backup. And I created a pull request because it makes it easier for me to communicate the actual changes with Bruno and later on with you. I hope that you are not unnecessarily notified about all thinks that happen on this branch during development because of the draft pull request. |
5c13611
to
f7d6c6e
Compare
@simon-wacker No problem. All good. |
57de30c
to
2caa6d1
Compare
54b12be
to
bbc7bb2
Compare
…ures as for natural ventilation
…ntilated gap layer
…d values accordingly, and test also test radiosities
…sitive solar radiation
…yer values like their temperatures, remove air-flow direction from forced ventilation as it does not matter, use the environment temperature as inlet temperature for at-edge gaps with forced ventilation and the gap temperature as out temperature, use about 10% absorptance for galsses and about 70% for shades, and adjust the expected values in tests accordingly
… that is, forced-ventilation gaps sandwiched between solids
…is equal to `1 - emissivity - transmittance (the implicit defaults are defined in `Layers.hpp#solid` and `Layers.hpp#shading`, and the calculation of reflectance is defined in `Surface.cpp#calculateReflectance` which is called by the constructors of `ISurface`)
…d to be (to have an uncluttered difference view)
…side` to environment and to system and test those values in winter and summer tests of forced-ventilation gaps with solar radiation
…on of a gap without forced convection. Why is there a difference? Relates to #5
…do not run properly.
…tilation by adding `m_TarcogSystem->solve();`
…emperature Add getters for inlet and outlet temperatures
…nal heat transfer coefficients
Error message: /home/christoph/Documents/Windows-CalcEngine/src/Tarcog/tst/units/GapBetweenIrradiatedGlassPanesForcedVentilationInsideAirSummerValidation.unit.cpp:123:19: error: ‘CIndoorEnvironment’ does not name a type 123 | [[nodiscard]] CIndoorEnvironment * GetIndoorRadiativeHeatTransferCoefficient() const | ^~~~~~~~~~~~~~~~~~ /home/christoph/Documents/Windows-CalcEngine/src/Tarcog/tst/units/GapBetweenIrradiatedGlassPanesForcedVentilationInsideAirSummerValidation.unit.cpp:127:6: warning: extra ‘;’ [-Wpedantic] 127 | }; | ^ | - /home/christoph/Documents/Windows-CalcEngine/src/Tarcog/tst/units/GapBetweenIrradiatedGlassPanesForcedVentilationInsideAirSummerValidation.unit.cpp: In member function ‘virtual void TestGapBetweenIrradiatedGlassPanesForcedVentilationInsideAirSummerValidation_IndoorHeatTransferCoefficients_Test::TestBody()’: /home/christoph/Documents/Windows-CalcEngine/src/Tarcog/tst/units/GapBetweenIrradiatedGlassPanesForcedVentilationInsideAirSummerValidation.unit.cpp:216:51: error: ‘GetIndoorRadiativeHeatTransferCoefficient’ was not declared in this scope; did you mean ‘indoorRadiativeHeatTransferCoefficient’? 216 | auto indoorRadiativeHeatTransferCoefficient = GetIndoorRadiativeHeatTransferCoefficient(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | indoorRadiativeHeatTransferCoefficient make[1]: *** [src/Tarcog/CMakeFiles/Tarcog_tests.dir/build.make:776: src/Tarcog/CMakeFiles/Tarcog_tests.dir/tst/units/GapBetweenIrradiatedGlassPanesForcedVentilationInsideAirSummerValidation.unit.cpp.o] Error 1
Test the heat transfer coefficients of the validation cases
…he forced ventilation test `TestGapBetweenIrradiatedGlassAndInteriorShadingZeroForcedVentilation`
…-ventilation Create more examples of gaps with forced ventilation
…ere and at least `getIRCalculatedOutside` is actually not needed due to 3492a6d#commitcomment-105581336
…onvection is 0. The energy gain of NaturalConvection is 0.0439 W/m². Both is plausible.
Compare with 1mm gap zeroForced and natural convection
For forced ventilation, we need
We don't need geometry as this is only used to calculate air speed through the calculation of pressure drops. Ventilated flow is still calculated as for natural ventilation.
The following functions of
CIGUVentilatedGapLayer
are not needed when ventilation is forced:setFlowGeometry
,bernoullyPressureTerm
,hagenPressureTerm
,pressureLossTerm
, andcalcImpedance
. Shall we assert that they are not used when ventilation is forced?The most interesting case for us is the following layering:
In this case, the inlet temperature in the gap is the indoor air temperature (user input through the boundary conditions). The same is true for the same configuration with natural ventilation in the gap.
Another case that could be interesting is the following:
In this case, the inlet temperature in the gap is the outdoor air temperature (user input through the boundary conditions).
We could think of configurations where the forced ventilation gap is not in contact with the indoor or the outdoor environment, such as:
but then the user has to indicate to the model what is the inlet temperature for each ventilated gap (indoor air temperature, outdoor air temperature or user-defined air temperature).
In any case, a forced ventilation gap does not interact with any other gap and should be treated independently.
We can combine forced ventilation gaps with natural ventilation gaps, but they don't interact with each other, e.g.
As before, non-allowed configurations are natural ventilation gaps, which are not in contact with the indoor environment, the outdoor environment or another natural ventilation gap, e.g.
(adapted from communication I had with Bruno)