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

Templates • HW plant #3364

Draft
wants to merge 714 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
714 commits
Select commit Hold shift + click to select a range
b212939
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Jul 8, 2022
51da9c8
Merge branch 'issue1913_g36_final' of github.com:lbl-srg/modelica-bui…
AntoineGautier Jul 8, 2022
ffbf1aa
Merge branch 'master' into issue1913_g36_final
JayHuLBL Jul 20, 2022
3e294b1
Start refactoring control sections
AntoineGautier Jul 8, 2022
0174c90
Fix package structure and parameter assignment
AntoineGautier Aug 2, 2022
9fa011c
Add VAV box cooling only controller
AntoineGautier Aug 2, 2022
80ab160
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Aug 2, 2022
e87bcc7
Add script
AntoineGautier Aug 2, 2022
5e017c9
Remove Dialog annotations
AntoineGautier Aug 3, 2022
cf17ab9
Add __Linkage(enable=false) annotation
AntoineGautier Aug 3, 2022
8ecbc04
Doc and formatting
AntoineGautier Aug 4, 2022
26b0f94
merged master
JayHuLBL Aug 9, 2022
8ba70c7
Merge branch 'master' into issue1913_g36_final
JayHuLBL Aug 16, 2022
d199bd9
changed freeze stat enumerations
JayHuLBL Aug 22, 2022
1eff463
merged master
JayHuLBL Aug 23, 2022
3cbe566
separated ahu mode calculation
JayHuLBL Aug 24, 2022
0a22596
addressing comments
JayHuLBL Aug 24, 2022
7465777
addressing multizone AHU controller comments
JayHuLBL Aug 25, 2022
c2fc556
Fix missing vendor annotation
AntoineGautier Aug 30, 2022
7be670f
improved parameter namings
JayHuLBL Aug 31, 2022
2d7e632
removed zero default value
JayHuLBL Aug 31, 2022
1803445
Remove function calls
AntoineGautier Sep 1, 2022
aa25805
removed the damper and valve actual position connectors
JayHuLBL Sep 1, 2022
c153168
updated comments, changed boolean connector name
JayHuLBL Sep 1, 2022
2bff124
changed file name
JayHuLBL Sep 1, 2022
3b292f8
fixed broken links
JayHuLBL Sep 1, 2022
7f8ee62
fixed typos
JayHuLBL Sep 2, 2022
254a9f5
removed colon mark
JayHuLBL Sep 2, 2022
e2b9252
Convert package file into directory
AntoineGautier Sep 5, 2022
71aeb94
Convert to full class names
AntoineGautier Sep 5, 2022
af27be1
Merge branch 'issue1913_g36_final' of github.com:lbl-srg/modelica-bui…
AntoineGautier Sep 5, 2022
6b0842e
Refactor for 254a9f5353
AntoineGautier Sep 5, 2022
ba7cba2
Merge branch 'master' into issue1913_g36_final
JayHuLBL Sep 6, 2022
b9e34aa
addressed comments
JayHuLBL Sep 6, 2022
107647b
Merge branch 'issue1913_g36_final' of github.com:lbl-srg/modelica-bui…
AntoineGautier Sep 7, 2022
55f06cc
Change default controller, refactor for b9e34aa06a
AntoineGautier Sep 7, 2022
c35f54b
Change default controller for VAV box
AntoineGautier Sep 7, 2022
de6cf98
corrected the p/dp namings #1913
JayHuLBL Sep 7, 2022
db64381
Merge branch 'issue1913_g36_final' of github.com:lbl-srg/modelica-bui…
AntoineGautier Sep 9, 2022
b28971e
Refactor for de6cf98, relocate PassThroughFluid
AntoineGautier Sep 9, 2022
7486c52
Update valve components
AntoineGautier Sep 13, 2022
b2370b4
Fix choice annotation
AntoineGautier Sep 13, 2022
1e11f5a
improved handling of dividing by zero
JayHuLBL Sep 13, 2022
4cb7487
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Sep 14, 2022
273e8db
Merge branch 'issue1913_g36_final' of github.com:lbl-srg/modelica-bui…
AntoineGautier Sep 14, 2022
bc93003
Assign valve dynamics in validation model
AntoineGautier Sep 14, 2022
81112cd
Move Interfaces under Components
AntoineGautier Sep 14, 2022
6b5f735
Merge changes from issue1374_template_CHW_final
AntoineGautier Sep 14, 2022
a2288a6
Checkout pump components from
AntoineGautier Sep 22, 2022
01723fd
Remove __Dymola_translate annotation
AntoineGautier Sep 22, 2022
e5d8c2f
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Oct 31, 2022
49494ac
Clean merge artifacts
AntoineGautier Oct 31, 2022
35df78e
Trim trailing spaces
AntoineGautier Oct 31, 2022
3b2884a
Update for ctrl-flow
AntoineGautier Nov 1, 2022
4d57922
Add AllSystems class with top-level parameters
AntoineGautier Nov 3, 2022
97041e1
Refactor w/ updated OA and eco configurations
AntoineGautier Nov 3, 2022
7e2c1f6
Merge pull request #3140 from AntoineGautier/issue1374_templates_updates
AntoineGautier Nov 8, 2022
466236e
Remove AirflowCalculated option
AntoineGautier Nov 8, 2022
281d29f
Minor documentation edits
AntoineGautier Nov 15, 2022
5a6c7f7
Fix package order
AntoineGautier Nov 15, 2022
c45b9c3
Merge branch 'master' of https://github.com/lbl-srg/modelica-building…
AntoineGautier Nov 16, 2022
c399148
Remove unused declaration
AntoineGautier Nov 16, 2022
977e2c0
removed years in enumeration lists
JayHuLBL Dec 7, 2022
ce38700
updated OA configuration enumeration description
JayHuLBL Dec 7, 2022
1ffaca6
Merge branch 'issue3189_g36Enumeration' into issue1374_templates
JayHuLBL Dec 7, 2022
c7a3aa9
removed code years, updated OA section options descriptions
JayHuLBL Dec 7, 2022
869de0a
added building type enumeration
JayHuLBL Dec 8, 2022
8e4cda3
deleted duplicate types
JayHuLBL Dec 9, 2022
559da3a
Update configuration options
AntoineGautier Dec 12, 2022
23c04bc
Update results
AntoineGautier Dec 12, 2022
f2aae54
Merge branch 'master' into issue3189_g36Enumeration
JayHuLBL Dec 12, 2022
3c1be68
removed not_specified options
JayHuLBL Dec 12, 2022
dd2aa1a
set start attribute to the not-specified parameters
JayHuLBL Dec 12, 2022
033804c
Merge branch 'issue3189_g36Enumeration' into issue1374_templates
JayHuLBL Dec 12, 2022
3dee8f6
Merge branch 'issue1374_templates' of https://github.com/lbl-srg/mode…
JayHuLBL Dec 12, 2022
91d10cc
added missing project parameters
JayHuLBL Dec 12, 2022
b2ee0f7
commented project info [ci skip]
JayHuLBL Dec 15, 2022
524caa6
Add enable annotation and minor fixes
AntoineGautier Dec 16, 2022
41bb071
Checkout component models from issue1374_template_CHW_final
AntoineGautier Dec 16, 2022
4b5b246
Doc
AntoineGautier Dec 16, 2022
47a2889
Merge branch 'master' into issue3189_g36Enumeration
JayHuLBL Dec 16, 2022
cf9dc77
removed BOM
JayHuLBL Dec 16, 2022
41781c0
Merge branch 'issue3189_g36Enumeration' into issue1374_templates
JayHuLBL Dec 16, 2022
135c1ef
removed BOM, set default value for eneStd and venStd
JayHuLBL Dec 16, 2022
5eaf853
Merge branch 'issue3189_g36Enumeration' into issue1374_templates
JayHuLBL Dec 16, 2022
74e457e
Merge branch 'issue1374_templates' of https://github.com/lbl-srg/mode…
JayHuLBL Dec 16, 2022
2e316c3
removed uRelFan input
JayHuLBL Dec 19, 2022
87179bb
removed no needed connectors
JayHuLBL Dec 19, 2022
eb55f7b
updated reference
JayHuLBL Dec 19, 2022
7020c3b
removed return fan calculated air option
JayHuLBL Dec 19, 2022
2813073
removed normal open option
JayHuLBL Dec 20, 2022
6ba3896
fixed bug
JayHuLBL Dec 20, 2022
107acc5
recoverred Not_specified opiton for the climate zones
JayHuLBL Dec 21, 2022
64875f3
removed BOM
JayHuLBL Dec 21, 2022
de68b18
Add enable annotations, update description strings
AntoineGautier Dec 21, 2022
e76f057
Fix HTML
AntoineGautier Dec 21, 2022
5f4fee9
Merge branch 'master' into issue3139_MZController
JayHuLBL Dec 21, 2022
d6114bf
merged issue3189 branch
JayHuLBL Dec 21, 2022
016ef3c
added assertion to check if the climate zones have been specified
JayHuLBL Dec 21, 2022
5814ece
added assertion, added validation
JayHuLBL Dec 22, 2022
a6752dc
merged issue3189
JayHuLBL Dec 22, 2022
d27f3d3
removed BOM
JayHuLBL Dec 22, 2022
7fec1bd
removed BOM #3139
JayHuLBL Dec 22, 2022
a0aec47
Merge branch 'issue3189_g36Enumeration' into issue1374_templates
JayHuLBL Dec 22, 2022
610172c
Merge branch 'issue1374_templates' of https://github.com/lbl-srg/mode…
JayHuLBL Dec 22, 2022
577c809
assigned energy and ventilation standard
JayHuLBL Dec 22, 2022
0dfab38
added energy and ventilation standards
JayHuLBL Dec 22, 2022
29c41ca
merged issue3189 [ci skip]
JayHuLBL Dec 22, 2022
f370030
Merge branch 'issue3189_g36Enumeration' into issue3139_MZController
JayHuLBL Dec 22, 2022
7322891
added flag to disable freeze protection for MZVAV controller
JayHuLBL Dec 23, 2022
6af9876
Merge branch 'master' into issue3189_g36Enumeration
JayHuLBL Jan 3, 2023
198e01c
added default standards
JayHuLBL Jan 11, 2023
6600a97
reverted to no assign standards
JayHuLBL Jan 11, 2023
4656395
moved the check of climate zone specification into the generic class
JayHuLBL Jan 11, 2023
0c70cc9
cleaned BOM
JayHuLBL Jan 11, 2023
ec1c248
updated reference results
JayHuLBL Jan 11, 2023
c41c8a7
merged changes on the standards enumerations
JayHuLBL Jan 11, 2023
b08ab45
corrected revision record #3139 [ci skip]
JayHuLBL Jan 12, 2023
aff96c5
removed have_preIndDam
JayHuLBL Jan 12, 2023
76c2a01
updated reference results
JayHuLBL Jan 12, 2023
f3c72b2
added release notes
JayHuLBL Jan 12, 2023
1450777
added flag to disable freeze protection for single AHU controller
JayHuLBL Jan 13, 2023
e25c2ce
changed the pressure independent damper to exponential damper
JayHuLBL Jan 17, 2023
c8eb410
merged master
JayHuLBL Jan 19, 2023
0b1a6fd
Remove unneeded config options for VAV box
AntoineGautier Jan 19, 2023
fdc3e47
reverted the changes regarding the pressure independent dampers
JayHuLBL Jan 19, 2023
b3f65e3
corrected the windows sensor signal
JayHuLBL Jan 19, 2023
09c896f
removed the release note about the pressure independent damper
JayHuLBL Jan 19, 2023
508179d
Merge branch 'issue3139_MZController_withPreIndDam' into issue1374_te…
JayHuLBL Jan 19, 2023
f59980e
merged the 3139 changes
JayHuLBL Jan 19, 2023
11b90cf
removed BOM
JayHuLBL Jan 19, 2023
9b8b710
Merge branch 'issue3139_MZController_withPreIndDam' into issue1374_te…
JayHuLBL Jan 19, 2023
72e208f
Modify FreezeStat enumeration, add revision note [ci skip]
AntoineGautier Jan 20, 2023
969169d
Merge branch 'issue3139_MZController_withPreIndDam' of github.com:lbl…
AntoineGautier Jan 20, 2023
46cbf6a
Minor edit
AntoineGautier Jan 20, 2023
e70218d
Fix typo
AntoineGautier Jan 20, 2023
aa9c441
reverted the exponential damper in example model
JayHuLBL Jan 21, 2023
323cc7d
merged master
JayHuLBL Jan 21, 2023
c9c4f5a
merged master
JayHuLBL Jan 21, 2023
162ac39
merged issue3139
JayHuLBL Jan 23, 2023
2867410
merge mas
JayHuLBL Jan 23, 2023
57c863b
merged issue3139
JayHuLBL Jan 23, 2023
88b6ccd
corrected controller type
JayHuLBL Jan 24, 2023
a0e58ef
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Feb 28, 2023
e0e4fc4
Patch pump components with issue1374_template_CHW_final
AntoineGautier Feb 28, 2023
a4e9968
Package structure and interface classes
AntoineGautier Mar 7, 2023
82323a8
Fix remaining control point issues
AntoineGautier Mar 8, 2023
13a4ddb
Add icon
AntoineGautier Mar 10, 2023
269f569
Implement boiler and boiler group
AntoineGautier Mar 14, 2023
8b0995e
Add boiler group validation
AntoineGautier Mar 15, 2023
d85840f
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Mar 17, 2023
06584ef
Remove unused components, refactor DX coil data
AntoineGautier Mar 17, 2023
cb63f77
Exclude models from CI tests, add release notes
AntoineGautier Mar 17, 2023
b1541a0
Add Dymola and OCT CI testing for Templates
AntoineGautier Mar 17, 2023
b6aaaac
Update results, fix DX coil validation models
AntoineGautier Mar 17, 2023
1fccc91
Remove unused files
AntoineGautier Mar 17, 2023
d8decc4
Change file permission
AntoineGautier Mar 17, 2023
f27f898
Remove duplicate declaration
AntoineGautier Mar 19, 2023
d806803
Minor
AntoineGautier Mar 19, 2023
584816e
Implement whole plant model
AntoineGautier Mar 15, 2023
0600069
Refactor boiler group w/ only expandable connectors
AntoineGautier Mar 21, 2023
930213b
Fix missing bindings and control points
AntoineGautier Mar 21, 2023
0eccd46
Change junction dp_nominal for 1-2 hybrid plants
AntoineGautier Mar 22, 2023
e55f547
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Mar 22, 2023
0f6d604
Integrate G36 controller
AntoineGautier Mar 22, 2023
513c83a
Use container class for boiler group
AntoineGautier Apr 5, 2023
302d615
Update validation models
AntoineGautier Apr 5, 2023
06dddcf
renamed the units enumeration
JayHuLBL Apr 5, 2023
5323659
Develop test script
AntoineGautier Apr 12, 2023
a060840
Refactor template to better support hybrid systems
AntoineGautier Apr 14, 2023
a75614f
Add dedicated validation model for hybrid systems
AntoineGautier Apr 17, 2023
3dc6810
Fix binding that caused OCT error
AntoineGautier Apr 17, 2023
cb82b61
Update validation models
AntoineGautier Apr 17, 2023
d14298e
Fix configuration issues, update validation script
AntoineGautier Apr 17, 2023
783f595
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Apr 18, 2023
0cf36e1
Make secOutRel non replaceable
AntoineGautier Apr 18, 2023
60daf89
Merge branch 'issue1374_templates' of github.com:lbl-srg/modelica-bui…
AntoineGautier Apr 18, 2023
e8292a1
Restore deleted files and definitions after merge
AntoineGautier Apr 18, 2023
b1c6eab
Doc, update validation script, new 2ry pump config
AntoineGautier Apr 19, 2023
a70bf23
Icons
AntoineGautier Apr 20, 2023
24a0485
Update script, icons
AntoineGautier Apr 21, 2023
2eaba1c
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Apr 21, 2023
1e248af
Fix icons and type definitions
AntoineGautier Apr 21, 2023
0714e4e
Remove validation with fan array
AntoineGautier Apr 21, 2023
056dbe5
TMP: Reduce CI testing
AntoineGautier Apr 21, 2023
02208ac
Merge branch 'issue1374_templates' of github.com:lbl-srg/modelica-bui…
AntoineGautier Apr 21, 2023
8755bf6
Adjust icon size
AntoineGautier Apr 21, 2023
930fda8
Merge branch 'issue1374_templates' of github.com:lbl-srg/modelica-bui…
AntoineGautier Apr 21, 2023
e512b9c
Doc and minor fixes
AntoineGautier Apr 21, 2023
c898bf7
Remove useless binding causing OCT warning
AntoineGautier Apr 21, 2023
dc7bf7b
Check out checkandrun.sh from issue1374_template_CHW_final
AntoineGautier Apr 21, 2023
5ea231d
Update checkandrun, fix icons for routing
AntoineGautier Apr 21, 2023
118d243
Resize icons
AntoineGautier Apr 24, 2023
d58b293
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Apr 24, 2023
e909512
Merge branch 'issue1374_templates' of github.com:lbl-srg/modelica-bui…
AntoineGautier Apr 24, 2023
c8793b8
Graphics
AntoineGautier Apr 24, 2023
f9f0aa4
Update icons
AntoineGautier Apr 25, 2023
1143356
Graphics
AntoineGautier Apr 25, 2023
71b295a
Change permissions
AntoineGautier Apr 25, 2023
2a4fa24
Update validation script, fix typos
AntoineGautier Apr 26, 2023
bfd1e11
Update validation models and doc
AntoineGautier Apr 26, 2023
c306d04
Fix HTML, update checksum
AntoineGautier Apr 27, 2023
d162437
Debug
AntoineGautier Apr 27, 2023
0f1a5ff
Debug
AntoineGautier Apr 27, 2023
acc8789
Select only checksums
AntoineGautier Apr 28, 2023
70b1f03
Update checksum
AntoineGautier Apr 28, 2023
509b1d0
Update user guide
AntoineGautier Apr 28, 2023
1366f4e
Fix enumeration and unassigned parameters
AntoineGautier Apr 28, 2023
5426e2d
Add debug
AntoineGautier May 2, 2023
96bd4e6
Fix enumeration and unassigned parameters
AntoineGautier May 2, 2023
a163da1
Merge branch 'issue3266_template_HW_plant' of github.com:lbl-srg/mode…
AntoineGautier May 2, 2023
a6404f9
Ignore case in sort
AntoineGautier May 3, 2023
b534ce6
Add LC_COLLATE=C
AntoineGautier May 3, 2023
5679ced
Set LC_ALL=C
AntoineGautier May 3, 2023
2fc969f
Install dependency
AntoineGautier May 3, 2023
de8235d
Update before_install
AntoineGautier May 3, 2023
5a35587
Minor
AntoineGautier May 3, 2023
74ec092
Display error log
AntoineGautier May 3, 2023
e06d340
Fix missing rule
AntoineGautier May 3, 2023
0d8c1be
Improve error log
AntoineGautier May 4, 2023
c2d9e1d
Debug Dymola run
AntoineGautier May 4, 2023
feacffb
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier May 5, 2023
e70992e
Merge branch 'issue1374_templates' of github.com:lbl-srg/modelica-bui…
AntoineGautier May 5, 2023
d373003
Update checksum
AntoineGautier May 5, 2023
551af26
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier May 10, 2023
8f4f4e7
Merge branch 'issue1374_templates' of github.com:lbl-srg/modelica-bui…
AntoineGautier May 10, 2023
0655e8c
Add debug statement
AntoineGautier May 13, 2023
e06bc6f
Fix
AntoineGautier May 13, 2023
9585d66
Fix
AntoineGautier May 13, 2023
30280c5
Fix
AntoineGautier May 13, 2023
69cfe6e
Fix
AntoineGautier May 13, 2023
8280c98
Fix
AntoineGautier May 13, 2023
a0ff51f
Improve graphics
AntoineGautier May 15, 2023
8ca3451
Fix validation script
AntoineGautier May 18, 2023
aee316a
Fix incorrect path
AntoineGautier May 18, 2023
2fd3f9a
Fix Dymola commands
AntoineGautier May 18, 2023
00fb3fa
Test
AntoineGautier May 18, 2023
093d758
Test
AntoineGautier May 18, 2023
49c0f67
Test
AntoineGautier May 18, 2023
e15d845
Fix Dymola runs
AntoineGautier May 18, 2023
c83ed4b
Graphics
AntoineGautier May 24, 2023
4efb7ed
Check out components from issue1374_template_CHW_final
AntoineGautier Aug 31, 2023
c091e76
Refactor test scripts with tuples, type hints & core.py
AntoineGautier Sep 8, 2023
a02e08e
Refactor test scripts with tuples, type hints & core.py
AntoineGautier Sep 8, 2023
6e2734a
Merge branch 'issue3266_template_HW_plant' of github.com:lbl-srg/mode…
AntoineGautier Sep 11, 2023
22e51f2
Update comments
AntoineGautier Sep 11, 2023
18f0bf1
Check out test scripts from issue3520_templateTesting
AntoineGautier Sep 20, 2023
50e3d6a
Merge branch 'master' of github.com:lbl-srg/modelica-buildings into i…
AntoineGautier Sep 20, 2023
76cdd1c
Refactor and fix issues after merging master
AntoineGautier Sep 20, 2023
4959db4
Add checksum
AntoineGautier Sep 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add VAV box cooling only controller
AntoineGautier committed Aug 2, 2022
commit 9fa011ccb45545e4ea7a73ba7550e7b95f9fa583
Original file line number Diff line number Diff line change
@@ -12,4 +12,4 @@ statistics-simulation=
"numerical Jacobians": "0"
}
time=[0e+00, 1e+00]
VAVBox_1.port_Sup.m_flow=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00]
VAVBox_1.port_Sup.m_flow=[1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01]
Original file line number Diff line number Diff line change
@@ -12,4 +12,4 @@ statistics-simulation=
"numerical Jacobians": "0"
}
time=[0e+00, 1e+00]
VAVBox_1.port_Sup.m_flow=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00]
VAVBox_1.port_Sup.m_flow=[1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01, 1.218331083655357e-01]
Original file line number Diff line number Diff line change
@@ -534,7 +534,7 @@ equation
<h4>Description</h4>
<p>
This is an implementation of the control sequence specified in
<a href=\"#ASHRAE2018\">ASHRAE (2018)</a>
<a href=\"#ASHRAE2021\">ASHRAE (2021)</a>
for multiple-zone VAV air handlers.
It contains the following components.
</p>
@@ -564,8 +564,8 @@ hence no <code>bus.VOut_flow</code> signal is available for that configuration.
</p>
<h4>References</h4>
<ul>
<li id=\"ASHRAE2018\">
ASHRAE, 2018. Guideline 36-2018, High-Performance Sequences of Operation
<li id=\"ASHRAE2021\">
ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation
for HVAC Systems. Atlanta, GA.
</li>
</ul>
6 changes: 3 additions & 3 deletions Buildings/Templates/AirHandlersFans/VAVMultiZone.mo
Original file line number Diff line number Diff line change
@@ -462,7 +462,7 @@ a single duct system serving <b>at least two</b> terminal units.
<p>
The possible equipment configurations are enumerated in the table below.
The user may refer to
<a href=\"#ASHRAE2018\">ASHRAE (2018)</a>
<a href=\"#ASHRAE2021\">ASHRAE (2021)</a>
for further details.
The first option displayed in bold characters corresponds to the default configuration.<br/>
</p>
@@ -599,8 +599,8 @@ relative building static pressure.
</p>
<h4>References</h4>
<ul>
<li id=\"ASHRAE2018\">
ASHRAE, 2018. Guideline 36-2018, High-Performance Sequences of Operation
<li id=\"ASHRAE2021\">
ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation
for HVAC Systems. Atlanta, GA.
</li>
</ul>
46 changes: 23 additions & 23 deletions Buildings/Templates/UsersGuide.mo
Original file line number Diff line number Diff line change
@@ -10,9 +10,9 @@ package UsersGuide "Templates user guide"
info="<html>
<h4>Control point connections</h4>
<p>
Inside a template class, the connect clauses involving control points
Inside a template class, the connect clauses involving control points
typically do not have
any graphical annotation and are therefore not rendered as
any graphical annotation and are therefore not rendered as
connection lines in the diagram view.
Those connect clauses are grouped together in a dedicated section of
the equation section of each class, namely
@@ -22,7 +22,7 @@ the equation section of each class, namely
<h4>Definitions</h4>
<h5>System</h5>
<p>
We adopt the definition hereafter from ASHRAE (2018).
We adopt the definition hereafter from ASHRAE (2021).
</p>
<p>
A set of components is a system if they share a load in
@@ -33,12 +33,12 @@ ship serving air handlers).
<ul>
<li>
Each air handler constitutes its own separate system
because it does not share a load (terminal unit) in common with
the other air handlers.
because it does not share a load (terminal unit) in common with
the other air handlers.
</li>
<li>
Each VAV box constitutes its own system because it does
not share a load (conditioned space) in common with the other VAV boxes.
not share a load (conditioned space) in common with the other VAV boxes.
</li>
</ul>
@@ -67,7 +67,7 @@ The following abbreviations are used in that package.<br/>
<h4>References</h4>
<ul>
<li>
ASHRAE, 2018. Guideline 36-2018, High-Performance Sequences of Operation
ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation
for HVAC Systems. Atlanta, GA.
</li>
</ul>
@@ -94,38 +94,38 @@ or a terminal unit (refer to
<a href=\"modelica://Buildings.Templates.UsersGuide.Conventions\">
Buildings.Templates.UsersGuide.Conventions</a>
for the definition of a system).
A template is a self-contained model that can be reconfigured
by redeclaring some of its components or modifying some of its
A template is a self-contained model that can be reconfigured
by redeclaring some of its components or modifying some of its
structural parameters.
Such configuration does not require any other modification
of the template.
Particularly, all connect clauses between
replaceable components are resolved internally,
without any need for user intervention.
The same holds true for sensors required by a specific control
option which are conditionally instantiated if that option is
The same holds true for sensors required by a specific control
option which are conditionally instantiated if that option is
selected.
</p>
<h4>Simulation model assembly</h4>
<p>
There is currently no template representing a complete HVAC system,
from the plant to the terminal unit.
To build a simulation model representing a complete HVAC system,
one needs to
To build a simulation model representing a complete HVAC system,
one needs to
</p>
<ol>
<li>
instantiate the templates (or any derived class representing a specific
configuration) of the different subsystems (such as the CHW and HHW plants,
instantiate the templates (or any derived class representing a specific
configuration) of the different subsystems (such as the CHW and HHW plants,
the air handlers and the terminal units),
</li>
<li>
if needed, configure those instances to represent project-specific
if needed, configure those instances to represent project-specific
system configurations if those configurations differ from the default
configuration proposed for each template,
configuration proposed for each template,
</li>
<li>
connect the fluid connectors of the different instances together,
connect the fluid connectors of the different instances together,
</li>
<li>
connect the signal buses of the different instances together,
@@ -138,20 +138,20 @@ proper design and operating parameter values.
<p>
When assembling a model for a complete HVAC system,
it is the user's responsibility to ensure that the control
sequence selected for one subsystem is compatible
sequence selected for one subsystem is compatible
with the one selected for another subsystem.
For instance the AHU controller may require reset requests
For instance the AHU controller may require reset requests
yielded by the zone equipment controller.
If the controller selected for the zone equipment does not
generate such requests, the simulation model will be singular.
Selecting controllers from the same reference&mdash;such as
ASHRAE (2018)&mdash;is the safest way
to ensure consistency across the whole HVAC system model.
ASHRAE (2021)&mdash;is the safest way
to ensure consistency across the whole HVAC system model.
</p>
<h4>References</h4>
<ul>
<li>
ASHRAE, 2018. Guideline 36-2018, High-Performance Sequences of Operation
ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation
for HVAC Systems. Atlanta, GA.
</li>
</ul>
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
within Buildings.Templates.ZoneEquipment.Components.Controls;
block G36VAVBoxCoolingOnly
"Guideline 36 controller for VAV terminal unit cooling only"
extends
Buildings.Templates.ZoneEquipment.Components.Controls.Interfaces.G36VAVBox(
final typ=Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxCoolingOnly);

annotation (
defaultComponentName="ctl",
Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
coordinateSystem(preserveAspectRatio=false)),
Documentation(info="<html>
<h4>Description</h4>
<p>
This is an implementation of the control sequence specified in
<a href=\"#ASHRAE2021\">ASHRAE (2021)</a>
for cooling-only VAV terminal units.
It contains the following components.
</p>
<ul>
<li>
<a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.Controller\">
Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.CoolingOnly.Controller</a>:
Main controller for the terminal unit
</li>
<li>
<a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.ThermalZones.Setpoints\">
Buildings.Controls.OBC.ASHRAE.G36.ThermalZones.Setpoints</a>:
Computation of the zone temperature set points
</li>
<li>
<a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.ZoneStatus\">
Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.ZoneStatus</a>:
Computation of the zone warm-up and cooldown time
</li>
</ul>
<h4>References</h4>
<ul>
<li id=\"ASHRAE2021\">
ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation
for HVAC Systems. Atlanta, GA.
</li>
</ul>
</html>"));
end G36VAVBoxCoolingOnly;
Original file line number Diff line number Diff line change
@@ -1,320 +1,18 @@
within Buildings.Templates.ZoneEquipment.Components.Controls;
block G36VAVBoxReheat
"Guideline 36 controller"
extends
Buildings.Templates.ZoneEquipment.Components.Controls.Interfaces.PartialVAVBoxController(
final typ=Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxReheat);
extends Buildings.Templates.ZoneEquipment.Components.Controls.Interfaces.G36VAVBox(
final typ=Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxReheat);

outer replaceable Buildings.Templates.Components.Coils.None coiHea
"Heating coil";

final parameter Boolean have_preIndDam=
damVAV.typ==Buildings.Templates.Components.Types.Damper.PressureIndependent
"Set to true is the VAV damper is pressure independent (with built-in flow controller)"
annotation (Evaluate=true, Dialog(group="Configuration"));

parameter Boolean have_occSen=false
"Set to true if the zone has occupancy sensor"
annotation (Evaluate=true, Dialog(group="Configuration"));

parameter Boolean have_winSen=false
"Set to true if the zone has window status sensor"
annotation (Evaluate=true, Dialog(group="Configuration"));

final parameter Boolean have_hotWatCoi=
coiHea.typ==Buildings.Templates.Components.Types.Coil.WaterBasedHeating
"Set to true if the system has hot water coil"
annotation (Evaluate=true, Dialog(group="Configuration"));

parameter Boolean have_typTerUni=false
"Set to true if the zone has typical terminal units and CO2 sensor"
annotation(Dialog(enable=have_CO2Sen and (not have_SZVAV and not have_parFanPowUni)));
parameter Boolean have_parFanPowUni=false
"Set to true if the zone has parallel fan-powered terminal unit and CO2 sensor"
annotation(Dialog(enable=have_CO2Sen and (not have_SZVAV and not have_typTerUni)));
parameter Boolean have_SZVAV=false
"Set to true if it is single zone VAV AHU system with CO2 sensor"
annotation(Dialog(enable=have_CO2Sen and (not have_parFanPowUni and not have_typTerUni)));

parameter Boolean permit_occStandby=true
"Set to true if occupied-standby mode is permitted"
annotation (Evaluate=true, Dialog(group="Configuration"));

parameter Boolean have_locAdj=true
"Set to true if the zone has local set point adjustment knob"
annotation (Evaluate=true, Dialog(group="Configuration"));

parameter Boolean sepAdj=true
"Set to true if cooling and heating set points can be adjusted separately"
annotation (Evaluate=true, Dialog(group="Configuration", enable=have_locAdj));

parameter Boolean ignDemLim = true
"Set to true to exempt the zone from demand limit set point adjustment"
annotation(Evaluate=true, Dialog(group="Configuration"));

final parameter Modelica.Units.SI.VolumeFlowRate VAirCooSet_flow_max=
dat.VAirCooSet_flow_max
"Zone maximum cooling airflow set point";

final parameter Modelica.Units.SI.VolumeFlowRate VAirSet_flow_min=
dat.VAirSet_flow_min
"Zone minimum airflow set point";

final parameter Modelica.Units.SI.VolumeFlowRate VAirHeaSet_flow_max=
dat.VAirHeaSet_flow_max
"Zone maximum heating airflow set point";

final parameter Modelica.Units.SI.VolumeFlowRate VAirHeaSet_flow_min=
dat.VAirHeaSet_flow_min
"Zone minimum heating airflow set point";

final parameter Modelica.Units.SI.TemperatureDifference dTAirDisHea_max(
displayUnit="K")=
dat.dTAirDisHea_max
"Zone maximum discharge air temperature above heating set point";

final parameter Modelica.Units.SI.VolumeFlowRate VOutMinOcc_flow(
final min=0,
start=1)=dat.VOutMinOcc_flow
"Zone minimum outdoor airflow for occupants"
annotation (Dialog(enable=
stdVen==Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.California_Title_24_2016));
final parameter Modelica.Units.SI.VolumeFlowRate VOutMinAre_flow(
final min=0,
start=1)=dat.VOutMinAre_flow
"Zone minimum outdoor airflow for building area"
annotation (Dialog(enable=
stdVen==Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.California_Title_24_2016));

final parameter Real VOutPerAre_flow(
final unit = "m3/(s.m2)")=
dat.VOutPerAre_flow
"Outdoor air flow rate per unit area"
annotation (Dialog(enable=
stdVen==Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1_2016));

final parameter Real VOutPerOcc_flow(
final unit = "m3/s")=
dat.VOutPerOcc_flow
"Outdoor air flow rate per occupant"
annotation (Dialog(enable=
stdVen==Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1_2016));

final parameter Modelica.Units.SI.Area AFlo=
dat.AFlo
"Zone floor area"
annotation (Dialog(enable=
stdVen==Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1_2016));

final parameter Real nOcc_nominal(
final unit="1",
final min=0,
start=0.05*AFlo)=dat.nOcc_nominal
"Design zone population"
annotation (Dialog(enable=
stdVen==Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1_2016));

final parameter Real effAirDisHea=
dat.effAirDisHea
"Zone air distribution effectiveness during heating";

final parameter Real effAirDisCoo=
dat.effAirDisCoo
"Zone air distribution effectiveness during cooling";

// FIXME #1913: should be inputs such as in Buildings.Controls.OBC.ASHRAE.G36.ThermalZones.Setpoints
final parameter Modelica.Units.SI.Temperature TZonHeaOccSet(
displayUnit="degC")=
dat.TZonHeaOccSet
"Zone occupied heating set point";

final parameter Modelica.Units.SI.Temperature TZonHeaUnoSet(
displayUnit="degC")=
dat.TZonHeaUnoSet
"Zone unoccupied heating set point";

final parameter Modelica.Units.SI.Temperature TZonCooOccSet(
displayUnit="degC")=
dat.TZonCooOccSet
"Zone occupied cooling set point";

final parameter Modelica.Units.SI.Temperature TZonCooUnoSet(
displayUnit="degC")=
dat.TZonCooUnoSet
"Zone unoccupied cooling set point";

Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.Reheat.Controller ctl(
final venSta=stdVen,
final have_winSen=have_winSen,
final have_occSen=have_occSen,
final have_CO2Sen=have_CO2Sen,
final have_hotWatCoi=have_hotWatCoi,
final permit_occStandby=permit_occStandby,
final VOccMin_flow=VOutMinOcc_flow,
final VAreMin_flow=VOutMinAre_flow,
final AFlo=AFlo,
final desZonPop=nOcc_nominal,
final outAirRat_area=VOutPerAre_flow,
final outAirRat_occupant=VOutPerOcc_flow,
final have_preIndDam=have_preIndDam,
final VMin_flow=VAirSet_flow_min,
final VCooMax_flow=VAirCooSet_flow_max,
final VHeaMin_flow=VAirHeaSet_flow_min,
final VHeaMax_flow=VAirHeaSet_flow_max,
final dTDisZonSetMax=dTAirDisHea_max,
final zonDisEff_cool=effAirDisCoo,
final zonDisEff_heat=effAirDisHea)
"Terminal unit controller"
annotation (Placement(transformation(extent={{0,-20},{20,20}})));

Buildings.Controls.OBC.ASHRAE.G36.ThermalZones.Setpoints TZonSet(
final have_occSen=have_occSen,
final have_winSen=have_winSen,
final have_locAdj=have_locAdj,
final sepAdj=sepAdj,
final ignDemLim=ignDemLim)
"Compute zone temperature set points"
annotation (Placement(transformation(extent={{-60,-20},{-40,20}})));

// FIXME #1913: occDen should not be exposed.

Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.ZoneStatus zonSta(
final have_winSen=have_winSen)
"Evaluate zone temperature status"
annotation (Placement(transformation(extent={{-10,-120},{10,-92}})));

Buildings.Controls.OBC.CDL.Continuous.Sources.Constant FIXME_cooDowWarUpTim(k=1800)
"FIXME #1913: Optimal start using global outdoor air temperature not associated with any AHU"
annotation (Placement(transformation(extent={{-240,-150},{-220,-130}})));
Modelica.Blocks.Routing.RealPassThrough FIXME_uVal_actual
"FIXME #1913: Not an AI point. Anyway should be conditional, depending on have_hotWatCoi"
annotation (Placement(transformation(extent={{-240,-90},{-220,-70}})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant setAdj(k=0)
"RFE: Set point adjustment by the occupant is not implemented in the template"
annotation (Placement(transformation(extent={{-160,170},{-140,190}})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant cooSetAdj(k=0)
"RFE: Set point adjustment by the occupant is not implemented in the template"
annotation (Placement(transformation(extent={{-160,130},{-140,150}})));
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant heaSetAdj(k=0)
"RFE: Set point adjustment by the occupant is not implemented in the template"
annotation (Placement(transformation(extent={{-160,90},{-140,110}})));
Buildings.Controls.OBC.CDL.Integers.Sources.Constant uCooDemLimLev(k=0)
"RFE: Set point adjustment by demand limit is not implemented in the template"
annotation (Placement(transformation(extent={{-120,170},{-100,190}})));
Buildings.Controls.OBC.CDL.Integers.Sources.Constant uHeaDemLimLev(k=0)
"RFE: Set point adjustment by demand limit is not implemented in the template"
annotation (Placement(transformation(extent={{-120,130},{-100,150}})));
Modelica.Blocks.Routing.RealPassThrough FIXME_uDam_actual
"FIXME #1913: Not an AI point"
annotation (Placement(transformation(extent={{-238,-50},{-218,-30}})));
equation
/* Control point connection - start */

// Inputs from bus
connect(bus.TZon, ctl.TZon);
connect(bus.y1Win, ctl.u1Win);
connect(bus.y1Occ, ctl.u1Occ);
connect(bus.ppmCO2, ctl.ppmCO2);
connect(bus.ppmCO2Set, ctl.ppmCO2Set);
connect(bus.yOpeMod, ctl.uOpeMod);
connect(bus.TAirDis, ctl.TDis);
connect(bus.VAirDis_flow, ctl.VDis_flow);
connect(bus.TAirSup, ctl.TSup);
connect(bus.TAirSupSet, ctl.TSupSet);
connect(bus.damVAV.y_actual, FIXME_uDam_actual.u);
connect(bus.coiHea.y_actual, FIXME_uVal_actual.u);
connect(bus.y1FanSup_actual, ctl.u1Fan);
connect(bus.ppmCO2, ctl.ppmCO2);
connect(bus.y1PlaHeaWat, ctl.u1HotPla);
connect(bus.yOveFloSet, ctl.oveFloSet);
connect(bus.yOveDamPos, ctl.oveDamPos);
connect(bus.y1OveHeaOff, ctl.uHeaOff);

connect(bus.y1Occ, TZonSet.u1Occ);
connect(bus.y1Win, TZonSet.u1Win);

// FIXME: add point to bus
connect(bus.ppmCO2Set, ctl.ppmCO2Set);

connect(bus.y1Win, zonSta.u1Win);
connect(bus.TZon, zonSta.TZon);
connect(bus.TZonCooOccSet, zonSta.TOccCooSet);
connect(bus.TZonCooUnoSet, zonSta.TUnoCooSet);
connect(bus.TZonHeaOccSet, zonSta.TOccHeaSet);
connect(bus.TZonHeaUnoSet, zonSta.TUnoHeaSet);

connect(bus.yOpeMod, TZonSet.uOpeMod);
connect(bus.dTSetAdj, TZonSet.setAdj);
connect(bus.dTHeaSetAdj, TZonSet.heaSetAdj);
connect(bus.uCooDemLimLev, TZonSet.uCooDemLimLev);
connect(bus.uHeaDemLimLev, TZonSet.uHeaDemLimLev);
connect(bus.TZonCooOccSet, TZonSet.TOccCooSet);
connect(bus.TZonCooUnoSet, TZonSet.TUnoCooSet);
connect(bus.TZonHeaOccSet, TZonSet.TOccHeaSet);
connect(bus.TZonHeaUnoSet, TZonSet.TUnoHeaSet);

// Outputs to bus
connect(ctl.yDam, bus.damVAV.y);
connect(ctl.yVal, bus.coiHea.y);
connect(ctl.VAdjPopBreZon_flow, bus.VAdjPopBreZon_flow);
connect(ctl.VAdjAreBreZon_flow, bus.VAdjAreBreZon_flow);
connect(ctl.VMinOA_flow, bus.VMinOA_flow);
connect(ctl.VZonAbsMin_flow, bus.VZonAbsMin_flow);
connect(ctl.VZonDesMin_flow, bus.VZonDesMin_flow);
connect(ctl.yCO2, bus.yCO2);

connect(ctl.yZonTemResReq, bus.yReqZonTemRes);
connect(ctl.yZonPreResReq, bus.yReqZonPreRes);

connect(zonSta.yCooTim, bus.yCooTim);
connect(zonSta.yWarTim, bus.yWarTim);
connect(zonSta.THeaSetOn, bus.THeaSetOn);
connect(zonSta.yOccHeaHig, bus.yOccHeaHig);
connect(zonSta.TCooSetOn, bus.TCooSetOn);
connect(zonSta.yHigOccCoo, bus.yHigOccCoo);
connect(zonSta.THeaSetOff, bus.THeaSetOff);
connect(zonSta.yUnoHeaHig, bus.yUnoHeaHig);
connect(zonSta.yEndSetBac, bus.yEndSetBac);
connect(zonSta.TCooSetOff, bus.TCooSetOff);
connect(zonSta.yHigUnoCoo, bus.yHigUnoCoo);
connect(zonSta.yEndSetUp, bus.yEndSetUp);

// FIXME
connect(FIXME_cooDowWarUpTim.y, zonSta.cooDowTim);
connect(FIXME_cooDowWarUpTim.y, zonSta.warUpTim);

/* Control point connection - end */

connect(TZonSet.TCooSet, ctl.TCooSet)
annotation (Line(points={{-38,8},{
-22,8},{-22,17},{-2,17}}, color={0,0,127}));
connect(TZonSet.THeaSet, ctl.THeaSet)
annotation (Line(points={{-38,0},{
-20,0},{-20,15},{-2,15}}, color={0,0,127}));
connect(FIXME_uVal_actual.y, ctl.uVal_actual) annotation (Line(points={{-219,-80},
{-12,-80},{-12,-14},{-2,-14}},
color={0,0,127}));
connect(uCooDemLimLev.y, TZonSet.uCooDemLimLev) annotation (Line(points={{-98,
180},{-70,180},{-70,-8},{-62,-8}}, color={255,127,0}));
connect(uHeaDemLimLev.y, TZonSet.uHeaDemLimLev) annotation (Line(points={{-98,
140},{-74,140},{-74,-11},{-62,-11}}, color={255,127,0}));
connect(cooSetAdj.y, TZonSet.cooSetAdj) annotation (Line(points={{-138,140},{-134,
140},{-134,-2},{-62,-2}}, color={0,0,127}));
connect(heaSetAdj.y, TZonSet.heaSetAdj) annotation (Line(points={{-138,100},{-136,
100},{-136,-4},{-62,-4}}, color={0,0,127}));
connect(setAdj.y, TZonSet.setAdj) annotation (Line(points={{-138,180},{-132,180},
{-132,0},{-62,0}}, color={0,0,127}));
connect(FIXME_uDam_actual.y, ctl.uDam_actual) annotation (Line(points={{-217,-40},
{-14,-40},{-14,-12},{-2,-12}}, color={0,0,127}));
annotation (
defaultComponentName="conTer",
defaultComponentName="ctl",
Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
coordinateSystem(preserveAspectRatio=false)),
Documentation(info="<html>
<h4>Description</h4>
<p>
This is an implementation of the control sequence specified in
<a href=\"#ASHRAE2018\">ASHRAE (2018)</a>
<a href=\"#ASHRAE2021\">ASHRAE (2021)</a>
for VAV terminal units with reheat.
It contains the following components.
</p>
@@ -330,20 +28,15 @@ Buildings.Controls.OBC.ASHRAE.G36.ThermalZones.Setpoints</a>:
Computation of the zone temperature set points
</li>
<li>
<a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.OutdoorAirFlow.Zone\">
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.OutdoorAirFlow.Zone</a>:
Computation of the zone minimum outdoor air and minimum airflow set points
</li>
<li>
<a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.ZoneStatus\">
Buildings.Controls.OBC.ASHRAE.G36.ZoneGroups.ZoneStatus</a>:
Computation of the zone warm-up and cooldown time
</li>
</ul>
<h4>References</h4>
<ul>
<li id=\"ASHRAE2018\">
ASHRAE, 2018. Guideline 36-2018, High-Performance Sequences of Operation
<li id=\"ASHRAE2021\">
ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation
for HVAC Systems. Atlanta, GA.
</li>
</ul>

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -20,6 +20,9 @@ partial block PartialVAVBoxController "Interface class for VAV terminal unit"
outer replaceable Buildings.Templates.Components.Dampers.PressureIndependent damVAV
"VAV damper";

outer replaceable Buildings.Templates.Components.Coils.None coiHea
"Heating coil";

initial equation
if typ==Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxCoolingOnly or
typ==Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxReheat then
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
G36VAVBox
PartialController
PartialVAVBoxController
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ equation
connect(yCoiHea.y, bus.coiHea.y);
/* Control point connection - end */
annotation (
defaultComponentName="conTer", Documentation(info="<html>
defaultComponentName="ctl", Documentation(info="<html>
<p>
This is an open loop controller providing control inputs
for the templates within
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
G36VAVBoxCoolingOnly
G36VAVBoxReheat
OpenLoop
Interfaces
3 changes: 2 additions & 1 deletion Buildings/Templates/ZoneEquipment/Interfaces/VAVBox.mo
Original file line number Diff line number Diff line change
@@ -68,7 +68,8 @@ model VAVBox "Interface class for VAV terminal unit"

Buildings.Templates.Components.Sensors.Temperature TAirDis(
redeclare final package Medium = MediumAir,
final have_sen=ctl.typ==Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxReheat,
final have_sen=ctl.typ==Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxReheat or
ctl.typ==Buildings.Templates.ZoneEquipment.Types.Controller.G36VAVBoxCoolingOnly,
final m_flow_nominal=mAir_flow_nominal,
final typ=Buildings.Templates.Components.Types.SensorTemperature.Standard)
"Discharge air temperature sensor"
8 changes: 4 additions & 4 deletions Buildings/Templates/ZoneEquipment/VAVBoxCoolingOnly.mo
Original file line number Diff line number Diff line change
@@ -14,8 +14,8 @@ This template represents a cooling-only VAV terminal unit
</p>
<p>
The possible equipment configurations are enumerated in the table below.
The user may refer to
<a href=\"#ASHRAE2018\">ASHRAE (2018)</a>
The user may refer to
<a href=\"#ASHRAE2021\">ASHRAE (2021)</a>
for further details.
The first option displayed in bold characters corresponds to the default configuration.<br/>
</p>
@@ -37,8 +37,8 @@ ASHRAE Guideline 36 controller
</table>
<h4>References</h4>
<ul>
<li id=\"ASHRAE2018\">
ASHRAE, 2018. Guideline 36-2018, High-Performance Sequences of Operation
<li id=\"ASHRAE2021\">
ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation
for HVAC Systems. Atlanta, GA.
</li>
</ul>
6 changes: 3 additions & 3 deletions Buildings/Templates/ZoneEquipment/VAVBoxReheat.mo
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ This template represents a VAV terminal unit with reheat.
<p>
The possible equipment configurations are enumerated in the table below.
The user may refer to
<a href=\"#ASHRAE2018\">ASHRAE (2018)</a>
<a href=\"#ASHRAE2021\">ASHRAE (2021)</a>
for further details.
The first option displayed in bold characters corresponds to the default configuration.<br/>
</p>
@@ -45,8 +45,8 @@ ASHRAE Guideline 36 controller
</table>
<h4>References</h4>
<ul>
<li id=\"ASHRAE2018\">
ASHRAE, 2018. Guideline 36-2018, High-Performance Sequences of Operation
<li id=\"ASHRAE2021\">
ASHRAE, 2021. Guideline 36-2021, High-Performance Sequences of Operation
for HVAC Systems. Atlanta, GA.
</li>
</ul>
Original file line number Diff line number Diff line change
@@ -43,6 +43,10 @@ block BASControlPoints "Emulation of control points from the BAS"
each k=303.15)
"Unoccupied cooling set point"
annotation (Placement(transformation(extent={{-100,-70},{-80,-50}})));
Controls.OBC.CDL.Continuous.Sources.Constant ppmCO2Set[nZon](
each k=1000)
"Zone CO2 concentration set point"
annotation (Placement(transformation(extent={{-100,-110},{-80,-90}})));
equation
connect(y1OccSch.y, busTer.y1OccSch);
connect(yOveFloSet.y, busTer.yOveFloSet);
@@ -53,7 +57,7 @@ equation
connect(TZonCooOccSet.y, busTer.TZonCooOccSet);
connect(TZonHeaUnoSet.y, busTer.TZonHeaUnoSet);
connect(TZonCooUnoSet.y, busTer.TZonCooUnoSet);

connect(ppmCO2Set.y, busTer.ppmCO2Set);
annotation (
defaultComponentName="sigBAS",
Diagram(coordinateSystem(preserveAspectRatio=
Original file line number Diff line number Diff line change
@@ -15,21 +15,26 @@ block ZoneControlPoints "Emulation of control points from zone sensors and therm

Buildings.Controls.OBC.CDL.Logical.Sources.Constant y1Occ(k=true)
"Occupancy sensor status"
annotation (Placement(transformation(extent={{-80,10},{-60,30}})));
annotation (Placement(transformation(extent={{-60,-10},{-40,10}})));
Controls.OBC.CDL.Logical.Sources.Constant y1Win(k=true)
"Window switch status"
annotation (Placement(transformation(extent={{-80,-30},{-60,-10}})));
annotation (Placement(transformation(extent={{-60,-50},{-40,-30}})));
Controls.OBC.CDL.Continuous.Sources.Constant TZon(k=303.15)
"Zone temperature"
annotation (Placement(transformation(extent={{-140,-90},{-120,-70}})));
annotation (Placement(transformation(extent={{-120,-10},{-100,10}})));
Controls.OBC.CDL.Logical.Sources.Constant y1OveOccZon(
k=false)
"Zone occupancy override"
annotation (Placement(transformation(extent={{-10,-10},{10,10}})));
annotation (Placement(transformation(extent={{0,-10},{20,10}})));
Controls.OBC.CDL.Continuous.Sources.Constant ppmCO2(k=1000)
"Zone CO2 concentration"
annotation (Placement(transformation(extent={{-120,-50},{-100,-30}})));

equation
connect(y1Occ.y, bus.y1Occ);
connect(y1Win.y, bus.y1Win);
connect(TZon.y, bus.TZon);
connect(ppmCO2.y, bus.ppmCO2);
connect(y1OveOccZon.y, bus.y1OveOccZon);

annotation (
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
within Buildings.Templates.ZoneEquipment.Validation.UserProject.ZoneEquipment;
model VAVBoxCoolingOnlyControlG36
"Configuration of VAV terminal unit cooling only"
extends Buildings.Templates.ZoneEquipment.VAVBoxCoolingOnly(
redeclare replaceable
Buildings.Templates.ZoneEquipment.Components.Controls.G36VAVBoxCoolingOnly ctl(
stdVen=Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1_2016));

annotation (
defaultComponentName="ter",
Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
coordinateSystem(preserveAspectRatio=false)),
Documentation(info="<html>
<p>
This is a configuration model with the same default options as
<a href=\"modelica://Buildings.Templates.ZoneEquipment.VAVBoxReheat\">
Buildings.Templates.ZoneEquipment.VAVBoxReheat</a>
except for the following options.<br/>
</p>
<table summary=\"summary\" border=\"1\">
<tr><th>Component</th><th>Configuration</th></tr>
<tr><td>Controller</td><td>Guideline 36 controller</td></tr>
</table>
</html>"));
end VAVBoxCoolingOnlyControlG36;
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
within Buildings.Templates.ZoneEquipment.Validation.UserProject.ZoneEquipment;
model VAVBoxReheat "Configuration of VAV terminal unit with reheat"
extends Buildings.Templates.ZoneEquipment.VAVBoxReheat(
redeclare replaceable
Buildings.Templates.Components.Coils.WaterBasedHeating coiHea(
redeclare replaceable
Buildings.Templates.Components.Valves.TwoWayModulating val));
extends Buildings.Templates.ZoneEquipment.VAVBoxReheat;
annotation (
defaultComponentName="ter",
Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
Original file line number Diff line number Diff line change
@@ -2,10 +2,8 @@ within Buildings.Templates.ZoneEquipment.Validation.UserProject.ZoneEquipment;
model VAVBoxReheatControlG36 "Configuration of VAV terminal unit with reheat"
extends Buildings.Templates.ZoneEquipment.VAVBoxReheat(
redeclare replaceable
Buildings.Templates.Components.Coils.WaterBasedHeating coiHea(redeclare replaceable
Buildings.Templates.Components.Valves.TwoWayModulating val),
redeclare replaceable
Buildings.Templates.ZoneEquipment.Components.Controls.G36VAVBoxReheat ctl);
Buildings.Templates.ZoneEquipment.Components.Controls.G36VAVBoxReheat ctl(
stdVen=Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1_2016));

annotation (
defaultComponentName="ter",
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
VAVBoxCoolingOnly
VAVBoxCoolingOnlyControlG36
VAVBoxReheat
VAVBoxReheatControlG36
Original file line number Diff line number Diff line change
@@ -25,6 +25,7 @@ model VAVBoxCoolingOnly "Validation model for VAV terminal unit cooling only"
annotation (Placement(transformation(extent={{0,52},{20,72}})));

Fluid.Sources.Boundary_pT bouPri(redeclare final package Medium = MediumAir,
p=MediumAir.p_default + 200,
nPorts=1) "Boundary conditions for primary air distribution system"
annotation (Placement(transformation(extent={{-80,-50},{-60,-30}})));
Fluid.FixedResistances.PressureDrop res(
@@ -86,7 +87,7 @@ equation
connect(VAVBox_1.port_bHeaWat, bouHeaWat.ports[2])
annotation (Line(points={{-5,-60},{-5,-79},{-60,-79}}, color={0,127,255}));
connect(sigZon.bus, VAVBox_1.bus) annotation (Line(
points={{-60,0},{-40,0},{-40,-24},{-19.9,-24}},
points={{-60,0},{-20,0},{-20,-24},{-19.9,-24}},
color={255,204,51},
thickness=0.5));
connect(sigAirHan.busTer[1], VAVBox_1.bus) annotation (Line(
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
within Buildings.Templates.ZoneEquipment.Validation;
model VAVBoxCoolingOnlyControlG36
"Validation model for VAV terminal unit cooling only"
extends VAVBoxCoolingOnly(
redeclare UserProject.ZoneEquipment.VAVBoxCoolingOnlyControlG36 VAVBox_1);
annotation (
experiment(Tolerance=1e-6, StopTime=1), Documentation(info="<html>
<p>
This is a validation model for the configuration represented by
<a href=\"modelica://Buildings.Templates.ZoneEquipment.Validation.UserProject.ZoneEquipment.VAVBoxCoolingOnlyControlG36\">
Buildings.Templates.ZoneEquipment.Validation.UserProject.ZoneEquipment.VAVBoxCoolingOnlyControlG36</a>
</p>
</html>"));
end VAVBoxCoolingOnlyControlG36;
4 changes: 2 additions & 2 deletions Buildings/Templates/ZoneEquipment/Validation/VAVBoxReheat.mo
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
within Buildings.Templates.ZoneEquipment.Validation;
model VAVBoxReheat "Validation model for VAV terminal unit with reheat"
extends VAVBoxCoolingOnly(redeclare UserProject.ZoneEquipment.VAVBoxReheat
VAVBox_1);
extends VAVBoxCoolingOnly(
redeclare UserProject.ZoneEquipment.VAVBoxReheat VAVBox_1);
annotation (
experiment(Tolerance=1e-6, StopTime=1), Documentation(info="<html>
<p>
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
within Buildings.Templates.ZoneEquipment.Validation;
model VAVBoxReheatControlG36 "Validation model for VAV terminal unit with reheat"
extends VAVBoxCoolingOnly(redeclare
UserProject.ZoneEquipment.VAVBoxReheatControlG36 VAVBox_1(redeclare replaceable
Buildings.Templates.ZoneEquipment.Components.Controls.G36VAVBoxReheat
ctl(stdVen=Buildings.Controls.OBC.ASHRAE.G36.Types.VentilationStandard.ASHRAE62_1_2016)),
bouPri(p=MediumAir.p_default + 200));
extends VAVBoxCoolingOnly(
redeclare UserProject.ZoneEquipment.VAVBoxReheatControlG36 VAVBox_1);
annotation (
experiment(Tolerance=1e-6, StopTime=1), Documentation(info="<html>
<p>
1 change: 1 addition & 0 deletions Buildings/Templates/ZoneEquipment/Validation/package.order
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
VAVBoxCoolingOnly
VAVBoxCoolingOnlyControlG36
VAVBoxReheat
VAVBoxReheatControlG36
UserProject