From 019bec79ef5eb8fabeb8e7e66ee24927c586a128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=96stlund?= Date: Tue, 27 Mar 2018 13:29:35 +0200 Subject: [PATCH] [NF] Added complex flow test. Belonging to [master]: - OpenModelica/OMCompiler#2322 - OpenModelica/OpenModelica-testsuite#902 --- .../modelica/scodeinst/ConnectComplexFlow1.mo | 55 +++++++++++++++++++ flattening/modelica/scodeinst/Makefile | 1 + 2 files changed, 56 insertions(+) create mode 100644 flattening/modelica/scodeinst/ConnectComplexFlow1.mo diff --git a/flattening/modelica/scodeinst/ConnectComplexFlow1.mo b/flattening/modelica/scodeinst/ConnectComplexFlow1.mo new file mode 100644 index 00000000000..fda4bdeab6c --- /dev/null +++ b/flattening/modelica/scodeinst/ConnectComplexFlow1.mo @@ -0,0 +1,55 @@ +// name: ConnectComplexFlow1 +// keywords: +// status: correct +// cflags: -d=newInst +// + +operator record Complex + replaceable Real re; + replaceable Real im; +end Complex; + +package Modelica + package SIunits + type Current = Real; + type Voltage = Real; + + operator record ComplexCurrent = Complex( + redeclare Modelica.SIunits.Current re, + redeclare Modelica.SIunits.Current im + ); + + operator record ComplexVoltage = Complex( + redeclare Modelica.SIunits.Voltage re, + redeclare Modelica.SIunits.Voltage im + ); + end SIunits; +end Modelica; + +package Internals + operator record ComplexVoltage = + Modelica.SIunits.ComplexVoltage(re(nominal = 1e3), im(nominal = 1e3)); + operator record ComplexCurrent = + Modelica.SIunits.ComplexCurrent(re(nominal = 1e3), im(nominal = 1e3)); + + connector Pin + ComplexVoltage v; + flow ComplexCurrent i; + end Pin; +end Internals; + +model ConnectComplexFlow1 + Internals.Pin pin; +end ConnectComplexFlow1; + +// Result: +// class ConnectComplexFlow1 +// Real pin.v.re(nominal = 1000.0); +// Real pin.v.im(nominal = 1000.0); +// Real pin.i.re(nominal = 1000.0); +// Real pin.i.im(nominal = 1000.0); +// equation +// pin.i.re = 0.0; +// pin.i.im = 0.0; +// end ConnectComplexFlow1; +// endResult diff --git a/flattening/modelica/scodeinst/Makefile b/flattening/modelica/scodeinst/Makefile index 5d9ebbc94a0..70ee30927f9 100644 --- a/flattening/modelica/scodeinst/Makefile +++ b/flattening/modelica/scodeinst/Makefile @@ -128,6 +128,7 @@ ConnectAlgorithm.mo \ ConnectArrays1.mo \ ConnectArrays2.mo \ ConnectArrays3.mo \ +ConnectComplexFlow1.mo \ ConnectDiffOrder1.mo \ ConnectDiffOrder2.mo \ ConnectInitial.mo \