-
Notifications
You must be signed in to change notification settings - Fork 67
Project itz fixes v2 (Klaas) to master #1379
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
Merged
Merged
Changes from 250 commits
Commits
Show all changes
337 commits
Select commit
Hold shift + click to select a range
cd1d89e
not adding cracks when there is an open door in IDEAS/Buildings/Compo…
Mathadon bb48952
parameter revisions for #1244
Mathadon 4d596fb
comment indent
Mathadon 83f1f21
fixed singular system error for #1244
Mathadon ff7a7de
Merge pull request #1310 from Mathadon/StackEffectAirflow
jelgerjansen 0567df5
WallUnitTest update for interzonal airflow v2
Mathadon 5a3ccad
newlines at the end of files
Mathadon b7c34aa
newline fix
Mathadon a11680f
revision history and code formatting
Mathadon 65b5630
docs
Mathadon 224f2c1
Merge pull request #1311 from Mathadon/StackEffectAirflow
jelgerjansen 5be2d6d
extending ReversibleDensityColumn.mo from MediumColumn and moved from…
Mathadon 0643e39
documentation and renamed Use_custom_Cs to use_custom_Cs
Mathadon 5e4877a
refactoring in PartialSurface
Mathadon 1eba0de
cleaned icon
Mathadon a302cfe
removed density columns from 1 port mode in internal wall
Mathadon cde76d4
HideResult annotation
Mathadon 284d2d0
improved warning in MonoLayerAir
Mathadon 088c7d8
Merge branch 'open-ideas:master' into master
kldjonge 5c37fe2
changes as part of a consulting project:
Mathadon 5ae2aeb
valve leakage for trickle vent
Mathadon ce95f4d
icon fixes in IDEAS/Buildings/Components/Window.mo
Mathadon dfba25c
reverted to OnePort in zoneexample
Mathadon e99c192
fixes
Mathadon 93ea224
Merge branch 'master' into StackEffectAirflow
jelgerjansen 4dd515e
Update reference results
jelgerjansen c0cc950
truncating window control signal
Mathadon 1c3f2a4
added error control
Mathadon dbc8c67
fixed mos file path
Mathadon bfd9308
added 2port unit test for twinhouse
Mathadon 373f853
added missing port connection
Mathadon 34a2bec
Merge pull request #1326 from Mathadon/stackeffectfix
jelgerjansen d551b6b
Revert reference results of TwinHouses port 1 to te previous results.
jelgerjansen f468675
revision where screen temperature depends on mass flow rate
Mathadon c65aa81
y_window_internal added
Mathadon 7bedff5
fixes for m_flow in DoubleShading
Mathadon aae5369
added missing connections
Mathadon 552db2e
extended IDEAS/Buildings/Components/Examples/BuildingShadeExample.mo
Mathadon 478ccad
bugfix in IDEAS/Buildings/Components/Shading/Interfaces/DoubleShadin…
Mathadon d2e4e45
set haveBoundaryPorts in IDEAS/Buildings/Components/Shading/OverhangA…
Mathadon da8c75d
unit fix
Mathadon a455035
Update time-out times and remove density column of door for 1-port im…
jelgerjansen 26a6beb
fixes to the computation of Cs based on discussion in https://github.…
Mathadon 7c741ed
Add brackets in Cs computation
jelgerjansen 132a1f2
Remove w40 from TwinHouses.Building05_Exp1_2Port.mo(s) and add refere…
jelgerjansen dc4adcb
Revert to 'original' reference results for all packages except IDEAS.…
jelgerjansen 7eb16f8
Update and add reference results (correct Cs calculation)
jelgerjansen 074def0
Merge branch 'StackEffectAirflow' (PR1296) into 'StackEffectAirflow' …
jelgerjansen c4420c1
Merge pull request #1322 from Mathadon/StackEffectAirflow
jelgerjansen c44538d
Merge branch 'StackEffectAirflow' into project_itz_fixes
jelgerjansen 2157742
Fix merge conflict in OuterWall
jelgerjansen 0a0f149
variable propagation fixes in rectangularzonetemplate
Mathadon 2ade9ac
Merge branch 'project_itz_fixes' of github.com:Mathadon/IDEAS into pr…
Mathadon d6df006
Fix typo in mos file CavityInternalWall
jelgerjansen f7146a0
conditional frame types to avoid warning in ideas
Mathadon 5023123
Merge branch 'project_itz_fixes' of github.com:Mathadon/IDEAS into pr…
Mathadon 3773c4a
Fix 'overriding final modifier for len'
jelgerjansen 416191f
Fix 'overriding final modifier for len' for TwinHouses examples (ther…
jelgerjansen 6900db4
removed obsolete empty lines
Mathadon b6eae69
added accidentally removed revision note
Mathadon 3a2c797
Merge branch 'project_itz_fixes' of https://github.com/Mathadon/IDEAS…
jelgerjansen 99fae21
shading parameter fixes for project_itz_fixes
Mathadon 6ecc359
Merge remote-tracking branch 'filip/project_itz_fixes' into project_i…
jelgerjansen 1194908
various fixes for modelica spec compliance
Mathadon af286d0
Change location of input/output connectors of zone model icon to avoi…
jelgerjansen a1da0d4
Merge remote-tracking branch 'filip/project_itz_fixes' into project_i…
jelgerjansen b92f563
Merge branch 'master' into StackEffectAirflow (airflow unit tests)
jelgerjansen bb2dc38
Merge branch 'StackEffectAirflow' into project_itz_fixes (air flow un…
jelgerjansen 3f4ac1a
bugfix when using door and OnePort
Mathadon 1ffd9b3
Merge remote-tracking branch 'filip/project_itz_fixes' into project_i…
jelgerjansen 304135e
added openDoorOnePort to CrackOrOperableDoor
Mathadon f9fc0e9
Change default calculation of hWin to avoid a division by 0 in the Re…
jelgerjansen c6de19a
Merge remote-tracking branch 'filip/project_itz_fixes' into project_i…
jelgerjansen 5ac5f7b
Change resDoor.m_flow to crackOrOperableDoor.m1_flow for validating
jelgerjansen e21e3ab
Fix package order of IDEAS.Airflow.Multizone
jelgerjansen e9094a4
Set default of 'openDoorOnePort' to true
jelgerjansen 9a50ced
Set default of 'openDoorOnePort' to false
jelgerjansen 001d8f0
surface area fix
Mathadon ae7a816
Merge remote-tracking branch 'filip/project_itz_fixes' into project_i…
jelgerjansen 13f6de5
Update and generate new reference results
jelgerjansen 490e592
Increase time-out time of Examples.Tutorial.Example9 to 2700 seconds …
jelgerjansen 02d766c
Update tolerance.
javiarrobas 88c679e
Merge pull request #1 from open-ideas/project_itz_fixes
Mathadon 8e37c06
copied parameter value from master branch
Mathadon 3a599f9
working on fix
Mathadon 15c8246
conditional density columns
Mathadon aad7465
propagated CD in IDEAS/Buildings/Components/InternalWall.mo
Mathadon f5ff541
refactoring variable names for interzonal airflow
Mathadon dcfebab
removed hpres variable
Mathadon 984ce39
moved part of the stack height computation to OutsideAir.mo
Mathadon bc39dfc
typo fixes
Mathadon 77c85d0
added missign pressure column for trickle vent
Mathadon 1bc67d6
revisions
Mathadon 3a00e98
reverted bus changes
Mathadon bf1ca76
Update IDEAS/Buildings/Examples/ZoneExample.mo
Mathadon f257580
OM fix in IDEAS/Fluid/Sources/OutsideAir.mo
Mathadon 093eb0f
Merge branch 'project_itz_fixes_v2' of github.com:Mathadon/IDEAS into…
Mathadon df4857b
pressure stack sign fix
Mathadon 3f9a5ac
added HPRes
Mathadon 07c74e4
fixed parameter assignment issue
Mathadon 33e525c
Fix wrong reference to RealPassThrough component
jelgerjansen 6add8a1
revised documentation
Mathadon 5abd103
variable renames in IDEAS/Examples/PPD12/Structure.mo
Mathadon 2b4ed1b
fixed incorrect path in IDEAS/BoundaryConditions/Interfaces/PartialSi…
Mathadon 6454345
added a no flow test using PPD12
Mathadon 84f8eb2
Merge remote-tracking branch 'filip/project_itz_fixes_v2' into projec…
jelgerjansen 5783993
Add absolute floor heights and windows heights to PPD12
kldjonge ace6ce8
Added an (Airflow) Box model for verifycation purposes
kldjonge a41325c
Fix for variable nCom , inclination parameter
kldjonge ba92a2b
Fix for mMea_flow_nominal
kldjonge 1d049e3
Opening/door column heights as top-level parameter
kldjonge bdaf253
Fix for stack column heights
kldjonge d0b19d4
Fix for non vertical large openings
kldjonge 917cf0b
Redeclared default medium
kldjonge 482b996
Cleaned-up parameter input of CrackOrOperableDoor
kldjonge 8b05216
Added roof to airflowboxmodel case
kldjonge 0b6b330
Fix for roof flow path (problem in 1-port implementation)
kldjonge 68286a9
Fixed description and column heights for large opening model
kldjonge 64f96b6
Added a 2StoreyBoxModel for verifycation purposes
kldjonge d986c0e
Addition of q50 leakage through window in boxmodel
kldjonge 499e2ef
nCom depending on vertical height of the opening (compartment per +- …
kldjonge 27fa92e
Updated boxmodel to include (operable) windows
kldjonge 1f554c4
Updated LClo to match q50 flow when the operable window is closed
kldjonge dc97065
Fix for missing window dimensions for the operable window implementation
kldjonge 98e9c67
Open operable window in airflow boxmodel
kldjonge d58f70b
More heating in 2-port boxmodel
kldjonge 9eeb9ed
Fix for when a window would be modelled in a floor.
kldjonge 4cfac3a
Parameter to set trickle-vent height in 2-port
kldjonge 61abf4e
Important fix for the ticklevent - outer density column was missing.
kldjonge 4392a5b
sim.Cs as default (quite major change)
kldjonge 0b3d875
Addition of tricklevent in airflowboxmodel
kldjonge 8854a61
added port_3 for avoiding mixing on port_1 when using trickle vent in…
Mathadon 3c4cd23
port_3 support in DummyConnection
Mathadon c873527
revised MMBul implementaiton
Mathadon 82c6d3a
Merge pull request #1345 from kldjonge/project_itz_fixes_v2_kdj
jelgerjansen 5b8e9ad
Merge branch 'project_itz_fixes_v2' into project_itz_fixes_v2
jelgerjansen e88ed5c
Merge pull request #1351 from Mathadon/project_itz_fixes_v2
jelgerjansen 72d5a63
PerfectGas medium in 2storeyboxes model
kldjonge bb087dd
Fix for tricklevent connect (was not connected) and for when 1-port i…
kldjonge 998d619
Addition of 1-port model without trickleVent
kldjonge a907d4d
Merge pull request #1353 from kldjonge/project_itz_fixes_v2_kdj
jelgerjansen 67dc7da
Deleted redundant connect statements
kldjonge 4102805
Update AirflowBoxModel.mo
kldjonge 7037979
Update Window.mo
kldjonge 9099c5b
Merge branch 'master' of https://github.com/kldjonge/IDEAS
kldjonge 5cc22bf
Merge branch 'open-ideas:master' into master
kldjonge 176bcf7
Merge remote-tracking branch 'upstream/issue1177_PPD12' into project_…
kldjonge 5f99354
Update CrackOrOperableDoor.mo
kldjonge c18d9ae
Test model for Large horizontal opening
kldjonge c39d385
Merge branch 'master' into project_itz_fixes_v2_kdj
kldjonge eb38c48
Update CrackOrOperableDoor.mo
kldjonge 6983615
Changed Validation model
kldjonge 0abbeb0
Moved Airflowboxmodel to script and added script
kldjonge 4f54203
Moved AirflowBoxModel
kldjonge 55c57dc
only override dh toplevel
kldjonge 7ee0503
Update CrackOrOperableDoor.mo
kldjonge d7fcac3
Merge pull request #1376 from kldjonge/project_itz_fixes_v2_kdj
jelgerjansen c688108
Fix typo in CrackOrOperableDoor
jelgerjansen c5416a5
Merge branch 'stack_effect_project_itz_master' into project_itz_fixes_v2
jelgerjansen b65916b
Revert "Fix typo in CrackOrOperableDoor"
jelgerjansen 6fae995
Fix typo in CrackOrOperableDoor without Dymola changing unaffected lines
jelgerjansen f0519e1
Put assignment of the plot command on one line (for unit testing).
jelgerjansen 0148f61
n50tests changed rho_default to 1.2041
kldjonge 0f39646
Update CrackOrOperableDoor.mo
kldjonge d264910
unprotect dh in baseclasses and make final again in higher levels
kldjonge 1ccddc5
Revert "unprotect dh in baseclasses and make final again in higher le…
kldjonge 410cd0c
unprotect dh, move to advanced and hideresults
kldjonge 570cbe5
Overridable dh in DoorDiscretized.mo
kldjonge cd9480b
Revert replacement of definition MMBul using Medium.molarMass.
jelgerjansen 4b71cb4
Replace the constant density of 1.2041 by rho_default
jelgerjansen 4c08c44
Add an n50TestTwoPort implementation including a mos file for unit te…
jelgerjansen 30ce3c8
Update ZoneExample.mo
kldjonge 8b8e60a
Add rho_default in stead if 1.2041
kldjonge a958c8f
Delete unused (and confusing) sim.rho_default=1.2
kldjonge 98b7a13
Updated and new n50Test models
kldjonge 33156c6
Merge pull request #1386 from kldjonge/project_itz_fixes_v2_kdj
jelgerjansen 5a84148
.mos files for n50Test2TwoPort and n50Test3TwoPort
kldjonge 1d420dd
Merge remote-tracking branch 'klaas/project_itz_fixes_v2_kdj' into pr…
jelgerjansen 92cd692
Use initial equation for the zone humidity in n50Test2
jelgerjansen f31d117
Comment comparison as no CONTAM data for 2-port available yet and use…
jelgerjansen 63e215f
Moved TwoStoreyBoxes model to examples
kldjonge 62efce8
Revision notes
kldjonge 786a32c
Update TwoStoreyBoxes for direct constant Tair
kldjonge 9074a5f
Update AirflowBoxModel for direct constant Tair and moved around some…
kldjonge 02ad04c
Deleted Specialized.Air.PerfectGas from twostoreyboxes
kldjonge 37cb732
Update reference results (see PR1379 for changes)
jelgerjansen 94c09e3
.mos file for TwoStoreyBoxes
kldjonge afb84b3
Updates to LargeHorizontalOpening model
kldjonge cae81c7
.mos for LargeHorizontalOpening model
kldjonge ce5b8d1
Renamed reversibldensitycolumn to MediumColumnReversible
kldjonge ce3224c
Changed description of crack or operable door
kldjonge 3ad0a7e
Merge branch 'project_itz_fixes_v2' into project_itz_fixes_v2_kdj
kldjonge 71a236a
Merge pull request #1387 from kldjonge/project_itz_fixes_v2_kdj
jelgerjansen 25dc506
Use initial equation for X in n50Test to avoid 'unspecified initial c…
jelgerjansen 8191b5a
Add reference results for LargeHorizontalOpening
jelgerjansen 47b611d
Use initial equation for X to avoid 'unspecified initial condition' w…
jelgerjansen a39f56d
Fix name LargeHorizontalOpening and set massDynamics to FixedInitial …
jelgerjansen 1b5599f
Update reference results
jelgerjansen c038ebf
Fix typo in mos file
jelgerjansen 26545c6
Constant Tair but with Dynamics.FixedInitial in zone for AirflowBoxModel
kldjonge 4f303e8
Constant Tair but with Dynamics.FixedInitial in zone for TwoStoreyBoxes
kldjonge f708fe7
Merge pull request #1388 from kldjonge/project_itz_fixes_v2_kdj
jelgerjansen b5cfb66
Update translation statistics
jelgerjansen 6f55c89
Update energyDynamics in SingleZoneResidentialHydronicHeatPump to avo…
jelgerjansen 0dc5daf
Asserts in internal wall
kldjonge 5c0f182
Revert "Asserts in internal wall"
kldjonge fb58303
Merge remote-tracking branch master into project_itz_fixes_v2
jelgerjansen ab80d8f
Merge remote-tracking branch master into project_itz_fixes_v2 (issue …
jelgerjansen daa3304
PPD12 package order update
kldjonge 7c561ba
Delete obsolete whitespace
kldjonge bd8df1a
Delete obsolete whitespace
kldjonge b8522f4
Documentation for s_co2
kldjonge deaf3c0
Fixed revision history
kldjonge dd81b8b
Delete obsolete whitespace
kldjonge 4348241
Obsolete line in revision history
kldjonge 08c1e55
Aligned parameter with others
kldjonge f49c167
Deleted obsolete whitespace, change to documentation
kldjonge 4360245
Deleted obsolete whitespace
kldjonge 7208eea
Deleted obsolete whitespace
kldjonge 38c081e
Change to revision note of DoorDiscretized
kldjonge 0a7b8a5
Delete obsolete whitespace and use Modelica.Units in CrackOrOperableDoor
kldjonge 541aaa6
Delete obsolete whitespace
kldjonge a9944b5
Use of Modelica.Units and change to Kelvin units in LargeHorOpening
kldjonge 4cbea23
Description for box models and some cleaning up
kldjonge dcb03cd
(Better) parameter descriptionsfor addmWat and addCFlow
kldjonge a183922
Merge branch 'project_itz_fixes_v2' into project_itz_fixes_v2_kdj
kldjonge 841a907
Revert "Merge remote-tracking branch master into project_itz_fixes_v2…
jelgerjansen c6ec2e2
Revert "Merge remote-tracking branch master into project_itz_fixes_v2"
jelgerjansen 28ea57b
Merge branch 'project_itz_fixes_v2_kdj' into project_itz_fixes_v2
jelgerjansen 49f85f4
Fix problems with overriding final modifier of units
jelgerjansen 9d66189
Reapply "Merge remote-tracking branch master into project_itz_fixes_v2"
jelgerjansen dbade3c
Reapply "Merge remote-tracking branch master into project_itz_fixes_v…
jelgerjansen 0f50596
Merge branch 'project_itz_fixes_v2' into project_itz_fixes_v2_kdj
kldjonge 2f5e108
Revert "Reapply "Merge remote-tracking branch master into project_itz…
jelgerjansen 1c5f7d6
Revert "Reapply "Merge remote-tracking branch master into project_itz…
jelgerjansen 764b1a0
Fix revision notes
jelgerjansen 2799d33
revision note
Mathadon 697955f
Merge pull request #1398 from Mathadon/project_itz_fixes_v2
jelgerjansen ee7e7b5
Merge branch 'project_itz_fixes_v2' into project_itz_fixes_v2_kdj
kldjonge a3ca6ac
Revision note
kldjonge ced78f6
Description for TwoStoreyBoxe.mo
kldjonge bae267a
Merge remote-tracking branch 'klaas/project_itz_fixes_v2_kdj' into pr…
jelgerjansen 3091670
Reapply "Merge remote-tracking branch master into project_itz_fixes_v2"
jelgerjansen f903f6b
Reapply "Merge remote-tracking branch master into project_itz_fixes_v…
jelgerjansen f2e1fa8
Clarify why total window area instead of window glass area is communi…
jelgerjansen 8c635dc
Update reference results
jelgerjansen 37b9d33
Merge branch 'master' into project_itz_fixes_v2 (resolve conflicts)
jelgerjansen c9845be
Temporarily increase simulation time of PlugFlowAIT due to high load …
jelgerjansen 32732b9
Add time out for correct PlugflowPipe model
jelgerjansen fa51cd0
Update conf.yml temporarily
jelgerjansen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,237 @@ | ||
| within IDEAS.Airflow.Multizone; | ||
| model CrackOrOperableDoor | ||
| "Infiltration or large opening model used for the embeded airflow implementation in IDEAS.Buildings.Components" | ||
| extends IDEAS.Fluid.Interfaces.PartialFourPortInterface( | ||
| redeclare final package Medium1 = Medium, | ||
| redeclare final package Medium2 = Medium, | ||
| final allowFlowReversal1=true, | ||
| final allowFlowReversal2=true, | ||
| final m1_flow_nominal=10/3600*rho_default, | ||
| final m2_flow_nominal=m1_flow_nominal, | ||
| final m1_flow_small=1E-4*abs(m1_flow_nominal), | ||
| final m2_flow_small=1E-4*abs(m2_flow_nominal)); | ||
| extends IDEAS.Airflow.Multizone.BaseClasses.ErrorControl(forceErrorControlOnFlow=true); //force error control on flow rates | ||
|
|
||
| replaceable package Medium = | ||
| Modelica.Media.Interfaces.PartialMedium "Medium in the component" | ||
| annotation (choices( | ||
| choice(redeclare package Medium = IDEAS.Media.Air "Moist air"))); | ||
|
|
||
| parameter Modelica.Units.SI.Velocity vZer=0.001 | ||
| "Minimum velocity to prevent zero flow. Recommended: 0.001"; | ||
| parameter Modelica.Units.SI.Length wOpe=0.9 "Width of opening" | ||
| annotation (Dialog(group="Geometry")); | ||
| parameter Modelica.Units.SI.Length hOpe=2.1 "Height of opening" | ||
| annotation (Dialog(group="Geometry")); | ||
|
|
||
| parameter BoundaryConditions.Types.InterZonalAirFlow interZonalAirFlowType | ||
| "Interzonal air flow type"; | ||
| final parameter Modelica.Units.SI.PressureDifference dpCloRat(displayUnit="Pa")=50 | ||
| "Pressure drop at rating condition of closed door" | ||
| annotation (Dialog(group="Rating conditions")); | ||
|
|
||
| parameter Modelica.Units.SI.Length h_b1 "Height at port b1 (hasCavity=false)"; | ||
| parameter Modelica.Units.SI.Length h_b2 = 0 "Height at port b2(hasCavity=false)"; | ||
| parameter Modelica.Units.SI.Length h_a1 = 0 "Height at port a1(hasCavity=false)"; | ||
| parameter Modelica.Units.SI.Length h_a2 "Height at port a2(hasCavity=false)"; | ||
|
|
||
| parameter SI.Length hA=(h_a1 + h_b2)/2 | ||
| "Height of reference pressure at port a1 for opening (hasCavity=true) model"; | ||
| parameter SI.Length hB=(h_a2 + h_b1)/2 | ||
| "Height of reference pressure at port b1 for opening (hasCavity=true) model"; | ||
|
|
||
| final parameter Real CDCloRat(min=0, max=1)=1 | ||
| "Discharge coefficient at rating conditions of closed door" | ||
| annotation (Dialog(group="Rating conditions")); | ||
| parameter Modelica.Units.SI.Area A_q50 "Surface area for leakage computation (closed door)"; | ||
| parameter Real q50(unit="m3/(h.m2)") "Surface air tightness"; | ||
|
|
||
| final parameter Modelica.Units.SI.Area LClo(min=0) = ((q50*A_q50/3600)/(dpCloRat)^mClo)/(((dpCloRat)^(0.5-mClo))*sqrt(2/rho_default)) | ||
| "Effective leakage area of internal wall (when door is fully closed)" | ||
| annotation (Dialog(group="Crack or Closed door")); | ||
|
|
||
| parameter Real CDOpe=0.78 "Discharge coefficient of open door" | ||
| annotation (Dialog(group="Open door")); | ||
|
|
||
|
|
||
| parameter Real mOpe = 0.5 "Flow exponent for door of open door" | ||
| annotation (Dialog(group="Open door")); | ||
| parameter Real mClo= 0.65 "Flow exponent for crack or crack of closed door" | ||
| annotation (Dialog(group="Crack or Closed door")); | ||
|
|
||
| parameter Integer nCom=if abs(hOpe*sin(inc)) < 0.01 then 2 else max(2,integer(abs(hOpe*sin(inc))/4)) "Number of compartments for the discretization"; | ||
|
|
||
| parameter Boolean useDoor = false "=true, to use operable door instead of a crack"; | ||
| parameter Boolean use_y = true "=true, to use control input"; | ||
| parameter Boolean openDoorOnePort = false "Sets whether a door is open or closed in one port configuration"; | ||
|
|
||
| parameter Modelica.Units.SI.PressureDifference dp_turbulent( | ||
| min=0, | ||
| displayUnit="Pa") = 0.01 | ||
| "Pressure difference where laminar and turbulent flow relation coincide. Recommended: 0.01"; | ||
|
|
||
| parameter Modelica.Units.SI.PressureDifference dp_turbulent_ope(min=0,displayUnit="Pa") = (MFtrans/(rho_default*(CDOpe * hOpe*wOpe * sqrt(2/rho_default))))^(1/mOpe) | ||
| if useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts "Pressure difference where laminar and turbulent flow relation coincide for large cavities"; | ||
| parameter Modelica.Units.SI.MassFlowRate MFtrans=(hOpe*wOpe)*VItrans*REtrans/DOpe if useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts "Recommended massflowrate used for reguralisation"; | ||
| parameter Modelica.Units.SI.Length DOpe=4*hOpe*wOpe/(2*hOpe+2*wOpe) if useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts "Estimated hydraulic diameter of the opening - 4*A/Perimeter"; | ||
| constant Real REtrans=30 if useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts "assumed reynoldsnumber at transition"; | ||
|
jelgerjansen marked this conversation as resolved.
Outdated
|
||
| constant Real VItrans(unit="kg/(m.s)")=0.0000181625 if useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts "assumed viscosity of air at transition"; | ||
|
jelgerjansen marked this conversation as resolved.
Outdated
|
||
|
|
||
| final parameter Medium.ThermodynamicState state_default=Medium.setState_pTX( | ||
| T=Medium.T_default, | ||
| p=Medium.p_default, | ||
| X=Medium.X_default[1:Medium.nXi]) "Medium state at default values"; | ||
| final parameter Modelica.Units.SI.Density rho_default=Medium.density(state=state_default) "Medium default density"; | ||
|
|
||
|
|
||
|
|
||
| Modelica.Blocks.Interfaces.RealInput y(min=0, max=1, unit="1") if useDoor and use_y | ||
| "Opening signal, 0=closed, 1=open" | ||
| annotation (Placement(transformation(extent={{-120,-10},{-100,10}}), iconTransformation(extent={{-120,-10},{-100,10}}))); | ||
| IDEAS.Airflow.Multizone.Point_m_flow point_m_flow1( | ||
| redeclare package Medium = Medium, | ||
| dpMea_nominal = dpCloRat, | ||
| forceErrorControlOnFlow=true, | ||
| mMea_flow_nominal=if openDoorOnePort and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.OnePort | ||
| then wOpe*hOpe*rho_default*CDCloRat*(2*dpCloRat/rho_default)^mClo else (if | ||
| interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts | ||
| then 0.5 else 1)*(q50/3600*rho_default)*A_q50, | ||
| m = if openDoorOnePort and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.OnePort then mOpe else mClo, | ||
| useDefaultProperties = false) if not useDoor or (useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.OnePort) "Pressure drop equation" annotation ( | ||
| Placement(visible = true, transformation(origin = {0, 60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
| IDEAS.Airflow.Multizone.MediumColumnReversible col_b1(redeclare package | ||
| Medium = Medium, h=h_b1) if interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts | ||
| and not useDoor "Column for port b1" annotation (Placement(visible=true, | ||
| transformation( | ||
| origin={0,70}, | ||
| extent={{50,-10},{70,10}}, | ||
| rotation=0))); | ||
| IDEAS.Airflow.Multizone.MediumColumnReversible col_a1(redeclare package | ||
| Medium = Medium, h=h_a1) if interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts | ||
| and not useDoor "Column for port a1" annotation (Placement(visible=true, | ||
| transformation( | ||
| origin={0,70}, | ||
| extent={{-70,-10},{-50,10}}, | ||
| rotation=0))); | ||
| IDEAS.Airflow.Multizone.MediumColumnReversible col_b2(redeclare package | ||
| Medium = Medium, h=h_b2) if interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts | ||
| and not useDoor "Column for port b2" annotation (Placement(visible=true, | ||
| transformation( | ||
| origin={0,-50}, | ||
| extent={{-70,-10},{-50,10}}, | ||
| rotation=0))); | ||
| IDEAS.Airflow.Multizone.MediumColumnReversible col_a2(redeclare package | ||
| Medium = Medium, h=h_a2) if interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts | ||
| and not useDoor "Column for port a2" annotation (Placement(visible=true, | ||
| transformation( | ||
| origin={0,-50}, | ||
| extent={{50,-10},{70,10}}, | ||
| rotation=0))); | ||
| IDEAS.Airflow.Multizone.Point_m_flow point_m_flow2( | ||
| redeclare package Medium = Medium, | ||
| dpMea_nominal = dpCloRat, | ||
| forceErrorControlOnFlow=true, | ||
| m = mClo, | ||
| mMea_flow_nominal = (q50/3600*rho_default)*A_q50*0.5, | ||
| useDefaultProperties = false) if not useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts "Pressure drop equation" annotation ( | ||
| Placement(visible = true, transformation(origin = {0, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
| IDEAS.Airflow.Multizone.DoorDiscretizedOperable doo( | ||
| final dh=doo.hOpe*sin(inc)/nCom, | ||
| redeclare package Medium = Medium, | ||
| final hA=hA, | ||
| final hB=hB, | ||
| dp_turbulent=dp_turbulent_ope, | ||
| nCom=nCom, | ||
| CDOpe=CDOpe, | ||
| CDClo=CDCloRat, | ||
| mOpe=mOpe, | ||
| mClo=mClo, | ||
| CDCloRat=CDCloRat, | ||
| wOpe=wOpe, | ||
| hOpe=hOpe, | ||
| dpCloRat=dpCloRat, | ||
| LClo=LClo, | ||
| vZer=vZer*MFtrans*rho_default) | ||
| if useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts annotation ( | ||
| Placement(visible = true, transformation(origin={-2,0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
| IDEAS.Fluid.Sources.Boundary_pT bou( | ||
| redeclare package Medium = Medium, | ||
| nPorts = 2) | ||
| if interZonalAirFlowType <> IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts | ||
| "Sets absolute pressure when the ports are not connected externally" annotation ( | ||
| Placement(visible = true, transformation(origin = {0, -90}, extent = {{-10, 10}, {10, -10}}, rotation = 90))); | ||
| Modelica.Blocks.Sources.Constant constOne(final k=1) | ||
| if not use_y | ||
| "Door constantly opened" annotation ( | ||
| Placement(visible = true, transformation(origin = {-54, -14}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); | ||
|
|
||
| parameter SI.Angle inc=Modelica.Constants.pi/2 | ||
| "inclination angle (vertical=pi/2)"; | ||
| initial equation | ||
| assert( not (interZonalAirFlowType <> IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts and useDoor and use_y), | ||
| "In " +getInstanceName() + ": Cannot use a controllable door unless interZonalAirFlowType == TwoPorts."); | ||
|
|
||
| equation | ||
| connect(col_a1.port_a, point_m_flow1.port_a) annotation ( | ||
| Line(points = {{-60, 80}, {-60, 84}, {-20, 84}, {-20, 60}, {-10, 60}}, color = {0, 127, 255})); | ||
| connect(col_b1.port_a, point_m_flow1.port_b) annotation ( | ||
| Line(points = {{60, 80}, {60, 84}, {20, 84}, {20, 60}, {10, 60}}, color = {0, 127, 255})); | ||
| connect(col_b2.port_a, point_m_flow2.port_a) annotation ( | ||
| Line(points = {{-60, -40}, {-60, -36}, {-20, -36}, {-20, -60}, {-10, -60}}, color = {0, 127, 255})); | ||
| connect(col_a2.port_a, point_m_flow2.port_b) annotation ( | ||
| Line(points = {{60, -40}, {60, -36}, {20, -36}, {20, -60}, {10, -60}}, color = {0, 127, 255})); | ||
| connect(col_b2.port_b, port_b2) annotation ( | ||
| Line(points = {{-60, -60}, {-100, -60}}, color = {0, 127, 255})); | ||
| connect(col_a2.port_b, port_a2) annotation ( | ||
| Line(points = {{60, -60}, {100, -60}}, color = {0, 127, 255})); | ||
| connect(col_b1.port_b, port_b1) annotation ( | ||
| Line(points = {{60, 60}, {100, 60}}, color = {0, 127, 255})); | ||
| connect(col_a1.port_b, port_a1) annotation ( | ||
| Line(points = {{-60, 60}, {-100, 60}}, color = {0, 127, 255})); | ||
| connect(y, doo.y) annotation ( | ||
| Line(points={{-110,0},{-13,0}}, color = {0, 0, 127})); | ||
| connect(bou.ports[1], port_a2) annotation ( | ||
| Line(points={{-1,-80},{100,-80},{100,-60}}, color = {0, 127, 255})); | ||
| if interZonalAirFlowType <> IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts then | ||
| connect(point_m_flow1.port_a, port_a1) annotation ( | ||
| Line(points = {{-10, 60}, {-100, 60}}, color = {0, 127, 255})); | ||
| connect(point_m_flow1.port_b, port_b1) annotation ( | ||
| Line(points = {{10, 60}, {100, 60}}, color = {0, 127, 255})); | ||
| end if; | ||
| connect(constOne.y, doo.y) annotation ( | ||
| Line(points={{-47.4,-14},{-32,-14},{-32,0},{-13,0}}, color = {0, 0, 127})); | ||
| connect(bou.ports[2], port_b2) annotation ( | ||
| Line(points={{1,-80},{-100,-80},{-100,-60}}, color = {0, 127, 255})); | ||
| connect(doo.port_a1, port_a1) annotation ( | ||
| Line(points={{-12,6},{-30,6},{-30,60},{-100,60}}, color = {0, 127, 255})); | ||
| connect(doo.port_b1, port_b1) annotation ( | ||
| Line(points={{8,6},{30,6},{30,60},{100,60}}, color = {0, 127, 255})); | ||
| connect(doo.port_b2, port_b2) annotation ( | ||
| Line(points={{-12,-6},{-20,-6},{-20,-34},{-100,-34},{-100,-60}}, color = {0, 127, 255})); | ||
| connect(doo.port_a2, port_a2) annotation ( | ||
| Line(points={{8,-6},{20,-6},{20,-34},{100,-34},{100,-60}}, color = {0, 127, 255})); | ||
|
|
||
| annotation(Documentation(info="<html> | ||
| <p> | ||
| This models an open/closed door depending on the number of available fluid ports. | ||
| </p> | ||
| <p> | ||
| When only one port is available then an orrifice equation is used to approximate the closed door. | ||
| There is no support for open doors when using only a single fluid port. | ||
| </p> | ||
| </html>", | ||
| revisions="<html> | ||
| <ul> | ||
| <li> | ||
| October 30, 2024, by Klaas De Jonge:<br/> | ||
| Changes for column heights,used default density and transition point to laminar flow at low dp. | ||
| </li> | ||
| <li> | ||
| October 20, 2023 by Filip Jorissen:<br/> | ||
| First documented version. | ||
| </li> | ||
| </ul> | ||
| </html>"), | ||
| Diagram, | ||
| Icon(graphics={ Polygon(lineColor = {0, 0, 255}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, points = {{-30, -10}, {-16, -8}, {-16, -14}, {-30, -16}, {-30, -10}}), Line(points = {{-54, 48}, {-36, 48}}), Line(points = {{-54, 20}, {-36, 20}}), Rectangle(fillColor = {255, 255, 255}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-100, 100}, {100, -100}}), Line(points = {{-54, -58}, {-36, -58}}), Rectangle(lineColor = {0, 0, 255}, fillColor = {255, 128, 0}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-46, -16}, {-20, -20}}), Rectangle(lineColor = {0, 0, 255}, fillColor = {85, 75, 55}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-60, 80}, {60, -84}}), Rectangle(fillColor = {215, 215, 215}, fillPattern = FillPattern.Solid, extent = {{-54, 72}, {56, -84}}), Polygon(fillColor = {95, 95, 95}, fillPattern = FillPattern.Solid, points = {{56, 72}, {-36, 66}, {-36, -90}, {56, -84}, {56, 72}}), Rectangle(lineColor = {0, 0, 255}, fillColor = {255, 128, 0}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-100, 2}, {-46, -2}}), Polygon(visible = false, origin = {75, 50}, rotation = 360, lineColor = {0, 128, 255}, fillColor = {0, 128, 255}, fillPattern = FillPattern.Solid, points = {{-5, 10}, {25, 10}, {-5, -10}, {-5, 10}}), Text(textColor = {0, 0, 127}, extent = {{-118, 34}, {-98, 16}}, textString = "y"), Line(points = {{-54, -6}, {-36, -6}}), Line(points = {{-54, -32}, {-36, -32}}), Polygon(visible = false, origin = {-79, -50}, rotation = 360, lineColor = {0, 128, 255}, fillColor = {0, 128, 255}, fillPattern = FillPattern.Solid, points = {{10, 10}, {-20, -10}, {10, -10}, {10, 10}}), Rectangle(lineColor = {0, 0, 255}, fillColor = {255, 128, 0}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-46, 2}, {-40, -16}})}, coordinateSystem(extent = {{-100, -100}, {100, 100}}))); | ||
| end CrackOrOperableDoor; | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| within IDEAS.Airflow.Multizone.Examples; | ||
| model TrickleVentIDEAS | ||
| "Model with a trickle vent modelled using the models with flow based on tabulated data" | ||
| extends IDEAS.Airflow.Multizone.Examples.TrickleVent(west(nPorts=2), east(nPorts=2)); | ||
|
|
||
| IDEAS.Airflow.Multizone.TrickleVent vent( | ||
| redeclare package Medium = Medium, | ||
| dp_nominal = 10, | ||
| m_flow_nominal = 0.02614, | ||
| use_y = true) | ||
| "Analytic trickle vent implementation" annotation ( | ||
| Placement(visible = true, transformation(origin = {20, -70}, extent = {{-10, 10}, {10, -10}}, rotation = 0))); | ||
| Modelica.Blocks.Sources.Ramp ramp( | ||
| duration = 1e6, | ||
| height = -1, | ||
| offset = 1, | ||
| startTime = 1592000) | ||
| "Step control signal" annotation ( | ||
| Placement(visible = true, transformation(origin = {-90, -88}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
| equation | ||
| connect(vent.port_a, east.ports[2]) annotation ( | ||
| Line(points = {{10, -70}, {-25, -70}, {-25, -30}, {-30, -30}}, color = {0, 127, 255})); | ||
| connect(vent.port_b, west.ports[2]) annotation ( | ||
| Line(points = {{30, -70}, {65, -70}, {65, -30}, {70, -30}}, color = {0, 127, 255})); | ||
| connect(ramp.y, vent.y) annotation ( | ||
| Line(points = {{-79, -88}, {20.5, -88}, {20.5, -82}, {20, -82}}, color = {0, 0, 127})); | ||
| annotation (__Dymola_Commands(file="modelica://IDEAS/Resources/Scripts/Dymola/Airflow/Multizone/Examples/TrickleVentIDEAS.mos" | ||
| "Simulate and plot"), | ||
| experiment( | ||
| StopTime=2592000, | ||
| Interval=600, | ||
| Tolerance=1e-06), | ||
| Documentation(info="<html> | ||
| <p> | ||
| This model illustrates the use of the models | ||
| <a href=\"modelica://IDEAS.Airflow.Multizone.TrickleVent\"> | ||
| IDEAS.Airflow.Multizone.Table_V_flow</a>, | ||
| which is an analytic alternative to the table implementation of | ||
| <a href=\"modelica://IDEAS.Airflow.Multizone.Table_m_flow\"> | ||
| IDEAS.Airflow.Multizone.Table_m_flow</a> for | ||
|
|
||
|
jelgerjansen marked this conversation as resolved.
Outdated
|
||
| modelling self regulating inlet vents. | ||
| </p> | ||
| </html>", revisions="<html> | ||
| <ul> | ||
| <li> | ||
| July 9, 2023 by Filip Jorissen:<br/> | ||
| First implementation. | ||
| </li> | ||
| </ul> | ||
| </html>"), | ||
| Diagram); | ||
| end TrickleVentIDEAS; | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,4 +12,5 @@ PressurizationData | |
| ReverseBuoyancy | ||
| ReverseBuoyancy3Zones | ||
| TrickleVent | ||
| TrickleVentIDEAS | ||
| ZonalFlow | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.