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 advanced Ground boundary conditions to boundarycondition.py #518

Open
chriswmackey opened this issue Jan 5, 2021 · 2 comments
Open
Labels
new development For issues that require new code wish New feature or request which is not critical to continued development at this point

Comments

@chriswmackey
Copy link
Member

Hi @chriswmackey ,

I'm trying to extend the boundary construction library to include the GroundSlab and GroundBasement items and, if I understand correctly, it's implemented in a similar way as this. If you could give me some basic directions, I think it could be helpful to have this set of options in the library of additional boundary conditions.

So far, I am testing one of the BC to find my way around it (GroundSlabPreprocessorAverage). Although I infer I have broken any possible code rule here, I'll share what I'm trying so far.

  1. Add another class to boundarycondition.py, replicating the adiabatic one.
    image

  2. Add another set of boundary condition to _extend_honeybee.py
    image

  3. Test in gh, where it throws the error 1. Solution exception:global name 'GroundSlabPreprocessorAverage' is not defined both in the case where I define the new BC and if try a regular one.
    image

I have to say that I have little knowledge of what I'm doing, and I have mostly copy pasted the adiabatic objects and replaced certain text strings. 😅

Thanks, and happy new year!
Rafael

Originally posted by @rafael-a in #407 (comment)

@chriswmackey chriswmackey added new development For issues that require new code wish New feature or request which is not critical to continued development at this point labels Jan 5, 2021
@chriswmackey
Copy link
Member Author

Hi @rafael-a ,

Happy new year to you too. I moved your comment to a new issue as the other issue is different and will likely be closed before the issue you have here gets addressed.

I say this because (I think) these advanced ground boundary conditions require the running of preprocessor methods before the EnergyPlus run, correct? So they're going to involve setting several more parameters on a boundary condition object class than you have for something like Adiabatic or OtherSideCoefficients.

The reason why the Grasshopper component fails is because, if you are adding a new type of boundary condition, you need to plug in a Boundary Condition object instance instead of a string. However, this is a bit beside the point since I would recommend doing your tests in pure Python and not in the Grasshopper plugin while you are adding a feature to honeybee-energy. This honeybee-energy repo here is completely independent of Grasshopper and getting things to work here and in 2 other repos (honeybee-schema and honeybee-openstudio-gem) is a prerequisite before we can expose things on the Grasshopper interface.

@rafael-a
Copy link

rafael-a commented Jan 7, 2021

Hi @chriswmackey ,

thanks for bringing some clarity to this issue. I understand a bit better now the process involved in the new LadybugTools.

Correct, these boundary conditions require running the preprocessors, either the basement or slab one, or both. In addition to the boundary conditions defined on the geometry, this requires a few other additional E+ objects that launch the Preprocessors - in the past I had added them via the additional strings route.

I'll try the pure python route then, and see if I manage to get somewhere :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new development For issues that require new code wish New feature or request which is not critical to continued development at this point
Projects
None yet
Development

No branches or pull requests

2 participants