From 326e8fc59add9afa3f6ba7f9ce163dbdbf14a2f9 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Wed, 8 Apr 2020 21:07:30 +0100
Subject: [PATCH 01/45] MSL version 3.2.3
---
BioChem/package.mo | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/BioChem/package.mo b/BioChem/package.mo
index a084fa2..295cf0e 100644
--- a/BioChem/package.mo
+++ b/BioChem/package.mo
@@ -1,6 +1,6 @@
package BioChem
extends Icons.Library;
- annotation(uses(Modelica(version="3.2.1")), version="1.0.1", Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(origin={3.55271e-15,3.76}, points={{-50,-60},{-50,-27.52},{10,-27.52}}, smooth=Smooth.Bezier),Line(origin={-1.135,4.09474}, points={{-48.865,10},{-48.865,-27.61},{11.135,-27.61}}, arrow={Arrow.None,Arrow.Open}, arrowSize=30, smooth=Smooth.Bezier),Ellipse(origin={30.4112,-23.4648}, lineColor={0,85,0}, fillColor={0,170,0}, fillPattern=FillPattern.Sphere, extent={{-20.4112,-20},{20.4112,20}}),Ellipse(origin={6.28735,-0.665395}, lineColor={161,107,0}, fillColor={250,167,0}, fillPattern=FillPattern.Sphere, extent={{-76.2873,-79.3346},{-35.4736,-39.3346}}),Ellipse(origin={4.98569,-1.03187}, lineColor={117,0,0}, fillColor={170,0,0}, fillPattern=FillPattern.Sphere, extent={{-75.8122,-6.13331},{-34.9857,33.8667}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
+ annotation(uses(Modelica(version="3.2.3")), version="1.0.1", Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(origin={3.55271e-15,3.76}, points={{-50,-60},{-50,-27.52},{10,-27.52}}, smooth=Smooth.Bezier),Line(origin={-1.135,4.09474}, points={{-48.865,10},{-48.865,-27.61},{11.135,-27.61}}, arrow={Arrow.None,Arrow.Open}, arrowSize=30, smooth=Smooth.Bezier),Ellipse(origin={30.4112,-23.4648}, lineColor={0,85,0}, fillColor={0,170,0}, fillPattern=FillPattern.Sphere, extent={{-20.4112,-20},{20.4112,20}}),Ellipse(origin={6.28735,-0.665395}, lineColor={161,107,0}, fillColor={250,167,0}, fillPattern=FillPattern.Sphere, extent={{-76.2873,-79.3346},{-35.4736,-39.3346}}),Ellipse(origin={4.98569,-1.03187}, lineColor={117,0,0}, fillColor={170,0,0}, fillPattern=FillPattern.Sphere, extent={{-75.8122,-6.13331},{-34.9857,33.8667}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
annotation(preferedView="info", Documentation(info="
From bef097f579d72cff8fb3bad008c7d73ae7e673e9 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Fri, 10 Apr 2020 08:35:11 +0100
Subject: [PATCH 02/45] separate Interfaces/Substances/package.mo into separate
components
---
.../Interfaces/Substances/InputSubstance.mo | 24 +++++++++++
BioChem/Interfaces/Substances/Substance.mo | 27 +++++++++++++
BioChem/Interfaces/Substances/package.mo | 40 -------------------
3 files changed, 51 insertions(+), 40 deletions(-)
create mode 100644 BioChem/Interfaces/Substances/InputSubstance.mo
create mode 100644 BioChem/Interfaces/Substances/Substance.mo
diff --git a/BioChem/Interfaces/Substances/InputSubstance.mo b/BioChem/Interfaces/Substances/InputSubstance.mo
new file mode 100644
index 0000000..30ada95
--- /dev/null
+++ b/BioChem/Interfaces/Substances/InputSubstance.mo
@@ -0,0 +1,24 @@
+within BioChem.Interfaces.Substances;
+
+partial model InputSubstance "Basics for a substance"
+
+ input BioChem.Units.Concentration c "Current concentration of substance (mM)";
+ BioChem.Units.MolarFlowRate rNet "Net flow rate of substance into the node";
+ BioChem.Units.AmountOfSubstance n "Number of moles of substance in pool (mol)";
+ BioChem.Interfaces.Nodes.SubstanceConnector n1 annotation(Placement(transformation(extent={{-10,-10},{10,10}}), iconTransformation(extent={{-16,-16},{16,16}})));
+protected
+ outer BioChem.Units.Volume V "Compartment volume";
+equation
+ rNet=n1.r;
+ c=n1.c;
+ V=n1.V;
+ c=n/V;
+
+ annotation(Documentation(info="
+
+The base class for all substances.
+
+Corresponds to SBML species changed by SBML rules and with the boundaryCondition attribute set to true and the constant attribute set to false.
+
+"), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={123,152,255}, extent={{-50,-50},{50,50}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
+end InputSubstance;
diff --git a/BioChem/Interfaces/Substances/Substance.mo b/BioChem/Interfaces/Substances/Substance.mo
new file mode 100644
index 0000000..c1cee65
--- /dev/null
+++ b/BioChem/Interfaces/Substances/Substance.mo
@@ -0,0 +1,27 @@
+within BioChem.Interfaces.Substances;
+
+partial model Substance
+BioChem.Units.Concentration c( stateSelect=StateSelect.prefer) "Current concentration of substance (mM)";
+ BioChem.Units.MolarFlowRate rNet "Net flow rate of substance into the node";
+ BioChem.Units.AmountOfSubstance n( stateSelect=StateSelect.prefer) "Number of moles of substance in pool (mol)";
+ BioChem.Interfaces.Nodes.SubstanceConnector n1 annotation (Placement(
+ transformation(extent={{-10,-10},{10,10}}), iconTransformation(extent={
+ {-16,-16},{16,16}})));
+protected
+ outer BioChem.Units.Volume V "Compartment volume";
+equation
+ rNet=n1.r;
+ c=n1.c;
+ V=n1.V;
+ c=n/V;
+
+ annotation(Documentation(info="
+
+The base class for all substances.
+
+Corresponds to SBML species changed by SBML rules and with the boundaryCondition attribute set to true and the constant attribute set to false.
+
+"),
+ Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={123,152,255}, extent={{-50,-50},{50,50}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
+
+end Substance;
diff --git a/BioChem/Interfaces/Substances/package.mo b/BioChem/Interfaces/Substances/package.mo
index 3e84f40..4912662 100644
--- a/BioChem/Interfaces/Substances/package.mo
+++ b/BioChem/Interfaces/Substances/package.mo
@@ -1,50 +1,10 @@
within BioChem.Interfaces;
package Substances
extends Icons.Library;
- partial model Substance "Basics for a substance"
- annotation(Documentation(info="
-
-The base class for all substances.
-
-Corresponds to SBML species changed by SBML rules and with the boundaryCondition attribute set to true and the constant attribute set to false.
-
-"), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={123,152,255}, extent={{-50,-50},{50,50}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Units.Concentration c (stateSelect=StateSelect.prefer) "Current concentration of substance (mM)";
- BioChem.Units.MolarFlowRate rNet "Net flow rate of substance into the node";
- BioChem.Units.AmountOfSubstance n (stateSelect=StateSelect.prefer) "Number of moles of substance in pool (mol)";
- BioChem.Interfaces.Nodes.SubstanceConnector n1 annotation(Placement(transformation(extent={{-10,-10},{10,10}}), iconTransformation(extent={{-16,-16},{16,16}})));
- protected
- outer BioChem.Units.Volume V "Compartment volume";
- equation
- rNet=n1.r;
- c=n1.c;
- V=n1.V;
- c=n/V;
- end Substance;
annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Documentation(info="
Substances
This package contains partial models of different kinds of nodes needed to represent substances in biological and biochemical systems. The basic attributes corresponding to the properties that are studied during simulations, i.e., the amount and the concentration of the substance, are declared in these partial models.
", revisions=""));
- partial model InputSubstance "Basics for a substance"
- annotation(Documentation(info="
-
-The base class for all substances.
-
-Corresponds to SBML species changed by SBML rules and with the boundaryCondition attribute set to true and the constant attribute set to false.
-
-"), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={123,152,255}, extent={{-50,-50},{50,50}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- input BioChem.Units.Concentration c "Current concentration of substance (mM)";
- BioChem.Units.MolarFlowRate rNet "Net flow rate of substance into the node";
- BioChem.Units.AmountOfSubstance n "Number of moles of substance in pool (mol)";
- BioChem.Interfaces.Nodes.SubstanceConnector n1 annotation(Placement(transformation(extent={{-10,-10},{10,10}}), iconTransformation(extent={{-16,-16},{16,16}})));
- protected
- outer BioChem.Units.Volume V "Compartment volume";
- equation
- rNet=n1.r;
- c=n1.c;
- V=n1.V;
- c=n/V;
- end InputSubstance;
end Substances;
From ee28d9aec9764507b991debd48f9b838cbdc610a Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Sat, 11 Apr 2020 18:53:35 +0100
Subject: [PATCH 03/45] separate the components within the package
Interfaces.Compartments
---
.../Interfaces/Compartments/Compartment.mo | 14 ++++++++++
.../Compartments/MainCompartment.mo | 13 +++++++++
BioChem/Interfaces/Compartments/package.mo | 27 +++++--------------
3 files changed, 34 insertions(+), 20 deletions(-)
create mode 100644 BioChem/Interfaces/Compartments/Compartment.mo
create mode 100644 BioChem/Interfaces/Compartments/MainCompartment.mo
diff --git a/BioChem/Interfaces/Compartments/Compartment.mo b/BioChem/Interfaces/Compartments/Compartment.mo
new file mode 100644
index 0000000..480d998
--- /dev/null
+++ b/BioChem/Interfaces/Compartments/Compartment.mo
@@ -0,0 +1,14 @@
+within BioChem.Interfaces.Compartments;
+
+partial model Compartment
+ inner BioChem.Units.Volume V(start = 1, stateSelect = StateSelect.prefer) "Compartment volume";
+ annotation(
+ Documentation(info = "
+
+ A partial model describing the basics of a default compartment.
+
+ "),
+ defaultComponentName = "compartment",
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillColor = {0, 85, 0}, fillPattern = FillPattern.Solid, extent = {{-100, -170}, {100, -120}}, textString = "%name", fontName = "Arial"), Rectangle(lineColor = {0, 0, 127}, fillColor = {0, 170, 255}, fillPattern = FillPattern.Solid, lineThickness = 10, extent = {{-110, -110}, {110, 110}}, radius = 20)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Compartment;
diff --git a/BioChem/Interfaces/Compartments/MainCompartment.mo b/BioChem/Interfaces/Compartments/MainCompartment.mo
new file mode 100644
index 0000000..abb3a46
--- /dev/null
+++ b/BioChem/Interfaces/Compartments/MainCompartment.mo
@@ -0,0 +1,13 @@
+within BioChem.Interfaces.Compartments;
+
+partial model MainCompartment
+ extends BioChem.Interfaces.Compartments.Compartment;
+ annotation(
+ Documentation(info = "
+
+Main compartment model.
+
+"),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillColor = {0, 85, 0}, fillPattern = FillPattern.Solid, extent = {{-100, -170}, {100, -120}}, textString = "%name", fontName = "Arial"), Text(fillPattern = FillPattern.Solid, extent = {{-82.12, -80}, {80, 80}}, textString = "main", fontName = "Arial", textStyle = {TextStyle.Bold})}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end MainCompartment;
diff --git a/BioChem/Interfaces/Compartments/package.mo b/BioChem/Interfaces/Compartments/package.mo
index 4789aee..ab8d4a3 100644
--- a/BioChem/Interfaces/Compartments/package.mo
+++ b/BioChem/Interfaces/Compartments/package.mo
@@ -1,7 +1,10 @@
within BioChem.Interfaces;
+
package Compartments "Properties for compartments"
extends Icons.Library;
- annotation(Documentation(info="
+
+ annotation(
+ Documentation(info = "
Compartments
@@ -12,23 +15,7 @@ package Compartments "Properties for compartments"
- ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- partial model Compartment "Default properties for a compartment"
- annotation(Documentation(info="
-
- A partial model describing the basics of a default compartment.
-
- "), defaultComponentName="compartment", Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{-100,-170},{100,-120}}, textString="%name", fontName="Arial"),Rectangle(lineColor={0,0,127}, fillColor={0,170,255}, fillPattern=FillPattern.Solid, lineThickness=10, extent={{-110,-110},{110,110}}, radius=20)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- inner BioChem.Units.Volume V(start=1,stateSelect=StateSelect.prefer) "Compartment volume";
- end Compartment;
-
- partial model MainCompartment "Default properties for a compartment."
- annotation(Documentation(info="
-
- Main compartment model.
-
- "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{-100,-170},{100,-120}}, textString="%name", fontName="Arial"),Text(fillPattern=FillPattern.Solid, extent={{-82.12,-80},{80,80}}, textString="main", fontName="Arial", textStyle={TextStyle.Bold})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- extends BioChem.Interfaces.Compartments.Compartment;
- end MainCompartment;
-
+ ", revisions = ""),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
end Compartments;
From e3849d53eea247a20460013c6c10e6371fbeb992 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Sun, 12 Apr 2020 22:39:21 +0100
Subject: [PATCH 04/45] Decompose the package BioChem.Interfaces.Nodes into
separate components
---
.../Interfaces/Nodes/ActivatorConnector.mo | 8 ++++
.../Interfaces/Nodes/InhibitorConnector.mo | 8 ++++
BioChem/Interfaces/Nodes/ModifierConnector.mo | 8 ++++
BioChem/Interfaces/Nodes/ProductConnector.mo | 8 ++++
.../Interfaces/Nodes/SubstanceConnector.mo | 8 ++++
.../Interfaces/Nodes/SubstrateConnector.mo | 8 ++++
BioChem/Interfaces/Nodes/package.mo | 41 -------------------
7 files changed, 48 insertions(+), 41 deletions(-)
create mode 100644 BioChem/Interfaces/Nodes/ActivatorConnector.mo
create mode 100644 BioChem/Interfaces/Nodes/InhibitorConnector.mo
create mode 100644 BioChem/Interfaces/Nodes/ModifierConnector.mo
create mode 100644 BioChem/Interfaces/Nodes/ProductConnector.mo
create mode 100644 BioChem/Interfaces/Nodes/SubstanceConnector.mo
create mode 100644 BioChem/Interfaces/Nodes/SubstrateConnector.mo
diff --git a/BioChem/Interfaces/Nodes/ActivatorConnector.mo b/BioChem/Interfaces/Nodes/ActivatorConnector.mo
new file mode 100644
index 0000000..5bad501
--- /dev/null
+++ b/BioChem/Interfaces/Nodes/ActivatorConnector.mo
@@ -0,0 +1,8 @@
+within BioChem.Interfaces.Nodes;
+
+connector ActivatorConnector "Connector between activators and reactions"
+ BioChem.Units.Concentration c;
+ flow BioChem.Units.MolarFlowRate r;
+ input BioChem.Units.Volume V;
+ annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={0,128,0}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}),Polygon(fillColor={255,255,255}, pattern=LinePattern.None, fillPattern=FillPattern.Solid, points={{-10,80},{-10,10},{-80,10},{-80,-10},{-10,-10},{-10,-80},{10,-80},{10,-10},{80,-10},{80,10},{10,10},{10,80}})}));
+end ActivatorConnector;
diff --git a/BioChem/Interfaces/Nodes/InhibitorConnector.mo b/BioChem/Interfaces/Nodes/InhibitorConnector.mo
new file mode 100644
index 0000000..b955c16
--- /dev/null
+++ b/BioChem/Interfaces/Nodes/InhibitorConnector.mo
@@ -0,0 +1,8 @@
+within BioChem.Interfaces.Nodes;
+
+connector InhibitorConnector "Connector between inhibitors and reactions"
+ BioChem.Units.Concentration c;
+ flow BioChem.Units.MolarFlowRate r;
+ input BioChem.Units.Volume V;
+ annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={170,0,0}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}),Polygon(fillColor={255,255,255}, pattern=LinePattern.None, fillPattern=FillPattern.Solid, points={{-80,10},{-80,-10},{80,-10},{80,10}})}));
+end InhibitorConnector;
diff --git a/BioChem/Interfaces/Nodes/ModifierConnector.mo b/BioChem/Interfaces/Nodes/ModifierConnector.mo
new file mode 100644
index 0000000..49670fd
--- /dev/null
+++ b/BioChem/Interfaces/Nodes/ModifierConnector.mo
@@ -0,0 +1,8 @@
+within BioChem.Interfaces.Nodes;
+
+connector ModifierConnector "Connector between general modifieres and reactions"
+ BioChem.Units.Concentration c;
+ flow BioChem.Units.MolarFlowRate r;
+ input BioChem.Units.Volume V;
+ annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={255,255,0}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}})}));
+end ModifierConnector;
diff --git a/BioChem/Interfaces/Nodes/ProductConnector.mo b/BioChem/Interfaces/Nodes/ProductConnector.mo
new file mode 100644
index 0000000..fa314fe
--- /dev/null
+++ b/BioChem/Interfaces/Nodes/ProductConnector.mo
@@ -0,0 +1,8 @@
+within BioChem.Interfaces.Nodes;
+
+connector ProductConnector "Connector between substances and reactions (product side of reaction)"
+ BioChem.Units.Concentration c;
+ flow BioChem.Units.MolarFlowRate r;
+ input BioChem.Units.Volume V;
+ annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(lineColor={0,85,127}, fillColor={255,255,255}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}));
+end ProductConnector;
diff --git a/BioChem/Interfaces/Nodes/SubstanceConnector.mo b/BioChem/Interfaces/Nodes/SubstanceConnector.mo
new file mode 100644
index 0000000..42c68d6
--- /dev/null
+++ b/BioChem/Interfaces/Nodes/SubstanceConnector.mo
@@ -0,0 +1,8 @@
+within BioChem.Interfaces.Nodes;
+
+connector SubstanceConnector "Connector between substances and reactions"
+ BioChem.Units.Concentration c;
+ flow BioChem.Units.MolarFlowRate r;
+ output BioChem.Units.Volume V;
+ annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(lineColor={0,85,0}, fillColor={0,85,127}, extent={{-100,-100},{100,100}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}));
+end SubstanceConnector;
diff --git a/BioChem/Interfaces/Nodes/SubstrateConnector.mo b/BioChem/Interfaces/Nodes/SubstrateConnector.mo
new file mode 100644
index 0000000..32325cf
--- /dev/null
+++ b/BioChem/Interfaces/Nodes/SubstrateConnector.mo
@@ -0,0 +1,8 @@
+within BioChem.Interfaces.Nodes;
+
+connector SubstrateConnector "Connector between substances and reactions (substrate side of reaction)"
+ BioChem.Units.Concentration c;
+ flow BioChem.Units.MolarFlowRate r;
+ input BioChem.Units.Volume V;
+ annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(lineColor={0,85,127}, fillColor={0,85,127}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}));
+end SubstrateConnector;
diff --git a/BioChem/Interfaces/Nodes/package.mo b/BioChem/Interfaces/Nodes/package.mo
index 9a6e0ec..f46f5e1 100644
--- a/BioChem/Interfaces/Nodes/package.mo
+++ b/BioChem/Interfaces/Nodes/package.mo
@@ -28,46 +28,5 @@ The variables available in each connection point are described below:
", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- connector SubstrateConnector "Connector between substances and reactions (substrate side of reaction)"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(lineColor={0,85,127}, fillColor={0,85,127}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}));
- BioChem.Units.Concentration c;
- flow BioChem.Units.MolarFlowRate r;
- input BioChem.Units.Volume V;
- end SubstrateConnector;
-
- connector SubstanceConnector "Connector between substances and reactions"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(lineColor={0,85,0}, fillColor={0,85,127}, extent={{-100,-100},{100,100}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}));
- BioChem.Units.Concentration c;
- flow BioChem.Units.MolarFlowRate r;
- output BioChem.Units.Volume V;
- end SubstanceConnector;
-
- connector ProductConnector "Connector between substances and reactions (product side of reaction)"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(lineColor={0,85,127}, fillColor={255,255,255}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}));
- BioChem.Units.Concentration c;
- flow BioChem.Units.MolarFlowRate r;
- input BioChem.Units.Volume V;
- end ProductConnector;
-
- connector ModifierConnector "Connector between general modifieres and reactions"
- annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={255,255,0}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}})}));
- BioChem.Units.Concentration c;
- flow BioChem.Units.MolarFlowRate r;
- input BioChem.Units.Volume V;
- end ModifierConnector;
-
- connector InhibitorConnector "Connector between inhibitors and reactions"
- annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={170,0,0}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}),Polygon(fillColor={255,255,255}, pattern=LinePattern.None, fillPattern=FillPattern.Solid, points={{-80,10},{-80,-10},{80,-10},{80,10}})}));
- BioChem.Units.Concentration c;
- flow BioChem.Units.MolarFlowRate r;
- input BioChem.Units.Volume V;
- end InhibitorConnector;
-
- connector ActivatorConnector "Connector between activators and reactions"
- annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(lineColor={0,85,0}, fillColor={255,255,255}, extent={{-20,-20},{20,20}}),Line(points={{-20,20},{20,-20}}, color={0,85,0}),Line(points={{-20,-20},{20,20}}, color={0,85,0})}), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={0,128,0}, fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}),Polygon(fillColor={255,255,255}, pattern=LinePattern.None, fillPattern=FillPattern.Solid, points={{-10,80},{-10,10},{-80,10},{-80,-10},{-10,-10},{-10,-80},{10,-80},{10,-10},{80,-10},{80,10},{10,10},{10,80}})}));
- BioChem.Units.Concentration c;
- flow BioChem.Units.MolarFlowRate r;
- input BioChem.Units.Volume V;
- end ActivatorConnector;
end Nodes;
From 90829ecd291dfb4f62b964a4633e1d3b0eba81f4 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Mon, 27 Apr 2020 00:48:40 +0100
Subject: [PATCH 05/45] Separate all components within
Biochem/Interfaces/Reactions/package.mo into separate *.mo components
---
BioChem/Interfaces/Reactions/Bbi.mo | 19 +
BioChem/Interfaces/Reactions/Bbr.mo | 19 +
BioChem/Interfaces/Reactions/Bmi.mo | 17 +
BioChem/Interfaces/Reactions/Bmr.mo | 17 +
BioChem/Interfaces/Reactions/Bqi.mo | 23 +
BioChem/Interfaces/Reactions/Bqr.mo | 23 +
BioChem/Interfaces/Reactions/Bti.mo | 21 +
BioChem/Interfaces/Reactions/Btr.mo | 21 +
BioChem/Interfaces/Reactions/Bui.mo | 17 +
BioChem/Interfaces/Reactions/Bur.mo | 17 +
BioChem/Interfaces/Reactions/Mbi.mo | 17 +
BioChem/Interfaces/Reactions/Mbr.mo | 17 +
BioChem/Interfaces/Reactions/Mmi.mo | 15 +
BioChem/Interfaces/Reactions/Mmr.mo | 15 +
BioChem/Interfaces/Reactions/Mqi.mo | 21 +
BioChem/Interfaces/Reactions/Mqr.mo | 21 +
BioChem/Interfaces/Reactions/Mti.mo | 19 +
BioChem/Interfaces/Reactions/Mtr.mo | 19 +
BioChem/Interfaces/Reactions/Mui.mo | 15 +
BioChem/Interfaces/Reactions/Mur.mo | 15 +
BioChem/Interfaces/Reactions/Qbi.mo | 23 +
BioChem/Interfaces/Reactions/Qbr.mo | 23 +
BioChem/Interfaces/Reactions/Qmi.mo | 21 +
BioChem/Interfaces/Reactions/Qmr.mo | 21 +
BioChem/Interfaces/Reactions/Qqi.mo | 27 +
BioChem/Interfaces/Reactions/Qqr.mo | 27 +
BioChem/Interfaces/Reactions/Qti.mo | 25 +
BioChem/Interfaces/Reactions/Qtr.mo | 25 +
BioChem/Interfaces/Reactions/Qui.mo | 21 +
BioChem/Interfaces/Reactions/Qur.mo | 21 +
BioChem/Interfaces/Reactions/Tbi.mo | 21 +
BioChem/Interfaces/Reactions/Tbr.mo | 21 +
BioChem/Interfaces/Reactions/Tmi.mo | 19 +
BioChem/Interfaces/Reactions/Tmr.mo | 19 +
BioChem/Interfaces/Reactions/Tqi.mo | 25 +
BioChem/Interfaces/Reactions/Tqr.mo | 25 +
BioChem/Interfaces/Reactions/Tti.mo | 23 +
BioChem/Interfaces/Reactions/Ttr.mo | 23 +
BioChem/Interfaces/Reactions/Tui.mo | 19 +
BioChem/Interfaces/Reactions/Tur.mo | 19 +
BioChem/Interfaces/Reactions/Ubi.mo | 17 +
BioChem/Interfaces/Reactions/Ubr.mo | 17 +
BioChem/Interfaces/Reactions/Umi.mo | 15 +
BioChem/Interfaces/Reactions/Umr.mo | 15 +
BioChem/Interfaces/Reactions/Uqi.mo | 21 +
BioChem/Interfaces/Reactions/Uqr.mo | 21 +
BioChem/Interfaces/Reactions/Uti.mo | 19 +
BioChem/Interfaces/Reactions/Utr.mo | 19 +
BioChem/Interfaces/Reactions/Uui.mo | 13 +
BioChem/Interfaces/Reactions/Uur.mo | 13 +
BioChem/Interfaces/Reactions/package.mo | 849 +-----------------------
51 files changed, 993 insertions(+), 842 deletions(-)
create mode 100644 BioChem/Interfaces/Reactions/Bbi.mo
create mode 100644 BioChem/Interfaces/Reactions/Bbr.mo
create mode 100644 BioChem/Interfaces/Reactions/Bmi.mo
create mode 100644 BioChem/Interfaces/Reactions/Bmr.mo
create mode 100644 BioChem/Interfaces/Reactions/Bqi.mo
create mode 100644 BioChem/Interfaces/Reactions/Bqr.mo
create mode 100644 BioChem/Interfaces/Reactions/Bti.mo
create mode 100644 BioChem/Interfaces/Reactions/Btr.mo
create mode 100644 BioChem/Interfaces/Reactions/Bui.mo
create mode 100644 BioChem/Interfaces/Reactions/Bur.mo
create mode 100644 BioChem/Interfaces/Reactions/Mbi.mo
create mode 100644 BioChem/Interfaces/Reactions/Mbr.mo
create mode 100644 BioChem/Interfaces/Reactions/Mmi.mo
create mode 100644 BioChem/Interfaces/Reactions/Mmr.mo
create mode 100644 BioChem/Interfaces/Reactions/Mqi.mo
create mode 100644 BioChem/Interfaces/Reactions/Mqr.mo
create mode 100644 BioChem/Interfaces/Reactions/Mti.mo
create mode 100644 BioChem/Interfaces/Reactions/Mtr.mo
create mode 100644 BioChem/Interfaces/Reactions/Mui.mo
create mode 100644 BioChem/Interfaces/Reactions/Mur.mo
create mode 100644 BioChem/Interfaces/Reactions/Qbi.mo
create mode 100644 BioChem/Interfaces/Reactions/Qbr.mo
create mode 100644 BioChem/Interfaces/Reactions/Qmi.mo
create mode 100644 BioChem/Interfaces/Reactions/Qmr.mo
create mode 100644 BioChem/Interfaces/Reactions/Qqi.mo
create mode 100644 BioChem/Interfaces/Reactions/Qqr.mo
create mode 100644 BioChem/Interfaces/Reactions/Qti.mo
create mode 100644 BioChem/Interfaces/Reactions/Qtr.mo
create mode 100644 BioChem/Interfaces/Reactions/Qui.mo
create mode 100644 BioChem/Interfaces/Reactions/Qur.mo
create mode 100644 BioChem/Interfaces/Reactions/Tbi.mo
create mode 100644 BioChem/Interfaces/Reactions/Tbr.mo
create mode 100644 BioChem/Interfaces/Reactions/Tmi.mo
create mode 100644 BioChem/Interfaces/Reactions/Tmr.mo
create mode 100644 BioChem/Interfaces/Reactions/Tqi.mo
create mode 100644 BioChem/Interfaces/Reactions/Tqr.mo
create mode 100644 BioChem/Interfaces/Reactions/Tti.mo
create mode 100644 BioChem/Interfaces/Reactions/Ttr.mo
create mode 100644 BioChem/Interfaces/Reactions/Tui.mo
create mode 100644 BioChem/Interfaces/Reactions/Tur.mo
create mode 100644 BioChem/Interfaces/Reactions/Ubi.mo
create mode 100644 BioChem/Interfaces/Reactions/Ubr.mo
create mode 100644 BioChem/Interfaces/Reactions/Umi.mo
create mode 100644 BioChem/Interfaces/Reactions/Umr.mo
create mode 100644 BioChem/Interfaces/Reactions/Uqi.mo
create mode 100644 BioChem/Interfaces/Reactions/Uqr.mo
create mode 100644 BioChem/Interfaces/Reactions/Uti.mo
create mode 100644 BioChem/Interfaces/Reactions/Utr.mo
create mode 100644 BioChem/Interfaces/Reactions/Uui.mo
create mode 100644 BioChem/Interfaces/Reactions/Uur.mo
diff --git a/BioChem/Interfaces/Reactions/Bbi.mo b/BioChem/Interfaces/Reactions/Bbi.mo
new file mode 100644
index 0000000..baaddb3
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Bbi.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Bbi "Bi-Bi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Bbi;
diff --git a/BioChem/Interfaces/Reactions/Bbr.mo b/BioChem/Interfaces/Reactions/Bbr.mo
new file mode 100644
index 0000000..a5c6a24
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Bbr.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Bbr "Bi-Bi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Bbr;
diff --git a/BioChem/Interfaces/Reactions/Bmi.mo b/BioChem/Interfaces/Reactions/Bmi.mo
new file mode 100644
index 0000000..84a24c1
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Bmi.mo
@@ -0,0 +1,17 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Bmi "Bi-Multi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Bmi;
diff --git a/BioChem/Interfaces/Reactions/Bmr.mo b/BioChem/Interfaces/Reactions/Bmr.mo
new file mode 100644
index 0000000..9acb390
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Bmr.mo
@@ -0,0 +1,17 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Bmr "Bi-Multi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Bmr;
diff --git a/BioChem/Interfaces/Reactions/Bqi.mo b/BioChem/Interfaces/Reactions/Bqi.mo
new file mode 100644
index 0000000..2d875b3
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Bqi.mo
@@ -0,0 +1,23 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Bqi "Bi-Quad irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Bqi;
diff --git a/BioChem/Interfaces/Reactions/Bqr.mo b/BioChem/Interfaces/Reactions/Bqr.mo
new file mode 100644
index 0000000..495757f
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Bqr.mo
@@ -0,0 +1,23 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Bqr "Bi-Quad reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Bqr;
diff --git a/BioChem/Interfaces/Reactions/Bti.mo b/BioChem/Interfaces/Reactions/Bti.mo
new file mode 100644
index 0000000..0f29725
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Bti.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Bti "Bi-Tri irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Bti;
diff --git a/BioChem/Interfaces/Reactions/Btr.mo b/BioChem/Interfaces/Reactions/Btr.mo
new file mode 100644
index 0000000..9686a1c
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Btr.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Btr "Bi-Tri reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Btr;
diff --git a/BioChem/Interfaces/Reactions/Bui.mo b/BioChem/Interfaces/Reactions/Bui.mo
new file mode 100644
index 0000000..2803851
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Bui.mo
@@ -0,0 +1,17 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Bui "Bi-Uni irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for the product";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p1.r = -nP1 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Bui;
diff --git a/BioChem/Interfaces/Reactions/Bur.mo b/BioChem/Interfaces/Reactions/Bur.mo
new file mode 100644
index 0000000..382a8cf
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Bur.mo
@@ -0,0 +1,17 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Bur "Bi-Uni reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for the product";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ p1.r = -nP1 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Bur;
diff --git a/BioChem/Interfaces/Reactions/Mbi.mo b/BioChem/Interfaces/Reactions/Mbi.mo
new file mode 100644
index 0000000..412bf9e
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mbi.mo
@@ -0,0 +1,17 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mbi "Multi-Bi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s.r = nS * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mbi;
diff --git a/BioChem/Interfaces/Reactions/Mbr.mo b/BioChem/Interfaces/Reactions/Mbr.mo
new file mode 100644
index 0000000..a373359
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mbr.mo
@@ -0,0 +1,17 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mbr "Multi-Bi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s.r = nS * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mbr;
diff --git a/BioChem/Interfaces/Reactions/Mmi.mo b/BioChem/Interfaces/Reactions/Mmi.mo
new file mode 100644
index 0000000..bd70f1f
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mmi.mo
@@ -0,0 +1,15 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mmi "Multi-Multi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s.r = nS * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mmi;
diff --git a/BioChem/Interfaces/Reactions/Mmr.mo b/BioChem/Interfaces/Reactions/Mmr.mo
new file mode 100644
index 0000000..50e943b
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mmr.mo
@@ -0,0 +1,15 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mmr "Multi-Multi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s.r = nS * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mmr;
diff --git a/BioChem/Interfaces/Reactions/Mqi.mo b/BioChem/Interfaces/Reactions/Mqi.mo
new file mode 100644
index 0000000..10a29a2
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mqi.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mqi "Multi-Quad irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s.r = nS * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mqi;
diff --git a/BioChem/Interfaces/Reactions/Mqr.mo b/BioChem/Interfaces/Reactions/Mqr.mo
new file mode 100644
index 0000000..f06fbdb
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mqr.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mqr "Multi-Quad reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s.r = nS * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mqr;
diff --git a/BioChem/Interfaces/Reactions/Mti.mo b/BioChem/Interfaces/Reactions/Mti.mo
new file mode 100644
index 0000000..56db3fc
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mti.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mti "Multi-Tri irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s.r = nS * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mti;
diff --git a/BioChem/Interfaces/Reactions/Mtr.mo b/BioChem/Interfaces/Reactions/Mtr.mo
new file mode 100644
index 0000000..a0397d7
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mtr.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mtr "Multi-Tri reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s.r = nS * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mtr;
diff --git a/BioChem/Interfaces/Reactions/Mui.mo b/BioChem/Interfaces/Reactions/Mui.mo
new file mode 100644
index 0000000..15e5808
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mui.mo
@@ -0,0 +1,15 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mui "Multi-Uni irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+equation
+ s.r = nS * rr;
+ p1.r = -nP1 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mui;
diff --git a/BioChem/Interfaces/Reactions/Mur.mo b/BioChem/Interfaces/Reactions/Mur.mo
new file mode 100644
index 0000000..b092d52
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Mur.mo
@@ -0,0 +1,15 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Mur "Multi-Uni reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS[dimS] = fill(1, dimS) "Stoichiometric coefficients for the substrates";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+equation
+ s.r = nS * rr;
+ p1.r = -nP1 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Mur;
diff --git a/BioChem/Interfaces/Reactions/Qbi.mo b/BioChem/Interfaces/Reactions/Qbi.mo
new file mode 100644
index 0000000..7afd623
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qbi.mo
@@ -0,0 +1,23 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Qbi "Quad-Bi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qbi;
diff --git a/BioChem/Interfaces/Reactions/Qbr.mo b/BioChem/Interfaces/Reactions/Qbr.mo
new file mode 100644
index 0000000..f665f4e
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qbr.mo
@@ -0,0 +1,23 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Qbr "Quad-Bi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qbr;
diff --git a/BioChem/Interfaces/Reactions/Qmi.mo b/BioChem/Interfaces/Reactions/Qmi.mo
new file mode 100644
index 0000000..68327d2
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qmi.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Qmi "Quad-Multi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qmi;
diff --git a/BioChem/Interfaces/Reactions/Qmr.mo b/BioChem/Interfaces/Reactions/Qmr.mo
new file mode 100644
index 0000000..c134c5d
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qmr.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Qmr "Quad-Multi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qmr;
diff --git a/BioChem/Interfaces/Reactions/Qqi.mo b/BioChem/Interfaces/Reactions/Qqi.mo
new file mode 100644
index 0000000..6e19e56
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qqi.mo
@@ -0,0 +1,27 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Qqi "Quad-Quad irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qqi;
diff --git a/BioChem/Interfaces/Reactions/Qqr.mo b/BioChem/Interfaces/Reactions/Qqr.mo
new file mode 100644
index 0000000..eedc864
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qqr.mo
@@ -0,0 +1,27 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Qqr "Quad-Quad reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qqr;
diff --git a/BioChem/Interfaces/Reactions/Qti.mo b/BioChem/Interfaces/Reactions/Qti.mo
new file mode 100644
index 0000000..01f23ab
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qti.mo
@@ -0,0 +1,25 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Qti "Quad-Tri irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qti;
diff --git a/BioChem/Interfaces/Reactions/Qtr.mo b/BioChem/Interfaces/Reactions/Qtr.mo
new file mode 100644
index 0000000..7f61e91
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qtr.mo
@@ -0,0 +1,25 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Qtr "Quad-Tri reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qtr;
diff --git a/BioChem/Interfaces/Reactions/Qui.mo b/BioChem/Interfaces/Reactions/Qui.mo
new file mode 100644
index 0000000..30585cb
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qui.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+model Qui "Quad-Uni irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p1.r = -nP1 * rr;
+ annotation(
+ Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qui;
diff --git a/BioChem/Interfaces/Reactions/Qur.mo b/BioChem/Interfaces/Reactions/Qur.mo
new file mode 100644
index 0000000..30fc6f3
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Qur.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Qur "Quad-Uni reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nS4 = 1 "Stoichiometric coefficient for substrate 4";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ s4.r = nS4 * rr;
+ p1.r = -nP1 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Qur;
diff --git a/BioChem/Interfaces/Reactions/Tbi.mo b/BioChem/Interfaces/Reactions/Tbi.mo
new file mode 100644
index 0000000..9727700
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Tbi.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Tbi "Tri-Bi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Tbi;
diff --git a/BioChem/Interfaces/Reactions/Tbr.mo b/BioChem/Interfaces/Reactions/Tbr.mo
new file mode 100644
index 0000000..5258fea
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Tbr.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Tbr "Tri-Bi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Tbr;
diff --git a/BioChem/Interfaces/Reactions/Tmi.mo b/BioChem/Interfaces/Reactions/Tmi.mo
new file mode 100644
index 0000000..d31f5c1
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Tmi.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Tmi "Tri-Multi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Tmi;
diff --git a/BioChem/Interfaces/Reactions/Tmr.mo b/BioChem/Interfaces/Reactions/Tmr.mo
new file mode 100644
index 0000000..025470a
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Tmr.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Tmr "Tri-Multi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Tmr;
diff --git a/BioChem/Interfaces/Reactions/Tqi.mo b/BioChem/Interfaces/Reactions/Tqi.mo
new file mode 100644
index 0000000..f2c7dd8
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Tqi.mo
@@ -0,0 +1,25 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Tqi "Tri-Quad irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Tqi;
diff --git a/BioChem/Interfaces/Reactions/Tqr.mo b/BioChem/Interfaces/Reactions/Tqr.mo
new file mode 100644
index 0000000..176537f
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Tqr.mo
@@ -0,0 +1,25 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Tqr "Tri-Quad reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Tqr;
diff --git a/BioChem/Interfaces/Reactions/Tti.mo b/BioChem/Interfaces/Reactions/Tti.mo
new file mode 100644
index 0000000..c1a3faa
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Tti.mo
@@ -0,0 +1,23 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Tti "Tri-Tri irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Tti;
diff --git a/BioChem/Interfaces/Reactions/Ttr.mo b/BioChem/Interfaces/Reactions/Ttr.mo
new file mode 100644
index 0000000..4695dc8
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Ttr.mo
@@ -0,0 +1,23 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Ttr "Tri-Tri reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Ttr;
diff --git a/BioChem/Interfaces/Reactions/Tui.mo b/BioChem/Interfaces/Reactions/Tui.mo
new file mode 100644
index 0000000..20de2d6
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Tui.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Tui "Tri-Uni irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for the product";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p1.r = -nP1 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Tui;
diff --git a/BioChem/Interfaces/Reactions/Tur.mo b/BioChem/Interfaces/Reactions/Tur.mo
new file mode 100644
index 0000000..8acc0b9
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Tur.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Tur "Tri-Uni reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nS2 = 1 "Stoichiometric coefficient for substrate 2";
+ BioChem.Units.StoichiometricCoefficient nS3 = 1 "Stoichiometric coefficient for substrate 3";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for the product";
+equation
+ s1.r = nS1 * rr;
+ s2.r = nS2 * rr;
+ s3.r = nS3 * rr;
+ p1.r = -nP1 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Tur;
diff --git a/BioChem/Interfaces/Reactions/Ubi.mo b/BioChem/Interfaces/Reactions/Ubi.mo
new file mode 100644
index 0000000..5c5bb32
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Ubi.mo
@@ -0,0 +1,17 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Ubi "Uni-Bi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for the substrate";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s1.r = nS1 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Ubi;
diff --git a/BioChem/Interfaces/Reactions/Ubr.mo b/BioChem/Interfaces/Reactions/Ubr.mo
new file mode 100644
index 0000000..bbb85c8
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Ubr.mo
@@ -0,0 +1,17 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Ubr "Uni-Bi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
+ extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for the substrate";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+equation
+ s1.r = nS1 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Ubr;
diff --git a/BioChem/Interfaces/Reactions/Umi.mo b/BioChem/Interfaces/Reactions/Umi.mo
new file mode 100644
index 0000000..d03254a
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Umi.mo
@@ -0,0 +1,15 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Umi "Uni-Multi irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s1.r = nS1 * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Umi;
diff --git a/BioChem/Interfaces/Reactions/Umr.mo b/BioChem/Interfaces/Reactions/Umr.mo
new file mode 100644
index 0000000..db58642
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Umr.mo
@@ -0,0 +1,15 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Umr "Uni-Multi reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
+ extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for substrate 1";
+ BioChem.Units.StoichiometricCoefficient nP[dimP] = fill(1, dimP) "Stoichiometric coefficients for the products";
+equation
+ s1.r = nS1 * rr;
+ p.r = -nP * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Umr;
diff --git a/BioChem/Interfaces/Reactions/Uqi.mo b/BioChem/Interfaces/Reactions/Uqi.mo
new file mode 100644
index 0000000..34bdf17
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Uqi.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Uqi "Uni-Quad irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for the substrate";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s1.r = nS1 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Uqi;
diff --git a/BioChem/Interfaces/Reactions/Uqr.mo b/BioChem/Interfaces/Reactions/Uqr.mo
new file mode 100644
index 0000000..e36e62d
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Uqr.mo
@@ -0,0 +1,21 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Uqr
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
+ extends BioChem.Interfaces.Reactions.Basics.FourProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for the substrate";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+ BioChem.Units.StoichiometricCoefficient nP4 = 1 "Stoichiometric coefficient for product 4";
+equation
+ s1.r = nS1 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ p4.r = -nP4 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Uqr;
diff --git a/BioChem/Interfaces/Reactions/Uti.mo b/BioChem/Interfaces/Reactions/Uti.mo
new file mode 100644
index 0000000..e041fca
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Uti.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Uti "Uni-Tri irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for the substrate";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s1.r = nS1 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Uti;
diff --git a/BioChem/Interfaces/Reactions/Utr.mo b/BioChem/Interfaces/Reactions/Utr.mo
new file mode 100644
index 0000000..b1a58d7
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Utr.mo
@@ -0,0 +1,19 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Utr "Uni-Tri reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
+ extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
+ BioChem.Units.StoichiometricCoefficient nS1 = 1 "Stoichiometric coefficient for the substrate";
+ BioChem.Units.StoichiometricCoefficient nP1 = 1 "Stoichiometric coefficient for product 1";
+ BioChem.Units.StoichiometricCoefficient nP2 = 1 "Stoichiometric coefficient for product 2";
+ BioChem.Units.StoichiometricCoefficient nP3 = 1 "Stoichiometric coefficient for product 3";
+equation
+ s1.r = nS1 * rr;
+ p1.r = -nP1 * rr;
+ p2.r = -nP2 * rr;
+ p3.r = -nP3 * rr;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Utr;
diff --git a/BioChem/Interfaces/Reactions/Uui.mo b/BioChem/Interfaces/Reactions/Uui.mo
new file mode 100644
index 0000000..b0f2460
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Uui.mo
@@ -0,0 +1,13 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Uui "Uni-Uni irreversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
+ BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product";
+ annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
+equation
+ s1.r=nS1*rr;
+ p1.r=-nP1*rr;
+end Uui;
diff --git a/BioChem/Interfaces/Reactions/Uur.mo b/BioChem/Interfaces/Reactions/Uur.mo
new file mode 100644
index 0000000..ca44bf6
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Uur.mo
@@ -0,0 +1,13 @@
+within BioChem.Interfaces.Reactions;
+
+partial model Uur "Uni-Uni reversible reaction"
+ extends BioChem.Interfaces.Reactions.Basics.Reaction;
+ extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
+ extends BioChem.Interfaces.Reactions.Basics.OneProduct;
+ BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
+ BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product";
+ annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
+equation
+ s1.r=nS1*rr;
+ p1.r=-nP1*rr;
+end Uur;
diff --git a/BioChem/Interfaces/Reactions/package.mo b/BioChem/Interfaces/Reactions/package.mo
index 050d4ca..bd6cae1 100644
--- a/BioChem/Interfaces/Reactions/package.mo
+++ b/BioChem/Interfaces/Reactions/package.mo
@@ -1,7 +1,10 @@
within BioChem.Interfaces;
+
package Reactions "Partial models, extended by models in the subpackage Reactions"
extends Icons.Library;
- annotation(Documentation(info="
+
+ annotation(
+ Documentation(info = "
Reactions
This package contains partial reaction models that can be used as templates when composing new reactions. In fact all reactions found in the
@@ -14,845 +17,7 @@ All reactions need at least one substrate and at least one product. This package

Figure 1: Some of the reactions
- ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- partial model Uur "Uni-Uni reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p1.r=-nP1*rr;
- end Uur;
-
- partial model Uui "Uni-Uni irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p1.r=-nP1*rr;
- end Uui;
-
- partial model Utr "Uni-Tri reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Utr;
-
- partial model Uti "Uni-Tri irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Uti;
-
- partial model Ubr "Uni-Bi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Ubr;
-
- partial model Ubi "Uni-Bi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Ubi;
-
- partial model Tur "Tri-Uni reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p1.r=-nP1*rr;
- end Tur;
-
- partial model Tui "Tri-Uni irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p1.r=-nP1*rr;
- end Tui;
-
- partial model Ttr "Tri-Tri reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Ttr;
-
- partial model Tti "Tri-Tri irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Tti;
-
- partial model Tbr "Tri-Bi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Tbr;
-
- partial model Tbi "Tri-Bi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Tbi;
-
- partial model Bur "Bi-Uni reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p1.r=-nP1*rr;
- end Bur;
-
- partial model Bui "Bi-Uni irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p1.r=-nP1*rr;
- end Bui;
-
- partial model Btr "Bi-Tri reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Btr;
-
- partial model Bti "Bi-Tri irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Bti;
-
- partial model Bbr "Bi-Bi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Bbr;
-
- partial model Bbi "Bi-Bi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Bbi;
-
- partial model Qbi "Quad-Bi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Qbi;
-
- partial model Qbr "Quad-Bi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Qbr;
-
- partial model Qti "Quad-Tri irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Qti;
-
- partial model Qtr "Quad-Tri reversible reaction"
- annotation(Diagram(coordinateSystem(extent={{-148.5,105},{148.5,-105}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Qtr;
-
- model Qui "Quad-Uni irreversible reaction"
- annotation(Diagram(coordinateSystem(extent={{-148.5,105},{148.5,-105}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p1.r=-nP1*rr;
- end Qui;
-
- partial model Qur "Quad-Uni reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p1.r=-nP1*rr;
- end Qur;
-
- partial model Qqi "Quad-Quad irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Qqi;
-
- partial model Qqr "Quad-Quad reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Qqr;
-
- partial model Uqr
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Uqr;
-
- partial model Uqi "Uni-Quad irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Uqi;
-
- partial model Bqi "Bi-Quad irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Bqi;
-
- partial model Bqr "Bi-Quad reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Bqr;
-
- partial model Tqr "Tri-Quad reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Tqr;
-
- partial model Tqi "Tri-Quad irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Tqi;
-
- partial model Mmi "Multi-Multi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p.r=-nP*rr;
- end Mmi;
-
- partial model Bmi "Bi-Multi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p.r=-nP*rr;
- end Bmi;
-
- partial model Qmi "Quad-Multi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p.r=-nP*rr;
- end Qmi;
-
- partial model Tmi "Tri-Multi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p.r=-nP*rr;
- end Tmi;
-
- partial model Umi "Uni-Multi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrate;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p.r=-nP*rr;
- end Umi;
-
- partial model Mqi "Multi-Quad irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Mqi;
-
- partial model Mti "Multi-Tri irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Mti;
-
- partial model Mbi "Multi-Bi irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Mbi;
-
- partial model Mui "Multi-Uni irreversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p1.r=-nP1*rr;
- end Mui;
-
- partial model Mbr "Multi-Bi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- end Mbr;
-
- partial model Mmr "Multi-Multi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p.r=-nP*rr;
- end Mmr;
-
- partial model Mqr "Multi-Quad reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.FourProducts;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- BioChem.Units.StoichiometricCoefficient nP4=1 "Stoichiometric coefficient for product 4";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- p4.r=-nP4*rr;
- end Mqr;
-
- partial model Mtr "Multi-Tri reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstrates;
- extends BioChem.Interfaces.Reactions.Basics.ThreeProducts;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- BioChem.Units.StoichiometricCoefficient nP2=1 "Stoichiometric coefficient for product 2";
- BioChem.Units.StoichiometricCoefficient nP3=1 "Stoichiometric coefficient for product 3";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p1.r=-nP1*rr;
- p2.r=-nP2*rr;
- p3.r=-nP3*rr;
- end Mtr;
-
- partial model Mur "Multi-Uni reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.OneProduct;
- BioChem.Units.StoichiometricCoefficient nS[dimS]=fill(1, dimS) "Stoichiometric coefficients for the substrates";
- BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for product 1";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s.r=nS*rr;
- p1.r=-nP1*rr;
- end Mur;
-
- partial model Umr "Uni-Multi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- p.r=-nP*rr;
- end Umr;
-
- partial model Bmr "Bi-Multi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- p.r=-nP*rr;
- end Bmr;
-
- partial model Qmr "Quad-Multi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nS4=1 "Stoichiometric coefficient for substrate 4";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- s4.r=nS4*rr;
- p.r=-nP*rr;
- end Qmr;
-
- partial model Tmr "Tri-Multi reversible reaction"
- extends BioChem.Interfaces.Reactions.Basics.Reaction;
- extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible;
- extends BioChem.Interfaces.Reactions.Basics.MultipleProducts;
- BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for substrate 1";
- BioChem.Units.StoichiometricCoefficient nS2=1 "Stoichiometric coefficient for substrate 2";
- BioChem.Units.StoichiometricCoefficient nS3=1 "Stoichiometric coefficient for substrate 3";
- BioChem.Units.StoichiometricCoefficient nP[dimP]=fill(1, dimP) "Stoichiometric coefficients for the products";
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- equation
- s1.r=nS1*rr;
- s2.r=nS2*rr;
- s3.r=nS3*rr;
- p.r=-nP*rr;
- end Tmr;
-
+ ", revisions = ""),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
end Reactions;
From 2b4e01aee56d87df1d8e3ae73042b2d15adac7a3 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Tue, 5 May 2020 14:24:07 +0100
Subject: [PATCH 06/45] Decompose package
BioChem/Interfaces/Reactions/Basics/package.mo into separate components
---
.../Reactions/Basics/FastEquilibrium.mo | 7 +
.../Reactions/Basics/FourProducts.mo | 15 ++
.../Reactions/Basics/FourSubstrates.mo | 9 ++
.../Basics/FourSubstratesReversible.mo | 15 ++
.../Reactions/Basics/MultipleProducts.mo | 11 ++
.../Reactions/Basics/MultipleSubstrates.mo | 10 ++
.../Basics/MultipleSubstratesReversible.mo | 10 ++
.../Interfaces/Reactions/Basics/OneProduct.mo | 9 ++
.../Reactions/Basics/OneSubstrate.mo | 6 +
.../Basics/OneSubstrateReversible.mo | 9 ++
.../Interfaces/Reactions/Basics/Reaction.mo | 9 ++
.../Reactions/Basics/ThreeProducts.mo | 13 ++
.../Reactions/Basics/ThreeSubstrates.mo | 13 ++
.../Basics/ThreeSubstratesReversible.mo | 13 ++
.../Reactions/Basics/TwoProducts.mo | 11 ++
.../Reactions/Basics/TwoSubstrates.mo | 11 ++
.../Basics/TwoSubstratesReversible.mo | 11 ++
.../Interfaces/Reactions/Basics/package.mo | 141 +++++-------------
18 files changed, 218 insertions(+), 105 deletions(-)
create mode 100644 BioChem/Interfaces/Reactions/Basics/FastEquilibrium.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/FourProducts.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/FourSubstrates.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/FourSubstratesReversible.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/MultipleProducts.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/MultipleSubstrates.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/MultipleSubstratesReversible.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/OneProduct.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/OneSubstrate.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/OneSubstrateReversible.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/Reaction.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/ThreeProducts.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/ThreeSubstrates.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/ThreeSubstratesReversible.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/TwoProducts.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/TwoSubstrates.mo
create mode 100644 BioChem/Interfaces/Reactions/Basics/TwoSubstratesReversible.mo
diff --git a/BioChem/Interfaces/Reactions/Basics/FastEquilibrium.mo b/BioChem/Interfaces/Reactions/Basics/FastEquilibrium.mo
new file mode 100644
index 0000000..69282c3
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/FastEquilibrium.mo
@@ -0,0 +1,7 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model FastEquilibrium "Basics for a reaction edge"
+ annotation(
+ Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-50.0, 0.0}, {50.0, 0.0}}, color = {0, 0, 255}, pattern = LinePattern.DashDotDot, thickness = 2), Text(origin = {-0.0, 0.0}, fillColor = {77, 77, 77}, fillPattern = FillPattern.Solid, extent = {{-100.0, -150.0}, {97.9, -100.0}}, textString = "%name", fontName = "Arial")}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end FastEquilibrium;
diff --git a/BioChem/Interfaces/Reactions/Basics/FourProducts.mo b/BioChem/Interfaces/Reactions/Basics/FourProducts.mo
new file mode 100644
index 0000000..d1cbcf3
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/FourProducts.mo
@@ -0,0 +1,15 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+model FourProducts
+ BioChem.Interfaces.Nodes.ProductConnector p4 annotation(
+ Placement(transformation(origin = {100, -40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, -87.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.ProductConnector p2 annotation(
+ Placement(transformation(origin = {100, -40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, -37.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.ProductConnector p3 annotation(
+ Placement(transformation(origin = {100, 40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, 37.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.ProductConnector p1 annotation(
+ Placement(transformation(origin = {100, 40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, 87.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{50, 0}, {62.5, 87.5}, {100, 87.5}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{50, 0}, {62.5, -87.5}, {100, -87.5}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{50, 0}, {62.5, 37.5}, {100, 37.5}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{50, 0}, {62.5, -37.5}, {100, -37.5}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35, smooth = Smooth.Bezier)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end FourProducts;
diff --git a/BioChem/Interfaces/Reactions/Basics/FourSubstrates.mo b/BioChem/Interfaces/Reactions/Basics/FourSubstrates.mo
new file mode 100644
index 0000000..e5b7ccb
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/FourSubstrates.mo
@@ -0,0 +1,9 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+model FourSubstrates
+ annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-100,87.5},{-62.5,87.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,-87.5},{-62.5,-87.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,-37.5},{-62.5,-37.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,37.5},{-62.5,37.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s4 annotation(Placement(transformation(origin={-90,-87.5}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-87.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(Placement(transformation(origin={-90,-35}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-37.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s3 annotation(Placement(transformation(origin={-90,25}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,37.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-87.5,87.5}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,87.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
+end FourSubstrates;
diff --git a/BioChem/Interfaces/Reactions/Basics/FourSubstratesReversible.mo b/BioChem/Interfaces/Reactions/Basics/FourSubstratesReversible.mo
new file mode 100644
index 0000000..2aed3bd
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/FourSubstratesReversible.mo
@@ -0,0 +1,15 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model FourSubstratesReversible
+ BioChem.Interfaces.Nodes.SubstrateConnector s4 annotation(
+ Placement(transformation(origin = {-90, -87.5}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, -87.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(
+ Placement(transformation(origin = {-90, -35}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, -37.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s3 annotation(
+ Placement(transformation(origin = {-90, 25}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 37.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(
+ Placement(transformation(origin = {-87.5, 87.5}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 87.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-100, 87.5}, {-62.5, 87.5}, {-50, 0}}, color = {170, 0, 0}, arrow = {Arrow.Open, Arrow.None}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{-100, -87.5}, {-62.5, -87.5}, {-50, 0}}, color = {170, 0, 0}, arrow = {Arrow.Open, Arrow.None}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{-100, -37.5}, {-62.5, -37.5}, {-50, 0}}, color = {170, 0, 0}, arrow = {Arrow.Open, Arrow.None}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{-100, 37.5}, {-62.5, 37.5}, {-50, 0}}, color = {170, 0, 0}, arrow = {Arrow.Open, Arrow.None}, arrowSize = 35, smooth = Smooth.Bezier)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end FourSubstratesReversible;
diff --git a/BioChem/Interfaces/Reactions/Basics/MultipleProducts.mo b/BioChem/Interfaces/Reactions/Basics/MultipleProducts.mo
new file mode 100644
index 0000000..1139afd
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/MultipleProducts.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model MultipleProducts "SubstanceConnector for arbitrary number of products"
+ parameter Integer dimP = 5 "number of products";
+ BioChem.Interfaces.Nodes.ProductConnector p[dimP] annotation(
+ Placement(transformation(origin = {80.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {112.5, 0.0}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
+ Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{48.33, 0.0}, {98.33, 0.0}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 50), Ellipse(origin = {112.5, -0.0}, lineColor = {170, 0, 0}, fillColor = {170, 0, 0}, extent = {{-20.0, -20.0}, {20.0, 20.0}})}));
+end MultipleProducts;
+
diff --git a/BioChem/Interfaces/Reactions/Basics/MultipleSubstrates.mo b/BioChem/Interfaces/Reactions/Basics/MultipleSubstrates.mo
new file mode 100644
index 0000000..3e87a00
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/MultipleSubstrates.mo
@@ -0,0 +1,10 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model MultipleSubstrates "SubstanceConnector for arbitrary number of substrates"
+ parameter Integer dimS = 5 "number of substrates";
+ BioChem.Interfaces.Nodes.SubstrateConnector s[dimS] annotation(
+ Placement(transformation(origin = {-80, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, -2.22045e-16}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-100, 0}, {-50, 0}}, color = {170, 0, 0}), Ellipse(lineColor = {170, 0, 0}, fillColor = {170, 0, 0}, extent = {{-131.2, -18.75}, {-93.75, 18.75}})}));
+end MultipleSubstrates;
diff --git a/BioChem/Interfaces/Reactions/Basics/MultipleSubstratesReversible.mo b/BioChem/Interfaces/Reactions/Basics/MultipleSubstratesReversible.mo
new file mode 100644
index 0000000..5953f45
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/MultipleSubstratesReversible.mo
@@ -0,0 +1,10 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model MultipleSubstratesReversible "SubstanceConnector for arbitrary number of substrates"
+ parameter Integer dimS = 5 "number of substrates";
+ BioChem.Interfaces.Nodes.SubstrateConnector s[dimS] annotation(
+ Placement(transformation(origin = {-80, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, -2.22045e-16}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-50.0, 0.0}, {-100.0, 0.0}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 50), Ellipse(origin = {-112.5, 0.0}, fillColor = {255, 255, 255}, extent = {{-20.0, -20.0}, {20.0, 20.0}})}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end MultipleSubstratesReversible;
diff --git a/BioChem/Interfaces/Reactions/Basics/OneProduct.mo b/BioChem/Interfaces/Reactions/Basics/OneProduct.mo
new file mode 100644
index 0000000..273521d
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/OneProduct.mo
@@ -0,0 +1,9 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model OneProduct "SubstanceConnector for one product"
+ BioChem.Interfaces.Nodes.ProductConnector p1 annotation(
+ Placement(transformation(origin = {80, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, 2.22045e-16}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{50, 0}, {100, 0}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 50)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end OneProduct;
diff --git a/BioChem/Interfaces/Reactions/Basics/OneSubstrate.mo b/BioChem/Interfaces/Reactions/Basics/OneSubstrate.mo
new file mode 100644
index 0000000..7a897eb
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/OneSubstrate.mo
@@ -0,0 +1,6 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model OneSubstrate "SubstanceConnector for one substrate"
+ annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50,0},{-100,0}}, color={170,0,0}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-80,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-2.22045e-16}, extent={{-12.5,-12.5},{12.5,12.5}})));
+end OneSubstrate;
diff --git a/BioChem/Interfaces/Reactions/Basics/OneSubstrateReversible.mo b/BioChem/Interfaces/Reactions/Basics/OneSubstrateReversible.mo
new file mode 100644
index 0000000..de7a4ec
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/OneSubstrateReversible.mo
@@ -0,0 +1,9 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model OneSubstrateReversible
+ BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(
+ Placement(transformation(origin = {-80, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 2.22045e-16}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-50.0, 0.0}, {-100.0, 0.0}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 50)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end OneSubstrateReversible;
diff --git a/BioChem/Interfaces/Reactions/Basics/Reaction.mo b/BioChem/Interfaces/Reactions/Basics/Reaction.mo
new file mode 100644
index 0000000..a4227cf
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/Reaction.mo
@@ -0,0 +1,9 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model Reaction "Basics for a reaction edge"
+ BioChem.Units.ReactionRate rr "Rate of the reaction" annotation(
+ __MathCore_reactionrate = true);
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-50, 0}, {50, 0}}, color = {170, 0, 0}), Text(origin = {-4.44089e-15, 1.42109e-14}, fillColor = {77, 77, 77}, fillPattern = FillPattern.Solid, extent = {{-100, -150}, {97.9, -100}}, textString = "%name", fontName = "Arial")}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Reaction;
diff --git a/BioChem/Interfaces/Reactions/Basics/ThreeProducts.mo b/BioChem/Interfaces/Reactions/Basics/ThreeProducts.mo
new file mode 100644
index 0000000..3733de0
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/ThreeProducts.mo
@@ -0,0 +1,13 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model ThreeProducts "SubstanceConnectors for three products"
+ BioChem.Interfaces.Nodes.ProductConnector p1 annotation(
+ Placement(transformation(origin = {100, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, 75}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.ProductConnector p3 annotation(
+ Placement(transformation(origin = {100, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, -75}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.ProductConnector p2 annotation(
+ Placement(transformation(origin = {100, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, -2.9976e-15}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{50, 0}, {100, 0}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35), Line(points = {{50, 0}, {62.5, 75}, {100, 75}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{50, 0}, {62.5, -75}, {100, -75}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35, smooth = Smooth.Bezier)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end ThreeProducts;
diff --git a/BioChem/Interfaces/Reactions/Basics/ThreeSubstrates.mo b/BioChem/Interfaces/Reactions/Basics/ThreeSubstrates.mo
new file mode 100644
index 0000000..75831b4
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/ThreeSubstrates.mo
@@ -0,0 +1,13 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model ThreeSubstrates "SubstanceConnectors for three substrates"
+ BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(
+ Placement(transformation(origin = {-100, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 75}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s3 annotation(
+ Placement(transformation(origin = {-100, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, -75}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(
+ Placement(transformation(origin = {-100, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 4.44089e-16}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-50, 0}, {-62.5, 75}, {-100, 75}}, color = {170, 0, 0}, smooth = Smooth.Bezier), Line(points = {{-100, 0}, {-50, 0}}, color = {170, 0, 0}), Line(points = {{-100, -75}, {-62.5, -75}, {-50, 0}}, color = {170, 0, 0}, smooth = Smooth.Bezier)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end ThreeSubstrates;
diff --git a/BioChem/Interfaces/Reactions/Basics/ThreeSubstratesReversible.mo b/BioChem/Interfaces/Reactions/Basics/ThreeSubstratesReversible.mo
new file mode 100644
index 0000000..fcbb653
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/ThreeSubstratesReversible.mo
@@ -0,0 +1,13 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model ThreeSubstratesReversible
+ BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(
+ Placement(transformation(origin = {-100, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 75}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(
+ Placement(transformation(origin = {-100, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 8.88178e-15}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s3 annotation(
+ Placement(transformation(origin = {-100, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, -75}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-50, 0}, {-60, 75}, {-100, 75}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{-100, 0}, {-50, 0}}, color = {170, 0, 0}, arrow = {Arrow.Open, Arrow.None}, arrowSize = 35), Line(points = {{-100, -75}, {-60.03, -75}, {-50, 0}}, color = {170, 0, 0}, arrow = {Arrow.Open, Arrow.None}, arrowSize = 35, smooth = Smooth.Bezier)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end ThreeSubstratesReversible;
diff --git a/BioChem/Interfaces/Reactions/Basics/TwoProducts.mo b/BioChem/Interfaces/Reactions/Basics/TwoProducts.mo
new file mode 100644
index 0000000..9e3fc32
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/TwoProducts.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model TwoProducts "SubstanceConnectors for two products"
+ BioChem.Interfaces.Nodes.ProductConnector p2 annotation(
+ Placement(transformation(origin = {100, -40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, -50}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.ProductConnector p1 annotation(
+ Placement(transformation(origin = {100, 40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {112.5, 50}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{50, 0}, {62.5, 50}, {102.4, 50}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{50, 0}, {62.5, -50}, {100, -50}}, color = {170, 0, 0}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 35, smooth = Smooth.Bezier)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end TwoProducts;
diff --git a/BioChem/Interfaces/Reactions/Basics/TwoSubstrates.mo b/BioChem/Interfaces/Reactions/Basics/TwoSubstrates.mo
new file mode 100644
index 0000000..2ee17e3
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/TwoSubstrates.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model TwoSubstrates "SubstanceConnectors for two substrates"
+ BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(
+ Placement(transformation(origin = {-100, 40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 50}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(
+ Placement(transformation(origin = {-100, -40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, -50}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-100, 50}, {-62.5, 50}, {-50, 0}}, color = {170, 0, 0}, smooth = Smooth.Bezier), Line(points = {{-100, -50}, {-62.5, -50}, {-50, 0}}, color = {170, 0, 0}, smooth = Smooth.Bezier)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end TwoSubstrates;
diff --git a/BioChem/Interfaces/Reactions/Basics/TwoSubstratesReversible.mo b/BioChem/Interfaces/Reactions/Basics/TwoSubstratesReversible.mo
new file mode 100644
index 0000000..a90c1cb
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/TwoSubstratesReversible.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Basics;
+
+partial model TwoSubstratesReversible
+ BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(
+ Placement(transformation(origin = {-100, 40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 50}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(
+ Placement(transformation(origin = {-100, -40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, -50}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{-100, 50}, {-62.5, 50}, {-50, 0}}, color = {170, 0, 0}, arrow = {Arrow.Open, Arrow.None}, arrowSize = 35, smooth = Smooth.Bezier), Line(points = {{-100, -50}, {-62.5, -50}, {-50, 0}}, color = {170, 0, 0}, arrow = {Arrow.Open, Arrow.None}, arrowSize = 35, smooth = Smooth.Bezier)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end TwoSubstratesReversible;
diff --git a/BioChem/Interfaces/Reactions/Basics/package.mo b/BioChem/Interfaces/Reactions/Basics/package.mo
index c9a0a68..858f984 100644
--- a/BioChem/Interfaces/Reactions/Basics/package.mo
+++ b/BioChem/Interfaces/Reactions/Basics/package.mo
@@ -1,110 +1,41 @@
within BioChem.Interfaces.Reactions;
+
package Basics "Basic properties of reactions"
extends Icons.Library;
- annotation(Documentation(info="", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- partial model OneSubstrate "SubstanceConnector for one substrate"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50,0},{-100,0}}, color={170,0,0}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-80,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-2.22045e-16}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end OneSubstrate;
-
- partial model OneProduct "SubstanceConnector for one product"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{50,0},{100,0}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=50)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ProductConnector p1 annotation(Placement(transformation(origin={80,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,2.22045e-16}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end OneProduct;
-
- model OneSubstrateReversible
- annotation(Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50.0,0.0},{-100.0,0.0}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=50)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-80,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,2.22045e-16}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end OneSubstrateReversible;
-
- model ThreeSubstratesReversible
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50,0},{-60,75},{-100,75}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{-100,0},{-50,0}}, color={170,0,0}, arrow={Arrow.Open,Arrow.None}, arrowSize=35),Line(points={{-100,-75},{-60.03,-75},{-50,0}}, color={170,0,0}, arrow={Arrow.Open,Arrow.None}, arrowSize=35, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-100,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,75}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(Placement(transformation(origin={-100,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,8.88178e-15}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s3 annotation(Placement(transformation(origin={-100,-80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-75}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end ThreeSubstratesReversible;
-
- partial model TwoSubstratesReversible
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-100,50},{-62.5,50},{-50,0}}, color={170,0,0}, arrow={Arrow.Open,Arrow.None}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{-100,-50},{-62.5,-50},{-50,0}}, color={170,0,0}, arrow={Arrow.Open,Arrow.None}, arrowSize=35, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-100,40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,50}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(Placement(transformation(origin={-100,-40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-50}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end TwoSubstratesReversible;
-
- partial model TwoSubstrates "SubstanceConnectors for two substrates"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-100,50},{-62.5,50},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,-50},{-62.5,-50},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-100,40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,50}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(Placement(transformation(origin={-100,-40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-50}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end TwoSubstrates;
-
- partial model TwoProducts "SubstanceConnectors for two products"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{50,0},{62.5,50},{102.4,50}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{50,0},{62.5,-50},{100,-50}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ProductConnector p2 annotation(Placement(transformation(origin={100,-40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,-50}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.ProductConnector p1 annotation(Placement(transformation(origin={100,40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,50}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end TwoProducts;
-
- partial model ThreeSubstrates "SubstanceConnectors for three substrates"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50,0},{-62.5,75},{-100,75}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,0},{-50,0}}, color={170,0,0}),Line(points={{-100,-75},{-62.5,-75},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-100,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,75}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s3 annotation(Placement(transformation(origin={-100,-80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-75}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(Placement(transformation(origin={-100,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,4.44089e-16}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end ThreeSubstrates;
-
- partial model ThreeProducts "SubstanceConnectors for three products"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{50,0},{100,0}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35),Line(points={{50,0},{62.5,75},{100,75}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{50,0},{62.5,-75},{100,-75}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ProductConnector p1 annotation(Placement(transformation(origin={100,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,75}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.ProductConnector p3 annotation(Placement(transformation(origin={100,-80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,-75}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.ProductConnector p2 annotation(Placement(transformation(origin={100,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,-2.9976e-15}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end ThreeProducts;
-
- partial model Reaction "Basics for a reaction edge"
- annotation(Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50,0},{50,0}}, color={170,0,0}),Text(origin={-4.44089e-15,1.42109e-14}, fillColor={77,77,77}, fillPattern=FillPattern.Solid, extent={{-100,-150},{97.9,-100}}, textString="%name", fontName="Arial")}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Units.ReactionRate rr "Rate of the reaction" annotation(__MathCore_reactionrate=true);
- end Reaction;
-
- model FourProducts
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{50,0},{62.5,87.5},{100,87.5}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{50,0},{62.5,-87.5},{100,-87.5}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{50,0},{62.5,37.5},{100,37.5}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{50,0},{62.5,-37.5},{100,-37.5}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=35, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ProductConnector p4 annotation(Placement(transformation(origin={100,-40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,-87.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.ProductConnector p2 annotation(Placement(transformation(origin={100,-40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,-37.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.ProductConnector p3 annotation(Placement(transformation(origin={100,40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,37.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.ProductConnector p1 annotation(Placement(transformation(origin={100,40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={112.5,87.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end FourProducts;
-
- model FourSubstrates
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-100,87.5},{-62.5,87.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,-87.5},{-62.5,-87.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,-37.5},{-62.5,-37.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,37.5},{-62.5,37.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.SubstrateConnector s4 annotation(Placement(transformation(origin={-90,-87.5}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-87.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(Placement(transformation(origin={-90,-35}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-37.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s3 annotation(Placement(transformation(origin={-90,25}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,37.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-87.5,87.5}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,87.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end FourSubstrates;
-
- model FourSubstratesReversible
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-100,87.5},{-62.5,87.5},{-50,0}}, color={170,0,0}, arrow={Arrow.Open,Arrow.None}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{-100,-87.5},{-62.5,-87.5},{-50,0}}, color={170,0,0}, arrow={Arrow.Open,Arrow.None}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{-100,-37.5},{-62.5,-37.5},{-50,0}}, color={170,0,0}, arrow={Arrow.Open,Arrow.None}, arrowSize=35, smooth=Smooth.Bezier),Line(points={{-100,37.5},{-62.5,37.5},{-50,0}}, color={170,0,0}, arrow={Arrow.Open,Arrow.None}, arrowSize=35, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.SubstrateConnector s4 annotation(Placement(transformation(origin={-90,-87.5}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-87.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(Placement(transformation(origin={-90,-35}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-37.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s3 annotation(Placement(transformation(origin={-90,25}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,37.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-87.5,87.5}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,87.5}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end FourSubstratesReversible;
-
- partial model MultipleSubstrates "SubstanceConnector for arbitrary number of substrates"
- annotation(Diagram(coordinateSystem(extent={{-148.5,105},{148.5,-105}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-100,0},{-50,0}}, color={170,0,0}),Ellipse(lineColor={170,0,0}, fillColor={170,0,0}, extent={{-131.2,-18.75},{-93.75,18.75}})}));
- parameter Integer dimS=5 "number of substrates";
- BioChem.Interfaces.Nodes.SubstrateConnector s[dimS] annotation(Placement(transformation(origin={-80,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-2.22045e-16}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end MultipleSubstrates;
-
- partial model MultipleProducts "SubstanceConnector for arbitrary number of substrates"
- annotation(Diagram(coordinateSystem(extent={{-148.5,105},{148.5,-105}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{48.33,0.0},{98.33,0.0}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=50),Ellipse(origin={112.5,-0.0}, lineColor={170,0,0}, fillColor={170,0,0}, extent={{-20.0,-20.0},{20.0,20.0}})}));
- parameter Integer dimP=5 "number of products";
- BioChem.Interfaces.Nodes.ProductConnector p[dimP] annotation(Placement(transformation(origin={80.0,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={112.5,0.0}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end MultipleProducts;
-
- partial model MultipleSubstratesReversible "SubstanceConnector for arbitrary number of substrates"
- annotation(Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50.0,0.0},{-100.0,0.0}}, color={170,0,0}, arrow={Arrow.None,Arrow.Open}, arrowSize=50),Ellipse(origin={-112.5,0.0}, fillColor={255,255,255}, extent={{-20.0,-20.0},{20.0,20.0}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- parameter Integer dimS=5 "number of substrates";
- BioChem.Interfaces.Nodes.SubstrateConnector s[dimS] annotation(Placement(transformation(origin={-80,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-2.22045e-16}, extent={{-12.5,-12.5},{12.5,12.5}})));
- end MultipleSubstratesReversible;
-
- partial model FastEquilibrium "Basics for a reaction edge"
- annotation(Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50.0,0.0},{50.0,0.0}}, color={0,0,255}, pattern=LinePattern.DashDotDot, thickness=2),Text(origin={-0.0,0.0}, fillColor={77,77,77}, fillPattern=FillPattern.Solid, extent={{-100.0,-150.0},{97.9,-100.0}}, textString="%name", fontName="Arial")}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- end FastEquilibrium;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ annotation(
+ Documentation(info = "", revisions = ""),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
end Basics;
From 41e989329df10375a37e39701d87d2fbca81655d Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Tue, 5 May 2020 20:53:04 +0100
Subject: [PATCH 07/45] Separate
BioChem/Interfaces/Reactions/Modifiers/package.mo into separate components
---
.../Reactions/Modifiers/Activator.mo | 11 ++
.../Reactions/Modifiers/ActivatorBackward.mo | 11 ++
.../Reactions/Modifiers/ActivatorForward.mo | 11 ++
.../Reactions/Modifiers/Inhibitor.mo | 11 ++
.../Reactions/Modifiers/InhibitorBackward.mo | 11 ++
.../Reactions/Modifiers/InhibitorForward.mo | 11 ++
.../Reactions/Modifiers/Modifier.mo | 11 ++
.../Reactions/Modifiers/ModifierBackward.mo | 11 ++
.../Reactions/Modifiers/ModifierForward.mo | 8 ++
.../Reactions/Modifiers/MultipleModifiers.mo | 12 ++
.../Reactions/Modifiers/ThreeModifiers.mo | 17 +++
.../Reactions/Modifiers/TwoModifiers.mo | 14 +++
.../Interfaces/Reactions/Modifiers/package.mo | 117 ++++--------------
13 files changed, 165 insertions(+), 91 deletions(-)
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/Activator.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/ActivatorBackward.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/ActivatorForward.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/Inhibitor.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/InhibitorBackward.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/InhibitorForward.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/Modifier.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/ModifierBackward.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/ModifierForward.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/MultipleModifiers.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/ThreeModifiers.mo
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/TwoModifiers.mo
diff --git a/BioChem/Interfaces/Reactions/Modifiers/Activator.mo b/BioChem/Interfaces/Reactions/Modifiers/Activator.mo
new file mode 100644
index 0000000..655c26e
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/Activator.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+model Activator "Basics for a forward activator in a reaction edge"
+ BioChem.Interfaces.Nodes.ActivatorConnector a1 annotation(
+ Placement(transformation(origin = {0, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-1.28786e-14, 90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ a1.r = 0;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, 56.25}, {0, 6.25}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 25)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Activator;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/ActivatorBackward.mo b/BioChem/Interfaces/Reactions/Modifiers/ActivatorBackward.mo
new file mode 100644
index 0000000..b717b65
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/ActivatorBackward.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+partial model ActivatorBackward "Basics for a backward activator in a reaction edge"
+ BioChem.Interfaces.Nodes.ActivatorConnector aB1 annotation(
+ Placement(transformation(origin = {-6.66134e-16, -90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {1.77636e-15, -90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ aB1.r = 0;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, -56.25}, {0, -6.25}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 25)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end ActivatorBackward;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/ActivatorForward.mo b/BioChem/Interfaces/Reactions/Modifiers/ActivatorForward.mo
new file mode 100644
index 0000000..c38ed49
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/ActivatorForward.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+partial model ActivatorForward "Basics for a forward activator in a reaction edge"
+ BioChem.Interfaces.Nodes.ActivatorConnector aF1 annotation(
+ Placement(transformation(origin = {-4.21885e-15, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-8.88178e-16, 90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ aF1.r = 0;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, 56.25}, {0, 6.25}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 25)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end ActivatorForward;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/Inhibitor.mo b/BioChem/Interfaces/Reactions/Modifiers/Inhibitor.mo
new file mode 100644
index 0000000..077462d
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/Inhibitor.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+model Inhibitor
+ BioChem.Interfaces.Nodes.InhibitorConnector i1 annotation(
+ Placement(transformation(origin = {0, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-9.99201e-15, 90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ i1.r = 0;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, 56.25}, {0, 6.25}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 25)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Inhibitor;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/InhibitorBackward.mo b/BioChem/Interfaces/Reactions/Modifiers/InhibitorBackward.mo
new file mode 100644
index 0000000..6c76951
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/InhibitorBackward.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+partial model InhibitorBackward "Basics for a backward inhibitor in a reaction edge"
+ BioChem.Interfaces.Nodes.InhibitorConnector iB1 annotation(
+ Placement(transformation(origin = {-5.55112e-16, -90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-4.88498e-15, -90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ iB1.r = 0;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, -56.25}, {0, -6.25}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 25)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end InhibitorBackward;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/InhibitorForward.mo b/BioChem/Interfaces/Reactions/Modifiers/InhibitorForward.mo
new file mode 100644
index 0000000..cd1dd82
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/InhibitorForward.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+partial model InhibitorForward "Basics for a forward inhibitor in a reaction edge"
+ BioChem.Interfaces.Nodes.InhibitorConnector iF1 annotation(
+ Placement(transformation(origin = {-2.66454e-15, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {1.06581e-14, 90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ iF1.r = 0;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, 56.25}, {0, 6.25}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 25)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end InhibitorForward;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/Modifier.mo b/BioChem/Interfaces/Reactions/Modifiers/Modifier.mo
new file mode 100644
index 0000000..42ddddf
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/Modifier.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+model Modifier
+ BioChem.Interfaces.Nodes.ModifierConnector m1 annotation(
+ Placement(transformation(origin = {5.55111e-16, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-3.10862e-15, 90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ m1.r = 0;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, 56.25}, {0, 6.25}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 30)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end Modifier;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/ModifierBackward.mo b/BioChem/Interfaces/Reactions/Modifiers/ModifierBackward.mo
new file mode 100644
index 0000000..a432819
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/ModifierBackward.mo
@@ -0,0 +1,11 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+partial model ModifierBackward "Basics for a backward modifier in a reaction edge"
+ BioChem.Interfaces.Nodes.ModifierConnector mB1 annotation(
+ Placement(transformation(origin = {0, -90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-6.66134e-15, -90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ mB1.r = 0;
+ annotation(
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, -56.25}, {0, -6.715}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 25)}));
+end ModifierBackward;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/ModifierForward.mo b/BioChem/Interfaces/Reactions/Modifiers/ModifierForward.mo
new file mode 100644
index 0000000..8cb364e
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/ModifierForward.mo
@@ -0,0 +1,8 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+partial model ModifierForward "Basics for a forward modifier in a reaction edge"
+ annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}));
+ BioChem.Interfaces.Nodes.ModifierConnector mF1 annotation(Placement(transformation(origin={1.11022e-16,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-1.5099e-14,90}, extent={{-20,-20},{20,20}})));
+equation
+ mF1.r=0;
+end ModifierForward;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/MultipleModifiers.mo b/BioChem/Interfaces/Reactions/Modifiers/MultipleModifiers.mo
new file mode 100644
index 0000000..5d4825d
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/MultipleModifiers.mo
@@ -0,0 +1,12 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+model MultipleModifiers
+ parameter Integer dimM "number of modifiers";
+ BioChem.Interfaces.Nodes.ModifierConnector m[dimM] annotation(
+ Placement(transformation(origin = {-2.9976e-15, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-8.88178e-16, 90}, extent = {{-18.75, -18.75}, {18.75, 18.75}})));
+equation
+ m.r = fill(0, dimM);
+ annotation(
+ Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(lineColor = {255, 255, 0}, fillColor = {255, 255, 127}, fillPattern = FillPattern.Solid, lineThickness = 2, extent = {{-25.0, 65.0}, {25.0, 115.0}}), Line(origin = {0.0, 29.1679}, points = {{0.0, 29.17}, {0.0, -29.17}}, arrow = {Arrow.None, Arrow.Filled}, arrowSize = 30)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end MultipleModifiers;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/ThreeModifiers.mo b/BioChem/Interfaces/Reactions/Modifiers/ThreeModifiers.mo
new file mode 100644
index 0000000..6bc584b
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/ThreeModifiers.mo
@@ -0,0 +1,17 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+partial model ThreeModifiers "Basics for three modifiers in a reaction edge"
+ BioChem.Interfaces.Nodes.ModifierConnector m1 annotation(
+ Placement(transformation(origin = {-50, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-50, 90}, extent = {{-20, -20}, {20, 20}})));
+ BioChem.Interfaces.Nodes.ModifierConnector m2 annotation(
+ Placement(transformation(origin = {-3.33065e-16, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {1.11022e-15, 90}, extent = {{-20, -20}, {20, 20}})));
+ BioChem.Interfaces.Nodes.ModifierConnector m3 annotation(
+ Placement(transformation(origin = {50, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {50, 90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ 0 = m1.r;
+ 0 = m2.r;
+ 0 = m3.r;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, 56.25}, {0, 6.25}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 25)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end ThreeModifiers;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/TwoModifiers.mo b/BioChem/Interfaces/Reactions/Modifiers/TwoModifiers.mo
new file mode 100644
index 0000000..23a631a
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/TwoModifiers.mo
@@ -0,0 +1,14 @@
+within BioChem.Interfaces.Reactions.Modifiers;
+
+model TwoModifiers "Basics for two modifiers in a reaction edge"
+ BioChem.Interfaces.Nodes.ModifierConnector m2 annotation(
+ Placement(transformation(origin = {50, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {50, 90}, extent = {{-20, -20}, {20, 20}})));
+ BioChem.Interfaces.Nodes.ModifierConnector m1 annotation(
+ Placement(transformation(origin = {-50, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-50, 90}, extent = {{-20, -20}, {20, 20}})));
+equation
+ 0 = m1.r;
+ 0 = m2.r;
+ annotation(
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, 56.25}, {0, 6.25}}, color = {0, 0, 255}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 25)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end TwoModifiers;
diff --git a/BioChem/Interfaces/Reactions/Modifiers/package.mo b/BioChem/Interfaces/Reactions/Modifiers/package.mo
index 9c46117..d70826d 100644
--- a/BioChem/Interfaces/Reactions/Modifiers/package.mo
+++ b/BioChem/Interfaces/Reactions/Modifiers/package.mo
@@ -1,96 +1,31 @@
within BioChem.Interfaces.Reactions;
+
package Modifiers "Partial models of modifiers to reactions"
extends Icons.Library;
- annotation(Documentation(info="", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- partial model ModifierForward "Basics for a forward modifier in a reaction edge"
- annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}));
- BioChem.Interfaces.Nodes.ModifierConnector mF1 annotation(Placement(transformation(origin={1.11022e-16,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-1.5099e-14,90}, extent={{-20,-20},{20,20}})));
- equation
- mF1.r=0;
- end ModifierForward;
-
- partial model ModifierBackward "Basics for a backward modifier in a reaction edge"
- annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,-56.25},{0,-6.715}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}));
- BioChem.Interfaces.Nodes.ModifierConnector mB1 annotation(Placement(transformation(origin={0,-90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-6.66134e-15,-90}, extent={{-20,-20},{20,20}})));
- equation
- mB1.r=0;
- end ModifierBackward;
-
- partial model InhibitorForward "Basics for a forward inhibitor in a reaction edge"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.InhibitorConnector iF1 annotation(Placement(transformation(origin={-2.66454e-15,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={1.06581e-14,90}, extent={{-20,-20},{20,20}})));
- equation
- iF1.r=0;
- end InhibitorForward;
-
- partial model InhibitorBackward "Basics for a backward inhibitor in a reaction edge"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,-56.25},{0,-6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.InhibitorConnector iB1 annotation(Placement(transformation(origin={-5.55112e-16,-90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-4.88498e-15,-90}, extent={{-20,-20},{20,20}})));
- equation
- iB1.r=0;
- end InhibitorBackward;
-
- partial model ActivatorForward "Basics for a forward activator in a reaction edge"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ActivatorConnector aF1 annotation(Placement(transformation(origin={-4.21885e-15,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-8.88178e-16,90}, extent={{-20,-20},{20,20}})));
- equation
- aF1.r=0;
- end ActivatorForward;
-
- partial model ActivatorBackward "Basics for a backward activator in a reaction edge"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,-56.25},{0,-6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ActivatorConnector aB1 annotation(Placement(transformation(origin={-6.66134e-16,-90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={1.77636e-15,-90}, extent={{-20,-20},{20,20}})));
- equation
- aB1.r=0;
- end ActivatorBackward;
-
- model TwoModifiers "Basics for two modifiers in a reaction edge"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ModifierConnector m2 annotation(Placement(transformation(origin={50,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={50,90}, extent={{-20,-20},{20,20}})));
- BioChem.Interfaces.Nodes.ModifierConnector m1 annotation(Placement(transformation(origin={-50,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-50,90}, extent={{-20,-20},{20,20}})));
- equation
- 0=m1.r;
- 0=m2.r;
- end TwoModifiers;
-
- model Modifier
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=30)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ModifierConnector m1 annotation(Placement(transformation(origin={5.55111e-16,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-3.10862e-15,90}, extent={{-20,-20},{20,20}})));
- equation
- m1.r=0;
- end Modifier;
-
- model Activator "Basics for a forward activator in a reaction edge"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ActivatorConnector a1 annotation(Placement(transformation(origin={0,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-1.28786e-14,90}, extent={{-20,-20},{20,20}})));
- equation
- a1.r=0;
- end Activator;
-
- model Inhibitor
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.InhibitorConnector i1 annotation(Placement(transformation(origin={0,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-9.99201e-15,90}, extent={{-20,-20},{20,20}})));
- equation
- i1.r=0;
- end Inhibitor;
-
- partial model ThreeModifiers "Basics for three modifiers in a reaction edge"
- annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- BioChem.Interfaces.Nodes.ModifierConnector m1 annotation(Placement(transformation(origin={-50,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-50,90}, extent={{-20,-20},{20,20}})));
- BioChem.Interfaces.Nodes.ModifierConnector m2 annotation(Placement(transformation(origin={-3.33065e-16,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={1.11022e-15,90}, extent={{-20,-20},{20,20}})));
- BioChem.Interfaces.Nodes.ModifierConnector m3 annotation(Placement(transformation(origin={50,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={50,90}, extent={{-20,-20},{20,20}})));
- equation
- 0=m1.r;
- 0=m2.r;
- 0=m3.r;
- end ThreeModifiers;
-
- model MultipleModifiers
- annotation(Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(lineColor={255,255,0}, fillColor={255,255,127}, fillPattern=FillPattern.Solid, lineThickness=2, extent={{-25.0,65.0},{25.0,115.0}}),Line(origin={0.0,29.1679}, points={{0.0,29.17},{0.0,-29.17}}, arrow={Arrow.None,Arrow.Filled}, arrowSize=30)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- parameter Integer dimM "number of modifiers";
- BioChem.Interfaces.Nodes.ModifierConnector m[dimM] annotation(Placement(transformation(origin={-2.9976e-15,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-8.88178e-16,90}, extent={{-18.75,-18.75},{18.75,18.75}})));
- equation
- m.r=fill(0, dimM);
- end MultipleModifiers;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ annotation(
+ Documentation(info = "", revisions = ""),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
end Modifiers;
From 8428c50e5a8fd1f201d8ba7ea5a2c671987e23d5 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Tue, 5 May 2020 20:59:48 +0100
Subject: [PATCH 08/45] remove extra spaces from several modified package.mo
---
.../Interfaces/Reactions/Basics/package.mo | 31 -------------------
.../Interfaces/Reactions/Modifiers/package.mo | 21 -------------
2 files changed, 52 deletions(-)
diff --git a/BioChem/Interfaces/Reactions/Basics/package.mo b/BioChem/Interfaces/Reactions/Basics/package.mo
index 858f984..e804aff 100644
--- a/BioChem/Interfaces/Reactions/Basics/package.mo
+++ b/BioChem/Interfaces/Reactions/Basics/package.mo
@@ -3,37 +3,6 @@ within BioChem.Interfaces.Reactions;
package Basics "Basic properties of reactions"
extends Icons.Library;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
annotation(
Documentation(info = "", revisions = ""),
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
diff --git a/BioChem/Interfaces/Reactions/Modifiers/package.mo b/BioChem/Interfaces/Reactions/Modifiers/package.mo
index d70826d..48ba82e 100644
--- a/BioChem/Interfaces/Reactions/Modifiers/package.mo
+++ b/BioChem/Interfaces/Reactions/Modifiers/package.mo
@@ -3,27 +3,6 @@ within BioChem.Interfaces.Reactions;
package Modifiers "Partial models of modifiers to reactions"
extends Icons.Library;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
annotation(
Documentation(info = "", revisions = ""),
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
From f94a7beea0455efd5d548326da05611ea3bf5574 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Tue, 5 May 2020 21:23:32 +0100
Subject: [PATCH 09/45] keep model declaration using partial or without partial
identical to the original version
---
BioChem/Interfaces/Reactions/Basics/FourSubstratesReversible.mo | 2 +-
BioChem/Interfaces/Reactions/Basics/OneSubstrateReversible.mo | 2 +-
.../Interfaces/Reactions/Basics/ThreeSubstratesReversible.mo | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/BioChem/Interfaces/Reactions/Basics/FourSubstratesReversible.mo b/BioChem/Interfaces/Reactions/Basics/FourSubstratesReversible.mo
index 2aed3bd..c0a19ba 100644
--- a/BioChem/Interfaces/Reactions/Basics/FourSubstratesReversible.mo
+++ b/BioChem/Interfaces/Reactions/Basics/FourSubstratesReversible.mo
@@ -1,6 +1,6 @@
within BioChem.Interfaces.Reactions.Basics;
-partial model FourSubstratesReversible
+model FourSubstratesReversible
BioChem.Interfaces.Nodes.SubstrateConnector s4 annotation(
Placement(transformation(origin = {-90, -87.5}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, -87.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(
diff --git a/BioChem/Interfaces/Reactions/Basics/OneSubstrateReversible.mo b/BioChem/Interfaces/Reactions/Basics/OneSubstrateReversible.mo
index de7a4ec..3535a92 100644
--- a/BioChem/Interfaces/Reactions/Basics/OneSubstrateReversible.mo
+++ b/BioChem/Interfaces/Reactions/Basics/OneSubstrateReversible.mo
@@ -1,6 +1,6 @@
within BioChem.Interfaces.Reactions.Basics;
-partial model OneSubstrateReversible
+model OneSubstrateReversible
BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(
Placement(transformation(origin = {-80, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 2.22045e-16}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
annotation(
diff --git a/BioChem/Interfaces/Reactions/Basics/ThreeSubstratesReversible.mo b/BioChem/Interfaces/Reactions/Basics/ThreeSubstratesReversible.mo
index fcbb653..25e78bf 100644
--- a/BioChem/Interfaces/Reactions/Basics/ThreeSubstratesReversible.mo
+++ b/BioChem/Interfaces/Reactions/Basics/ThreeSubstratesReversible.mo
@@ -1,6 +1,6 @@
within BioChem.Interfaces.Reactions.Basics;
-partial model ThreeSubstratesReversible
+model ThreeSubstratesReversible
BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(
Placement(transformation(origin = {-100, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-112.5, 75}, extent = {{-12.5, -12.5}, {12.5, 12.5}})));
BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(
From 17c8e40cc161a2c13781c1682b732d4d548f7248 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Wed, 6 May 2020 00:47:15 +0100
Subject: [PATCH 10/45] package.order files to be included in the repository
---
BioChem/Interfaces/Compartments/package.order | 2 +
BioChem/Interfaces/Nodes/package.order | 6 +++
.../Interfaces/Reactions/Basics/package.order | 17 ++++++
.../Reactions/Modifiers/package.order | 12 +++++
BioChem/Interfaces/Reactions/package.order | 52 +++++++++++++++++++
.../Substances/InputSubstance.bak-mo | 26 ++++++++++
BioChem/Interfaces/Substances/package.order | 2 +
BioChem/Interfaces/package.order | 4 ++
8 files changed, 121 insertions(+)
create mode 100644 BioChem/Interfaces/Compartments/package.order
create mode 100644 BioChem/Interfaces/Nodes/package.order
create mode 100644 BioChem/Interfaces/Reactions/Basics/package.order
create mode 100644 BioChem/Interfaces/Reactions/Modifiers/package.order
create mode 100644 BioChem/Interfaces/Reactions/package.order
create mode 100644 BioChem/Interfaces/Substances/InputSubstance.bak-mo
create mode 100644 BioChem/Interfaces/Substances/package.order
create mode 100644 BioChem/Interfaces/package.order
diff --git a/BioChem/Interfaces/Compartments/package.order b/BioChem/Interfaces/Compartments/package.order
new file mode 100644
index 0000000..702e805
--- /dev/null
+++ b/BioChem/Interfaces/Compartments/package.order
@@ -0,0 +1,2 @@
+Compartment
+MainCompartment
diff --git a/BioChem/Interfaces/Nodes/package.order b/BioChem/Interfaces/Nodes/package.order
new file mode 100644
index 0000000..81639b7
--- /dev/null
+++ b/BioChem/Interfaces/Nodes/package.order
@@ -0,0 +1,6 @@
+ActivatorConnector
+InhibitorConnector
+ModifierConnector
+ProductConnector
+SubstanceConnector
+SubstrateConnector
diff --git a/BioChem/Interfaces/Reactions/Basics/package.order b/BioChem/Interfaces/Reactions/Basics/package.order
new file mode 100644
index 0000000..42795fb
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Basics/package.order
@@ -0,0 +1,17 @@
+OneSubstrate
+OneProduct
+OneSubstrateReversible
+ThreeSubstratesReversible
+TwoSubstratesReversible
+TwoSubstrates
+TwoProducts
+ThreeSubstrates
+ThreeProducts
+Reaction
+FourProducts
+FourSubstrates
+FourSubstratesReversible
+MultipleSubstrates
+MultipleProducts
+MultipleSubstratesReversible
+FastEquilibrium
diff --git a/BioChem/Interfaces/Reactions/Modifiers/package.order b/BioChem/Interfaces/Reactions/Modifiers/package.order
new file mode 100644
index 0000000..e35cac9
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/Modifiers/package.order
@@ -0,0 +1,12 @@
+ModifierForward
+ModifierBackward
+InhibitorForward
+InhibitorBackward
+ActivatorForward
+ActivatorBackward
+TwoModifiers
+Modifier
+Activator
+Inhibitor
+ThreeModifiers
+MultipleModifiers
diff --git a/BioChem/Interfaces/Reactions/package.order b/BioChem/Interfaces/Reactions/package.order
new file mode 100644
index 0000000..3194dae
--- /dev/null
+++ b/BioChem/Interfaces/Reactions/package.order
@@ -0,0 +1,52 @@
+Modifiers
+Basics
+Uur
+Uui
+Utr
+Uti
+Ubr
+Ubi
+Tur
+Tui
+Ttr
+Tti
+Tbr
+Tbi
+Bur
+Bui
+Btr
+Bti
+Bbr
+Bbi
+Qbi
+Qbr
+Qti
+Qtr
+Qui
+Qur
+Qqi
+Qqr
+Uqr
+Uqi
+Bqi
+Bqr
+Tqr
+Tqi
+Mmi
+Bmi
+Qmi
+Tmi
+Umi
+Mqi
+Mti
+Mbi
+Mui
+Mbr
+Mmr
+Mqr
+Mtr
+Mur
+Umr
+Bmr
+Qmr
+Tmr
diff --git a/BioChem/Interfaces/Substances/InputSubstance.bak-mo b/BioChem/Interfaces/Substances/InputSubstance.bak-mo
new file mode 100644
index 0000000..2318cf7
--- /dev/null
+++ b/BioChem/Interfaces/Substances/InputSubstance.bak-mo
@@ -0,0 +1,26 @@
+within BioChem.Interfaces.SubstancesX;
+
+partial model InputSubstance "Basics for a substance"
+ input BioChem.Units.Concentration c "Current concentration of substance (mM)";
+ BioChem.Units.MolarFlowRate rNet "Net flow rate of substance into the node";
+ BioChem.Units.AmountOfSubstance n "Number of moles of substance in pool (mol)";
+ BioChem.Interfaces.Nodes.SubstanceConnector n1 annotation(
+ Placement(transformation(extent = {{-10, -10}, {10, 10}}), iconTransformation(extent = {{-16, -16}, {16, 16}})));
+protected
+ outer BioChem.Units.Volume V "Compartment volume";
+equation
+ rNet = n1.r;
+ c = n1.c;
+ V = n1.V;
+ c = n / V;
+ annotation(
+ Documentation(info = "
+
+The base class for all substances.
+
+Corresponds to SBML species changed by SBML rules and with the boundaryCondition attribute set to true and the constant attribute set to false.
+
+"),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(fillColor = {123, 152, 255}, extent = {{-50, -50}, {50, 50}})}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end InputSubstance;
diff --git a/BioChem/Interfaces/Substances/package.order b/BioChem/Interfaces/Substances/package.order
new file mode 100644
index 0000000..860249e
--- /dev/null
+++ b/BioChem/Interfaces/Substances/package.order
@@ -0,0 +1,2 @@
+Substance
+InputSubstance
diff --git a/BioChem/Interfaces/package.order b/BioChem/Interfaces/package.order
new file mode 100644
index 0000000..23ddff2
--- /dev/null
+++ b/BioChem/Interfaces/package.order
@@ -0,0 +1,4 @@
+Substances
+Reactions
+Nodes
+Compartments
From 7ca95698dd85f41d1bc1591364d1045c3ad57833 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Wed, 6 May 2020 00:55:30 +0100
Subject: [PATCH 11/45] decompose BioChem/Compartments/package.mo into separate
components
---
BioChem/Compartments/Compartment.mo | 13 ++++++++++
BioChem/Compartments/MainCompartment.mo | 17 +++++++++++++
BioChem/Compartments/package.mo | 34 +++++--------------------
BioChem/Compartments/package.order | 2 ++
4 files changed, 39 insertions(+), 27 deletions(-)
create mode 100644 BioChem/Compartments/Compartment.mo
create mode 100644 BioChem/Compartments/MainCompartment.mo
create mode 100644 BioChem/Compartments/package.order
diff --git a/BioChem/Compartments/Compartment.mo b/BioChem/Compartments/Compartment.mo
new file mode 100644
index 0000000..625c85a
--- /dev/null
+++ b/BioChem/Compartments/Compartment.mo
@@ -0,0 +1,13 @@
+within BioChem.Compartments;
+
+model Compartment "Default compartment (constant volume)"
+ annotation(Documentation(info="
+Compartment
+
+Default compartment model.
+
+", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{-100,-170},{100,-120}}, textString="%name", fontName="Arial"),Rectangle(lineColor={0,85,0}, fillColor={199,199,149}, fillPattern=FillPattern.Solid, lineThickness=10, extent={{-110,-110},{110,110}}, radius=20)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
+ extends BioChem.Interfaces.Compartments.Compartment(V(stateSelect=StateSelect.prefer));
+equation
+ der(V)=0 "Compartment volume is constant";
+end Compartment;
diff --git a/BioChem/Compartments/MainCompartment.mo b/BioChem/Compartments/MainCompartment.mo
new file mode 100644
index 0000000..9eb89e2
--- /dev/null
+++ b/BioChem/Compartments/MainCompartment.mo
@@ -0,0 +1,17 @@
+within BioChem.Compartments;
+
+model MainCompartment "Main compartment (constant volume)"
+ extends BioChem.Interfaces.Compartments.MainCompartment(V(stateSelect = StateSelect.prefer));
+equation
+ der(V) = 0 "Compartment volume is constant";
+ annotation(
+ Documentation(info = "
+MainCompartment
+
+
+Main compartment model.
+
+", revisions = ""),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillColor = {0, 85, 0}, fillPattern = FillPattern.Solid, extent = {{-100, -170}, {100, -120}}, textString = "%name", fontName = "Arial"), Rectangle(lineColor = {0, 85, 0}, fillColor = {199, 199, 149}, fillPattern = FillPattern.Solid, lineThickness = 10, extent = {{-110, -110}, {110, 110}}, radius = 20), Text(fillPattern = FillPattern.Solid, extent = {{-82.12, -80}, {80, 80}}, textString = "main", fontName = "Arial", textStyle = {TextStyle.Bold})}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end MainCompartment;
diff --git a/BioChem/Compartments/package.mo b/BioChem/Compartments/package.mo
index 0008445..84af0d1 100644
--- a/BioChem/Compartments/package.mo
+++ b/BioChem/Compartments/package.mo
@@ -1,7 +1,10 @@
within BioChem;
+
package Compartments "Different types of compartments used in the package"
extends Icons.Library;
- annotation(Documentation(info="
+
+ annotation(
+ Documentation(info = "
Compartments
@@ -18,30 +21,7 @@ The classes in the package so far are illustrated in
- ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(origin={5,-7.55952}, lineColor={0,85,0}, fillColor={199,199,149}, fillPattern=FillPattern.Solid, lineThickness=10, extent={{-70,-70},{40,30}}, radius=20)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- model Compartment "Default compartment (constant volume)"
- annotation(Documentation(info="
-Compartment
-
- Default compartment model.
-
- ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{-100,-170},{100,-120}}, textString="%name", fontName="Arial"),Rectangle(lineColor={0,85,0}, fillColor={199,199,149}, fillPattern=FillPattern.Solid, lineThickness=10, extent={{-110,-110},{110,110}}, radius=20)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- extends BioChem.Interfaces.Compartments.Compartment(V(stateSelect=StateSelect.prefer));
- equation
- der(V)=0 "Compartment volume is constant";
- end Compartment;
-
- model MainCompartment "Main compartment (constant volume)"
- annotation(Documentation(info="
-MainCompartment
-
-
- Main compartment model.
-
- ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{-100,-170},{100,-120}}, textString="%name", fontName="Arial"),Rectangle(lineColor={0,85,0}, fillColor={199,199,149}, fillPattern=FillPattern.Solid, lineThickness=10, extent={{-110,-110},{110,110}}, radius=20),Text(fillPattern=FillPattern.Solid, extent={{-82.12,-80},{80,80}}, textString="main", fontName="Arial", textStyle={TextStyle.Bold})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- extends BioChem.Interfaces.Compartments.MainCompartment(V(stateSelect=StateSelect.prefer));
- equation
- der(V)=0 "Compartment volume is constant";
- end MainCompartment;
-
+ ", revisions = ""),
+ Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Rectangle(origin = {5, -7.55952}, lineColor = {0, 85, 0}, fillColor = {199, 199, 149}, fillPattern = FillPattern.Solid, lineThickness = 10, extent = {{-70, -70}, {40, 30}}, radius = 20)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
end Compartments;
diff --git a/BioChem/Compartments/package.order b/BioChem/Compartments/package.order
new file mode 100644
index 0000000..702e805
--- /dev/null
+++ b/BioChem/Compartments/package.order
@@ -0,0 +1,2 @@
+Compartment
+MainCompartment
From ee3a0aa6813a17cdfa0d8e37748ef233a2ae62c8 Mon Sep 17 00:00:00 2001
From: Atiyah Elsheikh
Date: Wed, 6 May 2020 01:03:43 +0100
Subject: [PATCH 12/45] decompose BioChem/Substances/package.mo into separate
components
---
BioChem/Substances/AmbientSubstance.mo | 17 +++++++
BioChem/Substances/BoundarySubstance.mo | 18 +++++++
BioChem/Substances/SignalSubstance.mo | 15 ++++++
BioChem/Substances/Substance.mo | 12 +++++
BioChem/Substances/package.mo | 63 +++++--------------------
BioChem/Substances/package.order | 4 ++
6 files changed, 78 insertions(+), 51 deletions(-)
create mode 100644 BioChem/Substances/AmbientSubstance.mo
create mode 100644 BioChem/Substances/BoundarySubstance.mo
create mode 100644 BioChem/Substances/SignalSubstance.mo
create mode 100644 BioChem/Substances/Substance.mo
create mode 100644 BioChem/Substances/package.order
diff --git a/BioChem/Substances/AmbientSubstance.mo b/BioChem/Substances/AmbientSubstance.mo
new file mode 100644
index 0000000..799d12f
--- /dev/null
+++ b/BioChem/Substances/AmbientSubstance.mo
@@ -0,0 +1,17 @@
+within BioChem.Substances;
+
+model AmbientSubstance "Substance used as a reservoir in reactions"
+ extends BioChem.Interfaces.Substances.Substance;
+equation
+ der(n) = 0;
+ annotation(
+ Documentation(info = "
+
+Substance used as a reservoir in reactions.
+
+Corresponds to the empty list of reactants or the empty list of products in an SBML reaction.
+
+"),
+ Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {1.77636e-15, 50}, fillPattern = FillPattern.Solid, extent = {{-100, -150}, {100, -100}}, textString = "%name", fontName = "Arial"), Line(points = {{-50, -50}, {50, 50}}, thickness = 10)}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end AmbientSubstance;
diff --git a/BioChem/Substances/BoundarySubstance.mo b/BioChem/Substances/BoundarySubstance.mo
new file mode 100644
index 0000000..13dcbd2
--- /dev/null
+++ b/BioChem/Substances/BoundarySubstance.mo
@@ -0,0 +1,18 @@
+within BioChem.Substances;
+
+model BoundarySubstance "Substance with a concentration not determined by reactions, but by events"
+ extends BioChem.Interfaces.Substances.InputSubstance(n.stateSelect = StateSelect.prefer, c.stateSelect = StateSelect.prefer);
+equation
+ der(n) = 0;
+ annotation(
+ Documentation(info = "
+
+Substance with a concentration not determined by reactions, i.e., the substance is on the boundary of the reaction system.
+The concentration of the substance can only be changed by events.
+
+Corresponds to SBML species not changed by any SBML rules and with either or both of the boundaryCondition and fixed attributes set to true
+
+"),
+ Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {-1.42109e-14, 50}, fillPattern = FillPattern.Solid, extent = {{-100, -150}, {100, -100}}, textString = "%name", fontName = "Arial"), Ellipse(lineColor = {170, 0, 0}, fillColor = {255, 0, 0}, fillPattern = FillPattern.Sphere, extent = {{-50, -50}, {50, 50}})}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end BoundarySubstance;
diff --git a/BioChem/Substances/SignalSubstance.mo b/BioChem/Substances/SignalSubstance.mo
new file mode 100644
index 0000000..25a7289
--- /dev/null
+++ b/BioChem/Substances/SignalSubstance.mo
@@ -0,0 +1,15 @@
+within BioChem.Substances;
+
+model SignalSubstance "Substance with a concentration not determined by reactions, but by external equations (translated into SBML assignments)"
+ extends BioChem.Interfaces.Substances.InputSubstance;
+ annotation(
+ Documentation(info = "
+
+Substance with a concentration not determined by reactions, instead the substance consentration is regulated by external equations.
+
+Corresponds to SBML species changed by any SBML rules.
+
+"),
+ Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {7.10543e-15, 50}, fillPattern = FillPattern.Solid, extent = {{-100, -150}, {100, -100}}, textString = "%name", fontName = "Arial"), Ellipse(lineColor = {0, 0, 127}, fillColor = {85, 170, 255}, fillPattern = FillPattern.Sphere, extent = {{-50, -50}, {50, 50}})}),
+ Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
+end SignalSubstance;
diff --git a/BioChem/Substances/Substance.mo b/BioChem/Substances/Substance.mo
new file mode 100644
index 0000000..799678d
--- /dev/null
+++ b/BioChem/Substances/Substance.mo
@@ -0,0 +1,12 @@
+within BioChem.Substances;
+
+model Substance "Substance with variable concentration"
+ annotation(Documentation(info="
+
+A substance with variable concentration.
+
+"), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={7.10543e-15,50}, fillPattern=FillPattern.Solid, extent={{-100,-150},{100,-100}}, textString="%name", fontName="Arial"),Ellipse(lineColor={0,85,0}, fillColor={0,170,0}, fillPattern=FillPattern.Sphere, extent={{-50,-50},{50,50}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
+ extends BioChem.Interfaces.Substances.Substance;
+equation
+ der(n)=rNet;
+end Substance;
diff --git a/BioChem/Substances/package.mo b/BioChem/Substances/package.mo
index 32ddd53..ec84a4f 100644
--- a/BioChem/Substances/package.mo
+++ b/BioChem/Substances/package.mo
@@ -1,7 +1,15 @@
within BioChem;
+
package Substances "Reaction nodes"
extends Icons.Library;
- annotation(Documentation(info="
+
+
+
+
+
+
+ annotation(
+ Documentation(info = "
Substances
This package contains different types of nodes needed for representing a substance in a biochemical pathway.
@@ -27,54 +35,7 @@ When the concentration is not determined by reactions, the
-", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(origin={-10,-50}, lineColor={0,56,0}, fillColor={0,85,0}, fillPattern=FillPattern.Sphere, extent={{-60,-20},{-20,20}}),Ellipse(origin={38,-10}, lineColor={100,100,0}, fillColor={255,255,0}, fillPattern=FillPattern.Sphere, extent={{-28,-60},{12,-20}}),Ellipse(origin={-30.0032,-2.75056}, lineColor={0,0,71}, fillColor={0,0,127}, fillPattern=FillPattern.Sphere, extent={{0.0032,-13.4697},{40,26.5303}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- model Substance "Substance with variable concentration"
- annotation(Documentation(info="
-
- A substance with variable concentration.
-
- "), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={7.10543e-15,50}, fillPattern=FillPattern.Solid, extent={{-100,-150},{100,-100}}, textString="%name", fontName="Arial"),Ellipse(lineColor={0,85,0}, fillColor={0,170,0}, fillPattern=FillPattern.Sphere, extent={{-50,-50},{50,50}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- extends BioChem.Interfaces.Substances.Substance;
- equation
- der(n)=rNet;
- end Substance;
-
- model BoundarySubstance "Substance with a concentration not determined by reactions, but by events"
- annotation(Documentation(info="
-
-Substance with a concentration not determined by reactions, i.e., the substance is on the boundary of the reaction system.
-The concentration of the substance can only be changed by events.
-
-Corresponds to SBML species not changed by any SBML rules and with either or both of the boundaryCondition and fixed attributes set to true
-
-"), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={-1.42109e-14,50}, fillPattern=FillPattern.Solid, extent={{-100,-150},{100,-100}}, textString="%name", fontName="Arial"),Ellipse(lineColor={170,0,0}, fillColor={255,0,0}, fillPattern=FillPattern.Sphere, extent={{-50,-50},{50,50}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- extends BioChem.Interfaces.Substances.InputSubstance(n.stateSelect=StateSelect.prefer,c.stateSelect=StateSelect.prefer);
- equation
- der(n)=0;
- end BoundarySubstance;
-
- model AmbientSubstance "Substance used as a reservoir in reactions"
- annotation(Documentation(info="
-
-Substance used as a reservoir in reactions.
-
-Corresponds to the empty list of reactants or the empty list of products in an SBML reaction.
-
-"), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={1.77636e-15,50}, fillPattern=FillPattern.Solid, extent={{-100,-150},{100,-100}}, textString="%name", fontName="Arial"),Line(points={{-50,-50},{50,50}}, thickness=10)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- extends BioChem.Interfaces.Substances.Substance;
- equation
- der(n)=0;
- end AmbientSubstance;
-
- model SignalSubstance "Substance with a concentration not determined by reactions, but by external equations (translated into SBML assignments)"
- annotation(Documentation(info="
-
-Substance with a concentration not determined by reactions, instead the substance consentration is regulated by external equations.
-
-Corresponds to SBML species changed by any SBML rules.
-
-"), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={7.10543e-15,50}, fillPattern=FillPattern.Solid, extent={{-100,-150},{100,-100}}, textString="%name", fontName="Arial"),Ellipse(lineColor={0,0,127}, fillColor={85,170,255}, fillPattern=FillPattern.Sphere, extent={{-50,-50},{50,50}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})));
- extends BioChem.Interfaces.Substances.InputSubstance;
- end SignalSubstance;
-
+