diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml new file mode 100644 index 0000000000..a881df6575 --- /dev/null +++ b/.github/workflows/github-actions.yml @@ -0,0 +1,85 @@ +name: CI of IDEAS using GitHub Actions +on: [push, pull_request] +jobs: + build: + runs-on: self-hosted + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server called tony-de-rekenpony hosted by The Sysis team at KU Leuven" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v3 + with: + clean: true + - name: Change permissions of repository folder + run: chmod -R 777 /home/actions-runner/_work + - name: List of files in the repository + run: | + ls ${{ github.workspace }} + test: + runs-on: self-hosted + needs: build + defaults: + run: + working-directory: IDEAS/Resources/Scripts/tests + steps: + - name: Test IDEAS.Buildings.Components + run: make test-dymola PACKAGE=\"IDEAS.Buildings.Components\" INTERACTIVE=false + - name: Test IDEAS.Buildings.Examples + run: make test-dymola PACKAGE=\"IDEAS.Buildings.Examples\" INTERACTIVE=false + - name: Test IDEAS.Buildings.Validation + run: make test-dymola PACKAGE=\"IDEAS.Buildings.Validation\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Actuators + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Actuators\" INTERACTIVE=false + - name: Test IDEAS.Fluid.BaseClasses + run: make test-dymola PACKAGE=\"IDEAS.Fluid.BaseClasses\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Chillers + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Chillers\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Delays + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Delays\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Examples + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Examples\" INTERACTIVE=false + - name: Test IDEAS.Fluid.FixedResistances + run: make test-dymola PACKAGE=\"IDEAS.Fluid.FixedResistances\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Geothermal + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Geothermal\" INTERACTIVE=false + - name: Test IDEAS.Fluid.HeatExchangers + run: make test-dymola PACKAGE=\"IDEAS.Fluid.HeatExchangers\" INTERACTIVE=false + - name: Test IDEAS.Fluid.HeatPumps + run: make test-dymola PACKAGE=\"IDEAS.Fluid.HeatPumps\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Interfaces + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Interfaces\" INTERACTIVE=false + - name: Test IDEAS.Fluid.MassExchangers + run: make test-dymola PACKAGE=\"IDEAS.Fluid.MassExchangers\" INTERACTIVE=false + - name: Test IDEAS.Fluid.MixingVolumes + run: make test-dymola PACKAGE=\"IDEAS.Fluid.MixingVolumes\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Movers + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Movers\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Sensors + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Sensors\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Sources + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Sources\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Storage + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Storage\" INTERACTIVE=false + - name: Test IDEAS.Fluid.Taps + run: make test-dymola PACKAGE=\"IDEAS.Fluid.Taps\" INTERACTIVE=false + - name: Test IDEAS.ThermalZones + run: make test-dymola PACKAGE=\"IDEAS.ThermalZones\" INTERACTIVE=false + - name: Test IDEAS.BoundaryConditions + run: make test-dymola PACKAGE=\"IDEAS.BoundaryConditions\" INTERACTIVE=false + - name: Test IDEAS.Controls + run: make test-dymola PACKAGE=\"IDEAS.Controls\" INTERACTIVE=false + - name: Test IDEAS.Media + run: make test-dymola PACKAGE=\"IDEAS.Media\" INTERACTIVE=false + - name: Test IDEAS.Utilities + run: make test-dymola PACKAGE=\"IDEAS.Utilities\" INTERACTIVE=false + - name: Test IDEAS.Templates + run: make test-dymola PACKAGE=\"IDEAS.Templates\" INTERACTIVE=false + - name: Test IDEAS.Examples.PPD12 + run: make test-dymola PACKAGE=\"IDEAS.Examples.PPD12\" INTERACTIVE=false + - name: Test IDEAS.Examples.IBPSA + run: make test-dymola PACKAGE=\"IDEAS.Examples.IBPSA\" INTERACTIVE=false + - name: Test IDEAS.Examples.Tutorial + run: make test-dymola PACKAGE=\"IDEAS.Examples.Tutorial\" INTERACTIVE=false + - name: Test IDEAS.Examples.TwinHouses + run: make test-dymola PACKAGE=\"IDEAS.Examples.TwinHouses\" INTERACTIVE=false \ No newline at end of file diff --git a/IDEAS/BoundaryConditions/Interfaces/PartialSimInfoManager.mo b/IDEAS/BoundaryConditions/Interfaces/PartialSimInfoManager.mo index 79931dd375..97349dc705 100644 --- a/IDEAS/BoundaryConditions/Interfaces/PartialSimInfoManager.mo +++ b/IDEAS/BoundaryConditions/Interfaces/PartialSimInfoManager.mo @@ -103,22 +103,21 @@ partial model PartialSimInfoManager parameter Modelica.Units.SI.Length H=10 "Building or roof height" annotation (Dialog(group="Wind")); - parameter Real A0=0.6 "Local terrain constant. 0.6 for Suburban,0.35 for Urban and 1 for Unshielded (Ashrae 1993) " + parameter Real A0=0.6 "Local terrain constant. 0.6 for Suburban,0.35 for Urban and 1 for Unshielded (Ashrae 1993) " annotation(Dialog(group="Wind")); parameter Real a=0.28 "Velocity profile exponent. 0.28 for Suburban, 0.4 for Urban and 0.15 for Unshielded (Ashrae 1993) " annotation(Dialog(group="Wind")); parameter Modelica.Units.SI.Length Hwind=10 "Height above ground of meteorological wind speed measurement" annotation (Dialog(group="Wind")); - parameter Real Cs_coeff = (A0*A0)*((1/Hwind)^(2*a)) "Multiplication factor for Habs" + parameter Real Cs_coeff = (A0*A0)*((1/Hwind)^(2*a)) "Multiplication factor for Habs" annotation(Dialog(group="Wind")); - parameter Modelica.Units.SI.Length Hpres=1 "Height above ground of meteorological ambient pressure measurement" + parameter Modelica.Units.SI.Length Hpres=1 "Height above ground of meteorological ambient pressure measurement" annotation(Dialog(group="Wind")); constant Modelica.Units.SI.Density rho_default = 1.2 "Default air density" annotation(Dialog(group="Wind")); - parameter Real Cs= Cs_coeff*H "Wind speed modifier" - annotation(Dialog(group="Wind")); + parameter Real Cs= Cs_coeff*(H^(2*a)) "Wind speed modifier" annotation(Dialog(group="Wind")); final parameter Integer numIncAndAziInBus = size(incAndAziInBus,1) diff --git a/IDEAS/BoundaryConditions/UsersGuide.mo b/IDEAS/BoundaryConditions/UsersGuide.mo index a95c6becc8..449eb82848 100644 --- a/IDEAS/BoundaryConditions/UsersGuide.mo +++ b/IDEAS/BoundaryConditions/UsersGuide.mo @@ -3,7 +3,7 @@ package UsersGuide "User's Guide" extends Modelica.Icons.Information; annotation (preferredView="info", Documentation(info=" -

This package contains models to read or compute boundary conditions, such as weather data, solar irradition and sky temperatures. +

This package contains models to read or compute boundary conditions, such as weather data, solar irradiation and sky temperatures. The calculations follow the description in Wetter (2004), Appendix A.4.2.

Accessing weather data

diff --git a/IDEAS/Buildings/Components/Interfaces/SolBus.mo b/IDEAS/Buildings/Components/Interfaces/SolBus.mo index 23977b4258..2acbb3cbd6 100644 --- a/IDEAS/Buildings/Components/Interfaces/SolBus.mo +++ b/IDEAS/Buildings/Components/Interfaces/SolBus.mo @@ -1,5 +1,5 @@ within IDEAS.Buildings.Components.Interfaces; -connector SolBus +expandable connector SolBus "Bus containing solar radiation for various incidence angles as well as external convection coefficients" parameter Boolean outputAngles = true "Set to false when linearising in Dymola only"; IDEAS.Buildings.Components.Interfaces.RealConnector HDirTil(unit="W/(m2)",start=100) annotation (); @@ -37,6 +37,11 @@ Connector that contains all solar irridiation information for one inclination an ", revisions="