Open mostaphaRoudsari opened 8 years ago
@chriswmackey how hard is it to modify Honeybee_Color Surfaces by EP Result
component to map several data on HBSurfaces for a single timestep? In this case, we don't need to visualize them but simply add them to the surface itself. Here is the list that I can think of.
@stefan-buildSCI, @TheodoreGalanos do you have anything else to be added to this list?
and a couple of unknown questions:
Hi @mostaphaRoudsari
I just stumbled upon this issue, and had been wondering myself, whether heatflux could be implemented in the future. I think it would provide a unique opportunity to use Ladybug/Honeybee results for specifying the heat flux emitted by a heated window for instance.
It would really offer something that a lot of other CFD programs are missing - A parametric way to update the boundary conditions of your domain. I think it could even make it possible to make whole year analysis of an indoor environment and its flow - down the road (When the computer power will follow)
I hope this is something we could see in the first public release, but I obviously know that a lot of things might be prioritized before this issue.
Regards Mikki Seidenschnur
Hi @MikkiSeidenschnur, I had to freeze the development for the first public release. We can start implementing this once the first release is out. This integration needs a little bit more work and we need to make sure we can model Heat Transfer correctly. We still don't have a solid working example: https://github.com/ladybug-analysis-tools/butterfly/milestone/3
@mostaphaRoudsari Ok, seems fair.
Just in any case you want an example of a heatflux boundary, the path in the OpenFOAM tutorials is:
$FOAM_TUTORIALS/heatTransfer/buoyantSimpleFoam/circuitBoardCooling
However, there is no example of a heat flux boundary in the "buoyantBoussinesqSimpleFoam" module unfortunately
Best regards Mikki
@MikkiSeidenschnur thanks! I will check out the example. Did you get a chance to check the current sample file? Do you have any suggestions?
@mostaphaRoudsari Just to be sure, you're talking about the "Indoor Analysis" with "SteadyIncompressible" right? :)
no. I'm talking about this one with heat transfer: https://github.com/ladybug-analysis-tools/butterfly/blob/master/plugin/grasshopper/samplefiles/indoor_airflow_temperature.gh
@mostaphaRoudsari I have not seen this file yet, but I will take a look. I will be back asap.
@mostaphaRoudsari Ok, so first thing that springs to mind:
The temperature differences are very large. Therefore, a Boussinesq approximation would not be appropriate. In fact, this problem would have to be modelled with a transient approach. I think this is supported by monitoring the residuals: They never go below 0.3, which normally would suggest convergence issues.
Source to boussinesq aproximation
The thing that makes boussinesq smart, is that it sets a constant density of the air (or fluid). This means that the air in a room for instance can be modelled with a steady-state solver if the temperature gradient is relatively low. Clarification: The boussinesq sets a constant density in all equations, EXCEPT from the buoyancy term in the momentum equation. (Normally the fluid density would be a function of the temperature)
A rule of thumb from my CFD-mentors was that the temperature variation should not be more than 20-30 % if using the boussinesq approximation.
(I don't remember any source to this statement, it has simply been incorporated into my brain)
That's just off the top of my head, I'll look at it further tomorrow.
So in short: this can be solved by not simulating the wall as 600 degrees Celsius hot.
Best regards Mikki
Also, with regards to CFD in the indoor environment, Peter V. Nielsen is quite the pioneer. I would recommend checking out the REHVA guidebook nr. 10: "Computational Fluid Dynamics in Ventilation Design". It is very specific, and thorough with regards to CFD in the indoor environment.
Best regards Mikki
@mostaphaRoudsari and @mcneillj ,
I'm sorry that I somehow missed this discussion in the flurry of issues and discussions on this repo. I put together a really quick example of this for @TheodoreGalanos the other day:
Essentially, the colorHBsurfaces component is already set up to pipe data directly into a CFD simulation. You can find an example file showing the process above here: https://www.dropbox.com/s/goyv46llekdqd62/Honeybee%20EnergyPlus%20to%20Butterfly%20CFD.gh?dl=0
The example above is setting the temperatures of surfaces in the CFD but you can just as easily take the heat flux variable from E+ and plug that in instead.
In order to set the staring air temperature of the CFD to be the same as the EnergyPlus simulation, you just have to take the air temperature from the simulation and set it to be the internalField
variable in the T file as I mention in this discussion:
https://github.com/ladybug-tools/butterfly/issues/203
You can get the temperature and flow of the HVAC supply air relatively easily out of EnergyPlus using the ReadEPHVACResult component. We might want to write something that auto-assigns this to a butterfly surface, though.
Infiltration is a huge unknown that it may be better to let be. A lot of the times, we don't even know our infiltration rate for our buildings let alone where it is coming from (what we need for a CFD). It might be best to just assume that infiltration will not be a big factor influencing the result.
Hope this helps set a rough framework for a E+ to CFD workflow, -Chris
@chriswmackey Thanks for sharing this! I was late to add it here.
It will sure help automating the transition from LB/HB to BF, which is a key for BF going forward I think.
Thank YOU for pointing me towards the internalField variable, @TheodoreGalanos ! This is literally solving all of my problems.
I also realized that I forgot to answer some of @mostaphaRoudsari 's unknown questions at the top of the post:
I hope that I have answered the question about the general strategy for adding an a HVAC system above (at least for air-based systems). Does OpenFOAM automatically compute radiant transfer? If so, a similar strategy should also be good for radiant systems like chilled beams and radiant floor slabs.
EnergyPlus has the accurate radiation pattern assuming that you have set the solar distribution calculation to FullInteriorAndExteriorWithReflections. When you use this setting, E+ will ray-trace to find how the solar energy should be distributed to the surfaces of the zone (very similar to Radiance). When using this setting, it also helps to subdivide your zone surfaces so that you can account for differences in surface temperature closer to and farther away from windows. This is effectively what I do in this example here for the HB thermal comfort maps: http://hydrashare.github.io/hydra/viewer?owner=chriswmackey&fork=hydra_2&id=Comfort_Autonomy&slide=1&scale=1&offset=0,0 So the point is that EnergyPlus takes care of this solar radiation for us and there's no need to assign an additional radiation object in BF if we don't want to.
Standard architecture elements would be useful. My coworker who has a PhD in CFD typically models people by using a cylinder with a hemispherical top. Beyond this, I don't know what the best practice is here.
-Chris
To simplify the process of using EnergyPlus results for CFD simulations.