aboutsummaryrefslogtreecommitdiffstats
path: root/modelica-parser-lalrpop/examples/modelica_other
diff options
context:
space:
mode:
Diffstat (limited to 'modelica-parser-lalrpop/examples/modelica_other')
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/multiple.mo17
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/package.mo15
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator.mo14
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator2.mo14
-rw-r--r--modelica-parser-lalrpop/examples/modelica_other/record.mo3
5 files changed, 63 insertions, 0 deletions
diff --git a/modelica-parser-lalrpop/examples/modelica_other/multiple.mo b/modelica-parser-lalrpop/examples/modelica_other/multiple.mo
new file mode 100644
index 0000000..45d5cb8
--- /dev/null
+++ b/modelica-parser-lalrpop/examples/modelica_other/multiple.mo
@@ -0,0 +1,17 @@
+type Voltage = Real(unit="V");
+type Current = Real(unit="A");
+
+connector Pin
+ Voltage v;
+ flow Current i;
+end Pin;
+
+model Resistor
+ Pin p, n;
+ // "Positive" and "negative" pins.
+ parameter Real R(unit="Ohm") "Resistance";
+equation
+ R*p.i = p.v - n.v;
+ p.i + n.i = 0;
+ // Positive currents into component.
+end Resistor;
diff --git a/modelica-parser-lalrpop/examples/modelica_other/package.mo b/modelica-parser-lalrpop/examples/modelica_other/package.mo
new file mode 100644
index 0000000..ef1eb82
--- /dev/null
+++ b/modelica-parser-lalrpop/examples/modelica_other/package.mo
@@ -0,0 +1,15 @@
+package Electric
+ // This package providestypes, connectors and partial models for the electric domain.
+ extends SIunit;
+ // Commonly used short names for electric types
+ type Current = ElectricCurrent;
+ type Charge = ElectricCharge;
+ type Voltage = ElectricPotential;
+
+ // Connector types for electric components
+ connector Pin "Pin of an electric component"
+ Voltage
+ v "Potential at the pin";
+ flow Current i "Current flowing into the pin";
+ end Pin;
+end Electric;
diff --git a/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator.mo b/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator.mo
new file mode 100644
index 0000000..f11d375
--- /dev/null
+++ b/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator.mo
@@ -0,0 +1,14 @@
+block PolynomialEvaluator
+ parameter Real a[:];
+ input Real x;
+ output Real y;
+protected
+ constant n = size(a, 1)-1;
+ Real xpowers[n+1];
+equation
+ xpowers[1] = 1;
+ for i in 1:n loop
+ xpowers[i+1] = xpowers[i]*x;
+ end for;
+ y = transpose(a) * xpowers;
+end PolynomialEvaluator;
diff --git a/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator2.mo b/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator2.mo
new file mode 100644
index 0000000..cf86779
--- /dev/null
+++ b/modelica-parser-lalrpop/examples/modelica_other/polynomial_evaluator2.mo
@@ -0,0 +1,14 @@
+function PolynomialEvaluator2
+ input Real a[:];
+ input Real x;
+ output Real y;
+protected
+ Real xpower;
+algorithm
+ y := 0;
+ xpower := 1;
+ for i in 1:size(a, 1) loop
+ y := y + a[i]*xpower;
+ xpower := xpower*x;
+ end for;
+end PolynomialEvaluator2;
diff --git a/modelica-parser-lalrpop/examples/modelica_other/record.mo b/modelica-parser-lalrpop/examples/modelica_other/record.mo
new file mode 100644
index 0000000..3d37b3d
--- /dev/null
+++ b/modelica-parser-lalrpop/examples/modelica_other/record.mo
@@ -0,0 +1,3 @@
+record FilterData
+ Real T;
+end FilterData;