Skip to content
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

Merged
merged 93 commits into from
Apr 14, 2023

Conversation

simon-wacker
Copy link
Contributor

@simon-wacker simon-wacker commented Oct 11, 2022

For forced ventilation, we need

  • speed as user input,
  • direction as user input, and
  • temperatures computed as for natural ventilation.

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, and calcImpedance. Shall we assert that they are not used when ventilation is forced?

The most interesting case for us is the following layering:

Outdoor environment - glazing unit (1, 2 or 3 layers, the latter two separated by sealed gaps) - forced ventilated gap - shade - Interior environment

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:

Outdoor environment - shade - forced ventilated gap - glazing unit - Interior environment

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:

Outdoor environment  - glazing unit - forced ventilated gap - shade - forced ventilated gap - glazing unit - Interior environment

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.

Outdoor environment - shade - natual ventilated gap - glazing unit - forced ventilated gap - shade - Interior environment

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.

Outdoor environment - glazing unit - forced ventilated gap - shade - natural ventilated gap - glazing unit - Interior environment

(adapted from communication I had with Bruno)

@simon-wacker simon-wacker marked this pull request as draft October 11, 2022 15:04
@vidanovic
Copy link
Collaborator

@simon-wacker Seems that you copy/paste unit test for a template but did not rename it which is why CMake wont run:

https://github.com/ise-bipv/Windows-CalcEngine/actions/runs/3227974733/jobs/5283467830#step:41:43

Just rename it to something else and commit again

@simon-wacker
Copy link
Contributor Author

@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.

@simon-wacker simon-wacker force-pushed the add-gaps-with-forced-ventilation branch from 5c13611 to f7d6c6e Compare October 12, 2022 15:01
@vidanovic
Copy link
Collaborator

@simon-wacker No problem. All good.

@simon-wacker simon-wacker force-pushed the add-gaps-with-forced-ventilation branch 2 times, most recently from 57de30c to 2caa6d1 Compare October 13, 2022 14:33
@simon-wacker simon-wacker force-pushed the add-gaps-with-forced-ventilation branch 2 times, most recently from 54b12be to bbc7bb2 Compare November 22, 2022 13:31
…d values accordingly, and test also test radiosities
…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
christoph-maurer and others added 25 commits January 26, 2023 14:19
…on of a gap without forced convection. Why is there a difference? Relates to #5
…tilation by adding `m_TarcogSystem->solve();`
…emperature

Add getters for inlet and outlet temperatures
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
@simon-wacker simon-wacker marked this pull request as ready for review April 14, 2023 12:01
@vidanovic vidanovic merged commit 8c38b07 into LBNL-ETA:main Apr 14, 2023
@simon-wacker simon-wacker deleted the add-gaps-with-forced-ventilation branch April 14, 2023 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants