-
Notifications
You must be signed in to change notification settings - Fork 0
Upgrades layered construction constants/methods #8
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
Conversation
| self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") | ||
| self.assertEqual(c.layers()[1].nameString(), "OSut.drywall.015") | ||
| self.assertEqual(c.layers()[2].nameString(), "OSut.mineral.106") | ||
| self.assertEqual(c.layers()[2].nameString(), "OSut:K0.047:100") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Switching over to resetUo method to adjust insulating layer thermal conductivity and thickness (genConstruction). Involves changes in naming convention, e.g. material "OSut:K0.047:100" means:
- adjusted material conductivity = 0.047 W/m.K
- (possibly) adjusted material thickness = 100mm
| UMAX = KMAX / DMIN # material USi upper limit, 200.000 | ||
| UMIN = KMIN / DMAX # material USi lower limit, 0.010 | ||
| RMIN = 1.0 / UMAX # material RSi lower limit, 0.005 (or R-IP 0.03) | ||
| RMAX = 1.0 / UMIN # material RSi upper limit, 100.000 (or R-IP 567.80) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extending pyOSut constants to cover material MIN/MAX thresholds, e.g.:
- thickness
- thermal conductivity
- thermal resistance
- thermal conductance
Ensuring OSut and pyOSut inherit the very same constants.
| return value | ||
|
|
||
|
|
||
| def areStandardOpaqueLayers(lc=None) -> bool: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reordering methods.
| return False | ||
|
|
||
|
|
||
| def resetUo(lc=None, film=None, index=None, uo=None, uniq=False) -> float: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One of a few new methods.
| if u < CN.UMIN or u > CN.UMAX: | ||
| u0 = u | ||
| u = clamp(u0, CN.UMIN, CN.UMAX) | ||
| oslg.log(CN.ERR, "Resetting Uo %.3f to %.3f (%s)" % (u0, u, mth)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enforcing UMIN & UMAX clamping, raising input-related errors in the process.
| aspace = None | ||
| typ = None | ||
|
|
||
| if s.adjacentSurface(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not checking if a surface inherits a default construction from its adjacent:
- surface
- space
- spacetype
- story
... is a big no-no, creating a ton of headaches down the line.
| KMIN = 0.010 # min. material thermal conductivity | ||
| KMAX = 2.000 # max. material thermal conductivity | ||
| DMIN = 0.010 # min. insulating material thickness | ||
| DMAX = 1.000 # max. insulating material thickness |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OpenStudio/EnergyPlus materials can obviously support thermal conductivities way beyond 2.0 (e.g. metals, concrete). OSut methods deal more specifically with opaque materials (in a multilayered construction) that can be labelled as insulating. Sure, a 10mm thick material with a 2.0 thermal conductivity is hardly insulating, but certainly more than a sheet of aluminium.
An effort to harmonize pyOSut and OSut constants/methods when dealing with multilayered constructions and opaque materials, largely in line with this OSut PR.