Skip to content

Commit

Permalink
Merge branch 'issue77_obcReportRevision'
Browse files Browse the repository at this point in the history
  • Loading branch information
mwetter committed Nov 17, 2020
2 parents a706479 + 467843c commit 01f22aa
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 27 deletions.
7 changes: 4 additions & 3 deletions specification/source/cdl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -436,11 +436,12 @@ to implement composite blocks (:numref:`sec_com_blo`).
http://simulationresearch.lbl.gov/modelica/releases/latest/help/Buildings_Controls_OBC_CDL.html.
* Download https://github.com/lbl-srg/modelica-buildings/archive/master.zip, unzip the file,
and open ``Buildings/package.mo`` in the graphical model editor of
`Dymola <https://www.3ds.com/products-services/catia/products/dymola/trial-version/>`_ or
`OpenModelica <https://www.openmodelica.org/?id=78:omconnectioneditoromedit&catid=10:main-category>`_.
`OpenModelica <https://www.openmodelica.org/?id=78:omconnectioneditoromedit&catid=10:main-category>`_,
`Impact <https://www.modelon.com/modelon-impact/>`_, or
`Dymola <https://www.3ds.com/products-services/catia/products/dymola/trial-version/>`_.
All models in the `Examples` and `Validation` packages can be simulated with these tools, as well
as with `OPTIMICA <https://www.modelon.com/products-services/modelon-creator-suite/optimica-compiler-toolkit/>`_ and
with `JModelica <http://www.jmodelica.org/>`_.
with `JModelica <https://www.jmodelica.org/>`_.

An actual implementation of an elementary building block
looks as follows, where we omitted the annotations that are
Expand Down
11 changes: 6 additions & 5 deletions specification/source/codeGeneration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ corresponding JSON Schema. A JSON Schema describes the data format and file stru
lists the required or optional properties, and sets limitations on values such as
patterns for strings or extrema for numbers.

The raw CDL Schema can be found at `https://raw.githubusercontent.com/lbl-srg/modelica-json/master/schema-CDL.json <https://raw.githubusercontent.com/lbl-srg/modelica-json/master/schema-CDL.json>`_ .
The CDL Schema can be found at `https://raw.githubusercontent.com/lbl-srg/modelica-json/master/schema-CDL.json <https://raw.githubusercontent.com/lbl-srg/modelica-json/master/schema-CDL.json>`_ .

The program `modelica-json <https://github.com/lbl-srg/modelica-json>`_ automatically tests
the JSON representation parsed from a CDL file against the schema right after it is
Expand Down Expand Up @@ -208,9 +208,9 @@ To implement control sequences, blocks from the
CDL library (:numref:`sec_ele_bui_blo`) can be used to compose sequences that conform
to the CDL language specification described in :numref:`sec_cdl`.
For verification tests, any Modelica block can be used.
Next, to export the Modelica model, a Modelica tool such as JModelica, OpenModelica
Next, to export the Modelica model, a Modelica tool such as OpenModelica, JModelica, OPTIMICA
or Dymola can be used.
For example, with JModelica a control sequence can be exported using the Python commands
For example, with OPTIMICA a control sequence can be exported using the Python commands

.. code-block:: python
Expand All @@ -234,13 +234,14 @@ Finally, to import the FMU-ME in a runtime environment, various tools can be use

* Tools based on C:

* FMI Library (http://www.jmodelica.org/FMILibrary)
* FMI Library (https://github.com/modelon-community/fmi-library)

* Modelica tools, of which many if not all provide
functionality for real-time simulation:

* JModelica (http://www.jmodelica.org)
* OpenModelica (https://openmodelica.org/)
* JModelica (https://www.jmodelica.org)
* Impact (https://www.modelon.com/modelon-impact/)
* Dymola (https://www.3ds.com/products-services/catia/products/dymola/)
* MapleSim (https://www.maplesoft.com/products/maplesim/)
* SimulationX (https://www.simulationx.com/)
Expand Down
10 changes: 6 additions & 4 deletions specification/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -491,14 +491,16 @@
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\leftmark}
\fancyhead[LO]{\rightmark}
% \fancyhead[LE,RO]{\thepage}
% \fancyhead[RE]{\leftmark}
% \fancyhead[LO]{\rightmark}
\fancypagestyle{plain}{%
\fancyhead{} % get rid of headers
\fancyhead[L]{OpenBuildingControl}
\fancyhead[R]{\leftmark}
\fancyfoot[R]{\thepage}
\fancyfoot[L]{}
\fancyfoot[C]{\thepage}
\fancyfoot[R]{}
\renewcommand{\headrulewidth}{0.5pt} % and the line
}
Expand Down
2 changes: 1 addition & 1 deletion specification/source/controlsLibrary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ are fed back to the controller to form the closed loop test.
The model is available in the Modelica Buildings Library as the model
``Buildings.Air.Systems.SingleZone.VAV.Examples.Guideline36``.

As of Spring 2020, additional sequences are being implemented
As of Fall 2020, additional sequences are being implemented
for chilled water plants and for boiler plants,
following the ASHRAE Research Project Report 1711,
and for optimal start-up (for heating) and cool down (for cooling).
8 changes: 6 additions & 2 deletions specification/source/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,20 @@
@InProceedings{WetterBenneGautierEtAl2020,
author = "Michael Wetter and Kyle Benne and Antoine Gautier and Thierry S. Nouidui and Agnes Ramle and Amir Roth and Hubertus Tummescheit and Stuart Mentzer and Christian Winther",
title = "Lifting the Garage Door on Spawn, an Open-Source BEM-Controls Engine",
booktitle = "Proc. of Building Performance Modeling Conference and SimBuild (accepted for publication)",
booktitle = "Proc. of Building Performance Modeling Conference and SimBuild",
pages = "518--525",
address = "Chicago, IL, USA",
year = "2020"
}

@InProceedings{ZhangBlumEtAl2020,
author = "Kun Zhang and David H. Blum and Milica Grahovac and Jianjun Hu and Jessica Granderson and Michael Wetter",
title = "Development and Verification of Control Sequences for Single-Zone Variable Air Volume System Based on ASHRAE Guideline 36",
booktitle = "2nd American Modelica Conference (accepted for publication)",
booktitle = "2nd American Modelica Conference",
address = "Boulder, CO, USA",
pages = "81--90",
doi = {10.3384/ecp2016981},
url = {https://doi.org/10.3384/ecp2016981},
year = "2020"
}

Expand Down
24 changes: 12 additions & 12 deletions specification/source/softwareArchitecture.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,17 +84,17 @@ Controls Design Tool

mod_jso_par <-> mod_lib

package JModelica {
package OPTIMICA {
}

OpenStudio -d-> edi : invokes
OpenStudio -d-> JModelica : invokes
OpenStudio -d-> OPTIMICA : invokes

JModelica -u-> mod_lib: loads
OPTIMICA -u-> mod_lib: loads

interface FMUs

JModelica -d-> FMUs : generates
OPTIMICA -d-> FMUs : generates

package "Buildings Operating System" as BOS {
database "I/O drivers" as dri2
Expand Down Expand Up @@ -128,7 +128,7 @@ The `HVAC/controls tool` updates the json reprensentation of the model,
and these changes will be merged into the Modelica model or Modelica package
that has been edited.
For exporting the sequence for simulation or for operation, `OpenStudio`
invokes `JModelica` which generates an FMU of the sequence, or multiple FMUs
invokes `OPTIMICA` which generates an FMU of the sequence, or multiple FMUs
if the sequence is to be distributed to different field devices.
The `Building Operating System` then imports these FMUs.

Expand Down Expand Up @@ -174,7 +174,7 @@ Functional Verification Tool
[Viewer]
}
[CDL Parser]
[JModelica]
[OPTIMICA]
database "Modelica\nControl\nModel" as mod_ctl
[FMU-ME]
[Reports] <<htlm, json>>
Expand All @@ -183,10 +183,10 @@ Functional Verification Tool
vt -d-> [CDL Parser]: uses
[I/O\nConfiguration] -d-> mod_ctl : updates point list
[Engine] -> [FMU-ME] : inserts point list
[Engine] -d-> [JModelica] : invokes FMU-ME export
[JModelica] -d-> mod_ctl: imports
[Engine] -d-> [OPTIMICA] : invokes FMU-ME export
[OPTIMICA] -d-> mod_ctl: imports
[Engine] -l-> [HIL Module]: connects
[JModelica] -> [FMU-ME] : exports
[OPTIMICA] -> [FMU-ME] : exports
[Engine] -d-> [Reports]: writes
[Viewer] -> [Reports]: imports

Expand All @@ -203,8 +203,8 @@ The `I/O Configuration` module will allow users (such as a
commissioning agent) to update the point list.
This is needed as not all
point mappings may be known during the design phase.
The `Engine` invokes `JModelica` to export an FMU-ME of the control
blocks. As `JModelica` does not parse CDL information
The `Engine` invokes `OPTIMICA` to export an FMU-ME of the control
blocks. As `OPTIMICA` does not parse CDL information
that is stored in vendor annotations (such as the point mapping),
the `Engine` will insert point lists into the ``Resources`` directory
of the `FMU-ME`.
Expand All @@ -220,4 +220,4 @@ that are displayed by the `Viewer`.

.. [#parser] Using a parser that only requires Java has the advantage
that it can be used in other applications that may not have
access to a JModelica installation.
access to a OPTIMICA installation.

0 comments on commit 01f22aa

Please sign in to comment.