Skip to content

Commit

Permalink
merged master [ci skip]
Browse files Browse the repository at this point in the history
  • Loading branch information
JayHuLBL committed Apr 12, 2024
2 parents 438b2df + c0bf654 commit 5343321
Show file tree
Hide file tree
Showing 68 changed files with 14,432 additions and 14,271 deletions.
6 changes: 4 additions & 2 deletions .github/workflows/formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
run: pip3 install --upgrade pip wheel

- name: "Install BuildingsPy"
run: pip3 install git+https://github.com/lbl-srg/BuildingsPy@50ac74d8e4fd067179bb38bc23140c2c9254c94c
run: pip3 install git+https://github.com/lbl-srg/BuildingsPy@v5.1.0

- name: Check for UTF-8 BOM
run : |
Expand All @@ -55,9 +55,11 @@ jobs:
- name: "Test experiment setup"
run : ../bin/runUnitTests.py --validate-experiment-setup

- name: "Test if package.order are correct"
- name: "Test if package.order are correct, and revert order in UsersGuide"
run : |
python -c 'import buildingspy.development.refactor as r; r.write_package_order(".", recursive=True)'
git checkout UsersGuide/ReleaseNotes/package.order
git checkout UsersGuide/package.order
git diff --exit-code .
- name: "Verify files for invalid strings"
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ services:
env:
global:
- DOCKER_REPONAME=lbnlblum
- BUILDINGSPY_VERSION=BuildingsPy@v5.0.0
- BUILDINGSPY_VERSION=BuildingsPy@v5.1.0
- OMC_VERSION=ubuntu-2204-omc:1.22.1-1
- OPTIMICA_VERSION=travis-ubuntu-2204-optimica:1.48.2
- DYMOLA_VERSION=travis_ubuntu-2004_dymola:2024x-x86_64
Expand Down
148 changes: 148 additions & 0 deletions Buildings/UsersGuide/Acknowledgements.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
within Buildings.UsersGuide;
class Acknowledgements "Acknowledgements"
extends Modelica.Icons.Information;
annotation (preferredView="info",
Documentation(info="<html>
<h4><font color=\"#008000\" size=\"5\">Acknowledgements</font></h4>
<p>
The development of this library was supported by:
</p>
<ul>
<li>The U.S. Department of Energy, Assistant Secretary for
Energy Efficiency and Renewable Energy,
<ul>
<li>
Office of Building
Technologies, under Contracts Number DE-AC02-05CH11231 and DE-EE0007688,
</li>
<li>
Advanced Manufacturing Office, under Award Number DE-EE0009139, and
</li>
<li>
Geothermal Technologies Office, under Award Number DE-AC02-05CH11231.
</li>
</ul>
</li>
<li>
The California Energy Commission, Public Interest Energy Research Program, Buildings End Use Energy Efficiency Program, Award Number 500-10-052.
</li>
</ul>
<p>
The core of this library is the Modelica IBPSA library,
a free open-source library with basic models that codify best practices for
the implementation of models for building and community energy and control systems.
The development of the IBPSA library is organized through the
<a href=\"https://ibpsa.github.io/project1\">IBPSA Project 1</a>
of the International Building Performance Simulation Association (IBPSA).
From 2012 to 2017, the development was organized through the
<a href=\"http://www.iea-annex60.org\">Annex 60 project</a>
of the Energy in Buildings and Communities Programme of the International Energy Agency (IEA EBC).
</p>
<p>
The <a href=\"modelica://Buildings.Airflow.Multizone\">package for multizone airflow modeling</a>
and the <a href=\"modelica://Buildings.Utilities.Comfort.Fanger\">model for thermal comfort</a>
was contributed by the United Technologies Research Center, which also contributed to the
validation of the <a href=\"modelica://Buildings.ThermalZones.Detailed.MixedAir\">room heat transfer model</a>.
</p>
<p>
We thank Dietmar Winkler from Telemark University College for the various feedback that
helped improve the organization and structure of the library.
</p>
<p>
The following people have directly contributed to the implementation of the Buildings library
(many others have contributed by other means than model implementation):
</p>
<ul>
<li>Saranya Anbarasu, Pennsylvania State University, USA
</li>
<li>David Blum, Lawrence Berkeley National Laboratory, USA
</li>
<li>Marco Bonvini, Lawrence Berkeley National Laboratory, USA
</li>
<li>Felix B&uuml;nning, RWTH Aachen, Germany
</li>
<li>Guokai Chen, University College London, UK
</li>
<li>Massimo Cimmino, Polytechnique Montr&eacute;al, Canada
</li>
<li>Rainer Czetina, University of Applied Sciences Technikum Wien, Austria
</li>
<li>Karthikeya Devaprasad, Pacific Northwest National Laboratory, USA
</li>
<li>Hagar Elarga, Lawrence Berkeley National Laboratory, USA
</li>
<li>Hongxiang \"Casper\" Fu, Lawrence Berkeley National Laboratory, USA
</li>
<li>Yangyang Fu, University of Colorado Boulder, Colorado, USA
</li>
<li>Antoine Gautier, Lawrence Berkeley National Laboratory, USA
</li>
<li>Sebastian Giglmayr, University of Applied Sciences Technikum Wien, Austria
</li>
<li>Milica Grahovac, Lawrence Berkeley National Laboratory, USA
</li>
<li>Peter Grant, Lawrence Berkeley National Laboratory, USA
</li>
<li>Brandon M. Hencey, Cornell University, USA
</li>
<li>Sen Huang, Pacific Northwest National Laboratory, USA
</li>
<li>Kathryn Hinkelman, University of Colorado Boulder, Colorado, USA
</li>
<li>Jianjun Hu, Lawrence Berkeley National Laboratory, USA
</li>
<li>Roman Ilk, University of Applied Sciences Technikum Wien, Austria
</li>
<li>Dan Li, University of Miami, Florida, USA
</li>
<li>Filip Jorissen, KU Leuven, Belgium
</li>
<li>Thierry S. Nouidui, Lawrence Berkeley National Laboratory, USA
</li>
<li>Markus Nurschinger, University of Applied Sciences Technikum Wien, Austria
</li>
<li>Xiufeng Pang, Lawrence Berkeley National Laboratory, USA
</li>
<li>Remi Patureau, Lawrence Berkeley National Laboratory, USA
</li>
<li>Damien Picard, KU Leuven, Belgium
</li>
<li>Kaustubh Phalak, Lawrence Berkeley National Laboratory, USA
</li>
<li>Thomas Sevilla, University of Miami, Florida, USA
</li>
<li>Chengnan Shi, University of Colorado Boulder, Colorado, USA
</li>
<li>Martin Sj&ouml;lund, Link&ouml;ping University, Sweden
</li>
<li>Matthis Thorade, Berlin University of the Arts, Germany
</li>
<li>Wei Tian, University of Miami, Florida, USA
</li>
<li>Armin Teskeredzic, Mechanical Engineering Faculty Sarajevo and GIZ, Bosnia and Herzegovina
</li>
<li>Rafael Velazquez, University of Seville, Spain
</li>
<li>Pierre Vigouroux, Institut National des Sciences Appliquees, France
</li>
<li>Sebastian Vock, University of Applied Sciences Technikum Wien, Austria
</li>
<li>Vladimir Vukovic, Austrian Institute of Technology, Austria
</li>
<li>Jing Wang, University of Colorado Boulder, Colorado, USA
</li>
<li>Michael Wetter, Lawrence Berkeley National Laboratory, USA
</li>
<li>Tea Zakula, University of Zagreb, Croatia
</li>
<li>Ettore Zanetti, Politecnico di Milano, Italy
</li>
<li>Rebecca Zarin Pass, Lawrence Berkeley National Laboratory, USA
</li>
<li>Kun Zhang, Lawrence Berkeley National Laboratory, USA
</li>
<li>Wangda Zuo, University of Colorado Boulder, Colorado, USA
</li>
</ul>
</html>"));
end Acknowledgements;
18 changes: 18 additions & 0 deletions Buildings/UsersGuide/Contact.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
within Buildings.UsersGuide;
class Contact "Contact"
extends Modelica.Icons.Contact;
annotation (preferredView="info",
Documentation(info="<html>
<h4><font color=\"#008000\" size=\"5\">Contact</font></h4>
<p>
The development of the Buildings library is organized by<br/>
<a href=\"http://simulationresearch.lbl.gov/wetter\">Michael Wetter</a><br/>
Lawrence Berkeley National Laboratory (LBNL)<br/>
One Cyclotron Road<br/>
Bldg. 90-3147<br/>
Berkeley, CA 94720<br/>
USA<br/>
email: <a href=\"mailto:[email protected]\">[email protected]</a><br/>
</p>
</html>"));
end Contact;
197 changes: 197 additions & 0 deletions Buildings/UsersGuide/Conventions.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
within Buildings.UsersGuide;
class Conventions "Conventions"
extends Modelica.Icons.Information;
annotation (preferredView="info",
Documentation(info="<html>
<p>
The <code>Buildings</code> library uses the following conventions,
which largely are based on the conventions of the Modelica Standard Library.
</p>
<h4>Package structure</h4>
<p>
Packages have usually the following subpackages:
</p>
<ul>
<li>
<code>UsersGuide</code> containing an overall description of the library
and how to use it.
</li>
<li>
<code>Examples</code> containing models demonstrating the
usage of the library.
</li>
<li>
<code>Validation</code> containing typically small models that validate a certain
behavior of a model.
</li>
<li>
<code>Interfaces</code> containing connectors and partial models.
</li>
<li>
<code>Types</code> containing type, enumeration and choice definitions.
</li>
</ul>
<h4>Naming</h4>
<ol>
<li>
Class names of models, blocks and packages should start with an upper-case letter and be a
noun or a noun with a combination of adjectives and nouns.
Use camel-case notation to combine multiple words, such as <code>HeatTransfer</code>.
Don't repeat higher level package names, for example, rather than <code>Chillers.CarnotChiller</code>,
use <code>Chillers.Carnot</code>.
</li>
<li>
Instance names should be a combination of the first three
characters of a word, such as <code>preDro</code> for pressure drop model.
Where applicable, a single character can be used if this is generally understood, such
as <code>T</code> for temperature, <code>p</code> for pressure, <code>u</code> for control input
and <code>y</code> for control output signal. As needed, these can be augmented, for example
a controller that outputs a control signal for a valve and a damper may output <code>yVal</code>
and <code>yDam</code>.
</li>
<li>
The following variables are frequently used for physical quantities:
<ul>
<li><code>T</code> for temperature,</li>
<li><code>p</code> for pressure,</li>
<li><code>dp</code> for pressure difference,</li>
<li><code>P</code> for power,</li>
<li><code>E</code> for energy (or <code>Q</code> for thermal energy),</li>
<li><code>X</code> for mass fraction,</li>
<li><code>Q_flow</code> for heat flow rate</li>
<li><code>m_flow</code> for mass flow rate and</li>
<li><code>H_flow</code> for enthalpy flow rate.</li>
</ul>
</li>
<li>
The nomenclature used in the package
<a href=\"modelica://Buildings.Utilities.Psychrometrics\">
Buildings.Utilities.Psychrometrics</a>
is as follows,
<ul>
<li>
Uppercase <code>X</code> denotes mass fraction per total mass.
</li>
<li>
Lowercase <code>x</code> denotes mass fraction per mass of dry air.
</li>
<li>
The notation <code>z_xy</code> denotes that the function or block has output
<code>z</code> and inputs <code>x</code> and <code>y</code>.
</li>
<li>
The symbol <code>pW</code> denotes water vapor pressure, <code>TDewPoi</code>
denotes dew point temperature, <code>TWetBul</code> denotes wet bulb temperature,
and <code>TDryBul</code> (or simply <code>T</code>) denotes dry bulb temperature.
</li>
</ul>
</li>
<li>
Control input signals usually start with <code>u</code> and control output signals usually start with <code>y</code>,
unless use of the physical quantity is clearer.
</li>
<li>
The following strings are frequently used:
<ul>
<li>
Prefix <code>use_</code> for conditionally enabled input signals, such as <code>use_T_in</code>
for enabling an input connector for temperature in
<a href=\"modelica://Buildings.Fluid.Sources.Boundary_pT\">Buildings.Fluid.Sources.Boundary_pT</a>,
or as <code>use_enthalpy</code> in
<a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Enable\">
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Economizers.Subsequences.Enable</a>
to flag if it should evaluate outdoor air enthalpy in addition to temperature.
</li>
<li>
Prefix <code>have_</code> if a controller has a certain input, such as <code>have_CO2Sen</code>
in <a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.Reheat.Controller\">
Buildings.Controls.OBC.ASHRAE.G36.TerminalUnits.Reheat.Controller</a> if the zone has a CO<sub>2</sub> sensor.
</li>
<li>
Suffix <code>_flow</code> for a flow variable, such as <code>Q_flow</code>, <code>m_flow</code>
and <code>V_flow</code>.
See <a href=\"modelica://Buildings.Fluid.Sensors.VolumeFlowRate\">
Buildings.Fluid.Sensors.VolumeFlowRate</a>.
</li>
<li>
Suffix <code>_nominal</code> for the design or nominal capacity, i.e., <code>Q_flow_nominal</code> is the
capacity of a device that it has at full load, and <code>m_flow_nominal</code> is the design mass flow rate.
See <a href=\"modelica://Buildings.Fluid.HeatExchangers.HeaterCooler_u\">
Buildings.Fluid.HeatExchangers.HeaterCooler_u</a>.
</li>
<li>
Suffix <code>_small</code> for a small value which is typically used for regularization (to ensure
a numerically robust implementation).
</li>
<li>
Suffix <code>Set</code> for set point.
</li>
<li>
Suffix <code>_min</code> (<code>_max</code>) for minimum (maximum),
such as <code>TSupCoo_min</code> for the lowest cooling supply air temperature
setpoint in
<a href=\"modelica://Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyTemperature\">
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyTemperature</a>.
</li>
</ul>
</li>
<li>
The two connectors of a domain that have identical declarations
and different icons are usually distinguished by <code>_a</code>, <code>_b</code>
or <code>_p</code>, <code>_n</code>.
Examples are fluid ports <code>port_a</code> and <code>port_b</code>
or electrical connectors
<code>terminal_p</code> and <code>terminal_n</code>.
</li>
</ol>
<h4>Documentation</h4>
<ol>
<li>
In the html documentation, start additional headings with
<code>h4</code>.
(The headings <code>h1, h2, h3</code> must not be used,
because they are utilized from the automatically generated
documentation.)
</li>
<li>
Comments must be added to each class (package, model, function etc.).
</li>
<li>
The first character should be upper case.
</li>
<li>
For one-line comments of parameters, variables and classes, no period should be used at the end of the comment.
</li>
</ol>
<h4>Graphical display</h4>
<ol>
<li>
The instance name of a component is always displayed in its icon
(using the text string \"%name\") in blue color.
</li>
<li>
A connector class has the instance
name definition in the diagram layer and usually not in the icon layer, unless this helps with usability.
</li>
<li>
The value of main parameters, such as nominal capacity, are displayed
in the icon in black color in a smaller font size as the instance name
if this helps with usability.
</li>
</ol>
<h4>Miscellaneous</h4>
<ol>
<li>
Where applicable, all variable must have units, also if the variable is protected.
</li>
<li>
Each class (i.e., model, block and function) must be used in an example or validation case.
</li>
</ol>
</html>"));
end Conventions;
Loading

0 comments on commit 5343321

Please sign in to comment.