From 326e8fc59add9afa3f6ba7f9ce163dbdbf14a2f9 Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Wed, 8 Apr 2020 21:07:30 +0100 Subject: [PATCH 01/27] 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/27] 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/27] 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/27] 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/27] 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 \"Fig1:Reactions\"
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/27] 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/27] 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/27] 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/27] 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/27] 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/27] 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 \"Fig1: - ", 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/27] 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

\"Fig1: -", 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; - +", 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}))); end Substances; diff --git a/BioChem/Substances/package.order b/BioChem/Substances/package.order new file mode 100644 index 0000000..ec40563 --- /dev/null +++ b/BioChem/Substances/package.order @@ -0,0 +1,4 @@ +Substance +BoundarySubstance +AmbientSubstance +SignalSubstance From d8ae2b4e5f0107dd5b968b6728719028b8051b2f Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Wed, 6 May 2020 01:19:59 +0100 Subject: [PATCH 13/27] Separate the Icons package within BioChem/package.mo into separate directory --- BioChem/Icons/Example.mo | 7 + BioChem/Icons/IconBase.mo | 7 + BioChem/Icons/Library.mo | 7 + BioChem/Icons/package.mo | 21 +++ BioChem/Icons/package.order | 3 + BioChem/package.mo | 281 +++++++++++++++++++----------------- BioChem/package.order | 9 ++ 7 files changed, 206 insertions(+), 129 deletions(-) create mode 100644 BioChem/Icons/Example.mo create mode 100644 BioChem/Icons/IconBase.mo create mode 100644 BioChem/Icons/Library.mo create mode 100644 BioChem/Icons/package.mo create mode 100644 BioChem/Icons/package.order create mode 100644 BioChem/package.order diff --git a/BioChem/Icons/Example.mo b/BioChem/Icons/Example.mo new file mode 100644 index 0000000..e6256b1 --- /dev/null +++ b/BioChem/Icons/Example.mo @@ -0,0 +1,7 @@ +within BioChem.Icons; + +partial package Example "Icon for an example model" + annotation( + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Rectangle(fillColor = {255, 255, 255}, fillPattern = FillPattern.Solid, extent = {{-100, -100}, {80, 50}}), Polygon(fillColor = {255, 255, 255}, fillPattern = FillPattern.Solid, points = {{-100, 50}, {-80, 70}, {100, 70}, {80, 50}, {-100, 50}}), Polygon(fillColor = {255, 255, 255}, fillPattern = FillPattern.Solid, points = {{100, 70}, {100, -80}, {80, -100}, {80, 50}, {100, 70}}), Text(fillColor = {0, 0, 255}, fillPattern = FillPattern.Solid, extent = {{-85, -85}, {65, 35}}, textString = "Example", fontName = "Arial"), Text(fillColor = {255, 0, 0}, extent = {{-120, 73}, {120, 132}}, textString = "%name", fontName = "Arial")}), + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); +end Example; diff --git a/BioChem/Icons/IconBase.mo b/BioChem/Icons/IconBase.mo new file mode 100644 index 0000000..63fc752 --- /dev/null +++ b/BioChem/Icons/IconBase.mo @@ -0,0 +1,7 @@ +within BioChem.Icons; + +model IconBase + annotation( + Diagram(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10})), + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {0.0, -127.1933}, fillPattern = FillPattern.Solid, extent = {{-100.0, -27.1933}, {100.0, 27.1933}}, textString = "%name", fontName = "Arial")})); +end IconBase; diff --git a/BioChem/Icons/Library.mo b/BioChem/Icons/Library.mo new file mode 100644 index 0000000..0f8fbde --- /dev/null +++ b/BioChem/Icons/Library.mo @@ -0,0 +1,7 @@ +within BioChem.Icons; + +partial package Library + annotation( + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Rectangle(fillColor = {235, 235, 235}, fillPattern = FillPattern.Solid, extent = {{-100, -100}, {80, 50}}), Polygon(fillColor = {210, 210, 210}, fillPattern = FillPattern.Solid, points = {{-100, 50}, {-80, 70}, {100, 70}, {80, 50}, {-100, 50}}), Polygon(fillColor = {210, 210, 210}, fillPattern = FillPattern.Solid, points = {{100, 70}, {100, -80}, {80, -100}, {80, 50}, {100, 70}})}), + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); +end Library; diff --git a/BioChem/Icons/package.mo b/BioChem/Icons/package.mo new file mode 100644 index 0000000..492548e --- /dev/null +++ b/BioChem/Icons/package.mo @@ -0,0 +1,21 @@ +within BioChem; + +package Icons "Icons" + extends Library; + partial package Library + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(fillColor={235,235,235}, fillPattern=FillPattern.Solid, extent={{-100,-100},{80,50}}),Polygon(fillColor={210,210,210}, fillPattern=FillPattern.Solid, points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}),Polygon(fillColor={210,210,210}, fillPattern=FillPattern.Solid, points={{100,70},{100,-80},{80,-100},{80,50},{100,70}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Library; + + model IconBase + annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={0.0,-127.1933}, fillPattern=FillPattern.Solid, extent={{-100.0,-27.1933},{100.0,27.1933}}, textString="%name", fontName="Arial")})); + end IconBase; + + partial package Example "Icon for an example model" + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(fillColor={255,255,255}, fillPattern=FillPattern.Solid, extent={{-100,-100},{80,50}}),Polygon(fillColor={255,255,255}, fillPattern=FillPattern.Solid, points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}),Polygon(fillColor={255,255,255}, fillPattern=FillPattern.Solid, points={{100,70},{100,-80},{80,-100},{80,50},{100,70}}),Text(fillColor={0,0,255}, fillPattern=FillPattern.Solid, extent={{-85,-85},{65,35}}, textString="Example", fontName="Arial"),Text(fillColor={255,0,0}, extent={{-120,73},{120,132}}, textString="%name", fontName="Arial")}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Example; + + annotation(Documentation(info=" +

Icons

+This package contains icons that are used in the library. +", revisions="")); +end Icons; diff --git a/BioChem/Icons/package.order b/BioChem/Icons/package.order new file mode 100644 index 0000000..30cc86d --- /dev/null +++ b/BioChem/Icons/package.order @@ -0,0 +1,3 @@ +Library +IconBase +Example diff --git a/BioChem/package.mo b/BioChem/package.mo index 295cf0e..348d999 100644 --- a/BioChem/package.mo +++ b/BioChem/package.mo @@ -1,7 +1,151 @@ package BioChem extends Icons.Library; - 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=" + + package Math + extends Icons.Library; + function log10 = Modelica.Math.log10 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}))); + + function factorial "factorial function, product of all positive integers less than or equal to n" + input Integer n "input value"; + output Integer y "output value"; + protected + Integer i; + algorithm + y := n; + i := n; + while i > 1 loop + i := i - 1; + y := y * i; + end while; + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "n!", fontName = "Arial")})); + end factorial; + + function sec "secant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / cos(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sec( )", fontName = "Arial")})); + end sec; + + function cot "Cotangent trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / tan(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "cot( )", fontName = "Arial")})); + end cot; + + function csc "cosecant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / sin(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csc( )", fontName = "Arial")})); + end csc; + + function sech "hyperbolic secant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / cosh(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sech( )", fontName = "Arial")})); + end sech; + + function csch "hyperbolic cosecant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / sinh(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csch( )", fontName = "Arial")})); + end csch; + + function coth "hyperbolic cotangent trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / tanh(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "coth( )", fontName = "Arial")})); + end coth; + + function root + input Real n "degree"; + input Real a "value"; + output Real y "output value"; + algorithm + y := a ^ (1 / n); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "root", fontName = "Arial")})); + end root; + + function piecewise "Piecewise function that corresponds to the SBML piecewice definition" + input Real[:] value "Input values in the form {value1,value2,...,valueN,valueN+1}."; + input Boolean[:] condition "Input conditions in the form {condition1,condition2,...,conditionN}. Not more than one condition is allowed to be true at any given time."; + output Real y "Output value selected from the list of inputs."; + protected + parameter Integer nin = size(condition, 1); + algorithm + y := value[nin + 1]; + for i in 1:nin loop + if condition[i] then + y := value[i]; + end if; + end for; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105.0}, {148.5, 105.0}}, preserveAspectRatio = true, grid = {10, 10})), + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {0.0, -0.0}, fillPattern = FillPattern.Solid, extent = {{-100.0, -30.0}, {100.0, 30.0}}, textString = "piecewise()", fontName = "Arial")})); + end piecewise; + 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 = {Text(origin = {1.40855, -8.72502}, fillPattern = FillPattern.Solid, extent = {{-81.4085, -69.705}, {56.8628, 38.725}}, textString = "f(x)", fontName = "Arial")}), + Documentation(info = " +

Math

+A number of mathematical functions are used in pathway models. Some of these can be found in + +Modelica.Math + +while others have been added in this package. +
+ +
+ + +", revisions = "")); + end Math; + + + + + + + + + + + + + + + annotation( + preferedView = "info", + Documentation(info = "

About the BioChem Library

@@ -88,7 +232,7 @@ Becker-Weimann S, Wolf J, Herzel H, Kramer A. Biophysical Journal Volume 87 Nove - ", revisions=" + ", revisions = "

History

The first version of the library was created by Emma Larsdotter Nilsson at Linköping University. The current version of the library has been further developed by Erik Ulfhielm at @@ -114,130 +258,9 @@ Version 1.0.1 (2013-04-18)

  • Version 0.96 (2008-12-19)
  • ")); - package Math - extends Icons.Library; - 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={Text(origin={1.40855,-8.72502}, fillPattern=FillPattern.Solid, extent={{-81.4085,-69.705},{56.8628,38.725}}, textString="f(x)", fontName="Arial")}), Documentation(info=" -

    Math

    -A number of mathematical functions are used in pathway models. Some of these can be found in - -Modelica.Math - -while others have been added in this package. -
    - -
    - - -", revisions="")); - function log10= Modelica.Math.log10 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}))); - function factorial "factorial function, product of all positive integers less than or equal to n" - 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={Text(fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}, textString="n!", fontName="Arial")})); - input Integer n "input value"; - output Integer y "output value"; - protected - Integer i; - algorithm - y:=n; - i:=n; - while (i > 1) loop - i:=i - 1; - y:=y*i; - end while; - end factorial; - - function sec "secant trigonometric function" - 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={Text(fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}, textString="sec( )", fontName="Arial")})); - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y:=1/cos(alpha); - end sec; - - function cot "Cotangent trigonometric function" - 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={Text(fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}, textString="cot( )", fontName="Arial")})); - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y:=1/tan(alpha); - end cot; - - function csc "cosecant trigonometric function" - 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={Text(fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}, textString="csc( )", fontName="Arial")})); - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y:=1/sin(alpha); - end csc; - - function sech "hyperbolic secant trigonometric function" - 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={Text(fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}, textString="sech( )", fontName="Arial")})); - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y:=1/cosh(alpha); - end sech; - - function csch "hyperbolic cosecant trigonometric function" - 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={Text(fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}, textString="csch( )", fontName="Arial")})); - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y:=1/sinh(alpha); - end csch; - - function coth "hyperbolic cotangent trigonometric function" - 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={Text(fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}, textString="coth( )", fontName="Arial")})); - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y:=1/tanh(alpha); - end coth; - - function root - 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={Text(fillPattern=FillPattern.Solid, extent={{-100,-100},{100,100}}, textString="root", fontName="Arial")})); - input Real n "degree"; - input Real a "value"; - output Real y "output value"; - algorithm - y:=a^(1/n); - end root; - - function piecewise "Piecewise function that corresponds to the SBML piecewice definition" - annotation(Diagram(coordinateSystem(extent={{-148.5,-105.0},{148.5,105.0}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={0.0,-0.0}, fillPattern=FillPattern.Solid, extent={{-100.0,-30.0},{100.0,30.0}}, textString="piecewise()", fontName="Arial")})); - input Real[:] value "Input values in the form {value1,value2,...,valueN,valueN+1}."; - input Boolean[:] condition "Input conditions in the form {condition1,condition2,...,conditionN}. Not more than one condition is allowed to be true at any given time."; - output Real y "Output value selected from the list of inputs."; - protected - parameter Integer nin=size(condition, 1); - algorithm - y:=value[nin + 1]; - for i in 1:nin loop - if condition[i] then - y:=value[i]; - end if; - end for; - end piecewise; - - end Math; - - package Icons "Icons" - extends Library; - partial package Library - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(fillColor={235,235,235}, fillPattern=FillPattern.Solid, extent={{-100,-100},{80,50}}),Polygon(fillColor={210,210,210}, fillPattern=FillPattern.Solid, points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}),Polygon(fillColor={210,210,210}, fillPattern=FillPattern.Solid, points={{100,70},{100,-80},{80,-100},{80,50},{100,70}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - end Library; - - model IconBase - annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={0.0,-127.1933}, fillPattern=FillPattern.Solid, extent={{-100.0,-27.1933},{100.0,27.1933}}, textString="%name", fontName="Arial")})); - end IconBase; - - partial package Example "Icon for an example model" - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(fillColor={255,255,255}, fillPattern=FillPattern.Solid, extent={{-100,-100},{80,50}}),Polygon(fillColor={255,255,255}, fillPattern=FillPattern.Solid, points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}),Polygon(fillColor={255,255,255}, fillPattern=FillPattern.Solid, points={{100,70},{100,-80},{80,-100},{80,50},{100,70}}),Text(fillColor={0,0,255}, fillPattern=FillPattern.Solid, extent={{-85,-85},{65,35}}, textString="Example", fontName="Arial"),Text(fillColor={255,0,0}, extent={{-120,73},{120,132}}, textString="%name", fontName="Arial")}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - end Example; - - annotation(Documentation(info=" -

    Icons

    -This package contains icons that are used in the library. -", revisions="")); - end Icons; - + 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}))); end BioChem; diff --git a/BioChem/package.order b/BioChem/package.order new file mode 100644 index 0000000..220f984 --- /dev/null +++ b/BioChem/package.order @@ -0,0 +1,9 @@ +Math +Units +Substances +Reactions +Interfaces +Examples +Constants +Compartments +Icons From 4f5c2593f26b27d5fd4e514822641dc647a9868c Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Wed, 6 May 2020 13:27:34 +0100 Subject: [PATCH 14/27] Separate Biochem.Math package into a separate directory --- BioChem/Math/cot.mo | 11 +++ BioChem/Math/coth.mo | 11 +++ BioChem/Math/csc.mo | 11 +++ BioChem/Math/csch.mo | 11 +++ BioChem/Math/factorial.mo | 18 +++++ BioChem/Math/log10.mo | 5 ++ BioChem/Math/package.mo | 130 +++++++++++++++++++++++++++++++++++ BioChem/Math/package.order | 10 +++ BioChem/Math/piecewise.mo | 19 +++++ BioChem/Math/root.mo | 12 ++++ BioChem/Math/sec.mo | 11 +++ BioChem/Math/sech.mo | 11 +++ BioChem/package.mo | 137 ++----------------------------------- 13 files changed, 265 insertions(+), 132 deletions(-) create mode 100644 BioChem/Math/cot.mo create mode 100644 BioChem/Math/coth.mo create mode 100644 BioChem/Math/csc.mo create mode 100644 BioChem/Math/csch.mo create mode 100644 BioChem/Math/factorial.mo create mode 100644 BioChem/Math/log10.mo create mode 100644 BioChem/Math/package.mo create mode 100644 BioChem/Math/package.order create mode 100644 BioChem/Math/piecewise.mo create mode 100644 BioChem/Math/root.mo create mode 100644 BioChem/Math/sec.mo create mode 100644 BioChem/Math/sech.mo diff --git a/BioChem/Math/cot.mo b/BioChem/Math/cot.mo new file mode 100644 index 0000000..c110c33 --- /dev/null +++ b/BioChem/Math/cot.mo @@ -0,0 +1,11 @@ +within BioChem.Math; + +function cot "Cotangent trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; +algorithm + y := 1 / tan(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "cot( )", fontName = "Arial")})); +end cot; diff --git a/BioChem/Math/coth.mo b/BioChem/Math/coth.mo new file mode 100644 index 0000000..b26223f --- /dev/null +++ b/BioChem/Math/coth.mo @@ -0,0 +1,11 @@ +within BioChem.Math; + +function coth "hyperbolic cotangent trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; +algorithm + y := 1 / tanh(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "coth( )", fontName = "Arial")})); +end coth; diff --git a/BioChem/Math/csc.mo b/BioChem/Math/csc.mo new file mode 100644 index 0000000..2b0f278 --- /dev/null +++ b/BioChem/Math/csc.mo @@ -0,0 +1,11 @@ +within BioChem.Math; + +function csc "cosecant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; +algorithm + y := 1 / sin(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csc( )", fontName = "Arial")})); +end csc; diff --git a/BioChem/Math/csch.mo b/BioChem/Math/csch.mo new file mode 100644 index 0000000..02f393d --- /dev/null +++ b/BioChem/Math/csch.mo @@ -0,0 +1,11 @@ +within BioChem.Math; + +function csch "hyperbolic cosecant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; +algorithm + y := 1 / sinh(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csch( )", fontName = "Arial")})); +end csch; diff --git a/BioChem/Math/factorial.mo b/BioChem/Math/factorial.mo new file mode 100644 index 0000000..e28692e --- /dev/null +++ b/BioChem/Math/factorial.mo @@ -0,0 +1,18 @@ +within BioChem.Math; + +function factorial "factorial function, product of all positive integers less than or equal to n" + input Integer n "input value"; + output Integer y "output value"; +protected + Integer i; +algorithm + y := n; + i := n; + while i > 1 loop + i := i - 1; + y := y * i; + end while; + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "n!", fontName = "Arial")})); +end factorial; diff --git a/BioChem/Math/log10.mo b/BioChem/Math/log10.mo new file mode 100644 index 0000000..d77aea0 --- /dev/null +++ b/BioChem/Math/log10.mo @@ -0,0 +1,5 @@ +within BioChem.Math; + +function log10 = Modelica.Math.log10 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}))); diff --git a/BioChem/Math/package.mo b/BioChem/Math/package.mo new file mode 100644 index 0000000..a64c1c0 --- /dev/null +++ b/BioChem/Math/package.mo @@ -0,0 +1,130 @@ +within BioChem; + +package Math + extends Icons.Library; + function log10 = Modelica.Math.log10 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}))); + + function factorial "factorial function, product of all positive integers less than or equal to n" + input Integer n "input value"; + output Integer y "output value"; + protected + Integer i; + algorithm + y := n; + i := n; + while i > 1 loop + i := i - 1; + y := y * i; + end while; + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "n!", fontName = "Arial")})); + end factorial; + + function sec "secant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / cos(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sec( )", fontName = "Arial")})); + end sec; + + function cot "Cotangent trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / tan(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "cot( )", fontName = "Arial")})); + end cot; + + function csc "cosecant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / sin(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csc( )", fontName = "Arial")})); + end csc; + + function sech "hyperbolic secant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / cosh(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sech( )", fontName = "Arial")})); + end sech; + + function csch "hyperbolic cosecant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / sinh(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csch( )", fontName = "Arial")})); + end csch; + + function coth "hyperbolic cotangent trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; + algorithm + y := 1 / tanh(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "coth( )", fontName = "Arial")})); + end coth; + + function root + input Real n "degree"; + input Real a "value"; + output Real y "output value"; + algorithm + y := a ^ (1 / n); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "root", fontName = "Arial")})); + end root; + + function piecewise "Piecewise function that corresponds to the SBML piecewice definition" + input Real[:] value "Input values in the form {value1,value2,...,valueN,valueN+1}."; + input Boolean[:] condition "Input conditions in the form {condition1,condition2,...,conditionN}. Not more than one condition is allowed to be true at any given time."; + output Real y "Output value selected from the list of inputs."; + protected + parameter Integer nin = size(condition, 1); + algorithm + y := value[nin + 1]; + for i in 1:nin loop + if condition[i] then + y := value[i]; + end if; + end for; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105.0}, {148.5, 105.0}}, preserveAspectRatio = true, grid = {10, 10})), + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {0.0, -0.0}, fillPattern = FillPattern.Solid, extent = {{-100.0, -30.0}, {100.0, 30.0}}, textString = "piecewise()", fontName = "Arial")})); + end piecewise; + 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 = {Text(origin = {1.40855, -8.72502}, fillPattern = FillPattern.Solid, extent = {{-81.4085, -69.705}, {56.8628, 38.725}}, textString = "f(x)", fontName = "Arial")}), + Documentation(info = " +

    Math

    +A number of mathematical functions are used in pathway models. Some of these can be found in + +Modelica.Math + +while others have been added in this package. +
    + +
    + + +", revisions = "")); +end Math; diff --git a/BioChem/Math/package.order b/BioChem/Math/package.order new file mode 100644 index 0000000..27f7768 --- /dev/null +++ b/BioChem/Math/package.order @@ -0,0 +1,10 @@ +log10 +factorial +sec +cot +csc +sech +csch +coth +root +piecewise diff --git a/BioChem/Math/piecewise.mo b/BioChem/Math/piecewise.mo new file mode 100644 index 0000000..5144dc6 --- /dev/null +++ b/BioChem/Math/piecewise.mo @@ -0,0 +1,19 @@ +within BioChem.Math; + +function piecewise "Piecewise function that corresponds to the SBML piecewice definition" + input Real[:] value "Input values in the form {value1,value2,...,valueN,valueN+1}."; + input Boolean[:] condition "Input conditions in the form {condition1,condition2,...,conditionN}. Not more than one condition is allowed to be true at any given time."; + output Real y "Output value selected from the list of inputs."; +protected + parameter Integer nin = size(condition, 1); +algorithm + y := value[nin + 1]; + for i in 1:nin loop + if condition[i] then + y := value[i]; + end if; + end for; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105.0}, {148.5, 105.0}}, preserveAspectRatio = true, grid = {10, 10})), + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {0.0, -0.0}, fillPattern = FillPattern.Solid, extent = {{-100.0, -30.0}, {100.0, 30.0}}, textString = "piecewise()", fontName = "Arial")})); +end piecewise; diff --git a/BioChem/Math/root.mo b/BioChem/Math/root.mo new file mode 100644 index 0000000..cc2b52b --- /dev/null +++ b/BioChem/Math/root.mo @@ -0,0 +1,12 @@ +within BioChem.Math; + +function root + input Real n "degree"; + input Real a "value"; + output Real y "output value"; +algorithm + y := a ^ (1 / n); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "root", fontName = "Arial")})); +end root; diff --git a/BioChem/Math/sec.mo b/BioChem/Math/sec.mo new file mode 100644 index 0000000..98d5da1 --- /dev/null +++ b/BioChem/Math/sec.mo @@ -0,0 +1,11 @@ +within BioChem.Math; + +function sec "secant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; +algorithm + y := 1 / cos(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sec( )", fontName = "Arial")})); +end sec; diff --git a/BioChem/Math/sech.mo b/BioChem/Math/sech.mo new file mode 100644 index 0000000..33cb6e7 --- /dev/null +++ b/BioChem/Math/sech.mo @@ -0,0 +1,11 @@ +within BioChem.Math; + +function sech "hyperbolic secant trigonometric function" + input Modelica.SIunits.Angle alpha "input angle"; + output Real y "output value"; +algorithm + y := 1 / cosh(alpha); + 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sech( )", fontName = "Arial")})); +end sech; diff --git a/BioChem/package.mo b/BioChem/package.mo index 348d999..eb5c337 100644 --- a/BioChem/package.mo +++ b/BioChem/package.mo @@ -1,135 +1,8 @@ package BioChem extends Icons.Library; - package Math - extends Icons.Library; - function log10 = Modelica.Math.log10 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}))); - - function factorial "factorial function, product of all positive integers less than or equal to n" - input Integer n "input value"; - output Integer y "output value"; - protected - Integer i; - algorithm - y := n; - i := n; - while i > 1 loop - i := i - 1; - y := y * i; - end while; - 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "n!", fontName = "Arial")})); - end factorial; - - function sec "secant trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y := 1 / cos(alpha); - 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sec( )", fontName = "Arial")})); - end sec; - - function cot "Cotangent trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y := 1 / tan(alpha); - 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "cot( )", fontName = "Arial")})); - end cot; - - function csc "cosecant trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y := 1 / sin(alpha); - 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csc( )", fontName = "Arial")})); - end csc; - - function sech "hyperbolic secant trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y := 1 / cosh(alpha); - 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sech( )", fontName = "Arial")})); - end sech; - - function csch "hyperbolic cosecant trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y := 1 / sinh(alpha); - 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csch( )", fontName = "Arial")})); - end csch; - - function coth "hyperbolic cotangent trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; - output Real y "output value"; - algorithm - y := 1 / tanh(alpha); - 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "coth( )", fontName = "Arial")})); - end coth; - - function root - input Real n "degree"; - input Real a "value"; - output Real y "output value"; - algorithm - y := a ^ (1 / n); - 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 = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "root", fontName = "Arial")})); - end root; - - function piecewise "Piecewise function that corresponds to the SBML piecewice definition" - input Real[:] value "Input values in the form {value1,value2,...,valueN,valueN+1}."; - input Boolean[:] condition "Input conditions in the form {condition1,condition2,...,conditionN}. Not more than one condition is allowed to be true at any given time."; - output Real y "Output value selected from the list of inputs."; - protected - parameter Integer nin = size(condition, 1); - algorithm - y := value[nin + 1]; - for i in 1:nin loop - if condition[i] then - y := value[i]; - end if; - end for; - annotation( - Diagram(coordinateSystem(extent = {{-148.5, -105.0}, {148.5, 105.0}}, preserveAspectRatio = true, grid = {10, 10})), - Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {0.0, -0.0}, fillPattern = FillPattern.Solid, extent = {{-100.0, -30.0}, {100.0, 30.0}}, textString = "piecewise()", fontName = "Arial")})); - end piecewise; - 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 = {Text(origin = {1.40855, -8.72502}, fillPattern = FillPattern.Solid, extent = {{-81.4085, -69.705}, {56.8628, 38.725}}, textString = "f(x)", fontName = "Arial")}), - Documentation(info = " -

    Math

    -A number of mathematical functions are used in pathway models. Some of these can be found in - -Modelica.Math - -while others have been added in this package. -
    - -
    -", revisions = "")); - end Math; - @@ -143,6 +16,11 @@ while others have been added in this package. + 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 = " @@ -258,9 +136,4 @@ Version 1.0.1 (2013-04-18)
  • Version 0.96 (2008-12-19)
  • ")); - 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}))); end BioChem; From 5b78551c689d24aae3c6b5e6fbf5dd98d3f42a6b Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Sun, 10 May 2020 23:38:55 +0100 Subject: [PATCH 15/27] Separate top models within the Biochem.Examples package --- BioChem/Examples/EnzMM.mo | 29 +++++ BioChem/Examples/Glycolysis.mo | 113 ++++++++++++++++++ BioChem/Examples/InsulinSignaling_Sedaghat.mo | 97 +++++++++++++++ BioChem/package.order | 2 +- 4 files changed, 240 insertions(+), 1 deletion(-) create mode 100644 BioChem/Examples/EnzMM.mo create mode 100644 BioChem/Examples/Glycolysis.mo create mode 100644 BioChem/Examples/InsulinSignaling_Sedaghat.mo diff --git a/BioChem/Examples/EnzMM.mo b/BioChem/Examples/EnzMM.mo new file mode 100644 index 0000000..cc00556 --- /dev/null +++ b/BioChem/Examples/EnzMM.mo @@ -0,0 +1,29 @@ +within BioChem.Examples; + +model EnzMM "An enzymatic reaction with Michaelis-Menten kinetics" + extends BioChem.Compartments.Compartment; + Substances.Substance F6P(c.start = 2) "Fructose-6-phosphate" annotation( + Placement(transformation(origin = {10, 10}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MichaelisMenten.Uur uur(vF = 1.5, KmS = 0.1, KmP = 0.05) annotation( + Placement(transformation(origin = {-10, 10}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance G6P(c.start = 1) "Glucose-6-phosphate" annotation( + Placement(transformation(origin = {-30, 10}, extent = {{-10, -10}, {10, 10}}))); +equation + connect(uur.p1, F6P.n1) annotation( + Line(points = {{1.25, 10}, {10, 10}})); + connect(G6P.n1, uur.s1) annotation( + Line(points = {{-30, 10}, {-21.25, 10}})); + annotation( + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); + annotation( + Documentation(info = " +

    EnzMM

    + +

    + An enzymatic reaction with Michaelis-Menten kinetics. + The parameter values in this model are arbitrarily chosen, + to obtain a fully functional model, realistic parameter values must be used. +

    + ", revisions = ""), + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(fillColor = {170, 0, 0}, fillPattern = FillPattern.Solid, extent = {{-100, -25}, {-50, 25}}), Ellipse(fillColor = {0, 85, 0}, fillPattern = FillPattern.Solid, extent = {{50, -25}, {100, 25}}), Line(points = {{-50, 0}, {50, 0}}, arrow = {Arrow.Open, Arrow.Open}, arrowSize = 30)})); +end EnzMM; diff --git a/BioChem/Examples/Glycolysis.mo b/BioChem/Examples/Glycolysis.mo new file mode 100644 index 0000000..12b52a1 --- /dev/null +++ b/BioChem/Examples/Glycolysis.mo @@ -0,0 +1,113 @@ +within BioChem.Examples; + +model Glycolysis "Glycolysis" + extends BioChem.Compartments.Compartment; + Reactions.MassAction.Irreversible.UniUni.Uui uui1 annotation( + Placement(transformation(origin = {1.83964e-13, -3.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = 270))); + Substances.Substance PEP1(c.start = 0) "Phosphoenol pyruvate" annotation( + Placement(transformation(origin = {2.96307e-12, -108.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Reactions.MassAction.Irreversible.UniUni.Uui uui4 annotation( + Placement(transformation(origin = {1.19682e-13, -123.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Reactions.MassAction.Reversible.UniUni.Uur uur2 annotation( + Placement(transformation(origin = {1.1291e-13, -63.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Substances.Substance G13BP(c.start = 0) "Glycerate-1,3-bisphosphate" annotation( + Placement(transformation(origin = {1.16462e-13, -18.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Reactions.MassAction.Reversible.UniUni.Uur uur(k1 = 1) annotation( + Placement(transformation(origin = {1.13798e-13, 93.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Reactions.MassAction.Reversible.UniUni.Uur uur1 annotation( + Placement(transformation(origin = {1.17351e-13, 18.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}))); + Reactions.MassAction.Irreversible.UniBi.Ubi ubi annotation( + Placement(transformation(origin = {1.60982e-14, 33.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = 270))); + Reactions.MassAction.Irreversible.UniUni.Uui uui3 annotation( + Placement(transformation(origin = {-6.3094e-13, -93.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = 270))); + Substances.Substance G2P1(c.start = 0) "Glycerate-2-phosphate" annotation( + Placement(transformation(origin = {1.03362e-13, -78.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -630))); + Reactions.MassAction.Irreversible.UniUni.Uui uui2 annotation( + Placement(transformation(origin = {1.14242e-13, -33.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Substances.Substance GA3P(c.start = 0) "Glycerate-3-phosphate" annotation( + Placement(transformation(origin = {1.06248e-13, -48.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Reactions.MassAction.Irreversible.UniUni.Uui uui5(k1 = 1) annotation( + Placement(transformation(origin = {1.03287e-11, 123.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Reactions.MassAction.Irreversible.UniUni.Uui uui annotation( + Placement(transformation(origin = {1.91513e-13, 63.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Substances.Substance Pyruvate(c.start = 0) annotation( + Placement(transformation(origin = {1.19571e-13, -138.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -360))); + Substances.Substance Glucose(c.start = 1) "Glucose" annotation( + Placement(transformation(origin = {3.32706e-16, 139.222}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Substances.Substance G6P(c.start = 0) "Glucose-6-phosphate" annotation( + Placement(transformation(origin = {1.13798e-13, 108.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Substances.Substance F6P(c.start = 0) "Fructose-6-phosphate" annotation( + Placement(transformation(origin = {2.39286e-12, 78.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -630))); + Substances.Substance F16BP(c.start = 0) "Fructose-1,6-bisphosphate" annotation( + Placement(transformation(origin = {1.13354e-13, 48.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Substances.Substance G3P(c.start = 0) "Glyceraldehyde-3-phosphate" annotation( + Placement(transformation(origin = {-15, 18.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}))); + Substances.Substance DHAP(c.start = 0) "Dihydroxyacetone phosphate" annotation( + Placement(transformation(origin = {15, 18.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}))); + BioChem.Interfaces.Nodes.SubstanceConnector sGlucose annotation( + Placement(transformation(origin = {0.0, 147.5}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = 180), iconTransformation(origin = {0.0, 115.0}, extent = {{-15.0, -15.0}, {15.0, 15.0}}, rotation = 180))); + Interfaces.Nodes.SubstanceConnector sPyruvate annotation( + Placement(transformation(origin = {-22.5, -147.5}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {-27.5, -112.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}}))); + Interfaces.Nodes.SubstanceConnector sPyruvate4 annotation( + Placement(transformation(origin = {22.5, -147.5}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {27.5, -112.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}}))); +equation + connect(Pyruvate.n1, sPyruvate4) annotation( + Line(points = {{0.0, -138.75}, {22.5, -139.4}, {22.5, -147.5}}, smooth = Smooth.Bezier)); + connect(sPyruvate, Pyruvate.n1) annotation( + Line(points = {{-22.5, -147.5}, {-22.5, -138.8}, {0.0, -138.75}}, smooth = Smooth.Bezier)); + connect(sGlucose, Glucose.n1) annotation( + Line(points = {{0.0, 147.5}, {0.0, 139.222}})); + connect(GA3P.n1, uur2.p1) annotation( + Line(points = {{1.06248e-13, -48.75}, {1.12893e-13, -55.3125}})); + connect(uur2.s1, G2P1.n1) annotation( + Line(points = {{1.12893e-13, -72.1875}, {1.03362e-13, -78.75}})); + connect(uui3.p1, PEP1.n1) annotation( + Line(points = {{-6.30923e-13, -102.188}, {2.96307e-12, -108.75}})); + connect(uui1.p1, G13BP.n1) annotation( + Line(points = {{1.83981e-13, -12.1875}, {1.16462e-13, -18.75}})); + connect(uui2.p1, GA3P.n1) annotation( + Line(points = {{1.14259e-13, -42.1875}, {1.06248e-13, -48.75}})); + connect(G2P1.n1, uui3.s1) annotation( + Line(points = {{1.03362e-13, -78.75}, {-6.30957e-13, -85.3125}})); + connect(PEP1.n1, uui4.s1) annotation( + Line(points = {{2.96307e-12, -108.75}, {1.19665e-13, -115.312}})); + connect(G13BP.n1, uui2.s1) annotation( + Line(points = {{1.16462e-13, -18.75}, {1.14225e-13, -25.3125}})); + connect(uui4.p1, Pyruvate.n1) annotation( + Line(points = {{1.19699e-13, -132.188}, {1.19571e-13, -138.75}})); + connect(Glucose.n1, uui5.s1) annotation( + Line(points = {{3.32706e-16, 139.222}, {1.03287e-11, 132.188}})); + connect(uui5.p1, G6P.n1) annotation( + Line(points = {{1.03287e-11, 115.312}, {1.13798e-13, 108.75}})); + connect(G6P.n1, uur.s1) annotation( + Line(points = {{1.13798e-13, 108.75}, {1.13815e-13, 102.188}})); + connect(F6P.n1, uui.s1) annotation( + Line(points = {{2.39286e-12, 78.75}, {1.91496e-13, 72.1875}})); + connect(uur.p1, F6P.n1) annotation( + Line(points = {{1.13815e-13, 85.3125}, {2.39286e-12, 78.75}})); + connect(F16BP.n1, ubi.s1) annotation( + Line(points = {{1.13354e-13, 48.75}, {1.60815e-14, 42.1875}})); + connect(uui.p1, F16BP.n1) annotation( + Line(points = {{1.9153e-13, 55.3125}, {1.13354e-13, 48.75}})); + connect(ubi.p2, G3P.n1) annotation( + Line(points = {{-3.75, 25.3125}, {-15, 26.25}, {-15, 18.75}}, smooth = Smooth.Bezier)); + connect(G3P.n1, uui1.s1) annotation( + Line(points = {{-15, 18.75}, {-7.5, 11.25}, {1.138e-13, 7.719}, {1.83947e-13, 4.6875}}, smooth = Smooth.Bezier)); + connect(uur1.s1, G3P.n1) annotation( + Line(points = {{-8.4375, 18.75}, {-15, 18.75}})); + connect(ubi.p1, DHAP.n1) annotation( + Line(points = {{3.75, 25.3125}, {15, 26.25}, {15, 18.75}}, smooth = Smooth.Bezier)); + connect(DHAP.n1, uur1.p1) annotation( + Line(points = {{15, 18.75}, {8.4375, 18.75}})); + annotation( + Documentation(info = " +

    Glycolysis

    +

    + A simple glycolysis model. + The parameter values in this model are arbitrarily chosen, + to obtain a fully functional model, realistic parameter values must be used. +

    + ", revisions = ""), + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, 100}, {0, 25}, {-25, 0}, {0, -25}, {0, -75}, {-25, -100}}), Line(points = {{0, 25}, {25, 0}, {-25, 0}}), Line(points = {{0, -75}, {25, -100}})}), + Diagram(coordinateSystem(extent = {{-105, 148.5}, {105, -148.5}}, preserveAspectRatio = true, grid = {10, 10}))); +end Glycolysis; diff --git a/BioChem/Examples/InsulinSignaling_Sedaghat.mo b/BioChem/Examples/InsulinSignaling_Sedaghat.mo new file mode 100644 index 0000000..238882a --- /dev/null +++ b/BioChem/Examples/InsulinSignaling_Sedaghat.mo @@ -0,0 +1,97 @@ +within BioChem.Examples; + +model InsulinSignaling_Sedaghat "Metabolic insulin signaling pathway in rat adipocytes" + extends BioChem.Compartments.Compartment; + Substances.Substance irPMembIns(c.start = 0) "Phosphorylated insulin receptor at plasma membrane, one insulin bound" annotation( + Placement(transformation(origin = {10, 30}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Irreversible.UniUni.Uui uui(k1 = 2500 / 60) annotation( + Placement(transformation(origin = {-10, 30}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irInt(c.start = 1 / 10000000000000.0) "Internal IR" annotation( + Placement(transformation(origin = {-70, -50}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irPIntIns(c.start = 0) "Internal phosphorylated insulin receptor, one insulin" annotation( + Placement(transformation(origin = {-34, -10}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irPInt2Ins(c.start = 0) "Internal phosphorylated insulin receptor, two insulin bound" annotation( + Placement(transformation(origin = {-4, -10}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Irreversible.UniUni.Uui uui2(k1 = 0.461 / 60) annotation( + Placement(transformation(origin = {-38, -50}, extent = {{-10, -10}, {10, 10}}, rotation = 180))); + Reactions.MassAction.Reversible.BiUni.Bur bur2(k1 = 60000000 / 60, k2 = 100 * 0.2 / 60) annotation( + Placement(transformation(origin = {30, 50}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Reversible.BiUni.Bur bur1(k2 = 0.2 / 60, k1 = 60000000 / 60) annotation( + Placement(transformation(origin = {-54, 50}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Reversible.UniUni.Uur uur5(k2 = 0.003 / 60, k1 = 0.003 / 9 / 60) annotation( + Placement(transformation(origin = {-70, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 270))); + Reactions.MassAction.Reversible.UniUni.Uur uur3(k1 = 0.00021 / 60, k2 = 0.0021 / 60) annotation( + Placement(transformation(origin = {20, 10}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Irreversible.UniUni.Uui uui1(k1 = 0.461 / 60) annotation( + Placement(transformation(origin = {-51.5948, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 180))); + Reactions.MassAction.Irreversible.UniUni.Uui uui3(k1 = 0.2 / 60) annotation( + Placement(transformation(origin = {-50, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 180))); + Substances.Substance Insulin(c.start = 1 / 10000000) "Insulin" annotation( + Placement(transformation(origin = {-70, 70}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Reversible.UniUni.Uur uur2(k1 = 0.00021 / 60, k2 = 0.0021 / 60) annotation( + Placement(transformation(origin = {-17.5, 10}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irMembIns(c.start = 0) "Insulin receptor at plasma membrane, one insulin bound" annotation( + Placement(transformation(origin = {-30, 30}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irMemb(c.start = 9 / 10000000000000.0) annotation( + Placement(transformation(origin = {-70, 30}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irPMemb2Ins(c.start = 0) "Phosphorylated insulin receptor at plasma membrane, two insulin bound" annotation( + Placement(transformation(origin = {50, 30}, extent = {{-10, -10}, {10, 10}}))); + Interfaces.Nodes.SubstanceConnector sInsulin "Connector for insulin" annotation( + Placement(transformation(origin = {0.0, 100.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = 180), iconTransformation(origin = {-0.0, 115.0}, extent = {{-15.0, -15.0}, {15.0, 15.0}}, rotation = 180))); +equation + connect(sInsulin, Insulin.n1) annotation( + Line(points = {{0.0, 100.0}, {0.0, 70.04}, {-70.0, 70.0}}, smooth = Smooth.Bezier)); + connect(irPInt2Ins.n1, uur3.s1) annotation( + Line(points = {{-4, -10}, {-4.267, 10.24}, {8.75, 10}}, smooth = Smooth.Bezier)); + connect(uur5.p1, irInt.n1) annotation( + Line(points = {{-70, -21.25}, {-70, -50}})); + connect(bur2.s2, irPMembIns.n1) annotation( + Line(points = {{18.75, 45}, {10, 46.2}, {10, 30}}, smooth = Smooth.Bezier)); + connect(uui3.s1, irPIntIns.n1) annotation( + Line(points = {{-38.75, 20}, {-37.5, 18.75}, {-34, 11.25}, {-34, -10}}, smooth = Smooth.Bezier)); + connect(uui1.p1, irInt.n1) annotation( + Line(points = {{-62.8448, -30}, {-70.27, -29.87}, {-70, -50}}, smooth = Smooth.Bezier)); + connect(uui1.s1, irPIntIns.n1) annotation( + Line(points = {{-40.3448, -30}, {-34, -30}, {-34, -10}}, smooth = Smooth.Bezier)); + connect(uui2.s1, irPInt2Ins.n1) annotation( + Line(points = {{-26.75, -50}, {-4.07, -50.04}, {-4, -10}}, smooth = Smooth.Bezier)); + connect(uui.p1, irPMembIns.n1) annotation( + Line(points = {{1.25, 30}, {10, 30}})); + connect(irInt.n1, uui2.p1) annotation( + Line(points = {{-70, -50}, {-49.25, -50}})); + connect(Insulin.n1, bur1.s1) annotation( + Line(points = {{-70, 70}, {-70.07, 54.05}, {-65.25, 55}}, smooth = Smooth.Bezier)); + connect(Insulin.n1, bur2.s1) annotation( + Line(points = {{-70, 70}, {-30, 69.99}, {-7.5, 54.62}, {18.75, 55}}, smooth = Smooth.Bezier)); + connect(uur2.p1, irPMembIns.n1) annotation( + Line(points = {{-6.25, 10}, {0, 10}, {10, 30}}, smooth = Smooth.Bezier)); + connect(irPIntIns.n1, uur2.s1) annotation( + Line(points = {{-34, -10}, {-34, 10}, {-28.75, 10}}, smooth = Smooth.Bezier)); + connect(irMembIns.n1, uui.s1) annotation( + Line(points = {{-30, 30}, {-21.25, 30}})); + connect(bur1.p1, irMembIns.n1) annotation( + Line(points = {{-42.75, 50}, {-30, 50}, {-30, 30}}, smooth = Smooth.Bezier)); + connect(irMemb.n1, uui3.p1) annotation( + Line(points = {{-70, 30}, {-69.7, 20.2}, {-61.25, 20}}, smooth = Smooth.Bezier)); + connect(irMemb.n1, bur1.s2) annotation( + Line(points = {{-70, 30}, {-70.07, 46.2}, {-65.25, 45}}, smooth = Smooth.Bezier)); + connect(uur5.s1, irMemb.n1) annotation( + Line(points = {{-70, 1.25}, {-70, 30}})); + connect(bur2.p1, irPMemb2Ins.n1) annotation( + Line(points = {{41.25, 50}, {50.01, 50}, {50, 30}}, smooth = Smooth.Bezier)); + connect(uur3.p1, irPMemb2Ins.n1) annotation( + Line(points = {{31.25, 10}, {50, 10}, {50, 30}}, smooth = Smooth.Bezier)); + annotation( + Documentation(info = " +

    InsulinSignaling

    +

    + A model of the first steps of a metabolic insulin signaling pathway.
    + Based on the model by Sedaghat et al. (2002).

    + A. Sedaghat, R, A. Sherman, and J. Quon, Michael.
    + A mathematical model of metabolic insulin signaling.
    + American Journal of Physiology - Endocrinology and Metabolism, 283:1048-1101, Jul 2002. +

    + ", revisions = ""), + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})), + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(lineColor = {85, 170, 255}, fillColor = {0, 0, 255}, fillPattern = FillPattern.Sphere, extent = {{-100.43, -91.42}, {100.02, 19.94}}), Line(points = {{0.0, 110.0}, {0.0, -34.05}, {25.0, -52.36}}, color = {170, 0, 0})})); +end InsulinSignaling_Sedaghat; diff --git a/BioChem/package.order b/BioChem/package.order index 220f984..eeb3f65 100644 --- a/BioChem/package.order +++ b/BioChem/package.order @@ -3,7 +3,7 @@ Units Substances Reactions Interfaces -Examples Constants Compartments Icons +Examples From b265970d102bc1a51246f15afbbd46bc09efd990 Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Mon, 11 May 2020 00:01:21 +0100 Subject: [PATCH 16/27] Separate all subpackages within Biochem.Examples into separate *.mo files. Each subpackage corresponds to a standalone example --- BioChem/Examples/CaOscillations.mo | 261 ++ BioChem/Examples/CellDivison.mo | 511 +++ BioChem/Examples/CircadianOscillator.mo | 746 ++++ BioChem/Examples/GMO.mo | 321 ++ BioChem/Examples/GlucoseInsulinModel.mo | 793 +++++ .../MassAction/{package.mo => package.bak-mo} | 0 BioChem/Examples/MassAction/package.order | 2 + .../{package.mo => package.bak-mo} | 0 .../Examples/MultiCompartments/package.order | 4 + BioChem/Examples/centralMetabolism.mo | 729 ++++ BioChem/Examples/package.mo | 3120 ++++++++++------- BioChem/Examples/package.order | 9 + 12 files changed, 5298 insertions(+), 1198 deletions(-) create mode 100644 BioChem/Examples/CaOscillations.mo create mode 100644 BioChem/Examples/CellDivison.mo create mode 100644 BioChem/Examples/CircadianOscillator.mo create mode 100644 BioChem/Examples/GMO.mo create mode 100644 BioChem/Examples/GlucoseInsulinModel.mo rename BioChem/Examples/MassAction/{package.mo => package.bak-mo} (100%) create mode 100644 BioChem/Examples/MassAction/package.order rename BioChem/Examples/MultiCompartments/{package.mo => package.bak-mo} (100%) create mode 100644 BioChem/Examples/MultiCompartments/package.order create mode 100644 BioChem/Examples/centralMetabolism.mo create mode 100644 BioChem/Examples/package.order diff --git a/BioChem/Examples/CaOscillations.mo b/BioChem/Examples/CaOscillations.mo new file mode 100644 index 0000000..a5b2fdd --- /dev/null +++ b/BioChem/Examples/CaOscillations.mo @@ -0,0 +1,261 @@ +within BioChem.Examples; + +package CaOscillations "Oxhamre2005_Ca_oscillation" + extends BioChem.Icons.Example; + + model Cytosol + extends BioChem.Compartments.MainCompartment(V(start = 1)); + import BioChem.Math.*; + import BioChem.Constants.*; + + model Ca_Cyt_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Ca_Cyt_; + + model Jpump_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real Fpump_0 = 2; + parameter Real Kpump = 0.1; + equation + rr = Fpump_0 * s1.c / (Kpump + s1.c); + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end Jpump_; + + Endoplasmic_Reticulum endoplasmicReticulum(p1_sbml = p1_sbml, p2_sbml = p2_sbml, p3_sbml = p3_sbml) annotation( + Placement(transformation(origin = {-28.4357, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + inner Real Cytosol_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + inner Real Endoplasmic_Reticulum_V = endoplasmicReticulum.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; + Cytosol.Ca_Cyt_ Ca_Cyt(c(start = 0)) annotation( + Placement(transformation(origin = {-10.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Real n_sbml(start = 1); + parameter Real n0 = 1; + parameter Real kbN = 0.5; + parameter Real kappa = 5; + Real p1_sbml(start = 0); + parameter Real p11 = 0.2; + parameter Real p12 = 0.8; + parameter Real K1 = 5; + Real p2_sbml(start = 0); + parameter Real K2 = 0.7; + Real p3_sbml(start = 0.95); + parameter Real k31 = 0.5; + parameter Real K3 = 0.7; + Cytosol.Jpump_ Jpump annotation( + Placement(transformation(origin = {50.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + equation + connect(Ca_Cyt.n1, endoplasmicReticulum.Ca_Cyt_node) annotation( + Line(origin = {-29.2619, -10.8}, points = {{19.2619, -29.2}, {19.2619, -16.2}, {-14.175, -16.2}, {-14.175, 30.8}, {-10.1738, 30.8}}, smooth = Smooth.Bezier)); + connect(endoplasmicReticulum.CaER_node, Jpump.p1) annotation( + Line(origin = {27.5214, 13.75}, points = {{-44.9571, 6.25}, {22.4786, 6.25}, {22.4786, -12.5}}, smooth = Smooth.Bezier)); + connect(Ca_Cyt.n1, Jpump.s1) annotation( + Line(origin = {30.0, -33.75}, points = {{-40.0, -6.25}, {20.0, -6.25}, {20.0, 12.5}}, smooth = Smooth.Bezier)); + n_sbml = n0 * (exp((-kbN) * time) + kappa * (1 - exp((-kbN) * time))); + p1_sbml = p11 + p12 * n_sbml / (K1 + n_sbml); + p2_sbml = Ca_Cyt.c / (K2 + Ca_Cyt.c); + der(p3_sbml) = (-k31 * Ca_Cyt.c * p3_sbml) + k31 * K3 * (1 - p3_sbml); + annotation( + __MathCore(RDF = " + + + + + + + + "), + experiment(StartTime = 0.0, StopTime = 120, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06), + Documentation(info = " +

    Ca Oscillations

    +This example is a Modelica version of the model presented in A Minimal Generic Model of Bacteria-Induced Intracellular Ca2+ +Oscillations in Epithelial Cells by Camilla Oxhamre, Agneta Richter-Dahlfors, Vladimir P. Zhdanov, and Bengt Kasemoy. (Biophysical Journal Volume 88 April 2005 2976-2981) + +

    Abstract

    +The toxin &alpha-hemolysin expressed by uropathogenic Escherichia coli bacteria was recently shown as the first +pathophysiologically relevant protein to induce oscillations of the intracellular Ca2+ concentration in target cells. Here, we +propose a generic three-variable kinetic model describing the Ca2+ oscillations induced in single rat renal epithelial cells by this +toxin. Specifically, we take into account the interplay between 1), the cytosolic Ca2+ concentration; 2), IP3-sensitive Ca2+ +channels located in the membrane separating the cytosol and endoplasmic reticulum; and 3), toxin-related activation of +production of IP3 by phospholipase C. With these ingredients, the predicted response of cells exposed to the toxin is in good +agreement with the results of experiments. +

    Simulations

    +The simulation results are shown in the + Figure 1. This plot corresponds to Fig 1C of the paper (Oxhamre 2005). +
    + + +\"Fig1: +", revisions = "")); + end Cytosol; + + model Endoplasmic_Reticulum + extends BioChem.Compartments.Compartment(V(start = 1)); + import BioChem.Math.*; + import BioChem.Constants.*; + + model CaER_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end CaER_; + + model Jch_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real Fch_0 = 8; + input Real p1_sbml; + input Real p2_sbml; + input Real p3_sbml; + equation + rr = Fch_0 * p1_sbml * p2_sbml * p3_sbml; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end Jch_; + + model Jleak_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real Fleak = 0.5; + equation + rr = Fleak; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end Jleak_; + + inner Real Endoplasmic_Reticulum_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + Endoplasmic_Reticulum.CaER_ CaER(c(start = 0)) annotation( + Placement(transformation(origin = {10.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -540))); + input Real p1_sbml; + input Real p2_sbml; + input Real p3_sbml; + BioChem.Interfaces.Nodes.SubstanceConnector Ca_Cyt_node annotation( + Placement(transformation(origin = {-90.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {-110.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Endoplasmic_Reticulum.Jch_ Jch(p1_sbml = p1_sbml, p2_sbml = p2_sbml, p3_sbml = p3_sbml) annotation( + Placement(transformation(origin = {-80.0, -20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + Endoplasmic_Reticulum.Jleak_ Jleak annotation( + Placement(transformation(origin = {-80.0, 43.7135}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + BioChem.Interfaces.Nodes.SubstanceConnector CaER_node annotation( + Placement(transformation(origin = {90.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + equation + connect(Jleak.p1, Ca_Cyt_node) annotation( + Line(origin = {-85.0, 22.1159}, points = {{5.0, 10.3476}, {5.0, 0.8841}, {-5.0, 0.8841}, {-5.0, -12.1159}}, smooth = Smooth.Bezier)); + connect(Jch.p1, Ca_Cyt_node) annotation( + Line(origin = {-85.0, -1.1875}, points = {{5.0, -7.5625}, {5.0, -1.8125}, {-5.0, -1.8125}, {-5.0, 11.1875}}, smooth = Smooth.Bezier)); + connect(CaER.n1, CaER_node) annotation( + Line(origin = {63.5, 5.0}, points = {{-53.5, 5.0}, {13.5, 5.0}, {13.5, -5.0}, {26.5, -5.0}}, smooth = Smooth.Bezier)); + connect(CaER.n1, Jleak.s1) annotation( + Line(origin = {-31.2, 38.6787}, points = {{41.2, -28.6787}, {28.2, -28.6787}, {28.2, 20.5363}, {-48.8, 20.5363}, {-48.8, 16.2848}}, smooth = Smooth.Bezier)); + connect(CaER.n1, Jch.s1) annotation( + Line(origin = {-31.2, -16.4506}, points = {{41.2, 26.4506}, {28.2, 26.4506}, {28.2, -19.0509}, {-48.8, -19.0509}, {-48.8, -14.7994}}, smooth = Smooth.Bezier)); + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Endoplasmic_Reticulum; + annotation( + __MathCore(RDF = " + + + + + + Dharuri + Harish + + Harish_Dharuri@kgi.edu + + Keck Graduate Institute + + + + + + 2005-08-25T11:00:43Z + + + 2008-08-21T11:54:50Z + + + + + + + + + + + + + + + + + + + + + + + + + ")); + annotation( + Documentation(info = " +

    Ca Oscillations

    +This example is a Modelica version of the model presented in A Minimal Generic Model of Bacteria-Induced Intracellular Ca2+ +Oscillations in Epithelial Cells by Camilla Oxhamre, Agneta Richter-Dahlfors, Vladimir P. Zhdanov, and Bengt Kasemoy. (Biophysical Journal Volume 88 April 2005 2976-2981).

    + +See +Cytosol + for more documentation and simulation results. +", revisions = "")); +end CaOscillations; diff --git a/BioChem/Examples/CellDivison.mo b/BioChem/Examples/CellDivison.mo new file mode 100644 index 0000000..9ca1113 --- /dev/null +++ b/BioChem/Examples/CellDivison.mo @@ -0,0 +1,511 @@ +within BioChem.Examples; + +package CellDivison "Tyson1991_CellCycle_6var" + extends BioChem.Icons.Example; + + model cell + extends BioChem.Compartments.MainCompartment(V(start = 1)); + import BioChem.Math.*; + import BioChem.Constants.*; + + model EmptySet_ + extends BioChem.Substances.BoundarySubstance; + end EmptySet_; + + model C2_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end C2_; + + model CP_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end CP_; + + model M_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end M_; + + model pM_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end pM_; + + model Y_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Y_; + + model YP_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end YP_; + + model YT_ + extends BioChem.Substances.SignalSubstance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end YT_; + + model CT_ + extends BioChem.Substances.SignalSubstance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end CT_; + + model Reaction1_ + extends BioChem.Interfaces.Reactions.Ubi; + parameter Real k6 = 1; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k6 * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + + + + + + ")); + end Reaction1_; + + model Reaction2_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real k8notP = 1000000.0; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * k8notP; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end Reaction2_; + + model Reaction3_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real k9 = 1000; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * k9; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end Reaction3_; + + model Reaction4_ + extends BioChem.Interfaces.Reactions.Bui; + parameter Real k3 = 200; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * k3 * s2.c; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end Reaction4_; + + model Reaction5_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real k5notP = 0; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k5notP * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + + + + + + + + + ")); + end Reaction5_; + + model Reaction6_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real k1aa = 0.015; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k1aa; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Reaction6_; + + model Reaction7_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real k2 = 0; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k2 * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Reaction7_; + + model Reaction8_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real k7 = 0.6; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k7 * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Reaction8_; + + model Reaction9_ + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real k4 = 180; + parameter Real k4prime = 0.018; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * (k4prime + k4 * (p1.c / m1.c) ^ 2); + annotation( + __MathCore(RDF = " + + + + + + + + + + + + + + + + + ")); + end Reaction9_; + + inner Real cell_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + CellDivison.cell.EmptySet_ EmptySet(c(start = 0)) annotation( + Placement(transformation(origin = {10.0, 20.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + CellDivison.cell.C2_ C2(c(start = 0)) "cdc2k" annotation( + Placement(transformation(origin = {20.0, 60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + CellDivison.cell.CP_ CP(c(start = 0.75)) "cdc2k-P" annotation( + Placement(transformation(origin = {80.0, 60.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}, rotation = -90))); + CellDivison.cell.M_ M(c(start = 0)) "p-cyclin_cdc2" annotation( + Placement(transformation(origin = {-80.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + CellDivison.cell.pM_ pM(c(start = 0.25)) "p-cyclin_cdc2-p" annotation( + Placement(transformation(origin = {-10.0, -50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + CellDivison.cell.Y_ Y(c(start = 0)) "cyclin" annotation( + Placement(transformation(origin = {20.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + CellDivison.cell.YP_ YP(c(start = 0)) "p-cyclin" annotation( + Placement(transformation(origin = {-47.6389, -8.3553}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.YT_ YT(c(start = 0)) "total_cyclin" annotation( + Placement(transformation(origin = {-70.0, 70.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.CT_ CT(c(start = 0)) "total_cdc2" annotation( + Placement(transformation(origin = {-40.0, -60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.Reaction1_ Reaction1 "cyclin_cdc2k dissociation" annotation( + Placement(transformation(origin = {-70.0, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.Reaction2_ Reaction2 "cdc2k phosphorylation" annotation( + Placement(transformation(origin = {50.0, 90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.Reaction3_ Reaction3 "cdc2k dephosphorylation" annotation( + Placement(transformation(origin = {50.0, 40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + CellDivison.cell.Reaction4_ Reaction4 "cyclin cdc2k-p association" annotation( + Placement(transformation(origin = {48.1433, -70.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + CellDivison.cell.Reaction5_ Reaction5 "deactivation of cdc2 kinase" annotation( + Placement(transformation(origin = {-45.4898, -80.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.Reaction6_ Reaction6 "cyclin biosynthesis" annotation( + Placement(transformation(origin = {-7.8911, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + CellDivison.cell.Reaction7_ Reaction7 "default degradation of cyclin" annotation( + Placement(transformation(origin = {50.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + CellDivison.cell.Reaction8_ Reaction8 "cdc2 kinase triggered degration of cyclin" annotation( + Placement(transformation(origin = {-30.0, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + CellDivison.cell.Reaction9_ Reaction9 "activation of cdc2 kinase" annotation( + Placement(transformation(origin = {-40.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + equation + connect(CP.n1, Reaction2.p1) annotation( + Line(origin = {73.75, 80.0}, points = {{6.25, -20.0}, {6.25, 10.0}, {-12.5, 10.0}}, smooth = Smooth.Bezier)); + connect(C2.n1, Reaction2.s1) annotation( + Line(origin = {26.25, 80.0}, points = {{-6.25, -20.0}, {-6.25, 10.0}, {12.5, 10.0}}, smooth = Smooth.Bezier)); + connect(CP.n1, Reaction3.s1) annotation( + Line(origin = {73.75, 46.6667}, points = {{6.25, 13.3333}, {6.25, -6.6667}, {-12.5, -6.6667}}, smooth = Smooth.Bezier)); + connect(CP.n1, Reaction4.s1) annotation( + Line(origin = {66.5716, -26.9367}, points = {{13.4284, 86.9367}, {13.4284, -27.5617}, {-13.4284, -27.5617}, {-13.4284, -31.8133}}, smooth = Smooth.Bezier)); + connect(C2.n1, Reaction3.p1) annotation( + Line(origin = {26.25, 46.6667}, points = {{-6.25, 13.3333}, {-6.25, -6.6667}, {12.5, -6.6667}}, smooth = Smooth.Bezier)); + connect(C2.n1, Reaction1.p1) annotation( + Line(origin = {-36.9367, 42.5}, points = {{56.9367, 17.5}, {-17.5617, 17.5}, {-17.5617, -17.5}, {-21.8133, -17.5}}, smooth = Smooth.Bezier)); + connect(Y.n1, Reaction4.s2) annotation( + Line(origin = {31.5716, -49.4367}, points = {{-11.5716, 19.4367}, {-11.5716, -5.0617}, {11.5716, -5.0617}, {11.5716, -9.3133}}, smooth = Smooth.Bezier)); + connect(pM.n1, Reaction4.p1) annotation( + Line(origin = {18.4573, -70.4506}, points = {{-28.4573, 20.4506}, {-15.4573, 20.4506}, {-15.4573, -15.0509}, {29.686, -15.0509}, {29.686, -10.7994}}, smooth = Smooth.Bezier)); + connect(Y.n1, Reaction7.s1) annotation( + Line(origin = {40.0, -27.0833}, points = {{-20.0, -2.9167}, {10.0, -2.9167}, {10.0, 5.8333}}, smooth = Smooth.Bezier)); + connect(Y.n1, Reaction6.p1) annotation( + Line(origin = {1.4059, -27.0833}, points = {{18.5941, -2.9167}, {-9.297, -2.9167}, {-9.297, 5.8333}}, smooth = Smooth.Bezier)); + connect(M.n1, Reaction1.s1) annotation( + Line(origin = {-82.4506, -4.8}, points = {{2.4506, -25.2}, {2.4506, -12.2}, {-3.0509, -12.2}, {-3.0509, 24.8}, {1.2006, 24.8}}, smooth = Smooth.Bezier)); + connect(M.n1, Reaction5.s1) annotation( + Line(origin = {-72.2466, -63.3333}, points = {{-7.7534, 33.3333}, {-7.7534, -16.6667}, {15.5068, -16.6667}}, smooth = Smooth.Bezier)); + connect(M.n1, Reaction9.p1) annotation( + Line(origin = {-60.5633, -35.0}, points = {{-19.4367, 5.0}, {5.0617, 5.0}, {5.0617, -5.0}, {9.3133, -5.0}}, smooth = Smooth.Bezier)); + connect(pM.n1, Reaction5.p1) annotation( + Line(origin = {-18.0799, -70.0}, points = {{8.0799, 20.0}, {8.0799, -10.0}, {-16.1599, -10.0}}, smooth = Smooth.Bezier)); + connect(pM.n1, Reaction9.s1) annotation( + Line(origin = {-21.9367, -45.0}, points = {{11.9367, -5.0}, {-2.5617, -5.0}, {-2.5617, 5.0}, {-6.8133, 5.0}}, smooth = Smooth.Bezier)); + connect(CT.n1, Reaction9.m1) annotation( + Line(origin = {-40.0, -52.6667}, points = {{0.0, -7.3333}, {0.0, 3.6667}, {0.0, 3.6667}}, smooth = Smooth.Bezier)); + connect(EmptySet.n1, Reaction6.s1) annotation( + Line(origin = {1.0545, 8.0633}, points = {{8.9456, 11.9367}, {8.9456, -2.5617}, {-8.9456, -2.5617}, {-8.9456, -6.8133}}, smooth = Smooth.Bezier)); + connect(EmptySet.n1, Reaction7.p1) annotation( + Line(origin = {36.6667, 13.75}, points = {{-26.6667, 6.25}, {13.3333, 6.25}, {13.3333, -12.5}}, smooth = Smooth.Bezier)); + connect(EmptySet.n1, Reaction8.p1) annotation( + Line(origin = {-11.2, 28.4506}, points = {{21.2, -8.4506}, {8.2, -8.4506}, {8.2, 7.0509}, {-18.8, 7.0509}, {-18.8, 2.7994}}, smooth = Smooth.Bezier)); + connect(YP.n1, Reaction8.s1) annotation( + Line(origin = {-35.8796, -2.6535}, points = {{-11.7593, -5.7018}, {5.8796, -5.7018}, {5.8796, 11.4035}}, smooth = Smooth.Bezier)); + connect(YP.n1, Reaction1.p2) annotation( + Line(origin = {-51.3426, 7.2149}, points = {{3.7037, -15.5702}, {3.7037, 7.7851}, {-7.4074, 7.7851}}, smooth = Smooth.Bezier)); + YT.c = Y.c + YP.c + M.c + pM.c; + CT.c = C2.c + CP.c + M.c + pM.c; + annotation( + __MathCore(RDF = " + + + + + + + + "), + experiment(StartTime = 0.0, StopTime = 100, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06), + Documentation(info = " +

    CellDivision

    +This example is a Modelica version of the model presented in Modeling the cell division cycle: cdc2 and cyclin interactions by John J. Tyson. (Proc. Nati. Acad. Sci. USA +Vol. 88, pp. 7328-7332, August 1991 +Cell Biology) + +

    Abstract

    +The proteins cdc2 and cyclin form a heterodimer +(maturation promoting factor) that controls the major +events of the cell cycle. A mathematical model for the interactions +of cdc2 and cyclin is constructed. Simulation and analysis +of the model show that the control system can operate in three +modes: as a steady state with high maturation promoting factor +activity, as a spontaneous oscillator, or as an excitable switch. +We associate the steady state with metaphase arrest in unfertilized +eggs, the spontaneous oscillations with rapid division +cycles in early embryos, and the excitable switch with growthcontrolled +division cycles typical of nonembryonic cells. + +

    Simulations

    + +The simulation results are shown in the + Figure 1. This plot corresponds to Fig 3A from the original publication (Tyson, 1991).
    + + +\"Fig1: +", revisions = "")); + end cell; + annotation( + __MathCore(RDF = " + + + + + + Shapiro + Bruce + + bshapiro@jpl.nasa.gov + + NASA Jet Propulsion Laboratory + + + + + Chelliah + Vijayalakshmi + + viji@ebi.ac.uk + + EMBL-EBI + + + + + + 2005-02-08T18:28:27Z + + + 2008-08-21T11:31:54Z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ")); + annotation( + Documentation(info = " +

    CellDivision

    +This example is a Modelica version of the model presented in Modeling the cell division cycle: cdc2 and cyclin interactions by John J. Tyson. (Proc. Nati. Acad. Sci. USA +Vol. 88, pp. 7328-7332, August 1991 +Cell Biology).

    + +See +cell + for more documentation and simulation results. +", revisions = "")); +end CellDivison; diff --git a/BioChem/Examples/CircadianOscillator.mo b/BioChem/Examples/CircadianOscillator.mo new file mode 100644 index 0000000..58e3dad --- /dev/null +++ b/BioChem/Examples/CircadianOscillator.mo @@ -0,0 +1,746 @@ +within BioChem.Examples; + +package CircadianOscillator "Weimann2004_CircadianOscillator" + extends BioChem.Icons.Example; + + model Container + extends BioChem.Compartments.MainCompartment(V(start = 1)); + import BioChem.Math.*; + import BioChem.Constants.*; + BioChem.Examples.CircadianOscillator.Nucleus nucleus(k3t = k3t, k3d = k3d, k6t = k6t, k6d = k6d, k6a = k6a, k7a = k7a, k7d = k7d) annotation( + Placement(transformation(origin = {-30.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm cytoplasm(trans_per2_cry = trans_per2_cry, k1d = k1d, k2b = k2b, q = q, k2d = k2d, k2t = k2t, trans_Bmal1 = trans_Bmal1, k4d = k4d, k5b = k5b, k5d = k5d, k5t = k5t) annotation( + Placement(transformation(origin = {21.5395, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + inner Real Nucleus_V = nucleus.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; + inner Real Cytoplasm_V = cytoplasm.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; + inner Real Container_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + Real trans_per2_cry(start = 0); + parameter Real v1b = 9; + parameter Real c_sbml = 0.01; + parameter Real k1b = 1; + parameter Real k1i = 0.56; + parameter Real hill_coeff = 8; + Real trans_Bmal1(start = 0); + parameter Real v4b = 3.6; + parameter Real r_sbml = 3; + parameter Real k4b = 2.16; + Real y5_y6_y7(start = 3.05); + parameter Real k1d = 0.12; + parameter Real k2b = 0.3; + parameter Real q = 2; + parameter Real k2d = 0.05; + parameter Real k2t = 0.24; + parameter Real k3t = 0.02; + parameter Real k3d = 0.12; + parameter Real k4d = 0.75; + parameter Real k5b = 0.24; + parameter Real k5d = 0.06; + parameter Real k5t = 0.45; + parameter Real k6t = 0.06; + parameter Real k6d = 0.12; + parameter Real k6a = 0.09; + parameter Real k7a = 0.003; + parameter Real k7d = 0.09; + equation + connect(cytoplasm.y5_node, nucleus.y5_node) annotation( + Line(origin = {-4.2302, -19.0}, points = {{14.7697, 0.0}, {-14.7697, 0.0}})); + connect(nucleus.y6_node, cytoplasm.y6_node) annotation( + Line(origin = {-4.2302, -1.0}, points = {{-14.7697, 0.0}, {14.7697, 0.0}})); + connect(cytoplasm.y2_node, nucleus.y2_node) annotation( + Line(origin = {-4.2302, -7.0}, points = {{14.7697, 0.0}, {-14.7697, 0.0}})); + connect(nucleus.y3_node, cytoplasm.y3_node) annotation( + Line(origin = {-4.2302, -13.0}, points = {{-14.7697, 0.0}, {14.7697, 0.0}})); + trans_per2_cry = v1b * (nucleus.y7.c + c_sbml) / (k1b * (1 + (nucleus.y3.c / k1i) ^ hill_coeff) + nucleus.y7.c + c_sbml); + trans_Bmal1 = v4b * nucleus.y3.c ^ r_sbml / (k4b ^ r_sbml + nucleus.y3.c ^ r_sbml); + y5_y6_y7 = cytoplasm.y5.c + nucleus.y6.c + nucleus.y7.c; + annotation( + Documentation(info = " +

    Circadian Oscillator

    + +This example is the modelica version of the model presented in +Modeling feedback loops of the Mammalian circadian oscillator by +Becker-Weimann S, Wolf J, Herzel H, Kramer A. (Biophysical Journal Volume 87 November 2004 3023-3034) + +

    Abstract

    +The suprachiasmatic nucleus governs daily variations of physiology and behavior in mammals. Within single neurons, interlocked transcriptional/translational feedback loops generate circadian rhythms on the molecular level. We present a mathematical model that reflects the essential features of the mammalian circadian oscillator to characterize the differential roles of negative and positive feedback loops. The oscillations that are obtained have a 24-h period and are robust toward parameter variations even when the positive feedback is replaced by a constantly expressed activator. This demonstrates the crucial role of the negative feedback for rhythm generation. Moreover, it explains the rhythmic phenotype of Rev-erbalpha-/- mutant mice, where a positive feedback is missing. The interplay of negative and positive feedback reveals a complex dynamics. In particular, the model explains the unexpected rescue of circadian oscillations in Per2Brdm1/Cry2-/- double-mutant mice (Per2Brdm1 single-mutant mice are arrhythmic). Here, a decrease of positive feedback strength associated with mutating the Per2 gene is compensated by the Cry2-/- mutation that simultaneously decreases the negative feedback strength. Finally, this model leads us to a testable prediction of a molecular and behavioral phenotype: circadian oscillations should be rescued when arrhythmic Per2Brdm1 mutant mice are crossed with Rev- erbalpha -/- mutant mice. + +

    Simulations

    +The simulation results are shown in the + Figure 1. This plot corresponds to Fig 3A from the paper (Becker-Weimann, 2004). + + +\"Fig1: + +", revisions = ""), + experiment(StartTime = 0, StopTime = 150, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06)); + end Container; + + model Nucleus "Nucleus" + extends BioChem.Compartments.Compartment(V(start = 1)); + import BioChem.Math.*; + import BioChem.Constants.*; + + model y3_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end y3_; + + model y6_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end y6_; + + model y7_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end y7_; + + model per2_cry_nuclear_export_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k3t; + equation + rr = Nucleus_V * k3t * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end per2_cry_nuclear_export_; + + model nuclear_per2_cry_complex_degradation_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k3d; + equation + rr = Nucleus_V * k3d * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end nuclear_per2_cry_complex_degradation_; + + model BMAL1_nuclear_export_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k6t; + equation + rr = Nucleus_V * k6t * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end BMAL1_nuclear_export_; + + model nuclear_BMAL1_degradation_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k6d; + equation + rr = Nucleus_V * k6d * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end nuclear_BMAL1_degradation_; + + model BMAL1_activation_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k6a; + equation + rr = Nucleus_V * k6a * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end BMAL1_activation_; + + model BMAL1_deactivation_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k7a; + equation + rr = Nucleus_V * k7a * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end BMAL1_deactivation_; + + model Active_BMAL1_degradation_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k7d; + equation + rr = Nucleus_V * k7d * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Active_BMAL1_degradation_; + + inner Real Nucleus_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + BioChem.Examples.CircadianOscillator.Nucleus.y3_ y3(c(start = 1.1)) "PER2_CRY_complex_nucleus" annotation( + Placement(transformation(origin = {70.0, -50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + BioChem.Examples.CircadianOscillator.Nucleus.y6_ y6(c(start = 1)) "BMAL1_nucleus" annotation( + Placement(transformation(origin = {-10.0, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Examples.CircadianOscillator.Nucleus.y7_ y7(c(start = 1.05)) "Active BMAL1" annotation( + Placement(transformation(origin = {-45.6104, -16.1148}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Interfaces.Nodes.SubstanceConnector y3_node annotation( + Placement(transformation(origin = {90.0, -60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + parameter Real k3t; + BioChem.Interfaces.Nodes.SubstanceConnector y2_node annotation( + Placement(transformation(origin = {90.0, 60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Examples.CircadianOscillator.Nucleus.per2_cry_nuclear_export_ per2_cry_nuclear_export(k3t = k3t) "per2_cry_nuclear_export" annotation( + Placement(transformation(origin = {68.1433, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + BioChem.Substances.AmbientSubstance ambientSubstance annotation( + Placement(transformation(origin = {10.0, -50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + parameter Real k3d; + BioChem.Examples.CircadianOscillator.Nucleus.nuclear_per2_cry_complex_degradation_ nuclear_per2_cry_complex_degradation(k3d = k3d) "nuclear_per2_cry_complex_degradation" annotation( + Placement(transformation(origin = {40.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Interfaces.Nodes.SubstanceConnector y6_node annotation( + Placement(transformation(origin = {90.0, 90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + parameter Real k6t; + BioChem.Interfaces.Nodes.SubstanceConnector y5_node annotation( + Placement(transformation(origin = {90.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Nucleus.BMAL1_nuclear_export_ BMAL1_nuclear_export(k6t = k6t) "BMAL1_nuclear_export" annotation( + Placement(transformation(origin = {-80.0, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + parameter Real k6d; + BioChem.Examples.CircadianOscillator.Nucleus.nuclear_BMAL1_degradation_ nuclear_BMAL1_degradation(k6d = k6d) "nuclear_BMAL1_degradation" annotation( + Placement(transformation(origin = {10.0, 10.0}, extent = {{10.0, -10.0}, {-10.0, 10.0}}, rotation = 90))); + parameter Real k6a; + Nucleus.BMAL1_activation_ BMAL1_activation(k6a = k6a) "BMAL1_activation" annotation( + Placement(transformation(origin = {-30.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + parameter Real k7a; + Nucleus.BMAL1_deactivation_ BMAL1_deactivation(k7a = k7a) "BMAL1_deactivation" annotation( + Placement(transformation(origin = {-61.7118, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + parameter Real k7d; + BioChem.Examples.CircadianOscillator.Nucleus.Active_BMAL1_degradation_ Active_BMAL1_degradation(k7d = k7d) "Active_BMAL1_degradation" annotation( + Placement(transformation(origin = {-30.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + equation + connect(y3.n1, nuclear_per2_cry_complex_degradation.s1) annotation( + Line(origin = {58.0633, -45.0}, points = {{11.9367, -5.0}, {-2.5617, -5.0}, {-2.5617, 5.0}, {-6.8133, 5.0}}, smooth = Smooth.Bezier)); + connect(y3.n1, per2_cry_nuclear_export.s1) annotation( + Line(origin = {69.0717, -15.5633}, points = {{0.9283, -34.4367}, {0.9283, 10.0617}, {-0.9284, 10.0617}, {-0.9284, 14.3133}}, smooth = Smooth.Bezier)); + connect(y3.n1, y3_node) annotation( + Line(origin = {76.6667, -56.6667}, points = {{-6.6667, 6.6667}, {-6.6667, -3.3333}, {13.3333, -3.3333}}, smooth = Smooth.Bezier)); + connect(y7.n1, BMAL1_activation.p1) annotation( + Line(origin = {-35.2035, -11.1599}, points = {{-10.4069, -4.9549}, {5.2035, -4.9549}, {5.2035, 9.9099}}, smooth = Smooth.Bezier)); + connect(y7.n1, Active_BMAL1_degradation.s1) annotation( + Line(origin = {-44.1569, -32.0383}, points = {{-1.4535, 15.9235}, {-1.4535, -7.9617}, {2.9069, -7.9617}}, smooth = Smooth.Bezier)); + connect(y7.n1, BMAL1_deactivation.s1) annotation( + Line(origin = {-56.3447, -11.1599}, points = {{10.7343, -4.9549}, {-5.3671, -4.9549}, {-5.3671, 9.9099}}, smooth = Smooth.Bezier)); + connect(y6.n1, BMAL1_deactivation.p1) annotation( + Line(origin = {-44.4745, 40.4167}, points = {{34.4745, 9.5833}, {-17.2373, 9.5833}, {-17.2373, -19.1667}}, smooth = Smooth.Bezier)); + connect(y6.n1, BMAL1_activation.s1) annotation( + Line(origin = {-20.0, 30.5633}, points = {{10.0, 19.4367}, {10.0, -5.0617}, {-10.0, -5.0617}, {-10.0, -9.3133}}, smooth = Smooth.Bezier)); + connect(y6.n1, nuclear_BMAL1_degradation.s1) annotation( + Line(origin = {0.0, 30.5633}, points = {{-10.0, 19.4367}, {-10.0, -5.0617}, {10.0, -5.0617}, {10.0, -9.3133}}, smooth = Smooth.Bezier)); + connect(y6.n1, BMAL1_nuclear_export.s1) annotation( + Line(origin = {-56.6667, 43.75}, points = {{46.6667, 6.25}, {-23.3333, 6.25}, {-23.3333, -12.5}}, smooth = Smooth.Bezier)); + connect(y6.n1, y6_node) annotation( + Line(origin = {58.5, 70.0}, points = {{-68.5, -20.0}, {18.5, -20.0}, {18.5, 20.0}, {31.5, 20.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, nuclear_per2_cry_complex_degradation.p1) annotation( + Line(origin = {21.9367, -45.0}, points = {{-11.9367, -5.0}, {2.5617, -5.0}, {2.5617, 5.0}, {6.8133, 5.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, nuclear_BMAL1_degradation.p1) annotation( + Line(origin = {10.0, -25.625}, points = {{0.0, -24.375}, {0.0, 24.375}}, smooth = Smooth.Bezier)); + connect(BMAL1_nuclear_export.p1, y5_node) annotation( + Line(origin = {-23.3333, -57.0833}, points = {{-56.6667, 65.8333}, {-56.6667, -32.9167}, {113.3333, -32.9167}}, smooth = Smooth.Bezier)); + connect(per2_cry_nuclear_export.p1, y2_node) annotation( + Line(origin = {79.0717, 43.8125}, points = {{-10.9284, -22.5625}, {-10.9284, 3.1875}, {10.9283, 3.1875}, {10.9283, 16.1875}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, Active_BMAL1_degradation.p1) annotation( + Line(origin = {-9.4367, -45.0}, points = {{19.4367, -5.0}, {-5.0617, -5.0}, {-5.0617, 5.0}, {-9.3133, 5.0}}, smooth = Smooth.Bezier)); + end Nucleus; + + model Cytoplasm "Cytoplasm" + extends BioChem.Compartments.Compartment(V(start = 1)); + import BioChem.Math.*; + import BioChem.Constants.*; + + model y1_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + + + + + + + + ")); + end y1_; + + model y2_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end y2_; + + model y4_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + + + + + + + ")); + end y4_; + + model y5_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end y5_; + + model per2_cry_transcription_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real trans_per2_cry; + equation + rr = Cytoplasm_V * trans_per2_cry; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end per2_cry_transcription_; + + model per2_cry_mRNA_degradation_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k1d; + equation + rr = Cytoplasm_V * k1d * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end per2_cry_mRNA_degradation_; + + model per2_cry_complex_formation_ + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k2b; + parameter Real q; + equation + rr = Cytoplasm_V * k2b * m1.c ^ q; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end per2_cry_complex_formation_; + + model cytoplasmic_per2_cry_complex_degradation_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k2d; + equation + rr = Cytoplasm_V * k2d * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end cytoplasmic_per2_cry_complex_degradation_; + + model per2_cry_nuclear_import_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k2t; + equation + rr = Cytoplasm_V * k2t * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end per2_cry_nuclear_import_; + + model Bmal1_transcription_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real trans_Bmal1; + equation + rr = Cytoplasm_V * trans_Bmal1; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Bmal1_transcription_; + + model Bmal1_mRNA_degradation_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k4d; + equation + rr = Cytoplasm_V * k4d * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Bmal1_mRNA_degradation_; + + model BMAL1_translation_ + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k5b; + equation + rr = Cytoplasm_V * k5b * m1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end BMAL1_translation_; + + model cytoplasmic_BMAL1_degradation_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k5d; + equation + rr = Cytoplasm_V * k5d * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end cytoplasmic_BMAL1_degradation_; + + model BMAL1_nuclear_import_ + extends BioChem.Interfaces.Reactions.Uui; + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k5t; + equation + rr = Cytoplasm_V * k5t * s1.c; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end BMAL1_nuclear_import_; + + inner Real Cytoplasm_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + Cytoplasm.y1_ y1(c(start = 0.2)) "Per2 or Cry mRNA" annotation( + Placement(transformation(origin = {170.0, 60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.y2_ y2(c(start = 0)) "PER2_CRY_complex_cytoplasm" annotation( + Placement(transformation(origin = {140.0, -21.8298}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.y4_ y4(c(start = 0.8)) "Bmal1 mRNA" annotation( + Placement(transformation(origin = {64.8293, -60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.y5_ y5(c(start = 1)) "BMAL1_cytoplasm" annotation( + Placement(transformation(origin = {20.0, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Substances.AmbientSubstance ambientSubstance annotation( + Placement(transformation(origin = {90.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + input Real trans_per2_cry; + Cytoplasm.per2_cry_transcription_ per2_cry_transcription(trans_per2_cry = trans_per2_cry) "per2_cry_transcription" annotation( + Placement(transformation(origin = {130.0, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + parameter Real k1d; + Cytoplasm.per2_cry_mRNA_degradation_ per2_cry_mRNA_degradation(k1d = k1d) "per2_cry_mRNA_degradation" annotation( + Placement(transformation(origin = {130.0, 70.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + parameter Real k2b; + parameter Real q; + Cytoplasm.per2_cry_complex_formation_ per2_cry_complex_formation(k2b = k2b, q = q) "per2_cry_complex_formation" annotation( + Placement(transformation(origin = {152.1486, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + parameter Real k2d; + Cytoplasm.cytoplasmic_per2_cry_complex_degradation_ cytoplasmic_per2_cry_complex_degradation(k2d = k2d) "cytoplasmic_per2_cry_complex_degradation" annotation( + Placement(transformation(origin = {120.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + parameter Real k2t; + BioChem.Interfaces.Nodes.SubstanceConnector y3_node annotation( + Placement(transformation(origin = {190.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.per2_cry_nuclear_import_ per2_cry_nuclear_import(k2t = k2t) "per2_cry_nuclear_import" annotation( + Placement(transformation(origin = {180.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + BioChem.Interfaces.Nodes.SubstanceConnector y2_node annotation( + Placement(transformation(origin = {190.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + input Real trans_Bmal1; + Cytoplasm.Bmal1_transcription_ Bmal1_transcription(trans_Bmal1 = trans_Bmal1) "Bmal1_transcription" annotation( + Placement(transformation(origin = {74.9249, -23.3818}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + parameter Real k4d; + Cytoplasm.Bmal1_mRNA_degradation_ Bmal1_mRNA_degradation(k4d = k4d) "Bmal1_mRNA_degradation" annotation( + Placement(transformation(origin = {100.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + parameter Real k5b; + Cytoplasm.BMAL1_translation_ BMAL1_translation(k5b = k5b) "BMAL1_translation" annotation( + Placement(transformation(origin = {60.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + parameter Real k5d; + Cytoplasm.cytoplasmic_BMAL1_degradation_ cytoplasmic_BMAL1_degradation(k5d = k5d) "cytoplasmic_BMAL1_degradation" annotation( + Placement(transformation(origin = {60.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + parameter Real k5t; + BioChem.Interfaces.Nodes.SubstanceConnector y6_node annotation( + Placement(transformation(origin = {190.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.BMAL1_nuclear_import_ BMAL1_nuclear_import(k5t = k5t) "BMAL1_nuclear_import" annotation( + Placement(transformation(origin = {50.0, -80.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -450))); + BioChem.Interfaces.Nodes.SubstanceConnector y5_node annotation( + Placement(transformation(origin = {190.0, 80.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + equation + connect(BMAL1_nuclear_import.p1, y6_node) annotation( + Line(origin = {128.8, -92.4506}, points = {{-78.8, 1.2006}, {-78.8, -3.0509}, {48.2, -3.0509}, {48.2, 2.4506}, {61.2, 2.4506}}, smooth = Smooth.Bezier)); + connect(y2.n1, y2_node) annotation( + Line(origin = {169.0149, -25.9149}, points = {{-29.0149, 4.0851}, {8.5, 4.0851}, {8.5, -4.0851}, {20.9851, -4.0851}}, smooth = Smooth.Bezier)); + connect(per2_cry_nuclear_import.p1, y3_node) annotation( + Line(origin = {183.3333, 27.0833}, points = {{-3.3333, -5.8333}, {-3.3333, 2.9167}, {6.6667, 2.9167}}, smooth = Smooth.Bezier)); + connect(y5.n1, y5_node) annotation( + Line(origin = {121.75, 70.0}, points = {{-101.75, -50.0}, {-41.75, 30.0}, {65.25, 10.0}, {68.25, 10.0}}, smooth = Smooth.Bezier)); + connect(y2.n1, per2_cry_nuclear_import.s1) annotation( + Line(origin = {166.6667, -14.9699}, points = {{-26.6667, -6.8599}, {13.3333, -6.8599}, {13.3333, 13.7199}}, smooth = Smooth.Bezier)); + connect(y1.n1, per2_cry_complex_formation.m1) annotation( + Line(origin = {167.0495, 33.3333}, points = {{2.9505, 26.6667}, {2.9505, -13.3333}, {-5.9009, -13.3333}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, per2_cry_complex_formation.s1) annotation( + Line(origin = {120.0594, 32.4506}, points = {{-30.0594, -2.4506}, {-17.0594, -2.4506}, {-17.0594, 3.0509}, {32.0892, 3.0509}, {32.0892, -1.2006}}, smooth = Smooth.Bezier)); + connect(y2.n1, per2_cry_complex_formation.p1) annotation( + Line(origin = {146.0743, -1.0207}, points = {{-6.0743, -20.8091}, {-6.0743, 5.5192}, {6.0743, 5.5192}, {6.0743, 9.7707}}, smooth = Smooth.Bezier)); + connect(y2.n1, cytoplasmic_per2_cry_complex_degradation.s1) annotation( + Line(origin = {130.0, -8.5207}, points = {{10.0, -13.3091}, {10.0, 3.0192}, {-10.0, 3.0192}, {-10.0, 7.2707}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, cytoplasmic_per2_cry_complex_degradation.p1) annotation( + Line(origin = {110.0, 27.0833}, points = {{-20.0, 2.9167}, {10.0, 2.9167}, {10.0, -5.8333}}, smooth = Smooth.Bezier)); + connect(y1.n1, per2_cry_transcription.p1) annotation( + Line(origin = {150.5633, 55.0}, points = {{19.4367, 5.0}, {-5.0617, 5.0}, {-5.0617, -5.0}, {-9.3133, -5.0}}, smooth = Smooth.Bezier)); + connect(y1.n1, per2_cry_mRNA_degradation.s1) annotation( + Line(origin = {150.5633, 65.0}, points = {{19.4367, -5.0}, {-5.0617, -5.0}, {-5.0617, 5.0}, {-9.3133, 5.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, per2_cry_mRNA_degradation.p1) annotation( + Line(origin = {99.5833, 56.6667}, points = {{-9.5833, -26.6667}, {-9.5833, 13.3333}, {19.1667, 13.3333}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, per2_cry_transcription.s1) annotation( + Line(origin = {106.872, 42.5}, points = {{-16.872, -12.5}, {-2.6325, -2.5}, {7.6265, 7.5}, {11.878, 7.5}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, BMAL1_translation.s1) annotation( + Line(origin = {83.75, 10.0}, points = {{6.25, 20.0}, {6.25, -10.0}, {-12.5, -10.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, Bmal1_mRNA_degradation.p1) annotation( + Line(origin = {95.0, -4.4367}, points = {{-5.0, 34.4367}, {-5.0, -10.0617}, {5.0, -10.0617}, {5.0, -14.3133}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, Bmal1_transcription.s1) annotation( + Line(origin = {82.4624, 0.5269}, points = {{7.5376, 29.4731}, {7.5376, -8.4072}, {-7.5375, -8.4072}, {-7.5375, -12.6587}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, cytoplasmic_BMAL1_degradation.p1) annotation( + Line(origin = {80.625, 30.0}, points = {{9.375, -0.0}, {-9.375, 0.0}}, smooth = Smooth.Bezier)); + connect(y5.n1, cytoplasmic_BMAL1_degradation.s1) annotation( + Line(origin = {39.4367, 25.0}, points = {{-19.4367, -5.0}, {5.0617, -5.0}, {5.0617, 5.0}, {9.3133, 5.0}}, smooth = Smooth.Bezier)); + connect(y5.n1, BMAL1_nuclear_import.s1) annotation( + Line(origin = {35.0, -44.4367}, points = {{-15.0, 64.4367}, {-15.0, -20.0617}, {15.0, -20.0617}, {15.0, -24.3133}}, smooth = Smooth.Bezier)); + connect(y5.n1, BMAL1_translation.p1) annotation( + Line(origin = {39.4367, 10.0}, points = {{-19.4367, 10.0}, {5.0617, 10.0}, {5.0617, -10.0}, {9.3133, -10.0}}, smooth = Smooth.Bezier)); + connect(y4.n1, BMAL1_translation.m1) annotation( + Line(origin = {62.4147, -24.2512}, points = {{2.4147, -35.7488}, {2.4147, 10.2487}, {-2.4147, 10.2487}, {-2.4147, 15.2512}}, smooth = Smooth.Bezier)); + connect(y4.n1, Bmal1_transcription.p1) annotation( + Line(origin = {69.8771, -43.0996}, points = {{-5.0478, -16.9004}, {-5.0478, 4.2163}, {5.0478, 4.2163}, {5.0478, 8.4678}}, smooth = Smooth.Bezier)); + connect(y4.n1, Bmal1_mRNA_degradation.s1) annotation( + Line(origin = {88.2764, -53.75}, points = {{-23.4471, -6.25}, {11.7236, -6.25}, {11.7236, 12.5}}, smooth = Smooth.Bezier)); + annotation( + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10})), + Diagram(coordinateSystem(extent = {{0.0, -100.0}, {200.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}))); + end Cytoplasm; + annotation( + __MathCore(RDF = " + + + + + + Dharuri + Harish + + hdharuri@cds.caltech.edu + + California Institute of Technology + + + + + + 2008-04-16T11:56:13Z + + + 2008-08-20T18:28:56Z + + + + + + + + + + + + + + + + + + + + + + + + ")); + annotation( + Documentation(info = " +

    Circadian Oscillator

    + +This example is the modelica version of the model presented in +Modeling feedback loops of the Mammalian circadian oscillator by +Becker-Weimann S, Wolf J, Herzel H, Kramer A. (Biophysical Journal Volume 87 November 2004 3023-3034) + +
    +
    +See +Container + for more documentation and simulation results. +", revisions = "")); +end CircadianOscillator; diff --git a/BioChem/Examples/GMO.mo b/BioChem/Examples/GMO.mo new file mode 100644 index 0000000..dbce5a1 --- /dev/null +++ b/BioChem/Examples/GMO.mo @@ -0,0 +1,321 @@ +within BioChem.Examples; + +package GMO "Goldbeter1991_MinMitOscil" + extends BioChem.Icons.Example; + + model cell "cell" + extends BioChem.Compartments.MainCompartment(V(start = 1)); + import BioChem.Math.*; + import BioChem.Constants.*; + + model C_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end C_; + + model M_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + + ")); + end M_; + + model X_ + extends BioChem.Substances.Substance; + end X_; + + model reaction1_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real vi = 0.025; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * vi; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end reaction1_; + + model reaction2_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real kd = 0.01; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = s1.c * cell_V * kd; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end reaction2_; + + model reaction3_ + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real vd = 0.25; + parameter Real Kd = 0.02; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = s1.c * cell_V * vd * m1.c * (s1.c + Kd) ^ (-1); + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end reaction3_; + + model reaction4_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real K1 = 0.005; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + Real V1; + equation + rr = cell_V * (1 + (-1) * p1.c) * V1 * (K1 + (-1) * p1.c + 1) ^ (-1); + annotation( + __MathCore(RDF = " + + + + + + + + + + ")); + end reaction4_; + + model reaction5_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real V2 = 1.5; + parameter Real K2 = 0.005; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * V2 * (K2 + s1.c) ^ (-1); + annotation( + __MathCore(RDF = " + + + + + + + + + + ")); + end reaction5_; + + model reaction6_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real K3 = 0.005; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + Real V3; + equation + rr = cell_V * V3 * (1 + (-1) * p1.c) * (K3 + (-1) * p1.c + 1) ^ (-1); + end reaction6_; + + model reaction7_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real K4 = 0.005; + parameter Real V4 = 0.5; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * V4 * s1.c * (K4 + s1.c) ^ (-1); + end reaction7_; + + inner Real cell_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + BioChem.Examples.GMO.cell.C_ C(c(start = 0.01)) "Cyclin" annotation( + Placement(transformation(origin = {80.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + BioChem.Examples.GMO.cell.M_ M(c(start = 0.01)) "CDC-2 Kinase" annotation( + Placement(transformation(origin = {-70.0, 70.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Examples.GMO.cell.X_ X(c(start = 0.01)) "Cyclin Protease" annotation( + Placement(transformation(origin = {50.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Real V1 "V1"; + Real V3 "V3"; + parameter Real VM1 = 3 "VM1"; + parameter Real VM3 = 1 "VM3"; + parameter Real Kc = 0.5 "Kc"; + BioChem.Substances.AmbientSubstance ambientSubstance annotation( + Placement(transformation(origin = {-10.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Examples.GMO.cell.reaction1_ reaction1 "creation of cyclin" annotation( + Placement(transformation(origin = {50.0, 40.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + BioChem.Examples.GMO.cell.reaction2_ reaction2 "default degradation of cyclin" annotation( + Placement(transformation(origin = {30.0, -60.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}, rotation = 180))); + BioChem.Examples.GMO.cell.reaction3_ reaction3 "cdc2 kinase triggered degration of cyclin" annotation( + Placement(transformation(origin = {50.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Examples.GMO.cell.reaction4_ reaction4(V1 = V1) "activation of cdc2 kinase" annotation( + Placement(transformation(origin = {-70.0, 40.0}, extent = {{10.0, -10.0}, {-10.0, 10.0}}, rotation = 270))); + BioChem.Examples.GMO.cell.reaction5_ reaction5 "deactivation of cdc2 kinase" annotation( + Placement(transformation(origin = {-30.0, 70.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + BioChem.Examples.GMO.cell.reaction6_ reaction6(V3 = V3) "activation of cyclin protease" annotation( + Placement(transformation(origin = {10.0, -37.8911}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Examples.GMO.cell.reaction7_ reaction7 "deactivation of cyclin protease" annotation( + Placement(transformation(origin = {20.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + equation + connect(X.n1, reaction7.s1) annotation( + Line(origin = {43.75, -16.6667}, points = {{6.25, -13.3333}, {6.25, 6.6667}, {-12.5, 6.6667}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction7.p1) annotation( + Line(origin = {-3.75, 3.3333}, points = {{-6.25, 26.6667}, {-6.25, -13.3333}, {12.5, -13.3333}}, smooth = Smooth.Bezier)); + connect(X.n1, reaction6.p1) annotation( + Line(origin = {30.5633, -33.9455}, points = {{19.4367, 3.9455}, {-5.0617, 3.9455}, {-5.0617, -3.9455}, {-9.3133, -3.9455}}, smooth = Smooth.Bezier)); + connect(X.n1, reaction3.m1) annotation( + Line(origin = {50.0, -14.5}, points = {{0.0, -15.5}, {0.0, 15.5}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction6.s1) annotation( + Line(origin = {-7.0833, -15.2607}, points = {{-2.9167, 45.2607}, {-2.9167, -22.6304}, {5.8333, -22.6304}}, smooth = Smooth.Bezier)); + connect(M.n1, reaction4.p1) annotation( + Line(origin = {-70.0, 60.625}, points = {{0.0, 9.375}, {0.0, -9.375}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction4.s1) annotation( + Line(origin = {-39.2, 27.5494}, points = {{29.2, 2.4506}, {16.2, 2.4506}, {16.2, -3.0509}, {-30.8, -3.0509}, {-30.8, 1.2006}}, smooth = Smooth.Bezier)); + connect(M.n1, reaction5.s1) annotation( + Line(origin = {-55.625, 70.0}, points = {{-14.375, 0.0}, {14.375, 0.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction5.p1) annotation( + Line(origin = {-12.9167, 56.6667}, points = {{2.9167, -26.6667}, {2.9167, 13.3333}, {-5.8333, 13.3333}}, smooth = Smooth.Bezier)); + connect(C.n1, reaction2.s1) annotation( + Line(origin = {67.0833, -40.0}, points = {{12.9167, 40.0}, {12.9167, -20.0}, {-25.8333, -20.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction2.p1) annotation( + Line(origin = {-50.4167, -20.9454}, points = {{40.4167, 50.9454}, {-9.5833, -30.588}, {69.1667, -39.0546}}, smooth = Smooth.Bezier)); + connect(C.n1, reaction1.p1) annotation( + Line(origin = {73.75, 26.6667}, points = {{6.25, -26.6667}, {6.25, 13.3333}, {-12.5, 13.3333}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction1.s1) annotation( + Line(origin = {24.4367, 35.0}, points = {{-34.4367, -5.0}, {10.0617, -5.0}, {10.0617, 5.0}, {14.3133, 5.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction3.p1) annotation( + Line(origin = {24.4367, 20.0}, points = {{-34.4367, 10.0}, {10.0617, 10.0}, {10.0617, -10.0}, {14.3133, -10.0}}, smooth = Smooth.Bezier)); + connect(C.n1, reaction3.s1) annotation( + Line(origin = {68.0633, 5.0}, points = {{11.9367, -5.0}, {-2.5617, -5.0}, {-2.5617, 5.0}, {-6.8133, 5.0}}, smooth = Smooth.Bezier)); + V1 = C.c * VM1 * (C.c + Kc) ^ (-1); + V3 = M.c * VM3; + annotation( + __MathCore(RDF = " + + + + + + + + "), + Documentation(info = " +

    A Simple Mitotic Oscillator

    + +This example is a modelica version of the model presented in + +A minimal cascade model for the miotic oscillator involving cyclin and cdc2 kinase by Goldbeter A. (Proc. Nati. Acad. Sci. USA +Vol. 88, pp. 9107-9111, October 1991 +Cell Biology.) + +

    Abstract

    +A minimal model for the mitotic oscillator is presented. The model, built on recent experimental advances, is based on the cascade of post-translational modification that modulates the activity of cdc2 kinase during the cell cycle. The model pertains to the situation encountered in early amphibian embryos, where the accumulation of cyclin suffices to trigger the onset of mitosis. In the first cycle of the bicyclic cascade model, cyclin promotes the activation of cdc2 kinase through reversible dephosphorylation, and in the second cycle, cdc2 kinase activates a cyclin protease by reversible phosphorylation. That cyclin activates cdc2 kinase while the kinase triggers the degradation of cyclin has suggested that oscillations may originate from such a negative feedback loop [Félix, M. A., Labbé, J. C., Dorée, M., Hunt, T. & Karsenti, E. (1990) Nature (London) 346, 379-382]. This conjecture is corroborated by the model, which indicates that sustained oscillations of the limit cycle type can arise in the cascade, provided that a threshold exists in the activation of cdc2 kinase by cyclin and in the activation of cyclin proteolysis by cdc2 kinase. The analysis shows how miototic oscillations may readily arise from time lags associated with these thresholds and from the delayed negative feedback provided by cdc2-induced cyclin degradation. A mechanism for the origin of the thresholds is proposed in terms of the phenomenon of zero-order ultrasensitivity previously described for biochemical systems regulated by covalent modification. + +

    Simulations

    +The simulation results are shown in the + Figure 1. This plot corresponds to Fig 3 of the paper (Goldbeter 1991). + + +\"Fig1: + +", revisions = ""), + experiment(StartTime = 0.0, StopTime = 100, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06)); + end cell; + annotation( + __MathCore(RDF = " + + + + + + Shapiro + Bruce + + bshapiro@jpl.nasa.gov + + NASA Jet Propulsion Laboratory + + + + + + 2005-02-06T23:39:40Z + + + 2008-08-21T11:31:07Z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ")); + annotation( + Documentation(info = " +

    A Simple Mitotic Oscillator

    + +This example is a modelica version of the model presented in + +A minimal cascade model for the miotic oscillator involving cyclin and cdc2 kinase by Goldbeter A. (Proc. Nati. Acad. Sci. USA +Vol. 88, pp. 9107-9111, October 1991 +Cell Biology.) + +
    +
    + +See +cell + for more documentation and simulation results. +", revisions = "")); +end GMO; diff --git a/BioChem/Examples/GlucoseInsulinModel.mo b/BioChem/Examples/GlucoseInsulinModel.mo new file mode 100644 index 0000000..a8c4f28 --- /dev/null +++ b/BioChem/Examples/GlucoseInsulinModel.mo @@ -0,0 +1,793 @@ +within BioChem.Examples; + +package GlucoseInsulinModel + extends BioChem.Icons.Example; + + model GlucoseInsulinModel + extends BioChem.Compartments.MainCompartment(V.start = 1.0); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.GastroIntestinalTract GastroIntestinalTract annotation( + Placement(transformation(origin = {-50, 80}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.TissueGlucose TissueGlucose annotation( + Placement(transformation(origin = {0, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.GlucoseRenalExcretion GlucoseRenalExcretion annotation( + Placement(transformation(origin = {125.793, -4.74893}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.PlasmaGlucose PlasmaGlucose annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.PlasmaInsulin PlasmaInsulin annotation( + Placement(transformation(origin = {-80, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.UtilizationMuscleTissue UtilizationMuscleTissue annotation( + Placement(transformation(origin = {70, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ReversibleFlowReaction k_1_k_2(k_1 = 0.065, k_2 = 0.079) annotation( + Placement(transformation(origin = {0, 30}, extent = {{-6.52644, -6.52644}, {6.52644, 6.52644}}, rotation = -270))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.LiverInsulin LiverInsulin annotation( + Placement(transformation(origin = {-80, -73.9076}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.EndogenousGlucoseProduction EndogenousGlucoseProduction annotation( + Placement(transformation(origin = {-40, -45.0779}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ReversibleFlowReaction m_1_m_2(k_2 = 0.484, k_1 = 0.19) annotation( + Placement(transformation(origin = {-80, -36.3608}, extent = {{-6.36084, 6.36084}, {6.36084, -6.36084}}, rotation = 90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.BetaCell BetaCell annotation( + Placement(transformation(origin = {23.4019, -74.2468}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.AdiposeTissue.AdiposeTissue adiposeTissue1 annotation( + Placement(transformation(origin = {70, 80}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(UtilizationMuscleTissue.I_connector, PlasmaInsulin.I_signal_connector) annotation( + Line(origin = {-35.44, 35.5}, points = {{94.44, 12.857}, {55.44, 12.86}, {48.33, 64.5}, {-52.076, 70.3333}, {-34.56, 6.90118}, {-26.6353, -15.5}, {-24.56, -41.27}, {-33.56, -41.27}, {-33.56, -41.182}}, color = {255, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(adiposeTissue1.I_connector, PlasmaInsulin.I_signal_connector) annotation( + Line(origin = {-42.08, 44.79}, points = {{101.078, 43.5978}, {58.03, 43.6}, {12.08, 61.3825}, {-41.3655, 52.9023}, {-34.2421, 19.3206}, {-23.7266, -12.2259}, {-17.92, -36.99}, {-17.92, -47.1645}, {-19.65, -50.22}, {-26.92, -50.22}, {-26.9223, -50.4722}}, color = {255, 0, 255}, pattern = LinePattern.Dash, smooth = Smooth.Bezier)); + connect(TissueGlucose.U_idf_connector, adiposeTissue1.G_t_connector) annotation( + Line(origin = {38.75, 76.58}, points = {{-27.75, -10.58}, {-8.75, 3.42}, {16.25, 3.58}, {20.25, 3.58}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.None, Arrow.Filled}, smooth = Smooth.Bezier)); + connect(BetaCell.G_connector, PlasmaGlucose.G_signal_connector) annotation( + Line(origin = {-0.71, -20.49}, points = {{24.11, -42.76}, {22.75, -9.7}, {-17.27, -9.7}, {-17.27, 20.49}, {-10.29, 20.68}}, color = {0, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(BetaCell.G_p_connector, PlasmaGlucose.G_p_connector) annotation( + Line(origin = {3.93, -21.62}, points = {{26.99, -41.63}, {26.31, -4.5}, {-18.85, -4.5}, {-18.85, 14.62}, {-14.93, 14.62}}, color = {0, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(GlucoseRenalExcretion.G_p_connector, PlasmaGlucose.G_p_connector) annotation( + Line(origin = {37.56, -14.05}, points = {{77.23, 0.94}, {56.28, -11.35}, {-17.56, -11.35}, {-52.49, -11.35}, {-52.49, 7.6}, {-48.56, 7.6}, {-48.56, 7.05}}, color = {0, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(PlasmaGlucose.G_p_connector, EndogenousGlucoseProduction.G_p_connector) annotation( + Line(origin = {-30.33, -16.03}, points = {{19.33, 9.03}, {-9.67, 9.03}, {-9.67, -18.05}}, color = {0, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.None, Arrow.Open}, smooth = Smooth.Bezier)); + connect(EndogenousGlucoseProduction.I_po_connector, BetaCell.I_po_connector) annotation( + Line(origin = {1.27, -51.13}, points = {{-30.27, 6.06}, {15.13, 6.06}, {15.13, -12.11}}, color = {255, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(EndogenousGlucoseProduction.I_connector, PlasmaInsulin.I_signal_connector) annotation( + Line(origin = {-54.49, -15.15}, points = {{7.26, -18.93}, {7.26, 9.47}, {-14.51, 9.47}}, color = {255, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(TissueGlucose.U_idm_connector, UtilizationMuscleTissue.G_t_connector) annotation( + Line(origin = {45, 46.91}, points = {{-34, 6.74021}, {-12.0967, -6.91}, {10, -6.74}, {14, -6.748}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.None, Arrow.Filled}, smooth = Smooth.Bezier)); + connect(LiverInsulin.S_connector, BetaCell.S_connector) annotation( + Line(origin = {-9.95, -74.17}, points = {{-59.05, 0.07}, {18.35, 0.07}, {18.35, -0.07}, {22.35, -0.07}}, color = {128, 0, 128}, thickness = 1, arrow = {Arrow.Filled, Arrow.None}, smooth = Smooth.Bezier)); + connect(PlasmaGlucose.EGP_connector, EndogenousGlucoseProduction.EGP_connector) annotation( + Line(origin = {-19.75, -20.03}, points = {{19.58, 9.03}, {19.58, 0.03}, {-10.25, 0.03}, {-13.15, -4.55}, {-12.87, -14.05}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.Filled, Arrow.None}, smooth = Smooth.Bezier)); + connect(PlasmaGlucose.E_connector, GlucoseRenalExcretion.productConnector1) annotation( + Line(origin = {86.84, -4.8}, points = {{-75.84, -0.05}, {23.95, -0.05}, {23.95, 0.05}, {27.95, 0.05}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.None, Arrow.Filled}, smooth = Smooth.Bezier)); + connect(PlasmaGlucose.Ra_connector, GastroIntestinalTract.Ra_connector) annotation( + Line(origin = {-28.9, 31.7}, points = {{21.1, -20.7}, {21.1, -8.3}, {-21.1, -8.3}, {-21.1, 37.3}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.Filled, Arrow.None}, smooth = Smooth.Bezier)); + connect(m_1_m_2.p1, PlasmaInsulin.I_connector) annotation( + Line(origin = {-80, -20.1024}, points = {{0, -9.10245}, {0, 9.10245}}, color = {128, 0, 128}, thickness = 1, smooth = Smooth.Bezier)); + connect(m_1_m_2.s1, LiverInsulin.I_connector) annotation( + Line(origin = {-80, -53.2122}, points = {{0, 9.6954}, {0, -9.6954}}, color = {128, 0, 128}, thickness = 1, smooth = Smooth.Bezier)); + connect(k_1_k_2.p1, TissueGlucose.G_connector) annotation( + Line(origin = {0, 43.17}, points = {{0, -5.83}, {0, 5.83}}, color = {0, 0, 128}, thickness = 1, smooth = Smooth.Bezier)); + connect(k_1_k_2.s1, PlasmaGlucose.G_connector) annotation( + Line(origin = {0, 16.83}, points = {{0, 5.83}, {0, -5.83}}, color = {0, 0, 128}, thickness = 1, smooth = Smooth.Bezier)); + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Rectangle(origin = {-39.6875, -1.36711}, fillColor = {255, 0, 0}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-55.2911, -15.5929}, {55.2911, 15.5929}}), Rectangle(origin = {-57.5522, -75}, fillColor = {128, 0, 0}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-40.931, -15}, {40.931, 15}}), Rectangle(origin = {-40.7051, -45.0134}, fillColor = {128, 0, 0}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-24.0839, -16.859}, {24.0839, 16.859}}), Rectangle(origin = {17.3745, 60}, fillColor = {255, 170, 127}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-35, -18.3307}, {35, 18.3307}}), Rectangle(origin = {70, 58.6765}, fillColor = {255, 170, 127}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-20, -38.6765}, {20, 38.6765}}), Line(origin = {100, -55.25}, points = {{-8.26, 0}, {8.26, 0}}, color = {0, 0, 128}, thickness = 1), Text(origin = {126.135, -55.59}, fillPattern = FillPattern.Solid, extent = {{-15.6548, -4.41}, {15.6548, 4.41}}, textString = "Glucose flow", fontName = "Arial"), Line(origin = {100, -66.03}, points = {{-8.26, 0}, {8.26, 0}}, color = {0, 0, 255}, pattern = LinePattern.Dash), Line(origin = {100, -85.28}, points = {{-8.26, 0}, {8.26, 0}}, color = {255, 0, 255}, pattern = LinePattern.Dash), Line(origin = {100, -75.36}, points = {{-8.26, 0}, {8.26, 0}}, color = {128, 0, 128}, thickness = 1), Text(origin = {128.34, -65.59}, fillPattern = FillPattern.Solid, extent = {{-17.8596, -4.41}, {17.8596, 4.41}}, textString = "Glucose signal", fontName = "Arial"), Text(origin = {124.953, -75.59}, fillPattern = FillPattern.Solid, extent = {{-13.3507, -4.41}, {13.3507, 4.41}}, textString = "Insulin flow", fontName = "Arial"), Text(origin = {126.987, -85.59}, fillPattern = FillPattern.Solid, extent = {{-15.3871, -4.41}, {15.3871, 4.41}}, textString = "Insulin signal", fontName = "Arial")}), + experiment(StartTime = 0.0, StopTime = 420, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06), + Documentation(info = " +

    A Whole Body Model of the Glucose Insulin System

    + +This model is presented in Hierarchical modeling of diabetes by +Elin Nyman, ISRN:LiU-IKE-EX-09/14. Linköping University 2009.

    + +This whole-body model of the glucose insulin system shows the flows and concentrations of insulin and glucose during and after a meal. Mechanistic details on a cellular level are included in the module describing the fat tissue. The model can be used to study diabetes and other related diseases. +

    The Fat Tissue Module

    +The module describing the fat cells includes the main parts of the insulin signaling network of fat cells. This process starts with insulin molecules that bind to the insulin receptor (IR) in the cell membrane. This activates (phosphorylates) IR. Active IR phosphorylates the insulin receptor substrate protein 1 (IRS1) inside the cell on selective tyrosine sites. These phosphorylations are used as docking sites by downstream effector molecules. The next important step in this path is the activation of protein kinase B (PKB). PKB regulates the translocation of vesicles including glucose transporter 4 (GLUT4) from the cytosol to the plasma membrane. The vesicles merge into the membrane where GLUT4 starts to transport glucose from the interstitial fluid to the inside of the cell. This signaling cascade is shown in Figure 1. GLUT1 or glucose transporter 1 is the other glucose transporter that exists in fat cells. GLUT1 continuously transports small amounts of glucose into the cells for the basal needs. + + + +\"Fig1:
    +Figure 1: A simplified picture of the insulin signaling network and the glucose uptake in fat cells.
    + + +

    Simulations

    +The simulation results of the whole body level are shown in the Figure 2, Figure 3 and Figure 4. The concentrations of insulin and glucose are shown in Figure 2 and the three flows: insulin from beta cells to liver, glucose from liver to plasma, and glucose from intestine to plasma, in Figure 3. + +Figure 4 shows a simulation of the glucose uptake by fat cells.
    + + + + + + +\"Fig2: + +\"Fig3: + +\"Fig4: + + +", revisions = "")); + end GlucoseInsulinModel; + + package Utilities + extends BioChem.Icons.Library; + + package Parts + extends BioChem.Icons.Library; + + model GastroIntestinalTract + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Units.Concentration ra_signal; + BioChem.Units.Concentration q_sto; + BioChem.Units.Concentration d; + parameter Real f = 0.9; + parameter Real BW = 78; + BioChem.Substances.Substance Q_sto2(c.start = 0) annotation( + Placement(transformation(origin = {0, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance Q_gut(c.start = 0) annotation( + Placement(transformation(origin = {0, -20}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_abs(k = 0.057) annotation( + Placement(transformation(origin = {38.33, -20}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.k_empt k_empt1 annotation( + Placement(transformation(origin = {0, 17.8419}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); + BioChem.Substances.Substance Q_sto1(c.start = 0) annotation( + Placement(transformation(origin = {-60, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.dirac dirac annotation( + Placement(transformation(origin = {-100, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance Q_sto(c(start = 0) = q_sto) annotation( + Placement(transformation(origin = {100, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance D(c(start = 0) = d) annotation( + Placement(transformation(origin = {100, 5.76656}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector Ra_connector annotation( + Placement(transformation(origin = {0, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance GlucoseIntake(c.start = 78000) annotation( + Placement(transformation(origin = {-130, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_gri(k = 0.0558) annotation( + Placement(transformation(origin = {-28.43, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance End annotation( + Placement(transformation(origin = {80, -20}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance Ra_calc(c = ra_signal) annotation( + Placement(transformation(origin = {0, -50}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(Ra_calc.n1, Ra_connector) annotation( + Line(origin = {0, -65}, points = {{0, 15}, {0, -15}})); + connect(k_abs.p1, End.n1) annotation( + Line(origin = {64.79, -20}, points = {{-15.21, 0}, {15.21, 0}})); + connect(Q_sto1.n1, k_gri.s1) annotation( + Line(origin = {-49.84, 50}, points = {{-10.16, 0}, {10.16, 0}})); + connect(k_gri.p1, Q_sto2.n1) annotation( + Line(origin = {-8.59, 50}, points = {{-8.59, 0}, {8.59, 0}})); + connect(GlucoseIntake.n1, dirac.s1) annotation( + Line(origin = {-120.625, 50}, points = {{-9.375, 0}, {9.375, 0}})); + connect(D.n1, k_empt1.m2) annotation( + Line(origin = {34.2512, 9.30423}, points = {{65.7488, -3.53767}, {-20.2487, -3.53767}, {-20.2487, 3.53767}, {-25.2512, 3.53767}})); + connect(Q_sto.n1, k_empt1.m1) annotation( + Line(origin = {34.2512, 26.4209}, points = {{65.7488, 3.57905}, {-20.2487, 3.57905}, {-20.2487, -3.57905}, {-25.2512, -3.57905}})); + connect(dirac.p1, Q_sto1.n1) annotation( + Line(origin = {-74.375, 50}, points = {{-14.375, 0}, {14.375, 0}})); + connect(k_empt1.p1, Q_gut.n1) annotation( + Line(origin = {1.11022e-17, -6.70406}, points = {{1.11022e-17, 13.2959}, {-1.11022e-17, -13.2959}})); + connect(Q_sto2.n1, k_empt1.s1) annotation( + Line(origin = {-1.11022e-17, 39.5459}, points = {{1.11022e-17, 10.4541}, {-1.11022e-17, -10.4541}})); + connect(Q_gut.n1, k_abs.s1) annotation( + Line(origin = {13.54, -20}, points = {{-13.54, 0}, {13.54, 0}})); + ra_signal = f * k_abs.k * Q_gut.c / BW; + q_sto = Q_sto1.c + Q_sto2.c; + d = GlucoseIntake.c; + 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 = {Text(origin = {-7.23323, 45}, fillPattern = FillPattern.Solid, extent = {{-45, -45}, {45, 45}}, textString = "GI", fontName = "Arial"), Text(origin = {-2.44435, -51.2385}, fillPattern = FillPattern.Solid, extent = {{-93.0638, -41.2385}, {93.0638, 41.2385}}, textString = "tract", fontName = "Arial")})); + end GastroIntestinalTract; + + model BetaCell + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Units.Concentration i_po(start = 3.6); + BioChem.Units.Concentration g; + BioChem.Units.Concentration g_p; + BioChem.Units.Concentration y; + BioChem.Units.Concentration y_signal(start = 0); + BioChem.Units.Concentration s_signal; + parameter Real alpha = 0.05; + parameter Real beta = 0.11; + parameter Real S_b = 1.8; + parameter Real G_b = 95; + parameter Real K = 2.3; + parameter Real gamma = 0.5; + BioChem.Interfaces.Nodes.ModifierConnector G_connector annotation( + Placement(transformation(origin = {0, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector S_connector annotation( + Placement(transformation(origin = {-120, -8.88178e-16}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_po_connector annotation( + Placement(transformation(origin = {-90, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-70, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation( + Placement(transformation(origin = {100, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {75.1683, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance S_calc(c = s_signal) annotation( + Placement(transformation(origin = {-90, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance1 annotation( + Placement(transformation(origin = {2.22045e-16, 60}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance2 annotation( + Placement(transformation(origin = {100, 60}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance3 annotation( + Placement(transformation(origin = {60, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance I_po_signal(c = i_po) annotation( + Placement(transformation(origin = {-90, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G(c = g) annotation( + Placement(transformation(origin = {0, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G_p(c = g_p) annotation( + Placement(transformation(origin = {100, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance Y(c = y) annotation( + Placement(transformation(origin = {80, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance Y_signal(c = y_signal) annotation( + Placement(transformation(origin = {40, -30}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(Y_signal.n1, signaltosubstance3.s1) annotation( + Line(origin = {42.9167, -30}, points = {{-2.91667, 3.55271e-15}, {-2.91667, -3.55271e-15}, {5.83333, -3.55271e-15}})); + connect(signaltosubstance3.p1, Y.n1) annotation( + Line(origin = {74.1667, -30}, points = {{-2.91667, 0}, {-2.91667, 0}, {5.83333, 0}})); + connect(signaltosubstance2.p1, G_p.n1) annotation( + Line(origin = {100, 42.9167}, points = {{0, 5.83333}, {0, -2.91667}, {0, -2.91667}})); + connect(signaltosubstance1.p1, G.n1) annotation( + Line(origin = {1.62833e-16, 42.9167}, points = {{8.14164e-17, 5.83333}, {8.14164e-17, -2.91667}, {-1.62833e-16, -2.91667}})); + connect(I_po_connector, I_po_signal.n1) annotation( + Line(origin = {-90, 60}, points = {{0, 20}, {0, -20}})); + connect(G_p_connector, signaltosubstance2.s1) annotation( + Line(origin = {100, 75.625}, points = {{0, 4.375}, {0, -4.375}})); + connect(G_connector, signaltosubstance1.s1) annotation( + Line(origin = {9.99201e-17, 75.625}, points = {{-9.99201e-17, 4.375}, {9.99201e-17, -4.375}})); + connect(S_calc.n1, S_connector) annotation( + Line(origin = {-105, -4.44089e-16}, points = {{15, 4.44089e-16}, {-15, -4.44089e-16}})); + der(i_po) = if der(g_p) > 0 and g > G_b then (-gamma * i_po) + y + K * der(g) + S_b else (-gamma * i_po) + y + S_b; + der(y_signal) = if beta * (g - G_b) < (-S_b) then (-alpha * y_signal) - alpha * S_b else -alpha * (y_signal - beta * (g - G_b)); + s_signal = gamma * i_po; + 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 = {Text(origin = {-2.41533, 43.4019}, fillPattern = FillPattern.Solid, extent = {{-75.99, -51.46}, {75.99, 51.46}}, textString = "Beta", fontName = "Arial"), Text(origin = {1.61, -49.34}, fillPattern = FillPattern.Solid, extent = {{-73.89, -40.66}, {73.89, 40.66}}, textString = "cell", fontName = "Arial")})); + end BetaCell; + + model PlasmaInsulin + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Units.Concentration i_p_signal; + BioChem.Units.Concentration i_p; + BioChem.Units.Concentration i_signal; + parameter BioChem.Units.Volume V_I = 0.05; + BioChem.Substances.Substance I_p(c(start = 1.25) = i_p) annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction m_4(k = 0.194) annotation( + Placement(transformation(origin = {-60, 0}, extent = {{10, -10}, {-10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_p_connector annotation( + Placement(transformation(origin = {120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, 4.44089e-16}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector I_connector annotation( + Placement(transformation(origin = {0, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_signal_connector annotation( + Placement(transformation(origin = {120, -30}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, -56.82}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance I_p_signal(c = i_p_signal) annotation( + Placement(transformation(origin = {60, 7.77156e-16}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance I_signal(c = i_signal) annotation( + Placement(transformation(origin = {60, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance Deg annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(Deg.n1, m_4.p1) annotation( + Line(origin = {-95.625, 1.11022e-17}, points = {{-24.375, -1.11022e-17}, {24.375, 1.11022e-17}})); + connect(I_signal.n1, I_signal_connector) annotation( + Line(origin = {90, -30}, points = {{-30, 0}, {30, 0}})); + connect(I_p_signal.n1, I_p_connector) annotation( + Line(origin = {90, 3.88578e-16}, points = {{-30, 3.88578e-16}, {30, -3.88578e-16}})); + connect(I_p.n1, I_connector) annotation( + Line(origin = {0, -40}, points = {{0, 40}, {0, -40}})); + connect(m_4.s1, I_p.n1) annotation( + Line(origin = {-24.375, -1.11022e-17}, points = {{-24.375, -1.11022e-17}, {24.375, 1.11022e-17}})); + i_p_signal = i_p; + i_signal = i_p / V_I; + 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 = {Text(origin = {-7.10543e-15, 46.05}, fillPattern = FillPattern.Solid, extent = {{-93.8311, -36.05}, {93.8311, 36.05}}, textString = "Plasma", fontName = "Arial"), Text(origin = {-3.55271e-15, -36.936}, fillPattern = FillPattern.Solid, extent = {{-86.0653, -45}, {86.0653, 45}}, textString = "insulin", fontName = "Arial")})); + end PlasmaInsulin; + + model PlasmaGlucose + extends BioChem.Compartments.Compartment(V.start = 1.0); + parameter Real V_G = 1.88; + BioChem.Units.Concentration g_p_signal; + BioChem.Units.Concentration g_p; + BioChem.Units.Concentration g_signal; + BioChem.Interfaces.Nodes.ProductConnector EGP_connector annotation( + Placement(transformation(origin = {4.44089e-16, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-1.73862, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation( + Placement(transformation(origin = {-110, -70}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, -70}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector E_connector annotation( + Placement(transformation(origin = {120, -30}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, -48.4304}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector Ra_connector annotation( + Placement(transformation(origin = {-80, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-77.9724, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector G_connector annotation( + Placement(transformation(origin = {0, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance G_p_signal(c = g_p_signal) annotation( + Placement(transformation(origin = {-110, -23.3921}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance G_signal(c = g_signal) annotation( + Placement(transformation(origin = {-120, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector G_signal_connector annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 1.94}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G_p(c.start = 178, c = g_p) annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction Ra_reaction(k = 1) annotation( + Placement(transformation(origin = {-80, 50}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction EGP_reaction(k = 1) annotation( + Placement(transformation(origin = {0, -48}, extent = {{-10, 10}, {10, -10}}, rotation = 90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.U_ii_reaction u_ii_reaction1 annotation( + Placement(transformation(origin = {90, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance U_ii annotation( + Placement(transformation(origin = {120, 30}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(U_ii.n1, u_ii_reaction1.p1) annotation( + Line(origin = {110.625, 30}, points = {{9.375, 0}, {-9.375, 0}})); + connect(G_p.n1, u_ii_reaction1.s1) annotation( + Line(origin = {56.9367, 15}, points = {{-56.9367, -15}, {17.5617, -15}, {17.5617, 15}, {21.8133, 15}})); + connect(EGP_reaction.s1, EGP_connector) annotation( + Line(origin = {2.10942e-16, -69.625}, points = {{-2.33147e-16, 10.375}, {2.33147e-16, -10.375}})); + connect(G_p.n1, EGP_reaction.p1) annotation( + Line(origin = {1.11022e-17, -18.375}, points = {{-1.11022e-17, 18.375}, {1.11022e-17, -18.375}})); + connect(Ra_connector, Ra_reaction.s1) annotation( + Line(origin = {-80, 70.625}, points = {{0, 9.375}, {0, -9.375}})); + connect(Ra_reaction.p1, G_p.n1) annotation( + Line(origin = {-53.3333, 12.9167}, points = {{-26.6667, 25.8333}, {-26.6667, -12.9167}, {53.3333, -12.9167}})); + connect(G_p.n1, E_connector) annotation( + Line(origin = {83.5, -15}, points = {{-83.5, 15}, {23.5, 15}, {23.5, -15}, {36.5, -15}})); + connect(G_p.n1, G_connector) annotation( + Line(origin = {0, 40}, points = {{0, -40}, {0, 40}})); + connect(G_p_signal.n1, G_p_connector) annotation( + Line(origin = {-110, -46.696}, points = {{0, 23.304}, {0, -23.304}})); + connect(G_signal.n1, G_signal_connector) annotation( + Line(origin = {-120, 20}, points = {{0, 20}, {0, -20}})); + g_p_signal = g_p; + g_signal = g_p_signal / V_G; + 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 = {Text(origin = {9.76996e-15, 43.56}, fillPattern = FillPattern.Solid, extent = {{-83.88, -33.56}, {83.88, 33.56}}, textString = "Plasma", fontName = "Arial"), Text(origin = {2.66454e-15, -40}, fillPattern = FillPattern.Solid, extent = {{-86.96, -35.65}, {86.96, 35.65}}, textString = "glucose", fontName = "Arial")})); + end PlasmaGlucose; + + model LiverInsulin + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Units.Concentration s; + BioChem.Units.Concentration s_signal; + BioChem.Substances.Substance I_l(c.start = 5) annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance S_signal(c = s_signal) annotation( + Placement(transformation(origin = {-70, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.m_3 m_3 annotation( + Placement(transformation(origin = {-70, 0}, extent = {{10, -10}, {-10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector S_connector(c = s) annotation( + Placement(transformation(origin = {120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, -1.93864}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector I_connector annotation( + Placement(transformation(origin = {7.10543e-15, 79.59}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction S_reaction(k = 1) annotation( + Placement(transformation(origin = {70, -7.21645e-16}, extent = {{10, -10}, {-10, 10}}))); + BioChem.Substances.BoundarySubstance Deg annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(m_3.p1, Deg.n1) annotation( + Line(origin = {-100.625, 1.11022e-17}, points = {{19.375, 1.11022e-17}, {-19.375, -1.11022e-17}})); + connect(S_reaction.s1, S_connector) annotation( + Line(origin = {100.625, -3.71925e-16}, points = {{-19.375, -3.71925e-16}, {19.375, 3.71925e-16}})); + connect(S_reaction.p1, I_l.n1) annotation( + Line(origin = {29.375, -3.4972e-16}, points = {{29.375, -3.4972e-16}, {-29.375, 3.4972e-16}})); + connect(I_connector, I_l.n1) annotation( + Line(origin = {3.55271e-15, 39.795}, points = {{3.55271e-15, 39.795}, {-3.55271e-15, -39.795}})); + connect(I_l.n1, m_3.s1) annotation( + Line(origin = {-29.375, -1.11022e-17}, points = {{29.375, 1.11022e-17}, {-29.375, -1.11022e-17}})); + connect(S_signal.n1, m_3.m1) annotation( + Line(origin = {-70, 29.5}, points = {{0, 20.5}, {0, -20.5}})); + s = s_signal; + 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 = {Text(origin = {0.247749, 43.7203}, fillPattern = FillPattern.Solid, extent = {{-92.2066, -43.7203}, {92.2066, 43.7203}}, textString = "Liver", fontName = "Arial"), Text(origin = {-0.875609, -51.2968}, fillPattern = FillPattern.Solid, extent = {{-89.1244, -31.2968}, {89.1244, 31.2968}}, textString = "insulin", fontName = "Arial")})); + end LiverInsulin; + + model EndogenousGlucoseProduction + extends BioChem.Compartments.Compartment(V.start = 1.0); + parameter Real k_p1 = 2.7; + parameter Real k_p2 = 0.0021; + parameter Real k_p3 = 0.009; + parameter Real k_p4 = 0.0618; + BioChem.Units.Concentration egp_signal; + BioChem.Units.Concentration i_d; + BioChem.Units.Concentration g_p; + BioChem.Units.Concentration i_po; + BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation( + Placement(transformation(origin = {0, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {2.22045e-16, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector EGP_connector annotation( + Placement(transformation(origin = {60, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {73.83, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_connector annotation( + Placement(transformation(origin = {-60, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-72.29, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_po_connector annotation( + Placement(transformation(origin = {120, -60}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_i1(k = 0.0079) annotation( + Placement(transformation(origin = {-90, 63.2158}, extent = {{10, -10}, {-10, 10}}, rotation = -270))); + BioChem.Substances.Substance I_1(c.start = 25) annotation( + Placement(transformation(origin = {-90, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_i2(k = 0.0079) annotation( + Placement(transformation(origin = {-90, 10}, extent = {{10, -10}, {-10, 10}}, rotation = -270))); + BioChem.Substances.Substance I_d(c.start = 25, c = i_d) annotation( + Placement(transformation(origin = {-90, -10}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_i3(k = 0.0079) annotation( + Placement(transformation(origin = {-90, -40}, extent = {{10, -10}, {-10, 10}}, rotation = -270))); + BioChem.Substances.BoundarySubstance End annotation( + Placement(transformation(origin = {-90, -60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance EGP_calc(c = egp_signal) annotation( + Placement(transformation(origin = {60, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G_p(c = g_p) annotation( + Placement(transformation(origin = {8.88178e-16, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance I_po(c = i_po) annotation( + Placement(transformation(origin = {80, -60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance1 annotation( + Placement(transformation(origin = {100, -60}, extent = {{10, -10}, {-10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance2 annotation( + Placement(transformation(origin = {0, 60}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); + equation + connect(signaltosubstance2.p1, G_p.n1) annotation( + Line(origin = {3.10862e-16, 42.9167}, points = {{-2.88658e-16, 5.83333}, {-2.88658e-16, -2.91667}, {5.77316e-16, -2.91667}})); + connect(G_p_connector, signaltosubstance2.s1) annotation( + Line(origin = {-7.4015e-18, 74.1667}, points = {{7.4015e-18, 5.83333}, {7.4015e-18, -2.91667}, {-1.4803e-17, -2.91667}})); + connect(I_po_connector, signaltosubstance1.s1) annotation( + Line(origin = {115.625, -60}, points = {{4.375, 0}, {-4.375, 0}})); + connect(signaltosubstance1.p1, I_po.n1) annotation( + Line(origin = {84.375, -60}, points = {{4.375, 0}, {-4.375, 0}})); + connect(EGP_calc.n1, EGP_connector) annotation( + Line(origin = {60, 60}, points = {{0, -20}, {0, 20}})); + connect(End.n1, k_i3.p1) annotation( + Line(origin = {-90, -54.1667}, points = {{0, -5.83333}, {0, 2.91667}, {0, 2.91667}})); + connect(k_i3.s1, I_d.n1) annotation( + Line(origin = {-90, -19.375}, points = {{0, -9.375}, {0, 9.375}})); + connect(k_i2.p1, I_d.n1) annotation( + Line(origin = {-90, -7.08333}, points = {{0, 5.83333}, {0, -2.91667}, {0, -2.91667}})); + connect(I_1.n1, k_i2.s1) annotation( + Line(origin = {-90, 30.625}, points = {{0, 9.375}, {0, -9.375}})); + connect(k_i1.p1, I_1.n1) annotation( + Line(origin = {-90, 43.9886}, points = {{0, 7.97721}, {0, -3.9886}, {0, -3.9886}})); + connect(k_i1.s1, I_connector) annotation( + Line(origin = {-80, 78.1553}, points = {{-10, -3.68946}, {-10, 1.84473}, {20, 1.84473}})); + egp_signal = k_p1 - k_p2 * g_p - k_p3 * i_d - k_p4 * i_po; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {-107.257, 0}, rotation = -270, fillPattern = FillPattern.Solid, extent = {{-25.4753, -2.74277}, {25.4753, 2.74277}}, textString = "delayed insulin signal", fontName = "Arial")}), + Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {4.68254, 4.83}, fillPattern = FillPattern.Solid, extent = {{-77.28, -45.17}, {77.28, 45.17}}, textString = "EGP", fontName = "Arial")})); + end EndogenousGlucoseProduction; + + model GlucoseRenalExcretion + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Interfaces.Nodes.ProductConnector productConnector1 annotation( + Placement(transformation(origin = {-120, -4.44089e-16}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 3.33067e-16}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.RenalReaction renalReaction1 annotation( + Placement(transformation(origin = {-90, 3.88578e-16}, extent = {{-10, 10}, {10, -10}}))); + BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation( + Placement(transformation(origin = {-120, -70}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, -83.5976}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance E annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + equation + connect(renalReaction1.p1, E.n1) annotation( + Line(origin = {-39.375, 1.83187e-16}, points = {{-39.375, 1.83187e-16}, {39.375, -1.83187e-16}})); + connect(G_p_connector, G_p_connector) annotation( + Line(origin = {-120, -70}, points = {{0, 0}, {0, 0}})); + connect(G_p_connector, renalReaction1.m1) annotation( + Line(origin = {-75, -82.7488}, points = {{-45, 12.7488}, {-15, 12.7487}, {-15, 12.7488}, {-15, 73.7488}})); + connect(productConnector1, renalReaction1.s1) annotation( + Line(origin = {-110.625, -1.66533e-17}, points = {{-9.375, -4.27436e-16}, {9.375, 4.27436e-16}})); + 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 = {Text(origin = {-3.87096, 37.0935}, fillPattern = FillPattern.Solid, extent = {{-89.7, -30}, {89.7, 30}}, textString = "Renal", fontName = "Arial"), Text(origin = {-3.55271e-15, -46.0442}, fillPattern = FillPattern.Solid, extent = {{-95.9469, -26.0442}, {95.9469, 26.0442}}, textString = "excretion", fontName = "Arial")})); + end GlucoseRenalExcretion; + + model UtilizationMuscleTissue + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Interfaces.Nodes.ModifierConnector I_connector annotation( + Placement(transformation(origin = {-120, 50}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 83.5696}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector G_t_connector annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 1.62}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance U_idm annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.UtilizationReaction UtilizationReaction(K_m0 = 225.59, V_m0 = 2.5, V_mX = 0.047, p_2U = 0.0331, part = 0.8) annotation( + Placement(transformation(origin = {-64.11, 0}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(UtilizationReaction.p1, U_idm.n1) annotation( + Line(origin = {-26.43, 1.11022e-17}, points = {{-26.43, 1.11022e-17}, {26.43, -1.11022e-17}})); + connect(UtilizationReaction.m1, I_connector) annotation( + Line(origin = {-82.74, 36.3333}, points = {{18.63, -27.3333}, {18.63, 13.6667}, {-37.26, 13.6667}})); + connect(G_t_connector, UtilizationReaction.s1) annotation( + Line(origin = {-97.68, -1.11022e-17}, points = {{-22.32, 1.11022e-17}, {22.32, -1.11022e-17}})); + 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 = {Text(origin = {-2.91, 52.76}, fillPattern = FillPattern.Solid, extent = {{-82.91, -30.17}, {82.91, 30.17}}, textString = "Muscle", fontName = "Arial"), Text(origin = {-7.10543e-15, -34.69}, fillPattern = FillPattern.Solid, extent = {{-77.92, -34.69}, {77.92, 34.69}}, textString = "tissue", fontName = "Arial")})); + end UtilizationMuscleTissue; + + model TissueGlucose + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Interfaces.Nodes.ProductConnector G_connector annotation( + Placement(transformation(origin = {0, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G_t(c.start = 130) annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector U_idf_connector annotation( + Placement(transformation(origin = {120, 40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector U_idm_connector annotation( + Placement(transformation(origin = {120, -40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, -63.4979}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(G_t.n1, U_idm_connector) annotation( + Line(origin = {83.5, -20}, points = {{-83.5, 20}, {23.5, 20}, {23.5, -20}, {36.5, -20}})); + connect(G_t.n1, U_idf_connector) annotation( + Line(origin = {83.5, 20}, points = {{-83.5, -20}, {23.5, -20}, {23.5, 20}, {36.5, 20}})); + connect(G_t.n1, G_connector) annotation( + Line(origin = {0, -40}, points = {{0, 40}, {0, -40}})); + 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 = {Text(origin = {-0.55, -36.0512}, fillPattern = FillPattern.Solid, extent = {{-100.55, -33.9488}, {100.55, 33.9488}}, textString = "glucose", fontName = "Arial"), Text(origin = {3.56664, 43.6442}, fillPattern = FillPattern.Solid, extent = {{-86.4334, -33.6442}, {86.4334, 33.6442}}, textString = "Tissue", fontName = "Arial")})); + end TissueGlucose; + + package AdiposeTissue + extends BioChem.Icons.Library; + + model Adipocyte + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Substances.Substance IR(c.start = 2340000000000.0) annotation( + Placement(transformation(origin = {-110, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance IR_tot annotation( + Placement(transformation(origin = {110, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance IRS1(c.start = 16100000000.0) annotation( + Placement(transformation(origin = {-80, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance IRS1_P(c.start = 0) annotation( + Placement(transformation(origin = {-20, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ActivationReaction activationReaction2(k_1 = 0.038, k_2 = 580000000) annotation( + Placement(transformation(origin = {-50, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ActivationReaction activationReaction3(k_1 = 1.348, k_2 = 24800000) annotation( + Placement(transformation(origin = {-20, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance PKB(c.start = 16800000) annotation( + Placement(transformation(origin = {-50, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance PKB_P(c.start = 0) annotation( + Placement(transformation(origin = {10, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ActivationReaction activationReaction4(k_1 = 0.019, k_2 = 336000000) annotation( + Placement(transformation(origin = {10, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance IRS1_tot annotation( + Placement(transformation(origin = {110, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance PKB_tot annotation( + Placement(transformation(origin = {110, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance GLUT4_tot annotation( + Placement(transformation(origin = {110, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance GlucoseUtilization annotation( + Placement(transformation(origin = {110, -80}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector modifierConnector1 annotation( + Placement(transformation(origin = {-80, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector productConnector1 annotation( + Placement(transformation(origin = {-7.77156e-16, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-1.22125e-15, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance GLUT4_MEMBRANE(c.start = 0) annotation( + Placement(transformation(origin = {40, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance GLUT4_CYTOSOL(c.start = 580000000) annotation( + Placement(transformation(origin = {-20, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance IR_insulin(c.start = 0) annotation( + Placement(transformation(origin = {-50, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.MM_insulin MM_insulin1(k_1 = 2.464, k_2 = 54100000000.0, Km = 1499) annotation( + Placement(transformation(origin = {-80, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.GlucoseUptakeReaction GlucoseUptake_GLUT4(k = 12.435, glut_1 = 0.071, Km1 = 0.012, Km4 = 3462, k_wholebody = 2.45) annotation( + Placement(transformation(origin = {40, -80}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(productConnector1, GlucoseUptake_GLUT4.s1) annotation( + Line(origin = {14.375, -80}, points = {{-14.375, 0}, {14.375, 0}})); + connect(GlucoseUptake_GLUT4.p1, GlucoseUtilization.n1) annotation( + Line(origin = {80.625, -80}, points = {{-29.375, 0}, {29.375, 0}})); + connect(GLUT4_MEMBRANE.n1, GlucoseUptake_GLUT4.m1) annotation( + Line(origin = {40, -50.5}, points = {{0, 20.5}, {0, -20.5}})); + connect(MM_insulin1.p1, IR_insulin.n1) annotation( + Line(origin = {-59.375, 60}, points = {{-9.375, 0}, {9.375, 0}})); + connect(modifierConnector1, MM_insulin1.m1) annotation( + Line(origin = {-80, 79.5}, points = {{0, 10.5}, {0, -10.5}})); + connect(IR.n1, MM_insulin1.s1) annotation( + Line(origin = {-100.625, 60}, points = {{-9.375, 0}, {9.375, 0}})); + connect(IR_insulin.n1, activationReaction2.m1) annotation( + Line(origin = {-50, 49.5}, points = {{0, 10.5}, {0, -10.5}})); + connect(GLUT4_CYTOSOL.n1, activationReaction4.s1) annotation( + Line(origin = {-10.625, -30}, points = {{-9.375, 0}, {9.375, 0}})); + connect(activationReaction4.p1, GLUT4_MEMBRANE.n1) annotation( + Line(origin = {30.625, -30}, points = {{-9.375, 0}, {9.375, 0}})); + IR_tot.c = IR.c + IR_insulin.c; + IRS1_tot.c = IRS1.c + IRS1_P.c; + PKB_tot.c = PKB.c + PKB_P.c; + GLUT4_tot.c = GLUT4_CYTOSOL.c + GLUT4_MEMBRANE.c; + connect(PKB_P.n1, activationReaction4.m1) annotation( + Line(origin = {10, -10.5}, points = {{0, 10.5}, {-1.77636e-15, -10.5}})); + connect(activationReaction3.p1, PKB_P.n1) annotation( + Line(origin = {0.625, 1.11022e-17}, points = {{-9.375, 1.11022e-17}, {9.375, -1.11022e-17}})); + connect(PKB.n1, activationReaction3.s1) annotation( + Line(origin = {-40.625, 1.11022e-17}, points = {{-9.375, -1.11022e-17}, {9.375, 1.11022e-17}})); + connect(IRS1_P.n1, activationReaction3.m1) annotation( + Line(origin = {-20, 19.5}, points = {{0, 10.5}, {0, -10.5}})); + connect(activationReaction2.p1, IRS1_P.n1) annotation( + Line(origin = {-29.375, 30}, points = {{-9.375, -3.55271e-15}, {9.375, 0}})); + connect(IRS1.n1, activationReaction2.s1) annotation( + Line(origin = {-70.625, 30}, points = {{-9.375, 0}, {9.375, 0}})); + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10})), + Documentation(info = "", revisions = "")); + end Adipocyte; + + model AdiposeTissue + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Interfaces.Nodes.ModifierConnector I_connector annotation( + Placement(transformation(origin = {-120, 50}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 83.8877}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector G_t_connector annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 1.61}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.AdiposeTissue.Adipocyte adipocyte1 annotation( + Placement(transformation(origin = {0, 6.66134e-16}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(adipocyte1.productConnector1, G_t_connector) annotation( + Line(origin = {-66.8, -8.2005}, points = {{66.8, -2.7995}, {66.8, -6.80075}, {-40.2, -6.80075}, {-40.2, 8.2005}, {-53.2, 8.2005}})); + connect(I_connector, adipocyte1.modifierConnector1) annotation( + Line(origin = {-40.2506, 25}, points = {{-79.7494, 25}, {25.2494, 25}, {25.2494, -25}, {29.2506, -25}})); + 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 = {Text(origin = {-3.97, 38.38}, fillPattern = FillPattern.Solid, extent = {{-96.03, -31.62}, {96.03, 31.62}}, textString = "Fat", fontName = "Arial"), Text(origin = {-2.5601, -40}, fillPattern = FillPattern.Solid, extent = {{-77.4399, -42.4487}, {77.4399, 42.4487}}, textString = "tissue", fontName = "Arial")})); + end AdiposeTissue; + end AdiposeTissue; + end Parts; + + package Reactions + extends BioChem.Icons.Library; + + model FlowReaction + extends BioChem.Interfaces.Reactions.Uui; + parameter Real k; + equation + rr = s1.c * k; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end FlowReaction; + + model k_empt + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.TwoModifiers; + Real k; + Real aa; + Real cc; + parameter Real k_max = 0.0558; + parameter Real k_min = 0.008; + parameter Real b = 0.82; + parameter Real d = 0.01; + equation + rr = s1.c * k; + k = k_min + (k_max - k_min) / 2 * (Modelica.Math.tanh(aa * (m1.c - b * m2.c)) - Modelica.Math.tanh(cc * (m1.c - d * m2.c)) + 2); + aa = 5 / 2 / (1 - b) / m2.c; + cc = 5 / 2 / d / m2.c; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end k_empt; + + model dirac + extends BioChem.Interfaces.Reactions.Uui; + parameter Real k = 78000000; + equation + if time < 0.001 then + rr = k; + else + rr = 0; + end if; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end dirac; + + model m_3 + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + Real k; + parameter Real m_5 = 0.0304; + parameter Real m_1 = 0.19; + parameter Real m_6 = 0.6471; + equation + rr = s1.c * k; + k = ((-m_5 * m1.c) + m_6) * m_1 / (1 - ((-m_5 * m1.c) + m_6)); + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end m_3; + + model ReversibleFlowReaction + extends BioChem.Interfaces.Reactions.Uur; + parameter Real k_1; + parameter Real k_2; + equation + rr = s1.c * k_1 - p1.c * k_2; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end ReversibleFlowReaction; + + model RenalReaction + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real k_e1 = 0.0005; + parameter Real k_e2 = 339; + equation + if m1.c > k_e2 then + rr = s1.c * (k_e1 * (m1.c - k_e2)); + else + rr = 0; + end if; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end RenalReaction; + + model UtilizationReaction + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + BioChem.Units.Concentration X; + Real V_max; + parameter Real part; + parameter Real V_m0; + parameter Real V_mX; + parameter Real K_m0; + parameter Real p_2U; + parameter Real I_b = 25; + equation + rr = V_max * s1.c / (K_m0 + s1.c); + V_max = part * (V_m0 + V_mX * X); + der(X) = (-p_2U * X) + p_2U * (m1.c - I_b); + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end UtilizationReaction; + + model signaltosubstance + extends BioChem.Interfaces.Reactions.Uui; + equation + s1.c = p1.c; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end signaltosubstance; + + model U_ii_reaction + extends BioChem.Interfaces.Reactions.Uui; + equation + rr = 1; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end U_ii_reaction; + + model ActivationReaction + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real k_1; + parameter Real k_2; + equation + rr = k_1 * s1.c * m1.c - p1.c * k_2; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end ActivationReaction; + + model MM_insulin + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real k_1; + parameter Real k_2; + parameter Real Km; + equation + rr = k_1 * m1.c * s1.c / (Km + m1.c) - p1.c * k_2; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end MM_insulin; + + model GlucoseUptakeReaction + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real k_wholebody; + parameter Real k; + parameter Real Km4; + parameter Real Km1; + parameter Real glut_1; + equation + rr = k_wholebody * (k * m1.c * s1.c / (Km4 + s1.c) + glut_1 * s1.c / (Km1 + s1.c)); + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); + end GlucoseUptakeReaction; + end Reactions; + annotation( + Diagram(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}))); + end Utilities; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10})), + Documentation(info = " +

    A Whole Body Model of the Glucose Insulin System

    + +This model is presented in Hierarchical modeling of diabetes by +Elin Nyman, ISRN:LiU-IKE-EX-09/14. Linköping University 2009.

    + + +See +GlucoseInsulinModel + for more documentation and simulation results. +", revisions = "")); +end GlucoseInsulinModel; diff --git a/BioChem/Examples/MassAction/package.mo b/BioChem/Examples/MassAction/package.bak-mo similarity index 100% rename from BioChem/Examples/MassAction/package.mo rename to BioChem/Examples/MassAction/package.bak-mo diff --git a/BioChem/Examples/MassAction/package.order b/BioChem/Examples/MassAction/package.order new file mode 100644 index 0000000..83c61b4 --- /dev/null +++ b/BioChem/Examples/MassAction/package.order @@ -0,0 +1,2 @@ +UniUni +UniBi diff --git a/BioChem/Examples/MultiCompartments/package.mo b/BioChem/Examples/MultiCompartments/package.bak-mo similarity index 100% rename from BioChem/Examples/MultiCompartments/package.mo rename to BioChem/Examples/MultiCompartments/package.bak-mo diff --git a/BioChem/Examples/MultiCompartments/package.order b/BioChem/Examples/MultiCompartments/package.order new file mode 100644 index 0000000..f2cde75 --- /dev/null +++ b/BioChem/Examples/MultiCompartments/package.order @@ -0,0 +1,4 @@ +GlucoseMetabolism +BigCompartmentReversible +BigCompartmentIrreversible +Utilities diff --git a/BioChem/Examples/centralMetabolism.mo b/BioChem/Examples/centralMetabolism.mo new file mode 100644 index 0000000..8388a2f --- /dev/null +++ b/BioChem/Examples/centralMetabolism.mo @@ -0,0 +1,729 @@ +within BioChem.Examples; + +package centralMetabolism + extends BioChem.Icons.Example; + + model cytosol "cytosol" + extends BioChem.Compartments.Compartment(V(start = 2)); + + model DHAP_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end DHAP_; + + model G3P_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end G3P_; + + model NADH_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end NADH_; + + model FDP_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end FDP_; + + model PYR_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end PYR_; + + model ADP_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end ADP_; + + model IMP_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end IMP_; + + model ATP_ + extends BioChem.Substances.SignalSubstance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end ATP_; + + model AMP_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end AMP_; + + model LAC_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end LAC_; + + model NAD_ + extends BioChem.Substances.SignalSubstance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end NAD_; + + model CP_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end CP_; + + model Cr_ + extends BioChem.Substances.SignalSubstance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end Cr_; + + model GLY_ + extends BioChem.Substances.BoundarySubstance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end GLY_; + + model PN_ + extends BioChem.Substances.SignalSubstance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end PN_; + + model G6P_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end G6P_; + + model F6P_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end F6P_; + + model jda_ + extends BioChem.Interfaces.Reactions.Uur(nS1 = cytosol_V / bamp, nP1 = cytosol_V); + parameter Real KmAMP = 0.3; + parameter Real KmIMP = 3.54545; + parameter Real KcatDA = 121; + outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real bamp; + equation + rr = KcatDA * s1.c / (KmAMP + s1.c) - 0.01 * p1.c / (KmIMP + p1.c); + end jda_; + + model vgpdh_ + extends BioChem.Interfaces.Reactions.Bbi(nS1 = 2 * cytosol_V / badp); + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real KcatGPDH = 78595.6; + parameter Real KmGPDH = 0.0369; + parameter Real KmADP = 1.4; + parameter Real KmPN = 120; + outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real badp; + equation + rr = KcatGPDH * s2.c * s1.c * m1.c / ((KmGPDH + s2.c) * (s1.c + KmADP) * (m1.c + KmPN)); + end vgpdh_; + + model vpfk_ + extends BioChem.Interfaces.Reactions.Ubi(nP2 = cytosol_V / badp); + parameter Real n_sbml = 2; + parameter Real KcatPFK = 400; + parameter Real KmF6P = 3.49515; + outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real badp; + equation + rr = KcatPFK * s1.c ^ n_sbml / (KmF6P + s1.c ^ n_sbml); + end vpfk_; + + model vald_ + extends BioChem.Interfaces.Reactions.Uui(nP1 = 2); + parameter Real kt; + parameter Real ka1 = 0.01; + parameter Real ka2 = 1.65; + parameter Real ka3 = 3000; + parameter Real ka4 = 0.125; + parameter Real ka5 = 340; + parameter Real ka6 = 14000000.0; + parameter Real ka7 = 56000; + equation + rr = (ka7 * s1.c - ka6 * p1.c * kt * p1.c) / (ka1 + ka2 * p1.c + s1.c + ka3 * p1.c * s1.c + ka4 * kt * p1.c + ka5 * p1.c * kt * p1.c); + end vald_; + + model vldh_ + extends BioChem.Interfaces.Reactions.Bui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real kia = 0.00245; + parameter Real kmb = 0.137; + parameter Real kip = 7.3; + parameter Real kmq = 0.1; + parameter Real kiq = 0.5; + parameter Real k1ib = 0.1; + parameter Real kmp = 1; + parameter Real kma = 0.00844; + parameter Real kib = 0.228; + parameter Real kf = 458; + parameter Real kr = 135; + parameter Real e0 = 8; + equation + rr = e0 * (s2.c * s1.c * kf / (kia * kmb) - kr * p1.c * m1.c / (kiq * kmp)) / (s2.c / kia + s2.c * s1.c / (kia * kmb) + s2.c * s1.c * p1.c / (kia * kip * kmb) + s2.c * kmq * p1.c / (kia * kiq * kmp) + (1 + s1.c / k1ib) * (1 + s1.c * kma / (kia * kmb) + kmq * p1.c / (kiq * kmp)) + m1.c / kiq + s1.c * kma * m1.c / (kia * kiq * kmb) + p1.c * m1.c / (kiq * kmp) + s1.c * p1.c * m1.c / (kib * kiq * kmp)); + end vldh_; + + model vpdh_ + extends BioChem.Interfaces.Reactions.Bui(nS2 = cytosol_V / badp, nP1 = 3.67); + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real KmPYR = 0.5; + parameter Real KcatPDH = 1; + outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real badp; + equation + rr = KcatPDH * s1.c * m1.c / ((s1.c + KmPYR) * (m1.c + 0.1)); + end vpdh_; + + model jak_ + extends BioChem.Interfaces.Reactions.Uur(nS1 = cytosol_V / bamp, nP1 = 2 * cytosol_V / badp); + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real KcatAK = 150000; + outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real bamp; + input Real badp; + equation + rr = KcatAK * (m1.c * s1.c - p1.c * p1.c) / (1 + s1.c / 0.1 + p1.c / 0.1 + m1.c * (10 + s1.c / 0.01) + p1.c * (10 + p1.c / 0.01 + s1.c / 3.49)); + end jak_; + + model vgph_ + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.MultipleModifiers(dimM = 3); + parameter Real kh; + parameter Real KcatGPH = 248; + input Real bamp; + equation + rr = KcatGPH * m[3].c * (0.002 + m[2].c + m[1].c / bamp) / ((0.014 + m[2].c + m[1].c / bamp) * (8 * (0.01 + m[2].c + m[1].c / bamp) / (0.002 + m[2].c + m[1].c / bamp) + m[3].c)); + end vgph_; + + model jatpase_ + extends BioChem.Interfaces.Reactions.Uui(nP1 = cytosol_V / badp); + parameter Real KcatATPase = 370 "I am unsure about this value"; + outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real badp; + equation + rr = KcatATPase * s1.c / (s1.c + 0.05); + end jatpase_; + + model jck_ + extends BioChem.Interfaces.Reactions.Bbi(nP1 = cytosol_V / badp); + parameter Real KcatCK = 1970; + outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real badp; + equation + rr = KcatCK * (20 * s1.c * s2.c / 10.85 - 29.333 * p1.c * p2.c / 0.1) / (1 + s2.c / 34.9 + p2.c / 0.8 + s1.c * (1.43 + s2.c / 10.85) + p1.c * (16.7 + p2.c / 0.1 + s2.c / 2.1)); + end jck_; + + inner Real cytosol_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + centralMetabolism.cytosol.NADH_ NADH(c(start = 0.00406177)) "NADH" annotation( + Placement(transformation(origin = {100.0, -20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.FDP_ FDP(c(start = 0.0999758)) "Fructose 1,6-diphosphate" annotation( + Placement(transformation(origin = {-19.7747, -40.109}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.PYR_ PYR(c(start = 0.148871)) "Pyruvate" annotation( + Placement(transformation(origin = {100.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + centralMetabolism.cytosol.ADP_ ADP(c(start = 0.0695775)) "ADP" annotation( + Placement(transformation(origin = {-19.7747, -20.109}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.IMP_ IMP(c(start = 0.650608)) "IMP" annotation( + Placement(transformation(origin = {-120.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + centralMetabolism.cytosol.ATP_ ATP(c(start = 12.7913) = atp) "ATP" annotation( + Placement(transformation(origin = {-10.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -720))); + centralMetabolism.cytosol.AMP_ AMP(c(start = 0.000398124)) "AMP" annotation( + Placement(transformation(origin = {-120.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + centralMetabolism.cytosol.LAC_ LAC(c(start = 4.34299)) "Lactate" annotation( + Placement(transformation(origin = {140.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.NAD_ NAD(c(start = 0.695938) = nad) "NAD" annotation( + Placement(transformation(origin = {120.0, -60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -450))); + centralMetabolism.cytosol.CP_ CP(c(start = 28.2621)) "Phosphocreatine" annotation( + Placement(transformation(origin = {-80.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + centralMetabolism.cytosol.Cr_ Cr(c(start = 25.7379) = cr) "Creatine" annotation( + Placement(transformation(origin = {-80.0, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + centralMetabolism.cytosol.GLY_ GLY(c(start = 1)) "Glycogen" annotation( + Placement(transformation(origin = {-140.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.PN_ PN(c = pn) "Inorganic phosphate" annotation( + Placement(transformation(origin = {80.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + centralMetabolism.cytosol.G6P_ G6P(c(start = 0.603855 / (1 + kh))) "Glucose 6-phosphate" annotation( + Placement(transformation(origin = {-100.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.F6P_ F6P(c(start = 0.603855 * kh / (1 + kh))) "Fructose 6-phosphate" annotation( + Placement(transformation(origin = {-60.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -360))); + centralMetabolism.cytosol.jda_ jda(bamp = bamp) "jda" annotation( + Placement(transformation(origin = {-120.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + centralMetabolism.cytosol.vpfk_ vpfk(badp = badp) "vpfk" annotation( + Placement(transformation(origin = {-40.0, -30.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + centralMetabolism.cytosol.vldh_ vldh "vldh" annotation( + Placement(transformation(origin = {120.0, -30.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + centralMetabolism.cytosol.vpdh_ vpdh(badp = badp) "vpdh" annotation( + Placement(transformation(origin = {120.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.jak_ jak(bamp = bamp, badp = badp) "jak" annotation( + Placement(transformation(origin = {10.0, 30.0}, extent = {{10.0, -10.0}, {-10.0, 10.0}}, rotation = 90))); + centralMetabolism.cytosol.vgph_ vgph(bamp = bamp, kh = kh) "vgph" annotation( + Placement(transformation(origin = {-120.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.jatpase_ jatpase(badp = badp) "jatpase" annotation( + Placement(transformation(origin = {-40.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + centralMetabolism.cytosol.jck_ jck(badp = badp) "jck" annotation( + Placement(transformation(origin = {-70.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + BioChem.Interfaces.Nodes.SubstanceConnector node_LAC annotation( + Placement(transformation(origin = {140.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {125.0384, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.mitochondria mitochondria(badp = badp) annotation( + Placement(transformation(origin = {100.0, 40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + input Real bamp; + input Real badp; + input Real pn; + input Real atp; + input Real cr; + input Real nad; + parameter Real kh; + parameter Real kt; + BioChem.Reactions.FastEquilibrium.Uuf vH6P(kP1 = kh) "Fast equilibrium reaction for the compound of G6P and F6P" annotation( + Placement(transformation(origin = {-80.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.vald_ vald(kt = kt) "vald" annotation( + Placement(transformation(origin = {0.2253, -40.109}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + centralMetabolism.cytosol.DHAP_ DHAP(c.start = 0.07427 / (1 + kt)) annotation( + Placement(transformation(origin = {20.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.G3P_ G3P(c.start = 0.07427 * kt / (1 + kt)) annotation( + Placement(transformation(origin = {60.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.vgpdh_ vgpdh_1(badp = badp) annotation( + Placement(transformation(origin = {80.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Reactions.FastEquilibrium.Uuf vT3P(kS1 = 1, kP1 = kt) "Fast equilibrium reaction for the compound of G6P and F6P" annotation( + Placement(transformation(origin = {40.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + equation + connect(PN.n1, vgph.m[3]) annotation( + Line(origin = {-43.1831, -17.0363}, points = {{123.1831, 7.0363}, {23.1831, 13.8613}, {-53.1252, -3.9637}, {-76.8169, -3.9637}}, smooth = Smooth.Bezier)); + connect(vgpdh_1.m1, PN.n1) annotation( + Line(origin = {80.0, -15.5}, points = {{0.0, -5.5}, {0.0, 5.5}}, smooth = Smooth.Bezier)); + connect(PYR.n1, vgpdh_1.p2) annotation( + Line(origin = {94.1667, -38.3333}, points = {{5.8333, -1.6667}, {-2.9167, -1.6667}, {-2.9167, 3.3333}}, smooth = Smooth.Bezier)); + connect(PYR.n1, vpdh.s1) annotation( + Line(origin = {99.5833, -70.0}, points = {{0.4167, 30.0}, {-9.5833, -15.0}, {9.1667, -15.0}}, smooth = Smooth.Bezier)); + connect(vldh.s1, PYR.n1) annotation( + Line(origin = {105.8333, -38.3333}, points = {{2.9167, 3.3333}, {2.9167, -1.6667}, {-5.8333, -1.6667}}, smooth = Smooth.Bezier)); + connect(vT3P.s1, DHAP.n1) annotation( + Line(origin = {24.375, -40.0}, points = {{4.375, 0.0}, {-4.375, 0.0}})); + connect(vT3P.p1, G3P.n1) annotation( + Line(origin = {55.625, -40.0}, points = {{-4.375, 0.0}, {4.375, 0.0}})); + connect(vald.p1, DHAP.n1) annotation( + Line(origin = {14.3169, -40.0363}, points = {{-2.8416, -0.0727}, {-2.8416, 0.0363}, {5.6831, 0.0363}})); + connect(ADP.n1, mitochondria.node_ADP) annotation( + Line(origin = {29.9388, 18.5441}, points = {{-49.7135, -38.6531}, {-14.7833, -28.5441}, {4.222, 16.7428}, {57.4791, 16.7428}}, smooth = Smooth.Bezier)); + connect(ADP.n1, vpdh.s2) annotation( + Line(origin = {31.3122, -73.3958}, points = {{-51.0869, 53.2868}, {-21.3122, -1.1347}, {9.2453, -24.5854}, {77.4378, -21.6042}}, smooth = Smooth.Bezier)); + connect(G3P.n1, vgpdh_1.s2) annotation( + Line(origin = {62.9167, -36.6667}, points = {{-2.9167, -3.3333}, {-2.9167, 1.6667}, {5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(vgph.p1, G6P.n1) annotation( + Line(origin = {-105.8333, -30.0}, points = {{-2.9167, 0.0}, {-2.9167, 0.0}, {5.8333, 0.0}}, smooth = Smooth.Bezier)); + connect(jatpase.s1, ATP.n1) annotation( + Line(origin = {-30.0, 27.0833}, points = {{-10.0, -5.8333}, {-10.0, 2.9167}, {20.0, 2.9167}}, smooth = Smooth.Bezier)); + connect(jck.p1, ADP.n1) annotation( + Line(origin = {-63.2582, -1.5662}, points = {{-1.7418, 20.3162}, {-1.7418, 1.5662}, {43.4835, -18.5428}}, smooth = Smooth.Bezier)); + connect(FDP.n1, vald.s1) annotation( + Line(origin = {-16.8581, -40.109}, points = {{-2.9166, 0.0}, {-2.9167, 0.0}, {5.8334, 0.0}}, smooth = Smooth.Bezier)); + connect(vgpdh_1.p1, NADH.n1) annotation( + Line(origin = {94.1667, -21.6667}, points = {{-2.9167, -3.3333}, {-2.9167, 1.6667}, {5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(vpdh.p1, mitochondria.node_NADHm) annotation( + Line(origin = {128.4604, -19.1758}, points = {{2.7896, -70.8242}, {21.5396, -70.8242}, {19.4827, 64.1758}, {-15.8864, 64.1758}}, smooth = Smooth.Bezier)); + connect(ADP.n1, jak.p1) annotation( + Line(origin = {-4.8874, -4.2701}, points = {{-14.8873, -15.8389}, {0.2923, -3.5556}, {14.8874, 7.589}, {14.8874, 23.0201}}, smooth = Smooth.Bezier)); + connect(NAD.n1, vldh.m1) annotation( + Line(origin = {120.0, -49.5}, points = {{0.0, -10.5}, {0.0, 10.5}}, smooth = Smooth.Bezier)); + connect(Cr.n1, jck.s2) annotation( + Line(origin = {-78.3333, 44.1667}, points = {{-1.6667, 5.8333}, {-1.6667, -2.9167}, {3.3333, -2.9167}}, smooth = Smooth.Bezier)); + connect(IMP.n1, vgph.m[1]) annotation( + Line(origin = {-120.0, -17.3333}, points = {{0.0, 7.3333}, {0.0, -3.6667}, {0.0, -3.6667}}, smooth = Smooth.Bezier)); + connect(ATP.n1, jak.m1) annotation( + Line(origin = {-6.3333, 30.0}, points = {{-3.6667, 0.0}, {-3.6667, 0.0}, {7.3333, 0.0}}, smooth = Smooth.Bezier)); + connect(jck.p2, CP.n1) annotation( + Line(origin = {-76.6667, 12.9167}, points = {{1.6667, 5.8333}, {1.6667, -2.9167}, {-3.3333, -2.9167}}, smooth = Smooth.Bezier)); + connect(AMP.n1, jak.s1) annotation( + Line(origin = {-30.0, 71.6841}, points = {{-90.0, -41.6841}, {-90.0, -1.6841}, {40.0, -1.6841}, {40.0, -30.4341}}, smooth = Smooth.Bezier)); + connect(jatpase.p1, ADP.n1) annotation( + Line(origin = {-33.2582, -13.8227}, points = {{-6.7418, 12.5727}, {-6.7418, 5.6243}, {13.4835, -6.2863}}, smooth = Smooth.Bezier)); + connect(FDP.n1, vpfk.p1) annotation( + Line(origin = {-22.6914, -36.7756}, points = {{2.9167, -3.3334}, {-5.8333, -3.3334}, {-6.0586, 1.7756}}, smooth = Smooth.Bezier)); + connect(NAD.n1, vpdh.m1) annotation( + Line(origin = {120.0, -70.5}, points = {{0.0, 10.5}, {0.0, -10.5}}, smooth = Smooth.Bezier)); + connect(NADH.n1, mitochondria.node_NADH) annotation( + Line(origin = {108.7675, 7.2}, points = {{-8.7675, -27.2}, {-8.7675, -14.2}, {6.845, -14.2}, {6.845, 27.8}, {3.845, 27.8}}, smooth = Smooth.Bezier)); + connect(ATP.n1, mitochondria.node_ATP) annotation( + Line(origin = {32.2535, 41.25}, points = {{-42.2535, -11.25}, {-28.6502, 3.75}, {25.7571, 3.75}, {55.1466, 3.75}}, smooth = Smooth.Bezier)); + connect(F6P.n1, vpfk.s1) annotation( + Line(origin = {-57.0833, -30.0}, points = {{-2.9167, 0.0}, {-2.9167, 0.0}, {5.8333, 0.0}}, smooth = Smooth.Bezier)); + connect(vH6P.s1, G6P.n1) annotation( + Line(origin = {-115.625, -80.0}, points = {{24.375, 50.0}, {15.625, 50.0}}, smooth = Smooth.Bezier)); + connect(AMP.n1, vgph.m[2]) annotation( + Line(origin = {-170.5636, 9.014}, points = {{50.5636, 20.986}, {20.5636, 0.986}, {50.5636, -30.014}}, smooth = Smooth.Bezier)); + connect(IMP.n1, jda.p1) annotation( + Line(origin = {-120.0, -4.1667}, points = {{0.0, -5.8333}, {0.0, 2.9167}, {0.0, 2.9167}}, smooth = Smooth.Bezier)); + connect(ADP.n1, vpfk.p2) annotation( + Line(origin = {-22.6914, -23.4423}, points = {{2.9167, 3.3333}, {-5.8333, 3.3333}, {-6.0586, -1.5577}}, smooth = Smooth.Bezier)); + connect(vgpdh_1.s1, ADP.n1) annotation( + Line(origin = {8.8565, -22.5545}, points = {{59.8935, -2.4455}, {-15.6312, -2.4455}, {-15.6312, 2.4455}, {-28.6312, 2.4455}}, smooth = Smooth.Bezier)); + connect(vH6P.p1, F6P.n1) annotation( + Line(origin = {-65.8333, -30.0}, points = {{-2.9167, 0.0}, {-2.9167, 0.0}, {5.8333, 0.0}}, smooth = Smooth.Bezier)); + connect(LAC.n1, node_LAC) annotation( + Line(origin = {140.0, -16.6667}, points = {{0.0, -13.3333}, {0.0, 6.6667}, {0.0, 6.6667}}, smooth = Smooth.Bezier)); + connect(ATP.n1, jck.s1) annotation( + Line(origin = {-43.0, 45.9685}, points = {{33.0, -15.9685}, {33.0, 6.2028}, {-22.0, 6.2028}, {-22.0, -1.7185}, {-22.0, -4.7185}}, smooth = Smooth.Bezier)); + connect(AMP.n1, jda.s1) annotation( + Line(origin = {-120.0, 24.1667}, points = {{0.0, 5.8333}, {0.0, -2.9167}, {0.0, -2.9167}}, smooth = Smooth.Bezier)); + connect(vldh.s2, NADH.n1) annotation( + Line(origin = {105.8333, -21.6667}, points = {{2.9167, -3.3333}, {2.9167, 1.6667}, {-5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(LAC.n1, vldh.p1) annotation( + Line(origin = {137.0833, -30.0}, points = {{2.9167, 0.0}, {2.9167, 0.0}, {-5.8333, 0.0}}, smooth = Smooth.Bezier)); + connect(GLY.n1, vgph.s1) annotation( + Line(origin = {-137.0833, -30.0}, points = {{-2.9167, 0.0}, {-2.9167, 0.0}, {5.8333, 0.0}}, smooth = Smooth.Bezier)); + annotation( + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10})), + Diagram(coordinateSystem(extent = {{-148.5, -105.0}, {148.5, 105.0}}, preserveAspectRatio = true, grid = {10, 10})), + Documentation(info = "

    Cytosol

    + +\"Fig1: +

    Fig. 1. Scheme of glycolysis and coupled processes simulated in the model: consumption and synthesis of ATP and transformation of reducing equivalents of NADH. The relevant equations, which account for stoicheiometry of the ATP production, are given in Supplementary materials. One molecule of ATP is consumed per molecule of fructose 6-phosphate in the phosphofructokinase reaction; two molecules of ATP per molecule of triose phospate (four molecules per hexose molecule) are then produced on the way to pyruvate; 2.5 molecules of ATP are produced when one molecule of NADH is oxidized. Cytosolic NADH is produced in the reaction of glyceraldehyde-3-phosphate dehydrogenase and consumed when pyruvate is transformed to lactate. In mitochondria one molecule of NADH is produced in the pyruvate dehydrogenase reaction and then three NADH molecules and one FADH2 molecule in the tricarboxylate cycle. Abbreviations: AK, adenylate kinase (EC 2.7.4.3); CK, creatine kinase (EC 2.7.3.2); CP, phosphocreatine; Cr, creatine; F6P, fructose 6-phosphate; FBP, fructose 1,6-bisphosphate; G6P, glucose 6-phosphate; GAPDH, glyceraldehyde-3-phosphate dehydrogenase (EC 1.2.1.12); +GPh, glycogen phosphorylase (EC 2.4.1.1); Lac, lactate; LDH, lactate dehydrogenase (EC 1.1.1.27); PFK, phosphofructokinase (EC 2.7.1.11); GPI, glucose phosphate isomerase (EC 5.3.1.9.); Pyr, pyruvate. Subscripts: m, mitochondrial; c, cytosolic.

    ", revisions = "")); + end cytosol; + + model extra_cellular + extends BioChem.Compartments.MainCompartment(V(start = 2)); + + model LACext_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end LACext_; + + model vef_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real VmaxEF = 15; + parameter Real KmLAC = 26.8483; + equation + rr = VmaxEF * s1.c / (KmLAC + s1.c); + end vef_; + + centralMetabolism.cytosol cytosol(bamp = bamp, badp = badp, kh = kh, pn = pn, atp = atp, kt = kt, nad = nad, cr = cr) annotation( + Placement(transformation(origin = {1.221, -0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.extra_cellular.vef_ vef "vef" annotation( + Placement(transformation(origin = {40.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -360))); + centralMetabolism.extra_cellular.LACext_ LACext(c.start = 0) "Lactate" annotation( + Placement(transformation(origin = {70.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + inner Real default_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + inner Real cytosol_V = cytosol.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; + parameter Real iv1 = 0.603855; + parameter Real iv2 = 0.0999758; + parameter Real iv3 = 0.07427; + parameter Real iv4 = 0.148871; + parameter Real iv5 = 4.34299; + parameter Real iv6 = 0.00406177; + parameter Real iv7 = 1.72073e-05; + parameter Real iv8 = 0.0695775; + parameter Real iv9 = 28.2621; + parameter Real iv10 = 0.000398124; + parameter Real iv11 = 0.650608; + parameter Real nv19 = 1; + parameter Real nv20 = 1.14947; + parameter Real kamp = 0.00841471; + parameter Real k2amp = 200; + parameter Real kadp = 0.05; + parameter Real k2adp = 84.7376; + parameter Real tan = 27.5 ""; + parameter Real tcr = 54; + parameter Real kt = 0.085; + parameter Real kh = 0.2; + parameter Real PNt = 139.117; + Real adpt; + Real ampt; + Real atp; + Real atpt; + Real badp; + Real bamp; + Real pn; + Real cr; + Real nad; + equation + connect(vef.p1, LACext.n1) annotation( + Line(origin = {60.625, 0.0}, points = {{-9.375, 0.0}, {9.375, -0.0}})); + connect(cytosol.node_LAC, vef.s1) annotation( + Line(origin = {21.2374, -0.0}, points = {{-7.5126, 0.0}, {7.5126, -0.0}})); + badp = k2adp * kadp / (kadp + cytosol.ADP.c); + adpt = cytosol.ADP.c * badp; + atpt = tan - adpt - ampt - cytosol.IMP.c; + ampt = cytosol.AMP.c * bamp; + atp = atpt / cytosol.V; + pn = (PNt - atpt * 3 - adpt * 2 - ampt - cytosol.CP.c * 2 - cytosol.IMP.c - (cytosol.G6P.c + cytosol.F6P.c + cytosol.FDP.c * 2 + cytosol.G3P.c + cytosol.DHAP.c) * cytosol.V) / cytosol.V; + bamp = k2amp * kamp / (kamp + cytosol.AMP.c); + nad = 0.7 - cytosol.NADH.c; + cr = tcr - cytosol.CP.c; + annotation( + Diagram(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10})), + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10})), + Documentation(info = "

    Energy metabolism of human muscle

    +

    The model simulates the processes of utilization of energy stored in the form of glycogen. This is the main energy supply of working muscle. The pathway includes glycolytic and TCA cycle reactions stoichiometrically connected with synthesis ATP, which is used mainly for mechanical work (ATPase). The biochemical scheme of the simulated processes is shown in Figure 1.

    + +\"Fig1: +

    Fig. 1. Scheme of glycolysis and coupled processes simulated in the model: consumption and synthesis of ATP and transformation of reducing equivalents of NADH. The relevant equations, which account for stoicheiometry of the ATP production, are given in Supplementary materials. One molecule of ATP is consumed per molecule of fructose 6-phosphate in the phosphofructokinase reaction; two molecules of ATP per molecule of triose phospate (four molecules per hexose molecule) are then produced on the way to pyruvate; 2.5 molecules of ATP are produced when one molecule of NADH is oxidized. Cytosolic NADH is produced in the reaction of glyceraldehyde-3-phosphate dehydrogenase and consumed when pyruvate is transformed to lactate. In mitochondria one molecule of NADH is produced in the pyruvate dehydrogenase reaction and then three NADH molecules and one FADH2 molecule in the tricarboxylate cycle. Abbreviations: AK, adenylate kinase (EC 2.7.4.3); CK, creatine kinase (EC 2.7.3.2); CP, phosphocreatine; Cr, creatine; F6P, fructose 6-phosphate; FBP, fructose 1,6-bisphosphate; G6P, glucose 6-phosphate; GAPDH, glyceraldehyde-3-phosphate dehydrogenase (EC 1.2.1.12); +GPh, glycogen phosphorylase (EC 2.4.1.1); Lac, lactate; LDH, lactate dehydrogenase (EC 1.1.1.27); PFK, phosphofructokinase (EC 2.7.1.11); GPI, glucose phosphate isomerase (EC 5.3.1.9.); Pyr, pyruvate. Subscripts: m, mitochondrial; c, cytosolic.

    +

    This model was used to study the biochemical effects of training programmes, consisted of 14 training sessions either with 24 (short period, SP) or 72 h (long period, LP) intervals between the individual sessions (Parra et al., 2000). In this example the analysed data included the change in enzyme activities after both tytes of training as Table 1 shows.

    + +

    Table 1
    + Measured enzyme activity in biobpsy before and after training (Parra et al. 2000).

    +\"Tab1: +

    Moreover, the concentrations of metabolites at rest and after 30s of maximal intensity exercise were measured before and after accomplishing the training programs. The measured metabolites are adenine nucleotides and the forms of creatine (Table 2) and intermediates of glycolysis (Table 3).

    + +

    Table 2

    +\"Tab2: +

    The model simulates the experimental data as an example in Figure 2 shows. The switch from rest to maximal intensity exercise in the model simulation induced by the change of only one parameter, increase of ATPase activity; stimulation of all the metabolic fluxes is a result of activation by the products of ATP hydrolysis.

    +

    +The simulation have shown that after short periods of training the glycolytic flux at rest was three times higher than it had been before training, whereas during exercise the flux and energy consumption remained the same as before training. Long periods of training had less effect on the glycolytic flux at rest, but increased it in response to exercise, increasing the contribution of oxidative phosphorylation. +This model and data analysis are described in (Selivanov VA, de Atauri P, Centelles JJ, Cadefau J, Parra J, Cussó R, Carreras J, Cascante M. (2008) The changes in the energy metabolism of human muscle induced by training. J Theor Biol. 252, 402-410) +

    + +

    Table 3

    +\"Tab3: +

    + +\"Fig2: +

    Fig. 2. Time-courses of high-energy phophates and glycolytic intermediates during 30s of maximal exercise before training. Points with error bars are experimental metabolite concentrations at rest and after 30s of excersise. For simulation at the beginning of excersise (time=0), ATPase activity increased from 3.2 to 200 mM min-1. Other parameters are given in Table 1 and Supplementary materials. Abbrevetaions are given in Fig. 1,

    +

    Simulations

    +

    The time scale of the model is minutes, so it simulates 0.5 min of maximal intensity exercise. The model produces the same results as seen from experiments.

    +

    If simulated for more than 0.5 minutes the model has numerical problems. In real life a person cannot maintain maximal intensity exercise, then fatigue comes and the intensity decreases. So, steady state at maximal intensity does not exist in real life either.

    + ", revisions = ""), + __MathCore(RDF = ""), + experiment(StartTime = 0.0, StopTime = 0.5, Algorithm = "dassl", Tolerance = 1e-05)); + end extra_cellular; + + model mitochondria + extends BioChem.Compartments.Compartment(V.start = 2); + + model NADH_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end NADH_; + + model NAD_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end NAD_; + + model jox_ + extends BioChem.Interfaces.Reactions.Bbi(nS1 = 2.5 * cytosol_V / badp); + outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; + Real badp; + equation + rr = 10000 * s1.c * s2.c / ((0.01 + s1.c) * (0.15 + s2.c)); + end jox_; + + model vn_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real VmaxN = 10.8347; + parameter Real KmNADH = 0.216694; + equation + rr = VmaxN * s1.c / (KmNADH + s1.c); + end vn_; + + centralMetabolism.mitochondria.NADH_ NADHm(c.start = 0) "NADH" annotation( + Placement(transformation(origin = {-20.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.mitochondria.NAD_ NADm(c.start = 0) "NAD" annotation( + Placement(transformation(origin = {20.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.mitochondria.jox_ jox(badp = badp) "jox" annotation( + Placement(transformation(origin = {-0.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Interfaces.Nodes.SubstrateConnector node_ADP annotation( + Placement(transformation(origin = {-20.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {-125.8208, -47.131}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Interfaces.Nodes.SubstanceConnector node_NADHm annotation( + Placement(transformation(origin = {-30.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {125.7398, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.mitochondria.vn_ vn "vn" annotation( + Placement(transformation(origin = {-50.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Interfaces.Nodes.SubstrateConnector node_NADH annotation( + Placement(transformation(origin = {-80.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {126.1247, -50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Interfaces.Nodes.ProductConnector node_ATP annotation( + Placement(transformation(origin = {20.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {-125.999, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Real badp; + equation + connect(jox.p1, NADm.n1) annotation( + Line(origin = {14.1667, 8.3333}, points = {{-2.9167, -3.3333}, {-2.9167, 1.6667}, {5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(NADHm.n1, node_NADHm) annotation( + Line(origin = {-29.831, -9.3231}, points = {{9.831, -0.6769}, {-0.169, -0.6769}, {-0.169, -20.6769}}, smooth = Smooth.Bezier)); + connect(vn.p1, NADHm.n1) annotation( + Line(origin = {-29.375, -10.0}, points = {{-9.375, 0.0}, {9.375, 0.0}})); + connect(NADHm.n1, jox.s2) annotation( + Line(origin = {-14.1667, -8.3333}, points = {{-5.8333, -1.6667}, {2.9167, -1.6667}, {2.9167, 3.3333}}, smooth = Smooth.Bezier)); + connect(jox.p2, node_ATP) annotation( + Line(origin = {17.0833, -6.6667}, points = {{-5.8333, 1.6667}, {2.9167, 1.6667}, {2.9167, -3.3333}})); + connect(jox.s1, node_ADP) annotation( + Line(origin = {-14.1667, 8.3333}, points = {{2.9167, -3.3333}, {2.9167, 1.6667}, {-5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(vn.s1, node_NADH) annotation( + Line(origin = {-70.625, -10.0}, points = {{9.375, 0.0}, {-9.375, 0.0}})); + annotation( + Diagram(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}))); + end mitochondria; +end centralMetabolism; diff --git a/BioChem/Examples/package.mo b/BioChem/Examples/package.mo index 4bb4098..cb62c30 100644 --- a/BioChem/Examples/package.mo +++ b/BioChem/Examples/package.mo @@ -1,14 +1,91 @@ within BioChem; + package Examples "Some examples of BioChem models" extends Icons.Library; - annotation(Documentation(info=" -

    Examples

    -

    - This package contains several examples of pathways. Including basic examples as an asymmetric reaction with Michaelis-Menten kinetics to more advanced multi compartment models. -

    - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(lineColor={0,0,127}, fillColor={85,85,255}, fillPattern=FillPattern.Sphere, extent={{25,-85},{50,-60}}),Ellipse(lineColor={89,0,0}, fillColor={199,0,0}, fillPattern=FillPattern.Sphere, extent={{-75,-85},{-50,-60}}),Ellipse(origin={-1.77636e-15,-8.81}, lineColor={0,85,0}, fillColor={0,170,0}, fillPattern=FillPattern.Sphere, extent={{-25,-43.69},{3.55271e-15,-18.69}}),Ellipse(origin={-1.77636e-15,-20}, lineColor={79,79,0}, fillColor={255,255,0}, fillPattern=FillPattern.Sphere, extent={{-25,30},{0,55}}),Line(origin={0,-8.50446}, points={{-12.65,18.5045},{-12.65,-18.69}}, arrow={Arrow.Open,Arrow.Open}, arrowSize=10),Line(points={{0,-40},{20,-40},{34.02,-60}}, arrow={Arrow.None,Arrow.Open}, arrowSize=10, smooth=Smooth.Bezier),Line(points={{-50,-72.78},{25,-72.78}}, arrow={Arrow.Open,Arrow.Open}, arrowSize=10),Line(points={{-24.8834,-40},{-45.6721,-40},{-60,-60}}, arrow={Arrow.None,Arrow.Open}, arrowSize=10, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + model InsulinSignaling_Sedaghat "Metabolic insulin signaling pathway in rat adipocytes" - annotation(Documentation(info=" + extends BioChem.Compartments.Compartment; + Substances.Substance irPMembIns(c.start = 0) "Phosphorylated insulin receptor at plasma membrane, one insulin bound" annotation( + Placement(transformation(origin = {10, 30}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Irreversible.UniUni.Uui uui(k1 = 2500 / 60) annotation( + Placement(transformation(origin = {-10, 30}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irInt(c.start = 1 / 10000000000000.0) "Internal IR" annotation( + Placement(transformation(origin = {-70, -50}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irPIntIns(c.start = 0) "Internal phosphorylated insulin receptor, one insulin" annotation( + Placement(transformation(origin = {-34, -10}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irPInt2Ins(c.start = 0) "Internal phosphorylated insulin receptor, two insulin bound" annotation( + Placement(transformation(origin = {-4, -10}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Irreversible.UniUni.Uui uui2(k1 = 0.461 / 60) annotation( + Placement(transformation(origin = {-38, -50}, extent = {{-10, -10}, {10, 10}}, rotation = 180))); + Reactions.MassAction.Reversible.BiUni.Bur bur2(k1 = 60000000 / 60, k2 = 100 * 0.2 / 60) annotation( + Placement(transformation(origin = {30, 50}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Reversible.BiUni.Bur bur1(k2 = 0.2 / 60, k1 = 60000000 / 60) annotation( + Placement(transformation(origin = {-54, 50}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Reversible.UniUni.Uur uur5(k2 = 0.003 / 60, k1 = 0.003 / 9 / 60) annotation( + Placement(transformation(origin = {-70, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 270))); + Reactions.MassAction.Reversible.UniUni.Uur uur3(k1 = 0.00021 / 60, k2 = 0.0021 / 60) annotation( + Placement(transformation(origin = {20, 10}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Irreversible.UniUni.Uui uui1(k1 = 0.461 / 60) annotation( + Placement(transformation(origin = {-51.5948, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 180))); + Reactions.MassAction.Irreversible.UniUni.Uui uui3(k1 = 0.2 / 60) annotation( + Placement(transformation(origin = {-50, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 180))); + Substances.Substance Insulin(c.start = 1 / 10000000) "Insulin" annotation( + Placement(transformation(origin = {-70, 70}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MassAction.Reversible.UniUni.Uur uur2(k1 = 0.00021 / 60, k2 = 0.0021 / 60) annotation( + Placement(transformation(origin = {-17.5, 10}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irMembIns(c.start = 0) "Insulin receptor at plasma membrane, one insulin bound" annotation( + Placement(transformation(origin = {-30, 30}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irMemb(c.start = 9 / 10000000000000.0) annotation( + Placement(transformation(origin = {-70, 30}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance irPMemb2Ins(c.start = 0) "Phosphorylated insulin receptor at plasma membrane, two insulin bound" annotation( + Placement(transformation(origin = {50, 30}, extent = {{-10, -10}, {10, 10}}))); + Interfaces.Nodes.SubstanceConnector sInsulin "Connector for insulin" annotation( + Placement(transformation(origin = {0.0, 100.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = 180), iconTransformation(origin = {-0.0, 115.0}, extent = {{-15.0, -15.0}, {15.0, 15.0}}, rotation = 180))); + equation + connect(sInsulin, Insulin.n1) annotation( + Line(points = {{0.0, 100.0}, {0.0, 70.04}, {-70.0, 70.0}}, smooth = Smooth.Bezier)); + connect(irPInt2Ins.n1, uur3.s1) annotation( + Line(points = {{-4, -10}, {-4.267, 10.24}, {8.75, 10}}, smooth = Smooth.Bezier)); + connect(uur5.p1, irInt.n1) annotation( + Line(points = {{-70, -21.25}, {-70, -50}})); + connect(bur2.s2, irPMembIns.n1) annotation( + Line(points = {{18.75, 45}, {10, 46.2}, {10, 30}}, smooth = Smooth.Bezier)); + connect(uui3.s1, irPIntIns.n1) annotation( + Line(points = {{-38.75, 20}, {-37.5, 18.75}, {-34, 11.25}, {-34, -10}}, smooth = Smooth.Bezier)); + connect(uui1.p1, irInt.n1) annotation( + Line(points = {{-62.8448, -30}, {-70.27, -29.87}, {-70, -50}}, smooth = Smooth.Bezier)); + connect(uui1.s1, irPIntIns.n1) annotation( + Line(points = {{-40.3448, -30}, {-34, -30}, {-34, -10}}, smooth = Smooth.Bezier)); + connect(uui2.s1, irPInt2Ins.n1) annotation( + Line(points = {{-26.75, -50}, {-4.07, -50.04}, {-4, -10}}, smooth = Smooth.Bezier)); + connect(uui.p1, irPMembIns.n1) annotation( + Line(points = {{1.25, 30}, {10, 30}})); + connect(irInt.n1, uui2.p1) annotation( + Line(points = {{-70, -50}, {-49.25, -50}})); + connect(Insulin.n1, bur1.s1) annotation( + Line(points = {{-70, 70}, {-70.07, 54.05}, {-65.25, 55}}, smooth = Smooth.Bezier)); + connect(Insulin.n1, bur2.s1) annotation( + Line(points = {{-70, 70}, {-30, 69.99}, {-7.5, 54.62}, {18.75, 55}}, smooth = Smooth.Bezier)); + connect(uur2.p1, irPMembIns.n1) annotation( + Line(points = {{-6.25, 10}, {0, 10}, {10, 30}}, smooth = Smooth.Bezier)); + connect(irPIntIns.n1, uur2.s1) annotation( + Line(points = {{-34, -10}, {-34, 10}, {-28.75, 10}}, smooth = Smooth.Bezier)); + connect(irMembIns.n1, uui.s1) annotation( + Line(points = {{-30, 30}, {-21.25, 30}})); + connect(bur1.p1, irMembIns.n1) annotation( + Line(points = {{-42.75, 50}, {-30, 50}, {-30, 30}}, smooth = Smooth.Bezier)); + connect(irMemb.n1, uui3.p1) annotation( + Line(points = {{-70, 30}, {-69.7, 20.2}, {-61.25, 20}}, smooth = Smooth.Bezier)); + connect(irMemb.n1, bur1.s2) annotation( + Line(points = {{-70, 30}, {-70.07, 46.2}, {-65.25, 45}}, smooth = Smooth.Bezier)); + connect(uur5.s1, irMemb.n1) annotation( + Line(points = {{-70, 1.25}, {-70, 30}})); + connect(bur2.p1, irPMemb2Ins.n1) annotation( + Line(points = {{41.25, 50}, {50.01, 50}, {50, 30}}, smooth = Smooth.Bezier)); + connect(uur3.p1, irPMemb2Ins.n1) annotation( + Line(points = {{31.25, 10}, {50, 10}, {50, 30}}, smooth = Smooth.Bezier)); + annotation( + Documentation(info = "

    InsulinSignaling

    A model of the first steps of a metabolic insulin signaling pathway.
    @@ -17,114 +94,140 @@ package Examples "Some examples of BioChem models" A mathematical model of metabolic insulin signaling.
    American Journal of Physiology - Endocrinology and Metabolism, 283:1048-1101, Jul 2002.

    - ", revisions=""), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(lineColor={85,170,255}, fillColor={0,0,255}, fillPattern=FillPattern.Sphere, extent={{-100.43,-91.42},{100.02,19.94}}),Line(points={{0.0,110.0},{0.0,-34.05},{25.0,-52.36}}, color={170,0,0})})); - extends BioChem.Compartments.Compartment; - Substances.Substance irPMembIns(c.start=0) "Phosphorylated insulin receptor at plasma membrane, one insulin bound" annotation(Placement(transformation(origin={10,30}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniUni.Uui uui(k1=2500/60) annotation(Placement(transformation(origin={-10,30}, extent={{-10,-10},{10,10}}))); - Substances.Substance irInt(c.start=1/10000000000000.0) "Internal IR" annotation(Placement(transformation(origin={-70,-50}, extent={{-10,-10},{10,10}}))); - Substances.Substance irPIntIns(c.start=0) "Internal phosphorylated insulin receptor, one insulin" annotation(Placement(transformation(origin={-34,-10}, extent={{-10,-10},{10,10}}))); - Substances.Substance irPInt2Ins(c.start=0) "Internal phosphorylated insulin receptor, two insulin bound" annotation(Placement(transformation(origin={-4,-10}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniUni.Uui uui2(k1=0.461/60) annotation(Placement(transformation(origin={-38,-50}, extent={{-10,-10},{10,10}}, rotation=180))); - Reactions.MassAction.Reversible.BiUni.Bur bur2(k1=60000000/60, k2=100*0.2/60) annotation(Placement(transformation(origin={30,50}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.BiUni.Bur bur1(k2=0.2/60, k1=60000000/60) annotation(Placement(transformation(origin={-54,50}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uur uur5(k2=0.003/60, k1=0.003/9/60) annotation(Placement(transformation(origin={-70,-10}, extent={{-10,-10},{10,10}}, rotation=270))); - Reactions.MassAction.Reversible.UniUni.Uur uur3(k1=0.00021/60, k2=0.0021/60) annotation(Placement(transformation(origin={20,10}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniUni.Uui uui1(k1=0.461/60) annotation(Placement(transformation(origin={-51.5948,-30}, extent={{-10,-10},{10,10}}, rotation=180))); - Reactions.MassAction.Irreversible.UniUni.Uui uui3(k1=0.2/60) annotation(Placement(transformation(origin={-50,20}, extent={{-10,-10},{10,10}}, rotation=180))); - Substances.Substance Insulin(c.start=1/10000000) "Insulin" annotation(Placement(transformation(origin={-70,70}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uur uur2(k1=0.00021/60, k2=0.0021/60) annotation(Placement(transformation(origin={-17.5,10}, extent={{-10,-10},{10,10}}))); - Substances.Substance irMembIns(c.start=0) "Insulin receptor at plasma membrane, one insulin bound" annotation(Placement(transformation(origin={-30,30}, extent={{-10,-10},{10,10}}))); - Substances.Substance irMemb(c.start=9/10000000000000.0) annotation(Placement(transformation(origin={-70,30}, extent={{-10,-10},{10,10}}))); - Substances.Substance irPMemb2Ins(c.start=0) "Phosphorylated insulin receptor at plasma membrane, two insulin bound" annotation(Placement(transformation(origin={50,30}, extent={{-10,-10},{10,10}}))); - Interfaces.Nodes.SubstanceConnector sInsulin "Connector for insulin" annotation(Placement(transformation(origin={0.0,100.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=180), iconTransformation(origin={-0.0,115.0}, extent={{-15.0,-15.0},{15.0,15.0}}, rotation=180))); - equation - connect(sInsulin,Insulin.n1) annotation(Line(points={{0.0,100.0},{0.0,70.04},{-70.0,70.0}}, smooth=Smooth.Bezier)); - connect(irPInt2Ins.n1,uur3.s1) annotation(Line(points={{-4,-10},{-4.267,10.24},{8.75,10}}, smooth=Smooth.Bezier)); - connect(uur5.p1,irInt.n1) annotation(Line(points={{-70,-21.25},{-70,-50}})); - connect(bur2.s2,irPMembIns.n1) annotation(Line(points={{18.75,45},{10,46.2},{10,30}}, smooth=Smooth.Bezier)); - connect(uui3.s1,irPIntIns.n1) annotation(Line(points={{-38.75,20},{-37.5,18.75},{-34,11.25},{-34,-10}}, smooth=Smooth.Bezier)); - connect(uui1.p1,irInt.n1) annotation(Line(points={{-62.8448,-30},{-70.27,-29.87},{-70,-50}}, smooth=Smooth.Bezier)); - connect(uui1.s1,irPIntIns.n1) annotation(Line(points={{-40.3448,-30},{-34,-30},{-34,-10}}, smooth=Smooth.Bezier)); - connect(uui2.s1,irPInt2Ins.n1) annotation(Line(points={{-26.75,-50},{-4.07,-50.04},{-4,-10}}, smooth=Smooth.Bezier)); - connect(uui.p1,irPMembIns.n1) annotation(Line(points={{1.25,30},{10,30}})); - connect(irInt.n1,uui2.p1) annotation(Line(points={{-70,-50},{-49.25,-50}})); - connect(Insulin.n1,bur1.s1) annotation(Line(points={{-70,70},{-70.07,54.05},{-65.25,55}}, smooth=Smooth.Bezier)); - connect(Insulin.n1,bur2.s1) annotation(Line(points={{-70,70},{-30,69.99},{-7.5,54.62},{18.75,55}}, smooth=Smooth.Bezier)); - connect(uur2.p1,irPMembIns.n1) annotation(Line(points={{-6.25,10},{0,10},{10,30}}, smooth=Smooth.Bezier)); - connect(irPIntIns.n1,uur2.s1) annotation(Line(points={{-34,-10},{-34,10},{-28.75,10}}, smooth=Smooth.Bezier)); - connect(irMembIns.n1,uui.s1) annotation(Line(points={{-30,30},{-21.25,30}})); - connect(bur1.p1,irMembIns.n1) annotation(Line(points={{-42.75,50},{-30,50},{-30,30}}, smooth=Smooth.Bezier)); - connect(irMemb.n1,uui3.p1) annotation(Line(points={{-70,30},{-69.7,20.2},{-61.25,20}}, smooth=Smooth.Bezier)); - connect(irMemb.n1,bur1.s2) annotation(Line(points={{-70,30},{-70.07,46.2},{-65.25,45}}, smooth=Smooth.Bezier)); - connect(uur5.s1,irMemb.n1) annotation(Line(points={{-70,1.25},{-70,30}})); - connect(bur2.p1,irPMemb2Ins.n1) annotation(Line(points={{41.25,50},{50.01,50},{50,30}}, smooth=Smooth.Bezier)); - connect(uur3.p1,irPMemb2Ins.n1) annotation(Line(points={{31.25,10},{50,10},{50,30}}, smooth=Smooth.Bezier)); + ", revisions = ""), + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})), + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(lineColor = {85, 170, 255}, fillColor = {0, 0, 255}, fillPattern = FillPattern.Sphere, extent = {{-100.43, -91.42}, {100.02, 19.94}}), Line(points = {{0.0, 110.0}, {0.0, -34.05}, {25.0, -52.36}}, color = {170, 0, 0})})); end InsulinSignaling_Sedaghat; model Glycolysis "Glycolysis" - annotation(Documentation(info=" + extends BioChem.Compartments.Compartment; + Reactions.MassAction.Irreversible.UniUni.Uui uui1 annotation( + Placement(transformation(origin = {1.83964e-13, -3.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = 270))); + Substances.Substance PEP1(c.start = 0) "Phosphoenol pyruvate" annotation( + Placement(transformation(origin = {2.96307e-12, -108.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Reactions.MassAction.Irreversible.UniUni.Uui uui4 annotation( + Placement(transformation(origin = {1.19682e-13, -123.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Reactions.MassAction.Reversible.UniUni.Uur uur2 annotation( + Placement(transformation(origin = {1.1291e-13, -63.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Substances.Substance G13BP(c.start = 0) "Glycerate-1,3-bisphosphate" annotation( + Placement(transformation(origin = {1.16462e-13, -18.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Reactions.MassAction.Reversible.UniUni.Uur uur(k1 = 1) annotation( + Placement(transformation(origin = {1.13798e-13, 93.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Reactions.MassAction.Reversible.UniUni.Uur uur1 annotation( + Placement(transformation(origin = {1.17351e-13, 18.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}))); + Reactions.MassAction.Irreversible.UniBi.Ubi ubi annotation( + Placement(transformation(origin = {1.60982e-14, 33.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = 270))); + Reactions.MassAction.Irreversible.UniUni.Uui uui3 annotation( + Placement(transformation(origin = {-6.3094e-13, -93.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = 270))); + Substances.Substance G2P1(c.start = 0) "Glycerate-2-phosphate" annotation( + Placement(transformation(origin = {1.03362e-13, -78.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -630))); + Reactions.MassAction.Irreversible.UniUni.Uui uui2 annotation( + Placement(transformation(origin = {1.14242e-13, -33.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Substances.Substance GA3P(c.start = 0) "Glycerate-3-phosphate" annotation( + Placement(transformation(origin = {1.06248e-13, -48.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Reactions.MassAction.Irreversible.UniUni.Uui uui5(k1 = 1) annotation( + Placement(transformation(origin = {1.03287e-11, 123.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Reactions.MassAction.Irreversible.UniUni.Uui uui annotation( + Placement(transformation(origin = {1.91513e-13, 63.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -90))); + Substances.Substance Pyruvate(c.start = 0) annotation( + Placement(transformation(origin = {1.19571e-13, -138.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -360))); + Substances.Substance Glucose(c.start = 1) "Glucose" annotation( + Placement(transformation(origin = {3.32706e-16, 139.222}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Substances.Substance G6P(c.start = 0) "Glucose-6-phosphate" annotation( + Placement(transformation(origin = {1.13798e-13, 108.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Substances.Substance F6P(c.start = 0) "Fructose-6-phosphate" annotation( + Placement(transformation(origin = {2.39286e-12, 78.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -630))); + Substances.Substance F16BP(c.start = 0) "Fructose-1,6-bisphosphate" annotation( + Placement(transformation(origin = {1.13354e-13, 48.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}, rotation = -270))); + Substances.Substance G3P(c.start = 0) "Glyceraldehyde-3-phosphate" annotation( + Placement(transformation(origin = {-15, 18.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}))); + Substances.Substance DHAP(c.start = 0) "Dihydroxyacetone phosphate" annotation( + Placement(transformation(origin = {15, 18.75}, extent = {{-7.5, -7.5}, {7.5, 7.5}}))); + BioChem.Interfaces.Nodes.SubstanceConnector sGlucose annotation( + Placement(transformation(origin = {0.0, 147.5}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = 180), iconTransformation(origin = {0.0, 115.0}, extent = {{-15.0, -15.0}, {15.0, 15.0}}, rotation = 180))); + Interfaces.Nodes.SubstanceConnector sPyruvate annotation( + Placement(transformation(origin = {-22.5, -147.5}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {-27.5, -112.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}}))); + Interfaces.Nodes.SubstanceConnector sPyruvate4 annotation( + Placement(transformation(origin = {22.5, -147.5}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {27.5, -112.5}, extent = {{-12.5, -12.5}, {12.5, 12.5}}))); + equation + connect(Pyruvate.n1, sPyruvate4) annotation( + Line(points = {{0.0, -138.75}, {22.5, -139.4}, {22.5, -147.5}}, smooth = Smooth.Bezier)); + connect(sPyruvate, Pyruvate.n1) annotation( + Line(points = {{-22.5, -147.5}, {-22.5, -138.8}, {0.0, -138.75}}, smooth = Smooth.Bezier)); + connect(sGlucose, Glucose.n1) annotation( + Line(points = {{0.0, 147.5}, {0.0, 139.222}})); + connect(GA3P.n1, uur2.p1) annotation( + Line(points = {{1.06248e-13, -48.75}, {1.12893e-13, -55.3125}})); + connect(uur2.s1, G2P1.n1) annotation( + Line(points = {{1.12893e-13, -72.1875}, {1.03362e-13, -78.75}})); + connect(uui3.p1, PEP1.n1) annotation( + Line(points = {{-6.30923e-13, -102.188}, {2.96307e-12, -108.75}})); + connect(uui1.p1, G13BP.n1) annotation( + Line(points = {{1.83981e-13, -12.1875}, {1.16462e-13, -18.75}})); + connect(uui2.p1, GA3P.n1) annotation( + Line(points = {{1.14259e-13, -42.1875}, {1.06248e-13, -48.75}})); + connect(G2P1.n1, uui3.s1) annotation( + Line(points = {{1.03362e-13, -78.75}, {-6.30957e-13, -85.3125}})); + connect(PEP1.n1, uui4.s1) annotation( + Line(points = {{2.96307e-12, -108.75}, {1.19665e-13, -115.312}})); + connect(G13BP.n1, uui2.s1) annotation( + Line(points = {{1.16462e-13, -18.75}, {1.14225e-13, -25.3125}})); + connect(uui4.p1, Pyruvate.n1) annotation( + Line(points = {{1.19699e-13, -132.188}, {1.19571e-13, -138.75}})); + connect(Glucose.n1, uui5.s1) annotation( + Line(points = {{3.32706e-16, 139.222}, {1.03287e-11, 132.188}})); + connect(uui5.p1, G6P.n1) annotation( + Line(points = {{1.03287e-11, 115.312}, {1.13798e-13, 108.75}})); + connect(G6P.n1, uur.s1) annotation( + Line(points = {{1.13798e-13, 108.75}, {1.13815e-13, 102.188}})); + connect(F6P.n1, uui.s1) annotation( + Line(points = {{2.39286e-12, 78.75}, {1.91496e-13, 72.1875}})); + connect(uur.p1, F6P.n1) annotation( + Line(points = {{1.13815e-13, 85.3125}, {2.39286e-12, 78.75}})); + connect(F16BP.n1, ubi.s1) annotation( + Line(points = {{1.13354e-13, 48.75}, {1.60815e-14, 42.1875}})); + connect(uui.p1, F16BP.n1) annotation( + Line(points = {{1.9153e-13, 55.3125}, {1.13354e-13, 48.75}})); + connect(ubi.p2, G3P.n1) annotation( + Line(points = {{-3.75, 25.3125}, {-15, 26.25}, {-15, 18.75}}, smooth = Smooth.Bezier)); + connect(G3P.n1, uui1.s1) annotation( + Line(points = {{-15, 18.75}, {-7.5, 11.25}, {1.138e-13, 7.719}, {1.83947e-13, 4.6875}}, smooth = Smooth.Bezier)); + connect(uur1.s1, G3P.n1) annotation( + Line(points = {{-8.4375, 18.75}, {-15, 18.75}})); + connect(ubi.p1, DHAP.n1) annotation( + Line(points = {{3.75, 25.3125}, {15, 26.25}, {15, 18.75}}, smooth = Smooth.Bezier)); + connect(DHAP.n1, uur1.p1) annotation( + Line(points = {{15, 18.75}, {8.4375, 18.75}})); + annotation( + Documentation(info = "

    Glycolysis

    A simple glycolysis model. The parameter values in this model are arbitrarily chosen, to obtain a fully functional model, realistic parameter values must be used.

    - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,100},{0,25},{-25,0},{0,-25},{0,-75},{-25,-100}}),Line(points={{0,25},{25,0},{-25,0}}),Line(points={{0,-75},{25,-100}})}), Diagram(coordinateSystem(extent={{-105,148.5},{105,-148.5}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Compartments.Compartment; - Reactions.MassAction.Irreversible.UniUni.Uui uui1 annotation(Placement(transformation(origin={1.83964e-13,-3.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=270))); - Substances.Substance PEP1(c.start=0) "Phosphoenol pyruvate" annotation(Placement(transformation(origin={2.96307e-12,-108.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-270))); - Reactions.MassAction.Irreversible.UniUni.Uui uui4 annotation(Placement(transformation(origin={1.19682e-13,-123.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-90))); - Reactions.MassAction.Reversible.UniUni.Uur uur2 annotation(Placement(transformation(origin={1.1291e-13,-63.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-270))); - Substances.Substance G13BP(c.start=0) "Glycerate-1,3-bisphosphate" annotation(Placement(transformation(origin={1.16462e-13,-18.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-270))); - Reactions.MassAction.Reversible.UniUni.Uur uur(k1=1) annotation(Placement(transformation(origin={1.13798e-13,93.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-90))); - Reactions.MassAction.Reversible.UniUni.Uur uur1 annotation(Placement(transformation(origin={1.17351e-13,18.75}, extent={{-7.5,-7.5},{7.5,7.5}}))); - Reactions.MassAction.Irreversible.UniBi.Ubi ubi annotation(Placement(transformation(origin={1.60982e-14,33.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=270))); - Reactions.MassAction.Irreversible.UniUni.Uui uui3 annotation(Placement(transformation(origin={-6.3094e-13,-93.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=270))); - Substances.Substance G2P1(c.start=0) "Glycerate-2-phosphate" annotation(Placement(transformation(origin={1.03362e-13,-78.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-630))); - Reactions.MassAction.Irreversible.UniUni.Uui uui2 annotation(Placement(transformation(origin={1.14242e-13,-33.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-90))); - Substances.Substance GA3P(c.start=0) "Glycerate-3-phosphate" annotation(Placement(transformation(origin={1.06248e-13,-48.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-270))); - Reactions.MassAction.Irreversible.UniUni.Uui uui5(k1=1) annotation(Placement(transformation(origin={1.03287e-11,123.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-90))); - Reactions.MassAction.Irreversible.UniUni.Uui uui annotation(Placement(transformation(origin={1.91513e-13,63.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-90))); - Substances.Substance Pyruvate(c.start=0) annotation(Placement(transformation(origin={1.19571e-13,-138.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-360))); - Substances.Substance Glucose(c.start=1) "Glucose" annotation(Placement(transformation(origin={3.32706e-16,139.222}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-270))); - Substances.Substance G6P(c.start=0) "Glucose-6-phosphate" annotation(Placement(transformation(origin={1.13798e-13,108.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-270))); - Substances.Substance F6P(c.start=0) "Fructose-6-phosphate" annotation(Placement(transformation(origin={2.39286e-12,78.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-630))); - Substances.Substance F16BP(c.start=0) "Fructose-1,6-bisphosphate" annotation(Placement(transformation(origin={1.13354e-13,48.75}, extent={{-7.5,-7.5},{7.5,7.5}}, rotation=-270))); - Substances.Substance G3P(c.start=0) "Glyceraldehyde-3-phosphate" annotation(Placement(transformation(origin={-15,18.75}, extent={{-7.5,-7.5},{7.5,7.5}}))); - Substances.Substance DHAP(c.start=0) "Dihydroxyacetone phosphate" annotation(Placement(transformation(origin={15,18.75}, extent={{-7.5,-7.5},{7.5,7.5}}))); - BioChem.Interfaces.Nodes.SubstanceConnector sGlucose annotation(Placement(transformation(origin={0.0,147.5}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=180), iconTransformation(origin={0.0,115.0}, extent={{-15.0,-15.0},{15.0,15.0}}, rotation=180))); - Interfaces.Nodes.SubstanceConnector sPyruvate annotation(Placement(transformation(origin={-22.5,-147.5}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={-27.5,-112.5}, extent={{-12.5,-12.5},{12.5,12.5}}))); - Interfaces.Nodes.SubstanceConnector sPyruvate4 annotation(Placement(transformation(origin={22.5,-147.5}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={27.5,-112.5}, extent={{-12.5,-12.5},{12.5,12.5}}))); - equation - connect(Pyruvate.n1,sPyruvate4) annotation(Line(points={{0.0,-138.75},{22.5,-139.4},{22.5,-147.5}}, smooth=Smooth.Bezier)); - connect(sPyruvate,Pyruvate.n1) annotation(Line(points={{-22.5,-147.5},{-22.5,-138.8},{0.0,-138.75}}, smooth=Smooth.Bezier)); - connect(sGlucose,Glucose.n1) annotation(Line(points={{0.0,147.5},{0.0,139.222}})); - connect(GA3P.n1,uur2.p1) annotation(Line(points={{1.06248e-13,-48.75},{1.12893e-13,-55.3125}})); - connect(uur2.s1,G2P1.n1) annotation(Line(points={{1.12893e-13,-72.1875},{1.03362e-13,-78.75}})); - connect(uui3.p1,PEP1.n1) annotation(Line(points={{-6.30923e-13,-102.188},{2.96307e-12,-108.75}})); - connect(uui1.p1,G13BP.n1) annotation(Line(points={{1.83981e-13,-12.1875},{1.16462e-13,-18.75}})); - connect(uui2.p1,GA3P.n1) annotation(Line(points={{1.14259e-13,-42.1875},{1.06248e-13,-48.75}})); - connect(G2P1.n1,uui3.s1) annotation(Line(points={{1.03362e-13,-78.75},{-6.30957e-13,-85.3125}})); - connect(PEP1.n1,uui4.s1) annotation(Line(points={{2.96307e-12,-108.75},{1.19665e-13,-115.312}})); - connect(G13BP.n1,uui2.s1) annotation(Line(points={{1.16462e-13,-18.75},{1.14225e-13,-25.3125}})); - connect(uui4.p1,Pyruvate.n1) annotation(Line(points={{1.19699e-13,-132.188},{1.19571e-13,-138.75}})); - connect(Glucose.n1,uui5.s1) annotation(Line(points={{3.32706e-16,139.222},{1.03287e-11,132.188}})); - connect(uui5.p1,G6P.n1) annotation(Line(points={{1.03287e-11,115.312},{1.13798e-13,108.75}})); - connect(G6P.n1,uur.s1) annotation(Line(points={{1.13798e-13,108.75},{1.13815e-13,102.188}})); - connect(F6P.n1,uui.s1) annotation(Line(points={{2.39286e-12,78.75},{1.91496e-13,72.1875}})); - connect(uur.p1,F6P.n1) annotation(Line(points={{1.13815e-13,85.3125},{2.39286e-12,78.75}})); - connect(F16BP.n1,ubi.s1) annotation(Line(points={{1.13354e-13,48.75},{1.60815e-14,42.1875}})); - connect(uui.p1,F16BP.n1) annotation(Line(points={{1.9153e-13,55.3125},{1.13354e-13,48.75}})); - connect(ubi.p2,G3P.n1) annotation(Line(points={{-3.75,25.3125},{-15,26.25},{-15,18.75}}, smooth=Smooth.Bezier)); - connect(G3P.n1,uui1.s1) annotation(Line(points={{-15,18.75},{-7.5,11.25},{1.138e-13,7.719},{1.83947e-13,4.6875}}, smooth=Smooth.Bezier)); - connect(uur1.s1,G3P.n1) annotation(Line(points={{-8.4375,18.75},{-15,18.75}})); - connect(ubi.p1,DHAP.n1) annotation(Line(points={{3.75,25.3125},{15,26.25},{15,18.75}}, smooth=Smooth.Bezier)); - connect(DHAP.n1,uur1.p1) annotation(Line(points={{15,18.75},{8.4375,18.75}})); + ", revisions = ""), + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(points = {{0, 100}, {0, 25}, {-25, 0}, {0, -25}, {0, -75}, {-25, -100}}), Line(points = {{0, 25}, {25, 0}, {-25, 0}}), Line(points = {{0, -75}, {25, -100}})}), + Diagram(coordinateSystem(extent = {{-105, 148.5}, {105, -148.5}}, preserveAspectRatio = true, grid = {10, 10}))); end Glycolysis; model EnzMM "An enzymatic reaction with Michaelis-Menten kinetics" - annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - annotation(Documentation(info=" + extends BioChem.Compartments.Compartment; + Substances.Substance F6P(c.start = 2) "Fructose-6-phosphate" annotation( + Placement(transformation(origin = {10, 10}, extent = {{-10, -10}, {10, 10}}))); + Reactions.MichaelisMenten.Uur uur(vF = 1.5, KmS = 0.1, KmP = 0.05) annotation( + Placement(transformation(origin = {-10, 10}, extent = {{-10, -10}, {10, 10}}))); + Substances.Substance G6P(c.start = 1) "Glucose-6-phosphate" annotation( + Placement(transformation(origin = {-30, 10}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(uur.p1, F6P.n1) annotation( + Line(points = {{1.25, 10}, {10, 10}})); + connect(G6P.n1, uur.s1) annotation( + Line(points = {{-30, 10}, {-21.25, 10}})); + annotation( + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); + annotation( + Documentation(info = "

    EnzMM

    @@ -132,25 +235,22 @@ package Examples "Some examples of BioChem models" The parameter values in this model are arbitrarily chosen, to obtain a fully functional model, realistic parameter values must be used.

    - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Ellipse(fillColor={170,0,0}, fillPattern=FillPattern.Solid, extent={{-100,-25},{-50,25}}),Ellipse(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{50,-25},{100,25}}),Line(points={{-50,0},{50,0}}, arrow={Arrow.Open,Arrow.Open}, arrowSize=30)})); - extends BioChem.Compartments.Compartment; - Substances.Substance F6P(c.start=2) "Fructose-6-phosphate" annotation(Placement(transformation(origin={10,10}, extent={{-10,-10},{10,10}}))); - Reactions.MichaelisMenten.Uur uur(vF=1.5, KmS=0.1, KmP=0.05) annotation(Placement(transformation(origin={-10,10}, extent={{-10,-10},{10,10}}))); - Substances.Substance G6P(c.start=1) "Glucose-6-phosphate" annotation(Placement(transformation(origin={-30,10}, extent={{-10,-10},{10,10}}))); - equation - connect(uur.p1,F6P.n1) annotation(Line(points={{1.25,10},{10,10}})); - connect(G6P.n1,uur.s1) annotation(Line(points={{-30,10},{-21.25,10}})); + ", revisions = ""), + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(fillColor = {170, 0, 0}, fillPattern = FillPattern.Solid, extent = {{-100, -25}, {-50, 25}}), Ellipse(fillColor = {0, 85, 0}, fillPattern = FillPattern.Solid, extent = {{50, -25}, {100, 25}}), Line(points = {{-50, 0}, {50, 0}}, arrow = {Arrow.Open, Arrow.Open}, arrowSize = 30)})); end EnzMM; package GMO "Goldbeter1991_MinMitOscil" extends BioChem.Icons.Example; + model cell "cell" - extends BioChem.Compartments.MainCompartment(V(start=1)); + extends BioChem.Compartments.MainCompartment(V(start = 1)); import BioChem.Math.*; import BioChem.Constants.*; + model C_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -163,7 +263,8 @@ package Examples "Some examples of BioChem models" model M_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -181,7 +282,12 @@ package Examples "Some examples of BioChem models" model reaction1_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real vi = 0.025; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * vi; + annotation( + __MathCore(RDF = " @@ -190,15 +296,16 @@ package Examples "Some examples of BioChem models" ")); - parameter Real vi=0.025; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*vi; end reaction1_; model reaction2_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real kd = 0.01; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = s1.c * cell_V * kd; + annotation( + __MathCore(RDF = " @@ -207,16 +314,18 @@ package Examples "Some examples of BioChem models" ")); - parameter Real kd=0.01; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=s1.c*cell_V*kd; end reaction2_; model reaction3_ extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - annotation(__MathCore(RDF=" + parameter Real vd = 0.25; + parameter Real Kd = 0.02; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = s1.c * cell_V * vd * m1.c * (s1.c + Kd) ^ (-1); + annotation( + __MathCore(RDF = " @@ -225,16 +334,17 @@ package Examples "Some examples of BioChem models" ")); - parameter Real vd=0.25; - parameter Real Kd=0.02; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=s1.c*cell_V*vd*m1.c*(s1.c + Kd)^(-1); end reaction3_; model reaction4_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real K1 = 0.005; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + Real V1; + equation + rr = cell_V * (1 + (-1) * p1.c) * V1 * (K1 + (-1) * p1.c + 1) ^ (-1); + annotation( + __MathCore(RDF = " @@ -245,16 +355,17 @@ package Examples "Some examples of BioChem models" ")); - parameter Real K1=0.005; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - Real V1; - equation - rr=cell_V*(1 + (-1)*p1.c)*V1*(K1 + (-1)*p1.c + 1)^(-1); end reaction4_; model reaction5_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real V2 = 1.5; + parameter Real K2 = 0.005; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * V2 * (K2 + s1.c) ^ (-1); + annotation( + __MathCore(RDF = " @@ -265,32 +376,89 @@ package Examples "Some examples of BioChem models" ")); - parameter Real V2=1.5; - parameter Real K2=0.005; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*s1.c*V2*(K2 + s1.c)^(-1); end reaction5_; model reaction6_ extends BioChem.Interfaces.Reactions.Uui; - parameter Real K3=0.005; + parameter Real K3 = 0.005; outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; Real V3; equation - rr=cell_V*V3*(1 + (-1)*p1.c)*(K3 + (-1)*p1.c + 1)^(-1); + rr = cell_V * V3 * (1 + (-1) * p1.c) * (K3 + (-1) * p1.c + 1) ^ (-1); end reaction6_; model reaction7_ extends BioChem.Interfaces.Reactions.Uui; - parameter Real K4=0.005; - parameter Real V4=0.5; + parameter Real K4 = 0.005; + parameter Real V4 = 0.5; outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; equation - rr=cell_V*V4*s1.c*(K4 + s1.c)^(-1); + rr = cell_V * V4 * s1.c * (K4 + s1.c) ^ (-1); end reaction7_; - annotation(__MathCore(RDF=" + inner Real cell_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + BioChem.Examples.GMO.cell.C_ C(c(start = 0.01)) "Cyclin" annotation( + Placement(transformation(origin = {80.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + BioChem.Examples.GMO.cell.M_ M(c(start = 0.01)) "CDC-2 Kinase" annotation( + Placement(transformation(origin = {-70.0, 70.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Examples.GMO.cell.X_ X(c(start = 0.01)) "Cyclin Protease" annotation( + Placement(transformation(origin = {50.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Real V1 "V1"; + Real V3 "V3"; + parameter Real VM1 = 3 "VM1"; + parameter Real VM3 = 1 "VM3"; + parameter Real Kc = 0.5 "Kc"; + BioChem.Substances.AmbientSubstance ambientSubstance annotation( + Placement(transformation(origin = {-10.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Examples.GMO.cell.reaction1_ reaction1 "creation of cyclin" annotation( + Placement(transformation(origin = {50.0, 40.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + BioChem.Examples.GMO.cell.reaction2_ reaction2 "default degradation of cyclin" annotation( + Placement(transformation(origin = {30.0, -60.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}, rotation = 180))); + BioChem.Examples.GMO.cell.reaction3_ reaction3 "cdc2 kinase triggered degration of cyclin" annotation( + Placement(transformation(origin = {50.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Examples.GMO.cell.reaction4_ reaction4(V1 = V1) "activation of cdc2 kinase" annotation( + Placement(transformation(origin = {-70.0, 40.0}, extent = {{10.0, -10.0}, {-10.0, 10.0}}, rotation = 270))); + BioChem.Examples.GMO.cell.reaction5_ reaction5 "deactivation of cdc2 kinase" annotation( + Placement(transformation(origin = {-30.0, 70.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + BioChem.Examples.GMO.cell.reaction6_ reaction6(V3 = V3) "activation of cyclin protease" annotation( + Placement(transformation(origin = {10.0, -37.8911}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Examples.GMO.cell.reaction7_ reaction7 "deactivation of cyclin protease" annotation( + Placement(transformation(origin = {20.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + equation + connect(X.n1, reaction7.s1) annotation( + Line(origin = {43.75, -16.6667}, points = {{6.25, -13.3333}, {6.25, 6.6667}, {-12.5, 6.6667}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction7.p1) annotation( + Line(origin = {-3.75, 3.3333}, points = {{-6.25, 26.6667}, {-6.25, -13.3333}, {12.5, -13.3333}}, smooth = Smooth.Bezier)); + connect(X.n1, reaction6.p1) annotation( + Line(origin = {30.5633, -33.9455}, points = {{19.4367, 3.9455}, {-5.0617, 3.9455}, {-5.0617, -3.9455}, {-9.3133, -3.9455}}, smooth = Smooth.Bezier)); + connect(X.n1, reaction3.m1) annotation( + Line(origin = {50.0, -14.5}, points = {{0.0, -15.5}, {0.0, 15.5}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction6.s1) annotation( + Line(origin = {-7.0833, -15.2607}, points = {{-2.9167, 45.2607}, {-2.9167, -22.6304}, {5.8333, -22.6304}}, smooth = Smooth.Bezier)); + connect(M.n1, reaction4.p1) annotation( + Line(origin = {-70.0, 60.625}, points = {{0.0, 9.375}, {0.0, -9.375}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction4.s1) annotation( + Line(origin = {-39.2, 27.5494}, points = {{29.2, 2.4506}, {16.2, 2.4506}, {16.2, -3.0509}, {-30.8, -3.0509}, {-30.8, 1.2006}}, smooth = Smooth.Bezier)); + connect(M.n1, reaction5.s1) annotation( + Line(origin = {-55.625, 70.0}, points = {{-14.375, 0.0}, {14.375, 0.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction5.p1) annotation( + Line(origin = {-12.9167, 56.6667}, points = {{2.9167, -26.6667}, {2.9167, 13.3333}, {-5.8333, 13.3333}}, smooth = Smooth.Bezier)); + connect(C.n1, reaction2.s1) annotation( + Line(origin = {67.0833, -40.0}, points = {{12.9167, 40.0}, {12.9167, -20.0}, {-25.8333, -20.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction2.p1) annotation( + Line(origin = {-50.4167, -20.9454}, points = {{40.4167, 50.9454}, {-9.5833, -30.588}, {69.1667, -39.0546}}, smooth = Smooth.Bezier)); + connect(C.n1, reaction1.p1) annotation( + Line(origin = {73.75, 26.6667}, points = {{6.25, -26.6667}, {6.25, 13.3333}, {-12.5, 13.3333}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction1.s1) annotation( + Line(origin = {24.4367, 35.0}, points = {{-34.4367, -5.0}, {10.0617, -5.0}, {10.0617, 5.0}, {14.3133, 5.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, reaction3.p1) annotation( + Line(origin = {24.4367, 20.0}, points = {{-34.4367, 10.0}, {10.0617, 10.0}, {10.0617, -10.0}, {14.3133, -10.0}}, smooth = Smooth.Bezier)); + connect(C.n1, reaction3.s1) annotation( + Line(origin = {68.0633, 5.0}, points = {{11.9367, -5.0}, {-2.5617, -5.0}, {-2.5617, 5.0}, {-6.8133, 5.0}}, smooth = Smooth.Bezier)); + V1 = C.c * VM1 * (C.c + Kc) ^ (-1); + V3 = M.c * VM3; + annotation( + __MathCore(RDF = " @@ -298,7 +466,8 @@ package Examples "Some examples of BioChem models" - "), Documentation(info=" + "), + Documentation(info = "

    A Simple Mitotic Oscillator

    This example is a modelica version of the model presented in @@ -317,61 +486,11 @@ The simulation results are shown in the \"Fig1: -", revisions=""), experiment(StartTime=0.0, StopTime=100, NumberOfIntervals=-1, Algorithm="dassl", Tolerance=1e-06)); - inner Real cell_V=V "Variable used to make the compartment volume accessible for inner components. Do not edit."; - BioChem.Examples.GMO.cell.C_ C(c(start=0.01)) "Cyclin" annotation(Placement(transformation(origin={80.0,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - BioChem.Examples.GMO.cell.M_ M(c(start=0.01)) "CDC-2 Kinase" annotation(Placement(transformation(origin={-70.0,70.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - BioChem.Examples.GMO.cell.X_ X(c(start=0.01)) "Cyclin Protease" annotation(Placement(transformation(origin={50.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Real V1 "V1"; - Real V3 "V3"; - parameter Real VM1=3 "VM1"; - parameter Real VM3=1 "VM3"; - parameter Real Kc=0.5 "Kc"; - BioChem.Substances.AmbientSubstance ambientSubstance annotation(Placement(transformation(origin={-10.0,30.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - BioChem.Examples.GMO.cell.reaction1_ reaction1 "creation of cyclin" annotation(Placement(transformation(origin={50.0,40.0}, extent={{-10.0,10.0},{10.0,-10.0}}))); - BioChem.Examples.GMO.cell.reaction2_ reaction2 "default degradation of cyclin" annotation(Placement(transformation(origin={30.0,-60.0}, extent={{-10.0,10.0},{10.0,-10.0}}, rotation=180))); - BioChem.Examples.GMO.cell.reaction3_ reaction3 "cdc2 kinase triggered degration of cyclin" annotation(Placement(transformation(origin={50.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - BioChem.Examples.GMO.cell.reaction4_ reaction4(V1=V1) "activation of cdc2 kinase" annotation(Placement(transformation(origin={-70.0,40.0}, extent={{10.0,-10.0},{-10.0,10.0}}, rotation=270))); - BioChem.Examples.GMO.cell.reaction5_ reaction5 "deactivation of cdc2 kinase" annotation(Placement(transformation(origin={-30.0,70.0}, extent={{-10.0,10.0},{10.0,-10.0}}))); - BioChem.Examples.GMO.cell.reaction6_ reaction6(V3=V3) "activation of cyclin protease" annotation(Placement(transformation(origin={10.0,-37.8911}, extent={{-10.0,-10.0},{10.0,10.0}}))); - BioChem.Examples.GMO.cell.reaction7_ reaction7 "deactivation of cyclin protease" annotation(Placement(transformation(origin={20.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - equation - connect(X.n1,reaction7.s1) annotation(Line(origin={43.75,-16.6667}, points={{6.25,-13.3333},{6.25,6.6667},{-12.5,6.6667}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,reaction7.p1) annotation(Line(origin={-3.75,3.3333}, points={{-6.25,26.6667},{-6.25,-13.3333},{12.5,-13.3333}}, smooth=Smooth.Bezier)); - connect(X.n1,reaction6.p1) annotation(Line(origin={30.5633,-33.9455}, points={{19.4367,3.9455},{-5.0617,3.9455},{-5.0617,-3.9455},{-9.3133,-3.9455}}, smooth=Smooth.Bezier)); - connect(X.n1,reaction3.m1) annotation(Line(origin={50.0,-14.5}, points={{0.0,-15.5},{0.0,15.5}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,reaction6.s1) annotation(Line(origin={-7.0833,-15.2607}, points={{-2.9167,45.2607},{-2.9167,-22.6304},{5.8333,-22.6304}}, smooth=Smooth.Bezier)); - connect(M.n1,reaction4.p1) annotation(Line(origin={-70.0,60.625}, points={{0.0,9.375},{0.0,-9.375}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,reaction4.s1) annotation(Line(origin={-39.2,27.5494}, points={{29.2,2.4506},{16.2,2.4506},{16.2,-3.0509},{-30.8,-3.0509},{-30.8,1.2006}}, smooth=Smooth.Bezier)); - connect(M.n1,reaction5.s1) annotation(Line(origin={-55.625,70.0}, points={{-14.375,0.0},{14.375,0.0}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,reaction5.p1) annotation(Line(origin={-12.9167,56.6667}, points={{2.9167,-26.6667},{2.9167,13.3333},{-5.8333,13.3333}}, smooth=Smooth.Bezier)); - connect(C.n1,reaction2.s1) annotation(Line(origin={67.0833,-40.0}, points={{12.9167,40.0},{12.9167,-20.0},{-25.8333,-20.0}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,reaction2.p1) annotation(Line(origin={-50.4167,-20.9454}, points={{40.4167,50.9454},{-9.5833,-30.588},{69.1667,-39.0546}}, smooth=Smooth.Bezier)); - connect(C.n1,reaction1.p1) annotation(Line(origin={73.75,26.6667}, points={{6.25,-26.6667},{6.25,13.3333},{-12.5,13.3333}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,reaction1.s1) annotation(Line(origin={24.4367,35.0}, points={{-34.4367,-5.0},{10.0617,-5.0},{10.0617,5.0},{14.3133,5.0}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,reaction3.p1) annotation(Line(origin={24.4367,20.0}, points={{-34.4367,10.0},{10.0617,10.0},{10.0617,-10.0},{14.3133,-10.0}}, smooth=Smooth.Bezier)); - connect(C.n1,reaction3.s1) annotation(Line(origin={68.0633,5.0}, points={{11.9367,-5.0},{-2.5617,-5.0},{-2.5617,5.0},{-6.8133,5.0}}, smooth=Smooth.Bezier)); - V1=C.c*VM1*(C.c + Kc)^(-1); - V3=M.c*VM3; +", revisions = ""), + experiment(StartTime = 0.0, StopTime = 100, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06)); end cell; - - annotation(Documentation(info=" -

    A Simple Mitotic Oscillator

    - -This example is a modelica version of the model presented in - -A minimal cascade model for the miotic oscillator involving cyclin and cdc2 kinase by Goldbeter A. (Proc. Nati. Acad. Sci. USA -Vol. 88, pp. 9107-9111, October 1991 -Cell Biology.) - -
    -
    - -See -cell - for more documentation and simulation results. -", revisions="")); - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -421,15 +540,35 @@ See ")); + annotation( + Documentation(info = " +

    A Simple Mitotic Oscillator

    + +This example is a modelica version of the model presented in + +A minimal cascade model for the miotic oscillator involving cyclin and cdc2 kinase by Goldbeter A. (Proc. Nati. Acad. Sci. USA +Vol. 88, pp. 9107-9111, October 1991 +Cell Biology.) + +
    +
    + +See +cell + for more documentation and simulation results. +", revisions = "")); end GMO; package centralMetabolism extends BioChem.Icons.Example; + model cytosol "cytosol" - extends BioChem.Compartments.Compartment(V(start=2)); + extends BioChem.Compartments.Compartment(V(start = 2)); + model DHAP_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -442,7 +581,8 @@ See model G3P_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -455,7 +595,8 @@ See model NADH_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -468,7 +609,8 @@ See model FDP_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -481,7 +623,8 @@ See model PYR_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -494,7 +637,8 @@ See model ADP_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -507,7 +651,8 @@ See model IMP_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -520,7 +665,8 @@ See model ATP_ extends BioChem.Substances.SignalSubstance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -533,7 +679,8 @@ See model AMP_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -546,7 +693,8 @@ See model LAC_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -559,7 +707,8 @@ See model NAD_ extends BioChem.Substances.SignalSubstance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -572,7 +721,8 @@ See model CP_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -585,7 +735,8 @@ See model Cr_ extends BioChem.Substances.SignalSubstance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -598,7 +749,8 @@ See model GLY_ extends BioChem.Substances.BoundarySubstance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -611,7 +763,8 @@ See model PN_ extends BioChem.Substances.SignalSubstance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -624,7 +777,8 @@ See model G6P_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -637,7 +791,8 @@ See model F6P_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -649,149 +804,174 @@ See end F6P_; model jda_ - extends BioChem.Interfaces.Reactions.Uur(nS1=cytosol_V/bamp, nP1=cytosol_V); - parameter Real KmAMP=0.3; - parameter Real KmIMP=3.54545; - parameter Real KcatDA=121; + extends BioChem.Interfaces.Reactions.Uur(nS1 = cytosol_V / bamp, nP1 = cytosol_V); + parameter Real KmAMP = 0.3; + parameter Real KmIMP = 3.54545; + parameter Real KcatDA = 121; outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; input Real bamp; equation - rr=KcatDA*s1.c/(KmAMP + s1.c) - 0.01*p1.c/(KmIMP + p1.c); + rr = KcatDA * s1.c / (KmAMP + s1.c) - 0.01 * p1.c / (KmIMP + p1.c); end jda_; model vgpdh_ - extends BioChem.Interfaces.Reactions.Bbi(nS1=2*cytosol_V/badp); + extends BioChem.Interfaces.Reactions.Bbi(nS1 = 2 * cytosol_V / badp); extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - parameter Real KcatGPDH=78595.6; - parameter Real KmGPDH=0.0369; - parameter Real KmADP=1.4; - parameter Real KmPN=120; + parameter Real KcatGPDH = 78595.6; + parameter Real KmGPDH = 0.0369; + parameter Real KmADP = 1.4; + parameter Real KmPN = 120; outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; input Real badp; equation - rr=KcatGPDH*s2.c*s1.c*m1.c/((KmGPDH + s2.c)*(s1.c + KmADP)*(m1.c + KmPN)); + rr = KcatGPDH * s2.c * s1.c * m1.c / ((KmGPDH + s2.c) * (s1.c + KmADP) * (m1.c + KmPN)); end vgpdh_; model vpfk_ - extends BioChem.Interfaces.Reactions.Ubi(nP2=cytosol_V/badp); - parameter Real n_sbml=2; - parameter Real KcatPFK=400; - parameter Real KmF6P=3.49515; + extends BioChem.Interfaces.Reactions.Ubi(nP2 = cytosol_V / badp); + parameter Real n_sbml = 2; + parameter Real KcatPFK = 400; + parameter Real KmF6P = 3.49515; outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; input Real badp; equation - rr=KcatPFK*s1.c^n_sbml/(KmF6P + s1.c^n_sbml); + rr = KcatPFK * s1.c ^ n_sbml / (KmF6P + s1.c ^ n_sbml); end vpfk_; model vald_ - extends BioChem.Interfaces.Reactions.Uui(nP1=2); + extends BioChem.Interfaces.Reactions.Uui(nP1 = 2); parameter Real kt; - parameter Real ka1=0.01; - parameter Real ka2=1.65; - parameter Real ka3=3000; - parameter Real ka4=0.125; - parameter Real ka5=340; - parameter Real ka6=14000000.0; - parameter Real ka7=56000; + parameter Real ka1 = 0.01; + parameter Real ka2 = 1.65; + parameter Real ka3 = 3000; + parameter Real ka4 = 0.125; + parameter Real ka5 = 340; + parameter Real ka6 = 14000000.0; + parameter Real ka7 = 56000; equation - rr=(ka7*s1.c - ka6*p1.c*kt*p1.c)/(ka1 + ka2*p1.c + s1.c + ka3*p1.c*s1.c + ka4*kt*p1.c + ka5*p1.c*kt*p1.c); + rr = (ka7 * s1.c - ka6 * p1.c * kt * p1.c) / (ka1 + ka2 * p1.c + s1.c + ka3 * p1.c * s1.c + ka4 * kt * p1.c + ka5 * p1.c * kt * p1.c); end vald_; model vldh_ extends BioChem.Interfaces.Reactions.Bui; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - parameter Real kia=0.00245; - parameter Real kmb=0.137; - parameter Real kip=7.3; - parameter Real kmq=0.1; - parameter Real kiq=0.5; - parameter Real k1ib=0.1; - parameter Real kmp=1; - parameter Real kma=0.00844; - parameter Real kib=0.228; - parameter Real kf=458; - parameter Real kr=135; - parameter Real e0=8; + parameter Real kia = 0.00245; + parameter Real kmb = 0.137; + parameter Real kip = 7.3; + parameter Real kmq = 0.1; + parameter Real kiq = 0.5; + parameter Real k1ib = 0.1; + parameter Real kmp = 1; + parameter Real kma = 0.00844; + parameter Real kib = 0.228; + parameter Real kf = 458; + parameter Real kr = 135; + parameter Real e0 = 8; equation - rr=e0*(s2.c*s1.c*kf/(kia*kmb) - kr*p1.c*m1.c/(kiq*kmp))/(s2.c/kia + s2.c*s1.c/(kia*kmb) + s2.c*s1.c*p1.c/(kia*kip*kmb) + s2.c*kmq*p1.c/(kia*kiq*kmp) + (1 + s1.c/k1ib)*(1 + s1.c*kma/(kia*kmb) + kmq*p1.c/(kiq*kmp)) + m1.c/kiq + s1.c*kma*m1.c/(kia*kiq*kmb) + p1.c*m1.c/(kiq*kmp) + s1.c*p1.c*m1.c/(kib*kiq*kmp)); + rr = e0 * (s2.c * s1.c * kf / (kia * kmb) - kr * p1.c * m1.c / (kiq * kmp)) / (s2.c / kia + s2.c * s1.c / (kia * kmb) + s2.c * s1.c * p1.c / (kia * kip * kmb) + s2.c * kmq * p1.c / (kia * kiq * kmp) + (1 + s1.c / k1ib) * (1 + s1.c * kma / (kia * kmb) + kmq * p1.c / (kiq * kmp)) + m1.c / kiq + s1.c * kma * m1.c / (kia * kiq * kmb) + p1.c * m1.c / (kiq * kmp) + s1.c * p1.c * m1.c / (kib * kiq * kmp)); end vldh_; model vpdh_ - extends BioChem.Interfaces.Reactions.Bui(nS2=cytosol_V/badp, nP1=3.67); + extends BioChem.Interfaces.Reactions.Bui(nS2 = cytosol_V / badp, nP1 = 3.67); extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - parameter Real KmPYR=0.5; - parameter Real KcatPDH=1; + parameter Real KmPYR = 0.5; + parameter Real KcatPDH = 1; outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; input Real badp; equation - rr=KcatPDH*s1.c*m1.c/((s1.c + KmPYR)*(m1.c + 0.1)); + rr = KcatPDH * s1.c * m1.c / ((s1.c + KmPYR) * (m1.c + 0.1)); end vpdh_; model jak_ - extends BioChem.Interfaces.Reactions.Uur(nS1=cytosol_V/bamp, nP1=2*cytosol_V/badp); + extends BioChem.Interfaces.Reactions.Uur(nS1 = cytosol_V / bamp, nP1 = 2 * cytosol_V / badp); extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - parameter Real KcatAK=150000; + parameter Real KcatAK = 150000; outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; input Real bamp; input Real badp; equation - rr=KcatAK*(m1.c*s1.c - p1.c*p1.c)/(1 + s1.c/0.1 + p1.c/0.1 + m1.c*(10 + s1.c/0.01) + p1.c*(10 + p1.c/0.01 + s1.c/3.49)); + rr = KcatAK * (m1.c * s1.c - p1.c * p1.c) / (1 + s1.c / 0.1 + p1.c / 0.1 + m1.c * (10 + s1.c / 0.01) + p1.c * (10 + p1.c / 0.01 + s1.c / 3.49)); end jak_; model vgph_ extends BioChem.Interfaces.Reactions.Uui; - extends BioChem.Interfaces.Reactions.Modifiers.MultipleModifiers(dimM=3); + extends BioChem.Interfaces.Reactions.Modifiers.MultipleModifiers(dimM = 3); parameter Real kh; - parameter Real KcatGPH=248; + parameter Real KcatGPH = 248; input Real bamp; equation - rr=KcatGPH*m[3].c*(0.002 + m[2].c + m[1].c/bamp)/((0.014 + m[2].c + m[1].c/bamp)*(8*(0.01 + m[2].c + m[1].c/bamp)/(0.002 + m[2].c + m[1].c/bamp) + m[3].c)); + rr = KcatGPH * m[3].c * (0.002 + m[2].c + m[1].c / bamp) / ((0.014 + m[2].c + m[1].c / bamp) * (8 * (0.01 + m[2].c + m[1].c / bamp) / (0.002 + m[2].c + m[1].c / bamp) + m[3].c)); end vgph_; model jatpase_ - extends BioChem.Interfaces.Reactions.Uui(nP1=cytosol_V/badp); - parameter Real KcatATPase=370 "I am unsure about this value"; + extends BioChem.Interfaces.Reactions.Uui(nP1 = cytosol_V / badp); + parameter Real KcatATPase = 370 "I am unsure about this value"; outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; input Real badp; equation - rr=KcatATPase*s1.c/(s1.c + 0.05); + rr = KcatATPase * s1.c / (s1.c + 0.05); end jatpase_; model jck_ - extends BioChem.Interfaces.Reactions.Bbi(nP1=cytosol_V/badp); - parameter Real KcatCK=1970; + extends BioChem.Interfaces.Reactions.Bbi(nP1 = cytosol_V / badp); + parameter Real KcatCK = 1970; outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; input Real badp; equation - rr=KcatCK*(20*s1.c*s2.c/10.85 - 29.333*p1.c*p2.c/0.1)/(1 + s2.c/34.9 + p2.c/0.8 + s1.c*(1.43 + s2.c/10.85) + p1.c*(16.7 + p2.c/0.1 + s2.c/2.1)); + rr = KcatCK * (20 * s1.c * s2.c / 10.85 - 29.333 * p1.c * p2.c / 0.1) / (1 + s2.c / 34.9 + p2.c / 0.8 + s1.c * (1.43 + s2.c / 10.85) + p1.c * (16.7 + p2.c / 0.1 + s2.c / 2.1)); end jck_; - inner Real cytosol_V=V "Variable used to make the compartment volume accessible for inner components. Do not edit."; - centralMetabolism.cytosol.NADH_ NADH(c(start=0.00406177)) "NADH" annotation(Placement(transformation(origin={100.0,-20.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.FDP_ FDP(c(start=0.0999758)) "Fructose 1,6-diphosphate" annotation(Placement(transformation(origin={-19.7747,-40.109}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.PYR_ PYR(c(start=0.148871)) "Pyruvate" annotation(Placement(transformation(origin={100.0,-40.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - centralMetabolism.cytosol.ADP_ ADP(c(start=0.0695775)) "ADP" annotation(Placement(transformation(origin={-19.7747,-20.109}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.IMP_ IMP(c(start=0.650608)) "IMP" annotation(Placement(transformation(origin={-120.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - centralMetabolism.cytosol.ATP_ ATP(c(start=12.7913)=atp) "ATP" annotation(Placement(transformation(origin={-10.0,30.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-720))); - centralMetabolism.cytosol.AMP_ AMP(c(start=0.000398124)) "AMP" annotation(Placement(transformation(origin={-120.0,30.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); - centralMetabolism.cytosol.LAC_ LAC(c(start=4.34299)) "Lactate" annotation(Placement(transformation(origin={140.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.NAD_ NAD(c(start=0.695938)=nad) "NAD" annotation(Placement(transformation(origin={120.0,-60.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-450))); - centralMetabolism.cytosol.CP_ CP(c(start=28.2621)) "Phosphocreatine" annotation(Placement(transformation(origin={-80.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); - centralMetabolism.cytosol.Cr_ Cr(c(start=25.7379)=cr) "Creatine" annotation(Placement(transformation(origin={-80.0,50.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - centralMetabolism.cytosol.GLY_ GLY(c(start=1)) "Glycogen" annotation(Placement(transformation(origin={-140.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.PN_ PN(c=pn) "Inorganic phosphate" annotation(Placement(transformation(origin={80.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - centralMetabolism.cytosol.G6P_ G6P(c(start=0.603855/(1 + kh))) "Glucose 6-phosphate" annotation(Placement(transformation(origin={-100.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.F6P_ F6P(c(start=0.603855*kh/(1 + kh))) "Fructose 6-phosphate" annotation(Placement(transformation(origin={-60.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-360))); - centralMetabolism.cytosol.jda_ jda(bamp=bamp) "jda" annotation(Placement(transformation(origin={-120.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); - centralMetabolism.cytosol.vpfk_ vpfk(badp=badp) "vpfk" annotation(Placement(transformation(origin={-40.0,-30.0}, extent={{-10.0,10.0},{10.0,-10.0}}))); - centralMetabolism.cytosol.vldh_ vldh "vldh" annotation(Placement(transformation(origin={120.0,-30.0}, extent={{-10.0,10.0},{10.0,-10.0}}))); - centralMetabolism.cytosol.vpdh_ vpdh(badp=badp) "vpdh" annotation(Placement(transformation(origin={120.0,-90.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.jak_ jak(bamp=bamp, badp=badp) "jak" annotation(Placement(transformation(origin={10.0,30.0}, extent={{10.0,-10.0},{-10.0,10.0}}, rotation=90))); - centralMetabolism.cytosol.vgph_ vgph(bamp=bamp, kh=kh) "vgph" annotation(Placement(transformation(origin={-120.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.jatpase_ jatpase(badp=badp) "jatpase" annotation(Placement(transformation(origin={-40.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); - centralMetabolism.cytosol.jck_ jck(badp=badp) "jck" annotation(Placement(transformation(origin={-70.0,30.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); - BioChem.Interfaces.Nodes.SubstanceConnector node_LAC annotation(Placement(transformation(origin={140.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={125.0384,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.mitochondria mitochondria(badp=badp) annotation(Placement(transformation(origin={100.0,40.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + inner Real cytosol_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + centralMetabolism.cytosol.NADH_ NADH(c(start = 0.00406177)) "NADH" annotation( + Placement(transformation(origin = {100.0, -20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.FDP_ FDP(c(start = 0.0999758)) "Fructose 1,6-diphosphate" annotation( + Placement(transformation(origin = {-19.7747, -40.109}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.PYR_ PYR(c(start = 0.148871)) "Pyruvate" annotation( + Placement(transformation(origin = {100.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + centralMetabolism.cytosol.ADP_ ADP(c(start = 0.0695775)) "ADP" annotation( + Placement(transformation(origin = {-19.7747, -20.109}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.IMP_ IMP(c(start = 0.650608)) "IMP" annotation( + Placement(transformation(origin = {-120.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + centralMetabolism.cytosol.ATP_ ATP(c(start = 12.7913) = atp) "ATP" annotation( + Placement(transformation(origin = {-10.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -720))); + centralMetabolism.cytosol.AMP_ AMP(c(start = 0.000398124)) "AMP" annotation( + Placement(transformation(origin = {-120.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + centralMetabolism.cytosol.LAC_ LAC(c(start = 4.34299)) "Lactate" annotation( + Placement(transformation(origin = {140.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.NAD_ NAD(c(start = 0.695938) = nad) "NAD" annotation( + Placement(transformation(origin = {120.0, -60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -450))); + centralMetabolism.cytosol.CP_ CP(c(start = 28.2621)) "Phosphocreatine" annotation( + Placement(transformation(origin = {-80.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + centralMetabolism.cytosol.Cr_ Cr(c(start = 25.7379) = cr) "Creatine" annotation( + Placement(transformation(origin = {-80.0, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + centralMetabolism.cytosol.GLY_ GLY(c(start = 1)) "Glycogen" annotation( + Placement(transformation(origin = {-140.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.PN_ PN(c = pn) "Inorganic phosphate" annotation( + Placement(transformation(origin = {80.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + centralMetabolism.cytosol.G6P_ G6P(c(start = 0.603855 / (1 + kh))) "Glucose 6-phosphate" annotation( + Placement(transformation(origin = {-100.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.F6P_ F6P(c(start = 0.603855 * kh / (1 + kh))) "Fructose 6-phosphate" annotation( + Placement(transformation(origin = {-60.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -360))); + centralMetabolism.cytosol.jda_ jda(bamp = bamp) "jda" annotation( + Placement(transformation(origin = {-120.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + centralMetabolism.cytosol.vpfk_ vpfk(badp = badp) "vpfk" annotation( + Placement(transformation(origin = {-40.0, -30.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + centralMetabolism.cytosol.vldh_ vldh "vldh" annotation( + Placement(transformation(origin = {120.0, -30.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + centralMetabolism.cytosol.vpdh_ vpdh(badp = badp) "vpdh" annotation( + Placement(transformation(origin = {120.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.jak_ jak(bamp = bamp, badp = badp) "jak" annotation( + Placement(transformation(origin = {10.0, 30.0}, extent = {{10.0, -10.0}, {-10.0, 10.0}}, rotation = 90))); + centralMetabolism.cytosol.vgph_ vgph(bamp = bamp, kh = kh) "vgph" annotation( + Placement(transformation(origin = {-120.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.jatpase_ jatpase(badp = badp) "jatpase" annotation( + Placement(transformation(origin = {-40.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + centralMetabolism.cytosol.jck_ jck(badp = badp) "jck" annotation( + Placement(transformation(origin = {-70.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + BioChem.Interfaces.Nodes.SubstanceConnector node_LAC annotation( + Placement(transformation(origin = {140.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {125.0384, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.mitochondria mitochondria(badp = badp) annotation( + Placement(transformation(origin = {100.0, 40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); input Real bamp; input Real badp; input Real pn; @@ -799,65 +979,196 @@ See input Real cr; input Real nad; parameter Real kh; - annotation(Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-148.5,-105.0},{148.5,105.0}}, preserveAspectRatio=true, grid={10,10})), Documentation(info="

    Cytosol

    + parameter Real kt; + BioChem.Reactions.FastEquilibrium.Uuf vH6P(kP1 = kh) "Fast equilibrium reaction for the compound of G6P and F6P" annotation( + Placement(transformation(origin = {-80.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.vald_ vald(kt = kt) "vald" annotation( + Placement(transformation(origin = {0.2253, -40.109}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + centralMetabolism.cytosol.DHAP_ DHAP(c.start = 0.07427 / (1 + kt)) annotation( + Placement(transformation(origin = {20.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.G3P_ G3P(c.start = 0.07427 * kt / (1 + kt)) annotation( + Placement(transformation(origin = {60.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.cytosol.vgpdh_ vgpdh_1(badp = badp) annotation( + Placement(transformation(origin = {80.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Reactions.FastEquilibrium.Uuf vT3P(kS1 = 1, kP1 = kt) "Fast equilibrium reaction for the compound of G6P and F6P" annotation( + Placement(transformation(origin = {40.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + equation + connect(PN.n1, vgph.m[3]) annotation( + Line(origin = {-43.1831, -17.0363}, points = {{123.1831, 7.0363}, {23.1831, 13.8613}, {-53.1252, -3.9637}, {-76.8169, -3.9637}}, smooth = Smooth.Bezier)); + connect(vgpdh_1.m1, PN.n1) annotation( + Line(origin = {80.0, -15.5}, points = {{0.0, -5.5}, {0.0, 5.5}}, smooth = Smooth.Bezier)); + connect(PYR.n1, vgpdh_1.p2) annotation( + Line(origin = {94.1667, -38.3333}, points = {{5.8333, -1.6667}, {-2.9167, -1.6667}, {-2.9167, 3.3333}}, smooth = Smooth.Bezier)); + connect(PYR.n1, vpdh.s1) annotation( + Line(origin = {99.5833, -70.0}, points = {{0.4167, 30.0}, {-9.5833, -15.0}, {9.1667, -15.0}}, smooth = Smooth.Bezier)); + connect(vldh.s1, PYR.n1) annotation( + Line(origin = {105.8333, -38.3333}, points = {{2.9167, 3.3333}, {2.9167, -1.6667}, {-5.8333, -1.6667}}, smooth = Smooth.Bezier)); + connect(vT3P.s1, DHAP.n1) annotation( + Line(origin = {24.375, -40.0}, points = {{4.375, 0.0}, {-4.375, 0.0}})); + connect(vT3P.p1, G3P.n1) annotation( + Line(origin = {55.625, -40.0}, points = {{-4.375, 0.0}, {4.375, 0.0}})); + connect(vald.p1, DHAP.n1) annotation( + Line(origin = {14.3169, -40.0363}, points = {{-2.8416, -0.0727}, {-2.8416, 0.0363}, {5.6831, 0.0363}})); + connect(ADP.n1, mitochondria.node_ADP) annotation( + Line(origin = {29.9388, 18.5441}, points = {{-49.7135, -38.6531}, {-14.7833, -28.5441}, {4.222, 16.7428}, {57.4791, 16.7428}}, smooth = Smooth.Bezier)); + connect(ADP.n1, vpdh.s2) annotation( + Line(origin = {31.3122, -73.3958}, points = {{-51.0869, 53.2868}, {-21.3122, -1.1347}, {9.2453, -24.5854}, {77.4378, -21.6042}}, smooth = Smooth.Bezier)); + connect(G3P.n1, vgpdh_1.s2) annotation( + Line(origin = {62.9167, -36.6667}, points = {{-2.9167, -3.3333}, {-2.9167, 1.6667}, {5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(vgph.p1, G6P.n1) annotation( + Line(origin = {-105.8333, -30.0}, points = {{-2.9167, 0.0}, {-2.9167, 0.0}, {5.8333, 0.0}}, smooth = Smooth.Bezier)); + connect(jatpase.s1, ATP.n1) annotation( + Line(origin = {-30.0, 27.0833}, points = {{-10.0, -5.8333}, {-10.0, 2.9167}, {20.0, 2.9167}}, smooth = Smooth.Bezier)); + connect(jck.p1, ADP.n1) annotation( + Line(origin = {-63.2582, -1.5662}, points = {{-1.7418, 20.3162}, {-1.7418, 1.5662}, {43.4835, -18.5428}}, smooth = Smooth.Bezier)); + connect(FDP.n1, vald.s1) annotation( + Line(origin = {-16.8581, -40.109}, points = {{-2.9166, 0.0}, {-2.9167, 0.0}, {5.8334, 0.0}}, smooth = Smooth.Bezier)); + connect(vgpdh_1.p1, NADH.n1) annotation( + Line(origin = {94.1667, -21.6667}, points = {{-2.9167, -3.3333}, {-2.9167, 1.6667}, {5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(vpdh.p1, mitochondria.node_NADHm) annotation( + Line(origin = {128.4604, -19.1758}, points = {{2.7896, -70.8242}, {21.5396, -70.8242}, {19.4827, 64.1758}, {-15.8864, 64.1758}}, smooth = Smooth.Bezier)); + connect(ADP.n1, jak.p1) annotation( + Line(origin = {-4.8874, -4.2701}, points = {{-14.8873, -15.8389}, {0.2923, -3.5556}, {14.8874, 7.589}, {14.8874, 23.0201}}, smooth = Smooth.Bezier)); + connect(NAD.n1, vldh.m1) annotation( + Line(origin = {120.0, -49.5}, points = {{0.0, -10.5}, {0.0, 10.5}}, smooth = Smooth.Bezier)); + connect(Cr.n1, jck.s2) annotation( + Line(origin = {-78.3333, 44.1667}, points = {{-1.6667, 5.8333}, {-1.6667, -2.9167}, {3.3333, -2.9167}}, smooth = Smooth.Bezier)); + connect(IMP.n1, vgph.m[1]) annotation( + Line(origin = {-120.0, -17.3333}, points = {{0.0, 7.3333}, {0.0, -3.6667}, {0.0, -3.6667}}, smooth = Smooth.Bezier)); + connect(ATP.n1, jak.m1) annotation( + Line(origin = {-6.3333, 30.0}, points = {{-3.6667, 0.0}, {-3.6667, 0.0}, {7.3333, 0.0}}, smooth = Smooth.Bezier)); + connect(jck.p2, CP.n1) annotation( + Line(origin = {-76.6667, 12.9167}, points = {{1.6667, 5.8333}, {1.6667, -2.9167}, {-3.3333, -2.9167}}, smooth = Smooth.Bezier)); + connect(AMP.n1, jak.s1) annotation( + Line(origin = {-30.0, 71.6841}, points = {{-90.0, -41.6841}, {-90.0, -1.6841}, {40.0, -1.6841}, {40.0, -30.4341}}, smooth = Smooth.Bezier)); + connect(jatpase.p1, ADP.n1) annotation( + Line(origin = {-33.2582, -13.8227}, points = {{-6.7418, 12.5727}, {-6.7418, 5.6243}, {13.4835, -6.2863}}, smooth = Smooth.Bezier)); + connect(FDP.n1, vpfk.p1) annotation( + Line(origin = {-22.6914, -36.7756}, points = {{2.9167, -3.3334}, {-5.8333, -3.3334}, {-6.0586, 1.7756}}, smooth = Smooth.Bezier)); + connect(NAD.n1, vpdh.m1) annotation( + Line(origin = {120.0, -70.5}, points = {{0.0, 10.5}, {0.0, -10.5}}, smooth = Smooth.Bezier)); + connect(NADH.n1, mitochondria.node_NADH) annotation( + Line(origin = {108.7675, 7.2}, points = {{-8.7675, -27.2}, {-8.7675, -14.2}, {6.845, -14.2}, {6.845, 27.8}, {3.845, 27.8}}, smooth = Smooth.Bezier)); + connect(ATP.n1, mitochondria.node_ATP) annotation( + Line(origin = {32.2535, 41.25}, points = {{-42.2535, -11.25}, {-28.6502, 3.75}, {25.7571, 3.75}, {55.1466, 3.75}}, smooth = Smooth.Bezier)); + connect(F6P.n1, vpfk.s1) annotation( + Line(origin = {-57.0833, -30.0}, points = {{-2.9167, 0.0}, {-2.9167, 0.0}, {5.8333, 0.0}}, smooth = Smooth.Bezier)); + connect(vH6P.s1, G6P.n1) annotation( + Line(origin = {-115.625, -80.0}, points = {{24.375, 50.0}, {15.625, 50.0}}, smooth = Smooth.Bezier)); + connect(AMP.n1, vgph.m[2]) annotation( + Line(origin = {-170.5636, 9.014}, points = {{50.5636, 20.986}, {20.5636, 0.986}, {50.5636, -30.014}}, smooth = Smooth.Bezier)); + connect(IMP.n1, jda.p1) annotation( + Line(origin = {-120.0, -4.1667}, points = {{0.0, -5.8333}, {0.0, 2.9167}, {0.0, 2.9167}}, smooth = Smooth.Bezier)); + connect(ADP.n1, vpfk.p2) annotation( + Line(origin = {-22.6914, -23.4423}, points = {{2.9167, 3.3333}, {-5.8333, 3.3333}, {-6.0586, -1.5577}}, smooth = Smooth.Bezier)); + connect(vgpdh_1.s1, ADP.n1) annotation( + Line(origin = {8.8565, -22.5545}, points = {{59.8935, -2.4455}, {-15.6312, -2.4455}, {-15.6312, 2.4455}, {-28.6312, 2.4455}}, smooth = Smooth.Bezier)); + connect(vH6P.p1, F6P.n1) annotation( + Line(origin = {-65.8333, -30.0}, points = {{-2.9167, 0.0}, {-2.9167, 0.0}, {5.8333, 0.0}}, smooth = Smooth.Bezier)); + connect(LAC.n1, node_LAC) annotation( + Line(origin = {140.0, -16.6667}, points = {{0.0, -13.3333}, {0.0, 6.6667}, {0.0, 6.6667}}, smooth = Smooth.Bezier)); + connect(ATP.n1, jck.s1) annotation( + Line(origin = {-43.0, 45.9685}, points = {{33.0, -15.9685}, {33.0, 6.2028}, {-22.0, 6.2028}, {-22.0, -1.7185}, {-22.0, -4.7185}}, smooth = Smooth.Bezier)); + connect(AMP.n1, jda.s1) annotation( + Line(origin = {-120.0, 24.1667}, points = {{0.0, 5.8333}, {0.0, -2.9167}, {0.0, -2.9167}}, smooth = Smooth.Bezier)); + connect(vldh.s2, NADH.n1) annotation( + Line(origin = {105.8333, -21.6667}, points = {{2.9167, -3.3333}, {2.9167, 1.6667}, {-5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(LAC.n1, vldh.p1) annotation( + Line(origin = {137.0833, -30.0}, points = {{2.9167, 0.0}, {2.9167, 0.0}, {-5.8333, 0.0}}, smooth = Smooth.Bezier)); + connect(GLY.n1, vgph.s1) annotation( + Line(origin = {-137.0833, -30.0}, points = {{-2.9167, 0.0}, {-2.9167, 0.0}, {5.8333, 0.0}}, smooth = Smooth.Bezier)); + annotation( + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10})), + Diagram(coordinateSystem(extent = {{-148.5, -105.0}, {148.5, 105.0}}, preserveAspectRatio = true, grid = {10, 10})), + Documentation(info = "

    Cytosol

    \"Fig1:

    Fig. 1. Scheme of glycolysis and coupled processes simulated in the model: consumption and synthesis of ATP and transformation of reducing equivalents of NADH. The relevant equations, which account for stoicheiometry of the ATP production, are given in Supplementary materials. One molecule of ATP is consumed per molecule of fructose 6-phosphate in the phosphofructokinase reaction; two molecules of ATP per molecule of triose phospate (four molecules per hexose molecule) are then produced on the way to pyruvate; 2.5 molecules of ATP are produced when one molecule of NADH is oxidized. Cytosolic NADH is produced in the reaction of glyceraldehyde-3-phosphate dehydrogenase and consumed when pyruvate is transformed to lactate. In mitochondria one molecule of NADH is produced in the pyruvate dehydrogenase reaction and then three NADH molecules and one FADH2 molecule in the tricarboxylate cycle. Abbreviations: AK, adenylate kinase (EC 2.7.4.3); CK, creatine kinase (EC 2.7.3.2); CP, phosphocreatine; Cr, creatine; F6P, fructose 6-phosphate; FBP, fructose 1,6-bisphosphate; G6P, glucose 6-phosphate; GAPDH, glyceraldehyde-3-phosphate dehydrogenase (EC 1.2.1.12); -GPh, glycogen phosphorylase (EC 2.4.1.1); Lac, lactate; LDH, lactate dehydrogenase (EC 1.1.1.27); PFK, phosphofructokinase (EC 2.7.1.11); GPI, glucose phosphate isomerase (EC 5.3.1.9.); Pyr, pyruvate. Subscripts: m, mitochondrial; c, cytosolic.

    ", revisions="")); - parameter Real kt; - BioChem.Reactions.FastEquilibrium.Uuf vH6P(kP1=kh) "Fast equilibrium reaction for the compound of G6P and F6P" annotation(Placement(transformation(origin={-80.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.vald_ vald(kt=kt) "vald" annotation(Placement(transformation(origin={0.2253,-40.109}, extent={{-10.0,10.0},{10.0,-10.0}}))); - centralMetabolism.cytosol.DHAP_ DHAP(c.start=0.07427/(1 + kt)) annotation(Placement(transformation(origin={20.0,-40.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.G3P_ G3P(c.start=0.07427*kt/(1 + kt)) annotation(Placement(transformation(origin={60.0,-40.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.cytosol.vgpdh_ vgpdh_1(badp=badp) annotation(Placement(transformation(origin={80.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - BioChem.Reactions.FastEquilibrium.Uuf vT3P(kS1=1, kP1=kt) "Fast equilibrium reaction for the compound of G6P and F6P" annotation(Placement(transformation(origin={40.0,-40.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - equation - connect(PN.n1,vgph.m[3]) annotation(Line(origin={-43.1831,-17.0363}, points={{123.1831,7.0363},{23.1831,13.8613},{-53.1252,-3.9637},{-76.8169,-3.9637}}, smooth=Smooth.Bezier)); - connect(vgpdh_1.m1,PN.n1) annotation(Line(origin={80.0,-15.5}, points={{0.0,-5.5},{0.0,5.5}}, smooth=Smooth.Bezier)); - connect(PYR.n1,vgpdh_1.p2) annotation(Line(origin={94.1667,-38.3333}, points={{5.8333,-1.6667},{-2.9167,-1.6667},{-2.9167,3.3333}}, smooth=Smooth.Bezier)); - connect(PYR.n1,vpdh.s1) annotation(Line(origin={99.5833,-70.0}, points={{0.4167,30.0},{-9.5833,-15.0},{9.1667,-15.0}}, smooth=Smooth.Bezier)); - connect(vldh.s1,PYR.n1) annotation(Line(origin={105.8333,-38.3333}, points={{2.9167,3.3333},{2.9167,-1.6667},{-5.8333,-1.6667}}, smooth=Smooth.Bezier)); - connect(vT3P.s1,DHAP.n1) annotation(Line(origin={24.375,-40.0}, points={{4.375,0.0},{-4.375,0.0}})); - connect(vT3P.p1,G3P.n1) annotation(Line(origin={55.625,-40.0}, points={{-4.375,0.0},{4.375,0.0}})); - connect(vald.p1,DHAP.n1) annotation(Line(origin={14.3169,-40.0363}, points={{-2.8416,-0.0727},{-2.8416,0.0363},{5.6831,0.0363}})); - connect(ADP.n1,mitochondria.node_ADP) annotation(Line(origin={29.9388,18.5441}, points={{-49.7135,-38.6531},{-14.7833,-28.5441},{4.222,16.7428},{57.4791,16.7428}}, smooth=Smooth.Bezier)); - connect(ADP.n1,vpdh.s2) annotation(Line(origin={31.3122,-73.3958}, points={{-51.0869,53.2868},{-21.3122,-1.1347},{9.2453,-24.5854},{77.4378,-21.6042}}, smooth=Smooth.Bezier)); - connect(G3P.n1,vgpdh_1.s2) annotation(Line(origin={62.9167,-36.6667}, points={{-2.9167,-3.3333},{-2.9167,1.6667},{5.8333,1.6667}}, smooth=Smooth.Bezier)); - connect(vgph.p1,G6P.n1) annotation(Line(origin={-105.8333,-30.0}, points={{-2.9167,0.0},{-2.9167,0.0},{5.8333,0.0}}, smooth=Smooth.Bezier)); - connect(jatpase.s1,ATP.n1) annotation(Line(origin={-30.0,27.0833}, points={{-10.0,-5.8333},{-10.0,2.9167},{20.0,2.9167}}, smooth=Smooth.Bezier)); - connect(jck.p1,ADP.n1) annotation(Line(origin={-63.2582,-1.5662}, points={{-1.7418,20.3162},{-1.7418,1.5662},{43.4835,-18.5428}}, smooth=Smooth.Bezier)); - connect(FDP.n1,vald.s1) annotation(Line(origin={-16.8581,-40.109}, points={{-2.9166,0.0},{-2.9167,0.0},{5.8334,0.0}}, smooth=Smooth.Bezier)); - connect(vgpdh_1.p1,NADH.n1) annotation(Line(origin={94.1667,-21.6667}, points={{-2.9167,-3.3333},{-2.9167,1.6667},{5.8333,1.6667}}, smooth=Smooth.Bezier)); - connect(vpdh.p1,mitochondria.node_NADHm) annotation(Line(origin={128.4604,-19.1758}, points={{2.7896,-70.8242},{21.5396,-70.8242},{19.4827,64.1758},{-15.8864,64.1758}}, smooth=Smooth.Bezier)); - connect(ADP.n1,jak.p1) annotation(Line(origin={-4.8874,-4.2701}, points={{-14.8873,-15.8389},{0.2923,-3.5556},{14.8874,7.589},{14.8874,23.0201}}, smooth=Smooth.Bezier)); - connect(NAD.n1,vldh.m1) annotation(Line(origin={120.0,-49.5}, points={{0.0,-10.5},{0.0,10.5}}, smooth=Smooth.Bezier)); - connect(Cr.n1,jck.s2) annotation(Line(origin={-78.3333,44.1667}, points={{-1.6667,5.8333},{-1.6667,-2.9167},{3.3333,-2.9167}}, smooth=Smooth.Bezier)); - connect(IMP.n1,vgph.m[1]) annotation(Line(origin={-120.0,-17.3333}, points={{0.0,7.3333},{0.0,-3.6667},{0.0,-3.6667}}, smooth=Smooth.Bezier)); - connect(ATP.n1,jak.m1) annotation(Line(origin={-6.3333,30.0}, points={{-3.6667,0.0},{-3.6667,0.0},{7.3333,0.0}}, smooth=Smooth.Bezier)); - connect(jck.p2,CP.n1) annotation(Line(origin={-76.6667,12.9167}, points={{1.6667,5.8333},{1.6667,-2.9167},{-3.3333,-2.9167}}, smooth=Smooth.Bezier)); - connect(AMP.n1,jak.s1) annotation(Line(origin={-30.0,71.6841}, points={{-90.0,-41.6841},{-90.0,-1.6841},{40.0,-1.6841},{40.0,-30.4341}}, smooth=Smooth.Bezier)); - connect(jatpase.p1,ADP.n1) annotation(Line(origin={-33.2582,-13.8227}, points={{-6.7418,12.5727},{-6.7418,5.6243},{13.4835,-6.2863}}, smooth=Smooth.Bezier)); - connect(FDP.n1,vpfk.p1) annotation(Line(origin={-22.6914,-36.7756}, points={{2.9167,-3.3334},{-5.8333,-3.3334},{-6.0586,1.7756}}, smooth=Smooth.Bezier)); - connect(NAD.n1,vpdh.m1) annotation(Line(origin={120.0,-70.5}, points={{0.0,10.5},{0.0,-10.5}}, smooth=Smooth.Bezier)); - connect(NADH.n1,mitochondria.node_NADH) annotation(Line(origin={108.7675,7.2}, points={{-8.7675,-27.2},{-8.7675,-14.2},{6.845,-14.2},{6.845,27.8},{3.845,27.8}}, smooth=Smooth.Bezier)); - connect(ATP.n1,mitochondria.node_ATP) annotation(Line(origin={32.2535,41.25}, points={{-42.2535,-11.25},{-28.6502,3.75},{25.7571,3.75},{55.1466,3.75}}, smooth=Smooth.Bezier)); - connect(F6P.n1,vpfk.s1) annotation(Line(origin={-57.0833,-30.0}, points={{-2.9167,0.0},{-2.9167,0.0},{5.8333,0.0}}, smooth=Smooth.Bezier)); - connect(vH6P.s1,G6P.n1) annotation(Line(origin={-115.625,-80.0}, points={{24.375,50.0},{15.625,50.0}}, smooth=Smooth.Bezier)); - connect(AMP.n1,vgph.m[2]) annotation(Line(origin={-170.5636,9.014}, points={{50.5636,20.986},{20.5636,0.986},{50.5636,-30.014}}, smooth=Smooth.Bezier)); - connect(IMP.n1,jda.p1) annotation(Line(origin={-120.0,-4.1667}, points={{0.0,-5.8333},{0.0,2.9167},{0.0,2.9167}}, smooth=Smooth.Bezier)); - connect(ADP.n1,vpfk.p2) annotation(Line(origin={-22.6914,-23.4423}, points={{2.9167,3.3333},{-5.8333,3.3333},{-6.0586,-1.5577}}, smooth=Smooth.Bezier)); - connect(vgpdh_1.s1,ADP.n1) annotation(Line(origin={8.8565,-22.5545}, points={{59.8935,-2.4455},{-15.6312,-2.4455},{-15.6312,2.4455},{-28.6312,2.4455}}, smooth=Smooth.Bezier)); - connect(vH6P.p1,F6P.n1) annotation(Line(origin={-65.8333,-30.0}, points={{-2.9167,0.0},{-2.9167,0.0},{5.8333,0.0}}, smooth=Smooth.Bezier)); - connect(LAC.n1,node_LAC) annotation(Line(origin={140.0,-16.6667}, points={{0.0,-13.3333},{0.0,6.6667},{0.0,6.6667}}, smooth=Smooth.Bezier)); - connect(ATP.n1,jck.s1) annotation(Line(origin={-43.0,45.9685}, points={{33.0,-15.9685},{33.0,6.2028},{-22.0,6.2028},{-22.0,-1.7185},{-22.0,-4.7185}}, smooth=Smooth.Bezier)); - connect(AMP.n1,jda.s1) annotation(Line(origin={-120.0,24.1667}, points={{0.0,5.8333},{0.0,-2.9167},{0.0,-2.9167}}, smooth=Smooth.Bezier)); - connect(vldh.s2,NADH.n1) annotation(Line(origin={105.8333,-21.6667}, points={{2.9167,-3.3333},{2.9167,1.6667},{-5.8333,1.6667}}, smooth=Smooth.Bezier)); - connect(LAC.n1,vldh.p1) annotation(Line(origin={137.0833,-30.0}, points={{2.9167,0.0},{2.9167,0.0},{-5.8333,0.0}}, smooth=Smooth.Bezier)); - connect(GLY.n1,vgph.s1) annotation(Line(origin={-137.0833,-30.0}, points={{-2.9167,0.0},{-2.9167,0.0},{5.8333,0.0}}, smooth=Smooth.Bezier)); +GPh, glycogen phosphorylase (EC 2.4.1.1); Lac, lactate; LDH, lactate dehydrogenase (EC 1.1.1.27); PFK, phosphofructokinase (EC 2.7.1.11); GPI, glucose phosphate isomerase (EC 5.3.1.9.); Pyr, pyruvate. Subscripts: m, mitochondrial; c, cytosolic.

    ", revisions = "")); end cytosol; model extra_cellular - annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Documentation(info="

    Energy metabolism of human muscle

    + extends BioChem.Compartments.MainCompartment(V(start = 2)); + + model LACext_ + extends BioChem.Substances.Substance; + annotation( + __MathCore(RDF = " + + + + + + + + ")); + end LACext_; + + model vef_ + extends BioChem.Interfaces.Reactions.Uui; + parameter Real VmaxEF = 15; + parameter Real KmLAC = 26.8483; + equation + rr = VmaxEF * s1.c / (KmLAC + s1.c); + end vef_; + + centralMetabolism.cytosol cytosol(bamp = bamp, badp = badp, kh = kh, pn = pn, atp = atp, kt = kt, nad = nad, cr = cr) annotation( + Placement(transformation(origin = {1.221, -0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.extra_cellular.vef_ vef "vef" annotation( + Placement(transformation(origin = {40.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -360))); + centralMetabolism.extra_cellular.LACext_ LACext(c.start = 0) "Lactate" annotation( + Placement(transformation(origin = {70.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + inner Real default_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + inner Real cytosol_V = cytosol.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; + parameter Real iv1 = 0.603855; + parameter Real iv2 = 0.0999758; + parameter Real iv3 = 0.07427; + parameter Real iv4 = 0.148871; + parameter Real iv5 = 4.34299; + parameter Real iv6 = 0.00406177; + parameter Real iv7 = 1.72073e-05; + parameter Real iv8 = 0.0695775; + parameter Real iv9 = 28.2621; + parameter Real iv10 = 0.000398124; + parameter Real iv11 = 0.650608; + parameter Real nv19 = 1; + parameter Real nv20 = 1.14947; + parameter Real kamp = 0.00841471; + parameter Real k2amp = 200; + parameter Real kadp = 0.05; + parameter Real k2adp = 84.7376; + parameter Real tan = 27.5 ""; + parameter Real tcr = 54; + parameter Real kt = 0.085; + parameter Real kh = 0.2; + parameter Real PNt = 139.117; + Real adpt; + Real ampt; + Real atp; + Real atpt; + Real badp; + Real bamp; + Real pn; + Real cr; + Real nad; + equation + connect(vef.p1, LACext.n1) annotation( + Line(origin = {60.625, 0.0}, points = {{-9.375, 0.0}, {9.375, -0.0}})); + connect(cytosol.node_LAC, vef.s1) annotation( + Line(origin = {21.2374, -0.0}, points = {{-7.5126, 0.0}, {7.5126, -0.0}})); + badp = k2adp * kadp / (kadp + cytosol.ADP.c); + adpt = cytosol.ADP.c * badp; + atpt = tan - adpt - ampt - cytosol.IMP.c; + ampt = cytosol.AMP.c * bamp; + atp = atpt / cytosol.V; + pn = (PNt - atpt * 3 - adpt * 2 - ampt - cytosol.CP.c * 2 - cytosol.IMP.c - (cytosol.G6P.c + cytosol.F6P.c + cytosol.FDP.c * 2 + cytosol.G3P.c + cytosol.DHAP.c) * cytosol.V) / cytosol.V; + bamp = k2amp * kamp / (kamp + cytosol.AMP.c); + nad = 0.7 - cytosol.NADH.c; + cr = tcr - cytosol.CP.c; + annotation( + Diagram(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10})), + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10})), + Documentation(info = "

    Energy metabolism of human muscle

    The model simulates the processes of utilization of energy stored in the form of glycogen. This is the main energy supply of working muscle. The pathway includes glycolytic and TCA cycle reactions stoichiometrically connected with synthesis ATP, which is used mainly for mechanical work (ATPase). The biochemical scheme of the simulated processes is shown in Figure 1.

    \"Fig1: @@ -887,85 +1198,18 @@ This model and data analysis are described in (Selivanov VA, de Atauri P, Centel

    Simulations

    The time scale of the model is minutes, so it simulates 0.5 min of maximal intensity exercise. The model produces the same results as seen from experiments.

    If simulated for more than 0.5 minutes the model has numerical problems. In real life a person cannot maintain maximal intensity exercise, then fatigue comes and the intensity decreases. So, steady state at maximal intensity does not exist in real life either.

    -", revisions=""), __MathCore(RDF=""), experiment(StartTime=0.0, StopTime=0.5, Algorithm="dassl", Tolerance=1e-05)); - extends BioChem.Compartments.MainCompartment(V(start=2)); - model LACext_ - extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" - - - - - - - - ")); - end LACext_; - - model vef_ - extends BioChem.Interfaces.Reactions.Uui; - parameter Real VmaxEF=15; - parameter Real KmLAC=26.8483; - equation - rr=VmaxEF*s1.c/(KmLAC + s1.c); - end vef_; - - centralMetabolism.cytosol cytosol(bamp=bamp, badp=badp, kh=kh, pn=pn, atp=atp, kt=kt, nad=nad, cr=cr) annotation(Placement(transformation(origin={1.221,-0.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.extra_cellular.vef_ vef "vef" annotation(Placement(transformation(origin={40.0,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-360))); - centralMetabolism.extra_cellular.LACext_ LACext(c.start=0) "Lactate" annotation(Placement(transformation(origin={70.0,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - inner Real default_V=V "Variable used to make the compartment volume accessible for inner components. Do not edit."; - inner Real cytosol_V=cytosol.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; - parameter Real iv1=0.603855; - parameter Real iv2=0.0999758; - parameter Real iv3=0.07427; - parameter Real iv4=0.148871; - parameter Real iv5=4.34299; - parameter Real iv6=0.00406177; - parameter Real iv7=1.72073e-05; - parameter Real iv8=0.0695775; - parameter Real iv9=28.2621; - parameter Real iv10=0.000398124; - parameter Real iv11=0.650608; - parameter Real nv19=1; - parameter Real nv20=1.14947; - parameter Real kamp=0.00841471; - parameter Real k2amp=200; - parameter Real kadp=0.05; - parameter Real k2adp=84.7376; - parameter Real tan=27.5 ""; - parameter Real tcr=54; - parameter Real kt=0.085; - parameter Real kh=0.2; - parameter Real PNt=139.117; - Real adpt; - Real ampt; - Real atp; - Real atpt; - Real badp; - Real bamp; - Real pn; - Real cr; - Real nad; - equation - connect(vef.p1,LACext.n1) annotation(Line(origin={60.625,0.0}, points={{-9.375,0.0},{9.375,-0.0}})); - connect(cytosol.node_LAC,vef.s1) annotation(Line(origin={21.2374,-0.0}, points={{-7.5126,0.0},{7.5126,-0.0}})); - badp=k2adp*kadp/(kadp + cytosol.ADP.c); - adpt=cytosol.ADP.c*badp; - atpt=tan - adpt - ampt - cytosol.IMP.c; - ampt=cytosol.AMP.c*bamp; - atp=atpt/cytosol.V; - pn=(PNt - atpt*3 - adpt*2 - ampt - cytosol.CP.c*2 - cytosol.IMP.c - (cytosol.G6P.c + cytosol.F6P.c + cytosol.FDP.c*2 + cytosol.G3P.c + cytosol.DHAP.c)*cytosol.V)/cytosol.V; - bamp=k2amp*kamp/(kamp + cytosol.AMP.c); - nad=0.7 - cytosol.NADH.c; - cr=tcr - cytosol.CP.c; + ", revisions = ""), + __MathCore(RDF = ""), + experiment(StartTime = 0.0, StopTime = 0.5, Algorithm = "dassl", Tolerance = 1e-05)); end extra_cellular; model mitochondria - extends BioChem.Compartments.Compartment(V.start=2); - annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Compartments.Compartment(V.start = 2); + model NADH_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -978,7 +1222,8 @@ This model and data analysis are described in (Selivanov VA, de Atauri P, Centel model NAD_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -990,81 +1235,113 @@ This model and data analysis are described in (Selivanov VA, de Atauri P, Centel end NAD_; model jox_ - extends BioChem.Interfaces.Reactions.Bbi(nS1=2.5*cytosol_V/badp); + extends BioChem.Interfaces.Reactions.Bbi(nS1 = 2.5 * cytosol_V / badp); outer Real cytosol_V "Variable used to access the volume of an outer compartment. Do not edit."; Real badp; equation - rr=10000*s1.c*s2.c/((0.01 + s1.c)*(0.15 + s2.c)); + rr = 10000 * s1.c * s2.c / ((0.01 + s1.c) * (0.15 + s2.c)); end jox_; model vn_ extends BioChem.Interfaces.Reactions.Uui; - parameter Real VmaxN=10.8347; - parameter Real KmNADH=0.216694; + parameter Real VmaxN = 10.8347; + parameter Real KmNADH = 0.216694; equation - rr=VmaxN*s1.c/(KmNADH + s1.c); + rr = VmaxN * s1.c / (KmNADH + s1.c); end vn_; - centralMetabolism.mitochondria.NADH_ NADHm(c.start=0) "NADH" annotation(Placement(transformation(origin={-20.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.mitochondria.NAD_ NADm(c.start=0) "NAD" annotation(Placement(transformation(origin={20.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.mitochondria.jox_ jox(badp=badp) "jox" annotation(Placement(transformation(origin={-0.0,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - BioChem.Interfaces.Nodes.SubstrateConnector node_ADP annotation(Placement(transformation(origin={-20.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={-125.8208,-47.131}, extent={{-10.0,-10.0},{10.0,10.0}}))); - BioChem.Interfaces.Nodes.SubstanceConnector node_NADHm annotation(Placement(transformation(origin={-30.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={125.7398,50.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - centralMetabolism.mitochondria.vn_ vn "vn" annotation(Placement(transformation(origin={-50.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - BioChem.Interfaces.Nodes.SubstrateConnector node_NADH annotation(Placement(transformation(origin={-80.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={126.1247,-50.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - BioChem.Interfaces.Nodes.ProductConnector node_ATP annotation(Placement(transformation(origin={20.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={-125.999,50.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + centralMetabolism.mitochondria.NADH_ NADHm(c.start = 0) "NADH" annotation( + Placement(transformation(origin = {-20.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.mitochondria.NAD_ NADm(c.start = 0) "NAD" annotation( + Placement(transformation(origin = {20.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.mitochondria.jox_ jox(badp = badp) "jox" annotation( + Placement(transformation(origin = {-0.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Interfaces.Nodes.SubstrateConnector node_ADP annotation( + Placement(transformation(origin = {-20.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {-125.8208, -47.131}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Interfaces.Nodes.SubstanceConnector node_NADHm annotation( + Placement(transformation(origin = {-30.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {125.7398, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + centralMetabolism.mitochondria.vn_ vn "vn" annotation( + Placement(transformation(origin = {-50.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Interfaces.Nodes.SubstrateConnector node_NADH annotation( + Placement(transformation(origin = {-80.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {126.1247, -50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Interfaces.Nodes.ProductConnector node_ATP annotation( + Placement(transformation(origin = {20.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {-125.999, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); Real badp; equation - connect(jox.p1,NADm.n1) annotation(Line(origin={14.1667,8.3333}, points={{-2.9167,-3.3333},{-2.9167,1.6667},{5.8333,1.6667}}, smooth=Smooth.Bezier)); - connect(NADHm.n1,node_NADHm) annotation(Line(origin={-29.831,-9.3231}, points={{9.831,-0.6769},{-0.169,-0.6769},{-0.169,-20.6769}}, smooth=Smooth.Bezier)); - connect(vn.p1,NADHm.n1) annotation(Line(origin={-29.375,-10.0}, points={{-9.375,0.0},{9.375,0.0}})); - connect(NADHm.n1,jox.s2) annotation(Line(origin={-14.1667,-8.3333}, points={{-5.8333,-1.6667},{2.9167,-1.6667},{2.9167,3.3333}}, smooth=Smooth.Bezier)); - connect(jox.p2,node_ATP) annotation(Line(origin={17.0833,-6.6667}, points={{-5.8333,1.6667},{2.9167,1.6667},{2.9167,-3.3333}})); - connect(jox.s1,node_ADP) annotation(Line(origin={-14.1667,8.3333}, points={{2.9167,-3.3333},{2.9167,1.6667},{-5.8333,1.6667}}, smooth=Smooth.Bezier)); - connect(vn.s1,node_NADH) annotation(Line(origin={-70.625,-10.0}, points={{9.375,0.0},{-9.375,0.0}})); + connect(jox.p1, NADm.n1) annotation( + Line(origin = {14.1667, 8.3333}, points = {{-2.9167, -3.3333}, {-2.9167, 1.6667}, {5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(NADHm.n1, node_NADHm) annotation( + Line(origin = {-29.831, -9.3231}, points = {{9.831, -0.6769}, {-0.169, -0.6769}, {-0.169, -20.6769}}, smooth = Smooth.Bezier)); + connect(vn.p1, NADHm.n1) annotation( + Line(origin = {-29.375, -10.0}, points = {{-9.375, 0.0}, {9.375, 0.0}})); + connect(NADHm.n1, jox.s2) annotation( + Line(origin = {-14.1667, -8.3333}, points = {{-5.8333, -1.6667}, {2.9167, -1.6667}, {2.9167, 3.3333}}, smooth = Smooth.Bezier)); + connect(jox.p2, node_ATP) annotation( + Line(origin = {17.0833, -6.6667}, points = {{-5.8333, 1.6667}, {2.9167, 1.6667}, {2.9167, -3.3333}})); + connect(jox.s1, node_ADP) annotation( + Line(origin = {-14.1667, 8.3333}, points = {{2.9167, -3.3333}, {2.9167, 1.6667}, {-5.8333, 1.6667}}, smooth = Smooth.Bezier)); + connect(vn.s1, node_NADH) annotation( + Line(origin = {-70.625, -10.0}, points = {{9.375, 0.0}, {-9.375, 0.0}})); + annotation( + Diagram(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}))); end mitochondria; - end centralMetabolism; package CircadianOscillator "Weimann2004_CircadianOscillator" extends BioChem.Icons.Example; + model Container - extends BioChem.Compartments.MainCompartment(V(start=1)); + extends BioChem.Compartments.MainCompartment(V(start = 1)); import BioChem.Math.*; import BioChem.Constants.*; - BioChem.Examples.CircadianOscillator.Nucleus nucleus(k3t=k3t, k3d=k3d, k6t=k6t, k6d=k6d, k6a=k6a, k7a=k7a, k7d=k7d) annotation(Placement(transformation(origin={-30.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Cytoplasm cytoplasm(trans_per2_cry=trans_per2_cry, k1d=k1d, k2b=k2b, q=q, k2d=k2d, k2t=k2t, trans_Bmal1=trans_Bmal1, k4d=k4d, k5b=k5b, k5d=k5d, k5t=k5t) annotation(Placement(transformation(origin={21.5395,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - inner Real Nucleus_V=nucleus.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; - inner Real Cytoplasm_V=cytoplasm.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; - inner Real Container_V=V "Variable used to make the compartment volume accessible for inner components. Do not edit."; - Real trans_per2_cry(start=0); - parameter Real v1b=9; - parameter Real c_sbml=0.01; - parameter Real k1b=1; - parameter Real k1i=0.56; - parameter Real hill_coeff=8; - Real trans_Bmal1(start=0); - parameter Real v4b=3.6; - parameter Real r_sbml=3; - parameter Real k4b=2.16; - Real y5_y6_y7(start=3.05); - parameter Real k1d=0.12; - parameter Real k2b=0.3; - parameter Real q=2; - parameter Real k2d=0.05; - parameter Real k2t=0.24; - parameter Real k3t=0.02; - parameter Real k3d=0.12; - parameter Real k4d=0.75; - parameter Real k5b=0.24; - parameter Real k5d=0.06; - parameter Real k5t=0.45; - parameter Real k6t=0.06; - parameter Real k6d=0.12; - parameter Real k6a=0.09; - parameter Real k7a=0.003; - parameter Real k7d=0.09; - annotation(Documentation(info=" + BioChem.Examples.CircadianOscillator.Nucleus nucleus(k3t = k3t, k3d = k3d, k6t = k6t, k6d = k6d, k6a = k6a, k7a = k7a, k7d = k7d) annotation( + Placement(transformation(origin = {-30.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm cytoplasm(trans_per2_cry = trans_per2_cry, k1d = k1d, k2b = k2b, q = q, k2d = k2d, k2t = k2t, trans_Bmal1 = trans_Bmal1, k4d = k4d, k5b = k5b, k5d = k5d, k5t = k5t) annotation( + Placement(transformation(origin = {21.5395, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + inner Real Nucleus_V = nucleus.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; + inner Real Cytoplasm_V = cytoplasm.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; + inner Real Container_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + Real trans_per2_cry(start = 0); + parameter Real v1b = 9; + parameter Real c_sbml = 0.01; + parameter Real k1b = 1; + parameter Real k1i = 0.56; + parameter Real hill_coeff = 8; + Real trans_Bmal1(start = 0); + parameter Real v4b = 3.6; + parameter Real r_sbml = 3; + parameter Real k4b = 2.16; + Real y5_y6_y7(start = 3.05); + parameter Real k1d = 0.12; + parameter Real k2b = 0.3; + parameter Real q = 2; + parameter Real k2d = 0.05; + parameter Real k2t = 0.24; + parameter Real k3t = 0.02; + parameter Real k3d = 0.12; + parameter Real k4d = 0.75; + parameter Real k5b = 0.24; + parameter Real k5d = 0.06; + parameter Real k5t = 0.45; + parameter Real k6t = 0.06; + parameter Real k6d = 0.12; + parameter Real k6a = 0.09; + parameter Real k7a = 0.003; + parameter Real k7d = 0.09; + equation + connect(cytoplasm.y5_node, nucleus.y5_node) annotation( + Line(origin = {-4.2302, -19.0}, points = {{14.7697, 0.0}, {-14.7697, 0.0}})); + connect(nucleus.y6_node, cytoplasm.y6_node) annotation( + Line(origin = {-4.2302, -1.0}, points = {{-14.7697, 0.0}, {14.7697, 0.0}})); + connect(cytoplasm.y2_node, nucleus.y2_node) annotation( + Line(origin = {-4.2302, -7.0}, points = {{14.7697, 0.0}, {-14.7697, 0.0}})); + connect(nucleus.y3_node, cytoplasm.y3_node) annotation( + Line(origin = {-4.2302, -13.0}, points = {{-14.7697, 0.0}, {14.7697, 0.0}})); + trans_per2_cry = v1b * (nucleus.y7.c + c_sbml) / (k1b * (1 + (nucleus.y3.c / k1i) ^ hill_coeff) + nucleus.y7.c + c_sbml); + trans_Bmal1 = v4b * nucleus.y3.c ^ r_sbml / (k4b ^ r_sbml + nucleus.y3.c ^ r_sbml); + y5_y6_y7 = cytoplasm.y5.c + nucleus.y6.c + nucleus.y7.c; + annotation( + Documentation(info = "

    Circadian Oscillator

    This example is the modelica version of the model presented in @@ -1081,24 +1358,19 @@ The simulation results are shown in the \"Fig1: -", revisions=""), experiment(StartTime=0, StopTime=150, NumberOfIntervals=-1, Algorithm="dassl", Tolerance=1e-06)); - equation - connect(cytoplasm.y5_node,nucleus.y5_node) annotation(Line(origin={-4.2302,-19.0}, points={{14.7697,0.0},{-14.7697,0.0}})); - connect(nucleus.y6_node,cytoplasm.y6_node) annotation(Line(origin={-4.2302,-1.0}, points={{-14.7697,0.0},{14.7697,0.0}})); - connect(cytoplasm.y2_node,nucleus.y2_node) annotation(Line(origin={-4.2302,-7.0}, points={{14.7697,0.0},{-14.7697,0.0}})); - connect(nucleus.y3_node,cytoplasm.y3_node) annotation(Line(origin={-4.2302,-13.0}, points={{-14.7697,0.0},{14.7697,0.0}})); - trans_per2_cry=v1b*(nucleus.y7.c + c_sbml)/(k1b*(1 + (nucleus.y3.c/k1i)^hill_coeff) + nucleus.y7.c + c_sbml); - trans_Bmal1=v4b*nucleus.y3.c^r_sbml/(k4b^r_sbml + nucleus.y3.c^r_sbml); - y5_y6_y7=cytoplasm.y5.c + nucleus.y6.c + nucleus.y7.c; +", revisions = ""), + experiment(StartTime = 0, StopTime = 150, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06)); end Container; model Nucleus "Nucleus" - extends BioChem.Compartments.Compartment(V(start=1)); + extends BioChem.Compartments.Compartment(V(start = 1)); import BioChem.Math.*; import BioChem.Constants.*; + model y3_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1112,7 +1384,8 @@ The simulation results are shown in the model y6_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1125,7 +1398,8 @@ The simulation results are shown in the model y7_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1138,7 +1412,12 @@ The simulation results are shown in the model per2_cry_nuclear_export_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k3t; + equation + rr = Nucleus_V * k3t * s1.c; + annotation( + __MathCore(RDF = " @@ -1147,15 +1426,16 @@ The simulation results are shown in the ")); - outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k3t; - equation - rr=Nucleus_V*k3t*s1.c; end per2_cry_nuclear_export_; model nuclear_per2_cry_complex_degradation_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k3d; + equation + rr = Nucleus_V * k3d * s1.c; + annotation( + __MathCore(RDF = " @@ -1164,15 +1444,16 @@ The simulation results are shown in the ")); - outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k3d; - equation - rr=Nucleus_V*k3d*s1.c; end nuclear_per2_cry_complex_degradation_; model BMAL1_nuclear_export_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k6t; + equation + rr = Nucleus_V * k6t * s1.c; + annotation( + __MathCore(RDF = " @@ -1181,15 +1462,16 @@ The simulation results are shown in the ")); - outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k6t; - equation - rr=Nucleus_V*k6t*s1.c; end BMAL1_nuclear_export_; model nuclear_BMAL1_degradation_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k6d; + equation + rr = Nucleus_V * k6d * s1.c; + annotation( + __MathCore(RDF = " @@ -1198,15 +1480,16 @@ The simulation results are shown in the ")); - outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k6d; - equation - rr=Nucleus_V*k6d*s1.c; end nuclear_BMAL1_degradation_; model BMAL1_activation_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k6a; + equation + rr = Nucleus_V * k6a * s1.c; + annotation( + __MathCore(RDF = " @@ -1215,15 +1498,16 @@ The simulation results are shown in the ")); - outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k6a; - equation - rr=Nucleus_V*k6a*s1.c; end BMAL1_activation_; model BMAL1_deactivation_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k7a; + equation + rr = Nucleus_V * k7a * s1.c; + annotation( + __MathCore(RDF = " @@ -1232,15 +1516,16 @@ The simulation results are shown in the ")); - outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k7a; - equation - rr=Nucleus_V*k7a*s1.c; end BMAL1_deactivation_; model Active_BMAL1_degradation_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k7d; + equation + rr = Nucleus_V * k7d * s1.c; + annotation( + __MathCore(RDF = " @@ -1249,61 +1534,90 @@ The simulation results are shown in the ")); - outer Real Nucleus_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k7d; - equation - rr=Nucleus_V*k7d*s1.c; end Active_BMAL1_degradation_; - inner Real Nucleus_V=V "Variable used to make the compartment volume accessible for inner components. Do not edit."; - BioChem.Examples.CircadianOscillator.Nucleus.y3_ y3(c(start=1.1)) "PER2_CRY_complex_nucleus" annotation(Placement(transformation(origin={70.0,-50.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - BioChem.Examples.CircadianOscillator.Nucleus.y6_ y6(c(start=1)) "BMAL1_nucleus" annotation(Placement(transformation(origin={-10.0,50.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - BioChem.Examples.CircadianOscillator.Nucleus.y7_ y7(c(start=1.05)) "Active BMAL1" annotation(Placement(transformation(origin={-45.6104,-16.1148}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - BioChem.Interfaces.Nodes.SubstanceConnector y3_node annotation(Placement(transformation(origin={90.0,-60.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={110.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + inner Real Nucleus_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + BioChem.Examples.CircadianOscillator.Nucleus.y3_ y3(c(start = 1.1)) "PER2_CRY_complex_nucleus" annotation( + Placement(transformation(origin = {70.0, -50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + BioChem.Examples.CircadianOscillator.Nucleus.y6_ y6(c(start = 1)) "BMAL1_nucleus" annotation( + Placement(transformation(origin = {-10.0, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Examples.CircadianOscillator.Nucleus.y7_ y7(c(start = 1.05)) "Active BMAL1" annotation( + Placement(transformation(origin = {-45.6104, -16.1148}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Interfaces.Nodes.SubstanceConnector y3_node annotation( + Placement(transformation(origin = {90.0, -60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); parameter Real k3t; - BioChem.Interfaces.Nodes.SubstanceConnector y2_node annotation(Placement(transformation(origin={90.0,60.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={110.0,30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - BioChem.Examples.CircadianOscillator.Nucleus.per2_cry_nuclear_export_ per2_cry_nuclear_export(k3t=k3t) "per2_cry_nuclear_export" annotation(Placement(transformation(origin={68.1433,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - BioChem.Substances.AmbientSubstance ambientSubstance annotation(Placement(transformation(origin={10.0,-50.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + BioChem.Interfaces.Nodes.SubstanceConnector y2_node annotation( + Placement(transformation(origin = {90.0, 60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Examples.CircadianOscillator.Nucleus.per2_cry_nuclear_export_ per2_cry_nuclear_export(k3t = k3t) "per2_cry_nuclear_export" annotation( + Placement(transformation(origin = {68.1433, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + BioChem.Substances.AmbientSubstance ambientSubstance annotation( + Placement(transformation(origin = {10.0, -50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); parameter Real k3d; - BioChem.Examples.CircadianOscillator.Nucleus.nuclear_per2_cry_complex_degradation_ nuclear_per2_cry_complex_degradation(k3d=k3d) "nuclear_per2_cry_complex_degradation" annotation(Placement(transformation(origin={40.0,-40.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - BioChem.Interfaces.Nodes.SubstanceConnector y6_node annotation(Placement(transformation(origin={90.0,90.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={110.0,90.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + BioChem.Examples.CircadianOscillator.Nucleus.nuclear_per2_cry_complex_degradation_ nuclear_per2_cry_complex_degradation(k3d = k3d) "nuclear_per2_cry_complex_degradation" annotation( + Placement(transformation(origin = {40.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + BioChem.Interfaces.Nodes.SubstanceConnector y6_node annotation( + Placement(transformation(origin = {90.0, 90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); parameter Real k6t; - BioChem.Interfaces.Nodes.SubstanceConnector y5_node annotation(Placement(transformation(origin={90.0,-90.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={110.0,-90.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Nucleus.BMAL1_nuclear_export_ BMAL1_nuclear_export(k6t=k6t) "BMAL1_nuclear_export" annotation(Placement(transformation(origin={-80.0,20.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); + BioChem.Interfaces.Nodes.SubstanceConnector y5_node annotation( + Placement(transformation(origin = {90.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Nucleus.BMAL1_nuclear_export_ BMAL1_nuclear_export(k6t = k6t) "BMAL1_nuclear_export" annotation( + Placement(transformation(origin = {-80.0, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); parameter Real k6d; - BioChem.Examples.CircadianOscillator.Nucleus.nuclear_BMAL1_degradation_ nuclear_BMAL1_degradation(k6d=k6d) "nuclear_BMAL1_degradation" annotation(Placement(transformation(origin={10.0,10.0}, extent={{10.0,-10.0},{-10.0,10.0}}, rotation=90))); + BioChem.Examples.CircadianOscillator.Nucleus.nuclear_BMAL1_degradation_ nuclear_BMAL1_degradation(k6d = k6d) "nuclear_BMAL1_degradation" annotation( + Placement(transformation(origin = {10.0, 10.0}, extent = {{10.0, -10.0}, {-10.0, 10.0}}, rotation = 90))); parameter Real k6a; - Nucleus.BMAL1_activation_ BMAL1_activation(k6a=k6a) "BMAL1_activation" annotation(Placement(transformation(origin={-30.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); + Nucleus.BMAL1_activation_ BMAL1_activation(k6a = k6a) "BMAL1_activation" annotation( + Placement(transformation(origin = {-30.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); parameter Real k7a; - Nucleus.BMAL1_deactivation_ BMAL1_deactivation(k7a=k7a) "BMAL1_deactivation" annotation(Placement(transformation(origin={-61.7118,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); + Nucleus.BMAL1_deactivation_ BMAL1_deactivation(k7a = k7a) "BMAL1_deactivation" annotation( + Placement(transformation(origin = {-61.7118, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); parameter Real k7d; - BioChem.Examples.CircadianOscillator.Nucleus.Active_BMAL1_degradation_ Active_BMAL1_degradation(k7d=k7d) "Active_BMAL1_degradation" annotation(Placement(transformation(origin={-30.0,-40.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + BioChem.Examples.CircadianOscillator.Nucleus.Active_BMAL1_degradation_ Active_BMAL1_degradation(k7d = k7d) "Active_BMAL1_degradation" annotation( + Placement(transformation(origin = {-30.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); equation - connect(y3.n1,nuclear_per2_cry_complex_degradation.s1) annotation(Line(origin={58.0633,-45.0}, points={{11.9367,-5.0},{-2.5617,-5.0},{-2.5617,5.0},{-6.8133,5.0}}, smooth=Smooth.Bezier)); - connect(y3.n1,per2_cry_nuclear_export.s1) annotation(Line(origin={69.0717,-15.5633}, points={{0.9283,-34.4367},{0.9283,10.0617},{-0.9284,10.0617},{-0.9284,14.3133}}, smooth=Smooth.Bezier)); - connect(y3.n1,y3_node) annotation(Line(origin={76.6667,-56.6667}, points={{-6.6667,6.6667},{-6.6667,-3.3333},{13.3333,-3.3333}}, smooth=Smooth.Bezier)); - connect(y7.n1,BMAL1_activation.p1) annotation(Line(origin={-35.2035,-11.1599}, points={{-10.4069,-4.9549},{5.2035,-4.9549},{5.2035,9.9099}}, smooth=Smooth.Bezier)); - connect(y7.n1,Active_BMAL1_degradation.s1) annotation(Line(origin={-44.1569,-32.0383}, points={{-1.4535,15.9235},{-1.4535,-7.9617},{2.9069,-7.9617}}, smooth=Smooth.Bezier)); - connect(y7.n1,BMAL1_deactivation.s1) annotation(Line(origin={-56.3447,-11.1599}, points={{10.7343,-4.9549},{-5.3671,-4.9549},{-5.3671,9.9099}}, smooth=Smooth.Bezier)); - connect(y6.n1,BMAL1_deactivation.p1) annotation(Line(origin={-44.4745,40.4167}, points={{34.4745,9.5833},{-17.2373,9.5833},{-17.2373,-19.1667}}, smooth=Smooth.Bezier)); - connect(y6.n1,BMAL1_activation.s1) annotation(Line(origin={-20.0,30.5633}, points={{10.0,19.4367},{10.0,-5.0617},{-10.0,-5.0617},{-10.0,-9.3133}}, smooth=Smooth.Bezier)); - connect(y6.n1,nuclear_BMAL1_degradation.s1) annotation(Line(origin={0.0,30.5633}, points={{-10.0,19.4367},{-10.0,-5.0617},{10.0,-5.0617},{10.0,-9.3133}}, smooth=Smooth.Bezier)); - connect(y6.n1,BMAL1_nuclear_export.s1) annotation(Line(origin={-56.6667,43.75}, points={{46.6667,6.25},{-23.3333,6.25},{-23.3333,-12.5}}, smooth=Smooth.Bezier)); - connect(y6.n1,y6_node) annotation(Line(origin={58.5,70.0}, points={{-68.5,-20.0},{18.5,-20.0},{18.5,20.0},{31.5,20.0}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,nuclear_per2_cry_complex_degradation.p1) annotation(Line(origin={21.9367,-45.0}, points={{-11.9367,-5.0},{2.5617,-5.0},{2.5617,5.0},{6.8133,5.0}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,nuclear_BMAL1_degradation.p1) annotation(Line(origin={10.0,-25.625}, points={{0.0,-24.375},{0.0,24.375}}, smooth=Smooth.Bezier)); - connect(BMAL1_nuclear_export.p1,y5_node) annotation(Line(origin={-23.3333,-57.0833}, points={{-56.6667,65.8333},{-56.6667,-32.9167},{113.3333,-32.9167}}, smooth=Smooth.Bezier)); - connect(per2_cry_nuclear_export.p1,y2_node) annotation(Line(origin={79.0717,43.8125}, points={{-10.9284,-22.5625},{-10.9284,3.1875},{10.9283,3.1875},{10.9283,16.1875}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,Active_BMAL1_degradation.p1) annotation(Line(origin={-9.4367,-45.0}, points={{19.4367,-5.0},{-5.0617,-5.0},{-5.0617,5.0},{-9.3133,5.0}}, smooth=Smooth.Bezier)); + connect(y3.n1, nuclear_per2_cry_complex_degradation.s1) annotation( + Line(origin = {58.0633, -45.0}, points = {{11.9367, -5.0}, {-2.5617, -5.0}, {-2.5617, 5.0}, {-6.8133, 5.0}}, smooth = Smooth.Bezier)); + connect(y3.n1, per2_cry_nuclear_export.s1) annotation( + Line(origin = {69.0717, -15.5633}, points = {{0.9283, -34.4367}, {0.9283, 10.0617}, {-0.9284, 10.0617}, {-0.9284, 14.3133}}, smooth = Smooth.Bezier)); + connect(y3.n1, y3_node) annotation( + Line(origin = {76.6667, -56.6667}, points = {{-6.6667, 6.6667}, {-6.6667, -3.3333}, {13.3333, -3.3333}}, smooth = Smooth.Bezier)); + connect(y7.n1, BMAL1_activation.p1) annotation( + Line(origin = {-35.2035, -11.1599}, points = {{-10.4069, -4.9549}, {5.2035, -4.9549}, {5.2035, 9.9099}}, smooth = Smooth.Bezier)); + connect(y7.n1, Active_BMAL1_degradation.s1) annotation( + Line(origin = {-44.1569, -32.0383}, points = {{-1.4535, 15.9235}, {-1.4535, -7.9617}, {2.9069, -7.9617}}, smooth = Smooth.Bezier)); + connect(y7.n1, BMAL1_deactivation.s1) annotation( + Line(origin = {-56.3447, -11.1599}, points = {{10.7343, -4.9549}, {-5.3671, -4.9549}, {-5.3671, 9.9099}}, smooth = Smooth.Bezier)); + connect(y6.n1, BMAL1_deactivation.p1) annotation( + Line(origin = {-44.4745, 40.4167}, points = {{34.4745, 9.5833}, {-17.2373, 9.5833}, {-17.2373, -19.1667}}, smooth = Smooth.Bezier)); + connect(y6.n1, BMAL1_activation.s1) annotation( + Line(origin = {-20.0, 30.5633}, points = {{10.0, 19.4367}, {10.0, -5.0617}, {-10.0, -5.0617}, {-10.0, -9.3133}}, smooth = Smooth.Bezier)); + connect(y6.n1, nuclear_BMAL1_degradation.s1) annotation( + Line(origin = {0.0, 30.5633}, points = {{-10.0, 19.4367}, {-10.0, -5.0617}, {10.0, -5.0617}, {10.0, -9.3133}}, smooth = Smooth.Bezier)); + connect(y6.n1, BMAL1_nuclear_export.s1) annotation( + Line(origin = {-56.6667, 43.75}, points = {{46.6667, 6.25}, {-23.3333, 6.25}, {-23.3333, -12.5}}, smooth = Smooth.Bezier)); + connect(y6.n1, y6_node) annotation( + Line(origin = {58.5, 70.0}, points = {{-68.5, -20.0}, {18.5, -20.0}, {18.5, 20.0}, {31.5, 20.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, nuclear_per2_cry_complex_degradation.p1) annotation( + Line(origin = {21.9367, -45.0}, points = {{-11.9367, -5.0}, {2.5617, -5.0}, {2.5617, 5.0}, {6.8133, 5.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, nuclear_BMAL1_degradation.p1) annotation( + Line(origin = {10.0, -25.625}, points = {{0.0, -24.375}, {0.0, 24.375}}, smooth = Smooth.Bezier)); + connect(BMAL1_nuclear_export.p1, y5_node) annotation( + Line(origin = {-23.3333, -57.0833}, points = {{-56.6667, 65.8333}, {-56.6667, -32.9167}, {113.3333, -32.9167}}, smooth = Smooth.Bezier)); + connect(per2_cry_nuclear_export.p1, y2_node) annotation( + Line(origin = {79.0717, 43.8125}, points = {{-10.9284, -22.5625}, {-10.9284, 3.1875}, {10.9283, 3.1875}, {10.9283, 16.1875}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, Active_BMAL1_degradation.p1) annotation( + Line(origin = {-9.4367, -45.0}, points = {{19.4367, -5.0}, {-5.0617, -5.0}, {-5.0617, 5.0}, {-9.3133, 5.0}}, smooth = Smooth.Bezier)); end Nucleus; model Cytoplasm "Cytoplasm" - extends BioChem.Compartments.Compartment(V(start=1)); + extends BioChem.Compartments.Compartment(V(start = 1)); import BioChem.Math.*; import BioChem.Constants.*; + model y1_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1323,7 +1637,8 @@ The simulation results are shown in the model y2_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1337,7 +1652,8 @@ The simulation results are shown in the model y4_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1356,7 +1672,8 @@ The simulation results are shown in the model y5_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1369,7 +1686,12 @@ The simulation results are shown in the model per2_cry_transcription_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real trans_per2_cry; + equation + rr = Cytoplasm_V * trans_per2_cry; + annotation( + __MathCore(RDF = " @@ -1378,15 +1700,16 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - input Real trans_per2_cry; - equation - rr=Cytoplasm_V*trans_per2_cry; end per2_cry_transcription_; model per2_cry_mRNA_degradation_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k1d; + equation + rr = Cytoplasm_V * k1d * s1.c; + annotation( + __MathCore(RDF = " @@ -1395,16 +1718,18 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k1d; - equation - rr=Cytoplasm_V*k1d*s1.c; end per2_cry_mRNA_degradation_; model per2_cry_complex_formation_ extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k2b; + parameter Real q; + equation + rr = Cytoplasm_V * k2b * m1.c ^ q; + annotation( + __MathCore(RDF = " @@ -1413,16 +1738,16 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k2b; - parameter Real q; - equation - rr=Cytoplasm_V*k2b*m1.c^q; end per2_cry_complex_formation_; model cytoplasmic_per2_cry_complex_degradation_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k2d; + equation + rr = Cytoplasm_V * k2d * s1.c; + annotation( + __MathCore(RDF = " @@ -1431,15 +1756,16 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k2d; - equation - rr=Cytoplasm_V*k2d*s1.c; end cytoplasmic_per2_cry_complex_degradation_; model per2_cry_nuclear_import_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k2t; + equation + rr = Cytoplasm_V * k2t * s1.c; + annotation( + __MathCore(RDF = " @@ -1448,15 +1774,16 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k2t; - equation - rr=Cytoplasm_V*k2t*s1.c; end per2_cry_nuclear_import_; model Bmal1_transcription_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + input Real trans_Bmal1; + equation + rr = Cytoplasm_V * trans_Bmal1; + annotation( + __MathCore(RDF = " @@ -1465,15 +1792,16 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - input Real trans_Bmal1; - equation - rr=Cytoplasm_V*trans_Bmal1; end Bmal1_transcription_; model Bmal1_mRNA_degradation_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k4d; + equation + rr = Cytoplasm_V * k4d * s1.c; + annotation( + __MathCore(RDF = " @@ -1482,16 +1810,17 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k4d; - equation - rr=Cytoplasm_V*k4d*s1.c; end Bmal1_mRNA_degradation_; model BMAL1_translation_ extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k5b; + equation + rr = Cytoplasm_V * k5b * m1.c; + annotation( + __MathCore(RDF = " @@ -1500,15 +1829,16 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k5b; - equation - rr=Cytoplasm_V*k5b*m1.c; end BMAL1_translation_; model cytoplasmic_BMAL1_degradation_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k5d; + equation + rr = Cytoplasm_V * k5d * s1.c; + annotation( + __MathCore(RDF = " @@ -1517,15 +1847,16 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k5d; - equation - rr=Cytoplasm_V*k5d*s1.c; end cytoplasmic_BMAL1_degradation_; model BMAL1_nuclear_import_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; + parameter Real k5t; + equation + rr = Cytoplasm_V * k5t * s1.c; + annotation( + __MathCore(RDF = " @@ -1534,85 +1865,113 @@ The simulation results are shown in the ")); - outer Real Cytoplasm_V "Variable used to access the volume of an outer compartment. Do not edit."; - parameter Real k5t; - equation - rr=Cytoplasm_V*k5t*s1.c; end BMAL1_nuclear_import_; - inner Real Cytoplasm_V=V "Variable used to make the compartment volume accessible for inner components. Do not edit."; - Cytoplasm.y1_ y1(c(start=0.2)) "Per2 or Cry mRNA" annotation(Placement(transformation(origin={170.0,60.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Cytoplasm.y2_ y2(c(start=0)) "PER2_CRY_complex_cytoplasm" annotation(Placement(transformation(origin={140.0,-21.8298}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Cytoplasm.y4_ y4(c(start=0.8)) "Bmal1 mRNA" annotation(Placement(transformation(origin={64.8293,-60.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Cytoplasm.y5_ y5(c(start=1)) "BMAL1_cytoplasm" annotation(Placement(transformation(origin={20.0,20.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - BioChem.Substances.AmbientSubstance ambientSubstance annotation(Placement(transformation(origin={90.0,30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + inner Real Cytoplasm_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + Cytoplasm.y1_ y1(c(start = 0.2)) "Per2 or Cry mRNA" annotation( + Placement(transformation(origin = {170.0, 60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.y2_ y2(c(start = 0)) "PER2_CRY_complex_cytoplasm" annotation( + Placement(transformation(origin = {140.0, -21.8298}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.y4_ y4(c(start = 0.8)) "Bmal1 mRNA" annotation( + Placement(transformation(origin = {64.8293, -60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.y5_ y5(c(start = 1)) "BMAL1_cytoplasm" annotation( + Placement(transformation(origin = {20.0, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + BioChem.Substances.AmbientSubstance ambientSubstance annotation( + Placement(transformation(origin = {90.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); input Real trans_per2_cry; - Cytoplasm.per2_cry_transcription_ per2_cry_transcription(trans_per2_cry=trans_per2_cry) "per2_cry_transcription" annotation(Placement(transformation(origin={130.0,50.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + Cytoplasm.per2_cry_transcription_ per2_cry_transcription(trans_per2_cry = trans_per2_cry) "per2_cry_transcription" annotation( + Placement(transformation(origin = {130.0, 50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); parameter Real k1d; - Cytoplasm.per2_cry_mRNA_degradation_ per2_cry_mRNA_degradation(k1d=k1d) "per2_cry_mRNA_degradation" annotation(Placement(transformation(origin={130.0,70.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); + Cytoplasm.per2_cry_mRNA_degradation_ per2_cry_mRNA_degradation(k1d = k1d) "per2_cry_mRNA_degradation" annotation( + Placement(transformation(origin = {130.0, 70.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); parameter Real k2b; parameter Real q; - Cytoplasm.per2_cry_complex_formation_ per2_cry_complex_formation(k2b=k2b, q=q) "per2_cry_complex_formation" annotation(Placement(transformation(origin={152.1486,20.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); + Cytoplasm.per2_cry_complex_formation_ per2_cry_complex_formation(k2b = k2b, q = q) "per2_cry_complex_formation" annotation( + Placement(transformation(origin = {152.1486, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); parameter Real k2d; - Cytoplasm.cytoplasmic_per2_cry_complex_degradation_ cytoplasmic_per2_cry_complex_degradation(k2d=k2d) "cytoplasmic_per2_cry_complex_degradation" annotation(Placement(transformation(origin={120.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); + Cytoplasm.cytoplasmic_per2_cry_complex_degradation_ cytoplasmic_per2_cry_complex_degradation(k2d = k2d) "cytoplasmic_per2_cry_complex_degradation" annotation( + Placement(transformation(origin = {120.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); parameter Real k2t; - BioChem.Interfaces.Nodes.SubstanceConnector y3_node annotation(Placement(transformation(origin={190.0,30.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={110.0,30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Cytoplasm.per2_cry_nuclear_import_ per2_cry_nuclear_import(k2t=k2t) "per2_cry_nuclear_import" annotation(Placement(transformation(origin={180.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - BioChem.Interfaces.Nodes.SubstanceConnector y2_node annotation(Placement(transformation(origin={190.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={110.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + BioChem.Interfaces.Nodes.SubstanceConnector y3_node annotation( + Placement(transformation(origin = {190.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.per2_cry_nuclear_import_ per2_cry_nuclear_import(k2t = k2t) "per2_cry_nuclear_import" annotation( + Placement(transformation(origin = {180.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + BioChem.Interfaces.Nodes.SubstanceConnector y2_node annotation( + Placement(transformation(origin = {190.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); input Real trans_Bmal1; - Cytoplasm.Bmal1_transcription_ Bmal1_transcription(trans_Bmal1=trans_Bmal1) "Bmal1_transcription" annotation(Placement(transformation(origin={74.9249,-23.3818}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); + Cytoplasm.Bmal1_transcription_ Bmal1_transcription(trans_Bmal1 = trans_Bmal1) "Bmal1_transcription" annotation( + Placement(transformation(origin = {74.9249, -23.3818}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); parameter Real k4d; - Cytoplasm.Bmal1_mRNA_degradation_ Bmal1_mRNA_degradation(k4d=k4d) "Bmal1_mRNA_degradation" annotation(Placement(transformation(origin={100.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); + Cytoplasm.Bmal1_mRNA_degradation_ Bmal1_mRNA_degradation(k4d = k4d) "Bmal1_mRNA_degradation" annotation( + Placement(transformation(origin = {100.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); parameter Real k5b; - Cytoplasm.BMAL1_translation_ BMAL1_translation(k5b=k5b) "BMAL1_translation" annotation(Placement(transformation(origin={60.0,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); + Cytoplasm.BMAL1_translation_ BMAL1_translation(k5b = k5b) "BMAL1_translation" annotation( + Placement(transformation(origin = {60.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); parameter Real k5d; - Cytoplasm.cytoplasmic_BMAL1_degradation_ cytoplasmic_BMAL1_degradation(k5d=k5d) "cytoplasmic_BMAL1_degradation" annotation(Placement(transformation(origin={60.0,30.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); + Cytoplasm.cytoplasmic_BMAL1_degradation_ cytoplasmic_BMAL1_degradation(k5d = k5d) "cytoplasmic_BMAL1_degradation" annotation( + Placement(transformation(origin = {60.0, 30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); parameter Real k5t; - BioChem.Interfaces.Nodes.SubstanceConnector y6_node annotation(Placement(transformation(origin={190.0,-90.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={110.0,-90.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Cytoplasm.BMAL1_nuclear_import_ BMAL1_nuclear_import(k5t=k5t) "BMAL1_nuclear_import" annotation(Placement(transformation(origin={50.0,-80.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-450))); - BioChem.Interfaces.Nodes.SubstanceConnector y5_node annotation(Placement(transformation(origin={190.0,80.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={110.0,90.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - annotation(Icon(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{0.0,-100.0},{200.0,100.0}}, preserveAspectRatio=true, grid={10,10}))); + BioChem.Interfaces.Nodes.SubstanceConnector y6_node annotation( + Placement(transformation(origin = {190.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, -90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Cytoplasm.BMAL1_nuclear_import_ BMAL1_nuclear_import(k5t = k5t) "BMAL1_nuclear_import" annotation( + Placement(transformation(origin = {50.0, -80.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -450))); + BioChem.Interfaces.Nodes.SubstanceConnector y5_node annotation( + Placement(transformation(origin = {190.0, 80.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); equation - connect(BMAL1_nuclear_import.p1,y6_node) annotation(Line(origin={128.8,-92.4506}, points={{-78.8,1.2006},{-78.8,-3.0509},{48.2,-3.0509},{48.2,2.4506},{61.2,2.4506}}, smooth=Smooth.Bezier)); - connect(y2.n1,y2_node) annotation(Line(origin={169.0149,-25.9149}, points={{-29.0149,4.0851},{8.5,4.0851},{8.5,-4.0851},{20.9851,-4.0851}}, smooth=Smooth.Bezier)); - connect(per2_cry_nuclear_import.p1,y3_node) annotation(Line(origin={183.3333,27.0833}, points={{-3.3333,-5.8333},{-3.3333,2.9167},{6.6667,2.9167}}, smooth=Smooth.Bezier)); - connect(y5.n1,y5_node) annotation(Line(origin={121.75,70.0}, points={{-101.75,-50.0},{-41.75,30.0},{65.25,10.0},{68.25,10.0}}, smooth=Smooth.Bezier)); - connect(y2.n1,per2_cry_nuclear_import.s1) annotation(Line(origin={166.6667,-14.9699}, points={{-26.6667,-6.8599},{13.3333,-6.8599},{13.3333,13.7199}}, smooth=Smooth.Bezier)); - connect(y1.n1,per2_cry_complex_formation.m1) annotation(Line(origin={167.0495,33.3333}, points={{2.9505,26.6667},{2.9505,-13.3333},{-5.9009,-13.3333}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,per2_cry_complex_formation.s1) annotation(Line(origin={120.0594,32.4506}, points={{-30.0594,-2.4506},{-17.0594,-2.4506},{-17.0594,3.0509},{32.0892,3.0509},{32.0892,-1.2006}}, smooth=Smooth.Bezier)); - connect(y2.n1,per2_cry_complex_formation.p1) annotation(Line(origin={146.0743,-1.0207}, points={{-6.0743,-20.8091},{-6.0743,5.5192},{6.0743,5.5192},{6.0743,9.7707}}, smooth=Smooth.Bezier)); - connect(y2.n1,cytoplasmic_per2_cry_complex_degradation.s1) annotation(Line(origin={130.0,-8.5207}, points={{10.0,-13.3091},{10.0,3.0192},{-10.0,3.0192},{-10.0,7.2707}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,cytoplasmic_per2_cry_complex_degradation.p1) annotation(Line(origin={110.0,27.0833}, points={{-20.0,2.9167},{10.0,2.9167},{10.0,-5.8333}}, smooth=Smooth.Bezier)); - connect(y1.n1,per2_cry_transcription.p1) annotation(Line(origin={150.5633,55.0}, points={{19.4367,5.0},{-5.0617,5.0},{-5.0617,-5.0},{-9.3133,-5.0}}, smooth=Smooth.Bezier)); - connect(y1.n1,per2_cry_mRNA_degradation.s1) annotation(Line(origin={150.5633,65.0}, points={{19.4367,-5.0},{-5.0617,-5.0},{-5.0617,5.0},{-9.3133,5.0}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,per2_cry_mRNA_degradation.p1) annotation(Line(origin={99.5833,56.6667}, points={{-9.5833,-26.6667},{-9.5833,13.3333},{19.1667,13.3333}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,per2_cry_transcription.s1) annotation(Line(origin={106.872,42.5}, points={{-16.872,-12.5},{-2.6325,-2.5},{7.6265,7.5},{11.878,7.5}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,BMAL1_translation.s1) annotation(Line(origin={83.75,10.0}, points={{6.25,20.0},{6.25,-10.0},{-12.5,-10.0}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,Bmal1_mRNA_degradation.p1) annotation(Line(origin={95.0,-4.4367}, points={{-5.0,34.4367},{-5.0,-10.0617},{5.0,-10.0617},{5.0,-14.3133}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,Bmal1_transcription.s1) annotation(Line(origin={82.4624,0.5269}, points={{7.5376,29.4731},{7.5376,-8.4072},{-7.5375,-8.4072},{-7.5375,-12.6587}}, smooth=Smooth.Bezier)); - connect(ambientSubstance.n1,cytoplasmic_BMAL1_degradation.p1) annotation(Line(origin={80.625,30.0}, points={{9.375,-0.0},{-9.375,0.0}}, smooth=Smooth.Bezier)); - connect(y5.n1,cytoplasmic_BMAL1_degradation.s1) annotation(Line(origin={39.4367,25.0}, points={{-19.4367,-5.0},{5.0617,-5.0},{5.0617,5.0},{9.3133,5.0}}, smooth=Smooth.Bezier)); - connect(y5.n1,BMAL1_nuclear_import.s1) annotation(Line(origin={35.0,-44.4367}, points={{-15.0,64.4367},{-15.0,-20.0617},{15.0,-20.0617},{15.0,-24.3133}}, smooth=Smooth.Bezier)); - connect(y5.n1,BMAL1_translation.p1) annotation(Line(origin={39.4367,10.0}, points={{-19.4367,10.0},{5.0617,10.0},{5.0617,-10.0},{9.3133,-10.0}}, smooth=Smooth.Bezier)); - connect(y4.n1,BMAL1_translation.m1) annotation(Line(origin={62.4147,-24.2512}, points={{2.4147,-35.7488},{2.4147,10.2487},{-2.4147,10.2487},{-2.4147,15.2512}}, smooth=Smooth.Bezier)); - connect(y4.n1,Bmal1_transcription.p1) annotation(Line(origin={69.8771,-43.0996}, points={{-5.0478,-16.9004},{-5.0478,4.2163},{5.0478,4.2163},{5.0478,8.4678}}, smooth=Smooth.Bezier)); - connect(y4.n1,Bmal1_mRNA_degradation.s1) annotation(Line(origin={88.2764,-53.75}, points={{-23.4471,-6.25},{11.7236,-6.25},{11.7236,12.5}}, smooth=Smooth.Bezier)); + connect(BMAL1_nuclear_import.p1, y6_node) annotation( + Line(origin = {128.8, -92.4506}, points = {{-78.8, 1.2006}, {-78.8, -3.0509}, {48.2, -3.0509}, {48.2, 2.4506}, {61.2, 2.4506}}, smooth = Smooth.Bezier)); + connect(y2.n1, y2_node) annotation( + Line(origin = {169.0149, -25.9149}, points = {{-29.0149, 4.0851}, {8.5, 4.0851}, {8.5, -4.0851}, {20.9851, -4.0851}}, smooth = Smooth.Bezier)); + connect(per2_cry_nuclear_import.p1, y3_node) annotation( + Line(origin = {183.3333, 27.0833}, points = {{-3.3333, -5.8333}, {-3.3333, 2.9167}, {6.6667, 2.9167}}, smooth = Smooth.Bezier)); + connect(y5.n1, y5_node) annotation( + Line(origin = {121.75, 70.0}, points = {{-101.75, -50.0}, {-41.75, 30.0}, {65.25, 10.0}, {68.25, 10.0}}, smooth = Smooth.Bezier)); + connect(y2.n1, per2_cry_nuclear_import.s1) annotation( + Line(origin = {166.6667, -14.9699}, points = {{-26.6667, -6.8599}, {13.3333, -6.8599}, {13.3333, 13.7199}}, smooth = Smooth.Bezier)); + connect(y1.n1, per2_cry_complex_formation.m1) annotation( + Line(origin = {167.0495, 33.3333}, points = {{2.9505, 26.6667}, {2.9505, -13.3333}, {-5.9009, -13.3333}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, per2_cry_complex_formation.s1) annotation( + Line(origin = {120.0594, 32.4506}, points = {{-30.0594, -2.4506}, {-17.0594, -2.4506}, {-17.0594, 3.0509}, {32.0892, 3.0509}, {32.0892, -1.2006}}, smooth = Smooth.Bezier)); + connect(y2.n1, per2_cry_complex_formation.p1) annotation( + Line(origin = {146.0743, -1.0207}, points = {{-6.0743, -20.8091}, {-6.0743, 5.5192}, {6.0743, 5.5192}, {6.0743, 9.7707}}, smooth = Smooth.Bezier)); + connect(y2.n1, cytoplasmic_per2_cry_complex_degradation.s1) annotation( + Line(origin = {130.0, -8.5207}, points = {{10.0, -13.3091}, {10.0, 3.0192}, {-10.0, 3.0192}, {-10.0, 7.2707}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, cytoplasmic_per2_cry_complex_degradation.p1) annotation( + Line(origin = {110.0, 27.0833}, points = {{-20.0, 2.9167}, {10.0, 2.9167}, {10.0, -5.8333}}, smooth = Smooth.Bezier)); + connect(y1.n1, per2_cry_transcription.p1) annotation( + Line(origin = {150.5633, 55.0}, points = {{19.4367, 5.0}, {-5.0617, 5.0}, {-5.0617, -5.0}, {-9.3133, -5.0}}, smooth = Smooth.Bezier)); + connect(y1.n1, per2_cry_mRNA_degradation.s1) annotation( + Line(origin = {150.5633, 65.0}, points = {{19.4367, -5.0}, {-5.0617, -5.0}, {-5.0617, 5.0}, {-9.3133, 5.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, per2_cry_mRNA_degradation.p1) annotation( + Line(origin = {99.5833, 56.6667}, points = {{-9.5833, -26.6667}, {-9.5833, 13.3333}, {19.1667, 13.3333}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, per2_cry_transcription.s1) annotation( + Line(origin = {106.872, 42.5}, points = {{-16.872, -12.5}, {-2.6325, -2.5}, {7.6265, 7.5}, {11.878, 7.5}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, BMAL1_translation.s1) annotation( + Line(origin = {83.75, 10.0}, points = {{6.25, 20.0}, {6.25, -10.0}, {-12.5, -10.0}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, Bmal1_mRNA_degradation.p1) annotation( + Line(origin = {95.0, -4.4367}, points = {{-5.0, 34.4367}, {-5.0, -10.0617}, {5.0, -10.0617}, {5.0, -14.3133}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, Bmal1_transcription.s1) annotation( + Line(origin = {82.4624, 0.5269}, points = {{7.5376, 29.4731}, {7.5376, -8.4072}, {-7.5375, -8.4072}, {-7.5375, -12.6587}}, smooth = Smooth.Bezier)); + connect(ambientSubstance.n1, cytoplasmic_BMAL1_degradation.p1) annotation( + Line(origin = {80.625, 30.0}, points = {{9.375, -0.0}, {-9.375, 0.0}}, smooth = Smooth.Bezier)); + connect(y5.n1, cytoplasmic_BMAL1_degradation.s1) annotation( + Line(origin = {39.4367, 25.0}, points = {{-19.4367, -5.0}, {5.0617, -5.0}, {5.0617, 5.0}, {9.3133, 5.0}}, smooth = Smooth.Bezier)); + connect(y5.n1, BMAL1_nuclear_import.s1) annotation( + Line(origin = {35.0, -44.4367}, points = {{-15.0, 64.4367}, {-15.0, -20.0617}, {15.0, -20.0617}, {15.0, -24.3133}}, smooth = Smooth.Bezier)); + connect(y5.n1, BMAL1_translation.p1) annotation( + Line(origin = {39.4367, 10.0}, points = {{-19.4367, 10.0}, {5.0617, 10.0}, {5.0617, -10.0}, {9.3133, -10.0}}, smooth = Smooth.Bezier)); + connect(y4.n1, BMAL1_translation.m1) annotation( + Line(origin = {62.4147, -24.2512}, points = {{2.4147, -35.7488}, {2.4147, 10.2487}, {-2.4147, 10.2487}, {-2.4147, 15.2512}}, smooth = Smooth.Bezier)); + connect(y4.n1, Bmal1_transcription.p1) annotation( + Line(origin = {69.8771, -43.0996}, points = {{-5.0478, -16.9004}, {-5.0478, 4.2163}, {5.0478, 4.2163}, {5.0478, 8.4678}}, smooth = Smooth.Bezier)); + connect(y4.n1, Bmal1_mRNA_degradation.s1) annotation( + Line(origin = {88.2764, -53.75}, points = {{-23.4471, -6.25}, {11.7236, -6.25}, {11.7236, 12.5}}, smooth = Smooth.Bezier)); + annotation( + Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10})), + Diagram(coordinateSystem(extent = {{0.0, -100.0}, {200.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}))); end Cytoplasm; - - annotation(Documentation(info=" -

    Circadian Oscillator

    - -This example is the modelica version of the model presented in -Modeling feedback loops of the Mammalian circadian oscillator by -Becker-Weimann S, Wolf J, Herzel H, Kramer A. (Biophysical Journal Volume 87 November 2004 3023-3034) - -
    -
    -See -Container - for more documentation and simulation results. -", revisions="")); - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1657,21 +2016,38 @@ See ")); + annotation( + Documentation(info = " +

    Circadian Oscillator

    + +This example is the modelica version of the model presented in +Modeling feedback loops of the Mammalian circadian oscillator by +Becker-Weimann S, Wolf J, Herzel H, Kramer A. (Biophysical Journal Volume 87 November 2004 3023-3034) + +
    +
    +See +Container + for more documentation and simulation results. +", revisions = "")); end CircadianOscillator; package CellDivison "Tyson1991_CellCycle_6var" extends BioChem.Icons.Example; + model cell - extends BioChem.Compartments.MainCompartment(V(start=1)); + extends BioChem.Compartments.MainCompartment(V(start = 1)); import BioChem.Math.*; import BioChem.Constants.*; + model EmptySet_ extends BioChem.Substances.BoundarySubstance; end EmptySet_; model C2_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1684,7 +2060,8 @@ See model CP_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1697,7 +2074,8 @@ See model M_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1711,7 +2089,8 @@ See model pM_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1725,7 +2104,8 @@ See model Y_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1738,7 +2118,8 @@ See model YP_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1751,7 +2132,8 @@ See model YT_ extends BioChem.Substances.SignalSubstance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1764,7 +2146,8 @@ See model CT_ extends BioChem.Substances.SignalSubstance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -1777,7 +2160,12 @@ See model Reaction1_ extends BioChem.Interfaces.Reactions.Ubi; - annotation(__MathCore(RDF=" + parameter Real k6 = 1; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k6 * s1.c; + annotation( + __MathCore(RDF = " @@ -1791,15 +2179,16 @@ See ")); - parameter Real k6=1; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*k6*s1.c; end Reaction1_; model Reaction2_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real k8notP = 1000000.0; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * k8notP; + annotation( + __MathCore(RDF = " @@ -1809,15 +2198,16 @@ See ")); - parameter Real k8notP=1000000.0; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*s1.c*k8notP; end Reaction2_; model Reaction3_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real k9 = 1000; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * k9; + annotation( + __MathCore(RDF = " @@ -1827,15 +2217,16 @@ See ")); - parameter Real k9=1000; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*s1.c*k9; end Reaction3_; model Reaction4_ extends BioChem.Interfaces.Reactions.Bui; - annotation(__MathCore(RDF=" + parameter Real k3 = 200; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * k3 * s2.c; + annotation( + __MathCore(RDF = " @@ -1845,15 +2236,16 @@ See ")); - parameter Real k3=200; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*s1.c*k3*s2.c; end Reaction4_; model Reaction5_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real k5notP = 0; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k5notP * s1.c; + annotation( + __MathCore(RDF = " @@ -1870,15 +2262,16 @@ See ")); - parameter Real k5notP=0; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*k5notP*s1.c; end Reaction5_; model Reaction6_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real k1aa = 0.015; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k1aa; + annotation( + __MathCore(RDF = " @@ -1887,15 +2280,16 @@ See ")); - parameter Real k1aa=0.015; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*k1aa; end Reaction6_; model Reaction7_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real k2 = 0; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k2 * s1.c; + annotation( + __MathCore(RDF = " @@ -1904,15 +2298,16 @@ See ")); - parameter Real k2=0; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*k2*s1.c; end Reaction7_; model Reaction8_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real k7 = 0.6; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * k7 * s1.c; + annotation( + __MathCore(RDF = " @@ -1921,16 +2316,18 @@ See ")); - parameter Real k7=0.6; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*k7*s1.c; end Reaction8_; model Reaction9_ extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - annotation(__MathCore(RDF=" + parameter Real k4 = 180; + parameter Real k4prime = 0.018; + outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; + equation + rr = cell_V * s1.c * (k4prime + k4 * (p1.c / m1.c) ^ 2); + annotation( + __MathCore(RDF = " @@ -1948,14 +2345,92 @@ See
    ")); - parameter Real k4=180; - parameter Real k4prime=0.018; - outer Real cell_V "Variable used to access the volume of an outer compartment. Do not edit."; - equation - rr=cell_V*s1.c*(k4prime + k4*(p1.c/m1.c)^2); end Reaction9_; - annotation(__MathCore(RDF=" + inner Real cell_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + CellDivison.cell.EmptySet_ EmptySet(c(start = 0)) annotation( + Placement(transformation(origin = {10.0, 20.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}))); + CellDivison.cell.C2_ C2(c(start = 0)) "cdc2k" annotation( + Placement(transformation(origin = {20.0, 60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + CellDivison.cell.CP_ CP(c(start = 0.75)) "cdc2k-P" annotation( + Placement(transformation(origin = {80.0, 60.0}, extent = {{-10.0, 10.0}, {10.0, -10.0}}, rotation = -90))); + CellDivison.cell.M_ M(c(start = 0)) "p-cyclin_cdc2" annotation( + Placement(transformation(origin = {-80.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + CellDivison.cell.pM_ pM(c(start = 0.25)) "p-cyclin_cdc2-p" annotation( + Placement(transformation(origin = {-10.0, -50.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + CellDivison.cell.Y_ Y(c(start = 0)) "cyclin" annotation( + Placement(transformation(origin = {20.0, -30.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + CellDivison.cell.YP_ YP(c(start = 0)) "p-cyclin" annotation( + Placement(transformation(origin = {-47.6389, -8.3553}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.YT_ YT(c(start = 0)) "total_cyclin" annotation( + Placement(transformation(origin = {-70.0, 70.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.CT_ CT(c(start = 0)) "total_cdc2" annotation( + Placement(transformation(origin = {-40.0, -60.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.Reaction1_ Reaction1 "cyclin_cdc2k dissociation" annotation( + Placement(transformation(origin = {-70.0, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.Reaction2_ Reaction2 "cdc2k phosphorylation" annotation( + Placement(transformation(origin = {50.0, 90.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.Reaction3_ Reaction3 "cdc2k dephosphorylation" annotation( + Placement(transformation(origin = {50.0, 40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + CellDivison.cell.Reaction4_ Reaction4 "cyclin cdc2k-p association" annotation( + Placement(transformation(origin = {48.1433, -70.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + CellDivison.cell.Reaction5_ Reaction5 "deactivation of cdc2 kinase" annotation( + Placement(transformation(origin = {-45.4898, -80.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + CellDivison.cell.Reaction6_ Reaction6 "cyclin biosynthesis" annotation( + Placement(transformation(origin = {-7.8911, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + CellDivison.cell.Reaction7_ Reaction7 "default degradation of cyclin" annotation( + Placement(transformation(origin = {50.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + CellDivison.cell.Reaction8_ Reaction8 "cdc2 kinase triggered degration of cyclin" annotation( + Placement(transformation(origin = {-30.0, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + CellDivison.cell.Reaction9_ Reaction9 "activation of cdc2 kinase" annotation( + Placement(transformation(origin = {-40.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -180))); + equation + connect(CP.n1, Reaction2.p1) annotation( + Line(origin = {73.75, 80.0}, points = {{6.25, -20.0}, {6.25, 10.0}, {-12.5, 10.0}}, smooth = Smooth.Bezier)); + connect(C2.n1, Reaction2.s1) annotation( + Line(origin = {26.25, 80.0}, points = {{-6.25, -20.0}, {-6.25, 10.0}, {12.5, 10.0}}, smooth = Smooth.Bezier)); + connect(CP.n1, Reaction3.s1) annotation( + Line(origin = {73.75, 46.6667}, points = {{6.25, 13.3333}, {6.25, -6.6667}, {-12.5, -6.6667}}, smooth = Smooth.Bezier)); + connect(CP.n1, Reaction4.s1) annotation( + Line(origin = {66.5716, -26.9367}, points = {{13.4284, 86.9367}, {13.4284, -27.5617}, {-13.4284, -27.5617}, {-13.4284, -31.8133}}, smooth = Smooth.Bezier)); + connect(C2.n1, Reaction3.p1) annotation( + Line(origin = {26.25, 46.6667}, points = {{-6.25, 13.3333}, {-6.25, -6.6667}, {12.5, -6.6667}}, smooth = Smooth.Bezier)); + connect(C2.n1, Reaction1.p1) annotation( + Line(origin = {-36.9367, 42.5}, points = {{56.9367, 17.5}, {-17.5617, 17.5}, {-17.5617, -17.5}, {-21.8133, -17.5}}, smooth = Smooth.Bezier)); + connect(Y.n1, Reaction4.s2) annotation( + Line(origin = {31.5716, -49.4367}, points = {{-11.5716, 19.4367}, {-11.5716, -5.0617}, {11.5716, -5.0617}, {11.5716, -9.3133}}, smooth = Smooth.Bezier)); + connect(pM.n1, Reaction4.p1) annotation( + Line(origin = {18.4573, -70.4506}, points = {{-28.4573, 20.4506}, {-15.4573, 20.4506}, {-15.4573, -15.0509}, {29.686, -15.0509}, {29.686, -10.7994}}, smooth = Smooth.Bezier)); + connect(Y.n1, Reaction7.s1) annotation( + Line(origin = {40.0, -27.0833}, points = {{-20.0, -2.9167}, {10.0, -2.9167}, {10.0, 5.8333}}, smooth = Smooth.Bezier)); + connect(Y.n1, Reaction6.p1) annotation( + Line(origin = {1.4059, -27.0833}, points = {{18.5941, -2.9167}, {-9.297, -2.9167}, {-9.297, 5.8333}}, smooth = Smooth.Bezier)); + connect(M.n1, Reaction1.s1) annotation( + Line(origin = {-82.4506, -4.8}, points = {{2.4506, -25.2}, {2.4506, -12.2}, {-3.0509, -12.2}, {-3.0509, 24.8}, {1.2006, 24.8}}, smooth = Smooth.Bezier)); + connect(M.n1, Reaction5.s1) annotation( + Line(origin = {-72.2466, -63.3333}, points = {{-7.7534, 33.3333}, {-7.7534, -16.6667}, {15.5068, -16.6667}}, smooth = Smooth.Bezier)); + connect(M.n1, Reaction9.p1) annotation( + Line(origin = {-60.5633, -35.0}, points = {{-19.4367, 5.0}, {5.0617, 5.0}, {5.0617, -5.0}, {9.3133, -5.0}}, smooth = Smooth.Bezier)); + connect(pM.n1, Reaction5.p1) annotation( + Line(origin = {-18.0799, -70.0}, points = {{8.0799, 20.0}, {8.0799, -10.0}, {-16.1599, -10.0}}, smooth = Smooth.Bezier)); + connect(pM.n1, Reaction9.s1) annotation( + Line(origin = {-21.9367, -45.0}, points = {{11.9367, -5.0}, {-2.5617, -5.0}, {-2.5617, 5.0}, {-6.8133, 5.0}}, smooth = Smooth.Bezier)); + connect(CT.n1, Reaction9.m1) annotation( + Line(origin = {-40.0, -52.6667}, points = {{0.0, -7.3333}, {0.0, 3.6667}, {0.0, 3.6667}}, smooth = Smooth.Bezier)); + connect(EmptySet.n1, Reaction6.s1) annotation( + Line(origin = {1.0545, 8.0633}, points = {{8.9456, 11.9367}, {8.9456, -2.5617}, {-8.9456, -2.5617}, {-8.9456, -6.8133}}, smooth = Smooth.Bezier)); + connect(EmptySet.n1, Reaction7.p1) annotation( + Line(origin = {36.6667, 13.75}, points = {{-26.6667, 6.25}, {13.3333, 6.25}, {13.3333, -12.5}}, smooth = Smooth.Bezier)); + connect(EmptySet.n1, Reaction8.p1) annotation( + Line(origin = {-11.2, 28.4506}, points = {{21.2, -8.4506}, {8.2, -8.4506}, {8.2, 7.0509}, {-18.8, 7.0509}, {-18.8, 2.7994}}, smooth = Smooth.Bezier)); + connect(YP.n1, Reaction8.s1) annotation( + Line(origin = {-35.8796, -2.6535}, points = {{-11.7593, -5.7018}, {5.8796, -5.7018}, {5.8796, 11.4035}}, smooth = Smooth.Bezier)); + connect(YP.n1, Reaction1.p2) annotation( + Line(origin = {-51.3426, 7.2149}, points = {{3.7037, -15.5702}, {3.7037, 7.7851}, {-7.4074, 7.7851}}, smooth = Smooth.Bezier)); + YT.c = Y.c + YP.c + M.c + pM.c; + CT.c = C2.c + CP.c + M.c + pM.c; + annotation( + __MathCore(RDF = " @@ -1963,7 +2438,9 @@ See - "), experiment(StartTime=0.0, StopTime=100, NumberOfIntervals=-1, Algorithm="dassl", Tolerance=1e-06), Documentation(info=" + "), + experiment(StartTime = 0.0, StopTime = 100, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06), + Documentation(info = "

    CellDivision

    This example is a Modelica version of the model presented in Modeling the cell division cycle: cdc2 and cyclin interactions by John J. Tyson. (Proc. Nati. Acad. Sci. USA Vol. 88, pp. 7328-7332, August 1991 @@ -1989,63 +2466,10 @@ The simulation results are shown in the \"Fig1: -", revisions="")); - inner Real cell_V=V "Variable used to make the compartment volume accessible for inner components. Do not edit."; - CellDivison.cell.EmptySet_ EmptySet(c(start=0)) annotation(Placement(transformation(origin={10.0,20.0}, extent={{-10.0,10.0},{10.0,-10.0}}))); - CellDivison.cell.C2_ C2(c(start=0)) "cdc2k" annotation(Placement(transformation(origin={20.0,60.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - CellDivison.cell.CP_ CP(c(start=0.75)) "cdc2k-P" annotation(Placement(transformation(origin={80.0,60.0}, extent={{-10.0,10.0},{10.0,-10.0}}, rotation=-90))); - CellDivison.cell.M_ M(c(start=0)) "p-cyclin_cdc2" annotation(Placement(transformation(origin={-80.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); - CellDivison.cell.pM_ pM(c(start=0.25)) "p-cyclin_cdc2-p" annotation(Placement(transformation(origin={-10.0,-50.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - CellDivison.cell.Y_ Y(c(start=0)) "cyclin" annotation(Placement(transformation(origin={20.0,-30.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - CellDivison.cell.YP_ YP(c(start=0)) "p-cyclin" annotation(Placement(transformation(origin={-47.6389,-8.3553}, extent={{-10.0,-10.0},{10.0,10.0}}))); - CellDivison.cell.YT_ YT(c(start=0)) "total_cyclin" annotation(Placement(transformation(origin={-70.0,70.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - CellDivison.cell.CT_ CT(c(start=0)) "total_cdc2" annotation(Placement(transformation(origin={-40.0,-60.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - CellDivison.cell.Reaction1_ Reaction1 "cyclin_cdc2k dissociation" annotation(Placement(transformation(origin={-70.0,20.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - CellDivison.cell.Reaction2_ Reaction2 "cdc2k phosphorylation" annotation(Placement(transformation(origin={50.0,90.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - CellDivison.cell.Reaction3_ Reaction3 "cdc2k dephosphorylation" annotation(Placement(transformation(origin={50.0,40.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - CellDivison.cell.Reaction4_ Reaction4 "cyclin cdc2k-p association" annotation(Placement(transformation(origin={48.1433,-70.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); - CellDivison.cell.Reaction5_ Reaction5 "deactivation of cdc2 kinase" annotation(Placement(transformation(origin={-45.4898,-80.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - CellDivison.cell.Reaction6_ Reaction6 "cyclin biosynthesis" annotation(Placement(transformation(origin={-7.8911,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); - CellDivison.cell.Reaction7_ Reaction7 "default degradation of cyclin" annotation(Placement(transformation(origin={50.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - CellDivison.cell.Reaction8_ Reaction8 "cdc2 kinase triggered degration of cyclin" annotation(Placement(transformation(origin={-30.0,20.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - CellDivison.cell.Reaction9_ Reaction9 "activation of cdc2 kinase" annotation(Placement(transformation(origin={-40.0,-40.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-180))); - equation - connect(CP.n1,Reaction2.p1) annotation(Line(origin={73.75,80.0}, points={{6.25,-20.0},{6.25,10.0},{-12.5,10.0}}, smooth=Smooth.Bezier)); - connect(C2.n1,Reaction2.s1) annotation(Line(origin={26.25,80.0}, points={{-6.25,-20.0},{-6.25,10.0},{12.5,10.0}}, smooth=Smooth.Bezier)); - connect(CP.n1,Reaction3.s1) annotation(Line(origin={73.75,46.6667}, points={{6.25,13.3333},{6.25,-6.6667},{-12.5,-6.6667}}, smooth=Smooth.Bezier)); - connect(CP.n1,Reaction4.s1) annotation(Line(origin={66.5716,-26.9367}, points={{13.4284,86.9367},{13.4284,-27.5617},{-13.4284,-27.5617},{-13.4284,-31.8133}}, smooth=Smooth.Bezier)); - connect(C2.n1,Reaction3.p1) annotation(Line(origin={26.25,46.6667}, points={{-6.25,13.3333},{-6.25,-6.6667},{12.5,-6.6667}}, smooth=Smooth.Bezier)); - connect(C2.n1,Reaction1.p1) annotation(Line(origin={-36.9367,42.5}, points={{56.9367,17.5},{-17.5617,17.5},{-17.5617,-17.5},{-21.8133,-17.5}}, smooth=Smooth.Bezier)); - connect(Y.n1,Reaction4.s2) annotation(Line(origin={31.5716,-49.4367}, points={{-11.5716,19.4367},{-11.5716,-5.0617},{11.5716,-5.0617},{11.5716,-9.3133}}, smooth=Smooth.Bezier)); - connect(pM.n1,Reaction4.p1) annotation(Line(origin={18.4573,-70.4506}, points={{-28.4573,20.4506},{-15.4573,20.4506},{-15.4573,-15.0509},{29.686,-15.0509},{29.686,-10.7994}}, smooth=Smooth.Bezier)); - connect(Y.n1,Reaction7.s1) annotation(Line(origin={40.0,-27.0833}, points={{-20.0,-2.9167},{10.0,-2.9167},{10.0,5.8333}}, smooth=Smooth.Bezier)); - connect(Y.n1,Reaction6.p1) annotation(Line(origin={1.4059,-27.0833}, points={{18.5941,-2.9167},{-9.297,-2.9167},{-9.297,5.8333}}, smooth=Smooth.Bezier)); - connect(M.n1,Reaction1.s1) annotation(Line(origin={-82.4506,-4.8}, points={{2.4506,-25.2},{2.4506,-12.2},{-3.0509,-12.2},{-3.0509,24.8},{1.2006,24.8}}, smooth=Smooth.Bezier)); - connect(M.n1,Reaction5.s1) annotation(Line(origin={-72.2466,-63.3333}, points={{-7.7534,33.3333},{-7.7534,-16.6667},{15.5068,-16.6667}}, smooth=Smooth.Bezier)); - connect(M.n1,Reaction9.p1) annotation(Line(origin={-60.5633,-35.0}, points={{-19.4367,5.0},{5.0617,5.0},{5.0617,-5.0},{9.3133,-5.0}}, smooth=Smooth.Bezier)); - connect(pM.n1,Reaction5.p1) annotation(Line(origin={-18.0799,-70.0}, points={{8.0799,20.0},{8.0799,-10.0},{-16.1599,-10.0}}, smooth=Smooth.Bezier)); - connect(pM.n1,Reaction9.s1) annotation(Line(origin={-21.9367,-45.0}, points={{11.9367,-5.0},{-2.5617,-5.0},{-2.5617,5.0},{-6.8133,5.0}}, smooth=Smooth.Bezier)); - connect(CT.n1,Reaction9.m1) annotation(Line(origin={-40.0,-52.6667}, points={{0.0,-7.3333},{0.0,3.6667},{0.0,3.6667}}, smooth=Smooth.Bezier)); - connect(EmptySet.n1,Reaction6.s1) annotation(Line(origin={1.0545,8.0633}, points={{8.9456,11.9367},{8.9456,-2.5617},{-8.9456,-2.5617},{-8.9456,-6.8133}}, smooth=Smooth.Bezier)); - connect(EmptySet.n1,Reaction7.p1) annotation(Line(origin={36.6667,13.75}, points={{-26.6667,6.25},{13.3333,6.25},{13.3333,-12.5}}, smooth=Smooth.Bezier)); - connect(EmptySet.n1,Reaction8.p1) annotation(Line(origin={-11.2,28.4506}, points={{21.2,-8.4506},{8.2,-8.4506},{8.2,7.0509},{-18.8,7.0509},{-18.8,2.7994}}, smooth=Smooth.Bezier)); - connect(YP.n1,Reaction8.s1) annotation(Line(origin={-35.8796,-2.6535}, points={{-11.7593,-5.7018},{5.8796,-5.7018},{5.8796,11.4035}}, smooth=Smooth.Bezier)); - connect(YP.n1,Reaction1.p2) annotation(Line(origin={-51.3426,7.2149}, points={{3.7037,-15.5702},{3.7037,7.7851},{-7.4074,7.7851}}, smooth=Smooth.Bezier)); - YT.c=Y.c + YP.c + M.c + pM.c; - CT.c=C2.c + CP.c + M.c + pM.c; +", revisions = "")); end cell; - - annotation(Documentation(info=" -

    CellDivision

    -This example is a Modelica version of the model presented in Modeling the cell division cycle: cdc2 and cyclin interactions by John J. Tyson. (Proc. Nati. Acad. Sci. USA -Vol. 88, pp. 7328-7332, August 1991 -Cell Biology).

    - -See -cell - for more documentation and simulation results. -", revisions="")); - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -2105,17 +2529,31 @@ See ")); + annotation( + Documentation(info = " +

    CellDivision

    +This example is a Modelica version of the model presented in Modeling the cell division cycle: cdc2 and cyclin interactions by John J. Tyson. (Proc. Nati. Acad. Sci. USA +Vol. 88, pp. 7328-7332, August 1991 +Cell Biology).

    + +See +cell + for more documentation and simulation results. +", revisions = "")); end CellDivison; package CaOscillations "Oxhamre2005_Ca_oscillation" extends BioChem.Icons.Example; + model Cytosol - extends BioChem.Compartments.MainCompartment(V(start=1)); + extends BioChem.Compartments.MainCompartment(V(start = 1)); import BioChem.Math.*; import BioChem.Constants.*; + model Ca_Cyt_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -2128,7 +2566,12 @@ See model Jpump_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real Fpump_0 = 2; + parameter Real Kpump = 0.1; + equation + rr = Fpump_0 * s1.c / (Kpump + s1.c); + annotation( + __MathCore(RDF = " @@ -2138,13 +2581,42 @@ See ")); - parameter Real Fpump_0=2; - parameter Real Kpump=0.1; - equation - rr=Fpump_0*s1.c/(Kpump + s1.c); end Jpump_; - annotation(__MathCore(RDF=" + Endoplasmic_Reticulum endoplasmicReticulum(p1_sbml = p1_sbml, p2_sbml = p2_sbml, p3_sbml = p3_sbml) annotation( + Placement(transformation(origin = {-28.4357, 20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + inner Real Cytosol_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + inner Real Endoplasmic_Reticulum_V = endoplasmicReticulum.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; + Cytosol.Ca_Cyt_ Ca_Cyt(c(start = 0)) annotation( + Placement(transformation(origin = {-10.0, -40.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Real n_sbml(start = 1); + parameter Real n0 = 1; + parameter Real kbN = 0.5; + parameter Real kappa = 5; + Real p1_sbml(start = 0); + parameter Real p11 = 0.2; + parameter Real p12 = 0.8; + parameter Real K1 = 5; + Real p2_sbml(start = 0); + parameter Real K2 = 0.7; + Real p3_sbml(start = 0.95); + parameter Real k31 = 0.5; + parameter Real K3 = 0.7; + Cytosol.Jpump_ Jpump annotation( + Placement(transformation(origin = {50.0, -10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + equation + connect(Ca_Cyt.n1, endoplasmicReticulum.Ca_Cyt_node) annotation( + Line(origin = {-29.2619, -10.8}, points = {{19.2619, -29.2}, {19.2619, -16.2}, {-14.175, -16.2}, {-14.175, 30.8}, {-10.1738, 30.8}}, smooth = Smooth.Bezier)); + connect(endoplasmicReticulum.CaER_node, Jpump.p1) annotation( + Line(origin = {27.5214, 13.75}, points = {{-44.9571, 6.25}, {22.4786, 6.25}, {22.4786, -12.5}}, smooth = Smooth.Bezier)); + connect(Ca_Cyt.n1, Jpump.s1) annotation( + Line(origin = {30.0, -33.75}, points = {{-40.0, -6.25}, {20.0, -6.25}, {20.0, 12.5}}, smooth = Smooth.Bezier)); + n_sbml = n0 * (exp((-kbN) * time) + kappa * (1 - exp((-kbN) * time))); + p1_sbml = p11 + p12 * n_sbml / (K1 + n_sbml); + p2_sbml = Ca_Cyt.c / (K2 + Ca_Cyt.c); + der(p3_sbml) = (-k31 * Ca_Cyt.c * p3_sbml) + k31 * K3 * (1 - p3_sbml); + annotation( + __MathCore(RDF = " @@ -2152,7 +2624,9 @@ See - "), experiment(StartTime=0.0, StopTime=120, NumberOfIntervals=-1, Algorithm="dassl", Tolerance=1e-06), Documentation(info=" + "), + experiment(StartTime = 0.0, StopTime = 120, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06), + Documentation(info = "

    Ca Oscillations

    This example is a Modelica version of the model presented in A Minimal Generic Model of Bacteria-Induced Intracellular Ca2+ Oscillations in Epithelial Cells by Camilla Oxhamre, Agneta Richter-Dahlfors, Vladimir P. Zhdanov, and Bengt Kasemoy. (Biophysical Journal Volume 88 April 2005 2976-2981) @@ -2172,42 +2646,18 @@ The simulation results are shown in the \"Fig1: -", revisions="")); - Endoplasmic_Reticulum endoplasmicReticulum(p1_sbml=p1_sbml, p2_sbml=p2_sbml, p3_sbml=p3_sbml) annotation(Placement(transformation(origin={-28.4357,20.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - inner Real Cytosol_V=V "Variable used to make the compartment volume accessible for inner components. Do not edit."; - inner Real Endoplasmic_Reticulum_V=endoplasmicReticulum.V "Variable used to make the compartment volume of inner compartments accessible. Do not edit."; - Cytosol.Ca_Cyt_ Ca_Cyt(c(start=0)) annotation(Placement(transformation(origin={-10.0,-40.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Real n_sbml(start=1); - parameter Real n0=1; - parameter Real kbN=0.5; - parameter Real kappa=5; - Real p1_sbml(start=0); - parameter Real p11=0.2; - parameter Real p12=0.8; - parameter Real K1=5; - Real p2_sbml(start=0); - parameter Real K2=0.7; - Real p3_sbml(start=0.95); - parameter Real k31=0.5; - parameter Real K3=0.7; - Cytosol.Jpump_ Jpump annotation(Placement(transformation(origin={50.0,-10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - equation - connect(Ca_Cyt.n1,endoplasmicReticulum.Ca_Cyt_node) annotation(Line(origin={-29.2619,-10.8}, points={{19.2619,-29.2},{19.2619,-16.2},{-14.175,-16.2},{-14.175,30.8},{-10.1738,30.8}}, smooth=Smooth.Bezier)); - connect(endoplasmicReticulum.CaER_node,Jpump.p1) annotation(Line(origin={27.5214,13.75}, points={{-44.9571,6.25},{22.4786,6.25},{22.4786,-12.5}}, smooth=Smooth.Bezier)); - connect(Ca_Cyt.n1,Jpump.s1) annotation(Line(origin={30.0,-33.75}, points={{-40.0,-6.25},{20.0,-6.25},{20.0,12.5}}, smooth=Smooth.Bezier)); - n_sbml=n0*(exp((-kbN)*time) + kappa*(1 - exp((-kbN)*time))); - p1_sbml=p11 + p12*n_sbml/(K1 + n_sbml); - p2_sbml=Ca_Cyt.c/(K2 + Ca_Cyt.c); - der(p3_sbml)=-k31*Ca_Cyt.c*p3_sbml + k31*K3*(1 - p3_sbml); +", revisions = "")); end Cytosol; model Endoplasmic_Reticulum - extends BioChem.Compartments.Compartment(V(start=1)); + extends BioChem.Compartments.Compartment(V(start = 1)); import BioChem.Math.*; import BioChem.Constants.*; + model CaER_ extends BioChem.Substances.Substance; - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -2220,7 +2670,14 @@ The simulation results are shown in the model Jch_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real Fch_0 = 8; + input Real p1_sbml; + input Real p2_sbml; + input Real p3_sbml; + equation + rr = Fch_0 * p1_sbml * p2_sbml * p3_sbml; + annotation( + __MathCore(RDF = " @@ -2230,17 +2687,15 @@ The simulation results are shown in the ")); - parameter Real Fch_0=8; - input Real p1_sbml; - input Real p2_sbml; - input Real p3_sbml; - equation - rr=Fch_0*p1_sbml*p2_sbml*p3_sbml; end Jch_; model Jleak_ extends BioChem.Interfaces.Reactions.Uui; - annotation(__MathCore(RDF=" + parameter Real Fleak = 0.5; + equation + rr = Fleak; + annotation( + __MathCore(RDF = " @@ -2250,12 +2705,35 @@ The simulation results are shown in the ")); - parameter Real Fleak=0.5; - equation - rr=Fleak; end Jleak_; - annotation(__MathCore(RDF=" + inner Real Endoplasmic_Reticulum_V = V "Variable used to make the compartment volume accessible for inner components. Do not edit."; + Endoplasmic_Reticulum.CaER_ CaER(c(start = 0)) annotation( + Placement(transformation(origin = {10.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -540))); + input Real p1_sbml; + input Real p2_sbml; + input Real p3_sbml; + BioChem.Interfaces.Nodes.SubstanceConnector Ca_Cyt_node annotation( + Placement(transformation(origin = {-90.0, 10.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {-110.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + Endoplasmic_Reticulum.Jch_ Jch(p1_sbml = p1_sbml, p2_sbml = p2_sbml, p3_sbml = p3_sbml) annotation( + Placement(transformation(origin = {-80.0, -20.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -270))); + Endoplasmic_Reticulum.Jleak_ Jleak annotation( + Placement(transformation(origin = {-80.0, 43.7135}, extent = {{-10.0, -10.0}, {10.0, 10.0}}, rotation = -90))); + BioChem.Interfaces.Nodes.SubstanceConnector CaER_node annotation( + Placement(transformation(origin = {90.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}), iconTransformation(origin = {110.0, 0.0}, extent = {{-10.0, -10.0}, {10.0, 10.0}}))); + equation + connect(Jleak.p1, Ca_Cyt_node) annotation( + Line(origin = {-85.0, 22.1159}, points = {{5.0, 10.3476}, {5.0, 0.8841}, {-5.0, 0.8841}, {-5.0, -12.1159}}, smooth = Smooth.Bezier)); + connect(Jch.p1, Ca_Cyt_node) annotation( + Line(origin = {-85.0, -1.1875}, points = {{5.0, -7.5625}, {5.0, -1.8125}, {-5.0, -1.8125}, {-5.0, 11.1875}}, smooth = Smooth.Bezier)); + connect(CaER.n1, CaER_node) annotation( + Line(origin = {63.5, 5.0}, points = {{-53.5, 5.0}, {13.5, 5.0}, {13.5, -5.0}, {26.5, -5.0}}, smooth = Smooth.Bezier)); + connect(CaER.n1, Jleak.s1) annotation( + Line(origin = {-31.2, 38.6787}, points = {{41.2, -28.6787}, {28.2, -28.6787}, {28.2, 20.5363}, {-48.8, 20.5363}, {-48.8, 16.2848}}, smooth = Smooth.Bezier)); + connect(CaER.n1, Jch.s1) annotation( + Line(origin = {-31.2, -16.4506}, points = {{41.2, 26.4506}, {28.2, 26.4506}, {28.2, -19.0509}, {-48.8, -19.0509}, {-48.8, -14.7994}}, smooth = Smooth.Bezier)); + annotation( + __MathCore(RDF = " @@ -2264,33 +2742,9 @@ The simulation results are shown in the ")); - inner Real Endoplasmic_Reticulum_V=V "Variable used to make the compartment volume accessible for inner components. Do not edit."; - Endoplasmic_Reticulum.CaER_ CaER(c(start=0)) annotation(Placement(transformation(origin={10.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-540))); - input Real p1_sbml; - input Real p2_sbml; - input Real p3_sbml; - BioChem.Interfaces.Nodes.SubstanceConnector Ca_Cyt_node annotation(Placement(transformation(origin={-90.0,10.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={-110.0,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - Endoplasmic_Reticulum.Jch_ Jch(p1_sbml=p1_sbml, p2_sbml=p2_sbml, p3_sbml=p3_sbml) annotation(Placement(transformation(origin={-80.0,-20.0}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-270))); - Endoplasmic_Reticulum.Jleak_ Jleak annotation(Placement(transformation(origin={-80.0,43.7135}, extent={{-10.0,-10.0},{10.0,10.0}}, rotation=-90))); - BioChem.Interfaces.Nodes.SubstanceConnector CaER_node annotation(Placement(transformation(origin={90.0,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}), iconTransformation(origin={110.0,0.0}, extent={{-10.0,-10.0},{10.0,10.0}}))); - equation - connect(Jleak.p1,Ca_Cyt_node) annotation(Line(origin={-85.0,22.1159}, points={{5.0,10.3476},{5.0,0.8841},{-5.0,0.8841},{-5.0,-12.1159}}, smooth=Smooth.Bezier)); - connect(Jch.p1,Ca_Cyt_node) annotation(Line(origin={-85.0,-1.1875}, points={{5.0,-7.5625},{5.0,-1.8125},{-5.0,-1.8125},{-5.0,11.1875}}, smooth=Smooth.Bezier)); - connect(CaER.n1,CaER_node) annotation(Line(origin={63.5,5.0}, points={{-53.5,5.0},{13.5,5.0},{13.5,-5.0},{26.5,-5.0}}, smooth=Smooth.Bezier)); - connect(CaER.n1,Jleak.s1) annotation(Line(origin={-31.2,38.6787}, points={{41.2,-28.6787},{28.2,-28.6787},{28.2,20.5363},{-48.8,20.5363},{-48.8,16.2848}}, smooth=Smooth.Bezier)); - connect(CaER.n1,Jch.s1) annotation(Line(origin={-31.2,-16.4506}, points={{41.2,26.4506},{28.2,26.4506},{28.2,-19.0509},{-48.8,-19.0509},{-48.8,-14.7994}}, smooth=Smooth.Bezier)); end Endoplasmic_Reticulum; - - annotation(Documentation(info=" -

    Ca Oscillations

    -This example is a Modelica version of the model presented in A Minimal Generic Model of Bacteria-Induced Intracellular Ca2+ -Oscillations in Epithelial Cells by Camilla Oxhamre, Agneta Richter-Dahlfors, Vladimir P. Zhdanov, and Bengt Kasemoy. (Biophysical Journal Volume 88 April 2005 2976-2981).

    - -See -Cytosol - for more documentation and simulation results. -", revisions="")); - annotation(__MathCore(RDF=" + annotation( + __MathCore(RDF = " @@ -2336,24 +2790,88 @@ See ")); + annotation( + Documentation(info = " +

    Ca Oscillations

    +This example is a Modelica version of the model presented in A Minimal Generic Model of Bacteria-Induced Intracellular Ca2+ +Oscillations in Epithelial Cells by Camilla Oxhamre, Agneta Richter-Dahlfors, Vladimir P. Zhdanov, and Bengt Kasemoy. (Biophysical Journal Volume 88 April 2005 2976-2981).

    + +See +Cytosol + for more documentation and simulation results. +", revisions = "")); end CaOscillations; package GlucoseInsulinModel extends BioChem.Icons.Example; - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10})), Documentation(info=" -

    A Whole Body Model of the Glucose Insulin System

    - -This model is presented in Hierarchical modeling of diabetes by -Elin Nyman, ISRN:LiU-IKE-EX-09/14. Linköping University 2009.

    - -See -GlucoseInsulinModel - for more documentation and simulation results. -", revisions="")); model GlucoseInsulinModel - extends BioChem.Compartments.MainCompartment(V.start=1.0); - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(origin={-39.6875,-1.36711}, fillColor={255,0,0}, pattern=LinePattern.None, fillPattern=FillPattern.Solid, extent={{-55.2911,-15.5929},{55.2911,15.5929}}),Rectangle(origin={-57.5522,-75}, fillColor={128,0,0}, pattern=LinePattern.None, fillPattern=FillPattern.Solid, extent={{-40.931,-15},{40.931,15}}),Rectangle(origin={-40.7051,-45.0134}, fillColor={128,0,0}, pattern=LinePattern.None, fillPattern=FillPattern.Solid, extent={{-24.0839,-16.859},{24.0839,16.859}}),Rectangle(origin={17.3745,60}, fillColor={255,170,127}, pattern=LinePattern.None, fillPattern=FillPattern.Solid, extent={{-35,-18.3307},{35,18.3307}}),Rectangle(origin={70,58.6765}, fillColor={255,170,127}, pattern=LinePattern.None, fillPattern=FillPattern.Solid, extent={{-20,-38.6765},{20,38.6765}}),Line(origin={100,-55.25}, points={{-8.26,0},{8.26,0}}, color={0,0,128}, thickness=1),Text(origin={126.135,-55.59}, fillPattern=FillPattern.Solid, extent={{-15.6548,-4.41},{15.6548,4.41}}, textString="Glucose flow", fontName="Arial"),Line(origin={100,-66.03}, points={{-8.26,0},{8.26,0}}, color={0,0,255}, pattern=LinePattern.Dash),Line(origin={100,-85.28}, points={{-8.26,0},{8.26,0}}, color={255,0,255}, pattern=LinePattern.Dash),Line(origin={100,-75.36}, points={{-8.26,0},{8.26,0}}, color={128,0,128}, thickness=1),Text(origin={128.34,-65.59}, fillPattern=FillPattern.Solid, extent={{-17.8596,-4.41},{17.8596,4.41}}, textString="Glucose signal", fontName="Arial"),Text(origin={124.953,-75.59}, fillPattern=FillPattern.Solid, extent={{-13.3507,-4.41},{13.3507,4.41}}, textString="Insulin flow", fontName="Arial"),Text(origin={126.987,-85.59}, fillPattern=FillPattern.Solid, extent={{-15.3871,-4.41},{15.3871,4.41}}, textString="Insulin signal", fontName="Arial")}), experiment(StartTime=0.0, StopTime=420, NumberOfIntervals=-1, Algorithm="dassl", Tolerance=1e-06), Documentation(info=" + extends BioChem.Compartments.MainCompartment(V.start = 1.0); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.GastroIntestinalTract GastroIntestinalTract annotation( + Placement(transformation(origin = {-50, 80}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.TissueGlucose TissueGlucose annotation( + Placement(transformation(origin = {0, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.GlucoseRenalExcretion GlucoseRenalExcretion annotation( + Placement(transformation(origin = {125.793, -4.74893}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.PlasmaGlucose PlasmaGlucose annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.PlasmaInsulin PlasmaInsulin annotation( + Placement(transformation(origin = {-80, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.UtilizationMuscleTissue UtilizationMuscleTissue annotation( + Placement(transformation(origin = {70, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ReversibleFlowReaction k_1_k_2(k_1 = 0.065, k_2 = 0.079) annotation( + Placement(transformation(origin = {0, 30}, extent = {{-6.52644, -6.52644}, {6.52644, 6.52644}}, rotation = -270))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.LiverInsulin LiverInsulin annotation( + Placement(transformation(origin = {-80, -73.9076}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.EndogenousGlucoseProduction EndogenousGlucoseProduction annotation( + Placement(transformation(origin = {-40, -45.0779}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ReversibleFlowReaction m_1_m_2(k_2 = 0.484, k_1 = 0.19) annotation( + Placement(transformation(origin = {-80, -36.3608}, extent = {{-6.36084, 6.36084}, {6.36084, -6.36084}}, rotation = 90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.BetaCell BetaCell annotation( + Placement(transformation(origin = {23.4019, -74.2468}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.AdiposeTissue.AdiposeTissue adiposeTissue1 annotation( + Placement(transformation(origin = {70, 80}, extent = {{-10, -10}, {10, 10}}))); + equation + connect(UtilizationMuscleTissue.I_connector, PlasmaInsulin.I_signal_connector) annotation( + Line(origin = {-35.44, 35.5}, points = {{94.44, 12.857}, {55.44, 12.86}, {48.33, 64.5}, {-52.076, 70.3333}, {-34.56, 6.90118}, {-26.6353, -15.5}, {-24.56, -41.27}, {-33.56, -41.27}, {-33.56, -41.182}}, color = {255, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(adiposeTissue1.I_connector, PlasmaInsulin.I_signal_connector) annotation( + Line(origin = {-42.08, 44.79}, points = {{101.078, 43.5978}, {58.03, 43.6}, {12.08, 61.3825}, {-41.3655, 52.9023}, {-34.2421, 19.3206}, {-23.7266, -12.2259}, {-17.92, -36.99}, {-17.92, -47.1645}, {-19.65, -50.22}, {-26.92, -50.22}, {-26.9223, -50.4722}}, color = {255, 0, 255}, pattern = LinePattern.Dash, smooth = Smooth.Bezier)); + connect(TissueGlucose.U_idf_connector, adiposeTissue1.G_t_connector) annotation( + Line(origin = {38.75, 76.58}, points = {{-27.75, -10.58}, {-8.75, 3.42}, {16.25, 3.58}, {20.25, 3.58}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.None, Arrow.Filled}, smooth = Smooth.Bezier)); + connect(BetaCell.G_connector, PlasmaGlucose.G_signal_connector) annotation( + Line(origin = {-0.71, -20.49}, points = {{24.11, -42.76}, {22.75, -9.7}, {-17.27, -9.7}, {-17.27, 20.49}, {-10.29, 20.68}}, color = {0, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(BetaCell.G_p_connector, PlasmaGlucose.G_p_connector) annotation( + Line(origin = {3.93, -21.62}, points = {{26.99, -41.63}, {26.31, -4.5}, {-18.85, -4.5}, {-18.85, 14.62}, {-14.93, 14.62}}, color = {0, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(GlucoseRenalExcretion.G_p_connector, PlasmaGlucose.G_p_connector) annotation( + Line(origin = {37.56, -14.05}, points = {{77.23, 0.94}, {56.28, -11.35}, {-17.56, -11.35}, {-52.49, -11.35}, {-52.49, 7.6}, {-48.56, 7.6}, {-48.56, 7.05}}, color = {0, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(PlasmaGlucose.G_p_connector, EndogenousGlucoseProduction.G_p_connector) annotation( + Line(origin = {-30.33, -16.03}, points = {{19.33, 9.03}, {-9.67, 9.03}, {-9.67, -18.05}}, color = {0, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.None, Arrow.Open}, smooth = Smooth.Bezier)); + connect(EndogenousGlucoseProduction.I_po_connector, BetaCell.I_po_connector) annotation( + Line(origin = {1.27, -51.13}, points = {{-30.27, 6.06}, {15.13, 6.06}, {15.13, -12.11}}, color = {255, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(EndogenousGlucoseProduction.I_connector, PlasmaInsulin.I_signal_connector) annotation( + Line(origin = {-54.49, -15.15}, points = {{7.26, -18.93}, {7.26, 9.47}, {-14.51, 9.47}}, color = {255, 0, 255}, pattern = LinePattern.Dash, arrow = {Arrow.Open, Arrow.None}, smooth = Smooth.Bezier)); + connect(TissueGlucose.U_idm_connector, UtilizationMuscleTissue.G_t_connector) annotation( + Line(origin = {45, 46.91}, points = {{-34, 6.74021}, {-12.0967, -6.91}, {10, -6.74}, {14, -6.748}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.None, Arrow.Filled}, smooth = Smooth.Bezier)); + connect(LiverInsulin.S_connector, BetaCell.S_connector) annotation( + Line(origin = {-9.95, -74.17}, points = {{-59.05, 0.07}, {18.35, 0.07}, {18.35, -0.07}, {22.35, -0.07}}, color = {128, 0, 128}, thickness = 1, arrow = {Arrow.Filled, Arrow.None}, smooth = Smooth.Bezier)); + connect(PlasmaGlucose.EGP_connector, EndogenousGlucoseProduction.EGP_connector) annotation( + Line(origin = {-19.75, -20.03}, points = {{19.58, 9.03}, {19.58, 0.03}, {-10.25, 0.03}, {-13.15, -4.55}, {-12.87, -14.05}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.Filled, Arrow.None}, smooth = Smooth.Bezier)); + connect(PlasmaGlucose.E_connector, GlucoseRenalExcretion.productConnector1) annotation( + Line(origin = {86.84, -4.8}, points = {{-75.84, -0.05}, {23.95, -0.05}, {23.95, 0.05}, {27.95, 0.05}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.None, Arrow.Filled}, smooth = Smooth.Bezier)); + connect(PlasmaGlucose.Ra_connector, GastroIntestinalTract.Ra_connector) annotation( + Line(origin = {-28.9, 31.7}, points = {{21.1, -20.7}, {21.1, -8.3}, {-21.1, -8.3}, {-21.1, 37.3}}, color = {0, 0, 128}, thickness = 1, arrow = {Arrow.Filled, Arrow.None}, smooth = Smooth.Bezier)); + connect(m_1_m_2.p1, PlasmaInsulin.I_connector) annotation( + Line(origin = {-80, -20.1024}, points = {{0, -9.10245}, {0, 9.10245}}, color = {128, 0, 128}, thickness = 1, smooth = Smooth.Bezier)); + connect(m_1_m_2.s1, LiverInsulin.I_connector) annotation( + Line(origin = {-80, -53.2122}, points = {{0, 9.6954}, {0, -9.6954}}, color = {128, 0, 128}, thickness = 1, smooth = Smooth.Bezier)); + connect(k_1_k_2.p1, TissueGlucose.G_connector) annotation( + Line(origin = {0, 43.17}, points = {{0, -5.83}, {0, 5.83}}, color = {0, 0, 128}, thickness = 1, smooth = Smooth.Bezier)); + connect(k_1_k_2.s1, PlasmaGlucose.G_connector) annotation( + Line(origin = {0, 16.83}, points = {{0, 5.83}, {0, -5.83}}, color = {0, 0, 128}, thickness = 1, smooth = Smooth.Bezier)); + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Rectangle(origin = {-39.6875, -1.36711}, fillColor = {255, 0, 0}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-55.2911, -15.5929}, {55.2911, 15.5929}}), Rectangle(origin = {-57.5522, -75}, fillColor = {128, 0, 0}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-40.931, -15}, {40.931, 15}}), Rectangle(origin = {-40.7051, -45.0134}, fillColor = {128, 0, 0}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-24.0839, -16.859}, {24.0839, 16.859}}), Rectangle(origin = {17.3745, 60}, fillColor = {255, 170, 127}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-35, -18.3307}, {35, 18.3307}}), Rectangle(origin = {70, 58.6765}, fillColor = {255, 170, 127}, pattern = LinePattern.None, fillPattern = FillPattern.Solid, extent = {{-20, -38.6765}, {20, 38.6765}}), Line(origin = {100, -55.25}, points = {{-8.26, 0}, {8.26, 0}}, color = {0, 0, 128}, thickness = 1), Text(origin = {126.135, -55.59}, fillPattern = FillPattern.Solid, extent = {{-15.6548, -4.41}, {15.6548, 4.41}}, textString = "Glucose flow", fontName = "Arial"), Line(origin = {100, -66.03}, points = {{-8.26, 0}, {8.26, 0}}, color = {0, 0, 255}, pattern = LinePattern.Dash), Line(origin = {100, -85.28}, points = {{-8.26, 0}, {8.26, 0}}, color = {255, 0, 255}, pattern = LinePattern.Dash), Line(origin = {100, -75.36}, points = {{-8.26, 0}, {8.26, 0}}, color = {128, 0, 128}, thickness = 1), Text(origin = {128.34, -65.59}, fillPattern = FillPattern.Solid, extent = {{-17.8596, -4.41}, {17.8596, 4.41}}, textString = "Glucose signal", fontName = "Arial"), Text(origin = {124.953, -75.59}, fillPattern = FillPattern.Solid, extent = {{-13.3507, -4.41}, {13.3507, 4.41}}, textString = "Insulin flow", fontName = "Arial"), Text(origin = {126.987, -85.59}, fillPattern = FillPattern.Solid, extent = {{-15.3871, -4.41}, {15.3871, 4.41}}, textString = "Insulin signal", fontName = "Arial")}), + experiment(StartTime = 0.0, StopTime = 420, NumberOfIntervals = -1, Algorithm = "dassl", Tolerance = 1e-06), + Documentation(info = "

    A Whole Body Model of the Glucose Insulin System

    This model is presented in Hierarchical modeling of diabetes by @@ -2386,430 +2904,609 @@ The simulation results of the whole body level are shown in the -", revisions="")); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.GastroIntestinalTract GastroIntestinalTract annotation(Placement(transformation(origin={-50,80}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.TissueGlucose TissueGlucose annotation(Placement(transformation(origin={0,60}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.GlucoseRenalExcretion GlucoseRenalExcretion annotation(Placement(transformation(origin={125.793,-4.74893}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.PlasmaGlucose PlasmaGlucose annotation(Placement(transformation(extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.PlasmaInsulin PlasmaInsulin annotation(Placement(transformation(origin={-80,0}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.UtilizationMuscleTissue UtilizationMuscleTissue annotation(Placement(transformation(origin={70,40}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ReversibleFlowReaction k_1_k_2(k_1=0.065, k_2=0.079) annotation(Placement(transformation(origin={0,30}, extent={{-6.52644,-6.52644},{6.52644,6.52644}}, rotation=-270))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.LiverInsulin LiverInsulin annotation(Placement(transformation(origin={-80,-73.9076}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.EndogenousGlucoseProduction EndogenousGlucoseProduction annotation(Placement(transformation(origin={-40,-45.0779}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ReversibleFlowReaction m_1_m_2(k_2=0.484, k_1=0.19) annotation(Placement(transformation(origin={-80,-36.3608}, extent={{-6.36084,6.36084},{6.36084,-6.36084}}, rotation=90))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.BetaCell BetaCell annotation(Placement(transformation(origin={23.4019,-74.2468}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.AdiposeTissue.AdiposeTissue adiposeTissue1 annotation(Placement(transformation(origin={70,80}, extent={{-10,-10},{10,10}}))); - equation - connect(UtilizationMuscleTissue.I_connector,PlasmaInsulin.I_signal_connector) annotation(Line(origin={-35.44,35.5}, points={{94.44,12.857},{55.44,12.86},{48.33,64.5},{-52.076,70.3333},{-34.56,6.90118},{-26.6353,-15.5},{-24.56,-41.27},{-33.56,-41.27},{-33.56,-41.182}}, color={255,0,255}, pattern=LinePattern.Dash, arrow={Arrow.Open,Arrow.None}, smooth=Smooth.Bezier)); - connect(adiposeTissue1.I_connector,PlasmaInsulin.I_signal_connector) annotation(Line(origin={-42.08,44.79}, points={{101.078,43.5978},{58.03,43.6},{12.08,61.3825},{-41.3655,52.9023},{-34.2421,19.3206},{-23.7266,-12.2259},{-17.92,-36.99},{-17.92,-47.1645},{-19.65,-50.22},{-26.92,-50.22},{-26.9223,-50.4722}}, color={255,0,255}, pattern=LinePattern.Dash, smooth=Smooth.Bezier)); - connect(TissueGlucose.U_idf_connector,adiposeTissue1.G_t_connector) annotation(Line(origin={38.75,76.58}, points={{-27.75,-10.58},{-8.75,3.42},{16.25,3.58},{20.25,3.58}}, color={0,0,128}, thickness=1, arrow={Arrow.None,Arrow.Filled}, smooth=Smooth.Bezier)); - connect(BetaCell.G_connector,PlasmaGlucose.G_signal_connector) annotation(Line(origin={-0.71,-20.49}, points={{24.11,-42.76},{22.75,-9.7},{-17.27,-9.7},{-17.27,20.49},{-10.29,20.68}}, color={0,0,255}, pattern=LinePattern.Dash, arrow={Arrow.Open,Arrow.None}, smooth=Smooth.Bezier)); - connect(BetaCell.G_p_connector,PlasmaGlucose.G_p_connector) annotation(Line(origin={3.93,-21.62}, points={{26.99,-41.63},{26.31,-4.5},{-18.85,-4.5},{-18.85,14.62},{-14.93,14.62}}, color={0,0,255}, pattern=LinePattern.Dash, arrow={Arrow.Open,Arrow.None}, smooth=Smooth.Bezier)); - connect(GlucoseRenalExcretion.G_p_connector,PlasmaGlucose.G_p_connector) annotation(Line(origin={37.56,-14.05}, points={{77.23,0.94},{56.28,-11.35},{-17.56,-11.35},{-52.49,-11.35},{-52.49,7.6},{-48.56,7.6},{-48.56,7.05}}, color={0,0,255}, pattern=LinePattern.Dash, arrow={Arrow.Open,Arrow.None}, smooth=Smooth.Bezier)); - connect(PlasmaGlucose.G_p_connector,EndogenousGlucoseProduction.G_p_connector) annotation(Line(origin={-30.33,-16.03}, points={{19.33,9.03},{-9.67,9.03},{-9.67,-18.05}}, color={0,0,255}, pattern=LinePattern.Dash, arrow={Arrow.None,Arrow.Open}, smooth=Smooth.Bezier)); - connect(EndogenousGlucoseProduction.I_po_connector,BetaCell.I_po_connector) annotation(Line(origin={1.27,-51.13}, points={{-30.27,6.06},{15.13,6.06},{15.13,-12.11}}, color={255,0,255}, pattern=LinePattern.Dash, arrow={Arrow.Open,Arrow.None}, smooth=Smooth.Bezier)); - connect(EndogenousGlucoseProduction.I_connector,PlasmaInsulin.I_signal_connector) annotation(Line(origin={-54.49,-15.15}, points={{7.26,-18.93},{7.26,9.47},{-14.51,9.47}}, color={255,0,255}, pattern=LinePattern.Dash, arrow={Arrow.Open,Arrow.None}, smooth=Smooth.Bezier)); - connect(TissueGlucose.U_idm_connector,UtilizationMuscleTissue.G_t_connector) annotation(Line(origin={45,46.91}, points={{-34,6.74021},{-12.0967,-6.91},{10,-6.74},{14,-6.748}}, color={0,0,128}, thickness=1, arrow={Arrow.None,Arrow.Filled}, smooth=Smooth.Bezier)); - connect(LiverInsulin.S_connector,BetaCell.S_connector) annotation(Line(origin={-9.95,-74.17}, points={{-59.05,0.07},{18.35,0.07},{18.35,-0.07},{22.35,-0.07}}, color={128,0,128}, thickness=1, arrow={Arrow.Filled,Arrow.None}, smooth=Smooth.Bezier)); - connect(PlasmaGlucose.EGP_connector,EndogenousGlucoseProduction.EGP_connector) annotation(Line(origin={-19.75,-20.03}, points={{19.58,9.03},{19.58,0.03},{-10.25,0.03},{-13.15,-4.55},{-12.87,-14.05}}, color={0,0,128}, thickness=1, arrow={Arrow.Filled,Arrow.None}, smooth=Smooth.Bezier)); - connect(PlasmaGlucose.E_connector,GlucoseRenalExcretion.productConnector1) annotation(Line(origin={86.84,-4.8}, points={{-75.84,-0.05},{23.95,-0.05},{23.95,0.05},{27.95,0.05}}, color={0,0,128}, thickness=1, arrow={Arrow.None,Arrow.Filled}, smooth=Smooth.Bezier)); - connect(PlasmaGlucose.Ra_connector,GastroIntestinalTract.Ra_connector) annotation(Line(origin={-28.9,31.7}, points={{21.1,-20.7},{21.1,-8.3},{-21.1,-8.3},{-21.1,37.3}}, color={0,0,128}, thickness=1, arrow={Arrow.Filled,Arrow.None}, smooth=Smooth.Bezier)); - connect(m_1_m_2.p1,PlasmaInsulin.I_connector) annotation(Line(origin={-80,-20.1024}, points={{0,-9.10245},{0,9.10245}}, color={128,0,128}, thickness=1, smooth=Smooth.Bezier)); - connect(m_1_m_2.s1,LiverInsulin.I_connector) annotation(Line(origin={-80,-53.2122}, points={{0,9.6954},{0,-9.6954}}, color={128,0,128}, thickness=1, smooth=Smooth.Bezier)); - connect(k_1_k_2.p1,TissueGlucose.G_connector) annotation(Line(origin={0,43.17}, points={{0,-5.83},{0,5.83}}, color={0,0,128}, thickness=1, smooth=Smooth.Bezier)); - connect(k_1_k_2.s1,PlasmaGlucose.G_connector) annotation(Line(origin={0,16.83}, points={{0,5.83},{0,-5.83}}, color={0,0,128}, thickness=1, smooth=Smooth.Bezier)); +", revisions = "")); end GlucoseInsulinModel; package Utilities extends BioChem.Icons.Library; - annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10}))); + package Parts extends BioChem.Icons.Library; + model GastroIntestinalTract - extends BioChem.Compartments.Compartment(V.start=1.0); - 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={Text(origin={-7.23323,45}, fillPattern=FillPattern.Solid, extent={{-45,-45},{45,45}}, textString="GI", fontName="Arial"),Text(origin={-2.44435,-51.2385}, fillPattern=FillPattern.Solid, extent={{-93.0638,-41.2385},{93.0638,41.2385}}, textString="tract", fontName="Arial")})); + extends BioChem.Compartments.Compartment(V.start = 1.0); BioChem.Units.Concentration ra_signal; BioChem.Units.Concentration q_sto; BioChem.Units.Concentration d; - parameter Real f=0.9; - parameter Real BW=78; - BioChem.Substances.Substance Q_sto2(c.start=0) annotation(Placement(transformation(origin={0,50}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance Q_gut(c.start=0) annotation(Placement(transformation(origin={0,-20}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_abs(k=0.057) annotation(Placement(transformation(origin={38.33,-20}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.k_empt k_empt1 annotation(Placement(transformation(origin={0,17.8419}, extent={{-10,-10},{10,10}}, rotation=-90))); - BioChem.Substances.Substance Q_sto1(c.start=0) annotation(Placement(transformation(origin={-60,50}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.dirac dirac annotation(Placement(transformation(origin={-100,50}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance Q_sto(c(start=0)=q_sto) annotation(Placement(transformation(origin={100,30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance D(c(start=0)=d) annotation(Placement(transformation(origin={100,5.76656}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.SubstrateConnector Ra_connector annotation(Placement(transformation(origin={0,-80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={0,-110}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance GlucoseIntake(c.start=78000) annotation(Placement(transformation(origin={-130,50}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_gri(k=0.0558) annotation(Placement(transformation(origin={-28.43,50}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance End annotation(Placement(transformation(origin={80,-20}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance Ra_calc(c=ra_signal) annotation(Placement(transformation(origin={0,-50}, extent={{-10,-10},{10,10}}))); + parameter Real f = 0.9; + parameter Real BW = 78; + BioChem.Substances.Substance Q_sto2(c.start = 0) annotation( + Placement(transformation(origin = {0, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance Q_gut(c.start = 0) annotation( + Placement(transformation(origin = {0, -20}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_abs(k = 0.057) annotation( + Placement(transformation(origin = {38.33, -20}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.k_empt k_empt1 annotation( + Placement(transformation(origin = {0, 17.8419}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); + BioChem.Substances.Substance Q_sto1(c.start = 0) annotation( + Placement(transformation(origin = {-60, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.dirac dirac annotation( + Placement(transformation(origin = {-100, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance Q_sto(c(start = 0) = q_sto) annotation( + Placement(transformation(origin = {100, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance D(c(start = 0) = d) annotation( + Placement(transformation(origin = {100, 5.76656}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector Ra_connector annotation( + Placement(transformation(origin = {0, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance GlucoseIntake(c.start = 78000) annotation( + Placement(transformation(origin = {-130, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_gri(k = 0.0558) annotation( + Placement(transformation(origin = {-28.43, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance End annotation( + Placement(transformation(origin = {80, -20}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance Ra_calc(c = ra_signal) annotation( + Placement(transformation(origin = {0, -50}, extent = {{-10, -10}, {10, 10}}))); equation - connect(Ra_calc.n1,Ra_connector) annotation(Line(origin={0,-65}, points={{0,15},{0,-15}})); - connect(k_abs.p1,End.n1) annotation(Line(origin={64.79,-20}, points={{-15.21,0},{15.21,0}})); - connect(Q_sto1.n1,k_gri.s1) annotation(Line(origin={-49.84,50}, points={{-10.16,0},{10.16,0}})); - connect(k_gri.p1,Q_sto2.n1) annotation(Line(origin={-8.59,50}, points={{-8.59,0},{8.59,0}})); - connect(GlucoseIntake.n1,dirac.s1) annotation(Line(origin={-120.625,50}, points={{-9.375,0},{9.375,0}})); - connect(D.n1,k_empt1.m2) annotation(Line(origin={34.2512,9.30423}, points={{65.7488,-3.53767},{-20.2487,-3.53767},{-20.2487,3.53767},{-25.2512,3.53767}})); - connect(Q_sto.n1,k_empt1.m1) annotation(Line(origin={34.2512,26.4209}, points={{65.7488,3.57905},{-20.2487,3.57905},{-20.2487,-3.57905},{-25.2512,-3.57905}})); - connect(dirac.p1,Q_sto1.n1) annotation(Line(origin={-74.375,50}, points={{-14.375,0},{14.375,0}})); - connect(k_empt1.p1,Q_gut.n1) annotation(Line(origin={1.11022e-17,-6.70406}, points={{1.11022e-17,13.2959},{-1.11022e-17,-13.2959}})); - connect(Q_sto2.n1,k_empt1.s1) annotation(Line(origin={-1.11022e-17,39.5459}, points={{1.11022e-17,10.4541},{-1.11022e-17,-10.4541}})); - connect(Q_gut.n1,k_abs.s1) annotation(Line(origin={13.54,-20}, points={{-13.54,0},{13.54,0}})); - ra_signal=f*k_abs.k*Q_gut.c/BW; - q_sto=Q_sto1.c + Q_sto2.c; - d=GlucoseIntake.c; + connect(Ra_calc.n1, Ra_connector) annotation( + Line(origin = {0, -65}, points = {{0, 15}, {0, -15}})); + connect(k_abs.p1, End.n1) annotation( + Line(origin = {64.79, -20}, points = {{-15.21, 0}, {15.21, 0}})); + connect(Q_sto1.n1, k_gri.s1) annotation( + Line(origin = {-49.84, 50}, points = {{-10.16, 0}, {10.16, 0}})); + connect(k_gri.p1, Q_sto2.n1) annotation( + Line(origin = {-8.59, 50}, points = {{-8.59, 0}, {8.59, 0}})); + connect(GlucoseIntake.n1, dirac.s1) annotation( + Line(origin = {-120.625, 50}, points = {{-9.375, 0}, {9.375, 0}})); + connect(D.n1, k_empt1.m2) annotation( + Line(origin = {34.2512, 9.30423}, points = {{65.7488, -3.53767}, {-20.2487, -3.53767}, {-20.2487, 3.53767}, {-25.2512, 3.53767}})); + connect(Q_sto.n1, k_empt1.m1) annotation( + Line(origin = {34.2512, 26.4209}, points = {{65.7488, 3.57905}, {-20.2487, 3.57905}, {-20.2487, -3.57905}, {-25.2512, -3.57905}})); + connect(dirac.p1, Q_sto1.n1) annotation( + Line(origin = {-74.375, 50}, points = {{-14.375, 0}, {14.375, 0}})); + connect(k_empt1.p1, Q_gut.n1) annotation( + Line(origin = {1.11022e-17, -6.70406}, points = {{1.11022e-17, 13.2959}, {-1.11022e-17, -13.2959}})); + connect(Q_sto2.n1, k_empt1.s1) annotation( + Line(origin = {-1.11022e-17, 39.5459}, points = {{1.11022e-17, 10.4541}, {-1.11022e-17, -10.4541}})); + connect(Q_gut.n1, k_abs.s1) annotation( + Line(origin = {13.54, -20}, points = {{-13.54, 0}, {13.54, 0}})); + ra_signal = f * k_abs.k * Q_gut.c / BW; + q_sto = Q_sto1.c + Q_sto2.c; + d = GlucoseIntake.c; + 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 = {Text(origin = {-7.23323, 45}, fillPattern = FillPattern.Solid, extent = {{-45, -45}, {45, 45}}, textString = "GI", fontName = "Arial"), Text(origin = {-2.44435, -51.2385}, fillPattern = FillPattern.Solid, extent = {{-93.0638, -41.2385}, {93.0638, 41.2385}}, textString = "tract", fontName = "Arial")})); end GastroIntestinalTract; model BetaCell - extends BioChem.Compartments.Compartment(V.start=1.0); - 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={Text(origin={-2.41533,43.4019}, fillPattern=FillPattern.Solid, extent={{-75.99,-51.46},{75.99,51.46}}, textString="Beta", fontName="Arial"),Text(origin={1.61,-49.34}, fillPattern=FillPattern.Solid, extent={{-73.89,-40.66},{73.89,40.66}}, textString="cell", fontName="Arial")})); - BioChem.Units.Concentration i_po(start=3.6); + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Units.Concentration i_po(start = 3.6); BioChem.Units.Concentration g; BioChem.Units.Concentration g_p; BioChem.Units.Concentration y; - BioChem.Units.Concentration y_signal(start=0); + BioChem.Units.Concentration y_signal(start = 0); BioChem.Units.Concentration s_signal; - parameter Real alpha=0.05; - parameter Real beta=0.11; - parameter Real S_b=1.8; - parameter Real G_b=95; - parameter Real K=2.3; - parameter Real gamma=0.5; - BioChem.Interfaces.Nodes.ModifierConnector G_connector annotation(Placement(transformation(origin={0,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={0,110}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.SubstrateConnector S_connector annotation(Placement(transformation(origin={-120,-8.88178e-16}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,0}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ModifierConnector I_po_connector annotation(Placement(transformation(origin={-90,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-70,110}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation(Placement(transformation(origin={100,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={75.1683,110}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance S_calc(c=s_signal) annotation(Placement(transformation(origin={-90,0}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance1 annotation(Placement(transformation(origin={2.22045e-16,60}, extent={{-10,-10},{10,10}}, rotation=-90))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance2 annotation(Placement(transformation(origin={100,60}, extent={{-10,-10},{10,10}}, rotation=-90))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance3 annotation(Placement(transformation(origin={60,-30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance I_po_signal(c=i_po) annotation(Placement(transformation(origin={-90,40}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance G(c=g) annotation(Placement(transformation(origin={0,40}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance G_p(c=g_p) annotation(Placement(transformation(origin={100,40}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance Y(c=y) annotation(Placement(transformation(origin={80,-30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance Y_signal(c=y_signal) annotation(Placement(transformation(origin={40,-30}, extent={{-10,-10},{10,10}}))); + parameter Real alpha = 0.05; + parameter Real beta = 0.11; + parameter Real S_b = 1.8; + parameter Real G_b = 95; + parameter Real K = 2.3; + parameter Real gamma = 0.5; + BioChem.Interfaces.Nodes.ModifierConnector G_connector annotation( + Placement(transformation(origin = {0, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector S_connector annotation( + Placement(transformation(origin = {-120, -8.88178e-16}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_po_connector annotation( + Placement(transformation(origin = {-90, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-70, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation( + Placement(transformation(origin = {100, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {75.1683, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance S_calc(c = s_signal) annotation( + Placement(transformation(origin = {-90, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance1 annotation( + Placement(transformation(origin = {2.22045e-16, 60}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance2 annotation( + Placement(transformation(origin = {100, 60}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance3 annotation( + Placement(transformation(origin = {60, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance I_po_signal(c = i_po) annotation( + Placement(transformation(origin = {-90, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G(c = g) annotation( + Placement(transformation(origin = {0, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G_p(c = g_p) annotation( + Placement(transformation(origin = {100, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance Y(c = y) annotation( + Placement(transformation(origin = {80, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance Y_signal(c = y_signal) annotation( + Placement(transformation(origin = {40, -30}, extent = {{-10, -10}, {10, 10}}))); equation - connect(Y_signal.n1,signaltosubstance3.s1) annotation(Line(origin={42.9167,-30}, points={{-2.91667,3.55271e-15},{-2.91667,-3.55271e-15},{5.83333,-3.55271e-15}})); - connect(signaltosubstance3.p1,Y.n1) annotation(Line(origin={74.1667,-30}, points={{-2.91667,0},{-2.91667,0},{5.83333,0}})); - connect(signaltosubstance2.p1,G_p.n1) annotation(Line(origin={100,42.9167}, points={{0,5.83333},{0,-2.91667},{0,-2.91667}})); - connect(signaltosubstance1.p1,G.n1) annotation(Line(origin={1.62833e-16,42.9167}, points={{8.14164e-17,5.83333},{8.14164e-17,-2.91667},{-1.62833e-16,-2.91667}})); - connect(I_po_connector,I_po_signal.n1) annotation(Line(origin={-90,60}, points={{0,20},{0,-20}})); - connect(G_p_connector,signaltosubstance2.s1) annotation(Line(origin={100,75.625}, points={{0,4.375},{0,-4.375}})); - connect(G_connector,signaltosubstance1.s1) annotation(Line(origin={9.99201e-17,75.625}, points={{-9.99201e-17,4.375},{9.99201e-17,-4.375}})); - connect(S_calc.n1,S_connector) annotation(Line(origin={-105,-4.44089e-16}, points={{15,4.44089e-16},{-15,-4.44089e-16}})); - der(i_po)=if der(g_p) > 0 and g > G_b then -gamma*i_po + y + K*der(g) + S_b else -gamma*i_po + y + S_b; - der(y_signal)=if beta*(g - G_b) < -S_b then -alpha*y_signal - alpha*S_b else -alpha*(y_signal - beta*(g - G_b)); - s_signal=gamma*i_po; + connect(Y_signal.n1, signaltosubstance3.s1) annotation( + Line(origin = {42.9167, -30}, points = {{-2.91667, 3.55271e-15}, {-2.91667, -3.55271e-15}, {5.83333, -3.55271e-15}})); + connect(signaltosubstance3.p1, Y.n1) annotation( + Line(origin = {74.1667, -30}, points = {{-2.91667, 0}, {-2.91667, 0}, {5.83333, 0}})); + connect(signaltosubstance2.p1, G_p.n1) annotation( + Line(origin = {100, 42.9167}, points = {{0, 5.83333}, {0, -2.91667}, {0, -2.91667}})); + connect(signaltosubstance1.p1, G.n1) annotation( + Line(origin = {1.62833e-16, 42.9167}, points = {{8.14164e-17, 5.83333}, {8.14164e-17, -2.91667}, {-1.62833e-16, -2.91667}})); + connect(I_po_connector, I_po_signal.n1) annotation( + Line(origin = {-90, 60}, points = {{0, 20}, {0, -20}})); + connect(G_p_connector, signaltosubstance2.s1) annotation( + Line(origin = {100, 75.625}, points = {{0, 4.375}, {0, -4.375}})); + connect(G_connector, signaltosubstance1.s1) annotation( + Line(origin = {9.99201e-17, 75.625}, points = {{-9.99201e-17, 4.375}, {9.99201e-17, -4.375}})); + connect(S_calc.n1, S_connector) annotation( + Line(origin = {-105, -4.44089e-16}, points = {{15, 4.44089e-16}, {-15, -4.44089e-16}})); + der(i_po) = if der(g_p) > 0 and g > G_b then (-gamma * i_po) + y + K * der(g) + S_b else (-gamma * i_po) + y + S_b; + der(y_signal) = if beta * (g - G_b) < (-S_b) then (-alpha * y_signal) - alpha * S_b else -alpha * (y_signal - beta * (g - G_b)); + s_signal = gamma * i_po; + 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 = {Text(origin = {-2.41533, 43.4019}, fillPattern = FillPattern.Solid, extent = {{-75.99, -51.46}, {75.99, 51.46}}, textString = "Beta", fontName = "Arial"), Text(origin = {1.61, -49.34}, fillPattern = FillPattern.Solid, extent = {{-73.89, -40.66}, {73.89, 40.66}}, textString = "cell", fontName = "Arial")})); end BetaCell; model PlasmaInsulin - extends BioChem.Compartments.Compartment(V.start=1.0); - 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={Text(origin={-7.10543e-15,46.05}, fillPattern=FillPattern.Solid, extent={{-93.8311,-36.05},{93.8311,36.05}}, textString="Plasma", fontName="Arial"),Text(origin={-3.55271e-15,-36.936}, fillPattern=FillPattern.Solid, extent={{-86.0653,-45},{86.0653,45}}, textString="insulin", fontName="Arial")})); + extends BioChem.Compartments.Compartment(V.start = 1.0); BioChem.Units.Concentration i_p_signal; BioChem.Units.Concentration i_p; BioChem.Units.Concentration i_signal; - parameter BioChem.Units.Volume V_I=0.05; - BioChem.Substances.Substance I_p(c(start=1.25)=i_p) annotation(Placement(transformation(extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction m_4(k=0.194) annotation(Placement(transformation(origin={-60,0}, extent={{10,-10},{-10,10}}))); - BioChem.Interfaces.Nodes.ModifierConnector I_p_connector annotation(Placement(transformation(origin={120,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={110,4.44089e-16}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ProductConnector I_connector annotation(Placement(transformation(origin={0,-80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={0,-110}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ModifierConnector I_signal_connector annotation(Placement(transformation(origin={120,-30}, extent={{-10,-10},{10,10}}), iconTransformation(origin={110,-56.82}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance I_p_signal(c=i_p_signal) annotation(Placement(transformation(origin={60,7.77156e-16}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance I_signal(c=i_signal) annotation(Placement(transformation(origin={60,-30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance Deg annotation(Placement(transformation(origin={-120,0}, extent={{-10,-10},{10,10}}))); + parameter BioChem.Units.Volume V_I = 0.05; + BioChem.Substances.Substance I_p(c(start = 1.25) = i_p) annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction m_4(k = 0.194) annotation( + Placement(transformation(origin = {-60, 0}, extent = {{10, -10}, {-10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_p_connector annotation( + Placement(transformation(origin = {120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, 4.44089e-16}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector I_connector annotation( + Placement(transformation(origin = {0, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_signal_connector annotation( + Placement(transformation(origin = {120, -30}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, -56.82}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance I_p_signal(c = i_p_signal) annotation( + Placement(transformation(origin = {60, 7.77156e-16}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance I_signal(c = i_signal) annotation( + Placement(transformation(origin = {60, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance Deg annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}))); equation - connect(Deg.n1,m_4.p1) annotation(Line(origin={-95.625,1.11022e-17}, points={{-24.375,-1.11022e-17},{24.375,1.11022e-17}})); - connect(I_signal.n1,I_signal_connector) annotation(Line(origin={90,-30}, points={{-30,0},{30,0}})); - connect(I_p_signal.n1,I_p_connector) annotation(Line(origin={90,3.88578e-16}, points={{-30,3.88578e-16},{30,-3.88578e-16}})); - connect(I_p.n1,I_connector) annotation(Line(origin={0,-40}, points={{0,40},{0,-40}})); - connect(m_4.s1,I_p.n1) annotation(Line(origin={-24.375,-1.11022e-17}, points={{-24.375,-1.11022e-17},{24.375,1.11022e-17}})); - i_p_signal=i_p; - i_signal=i_p/V_I; + connect(Deg.n1, m_4.p1) annotation( + Line(origin = {-95.625, 1.11022e-17}, points = {{-24.375, -1.11022e-17}, {24.375, 1.11022e-17}})); + connect(I_signal.n1, I_signal_connector) annotation( + Line(origin = {90, -30}, points = {{-30, 0}, {30, 0}})); + connect(I_p_signal.n1, I_p_connector) annotation( + Line(origin = {90, 3.88578e-16}, points = {{-30, 3.88578e-16}, {30, -3.88578e-16}})); + connect(I_p.n1, I_connector) annotation( + Line(origin = {0, -40}, points = {{0, 40}, {0, -40}})); + connect(m_4.s1, I_p.n1) annotation( + Line(origin = {-24.375, -1.11022e-17}, points = {{-24.375, -1.11022e-17}, {24.375, 1.11022e-17}})); + i_p_signal = i_p; + i_signal = i_p / V_I; + 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 = {Text(origin = {-7.10543e-15, 46.05}, fillPattern = FillPattern.Solid, extent = {{-93.8311, -36.05}, {93.8311, 36.05}}, textString = "Plasma", fontName = "Arial"), Text(origin = {-3.55271e-15, -36.936}, fillPattern = FillPattern.Solid, extent = {{-86.0653, -45}, {86.0653, 45}}, textString = "insulin", fontName = "Arial")})); end PlasmaInsulin; model PlasmaGlucose - extends BioChem.Compartments.Compartment(V.start=1.0); - 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={Text(origin={9.76996e-15,43.56}, fillPattern=FillPattern.Solid, extent={{-83.88,-33.56},{83.88,33.56}}, textString="Plasma", fontName="Arial"),Text(origin={2.66454e-15,-40}, fillPattern=FillPattern.Solid, extent={{-86.96,-35.65},{86.96,35.65}}, textString="glucose", fontName="Arial")})); - parameter Real V_G=1.88; + extends BioChem.Compartments.Compartment(V.start = 1.0); + parameter Real V_G = 1.88; BioChem.Units.Concentration g_p_signal; BioChem.Units.Concentration g_p; BioChem.Units.Concentration g_signal; - BioChem.Interfaces.Nodes.ProductConnector EGP_connector annotation(Placement(transformation(origin={4.44089e-16,-80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-1.73862,-110}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation(Placement(transformation(origin={-110,-70}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,-70}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.SubstrateConnector E_connector annotation(Placement(transformation(origin={120,-30}, extent={{-10,-10},{10,10}}), iconTransformation(origin={110,-48.4304}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ProductConnector Ra_connector annotation(Placement(transformation(origin={-80,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-77.9724,110}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.SubstrateConnector G_connector annotation(Placement(transformation(origin={0,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={0,110}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance G_p_signal(c=g_p_signal) annotation(Placement(transformation(origin={-110,-23.3921}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance G_signal(c=g_signal) annotation(Placement(transformation(origin={-120,40}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ModifierConnector G_signal_connector annotation(Placement(transformation(origin={-120,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,1.94}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance G_p(c.start=178, c=g_p) annotation(Placement(transformation(extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction Ra_reaction(k=1) annotation(Placement(transformation(origin={-80,50}, extent={{-10,-10},{10,10}}, rotation=-90))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction EGP_reaction(k=1) annotation(Placement(transformation(origin={0,-48}, extent={{-10,10},{10,-10}}, rotation=90))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.U_ii_reaction u_ii_reaction1 annotation(Placement(transformation(origin={90,30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance U_ii annotation(Placement(transformation(origin={120,30}, extent={{-10,-10},{10,10}}))); + BioChem.Interfaces.Nodes.ProductConnector EGP_connector annotation( + Placement(transformation(origin = {4.44089e-16, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-1.73862, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation( + Placement(transformation(origin = {-110, -70}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, -70}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector E_connector annotation( + Placement(transformation(origin = {120, -30}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, -48.4304}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector Ra_connector annotation( + Placement(transformation(origin = {-80, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-77.9724, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector G_connector annotation( + Placement(transformation(origin = {0, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance G_p_signal(c = g_p_signal) annotation( + Placement(transformation(origin = {-110, -23.3921}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance G_signal(c = g_signal) annotation( + Placement(transformation(origin = {-120, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector G_signal_connector annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 1.94}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G_p(c.start = 178, c = g_p) annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction Ra_reaction(k = 1) annotation( + Placement(transformation(origin = {-80, 50}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction EGP_reaction(k = 1) annotation( + Placement(transformation(origin = {0, -48}, extent = {{-10, 10}, {10, -10}}, rotation = 90))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.U_ii_reaction u_ii_reaction1 annotation( + Placement(transformation(origin = {90, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance U_ii annotation( + Placement(transformation(origin = {120, 30}, extent = {{-10, -10}, {10, 10}}))); equation - connect(U_ii.n1,u_ii_reaction1.p1) annotation(Line(origin={110.625,30}, points={{9.375,0},{-9.375,0}})); - connect(G_p.n1,u_ii_reaction1.s1) annotation(Line(origin={56.9367,15}, points={{-56.9367,-15},{17.5617,-15},{17.5617,15},{21.8133,15}})); - connect(EGP_reaction.s1,EGP_connector) annotation(Line(origin={2.10942e-16,-69.625}, points={{-2.33147e-16,10.375},{2.33147e-16,-10.375}})); - connect(G_p.n1,EGP_reaction.p1) annotation(Line(origin={1.11022e-17,-18.375}, points={{-1.11022e-17,18.375},{1.11022e-17,-18.375}})); - connect(Ra_connector,Ra_reaction.s1) annotation(Line(origin={-80,70.625}, points={{0,9.375},{0,-9.375}})); - connect(Ra_reaction.p1,G_p.n1) annotation(Line(origin={-53.3333,12.9167}, points={{-26.6667,25.8333},{-26.6667,-12.9167},{53.3333,-12.9167}})); - connect(G_p.n1,E_connector) annotation(Line(origin={83.5,-15}, points={{-83.5,15},{23.5,15},{23.5,-15},{36.5,-15}})); - connect(G_p.n1,G_connector) annotation(Line(origin={0,40}, points={{0,-40},{0,40}})); - connect(G_p_signal.n1,G_p_connector) annotation(Line(origin={-110,-46.696}, points={{0,23.304},{0,-23.304}})); - connect(G_signal.n1,G_signal_connector) annotation(Line(origin={-120,20}, points={{0,20},{0,-20}})); - g_p_signal=g_p; - g_signal=g_p_signal/V_G; + connect(U_ii.n1, u_ii_reaction1.p1) annotation( + Line(origin = {110.625, 30}, points = {{9.375, 0}, {-9.375, 0}})); + connect(G_p.n1, u_ii_reaction1.s1) annotation( + Line(origin = {56.9367, 15}, points = {{-56.9367, -15}, {17.5617, -15}, {17.5617, 15}, {21.8133, 15}})); + connect(EGP_reaction.s1, EGP_connector) annotation( + Line(origin = {2.10942e-16, -69.625}, points = {{-2.33147e-16, 10.375}, {2.33147e-16, -10.375}})); + connect(G_p.n1, EGP_reaction.p1) annotation( + Line(origin = {1.11022e-17, -18.375}, points = {{-1.11022e-17, 18.375}, {1.11022e-17, -18.375}})); + connect(Ra_connector, Ra_reaction.s1) annotation( + Line(origin = {-80, 70.625}, points = {{0, 9.375}, {0, -9.375}})); + connect(Ra_reaction.p1, G_p.n1) annotation( + Line(origin = {-53.3333, 12.9167}, points = {{-26.6667, 25.8333}, {-26.6667, -12.9167}, {53.3333, -12.9167}})); + connect(G_p.n1, E_connector) annotation( + Line(origin = {83.5, -15}, points = {{-83.5, 15}, {23.5, 15}, {23.5, -15}, {36.5, -15}})); + connect(G_p.n1, G_connector) annotation( + Line(origin = {0, 40}, points = {{0, -40}, {0, 40}})); + connect(G_p_signal.n1, G_p_connector) annotation( + Line(origin = {-110, -46.696}, points = {{0, 23.304}, {0, -23.304}})); + connect(G_signal.n1, G_signal_connector) annotation( + Line(origin = {-120, 20}, points = {{0, 20}, {0, -20}})); + g_p_signal = g_p; + g_signal = g_p_signal / V_G; + 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 = {Text(origin = {9.76996e-15, 43.56}, fillPattern = FillPattern.Solid, extent = {{-83.88, -33.56}, {83.88, 33.56}}, textString = "Plasma", fontName = "Arial"), Text(origin = {2.66454e-15, -40}, fillPattern = FillPattern.Solid, extent = {{-86.96, -35.65}, {86.96, 35.65}}, textString = "glucose", fontName = "Arial")})); end PlasmaGlucose; model LiverInsulin - extends BioChem.Compartments.Compartment(V.start=1.0); - 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={Text(origin={0.247749,43.7203}, fillPattern=FillPattern.Solid, extent={{-92.2066,-43.7203},{92.2066,43.7203}}, textString="Liver", fontName="Arial"),Text(origin={-0.875609,-51.2968}, fillPattern=FillPattern.Solid, extent={{-89.1244,-31.2968},{89.1244,31.2968}}, textString="insulin", fontName="Arial")})); + extends BioChem.Compartments.Compartment(V.start = 1.0); BioChem.Units.Concentration s; BioChem.Units.Concentration s_signal; - BioChem.Substances.Substance I_l(c.start=5) annotation(Placement(transformation(extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance S_signal(c=s_signal) annotation(Placement(transformation(origin={-70,50}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.m_3 m_3 annotation(Placement(transformation(origin={-70,0}, extent={{10,-10},{-10,10}}))); - BioChem.Interfaces.Nodes.ProductConnector S_connector(c=s) annotation(Placement(transformation(origin={120,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={110,-1.93864}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.SubstrateConnector I_connector annotation(Placement(transformation(origin={7.10543e-15,79.59}, extent={{-10,-10},{10,10}}), iconTransformation(origin={0,110}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction S_reaction(k=1) annotation(Placement(transformation(origin={70,-7.21645e-16}, extent={{10,-10},{-10,10}}))); - BioChem.Substances.BoundarySubstance Deg annotation(Placement(transformation(origin={-120,0}, extent={{-10,-10},{10,10}}))); + BioChem.Substances.Substance I_l(c.start = 5) annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance S_signal(c = s_signal) annotation( + Placement(transformation(origin = {-70, 50}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.m_3 m_3 annotation( + Placement(transformation(origin = {-70, 0}, extent = {{10, -10}, {-10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector S_connector(c = s) annotation( + Placement(transformation(origin = {120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, -1.93864}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector I_connector annotation( + Placement(transformation(origin = {7.10543e-15, 79.59}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction S_reaction(k = 1) annotation( + Placement(transformation(origin = {70, -7.21645e-16}, extent = {{10, -10}, {-10, 10}}))); + BioChem.Substances.BoundarySubstance Deg annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}))); equation - connect(m_3.p1,Deg.n1) annotation(Line(origin={-100.625,1.11022e-17}, points={{19.375,1.11022e-17},{-19.375,-1.11022e-17}})); - connect(S_reaction.s1,S_connector) annotation(Line(origin={100.625,-3.71925e-16}, points={{-19.375,-3.71925e-16},{19.375,3.71925e-16}})); - connect(S_reaction.p1,I_l.n1) annotation(Line(origin={29.375,-3.4972e-16}, points={{29.375,-3.4972e-16},{-29.375,3.4972e-16}})); - connect(I_connector,I_l.n1) annotation(Line(origin={3.55271e-15,39.795}, points={{3.55271e-15,39.795},{-3.55271e-15,-39.795}})); - connect(I_l.n1,m_3.s1) annotation(Line(origin={-29.375,-1.11022e-17}, points={{29.375,1.11022e-17},{-29.375,-1.11022e-17}})); - connect(S_signal.n1,m_3.m1) annotation(Line(origin={-70,29.5}, points={{0,20.5},{0,-20.5}})); - s=s_signal; + connect(m_3.p1, Deg.n1) annotation( + Line(origin = {-100.625, 1.11022e-17}, points = {{19.375, 1.11022e-17}, {-19.375, -1.11022e-17}})); + connect(S_reaction.s1, S_connector) annotation( + Line(origin = {100.625, -3.71925e-16}, points = {{-19.375, -3.71925e-16}, {19.375, 3.71925e-16}})); + connect(S_reaction.p1, I_l.n1) annotation( + Line(origin = {29.375, -3.4972e-16}, points = {{29.375, -3.4972e-16}, {-29.375, 3.4972e-16}})); + connect(I_connector, I_l.n1) annotation( + Line(origin = {3.55271e-15, 39.795}, points = {{3.55271e-15, 39.795}, {-3.55271e-15, -39.795}})); + connect(I_l.n1, m_3.s1) annotation( + Line(origin = {-29.375, -1.11022e-17}, points = {{29.375, 1.11022e-17}, {-29.375, -1.11022e-17}})); + connect(S_signal.n1, m_3.m1) annotation( + Line(origin = {-70, 29.5}, points = {{0, 20.5}, {0, -20.5}})); + s = s_signal; + 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 = {Text(origin = {0.247749, 43.7203}, fillPattern = FillPattern.Solid, extent = {{-92.2066, -43.7203}, {92.2066, 43.7203}}, textString = "Liver", fontName = "Arial"), Text(origin = {-0.875609, -51.2968}, fillPattern = FillPattern.Solid, extent = {{-89.1244, -31.2968}, {89.1244, 31.2968}}, textString = "insulin", fontName = "Arial")})); end LiverInsulin; model EndogenousGlucoseProduction - extends BioChem.Compartments.Compartment(V.start=1.0); - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={-107.257,0}, rotation=-270, fillPattern=FillPattern.Solid, extent={{-25.4753,-2.74277},{25.4753,2.74277}}, textString="delayed insulin signal", fontName="Arial")}), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={4.68254,4.83}, fillPattern=FillPattern.Solid, extent={{-77.28,-45.17},{77.28,45.17}}, textString="EGP", fontName="Arial")})); - parameter Real k_p1=2.7; - parameter Real k_p2=0.0021; - parameter Real k_p3=0.009; - parameter Real k_p4=0.0618; + extends BioChem.Compartments.Compartment(V.start = 1.0); + parameter Real k_p1 = 2.7; + parameter Real k_p2 = 0.0021; + parameter Real k_p3 = 0.009; + parameter Real k_p4 = 0.0618; BioChem.Units.Concentration egp_signal; BioChem.Units.Concentration i_d; BioChem.Units.Concentration g_p; BioChem.Units.Concentration i_po; - BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation(Placement(transformation(origin={0,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={2.22045e-16,110}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.SubstrateConnector EGP_connector annotation(Placement(transformation(origin={60,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={73.83,110}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ModifierConnector I_connector annotation(Placement(transformation(origin={-60,80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-72.29,110}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ModifierConnector I_po_connector annotation(Placement(transformation(origin={120,-60}, extent={{-10,-10},{10,10}}), iconTransformation(origin={110,0}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_i1(k=0.0079) annotation(Placement(transformation(origin={-90,63.2158}, extent={{10,-10},{-10,10}}, rotation=-270))); - BioChem.Substances.Substance I_1(c.start=25) annotation(Placement(transformation(origin={-90,40}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_i2(k=0.0079) annotation(Placement(transformation(origin={-90,10}, extent={{10,-10},{-10,10}}, rotation=-270))); - BioChem.Substances.Substance I_d(c.start=25, c=i_d) annotation(Placement(transformation(origin={-90,-10}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_i3(k=0.0079) annotation(Placement(transformation(origin={-90,-40}, extent={{10,-10},{-10,10}}, rotation=-270))); - BioChem.Substances.BoundarySubstance End annotation(Placement(transformation(origin={-90,-60}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance EGP_calc(c=egp_signal) annotation(Placement(transformation(origin={60,40}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance G_p(c=g_p) annotation(Placement(transformation(origin={8.88178e-16,40}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance I_po(c=i_po) annotation(Placement(transformation(origin={80,-60}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance1 annotation(Placement(transformation(origin={100,-60}, extent={{10,-10},{-10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance2 annotation(Placement(transformation(origin={0,60}, extent={{-10,-10},{10,10}}, rotation=-90))); + BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation( + Placement(transformation(origin = {0, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {2.22045e-16, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector EGP_connector annotation( + Placement(transformation(origin = {60, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {73.83, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_connector annotation( + Placement(transformation(origin = {-60, 80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-72.29, 110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector I_po_connector annotation( + Placement(transformation(origin = {120, -60}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_i1(k = 0.0079) annotation( + Placement(transformation(origin = {-90, 63.2158}, extent = {{10, -10}, {-10, 10}}, rotation = -270))); + BioChem.Substances.Substance I_1(c.start = 25) annotation( + Placement(transformation(origin = {-90, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_i2(k = 0.0079) annotation( + Placement(transformation(origin = {-90, 10}, extent = {{10, -10}, {-10, 10}}, rotation = -270))); + BioChem.Substances.Substance I_d(c.start = 25, c = i_d) annotation( + Placement(transformation(origin = {-90, -10}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.FlowReaction k_i3(k = 0.0079) annotation( + Placement(transformation(origin = {-90, -40}, extent = {{10, -10}, {-10, 10}}, rotation = -270))); + BioChem.Substances.BoundarySubstance End annotation( + Placement(transformation(origin = {-90, -60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance EGP_calc(c = egp_signal) annotation( + Placement(transformation(origin = {60, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G_p(c = g_p) annotation( + Placement(transformation(origin = {8.88178e-16, 40}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance I_po(c = i_po) annotation( + Placement(transformation(origin = {80, -60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance1 annotation( + Placement(transformation(origin = {100, -60}, extent = {{10, -10}, {-10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.signaltosubstance signaltosubstance2 annotation( + Placement(transformation(origin = {0, 60}, extent = {{-10, -10}, {10, 10}}, rotation = -90))); equation - connect(signaltosubstance2.p1,G_p.n1) annotation(Line(origin={3.10862e-16,42.9167}, points={{-2.88658e-16,5.83333},{-2.88658e-16,-2.91667},{5.77316e-16,-2.91667}})); - connect(G_p_connector,signaltosubstance2.s1) annotation(Line(origin={-7.4015e-18,74.1667}, points={{7.4015e-18,5.83333},{7.4015e-18,-2.91667},{-1.4803e-17,-2.91667}})); - connect(I_po_connector,signaltosubstance1.s1) annotation(Line(origin={115.625,-60}, points={{4.375,0},{-4.375,0}})); - connect(signaltosubstance1.p1,I_po.n1) annotation(Line(origin={84.375,-60}, points={{4.375,0},{-4.375,0}})); - connect(EGP_calc.n1,EGP_connector) annotation(Line(origin={60,60}, points={{0,-20},{0,20}})); - connect(End.n1,k_i3.p1) annotation(Line(origin={-90,-54.1667}, points={{0,-5.83333},{0,2.91667},{0,2.91667}})); - connect(k_i3.s1,I_d.n1) annotation(Line(origin={-90,-19.375}, points={{0,-9.375},{0,9.375}})); - connect(k_i2.p1,I_d.n1) annotation(Line(origin={-90,-7.08333}, points={{0,5.83333},{0,-2.91667},{0,-2.91667}})); - connect(I_1.n1,k_i2.s1) annotation(Line(origin={-90,30.625}, points={{0,9.375},{0,-9.375}})); - connect(k_i1.p1,I_1.n1) annotation(Line(origin={-90,43.9886}, points={{0,7.97721},{0,-3.9886},{0,-3.9886}})); - connect(k_i1.s1,I_connector) annotation(Line(origin={-80,78.1553}, points={{-10,-3.68946},{-10,1.84473},{20,1.84473}})); - egp_signal=k_p1 - k_p2*g_p - k_p3*i_d - k_p4*i_po; + connect(signaltosubstance2.p1, G_p.n1) annotation( + Line(origin = {3.10862e-16, 42.9167}, points = {{-2.88658e-16, 5.83333}, {-2.88658e-16, -2.91667}, {5.77316e-16, -2.91667}})); + connect(G_p_connector, signaltosubstance2.s1) annotation( + Line(origin = {-7.4015e-18, 74.1667}, points = {{7.4015e-18, 5.83333}, {7.4015e-18, -2.91667}, {-1.4803e-17, -2.91667}})); + connect(I_po_connector, signaltosubstance1.s1) annotation( + Line(origin = {115.625, -60}, points = {{4.375, 0}, {-4.375, 0}})); + connect(signaltosubstance1.p1, I_po.n1) annotation( + Line(origin = {84.375, -60}, points = {{4.375, 0}, {-4.375, 0}})); + connect(EGP_calc.n1, EGP_connector) annotation( + Line(origin = {60, 60}, points = {{0, -20}, {0, 20}})); + connect(End.n1, k_i3.p1) annotation( + Line(origin = {-90, -54.1667}, points = {{0, -5.83333}, {0, 2.91667}, {0, 2.91667}})); + connect(k_i3.s1, I_d.n1) annotation( + Line(origin = {-90, -19.375}, points = {{0, -9.375}, {0, 9.375}})); + connect(k_i2.p1, I_d.n1) annotation( + Line(origin = {-90, -7.08333}, points = {{0, 5.83333}, {0, -2.91667}, {0, -2.91667}})); + connect(I_1.n1, k_i2.s1) annotation( + Line(origin = {-90, 30.625}, points = {{0, 9.375}, {0, -9.375}})); + connect(k_i1.p1, I_1.n1) annotation( + Line(origin = {-90, 43.9886}, points = {{0, 7.97721}, {0, -3.9886}, {0, -3.9886}})); + connect(k_i1.s1, I_connector) annotation( + Line(origin = {-80, 78.1553}, points = {{-10, -3.68946}, {-10, 1.84473}, {20, 1.84473}})); + egp_signal = k_p1 - k_p2 * g_p - k_p3 * i_d - k_p4 * i_po; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {-107.257, 0}, rotation = -270, fillPattern = FillPattern.Solid, extent = {{-25.4753, -2.74277}, {25.4753, 2.74277}}, textString = "delayed insulin signal", fontName = "Arial")}), + Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {4.68254, 4.83}, fillPattern = FillPattern.Solid, extent = {{-77.28, -45.17}, {77.28, 45.17}}, textString = "EGP", fontName = "Arial")})); end EndogenousGlucoseProduction; model GlucoseRenalExcretion - extends BioChem.Compartments.Compartment(V.start=1.0); - 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={Text(origin={-3.87096,37.0935}, fillPattern=FillPattern.Solid, extent={{-89.7,-30},{89.7,30}}, textString="Renal", fontName="Arial"),Text(origin={-3.55271e-15,-46.0442}, fillPattern=FillPattern.Solid, extent={{-95.9469,-26.0442},{95.9469,26.0442}}, textString="excretion", fontName="Arial")})); - BioChem.Interfaces.Nodes.ProductConnector productConnector1 annotation(Placement(transformation(origin={-120,-4.44089e-16}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,3.33067e-16}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.RenalReaction renalReaction1 annotation(Placement(transformation(origin={-90,3.88578e-16}, extent={{-10,10},{10,-10}}))); - BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation(Placement(transformation(origin={-120,-70}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,-83.5976}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance E annotation(Placement(transformation(extent={{-10,-10},{10,10}}))); + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Interfaces.Nodes.ProductConnector productConnector1 annotation( + Placement(transformation(origin = {-120, -4.44089e-16}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 3.33067e-16}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.RenalReaction renalReaction1 annotation( + Placement(transformation(origin = {-90, 3.88578e-16}, extent = {{-10, 10}, {10, -10}}))); + BioChem.Interfaces.Nodes.ModifierConnector G_p_connector annotation( + Placement(transformation(origin = {-120, -70}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, -83.5976}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance E annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); equation - connect(renalReaction1.p1,E.n1) annotation(Line(origin={-39.375,1.83187e-16}, points={{-39.375,1.83187e-16},{39.375,-1.83187e-16}})); - connect(G_p_connector,G_p_connector) annotation(Line(origin={-120,-70}, points={{0,0},{0,0}})); - connect(G_p_connector,renalReaction1.m1) annotation(Line(origin={-75,-82.7488}, points={{-45,12.7488},{-15,12.7487},{-15,12.7488},{-15,73.7488}})); - connect(productConnector1,renalReaction1.s1) annotation(Line(origin={-110.625,-1.66533e-17}, points={{-9.375,-4.27436e-16},{9.375,4.27436e-16}})); + connect(renalReaction1.p1, E.n1) annotation( + Line(origin = {-39.375, 1.83187e-16}, points = {{-39.375, 1.83187e-16}, {39.375, -1.83187e-16}})); + connect(G_p_connector, G_p_connector) annotation( + Line(origin = {-120, -70}, points = {{0, 0}, {0, 0}})); + connect(G_p_connector, renalReaction1.m1) annotation( + Line(origin = {-75, -82.7488}, points = {{-45, 12.7488}, {-15, 12.7487}, {-15, 12.7488}, {-15, 73.7488}})); + connect(productConnector1, renalReaction1.s1) annotation( + Line(origin = {-110.625, -1.66533e-17}, points = {{-9.375, -4.27436e-16}, {9.375, 4.27436e-16}})); + 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 = {Text(origin = {-3.87096, 37.0935}, fillPattern = FillPattern.Solid, extent = {{-89.7, -30}, {89.7, 30}}, textString = "Renal", fontName = "Arial"), Text(origin = {-3.55271e-15, -46.0442}, fillPattern = FillPattern.Solid, extent = {{-95.9469, -26.0442}, {95.9469, 26.0442}}, textString = "excretion", fontName = "Arial")})); end GlucoseRenalExcretion; model UtilizationMuscleTissue - extends BioChem.Compartments.Compartment(V.start=1.0); - 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={Text(origin={-2.91,52.76}, fillPattern=FillPattern.Solid, extent={{-82.91,-30.17},{82.91,30.17}}, textString="Muscle", fontName="Arial"),Text(origin={-7.10543e-15,-34.69}, fillPattern=FillPattern.Solid, extent={{-77.92,-34.69},{77.92,34.69}}, textString="tissue", fontName="Arial")})); - BioChem.Interfaces.Nodes.ModifierConnector I_connector annotation(Placement(transformation(origin={-120,50}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,83.5696}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ProductConnector G_t_connector annotation(Placement(transformation(origin={-120,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,1.62}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance U_idm annotation(Placement(transformation(extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.UtilizationReaction UtilizationReaction(K_m0=225.59, V_m0=2.5, V_mX=0.047, p_2U=0.0331, part=0.8) annotation(Placement(transformation(origin={-64.11,0}, extent={{-10,-10},{10,10}}))); + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Interfaces.Nodes.ModifierConnector I_connector annotation( + Placement(transformation(origin = {-120, 50}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 83.5696}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector G_t_connector annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 1.62}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance U_idm annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.UtilizationReaction UtilizationReaction(K_m0 = 225.59, V_m0 = 2.5, V_mX = 0.047, p_2U = 0.0331, part = 0.8) annotation( + Placement(transformation(origin = {-64.11, 0}, extent = {{-10, -10}, {10, 10}}))); equation - connect(UtilizationReaction.p1,U_idm.n1) annotation(Line(origin={-26.43,1.11022e-17}, points={{-26.43,1.11022e-17},{26.43,-1.11022e-17}})); - connect(UtilizationReaction.m1,I_connector) annotation(Line(origin={-82.74,36.3333}, points={{18.63,-27.3333},{18.63,13.6667},{-37.26,13.6667}})); - connect(G_t_connector,UtilizationReaction.s1) annotation(Line(origin={-97.68,-1.11022e-17}, points={{-22.32,1.11022e-17},{22.32,-1.11022e-17}})); + connect(UtilizationReaction.p1, U_idm.n1) annotation( + Line(origin = {-26.43, 1.11022e-17}, points = {{-26.43, 1.11022e-17}, {26.43, -1.11022e-17}})); + connect(UtilizationReaction.m1, I_connector) annotation( + Line(origin = {-82.74, 36.3333}, points = {{18.63, -27.3333}, {18.63, 13.6667}, {-37.26, 13.6667}})); + connect(G_t_connector, UtilizationReaction.s1) annotation( + Line(origin = {-97.68, -1.11022e-17}, points = {{-22.32, 1.11022e-17}, {22.32, -1.11022e-17}})); + 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 = {Text(origin = {-2.91, 52.76}, fillPattern = FillPattern.Solid, extent = {{-82.91, -30.17}, {82.91, 30.17}}, textString = "Muscle", fontName = "Arial"), Text(origin = {-7.10543e-15, -34.69}, fillPattern = FillPattern.Solid, extent = {{-77.92, -34.69}, {77.92, 34.69}}, textString = "tissue", fontName = "Arial")})); end UtilizationMuscleTissue; model TissueGlucose - extends BioChem.Compartments.Compartment(V.start=1.0); - 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={Text(origin={-0.55,-36.0512}, fillPattern=FillPattern.Solid, extent={{-100.55,-33.9488},{100.55,33.9488}}, textString="glucose", fontName="Arial"),Text(origin={3.56664,43.6442}, fillPattern=FillPattern.Solid, extent={{-86.4334,-33.6442},{86.4334,33.6442}}, textString="Tissue", fontName="Arial")})); - BioChem.Interfaces.Nodes.ProductConnector G_connector annotation(Placement(transformation(origin={0,-80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={0,-110}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance G_t(c.start=130) annotation(Placement(transformation(extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.SubstrateConnector U_idf_connector annotation(Placement(transformation(origin={120,40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={110,60}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.SubstrateConnector U_idm_connector annotation(Placement(transformation(origin={120,-40}, extent={{-10,-10},{10,10}}), iconTransformation(origin={110,-63.4979}, extent={{-10,-10},{10,10}}))); + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Interfaces.Nodes.ProductConnector G_connector annotation( + Placement(transformation(origin = {0, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {0, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance G_t(c.start = 130) annotation( + Placement(transformation(extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector U_idf_connector annotation( + Placement(transformation(origin = {120, 40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.SubstrateConnector U_idm_connector annotation( + Placement(transformation(origin = {120, -40}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {110, -63.4979}, extent = {{-10, -10}, {10, 10}}))); equation - connect(G_t.n1,U_idm_connector) annotation(Line(origin={83.5,-20}, points={{-83.5,20},{23.5,20},{23.5,-20},{36.5,-20}})); - connect(G_t.n1,U_idf_connector) annotation(Line(origin={83.5,20}, points={{-83.5,-20},{23.5,-20},{23.5,20},{36.5,20}})); - connect(G_t.n1,G_connector) annotation(Line(origin={0,-40}, points={{0,40},{0,-40}})); + connect(G_t.n1, U_idm_connector) annotation( + Line(origin = {83.5, -20}, points = {{-83.5, 20}, {23.5, 20}, {23.5, -20}, {36.5, -20}})); + connect(G_t.n1, U_idf_connector) annotation( + Line(origin = {83.5, 20}, points = {{-83.5, -20}, {23.5, -20}, {23.5, 20}, {36.5, 20}})); + connect(G_t.n1, G_connector) annotation( + Line(origin = {0, -40}, points = {{0, 40}, {0, -40}})); + 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 = {Text(origin = {-0.55, -36.0512}, fillPattern = FillPattern.Solid, extent = {{-100.55, -33.9488}, {100.55, 33.9488}}, textString = "glucose", fontName = "Arial"), Text(origin = {3.56664, 43.6442}, fillPattern = FillPattern.Solid, extent = {{-86.4334, -33.6442}, {86.4334, 33.6442}}, textString = "Tissue", fontName = "Arial")})); end TissueGlucose; package AdiposeTissue extends BioChem.Icons.Library; + model Adipocyte - extends BioChem.Compartments.Compartment(V.start=1.0); - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10})), Documentation(info="", revisions="")); - BioChem.Substances.Substance IR(c.start=2340000000000.0) annotation(Placement(transformation(origin={-110,60}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance IR_tot annotation(Placement(transformation(origin={110,60}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance IRS1(c.start=16100000000.0) annotation(Placement(transformation(origin={-80,30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance IRS1_P(c.start=0) annotation(Placement(transformation(origin={-20,30}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ActivationReaction activationReaction2(k_1=0.038, k_2=580000000) annotation(Placement(transformation(origin={-50,30}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ActivationReaction activationReaction3(k_1=1.348, k_2=24800000) annotation(Placement(transformation(origin={-20,0}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance PKB(c.start=16800000) annotation(Placement(transformation(origin={-50,0}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance PKB_P(c.start=0) annotation(Placement(transformation(origin={10,0}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ActivationReaction activationReaction4(k_1=0.019, k_2=336000000) annotation(Placement(transformation(origin={10,-30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance IRS1_tot annotation(Placement(transformation(origin={110,30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance PKB_tot annotation(Placement(transformation(origin={110,0}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.SignalSubstance GLUT4_tot annotation(Placement(transformation(origin={110,-30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance GlucoseUtilization annotation(Placement(transformation(origin={110,-80}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ModifierConnector modifierConnector1 annotation(Placement(transformation(origin={-80,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,0}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ProductConnector productConnector1 annotation(Placement(transformation(origin={-7.77156e-16,-80}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-1.22125e-15,-110}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance GLUT4_MEMBRANE(c.start=0) annotation(Placement(transformation(origin={40,-30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance GLUT4_CYTOSOL(c.start=580000000) annotation(Placement(transformation(origin={-20,-30}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance IR_insulin(c.start=0) annotation(Placement(transformation(origin={-50,60}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.MM_insulin MM_insulin1(k_1=2.464, k_2=54100000000.0, Km=1499) annotation(Placement(transformation(origin={-80,60}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.GlucoseUptakeReaction GlucoseUptake_GLUT4(k=12.435, glut_1=0.071, Km1=0.012, Km4=3462, k_wholebody=2.45) annotation(Placement(transformation(origin={40,-80}, extent={{-10,-10},{10,10}}))); + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Substances.Substance IR(c.start = 2340000000000.0) annotation( + Placement(transformation(origin = {-110, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance IR_tot annotation( + Placement(transformation(origin = {110, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance IRS1(c.start = 16100000000.0) annotation( + Placement(transformation(origin = {-80, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance IRS1_P(c.start = 0) annotation( + Placement(transformation(origin = {-20, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ActivationReaction activationReaction2(k_1 = 0.038, k_2 = 580000000) annotation( + Placement(transformation(origin = {-50, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ActivationReaction activationReaction3(k_1 = 1.348, k_2 = 24800000) annotation( + Placement(transformation(origin = {-20, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance PKB(c.start = 16800000) annotation( + Placement(transformation(origin = {-50, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance PKB_P(c.start = 0) annotation( + Placement(transformation(origin = {10, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.ActivationReaction activationReaction4(k_1 = 0.019, k_2 = 336000000) annotation( + Placement(transformation(origin = {10, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance IRS1_tot annotation( + Placement(transformation(origin = {110, 30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance PKB_tot annotation( + Placement(transformation(origin = {110, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.SignalSubstance GLUT4_tot annotation( + Placement(transformation(origin = {110, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.BoundarySubstance GlucoseUtilization annotation( + Placement(transformation(origin = {110, -80}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ModifierConnector modifierConnector1 annotation( + Placement(transformation(origin = {-80, 90}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 0}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector productConnector1 annotation( + Placement(transformation(origin = {-7.77156e-16, -80}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-1.22125e-15, -110}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance GLUT4_MEMBRANE(c.start = 0) annotation( + Placement(transformation(origin = {40, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance GLUT4_CYTOSOL(c.start = 580000000) annotation( + Placement(transformation(origin = {-20, -30}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Substances.Substance IR_insulin(c.start = 0) annotation( + Placement(transformation(origin = {-50, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.MM_insulin MM_insulin1(k_1 = 2.464, k_2 = 54100000000.0, Km = 1499) annotation( + Placement(transformation(origin = {-80, 60}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Reactions.GlucoseUptakeReaction GlucoseUptake_GLUT4(k = 12.435, glut_1 = 0.071, Km1 = 0.012, Km4 = 3462, k_wholebody = 2.45) annotation( + Placement(transformation(origin = {40, -80}, extent = {{-10, -10}, {10, 10}}))); equation - connect(productConnector1,GlucoseUptake_GLUT4.s1) annotation(Line(origin={14.375,-80}, points={{-14.375,0},{14.375,0}})); - connect(GlucoseUptake_GLUT4.p1,GlucoseUtilization.n1) annotation(Line(origin={80.625,-80}, points={{-29.375,0},{29.375,0}})); - connect(GLUT4_MEMBRANE.n1,GlucoseUptake_GLUT4.m1) annotation(Line(origin={40,-50.5}, points={{0,20.5},{0,-20.5}})); - connect(MM_insulin1.p1,IR_insulin.n1) annotation(Line(origin={-59.375,60}, points={{-9.375,0},{9.375,0}})); - connect(modifierConnector1,MM_insulin1.m1) annotation(Line(origin={-80,79.5}, points={{0,10.5},{0,-10.5}})); - connect(IR.n1,MM_insulin1.s1) annotation(Line(origin={-100.625,60}, points={{-9.375,0},{9.375,0}})); - connect(IR_insulin.n1,activationReaction2.m1) annotation(Line(origin={-50,49.5}, points={{0,10.5},{0,-10.5}})); - connect(GLUT4_CYTOSOL.n1,activationReaction4.s1) annotation(Line(origin={-10.625,-30}, points={{-9.375,0},{9.375,0}})); - connect(activationReaction4.p1,GLUT4_MEMBRANE.n1) annotation(Line(origin={30.625,-30}, points={{-9.375,0},{9.375,0}})); - IR_tot.c=IR.c + IR_insulin.c; - IRS1_tot.c=IRS1.c + IRS1_P.c; - PKB_tot.c=PKB.c + PKB_P.c; - GLUT4_tot.c=GLUT4_CYTOSOL.c + GLUT4_MEMBRANE.c; - connect(PKB_P.n1,activationReaction4.m1) annotation(Line(origin={10,-10.5}, points={{0,10.5},{-1.77636e-15,-10.5}})); - connect(activationReaction3.p1,PKB_P.n1) annotation(Line(origin={0.625,1.11022e-17}, points={{-9.375,1.11022e-17},{9.375,-1.11022e-17}})); - connect(PKB.n1,activationReaction3.s1) annotation(Line(origin={-40.625,1.11022e-17}, points={{-9.375,-1.11022e-17},{9.375,1.11022e-17}})); - connect(IRS1_P.n1,activationReaction3.m1) annotation(Line(origin={-20,19.5}, points={{0,10.5},{0,-10.5}})); - connect(activationReaction2.p1,IRS1_P.n1) annotation(Line(origin={-29.375,30}, points={{-9.375,-3.55271e-15},{9.375,0}})); - connect(IRS1.n1,activationReaction2.s1) annotation(Line(origin={-70.625,30}, points={{-9.375,0},{9.375,0}})); + connect(productConnector1, GlucoseUptake_GLUT4.s1) annotation( + Line(origin = {14.375, -80}, points = {{-14.375, 0}, {14.375, 0}})); + connect(GlucoseUptake_GLUT4.p1, GlucoseUtilization.n1) annotation( + Line(origin = {80.625, -80}, points = {{-29.375, 0}, {29.375, 0}})); + connect(GLUT4_MEMBRANE.n1, GlucoseUptake_GLUT4.m1) annotation( + Line(origin = {40, -50.5}, points = {{0, 20.5}, {0, -20.5}})); + connect(MM_insulin1.p1, IR_insulin.n1) annotation( + Line(origin = {-59.375, 60}, points = {{-9.375, 0}, {9.375, 0}})); + connect(modifierConnector1, MM_insulin1.m1) annotation( + Line(origin = {-80, 79.5}, points = {{0, 10.5}, {0, -10.5}})); + connect(IR.n1, MM_insulin1.s1) annotation( + Line(origin = {-100.625, 60}, points = {{-9.375, 0}, {9.375, 0}})); + connect(IR_insulin.n1, activationReaction2.m1) annotation( + Line(origin = {-50, 49.5}, points = {{0, 10.5}, {0, -10.5}})); + connect(GLUT4_CYTOSOL.n1, activationReaction4.s1) annotation( + Line(origin = {-10.625, -30}, points = {{-9.375, 0}, {9.375, 0}})); + connect(activationReaction4.p1, GLUT4_MEMBRANE.n1) annotation( + Line(origin = {30.625, -30}, points = {{-9.375, 0}, {9.375, 0}})); + IR_tot.c = IR.c + IR_insulin.c; + IRS1_tot.c = IRS1.c + IRS1_P.c; + PKB_tot.c = PKB.c + PKB_P.c; + GLUT4_tot.c = GLUT4_CYTOSOL.c + GLUT4_MEMBRANE.c; + connect(PKB_P.n1, activationReaction4.m1) annotation( + Line(origin = {10, -10.5}, points = {{0, 10.5}, {-1.77636e-15, -10.5}})); + connect(activationReaction3.p1, PKB_P.n1) annotation( + Line(origin = {0.625, 1.11022e-17}, points = {{-9.375, 1.11022e-17}, {9.375, -1.11022e-17}})); + connect(PKB.n1, activationReaction3.s1) annotation( + Line(origin = {-40.625, 1.11022e-17}, points = {{-9.375, -1.11022e-17}, {9.375, 1.11022e-17}})); + connect(IRS1_P.n1, activationReaction3.m1) annotation( + Line(origin = {-20, 19.5}, points = {{0, 10.5}, {0, -10.5}})); + connect(activationReaction2.p1, IRS1_P.n1) annotation( + Line(origin = {-29.375, 30}, points = {{-9.375, -3.55271e-15}, {9.375, 0}})); + connect(IRS1.n1, activationReaction2.s1) annotation( + Line(origin = {-70.625, 30}, points = {{-9.375, 0}, {9.375, 0}})); + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10})), + Documentation(info = "", revisions = "")); end Adipocyte; model AdiposeTissue - extends BioChem.Compartments.Compartment(V.start=1.0); - 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={Text(origin={-3.97,38.38}, fillPattern=FillPattern.Solid, extent={{-96.03,-31.62},{96.03,31.62}}, textString="Fat", fontName="Arial"),Text(origin={-2.5601,-40}, fillPattern=FillPattern.Solid, extent={{-77.4399,-42.4487},{77.4399,42.4487}}, textString="tissue", fontName="Arial")})); - BioChem.Interfaces.Nodes.ModifierConnector I_connector annotation(Placement(transformation(origin={-120,50}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,83.8877}, extent={{-10,-10},{10,10}}))); - BioChem.Interfaces.Nodes.ProductConnector G_t_connector annotation(Placement(transformation(origin={-120,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-110,1.61}, extent={{-10,-10},{10,10}}))); - BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.AdiposeTissue.Adipocyte adipocyte1 annotation(Placement(transformation(origin={0,6.66134e-16}, extent={{-10,-10},{10,10}}))); + extends BioChem.Compartments.Compartment(V.start = 1.0); + BioChem.Interfaces.Nodes.ModifierConnector I_connector annotation( + Placement(transformation(origin = {-120, 50}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 83.8877}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Interfaces.Nodes.ProductConnector G_t_connector annotation( + Placement(transformation(origin = {-120, 0}, extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-110, 1.61}, extent = {{-10, -10}, {10, 10}}))); + BioChem.Examples.GlucoseInsulinModel.Utilities.Parts.AdiposeTissue.Adipocyte adipocyte1 annotation( + Placement(transformation(origin = {0, 6.66134e-16}, extent = {{-10, -10}, {10, 10}}))); equation - connect(adipocyte1.productConnector1,G_t_connector) annotation(Line(origin={-66.8,-8.2005}, points={{66.8,-2.7995},{66.8,-6.80075},{-40.2,-6.80075},{-40.2,8.2005},{-53.2,8.2005}})); - connect(I_connector,adipocyte1.modifierConnector1) annotation(Line(origin={-40.2506,25}, points={{-79.7494,25},{25.2494,25},{25.2494,-25},{29.2506,-25}})); + connect(adipocyte1.productConnector1, G_t_connector) annotation( + Line(origin = {-66.8, -8.2005}, points = {{66.8, -2.7995}, {66.8, -6.80075}, {-40.2, -6.80075}, {-40.2, 8.2005}, {-53.2, 8.2005}})); + connect(I_connector, adipocyte1.modifierConnector1) annotation( + Line(origin = {-40.2506, 25}, points = {{-79.7494, 25}, {25.2494, 25}, {25.2494, -25}, {29.2506, -25}})); + 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 = {Text(origin = {-3.97, 38.38}, fillPattern = FillPattern.Solid, extent = {{-96.03, -31.62}, {96.03, 31.62}}, textString = "Fat", fontName = "Arial"), Text(origin = {-2.5601, -40}, fillPattern = FillPattern.Solid, extent = {{-77.4399, -42.4487}, {77.4399, 42.4487}}, textString = "tissue", fontName = "Arial")})); end AdiposeTissue; - end AdiposeTissue; - end Parts; package Reactions extends BioChem.Icons.Library; + model FlowReaction extends BioChem.Interfaces.Reactions.Uui; - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10}))); parameter Real k; equation - rr=s1.c*k; + rr = s1.c * k; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); end FlowReaction; model k_empt extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.TwoModifiers; - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10}))); Real k; Real aa; Real cc; - parameter Real k_max=0.0558; - parameter Real k_min=0.008; - parameter Real b=0.82; - parameter Real d=0.01; + parameter Real k_max = 0.0558; + parameter Real k_min = 0.008; + parameter Real b = 0.82; + parameter Real d = 0.01; equation - rr=s1.c*k; - k=k_min + (k_max - k_min)/2*(Modelica.Math.tanh(aa*(m1.c - b*m2.c)) - Modelica.Math.tanh(cc*(m1.c - d*m2.c)) + 2); - aa=5/2/(1 - b)/m2.c; - cc=5/2/d/m2.c; + rr = s1.c * k; + k = k_min + (k_max - k_min) / 2 * (Modelica.Math.tanh(aa * (m1.c - b * m2.c)) - Modelica.Math.tanh(cc * (m1.c - d * m2.c)) + 2); + aa = 5 / 2 / (1 - b) / m2.c; + cc = 5 / 2 / d / m2.c; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); end k_empt; model dirac extends BioChem.Interfaces.Reactions.Uui; - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10}))); - parameter Real k=78000000; + parameter Real k = 78000000; equation if time < 0.001 then - rr=k; + rr = k; else - rr=0; + rr = 0; end if; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); end dirac; model m_3 extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; Real k; - parameter Real m_5=0.0304; - parameter Real m_1=0.19; - parameter Real m_6=0.6471; - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10}))); + parameter Real m_5 = 0.0304; + parameter Real m_1 = 0.19; + parameter Real m_6 = 0.6471; equation - rr=s1.c*k; - k=(-m_5*m1.c + m_6)*m_1/(1 - (-m_5*m1.c + m_6)); + rr = s1.c * k; + k = ((-m_5 * m1.c) + m_6) * m_1 / (1 - ((-m_5 * m1.c) + m_6)); + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); end m_3; model ReversibleFlowReaction extends BioChem.Interfaces.Reactions.Uur; - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10}))); parameter Real k_1; parameter Real k_2; equation - rr=s1.c*k_1 - p1.c*k_2; + rr = s1.c * k_1 - p1.c * k_2; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); end ReversibleFlowReaction; model RenalReaction extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10}))); - parameter Real k_e1=0.0005; - parameter Real k_e2=339; + parameter Real k_e1 = 0.0005; + parameter Real k_e2 = 339; equation if m1.c > k_e2 then - rr=s1.c*(k_e1*(m1.c - k_e2)); + rr = s1.c * (k_e1 * (m1.c - k_e2)); else - rr=0; + rr = 0; end if; + annotation( + Diagram(coordinateSystem(extent = {{-148.5, -105}, {148.5, 105}}, preserveAspectRatio = true, grid = {10, 10}))); end RenalReaction; model UtilizationReaction extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; - annotation(Diagram(coordinateSystem(extent={{-148.5,-105},{148.5,105}}, preserveAspectRatio=true, grid={10,10}))); BioChem.Units.Concentration X; Real V_max; parameter Real part; @@ -2817,65 +3514,92 @@ The simulation results of the whole body level are shown in the GlucoseInsulinModel + for more documentation and simulation results. +", revisions = "")); + end GlucoseInsulinModel; + annotation( + Documentation(info = " +

    Examples

    +

    + This package contains several examples of pathways. Including basic examples as an asymmetric reaction with Michaelis-Menten kinetics to more advanced multi compartment models. +

    + ", revisions = ""), + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(lineColor = {0, 0, 127}, fillColor = {85, 85, 255}, fillPattern = FillPattern.Sphere, extent = {{25, -85}, {50, -60}}), Ellipse(lineColor = {89, 0, 0}, fillColor = {199, 0, 0}, fillPattern = FillPattern.Sphere, extent = {{-75, -85}, {-50, -60}}), Ellipse(origin = {-1.77636e-15, -8.81}, lineColor = {0, 85, 0}, fillColor = {0, 170, 0}, fillPattern = FillPattern.Sphere, extent = {{-25, -43.69}, {3.55271e-15, -18.69}}), Ellipse(origin = {-1.77636e-15, -20}, lineColor = {79, 79, 0}, fillColor = {255, 255, 0}, fillPattern = FillPattern.Sphere, extent = {{-25, 30}, {0, 55}}), Line(origin = {0, -8.50446}, points = {{-12.65, 18.5045}, {-12.65, -18.69}}, arrow = {Arrow.Open, Arrow.Open}, arrowSize = 10), Line(points = {{0, -40}, {20, -40}, {34.02, -60}}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 10, smooth = Smooth.Bezier), Line(points = {{-50, -72.78}, {25, -72.78}}, arrow = {Arrow.Open, Arrow.Open}, arrowSize = 10), Line(points = {{-24.8834, -40}, {-45.6721, -40}, {-60, -60}}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 10, smooth = Smooth.Bezier)}), + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); end Examples; diff --git a/BioChem/Examples/package.order b/BioChem/Examples/package.order new file mode 100644 index 0000000..d6d88b1 --- /dev/null +++ b/BioChem/Examples/package.order @@ -0,0 +1,9 @@ +InsulinSignaling_Sedaghat +Glycolysis +EnzMM +GMO +centralMetabolism +CircadianOscillator +CellDivison +CaOscillations +GlucoseInsulinModel From 04d9fdb4e1a4558de38c7cca8d9916d017669f03 Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Sat, 30 May 2020 11:05:10 +0100 Subject: [PATCH 17/27] Separate Biochem.Reactions.MichaelisMenten into separate components --- BioChem/Reactions/MichaelisMenten/Isouur.mo | 20 +++++++++++++++++++ BioChem/Reactions/MichaelisMenten/Uuhr.mo | 19 ++++++++++++++++++ BioChem/Reactions/MichaelisMenten/Uui.mo | 17 ++++++++++++++++ BioChem/Reactions/MichaelisMenten/Uur.mo | 19 ++++++++++++++++++ .../Reactions/MichaelisMenten/package.order | 4 ++++ 5 files changed, 79 insertions(+) create mode 100644 BioChem/Reactions/MichaelisMenten/Isouur.mo create mode 100644 BioChem/Reactions/MichaelisMenten/Uuhr.mo create mode 100644 BioChem/Reactions/MichaelisMenten/Uui.mo create mode 100644 BioChem/Reactions/MichaelisMenten/Uur.mo create mode 100644 BioChem/Reactions/MichaelisMenten/package.order diff --git a/BioChem/Reactions/MichaelisMenten/Isouur.mo b/BioChem/Reactions/MichaelisMenten/Isouur.mo new file mode 100644 index 0000000..682785c --- /dev/null +++ b/BioChem/Reactions/MichaelisMenten/Isouur.mo @@ -0,0 +1,20 @@ +within BioChem.Reactions.MichaelisMenten; + +model Isouur "Iso uni-uni" + extends BioChem.Interfaces.Reactions.Uur; + parameter Real Keq = 1 "Equilibrum constant"; + parameter Real Kii = 1 "Isoinhibition constant"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.Concentration KmP = 1 "Reverse Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * (s1.c - p1.c / Keq) / (s1.c * (1 + p1.c / Kii) + KmS * (1 + p1.c / KmP)); + annotation( + Documentation(info = " +

    + Iso uni-uni. +

    + "), + 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 Isouur; diff --git a/BioChem/Reactions/MichaelisMenten/Uuhr.mo b/BioChem/Reactions/MichaelisMenten/Uuhr.mo new file mode 100644 index 0000000..7358ccb --- /dev/null +++ b/BioChem/Reactions/MichaelisMenten/Uuhr.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.MichaelisMenten; + +model Uuhr "Uni-Uni reversible simple Michaelis-Menten with Haldane adjustment" + extends BioChem.Interfaces.Reactions.Uur; + parameter Real Keq = 1 "Equilibrum constant"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.Concentration KmP = 1 "Reverse Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF / KmS * (s1.c - p1.c / Keq) / (1 + s1.c / KmS + p1.c / KmP); + annotation( + Documentation(info = " +

    + Uni-Uni reversible simple Michaelis-Menten with Haldane adjustment. +

    + "), + 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 Uuhr; diff --git a/BioChem/Reactions/MichaelisMenten/Uui.mo b/BioChem/Reactions/MichaelisMenten/Uui.mo new file mode 100644 index 0000000..68d99ce --- /dev/null +++ b/BioChem/Reactions/MichaelisMenten/Uui.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MichaelisMenten; + +model Uui "Uni-uni irreversible simple Michaelis-Menten" + extends BioChem.Interfaces.Reactions.Uui; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / (KmS + s1.c); + annotation( + Documentation(info = " +

    + Uni-uni irreversible simple Michaelis-Menten. +

    + "), + 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 Uui; diff --git a/BioChem/Reactions/MichaelisMenten/Uur.mo b/BioChem/Reactions/MichaelisMenten/Uur.mo new file mode 100644 index 0000000..d2077d6 --- /dev/null +++ b/BioChem/Reactions/MichaelisMenten/Uur.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.MichaelisMenten; + +model Uur "Uni-uni reversible simple Michaelis-Menten" + extends BioChem.Interfaces.Reactions.Uur; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.Concentration KmP = 1 "Reverse Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverse maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) / (1 + s1.c / KmS + p1.c / KmP); + annotation( + Documentation(info = " +

    + Uni-uni reversible simple Michaelis-Menten. +

    + "), + 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 Uur; diff --git a/BioChem/Reactions/MichaelisMenten/package.order b/BioChem/Reactions/MichaelisMenten/package.order new file mode 100644 index 0000000..ef97e2f --- /dev/null +++ b/BioChem/Reactions/MichaelisMenten/package.order @@ -0,0 +1,4 @@ +Uur +Uui +Uuhr +Isouur From 24b8730433c8095fae3a94cbc29a35517833060f Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Sat, 30 May 2020 11:52:52 +0100 Subject: [PATCH 18/27] separate Biochem.Reactions.MassAction.Reversible into separate components --- .../MassAction/Reversible/BiBi/Bbr.mo | 13 + .../MassAction/Reversible/BiBi/Bbrba.mo | 14 + .../MassAction/Reversible/BiBi/Bbrbabi.mo | 15 + .../MassAction/Reversible/BiBi/Bbrbi.mo | 14 + .../MassAction/Reversible/BiBi/Bbrfa.mo | 14 + .../MassAction/Reversible/BiBi/Bbrfaba.mo | 15 + .../MassAction/Reversible/BiBi/Bbrfababi.mo | 16 + .../MassAction/Reversible/BiBi/Bbrfabi.mo | 15 + .../MassAction/Reversible/BiBi/Bbrfafi.mo | 15 + .../MassAction/Reversible/BiBi/Bbrfafiba.mo | 16 + .../MassAction/Reversible/BiBi/Bbrfafibabi.mo | 17 + .../MassAction/Reversible/BiBi/Bbrfafibi.mo | 16 + .../MassAction/Reversible/BiBi/Bbrfi.mo | 14 + .../MassAction/Reversible/BiBi/Bbrfiba.mo | 15 + .../MassAction/Reversible/BiBi/Bbrfibabi.mo | 16 + .../MassAction/Reversible/BiBi/Bbrfibi.mo | 15 + .../MassAction/Reversible/BiBi/package.mo | 235 +++ .../MassAction/Reversible/BiBi/package.order | 16 + .../MassAction/Reversible/BiTri/Btr.mo | 13 + .../MassAction/Reversible/BiTri/Btrba.mo | 14 + .../MassAction/Reversible/BiTri/Btrbabi.mo | 15 + .../MassAction/Reversible/BiTri/Btrbi.mo | 14 + .../MassAction/Reversible/BiTri/Btrfa.mo | 14 + .../MassAction/Reversible/BiTri/Btrfaba.mo | 15 + .../MassAction/Reversible/BiTri/Btrfababi.mo | 16 + .../MassAction/Reversible/BiTri/Btrfabi.mo | 15 + .../MassAction/Reversible/BiTri/Btrfafi.mo | 15 + .../MassAction/Reversible/BiTri/Btrfafiba.mo | 16 + .../Reversible/BiTri/Btrfafibabi.mo | 17 + .../MassAction/Reversible/BiTri/Btrfafibi.mo | 16 + .../MassAction/Reversible/BiTri/Btrfi.mo | 14 + .../MassAction/Reversible/BiTri/Btrfiba.mo | 15 + .../MassAction/Reversible/BiTri/Btrfibabi.mo | 16 + .../MassAction/Reversible/BiTri/Btrfibi.mo | 15 + .../MassAction/Reversible/BiTri/package.mo | 184 ++ .../MassAction/Reversible/BiTri/package.order | 16 + .../MassAction/Reversible/BiUni/Bur.mo | 13 + .../MassAction/Reversible/BiUni/Burba.mo | 14 + .../MassAction/Reversible/BiUni/Burbabi.mo | 15 + .../MassAction/Reversible/BiUni/Burbi.mo | 14 + .../MassAction/Reversible/BiUni/Burfa.mo | 14 + .../MassAction/Reversible/BiUni/Burfaba.mo | 15 + .../MassAction/Reversible/BiUni/Burfababi.mo | 16 + .../MassAction/Reversible/BiUni/Burfabi.mo | 15 + .../MassAction/Reversible/BiUni/Burfafi.mo | 15 + .../MassAction/Reversible/BiUni/Burfafiba.mo | 16 + .../Reversible/BiUni/Burfafibabi.mo | 17 + .../MassAction/Reversible/BiUni/Burfafibi.mo | 16 + .../MassAction/Reversible/BiUni/Burfi.mo | 14 + .../MassAction/Reversible/BiUni/Burfiba.mo | 15 + .../MassAction/Reversible/BiUni/Burfibabi.mo | 16 + .../MassAction/Reversible/BiUni/Burfibi.mo | 15 + .../MassAction/Reversible/BiUni/package.mo | 235 +++ .../MassAction/Reversible/BiUni/package.order | 16 + .../MassAction/Reversible/TriBi/Tbr.mo | 13 + .../MassAction/Reversible/TriBi/Tbrba.mo | 14 + .../MassAction/Reversible/TriBi/Tbrbabi.mo | 15 + .../MassAction/Reversible/TriBi/Tbrbi.mo | 14 + .../MassAction/Reversible/TriBi/Tbrfa.mo | 14 + .../MassAction/Reversible/TriBi/Tbrfaba.mo | 15 + .../MassAction/Reversible/TriBi/Tbrfababi.mo | 16 + .../MassAction/Reversible/TriBi/Tbrfabi.mo | 15 + .../MassAction/Reversible/TriBi/Tbrfafi.mo | 15 + .../MassAction/Reversible/TriBi/Tbrfafiba.mo | 16 + .../Reversible/TriBi/Tbrfafibabi.mo | 17 + .../MassAction/Reversible/TriBi/Tbrfafibi.mo | 16 + .../MassAction/Reversible/TriBi/Tbrfi.mo | 14 + .../MassAction/Reversible/TriBi/Tbrfiba.mo | 15 + .../MassAction/Reversible/TriBi/Tbrfibabi.mo | 16 + .../MassAction/Reversible/TriBi/Tbrfibi.mo | 15 + .../MassAction/Reversible/TriBi/package.mo | 235 +++ .../MassAction/Reversible/TriBi/package.order | 16 + .../MassAction/Reversible/TriTri/Ttr.mo | 13 + .../MassAction/Reversible/TriTri/Ttrba.mo | 14 + .../MassAction/Reversible/TriTri/Ttrbabi.mo | 15 + .../MassAction/Reversible/TriTri/Ttrbi.mo | 14 + .../MassAction/Reversible/TriTri/Ttrfa.mo | 14 + .../MassAction/Reversible/TriTri/Ttrfaba.mo | 15 + .../MassAction/Reversible/TriTri/Ttrfababi.mo | 16 + .../MassAction/Reversible/TriTri/Ttrfabi.mo | 15 + .../MassAction/Reversible/TriTri/Ttrfafi.mo | 15 + .../MassAction/Reversible/TriTri/Ttrfafiba.mo | 16 + .../Reversible/TriTri/Ttrfafibabi.mo | 17 + .../MassAction/Reversible/TriTri/Ttrfafibi.mo | 16 + .../MassAction/Reversible/TriTri/Ttrfi.mo | 14 + .../MassAction/Reversible/TriTri/Ttrfiba.mo | 15 + .../MassAction/Reversible/TriTri/Ttrfibabi.mo | 16 + .../MassAction/Reversible/TriTri/Ttrfibi.mo | 15 + .../MassAction/Reversible/TriTri/package.mo | 235 +++ .../Reversible/TriTri/package.order | 16 + .../MassAction/Reversible/TriUni/Tur.mo | 13 + .../MassAction/Reversible/TriUni/Turba.mo | 14 + .../MassAction/Reversible/TriUni/Turbabi.mo | 15 + .../MassAction/Reversible/TriUni/Turbi.mo | 14 + .../MassAction/Reversible/TriUni/Turfa.mo | 14 + .../MassAction/Reversible/TriUni/Turfaba.mo | 15 + .../MassAction/Reversible/TriUni/Turfababi.mo | 16 + .../MassAction/Reversible/TriUni/Turfabi.mo | 15 + .../MassAction/Reversible/TriUni/Turfafi.mo | 15 + .../MassAction/Reversible/TriUni/Turfafiba.mo | 16 + .../Reversible/TriUni/Turfafibabi.mo | 17 + .../MassAction/Reversible/TriUni/Turfafibi.mo | 16 + .../MassAction/Reversible/TriUni/Turfi.mo | 14 + .../MassAction/Reversible/TriUni/Turfiba.mo | 15 + .../MassAction/Reversible/TriUni/Turfibabi.mo | 16 + .../MassAction/Reversible/TriUni/Turfibi.mo | 15 + .../MassAction/Reversible/TriUni/package.mo | 235 +++ .../Reversible/TriUni/package.order | 16 + .../MassAction/Reversible/UniBi/Ubr.mo | 13 + .../MassAction/Reversible/UniBi/Ubrba.mo | 14 + .../MassAction/Reversible/UniBi/Ubrbabi.mo | 15 + .../MassAction/Reversible/UniBi/Ubrbi.mo | 14 + .../MassAction/Reversible/UniBi/Ubrfa.mo | 14 + .../MassAction/Reversible/UniBi/Ubrfaba.mo | 15 + .../MassAction/Reversible/UniBi/Ubrfababi.mo | 16 + .../MassAction/Reversible/UniBi/Ubrfabi.mo | 15 + .../MassAction/Reversible/UniBi/Ubrfafi.mo | 15 + .../MassAction/Reversible/UniBi/Ubrfafiba.mo | 16 + .../Reversible/UniBi/Ubrfafibabi.mo | 17 + .../MassAction/Reversible/UniBi/Ubrfafibi.mo | 16 + .../MassAction/Reversible/UniBi/Ubrfi.mo | 14 + .../MassAction/Reversible/UniBi/Ubrfiba.mo | 15 + .../MassAction/Reversible/UniBi/Ubrfibabi.mo | 16 + .../MassAction/Reversible/UniBi/Ubrfibi.mo | 15 + .../MassAction/Reversible/UniBi/package.mo | 235 +++ .../MassAction/Reversible/UniBi/package.order | 16 + .../MassAction/Reversible/UniTri/Utr.mo | 13 + .../MassAction/Reversible/UniTri/Utrba.mo | 14 + .../MassAction/Reversible/UniTri/Utrbabi.mo | 15 + .../MassAction/Reversible/UniTri/Utrbi.mo | 14 + .../MassAction/Reversible/UniTri/Utrfa.mo | 14 + .../MassAction/Reversible/UniTri/Utrfaba.mo | 15 + .../MassAction/Reversible/UniTri/Utrfababi.mo | 16 + .../MassAction/Reversible/UniTri/Utrfabi.mo | 15 + .../MassAction/Reversible/UniTri/Utrfafi.mo | 15 + .../MassAction/Reversible/UniTri/Utrfafiba.mo | 16 + .../Reversible/UniTri/Utrfafibabi.mo | 17 + .../MassAction/Reversible/UniTri/Utrfafibi.mo | 16 + .../MassAction/Reversible/UniTri/Utrfi.mo | 14 + .../MassAction/Reversible/UniTri/Utrfiba.mo | 15 + .../MassAction/Reversible/UniTri/Utrfibabi.mo | 16 + .../MassAction/Reversible/UniTri/Utrfibi.mo | 15 + .../MassAction/Reversible/UniTri/package.mo | 235 +++ .../Reversible/UniTri/package.order | 16 + .../MassAction/Reversible/UniUni/Uur.mo | 13 + .../MassAction/Reversible/UniUni/Uurba.mo | 14 + .../MassAction/Reversible/UniUni/Uurbabi.mo | 15 + .../MassAction/Reversible/UniUni/Uurbi.mo | 14 + .../MassAction/Reversible/UniUni/Uurfa.mo | 14 + .../MassAction/Reversible/UniUni/Uurfaba.mo | 15 + .../MassAction/Reversible/UniUni/Uurfababi.mo | 16 + .../MassAction/Reversible/UniUni/Uurfabi.mo | 15 + .../MassAction/Reversible/UniUni/Uurfafi.mo | 15 + .../MassAction/Reversible/UniUni/Uurfafiba.mo | 16 + .../Reversible/UniUni/Uurfafibabi.mo | 17 + .../MassAction/Reversible/UniUni/Uurfafibi.mo | 16 + .../MassAction/Reversible/UniUni/Uurfi.mo | 14 + .../MassAction/Reversible/UniUni/Uurfiba.mo | 15 + .../MassAction/Reversible/UniUni/Uurfibabi.mo | 16 + .../MassAction/Reversible/UniUni/Uurfibi.mo | 15 + .../MassAction/Reversible/UniUni/package.mo | 235 +++ .../Reversible/UniUni/package.order | 16 + .../MassAction/Reversible/package.mo | 1693 ++++++----------- .../MassAction/Reversible/package.order | 9 + 164 files changed, 4990 insertions(+), 1080 deletions(-) create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbr.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrbabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrbi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfa.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfaba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfababi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/package.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiBi/package.order create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btr.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrbabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrbi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfa.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfaba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfababi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/Btrfibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/package.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiTri/package.order create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Bur.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burbabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burbi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfa.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfaba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfababi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfafi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfafiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfafibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfafibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/Burfibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/package.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/BiUni/package.order create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbr.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrbabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrbi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfa.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfaba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfababi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/package.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriBi/package.order create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttr.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrbabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrbi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfa.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfaba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfababi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/package.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriTri/package.order create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Tur.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turbabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turbi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfa.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfaba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfababi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfafi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfafiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfafibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfafibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/Turfibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/package.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/TriUni/package.order create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubr.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrbabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrbi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfa.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfaba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfababi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/package.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniBi/package.order create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utr.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrbabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrbi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfa.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfaba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfababi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/Utrfibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/package.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniTri/package.order create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uur.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurbabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurbi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfa.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfaba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfababi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfiba.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfibabi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/Uurfibi.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/package.mo create mode 100644 BioChem/Reactions/MassAction/Reversible/UniUni/package.order create mode 100644 BioChem/Reactions/MassAction/Reversible/package.order diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbr.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbr.mo new file mode 100644 index 0000000..e654bec --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbr.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbr "Bi-bi reversible reaction" + extends BioChem.Interfaces.Reactions.Bbr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Reversible/BiBi/Bbrba.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrba.mo new file mode 100644 index 0000000..66e4260 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrba.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrba "Bi-bi reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrbabi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrbabi.mo new file mode 100644 index 0000000..00c69d8 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrbabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrbabi "Bi-bi reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrbabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrbi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrbi.mo new file mode 100644 index 0000000..0b7cd12 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrbi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrbi "Bi-bi reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrbi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfa.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfa.mo new file mode 100644 index 0000000..e0e74c6 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfa.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfa "Bi-bi reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfa; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfaba.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfaba.mo new file mode 100644 index 0000000..2f7e988 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfaba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfaba "Bi-bi reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfaba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfababi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfababi.mo new file mode 100644 index 0000000..dd5124c --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfababi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfababi "Bi-bi reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfababi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfabi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfabi.mo new file mode 100644 index 0000000..beb951d --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfabi "Bi-bi reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafi.mo new file mode 100644 index 0000000..3b0aa53 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfafi "Bi-bi reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafiba.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafiba.mo new file mode 100644 index 0000000..bdcc960 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafiba.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfafiba "Bi-bi reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafiba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafibabi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafibabi.mo new file mode 100644 index 0000000..e301a87 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafibabi.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfafibabi "Bi-bi reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafibi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafibi.mo new file mode 100644 index 0000000..a9b2465 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfafibi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfafibi "Bi-bi reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafibi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfi.mo new file mode 100644 index 0000000..1f01675 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfi "Bi-bi reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfiba.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfiba.mo new file mode 100644 index 0000000..e891776 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfiba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfiba "Bi-bi reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfiba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfibabi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfibabi.mo new file mode 100644 index 0000000..502bee5 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfibabi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfibabi "Bi-bi reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfibi.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfibi.mo new file mode 100644 index 0000000..01892a6 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/Bbrfibi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiBi; + +model Bbrfibi "Bi-bi reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfibi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/package.mo b/BioChem/Reactions/MassAction/Reversible/BiBi/package.mo new file mode 100644 index 0000000..592e864 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/package.mo @@ -0,0 +1,235 @@ +within BioChem.Reactions.MassAction.Reversible; + +package BiBi "A+B <-> C+D reactions" + extends Icons.Library; + + model Bbrfibi "Bi-bi reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfibi; + + model Bbrfibabi "Bi-bi reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfibabi; + + model Bbrfiba "Bi-bi reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfiba; + + model Bbrfi "Bi-bi reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfi; + + model Bbrfafibi "Bi-bi reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafibi; + + model Bbrfafibabi "Bi-bi reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafibabi; + + model Bbrfafiba "Bi-bi reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafiba; + + model Bbrfafi "Bi-bi reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafi; + + model Bbrfabi "Bi-bi reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfabi; + + model Bbrfababi "Bi-bi reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfababi; + + model Bbrfaba "Bi-bi reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfaba; + + model Bbrfa "Bi-bi reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfa; + + model Bbrbi "Bi-bi reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrbi; + + model Bbrbabi "Bi-bi reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrbabi; + + model Bbrba "Bi-bi reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Bbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrba; + + model Bbr "Bi-bi reversible reaction" + extends BioChem.Interfaces.Reactions.Bbr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with two reactants and two products.

    + "), + 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 BiBi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiBi/package.order b/BioChem/Reactions/MassAction/Reversible/BiBi/package.order new file mode 100644 index 0000000..4f21b4b --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiBi/package.order @@ -0,0 +1,16 @@ +Bbrfibi +Bbrfibabi +Bbrfiba +Bbrfi +Bbrfafibi +Bbrfafibabi +Bbrfafiba +Bbrfafi +Bbrfabi +Bbrfababi +Bbrfaba +Bbrfa +Bbrbi +Bbrbabi +Bbrba +Bbr diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btr.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btr.mo new file mode 100644 index 0000000..eaffb6a --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btr.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btr "Bi-tri reversible reaction" + extends BioChem.Interfaces.Reactions.Btr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Reversible/BiTri/Btrba.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrba.mo new file mode 100644 index 0000000..c8bcb9a --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrba.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrba "Bi-tri reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrbabi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrbabi.mo new file mode 100644 index 0000000..f2022be --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrbabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrbabi "Bi-tri reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrbabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrbi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrbi.mo new file mode 100644 index 0000000..4a65a86 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrbi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrbi "Bi-tri reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrbi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfa.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfa.mo new file mode 100644 index 0000000..cac57ac --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfa.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfa "Bi-tri reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfa; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfaba.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfaba.mo new file mode 100644 index 0000000..190f16f --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfaba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfaba "Bi-tri reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfaba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfababi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfababi.mo new file mode 100644 index 0000000..b1afa7d --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfababi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfababi "Bi-tri reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfababi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfabi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfabi.mo new file mode 100644 index 0000000..4e07cdb --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfabi "Bi-tri reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafi.mo new file mode 100644 index 0000000..59a8e08 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfafi "Bi-tri reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfafi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafiba.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafiba.mo new file mode 100644 index 0000000..3770597 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafiba.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfafiba "Bi-tri reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfafiba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafibabi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafibabi.mo new file mode 100644 index 0000000..eac1aef --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafibabi.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfafibabi "Bi-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfafibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafibi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafibi.mo new file mode 100644 index 0000000..9e38e00 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfafibi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfafibi "Bi-tri reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfafibi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfi.mo new file mode 100644 index 0000000..63024e0 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfi "Bi-tri reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfiba.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfiba.mo new file mode 100644 index 0000000..a1e495b --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfiba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfiba "Bi-tri reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfiba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfibabi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfibabi.mo new file mode 100644 index 0000000..95fa115 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfibabi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfibabi "Bi-tri reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfibi.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfibi.mo new file mode 100644 index 0000000..1d1ad08 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/Btrfibi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiTri; + +model Btrfibi "Bi-tri reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Btrfibi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/package.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/package.mo new file mode 100644 index 0000000..e3cc015 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/package.mo @@ -0,0 +1,184 @@ +within BioChem.Reactions.MassAction.Reversible; + +package BiTri "A+B <-> C+D+E reactions" + extends Icons.Library; + annotation(Documentation(info=" +

    This package contains models for stoichiometric reactions with two reactants and three products.

    +"), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + model Btrfibi "Bi-tri reversible forward inhibition, backward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfibi; + + model Btrfibabi "Bi-tri reversible forward inhibition, backward activation, backward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfibabi; + + model Btrfiba "Bi-tri reversible forward inhibition, backward activation reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfiba; + + model Btrfi "Bi-tri reversible forward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfi; + + model Btrfafibi "Bi-tri reversible forward activation, forward inhibition, backward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfafibi; + + model Btrfafibabi "Bi-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfafibabi; + + model Btrfafiba "Bi-tri reversible forward activation, forward inhibition, backward activation reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfafiba; + + model Btrfafi "Bi-tri reversible forward activation, forward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfafi; + + model Btrfabi "Bi-tri reversible forward activation, backward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfabi; + + model Btrfababi "Bi-tri reversible forward activation, backward activation, backward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfababi; + + model Btrfaba "Bi-tri reversible forward activation, backward activation reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfaba; + + model Btrfa "Bi-tri reversible forward activation reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrfa; + + model Btrbi "Bi-tri reversible backward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrbi; + + model Btrbabi "Bi-tri reversible backward activation, backward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrbabi; + + model Btrba "Bi-tri reversible backward activation reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btrba; + + model Btr "Bi-tri reversible reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Btr; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + equation + rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + end Btr; + +end BiTri; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/package.order b/BioChem/Reactions/MassAction/Reversible/BiTri/package.order new file mode 100644 index 0000000..0928dae --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/package.order @@ -0,0 +1,16 @@ +Btrfibi +Btrfibabi +Btrfiba +Btrfi +Btrfafibi +Btrfafibabi +Btrfafiba +Btrfafi +Btrfabi +Btrfababi +Btrfaba +Btrfa +Btrbi +Btrbabi +Btrba +Btr diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Bur.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Bur.mo new file mode 100644 index 0000000..d5aa700 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Bur.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Bur "Bi-uni reversible reaction" + extends BioChem.Interfaces.Reactions.Bur; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Reversible/BiUni/Burba.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burba.mo new file mode 100644 index 0000000..2116a13 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burba.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burba "Bi-uni reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burbabi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burbabi.mo new file mode 100644 index 0000000..50533dc --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burbabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burbabi "Bi-uni reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burbabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burbi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burbi.mo new file mode 100644 index 0000000..24cc43a --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burbi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burbi "Bi-uni reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burbi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfa.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfa.mo new file mode 100644 index 0000000..705b533 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfa.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfa "Bi-uni reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfa; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfaba.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfaba.mo new file mode 100644 index 0000000..b71779b --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfaba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfaba "Bi-uni reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfaba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfababi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfababi.mo new file mode 100644 index 0000000..7f4ade9 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfababi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfababi "Bi-uni reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfababi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfabi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfabi.mo new file mode 100644 index 0000000..7b7d0bc --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfabi "Bi-uni reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafi.mo new file mode 100644 index 0000000..635290e --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfafi "Bi-uni reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafiba.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafiba.mo new file mode 100644 index 0000000..0a0c012 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafiba.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfafiba "Bi-uni reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafiba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafibabi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafibabi.mo new file mode 100644 index 0000000..874e2a4 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafibabi.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfafibabi "Bi-uni reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafibi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafibi.mo new file mode 100644 index 0000000..b41744e --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfafibi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfafibi "Bi-uni reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafibi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfi.mo new file mode 100644 index 0000000..38148db --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfi "Bi-uni reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfiba.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfiba.mo new file mode 100644 index 0000000..5b941de --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfiba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfiba "Bi-uni reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfiba; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfibabi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfibabi.mo new file mode 100644 index 0000000..a2fdf0c --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfibabi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfibabi "Bi-uni reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/Burfibi.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfibi.mo new file mode 100644 index 0000000..6dbbb75 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/Burfibi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.BiUni; + +model Burfibi "Bi-uni reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfibi; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/package.mo b/BioChem/Reactions/MassAction/Reversible/BiUni/package.mo new file mode 100644 index 0000000..d604108 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/package.mo @@ -0,0 +1,235 @@ +within BioChem.Reactions.MassAction.Reversible; + +package BiUni "A+B <-> C reactions" + extends Icons.Library; + + model Burfibi "Bi-uni reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfibi; + + model Burfibabi "Bi-uni reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfibabi; + + model Burfiba "Bi-uni reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfiba; + + model Burfi "Bi-uni reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfi; + + model Burfafibi "Bi-uni reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafibi; + + model Burfafibabi "Bi-uni reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafibabi; + + model Burfafiba "Bi-uni reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafiba; + + model Burfafi "Bi-uni reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafi; + + model Burfabi "Bi-uni reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfabi; + + model Burfababi "Bi-uni reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfababi; + + model Burfaba "Bi-uni reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfaba; + + model Burfa "Bi-uni reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfa; + + model Burbi "Bi-uni reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burbi; + + model Burbabi "Bi-uni reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burbabi; + + model Burba "Bi-uni reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Bur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burba; + + model Bur "Bi-uni reversible reaction" + extends BioChem.Interfaces.Reactions.Bur; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with two reactants and one product.

    + "), + 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 BiUni; diff --git a/BioChem/Reactions/MassAction/Reversible/BiUni/package.order b/BioChem/Reactions/MassAction/Reversible/BiUni/package.order new file mode 100644 index 0000000..f93f903 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/BiUni/package.order @@ -0,0 +1,16 @@ +Burfibi +Burfibabi +Burfiba +Burfi +Burfafibi +Burfafibabi +Burfafiba +Burfafi +Burfabi +Burfababi +Burfaba +Burfa +Burbi +Burbabi +Burba +Bur diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbr.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbr.mo new file mode 100644 index 0000000..6857913 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbr.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbr "Tri-bi reversible reaction" + extends BioChem.Interfaces.Reactions.Tbr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Reversible/TriBi/Tbrba.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrba.mo new file mode 100644 index 0000000..8ea6348 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrba.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrba "Tri-bi reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrbabi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrbabi.mo new file mode 100644 index 0000000..8e2bedd --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrbabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrbabi "Tri-bi reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrbabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrbi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrbi.mo new file mode 100644 index 0000000..57a962d --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrbi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrbi "Tri-bi reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrbi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfa.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfa.mo new file mode 100644 index 0000000..5da7626 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfa.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfa "Tri-bi reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfa; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfaba.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfaba.mo new file mode 100644 index 0000000..05c3372 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfaba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfaba "Tri-bi reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfaba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfababi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfababi.mo new file mode 100644 index 0000000..3283f72 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfababi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfababi "Tri-bi reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfababi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfabi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfabi.mo new file mode 100644 index 0000000..82fd200 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfabi "Tri-bi reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafi.mo new file mode 100644 index 0000000..33abbf7 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfafi "Tri-bi reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfafi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafiba.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafiba.mo new file mode 100644 index 0000000..a1f8700 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafiba.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfafiba "Tri-bi reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfafiba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafibabi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafibabi.mo new file mode 100644 index 0000000..715dd6c --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafibabi.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfafibabi "Tri-bi reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfafibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafibi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafibi.mo new file mode 100644 index 0000000..260db33 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfafibi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfafibi "Tri-bi reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfafibi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfi.mo new file mode 100644 index 0000000..f32206e --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfi "Tri-bi reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfiba.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfiba.mo new file mode 100644 index 0000000..2dd2c25 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfiba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfiba "Tri-bi reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfiba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfibabi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfibabi.mo new file mode 100644 index 0000000..dad6f06 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfibabi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfibabi "Tri-bi reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfibi.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfibi.mo new file mode 100644 index 0000000..0cace4e --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/Tbrfibi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriBi; + +model Tbrfibi "Tri-bi reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfibi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/package.mo b/BioChem/Reactions/MassAction/Reversible/TriBi/package.mo new file mode 100644 index 0000000..366d4c5 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/package.mo @@ -0,0 +1,235 @@ +within BioChem.Reactions.MassAction.Reversible; + +package TriBi "A+B+C <-> D+E reactions" + extends Icons.Library; + + model Tbrfibi "Tri-bi reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfibi; + + model Tbrfibabi "Tri-bi reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfibabi; + + model Tbrfiba "Tri-bi reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfiba; + + model Tbrfi "Tri-bi reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfi; + + model Tbrfafibi "Tri-bi reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfafibi; + + model Tbrfafibabi "Tri-bi reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfafibabi; + + model Tbrfafiba "Tri-bi reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfafiba; + + model Tbrfafi "Tri-bi reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfafi; + + model Tbrfabi "Tri-bi reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfabi; + + model Tbrfababi "Tri-bi reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfababi; + + model Tbrfaba "Tri-bi reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfaba; + + model Tbrfa "Tri-bi reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrfa; + + model Tbrbi "Tri-bi reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrbi; + + model Tbrbabi "Tri-bi reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrbabi; + + model Tbrba "Tri-bi reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Tbr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Tbrba; + + model Tbr "Tri-bi reversible reaction" + extends BioChem.Interfaces.Reactions.Tbr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with three reactants and two products

    +"), + 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 TriBi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriBi/package.order b/BioChem/Reactions/MassAction/Reversible/TriBi/package.order new file mode 100644 index 0000000..b778098 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriBi/package.order @@ -0,0 +1,16 @@ +Tbrfibi +Tbrfibabi +Tbrfiba +Tbrfi +Tbrfafibi +Tbrfafibabi +Tbrfafiba +Tbrfafi +Tbrfabi +Tbrfababi +Tbrfaba +Tbrfa +Tbrbi +Tbrbabi +Tbrba +Tbr diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttr.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttr.mo new file mode 100644 index 0000000..2a99e05 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttr.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttr "Tri-tri reversible reaction" + extends BioChem.Interfaces.Reactions.Ttr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Reversible/TriTri/Ttrba.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrba.mo new file mode 100644 index 0000000..cd3b74d --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrba.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrba "Tri-tri reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrbabi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrbabi.mo new file mode 100644 index 0000000..7e6236a --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrbabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrbabi "Tri-tri reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrbabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrbi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrbi.mo new file mode 100644 index 0000000..b7b6e06 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrbi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrbi "Tri-tri reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrbi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfa.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfa.mo new file mode 100644 index 0000000..dc87c09 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfa.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfa "Tri-tri reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfa; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfaba.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfaba.mo new file mode 100644 index 0000000..7ee1c3e --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfaba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfaba "Tri-tri reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfaba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfababi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfababi.mo new file mode 100644 index 0000000..bae2295 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfababi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfababi "Tri-tri reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfababi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfabi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfabi.mo new file mode 100644 index 0000000..99a2831 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfabi "Tri-tri reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafi.mo new file mode 100644 index 0000000..12c6fc0 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfafi "Tri-tri reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfafi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafiba.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafiba.mo new file mode 100644 index 0000000..f42c961 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafiba.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfafiba "Tri-tri reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfafiba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafibabi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafibabi.mo new file mode 100644 index 0000000..0e4af70 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafibabi.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfafibabi "Tri-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfafibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafibi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafibi.mo new file mode 100644 index 0000000..654f664 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfafibi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfafibi "Tri-tri reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfafibi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfi.mo new file mode 100644 index 0000000..ae44ba3 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfi "Tri-tri reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfiba.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfiba.mo new file mode 100644 index 0000000..233bf20 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfiba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfiba "Tri-tri reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfiba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfibabi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfibabi.mo new file mode 100644 index 0000000..b733a3c --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfibabi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfibabi "Tri-tri reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfibi.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfibi.mo new file mode 100644 index 0000000..0785d9e --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/Ttrfibi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriTri; + +model Ttrfibi "Tri-tri reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfibi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/package.mo b/BioChem/Reactions/MassAction/Reversible/TriTri/package.mo new file mode 100644 index 0000000..8b017cd --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/package.mo @@ -0,0 +1,235 @@ +within BioChem.Reactions.MassAction.Reversible; + +package TriTri "A+B+C <-> D+E+F reactions" + extends Icons.Library; + + model Ttrfibi "Tri-tri reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfibi; + + model Ttrfibabi "Tri-tri reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfibabi; + + model Ttrfiba "Tri-tri reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfiba; + + model Ttrfi "Tri-tri reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfi; + + model Ttrfafibi "Tri-tri reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfafibi; + + model Ttrfafibabi "Tri-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfafibabi; + + model Ttrfafiba "Tri-tri reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfafiba; + + model Ttrfafi "Tri-tri reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfafi; + + model Ttrfabi "Tri-tri reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfabi; + + model Ttrfababi "Tri-tri reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfababi; + + model Ttrfaba "Tri-tri reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfaba; + + model Ttrfa "Tri-tri reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrfa; + + model Ttrbi "Tri-tri reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrbi; + + model Ttrbabi "Tri-tri reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrbabi; + + model Ttrba "Tri-tri reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Ttr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Ttrba; + + model Ttr "Tri-tri reversible reaction" + extends BioChem.Interfaces.Reactions.Ttr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with three reactants and three products.

    +"), + 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 TriTri; diff --git a/BioChem/Reactions/MassAction/Reversible/TriTri/package.order b/BioChem/Reactions/MassAction/Reversible/TriTri/package.order new file mode 100644 index 0000000..8ee4e19 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriTri/package.order @@ -0,0 +1,16 @@ +Ttrfibi +Ttrfibabi +Ttrfiba +Ttrfi +Ttrfafibi +Ttrfafibabi +Ttrfafiba +Ttrfafi +Ttrfabi +Ttrfababi +Ttrfaba +Ttrfa +Ttrbi +Ttrbabi +Ttrba +Ttr diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Tur.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Tur.mo new file mode 100644 index 0000000..4de2606 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Tur.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Tur "Tri-uni reversible reaction" + extends BioChem.Interfaces.Reactions.Tur; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Reversible/TriUni/Turba.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turba.mo new file mode 100644 index 0000000..61b5134 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turba.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turba "Tri-uni reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turbabi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turbabi.mo new file mode 100644 index 0000000..98763b8 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turbabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turbabi "Tri-uni reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turbabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turbi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turbi.mo new file mode 100644 index 0000000..9a18793 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turbi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turbi "Tri-uni reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turbi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfa.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfa.mo new file mode 100644 index 0000000..537de6d --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfa.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfa "Tri-uni reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfa; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfaba.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfaba.mo new file mode 100644 index 0000000..0ff7924 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfaba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfaba "Tri-uni reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfaba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfababi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfababi.mo new file mode 100644 index 0000000..582ac7a --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfababi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfababi "Tri-uni reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfababi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfabi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfabi.mo new file mode 100644 index 0000000..604cbdb --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfabi "Tri-uni reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafi.mo new file mode 100644 index 0000000..bbfc3e3 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfafi "Tri-uni reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfafi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafiba.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafiba.mo new file mode 100644 index 0000000..b9ad87d --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafiba.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfafiba "Tri-uni reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfafiba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafibabi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafibabi.mo new file mode 100644 index 0000000..093865c --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafibabi.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfafibabi "Tri-uni reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfafibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafibi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafibi.mo new file mode 100644 index 0000000..0507138 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfafibi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfafibi "Tri-uni reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfafibi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfi.mo new file mode 100644 index 0000000..9f55aa9 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfi "Tri-uni reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfiba.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfiba.mo new file mode 100644 index 0000000..ca5dd9b --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfiba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfiba "Tri-uni reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfiba; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfibabi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfibabi.mo new file mode 100644 index 0000000..cfc8753 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfibabi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfibabi "Tri-uni reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/Turfibi.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfibi.mo new file mode 100644 index 0000000..2d45524 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/Turfibi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.TriUni; + +model Turfibi "Tri-uni reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfibi; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/package.mo b/BioChem/Reactions/MassAction/Reversible/TriUni/package.mo new file mode 100644 index 0000000..6a546c1 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/package.mo @@ -0,0 +1,235 @@ +within BioChem.Reactions.MassAction.Reversible; + +package TriUni "A+B+C <-> D reactions" + extends Icons.Library; + + model Turfibi "Tri-uni reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfibi; + + model Turfibabi "Tri-uni reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfibabi; + + model Turfiba "Tri-uni reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfiba; + + model Turfi "Tri-uni reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfi; + + model Turfafibi "Tri-uni reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfafibi; + + model Turfafibabi "Tri-uni reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfafibabi; + + model Turfafiba "Tri-uni reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfafiba; + + model Turfafi "Tri-uni reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfafi; + + model Turfabi "Tri-uni reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfabi; + + model Turfababi "Tri-uni reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfababi; + + model Turfaba "Tri-uni reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfaba; + + model Turfa "Tri-uni reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turfa; + + model Turbi "Tri-uni reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turbi; + + model Turbabi "Tri-uni reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turbabi; + + model Turba "Tri-uni reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Tur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Turba; + + model Tur "Tri-uni reversible reaction" + extends BioChem.Interfaces.Reactions.Tur; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with three reactants and one product.

    +"), + 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 TriUni; diff --git a/BioChem/Reactions/MassAction/Reversible/TriUni/package.order b/BioChem/Reactions/MassAction/Reversible/TriUni/package.order new file mode 100644 index 0000000..eb9c98a --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/TriUni/package.order @@ -0,0 +1,16 @@ +Turfibi +Turfibabi +Turfiba +Turfi +Turfafibi +Turfafibabi +Turfafiba +Turfafi +Turfabi +Turfababi +Turfaba +Turfa +Turbi +Turbabi +Turba +Tur diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubr.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubr.mo new file mode 100644 index 0000000..9946fd9 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubr.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubr "Uni-bi reversible reaction" + extends BioChem.Interfaces.Reactions.Ubr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Reversible/UniBi/Ubrba.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrba.mo new file mode 100644 index 0000000..704aa3c --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrba.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrba "Uni-bi reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrbabi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrbabi.mo new file mode 100644 index 0000000..7ccf183 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrbabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrbabi "Uni-bi reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrbabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrbi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrbi.mo new file mode 100644 index 0000000..e173e3b --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrbi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrbi "Uni-bi reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrbi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfa.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfa.mo new file mode 100644 index 0000000..8668c51 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfa.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfa "Uni-bi reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfa; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfaba.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfaba.mo new file mode 100644 index 0000000..fe40056 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfaba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfaba "Uni-bi reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfaba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfababi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfababi.mo new file mode 100644 index 0000000..257ce8b --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfababi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfababi "Uni-bi reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfababi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfabi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfabi.mo new file mode 100644 index 0000000..1fc4f45 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfabi "Uni-bi reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafi.mo new file mode 100644 index 0000000..5d5505f --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfafi "Uni-bi reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafiba.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafiba.mo new file mode 100644 index 0000000..b8f3053 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafiba.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfafiba "Uni-bi reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafiba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafibabi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafibabi.mo new file mode 100644 index 0000000..d164200 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafibabi.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfafibabi "Uni-bi reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafibi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafibi.mo new file mode 100644 index 0000000..516b8fd --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfafibi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfafibi "Uni-bi reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafibi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfi.mo new file mode 100644 index 0000000..8618d1f --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfi "Uni-bi reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfiba.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfiba.mo new file mode 100644 index 0000000..e626312 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfiba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfiba "Uni-bi reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfiba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfibabi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfibabi.mo new file mode 100644 index 0000000..503f774 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfibabi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfibabi "Uni-bi reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfibi.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfibi.mo new file mode 100644 index 0000000..7fa4199 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/Ubrfibi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniBi; + +model Ubrfibi "Uni-bi reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfibi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/package.mo b/BioChem/Reactions/MassAction/Reversible/UniBi/package.mo new file mode 100644 index 0000000..1b20aec --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/package.mo @@ -0,0 +1,235 @@ +within BioChem.Reactions.MassAction.Reversible; + +package UniBi "A <-> B+C reactions" + extends Icons.Library; + + model Ubrfibi "Uni-bi reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfibi; + + model Ubrfibabi "Uni-bi reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfibabi; + + model Ubrfiba "Uni-bi reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfiba; + + model Ubrfi "Uni-bi reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfi; + + model Ubrfafibi "Uni-bi reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafibi; + + model Ubrfafibabi "Uni-bi reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafibabi; + + model Ubrfafiba "Uni-bi reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafiba; + + model Ubrfafi "Uni-bi reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafi; + + model Ubrfabi "Uni-bi reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfabi; + + model Ubrfababi "Uni-bi reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfababi; + + model Ubrfaba "Uni-bi reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfaba; + + model Ubrfa "Uni-bi reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfa; + + model Ubrbi "Uni-bi reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrbi; + + model Ubrbabi "Uni-bi reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrbabi; + + model Ubrba "Uni-bi reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Ubr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrba; + + model Ubr "Uni-bi reversible reaction" + extends BioChem.Interfaces.Reactions.Ubr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with one reactant and two products.

    + "), + 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 UniBi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniBi/package.order b/BioChem/Reactions/MassAction/Reversible/UniBi/package.order new file mode 100644 index 0000000..28ad0f1 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniBi/package.order @@ -0,0 +1,16 @@ +Ubrfibi +Ubrfibabi +Ubrfiba +Ubrfi +Ubrfafibi +Ubrfafibabi +Ubrfafiba +Ubrfafi +Ubrfabi +Ubrfababi +Ubrfaba +Ubrfa +Ubrbi +Ubrbabi +Ubrba +Ubr diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utr.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utr.mo new file mode 100644 index 0000000..90c9b42 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utr.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utr "Uni-tri reversible reaction" + extends BioChem.Interfaces.Reactions.Utr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Reversible/UniTri/Utrba.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrba.mo new file mode 100644 index 0000000..da9711e --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrba.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrba "Uni-tri reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrbabi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrbabi.mo new file mode 100644 index 0000000..e7037d8 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrbabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrbabi "Uni-tri reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrbabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrbi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrbi.mo new file mode 100644 index 0000000..3703502 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrbi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrbi "Uni-tri reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrbi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfa.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfa.mo new file mode 100644 index 0000000..89eeaff --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfa.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfa "Uni-tri reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfa; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfaba.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfaba.mo new file mode 100644 index 0000000..e3ba6f6 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfaba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfaba "Uni-tri reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfaba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfababi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfababi.mo new file mode 100644 index 0000000..f57d170 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfababi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfababi "Uni-tri reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfababi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfabi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfabi.mo new file mode 100644 index 0000000..30aa916 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfabi "Uni-tri reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafi.mo new file mode 100644 index 0000000..8b4c12a --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfafi "Uni-tri reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafiba.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafiba.mo new file mode 100644 index 0000000..acb5d01 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafiba.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfafiba "Uni-tri reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafiba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafibabi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafibabi.mo new file mode 100644 index 0000000..57cde82 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafibabi.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfafibabi "Uni-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafibi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafibi.mo new file mode 100644 index 0000000..3ff05a3 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfafibi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfafibi "Uni-tri reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafibi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfi.mo new file mode 100644 index 0000000..c7a6483 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfi "Uni-tri reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfiba.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfiba.mo new file mode 100644 index 0000000..58ca9d4 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfiba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfiba "Uni-tri reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfiba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfibabi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfibabi.mo new file mode 100644 index 0000000..a3f6ba6 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfibabi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfibabi "Uni-tri reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfibi.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfibi.mo new file mode 100644 index 0000000..d16e862 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/Utrfibi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniTri; + +model Utrfibi "Uni-tri reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfibi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/package.mo b/BioChem/Reactions/MassAction/Reversible/UniTri/package.mo new file mode 100644 index 0000000..dfdfa5b --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/package.mo @@ -0,0 +1,235 @@ +within BioChem.Reactions.MassAction.Reversible; + +package UniTri "A <-> B+C+D reactions" + extends Icons.Library; + + model Utrfibi "Uni-tri reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfibi; + + model Utrfibabi "Uni-tri reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfibabi; + + model Utrfiba "Uni-tri reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfiba; + + model Utrfi "Uni-tri reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfi; + + model Utrfafibi "Uni-tri reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafibi; + + model Utrfafibabi "Uni-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafibabi; + + model Utrfafiba "Uni-tri reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafiba; + + model Utrfafi "Uni-tri reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafi; + + model Utrfabi "Uni-tri reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfabi; + + model Utrfababi "Uni-tri reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfababi; + + model Utrfaba "Uni-tri reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfaba; + + model Utrfa "Uni-tri reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfa; + + model Utrbi "Uni-tri reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrbi; + + model Utrbabi "Uni-tri reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrbabi; + + model Utrba "Uni-tri reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Utr; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrba; + + model Utr "Uni-tri reversible reaction" + extends BioChem.Interfaces.Reactions.Utr; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with one reactant and three products.

    + "), + 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 UniTri; diff --git a/BioChem/Reactions/MassAction/Reversible/UniTri/package.order b/BioChem/Reactions/MassAction/Reversible/UniTri/package.order new file mode 100644 index 0000000..5e326c4 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniTri/package.order @@ -0,0 +1,16 @@ +Utrfibi +Utrfibabi +Utrfiba +Utrfi +Utrfafibi +Utrfafibabi +Utrfafiba +Utrfafi +Utrfabi +Utrfababi +Utrfaba +Utrfa +Utrbi +Utrbabi +Utrba +Utr diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uur.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uur.mo new file mode 100644 index 0000000..cd00fe1 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uur.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uur "Uni-uni reversible reaction" + extends BioChem.Interfaces.Reactions.Uur; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uur; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurba.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurba.mo new file mode 100644 index 0000000..e66038b --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurba.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurba "Uni-uni reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurbabi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurbabi.mo new file mode 100644 index 0000000..9bb0719 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurbabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurbabi "Uni-uni reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurbabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurbi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurbi.mo new file mode 100644 index 0000000..5474d27 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurbi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurbi "Uni-uni reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurbi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfa.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfa.mo new file mode 100644 index 0000000..9296884 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfa.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfa "Uni-uni reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfa; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfaba.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfaba.mo new file mode 100644 index 0000000..483ae8f --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfaba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfaba "Uni-uni reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfaba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfababi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfababi.mo new file mode 100644 index 0000000..ac04118 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfababi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfababi "Uni-uni reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfababi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfabi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfabi.mo new file mode 100644 index 0000000..ed65978 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfabi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfabi "Uni-uni reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafi.mo new file mode 100644 index 0000000..25f8133 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfafi "Uni-uni reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafiba.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafiba.mo new file mode 100644 index 0000000..f6ad94e --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafiba.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfafiba "Uni-uni reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafiba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafibabi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafibabi.mo new file mode 100644 index 0000000..b510de5 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafibabi.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfafibabi "Uni-uni reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafibi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafibi.mo new file mode 100644 index 0000000..3a8ead3 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfafibi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfafibi "Uni-uni reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafibi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfi.mo new file mode 100644 index 0000000..9897f6f --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfi "Uni-uni reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfiba.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfiba.mo new file mode 100644 index 0000000..e60197f --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfiba.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfiba "Uni-uni reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfiba; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfibabi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfibabi.mo new file mode 100644 index 0000000..a089d9a --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfibabi.mo @@ -0,0 +1,16 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfibabi "Uni-uni reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfibabi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfibi.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfibi.mo new file mode 100644 index 0000000..88004f1 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/Uurfibi.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.MassAction.Reversible.UniUni; + +model Uurfibi "Uni-uni reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfibi; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/package.mo b/BioChem/Reactions/MassAction/Reversible/UniUni/package.mo new file mode 100644 index 0000000..5e3ede8 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/package.mo @@ -0,0 +1,235 @@ +within BioChem.Reactions.MassAction.Reversible; + +package UniUni "A <-> B reactions" + extends Icons.Library; + + model Uurfibi "Uni-uni reversible forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfibi; + + model Uurfibabi "Uni-uni reversible forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfibabi; + + model Uurfiba "Uni-uni reversible forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfiba; + + model Uurfi "Uni-uni reversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfi; + + model Uurfafibi "Uni-uni reversible forward activation, forward inhibition, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafibi; + + model Uurfafibabi "Uni-uni reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafibabi; + + model Uurfafiba "Uni-uni reversible forward activation, forward inhibition, backward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafiba; + + model Uurfafi "Uni-uni reversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafi; + + model Uurfabi "Uni-uni reversible forward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfabi; + + model Uurfababi "Uni-uni reversible forward activation, backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfababi; + + model Uurfaba "Uni-uni reversible forward activation, backward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfaba; + + model Uurfa "Uni-uni reversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfa; + + model Uurbi "Uni-uni reversible backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurbi; + + model Uurbabi "Uni-uni reversible backward activation, backward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurbabi; + + model Uurba "Uni-uni reversible backward activation reaction" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurba; + + model Uur "Uni-uni reversible reaction" + extends BioChem.Interfaces.Reactions.Uur; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uur; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with one reactant and one product.

    + "), + 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 UniUni; diff --git a/BioChem/Reactions/MassAction/Reversible/UniUni/package.order b/BioChem/Reactions/MassAction/Reversible/UniUni/package.order new file mode 100644 index 0000000..8945834 --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/UniUni/package.order @@ -0,0 +1,16 @@ +Uurfibi +Uurfibabi +Uurfiba +Uurfi +Uurfafibi +Uurfafibabi +Uurfafiba +Uurfafi +Uurfabi +Uurfababi +Uurfaba +Uurfa +Uurbi +Uurbabi +Uurba +Uur diff --git a/BioChem/Reactions/MassAction/Reversible/package.mo b/BioChem/Reactions/MassAction/Reversible/package.mo index f5f64e4..1254f02 100644 --- a/BioChem/Reactions/MassAction/Reversible/package.mo +++ b/BioChem/Reactions/MassAction/Reversible/package.mo @@ -1,1654 +1,1187 @@ within BioChem.Reactions.MassAction; + package Reversible "Reversible reactions" extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for reversible reactions with one to three reactants and products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + package UniUni "A <-> B reactions" extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with one reactant and one product.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + model Uurfibi "Uni-uni reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfibi; model Uurfibabi "Uni-uni reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfibabi; model Uurfiba "Uni-uni reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfiba; model Uurfi "Uni-uni reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2*p1.c^nP1*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfi; model Uurfafibi "Uni-uni reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafibi; model Uurfafibabi "Uni-uni reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafibabi; model Uurfafiba "Uni-uni reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafiba; model Uurfafi "Uni-uni reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2*p1.c^nP1*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfafi; model Uurfabi "Uni-uni reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfabi; model Uurfababi "Uni-uni reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfababi; model Uurfaba "Uni-uni reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfaba; model Uurfa "Uni-uni reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2*p1.c^nP1*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurfa; model Uurbi "Uni-uni reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p1.V; + rr = k1 * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurbi; model Uurbabi "Uni-uni reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurbabi; model Uurba "Uni-uni reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p1.V; + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uurba; model Uur "Uni-uni reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s1.V - k2*p1.c^nP1*p1.V; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Uur; - + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with one reactant and one product.

    + "), + 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 UniUni; package UniTri "A <-> B+C+D reactions" extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with one reactant and three products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + model Utrfibi "Uni-tri reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfibi; model Utrfibabi "Uni-tri reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfibabi; model Utrfiba "Uni-tri reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfiba; model Utrfi "Uni-tri reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfi; model Utrfafibi "Uni-tri reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafibi; model Utrfafibabi "Uni-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafibabi; model Utrfafiba "Uni-tri reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafiba; model Utrfafi "Uni-tri reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfafi; model Utrfabi "Uni-tri reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfabi; model Utrfababi "Uni-tri reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfababi; model Utrfaba "Uni-tri reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfaba; model Utrfa "Uni-tri reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrfa; model Utrbi "Uni-tri reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrbi; model Utrbabi "Uni-tri reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrbabi; model Utrba "Uni-tri reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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 Utrba; model Utr "Uni-tri reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Utr; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p3.c ^ nP3 * p1.V; + annotation( + Documentation, + 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; - + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with one reactant and three products.

    + "), + 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 UniTri; package UniBi "A <-> B+C reactions" extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with one reactant and two products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + model Ubrfibi "Uni-bi reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfibi; model Ubrfibabi "Uni-bi reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfibabi; model Ubrfiba "Uni-bi reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfiba; model Ubrfi "Uni-bi reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfi; model Ubrfafibi "Uni-bi reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafibi; model Ubrfafibabi "Uni-bi reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafibabi; model Ubrfafiba "Uni-bi reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafiba; model Ubrfafi "Uni-bi reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfafi; model Ubrfabi "Uni-bi reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfabi; model Ubrfababi "Uni-bi reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfababi; model Ubrfaba "Uni-bi reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfaba; model Ubrfa "Uni-bi reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrfa; model Ubrbi "Uni-bi reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * s1.c ^ nS1 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrbi; model Ubrbabi "Uni-bi reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrbabi; model Ubrba "Uni-bi reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * s1.c ^ nS1 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Ubrba; model Ubr "Uni-bi reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Ubr; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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; - + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with one reactant and two products.

    + "), + 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 UniBi; - package TriUni "A+B+C <-> D reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with three reactants and one product.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Turfibi "Tri-uni reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p1.V; - end Turfibi; - - model Turfibabi "Tri-uni reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; - end Turfibabi; - - model Turfiba "Tri-uni reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p1.V; - end Turfiba; - - model Turfi "Tri-uni reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p1.V; - end Turfi; - - model Turfafibi "Tri-uni reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p1.V; - end Turfafibi; - - model Turfafibabi "Tri-uni reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; - end Turfafibabi; - - model Turfafiba "Tri-uni reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p1.V; - end Turfafiba; - - model Turfafi "Tri-uni reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p1.V; - end Turfafi; - - model Turfabi "Tri-uni reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p1.V; - end Turfabi; - - model Turfababi "Tri-uni reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; - end Turfababi; - - model Turfaba "Tri-uni reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p1.V; - end Turfaba; - - model Turfa "Tri-uni reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p1.V; - end Turfa; - - model Turbi "Tri-uni reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p1.V; - end Turbi; - - model Turbabi "Tri-uni reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; - end Turbabi; - - model Turba "Tri-uni reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p1.V; - end Turba; - - model Tur "Tri-uni reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tur; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p1.V; - end Tur; - - end TriUni; - - package TriTri "A+B+C <-> D+E+F reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with three reactants and three products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Ttrfibi "Tri-tri reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfibi; - - model Ttrfibabi "Tri-tri reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfibabi; - - model Ttrfiba "Tri-tri reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfiba; - - model Ttrfi "Tri-tri reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfi; - - model Ttrfafibi "Tri-tri reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfafibi; - - model Ttrfafibabi "Tri-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfafibabi; - - model Ttrfafiba "Tri-tri reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfafiba; - - model Ttrfafi "Tri-tri reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfafi; - - model Ttrfabi "Tri-tri reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfabi; - - model Ttrfababi "Tri-tri reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfababi; - - model Ttrfaba "Tri-tri reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfaba; - - model Ttrfa "Tri-tri reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrfa; - - model Ttrbi "Tri-tri reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrbi; - - model Ttrbabi "Tri-tri reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrbabi; - - model Ttrba "Tri-tri reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttrba; - - model Ttr "Tri-tri reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ttr; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Ttr; - - end TriTri; - - package TriBi "A+B+C <-> D+E reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with three reactants and two products

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Tbrfibi "Tri-bi reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfibi; - - model Tbrfibabi "Tri-bi reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfibabi; - - model Tbrfiba "Tri-bi reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfiba; - - model Tbrfi "Tri-bi reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfi; - - model Tbrfafibi "Tri-bi reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfafibi; - - model Tbrfafibabi "Tri-bi reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfafibabi; - - model Tbrfafiba "Tri-bi reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfafiba; - - model Tbrfafi "Tri-bi reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfafi; - - model Tbrfabi "Tri-bi reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfabi; - - model Tbrfababi "Tri-bi reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfababi; - - model Tbrfaba "Tri-bi reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfaba; - - model Tbrfa "Tri-bi reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrfa; - - model Tbrbi "Tri-bi reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrbi; - - model Tbrbabi "Tri-bi reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrbabi; - - model Tbrba "Tri-bi reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; - end Tbrba; - - model Tbr "Tri-bi reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbr; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; - end Tbr; - - end TriBi; - package BiUni "A+B <-> C reactions" extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with two reactants and one product.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + model Burfibi "Bi-uni reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfibi; model Burfibabi "Bi-uni reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfibabi; model Burfiba "Bi-uni reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfiba; model Burfi "Bi-uni reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfi; model Burfafibi "Bi-uni reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafibi; model Burfafibabi "Bi-uni reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafibabi; model Burfafiba "Bi-uni reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafiba; model Burfafi "Bi-uni reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfafi; model Burfabi "Bi-uni reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfabi; model Burfababi "Bi-uni reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfababi; model Burfaba "Bi-uni reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfaba; model Burfa "Bi-uni reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burfa; model Burbi "Bi-uni reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p1.V; + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burbi; model Burbabi "Bi-uni reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p1.V; + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burbabi; model Burba "Bi-uni reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p1.V; + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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 Burba; model Bur "Bi-uni reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bur; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p1.V; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p1.V; + annotation( + Documentation, + 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; - + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with two reactants and one product.

    + "), + 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 BiUni; - package BiTri "A+B <-> C+D+E reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with two reactants and three products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Btrfibi "Bi-tri reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfibi; - - model Btrfibabi "Bi-tri reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfibabi; - - model Btrfiba "Bi-tri reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfiba; - - model Btrfi "Bi-tri reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfi; - - model Btrfafibi "Bi-tri reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfafibi; - - model Btrfafibabi "Bi-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfafibabi; - - model Btrfafiba "Bi-tri reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfafiba; - - model Btrfafi "Bi-tri reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfafi; - - model Btrfabi "Bi-tri reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfabi; - - model Btrfababi "Bi-tri reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfababi; - - model Btrfaba "Bi-tri reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfaba; - - model Btrfa "Bi-tri reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrfa; - - model Btrbi "Bi-tri reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrbi; - - model Btrbabi "Bi-tri reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrbabi; - - model Btrba "Bi-tri reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btrba; - - model Btr "Bi-tri reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Btr; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; - end Btr; - - end BiTri; - package BiBi "A+B <-> C+D reactions" extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with two reactants and two products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + model Bbrfibi "Bi-bi reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfibi; model Bbrfibabi "Bi-bi reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfibabi; model Bbrfiba "Bi-bi reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfiba; model Bbrfi "Bi-bi reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfi; model Bbrfafibi "Bi-bi reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafibi; model Bbrfafibabi "Bi-bi reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafibabi; model Bbrfafiba "Bi-bi reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafiba; model Bbrfafi "Bi-bi reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfafi; model Bbrfabi "Bi-bi reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfabi; model Bbrfababi "Bi-bi reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfababi; model Bbrfaba "Bi-bi reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfaba; model Bbrfa "Bi-bi reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrfa; model Bbrbi "Bi-bi reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrbi; model Bbrbabi "Bi-bi reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c / iB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrbabi; model Bbrba "Bi-bi reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p1.V; + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * aB1.c * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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 Bbrba; model Bbr "Bi-bi reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Bbr; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p1.V; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + parameter BioChem.Units.ReactionCoefficient k2 = 1 "Backwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V - k2 * p1.c ^ nP1 * p2.c ^ nP2 * p1.V; + annotation( + Documentation, + 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; - + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with two reactants and two products.

    + "), + 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 BiBi; + + + + + + annotation( + Documentation(info = " +

    This package contains models for reversible reactions with one to three reactants and products.

    + "), + 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 Reversible; diff --git a/BioChem/Reactions/MassAction/Reversible/package.order b/BioChem/Reactions/MassAction/Reversible/package.order new file mode 100644 index 0000000..bc74e3d --- /dev/null +++ b/BioChem/Reactions/MassAction/Reversible/package.order @@ -0,0 +1,9 @@ +UniUni +UniTri +UniBi +BiUni +BiBi +BiTri +TriUni +TriBi +TriTri From 7c767d1c6f330a649d7bb233b92066f1416376da Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Sat, 30 May 2020 12:56:04 +0100 Subject: [PATCH 19/27] decompose package Reactions.MassAction.Irreversible into separate components --- .../MassAction/Irreversible/BiBi/Bbi.mo | 12 + .../MassAction/Irreversible/BiBi/Bbifa.mo | 13 + .../MassAction/Irreversible/BiBi/Bbifafi.mo | 14 + .../MassAction/Irreversible/BiBi/Bbifi.mo | 13 + .../MassAction/Irreversible/BiBi/package.mo | 59 +++ .../Irreversible/BiBi/package.order | 4 + .../MassAction/Irreversible/BiTri/Bti.mo | 12 + .../MassAction/Irreversible/BiTri/Btifa.mo | 13 + .../MassAction/Irreversible/BiTri/Btifafi.mo | 14 + .../MassAction/Irreversible/BiTri/Btifi.mo | 13 + .../MassAction/Irreversible/BiTri/package.mo | 59 +++ .../Irreversible/BiTri/package.order | 4 + .../MassAction/Irreversible/BiUni/Bui.mo | 12 + .../MassAction/Irreversible/BiUni/Buifa.mo | 13 + .../MassAction/Irreversible/BiUni/Buifafi.mo | 14 + .../MassAction/Irreversible/BiUni/Buifi.mo | 13 + .../MassAction/Irreversible/BiUni/package.mo | 59 +++ .../Irreversible/BiUni/package.order | 4 + .../MassAction/Irreversible/TriBi/Tbi.mo | 12 + .../MassAction/Irreversible/TriBi/Tbifa.mo | 13 + .../MassAction/Irreversible/TriBi/Tbifafi.mo | 14 + .../MassAction/Irreversible/TriBi/Tbifi.mo | 13 + .../MassAction/Irreversible/TriBi/package.mo | 59 +++ .../Irreversible/TriBi/package.order | 4 + .../MassAction/Irreversible/TriTri/Tti.mo | 12 + .../MassAction/Irreversible/TriTri/Ttifa.mo | 13 + .../MassAction/Irreversible/TriTri/Ttifafi.mo | 14 + .../MassAction/Irreversible/TriTri/Ttifi.mo | 13 + .../MassAction/Irreversible/TriTri/package.mo | 59 +++ .../Irreversible/TriTri/package.order | 4 + .../MassAction/Irreversible/TriUni/Tui.mo | 12 + .../MassAction/Irreversible/TriUni/Tuifa.mo | 13 + .../MassAction/Irreversible/TriUni/Tuifafi.mo | 14 + .../MassAction/Irreversible/TriUni/Tuifi.mo | 13 + .../MassAction/Irreversible/TriUni/package.mo | 59 +++ .../Irreversible/TriUni/package.order | 4 + .../MassAction/Irreversible/UniBi/Ubi.mo | 18 + .../MassAction/Irreversible/UniBi/Ubifa.mo | 19 + .../MassAction/Irreversible/UniBi/Ubifafi.mo | 14 + .../MassAction/Irreversible/UniBi/Ubifi.mo | 13 + .../MassAction/Irreversible/UniBi/package.mo | 71 ++++ .../Irreversible/UniBi/package.order | 4 + .../MassAction/Irreversible/UniTri/Uti.mo | 12 + .../MassAction/Irreversible/UniTri/Utifa.mo | 13 + .../MassAction/Irreversible/UniTri/Utifafi.mo | 14 + .../MassAction/Irreversible/UniTri/Utifi.mo | 13 + .../MassAction/Irreversible/UniTri/package.mo | 59 +++ .../Irreversible/UniTri/package.order | 4 + .../MassAction/Irreversible/UniUni/Uui.mo | 12 + .../MassAction/Irreversible/UniUni/Uuifa.mo | 13 + .../MassAction/Irreversible/UniUni/Uuifafi.mo | 14 + .../MassAction/Irreversible/UniUni/Uuifi.mo | 13 + .../MassAction/Irreversible/UniUni/package.mo | 44 ++ .../Irreversible/UniUni/package.order | 4 + .../MassAction/Irreversible/package.mo | 393 +----------------- .../MassAction/Irreversible/package.order | 9 + 56 files changed, 1060 insertions(+), 386 deletions(-) create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiBi/Bbi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifa.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifafi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiBi/package.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiBi/package.order create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiTri/Bti.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiTri/Btifa.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiTri/Btifafi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiTri/Btifi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiTri/package.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiTri/package.order create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiUni/Bui.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiUni/Buifa.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiUni/Buifafi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiUni/Buifi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiUni/package.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/BiUni/package.order create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriBi/Tbi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifa.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifafi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriBi/package.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriBi/package.order create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriTri/Tti.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifa.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifafi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriTri/package.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriTri/package.order create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriUni/Tui.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifa.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifafi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriUni/package.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/TriUni/package.order create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniBi/Ubi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifa.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifafi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniBi/package.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniBi/package.order create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniTri/Uti.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniTri/Utifa.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniTri/Utifafi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniTri/Utifi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniTri/package.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniTri/package.order create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniUni/Uui.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifa.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifafi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifi.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniUni/package.mo create mode 100644 BioChem/Reactions/MassAction/Irreversible/UniUni/package.order create mode 100644 BioChem/Reactions/MassAction/Irreversible/package.order diff --git a/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbi.mo b/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbi.mo new file mode 100644 index 0000000..712ca29 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbi.mo @@ -0,0 +1,12 @@ +within BioChem.Reactions.MassAction.Irreversible.BiBi; + +model Bbi "Bi-bi irrerversible reaction" + extends BioChem.Interfaces.Reactions.Bbi; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Irreversible/BiBi/Bbifa.mo b/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifa.mo new file mode 100644 index 0000000..46134eb --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifa.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.BiBi; + +model Bbifa "Bi-bi irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bbi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Bbifa; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifafi.mo b/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifafi.mo new file mode 100644 index 0000000..5bcfd6d --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifafi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Irreversible.BiBi; + +model Bbifafi "Bi-bi irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Bbifafi; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifi.mo b/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifi.mo new file mode 100644 index 0000000..8f99efb --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiBi/Bbifi.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.BiBi; + +model Bbifi "Bi-bi irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbi; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Bbifi; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiBi/package.mo b/BioChem/Reactions/MassAction/Irreversible/BiBi/package.mo new file mode 100644 index 0000000..456b8f5 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiBi/package.mo @@ -0,0 +1,59 @@ +within BioChem.Reactions.MassAction.Irreversible; + +package BiBi "A+B -> C+D reactions" + extends Icons.Library; + + model Bbifi "Bi-bi irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbi; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Bbifi; + + model Bbifafi "Bi-bi irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bbi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Bbifafi; + + model Bbifa "Bi-bi irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bbi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Bbifa; + + model Bbi "Bi-bi irrerversible reaction" + extends BioChem.Interfaces.Reactions.Bbi; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with two reactants and two products.

    +"), + 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 BiBi; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiBi/package.order b/BioChem/Reactions/MassAction/Irreversible/BiBi/package.order new file mode 100644 index 0000000..e7dcc53 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiBi/package.order @@ -0,0 +1,4 @@ +Bbifi +Bbifafi +Bbifa +Bbi diff --git a/BioChem/Reactions/MassAction/Irreversible/BiTri/Bti.mo b/BioChem/Reactions/MassAction/Irreversible/BiTri/Bti.mo new file mode 100644 index 0000000..9da91c3 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiTri/Bti.mo @@ -0,0 +1,12 @@ +within BioChem.Reactions.MassAction.Irreversible.BiTri; + +model Bti "Bi-tri irrerversible reaction" + extends BioChem.Interfaces.Reactions.Bti; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Irreversible/BiTri/Btifa.mo b/BioChem/Reactions/MassAction/Irreversible/BiTri/Btifa.mo new file mode 100644 index 0000000..bbc2c08 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiTri/Btifa.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.BiTri; + +model Btifa "Bi-tri irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Btifa; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiTri/Btifafi.mo b/BioChem/Reactions/MassAction/Irreversible/BiTri/Btifafi.mo new file mode 100644 index 0000000..fc05798 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiTri/Btifafi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Irreversible.BiTri; + +model Btifafi "Bi-tri irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Btifafi; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiTri/Btifi.mo b/BioChem/Reactions/MassAction/Irreversible/BiTri/Btifi.mo new file mode 100644 index 0000000..555f4dc --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiTri/Btifi.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.BiTri; + +model Btifi "Bi-tri irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bti; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Btifi; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiTri/package.mo b/BioChem/Reactions/MassAction/Irreversible/BiTri/package.mo new file mode 100644 index 0000000..4d41823 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiTri/package.mo @@ -0,0 +1,59 @@ +within BioChem.Reactions.MassAction.Irreversible; + +package BiTri "A+B -> C+D+E reactions" + extends Icons.Library; + + model Btifi "Bi-tri irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bti; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Btifi; + + model Btifafi "Bi-tri irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Btifafi; + + model Btifa "Bi-tri irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Btifa; + + model Bti "Bi-tri irrerversible reaction" + extends BioChem.Interfaces.Reactions.Bti; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with two reactants and three products.

    +"), + 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 BiTri; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiTri/package.order b/BioChem/Reactions/MassAction/Irreversible/BiTri/package.order new file mode 100644 index 0000000..67c4329 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiTri/package.order @@ -0,0 +1,4 @@ +Btifi +Btifafi +Btifa +Bti diff --git a/BioChem/Reactions/MassAction/Irreversible/BiUni/Bui.mo b/BioChem/Reactions/MassAction/Irreversible/BiUni/Bui.mo new file mode 100644 index 0000000..1a0e8f9 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiUni/Bui.mo @@ -0,0 +1,12 @@ +within BioChem.Reactions.MassAction.Irreversible.BiUni; + +model Bui "Bi-uni irrerversible reaction" + extends BioChem.Interfaces.Reactions.Bui; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Irreversible/BiUni/Buifa.mo b/BioChem/Reactions/MassAction/Irreversible/BiUni/Buifa.mo new file mode 100644 index 0000000..e144100 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiUni/Buifa.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.BiUni; + +model Buifa "Bi-uni irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Buifa; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiUni/Buifafi.mo b/BioChem/Reactions/MassAction/Irreversible/BiUni/Buifafi.mo new file mode 100644 index 0000000..76fa412 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiUni/Buifafi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Irreversible.BiUni; + +model Buifafi "Bi-uni irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Buifafi; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiUni/Buifi.mo b/BioChem/Reactions/MassAction/Irreversible/BiUni/Buifi.mo new file mode 100644 index 0000000..73cb957 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiUni/Buifi.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.BiUni; + +model Buifi "Bi-uni irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bui; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Buifi; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiUni/package.mo b/BioChem/Reactions/MassAction/Irreversible/BiUni/package.mo new file mode 100644 index 0000000..8c4c52b --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiUni/package.mo @@ -0,0 +1,59 @@ +within BioChem.Reactions.MassAction.Irreversible; + +package BiUni "A+B -> C reactions" + extends Icons.Library; + + model Buifi "Bi-uni irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bui; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Buifi; + + model Buifafi "Bi-uni irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Bui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Buifafi; + + model Buifa "Bi-uni irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Bui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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 Buifa; + + model Bui "Bi-uni irrerversible reaction" + extends BioChem.Interfaces.Reactions.Bui; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with two reactants and one product.

    +"), + 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 BiUni; diff --git a/BioChem/Reactions/MassAction/Irreversible/BiUni/package.order b/BioChem/Reactions/MassAction/Irreversible/BiUni/package.order new file mode 100644 index 0000000..12f2fc0 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/BiUni/package.order @@ -0,0 +1,4 @@ +Buifi +Buifafi +Buifa +Bui diff --git a/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbi.mo b/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbi.mo new file mode 100644 index 0000000..714a38b --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbi.mo @@ -0,0 +1,12 @@ +within BioChem.Reactions.MassAction.Irreversible.TriBi; + +model Tbi "Tri-bi irrerversible reaction" + extends BioChem.Interfaces.Reactions.Tbi; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Irreversible/TriBi/Tbifa.mo b/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifa.mo new file mode 100644 index 0000000..553d840 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifa.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.TriBi; + +model Tbifa "Tri-bi irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tbi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tbifa; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifafi.mo b/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifafi.mo new file mode 100644 index 0000000..9c752cf --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifafi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Irreversible.TriBi; + +model Tbifafi "Tri-bi irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tbifafi; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifi.mo b/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifi.mo new file mode 100644 index 0000000..4a60a87 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriBi/Tbifi.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.TriBi; + +model Tbifi "Tri-bi irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbi; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tbifi; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriBi/package.mo b/BioChem/Reactions/MassAction/Irreversible/TriBi/package.mo new file mode 100644 index 0000000..9fd550c --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriBi/package.mo @@ -0,0 +1,59 @@ +within BioChem.Reactions.MassAction.Irreversible; + +package TriBi "A+B+C -> D+E reactions" + extends Icons.Library; + + model Tbifi "Tri-bi irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbi; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tbifi; + + model Tbifafi "Tri-bi irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tbi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tbifafi; + + model Tbifa "Tri-bi irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tbi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tbifa; + + model Tbi "Tri-bi irrerversible reaction" + extends BioChem.Interfaces.Reactions.Tbi; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with three reactants and two products

    +"), + 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 TriBi; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriBi/package.order b/BioChem/Reactions/MassAction/Irreversible/TriBi/package.order new file mode 100644 index 0000000..7bd7f28 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriBi/package.order @@ -0,0 +1,4 @@ +Tbifi +Tbifafi +Tbifa +Tbi diff --git a/BioChem/Reactions/MassAction/Irreversible/TriTri/Tti.mo b/BioChem/Reactions/MassAction/Irreversible/TriTri/Tti.mo new file mode 100644 index 0000000..f7fd003 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriTri/Tti.mo @@ -0,0 +1,12 @@ +within BioChem.Reactions.MassAction.Irreversible.TriTri; + +model Tti "Tri-tri irrerversible reaction" + extends BioChem.Interfaces.Reactions.Tti; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Irreversible/TriTri/Ttifa.mo b/BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifa.mo new file mode 100644 index 0000000..a2e0216 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifa.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.TriTri; + +model Ttifa "Tri-tri irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Ttifa; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifafi.mo b/BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifafi.mo new file mode 100644 index 0000000..3b5d2f9 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifafi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Irreversible.TriTri; + +model Ttifafi "Tri-tri irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Ttifafi; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifi.mo b/BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifi.mo new file mode 100644 index 0000000..7855af5 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriTri/Ttifi.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.TriTri; + +model Ttifi "Tri-tri irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tti; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Ttifi; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriTri/package.mo b/BioChem/Reactions/MassAction/Irreversible/TriTri/package.mo new file mode 100644 index 0000000..06f03f3 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriTri/package.mo @@ -0,0 +1,59 @@ +within BioChem.Reactions.MassAction.Irreversible; + +package TriTri "A+B+C -> D+E+F reactions" + extends Icons.Library; + + model Ttifi "Tri-tri irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tti; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Ttifi; + + model Ttifafi "Tri-tri irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Ttifafi; + + model Ttifa "Tri-tri irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Ttifa; + + model Tti "Tri-tri irrerversible reaction" + extends BioChem.Interfaces.Reactions.Tti; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with three reactants and three products.

    +"), + 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 TriTri; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriTri/package.order b/BioChem/Reactions/MassAction/Irreversible/TriTri/package.order new file mode 100644 index 0000000..c4991b2 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriTri/package.order @@ -0,0 +1,4 @@ +Ttifi +Ttifafi +Ttifa +Tti diff --git a/BioChem/Reactions/MassAction/Irreversible/TriUni/Tui.mo b/BioChem/Reactions/MassAction/Irreversible/TriUni/Tui.mo new file mode 100644 index 0000000..a2b53a5 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriUni/Tui.mo @@ -0,0 +1,12 @@ +within BioChem.Reactions.MassAction.Irreversible.TriUni; + +model Tui "Tri-uni irrerversible reaction" + extends BioChem.Interfaces.Reactions.Tui; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Irreversible/TriUni/Tuifa.mo b/BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifa.mo new file mode 100644 index 0000000..d1c28ea --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifa.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.TriUni; + +model Tuifa "Tri-uni irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tuifa; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifafi.mo b/BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifafi.mo new file mode 100644 index 0000000..046a31c --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifafi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Irreversible.TriUni; + +model Tuifafi "Tri-uni irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tuifafi; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifi.mo b/BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifi.mo new file mode 100644 index 0000000..4c5e9f2 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriUni/Tuifi.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.TriUni; + +model Tuifi "Tri-uni irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tui; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tuifi; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriUni/package.mo b/BioChem/Reactions/MassAction/Irreversible/TriUni/package.mo new file mode 100644 index 0000000..9098a74 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriUni/package.mo @@ -0,0 +1,59 @@ +within BioChem.Reactions.MassAction.Irreversible; + +package TriUni "A+B+C -> D reactions" + extends Icons.Library; + + model Tuifi "Tri-uni irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tui; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tuifi; + + model Tuifafi "Tri-uni irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Tui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tuifafi; + + model Tuifa "Tri-uni irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Tui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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 Tuifa; + + model Tui "Tri-uni irrerversible reaction" + extends BioChem.Interfaces.Reactions.Tui; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s2.c ^ nS2 * s3.c ^ nS3 * s1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with three reactants and one product.

    +"), + 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 TriUni; diff --git a/BioChem/Reactions/MassAction/Irreversible/TriUni/package.order b/BioChem/Reactions/MassAction/Irreversible/TriUni/package.order new file mode 100644 index 0000000..8b7483e --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/TriUni/package.order @@ -0,0 +1,4 @@ +Tuifi +Tuifafi +Tuifa +Tui diff --git a/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubi.mo b/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubi.mo new file mode 100644 index 0000000..7f9e11e --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubi.mo @@ -0,0 +1,18 @@ +within BioChem.Reactions.MassAction.Irreversible.UniBi; + +model Ubi "Uni-bi irrerversible reaction" + extends BioChem.Interfaces.Reactions.Ubi; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V; + annotation( + Documentation(info = " +
      +
    • Main Author 2007-2008: Jan Brugård, MathCore Engineering AB
    • +
    • Main Author 2006: Erik Ulfhielm
    • +
    • Main Author 2004-2005: Emma Larsdotter Nilsson
    • +
    +"), + 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/Reactions/MassAction/Irreversible/UniBi/Ubifa.mo b/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifa.mo new file mode 100644 index 0000000..0fae595 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifa.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.MassAction.Irreversible.UniBi; + +model Ubifa "Uni-bi irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Ubi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation(info = " +
      +
    • Main Author 2007-2008: Jan Brugård, MathCore Engineering AB
    • +
    • Main Author 2006: Erik Ulfhielm
    • +
    • Main Author 2004-2005: Emma Larsdotter Nilsson
    • +
    +"), + 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 Ubifa; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifafi.mo b/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifafi.mo new file mode 100644 index 0000000..91691e1 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifafi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Irreversible.UniBi; + +model Ubifafi "Uni-bi irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Ubifafi; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifi.mo b/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifi.mo new file mode 100644 index 0000000..3a07911 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniBi/Ubifi.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.UniBi; + +model Ubifi "Uni-bi irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubi; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Ubifi; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniBi/package.mo b/BioChem/Reactions/MassAction/Irreversible/UniBi/package.mo new file mode 100644 index 0000000..c86cb20 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniBi/package.mo @@ -0,0 +1,71 @@ +within BioChem.Reactions.MassAction.Irreversible; + +package UniBi "A -> B+C reactions" + extends Icons.Library; + + model Ubifi "Uni-bi irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubi; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Ubifi; + + model Ubifafi "Uni-bi irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Ubi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Ubifafi; + + model Ubifa "Uni-bi irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Ubi; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation(info = " +
      +
    • Main Author 2007-2008: Jan Brugård, MathCore Engineering AB
    • +
    • Main Author 2006: Erik Ulfhielm
    • +
    • Main Author 2004-2005: Emma Larsdotter Nilsson
    • +
    +"), + 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 Ubifa; + + model Ubi "Uni-bi irrerversible reaction" + extends BioChem.Interfaces.Reactions.Ubi; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V; + annotation( + Documentation(info = " +
      +
    • Main Author 2007-2008: Jan Brugård, MathCore Engineering AB
    • +
    • Main Author 2006: Erik Ulfhielm
    • +
    • Main Author 2004-2005: Emma Larsdotter Nilsson
    • +
    +"), + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with one reactant and two products.

    +"), + 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 UniBi; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniBi/package.order b/BioChem/Reactions/MassAction/Irreversible/UniBi/package.order new file mode 100644 index 0000000..a481ed0 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniBi/package.order @@ -0,0 +1,4 @@ +Ubifi +Ubifafi +Ubifa +Ubi diff --git a/BioChem/Reactions/MassAction/Irreversible/UniTri/Uti.mo b/BioChem/Reactions/MassAction/Irreversible/UniTri/Uti.mo new file mode 100644 index 0000000..1b37566 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniTri/Uti.mo @@ -0,0 +1,12 @@ +within BioChem.Reactions.MassAction.Irreversible.UniTri; + +model Uti "Uni-tri irrerversible reaction" + extends BioChem.Interfaces.Reactions.Uti; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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/Reactions/MassAction/Irreversible/UniTri/Utifa.mo b/BioChem/Reactions/MassAction/Irreversible/UniTri/Utifa.mo new file mode 100644 index 0000000..db4f06b --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniTri/Utifa.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.UniTri; + +model Utifa "Uni-tri irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Uti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Utifa; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniTri/Utifafi.mo b/BioChem/Reactions/MassAction/Irreversible/UniTri/Utifafi.mo new file mode 100644 index 0000000..7c7f47d --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniTri/Utifafi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Irreversible.UniTri; + +model Utifafi "Uni-tri irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Utifafi; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniTri/Utifi.mo b/BioChem/Reactions/MassAction/Irreversible/UniTri/Utifi.mo new file mode 100644 index 0000000..e106f8e --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniTri/Utifi.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.UniTri; + +model Utifi "Uni-tri irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uti; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Utifi; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniTri/package.mo b/BioChem/Reactions/MassAction/Irreversible/UniTri/package.mo new file mode 100644 index 0000000..1b15c1d --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniTri/package.mo @@ -0,0 +1,59 @@ +within BioChem.Reactions.MassAction.Irreversible; + +package UniTri "A -> B+C+D reactions" + extends Icons.Library; + + model Utifi "Uni-tri irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uti; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Utifi; + + model Utifafi "Uni-tri irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Utifafi; + + model Utifa "Uni-tri irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Uti; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Utifa; + + model Uti "Uni-tri irrerversible reaction" + extends BioChem.Interfaces.Reactions.Uti; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; + equation + rr = k1 * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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; + annotation( + Documentation(info = " +

    This package contains models for stoichiometric reactions with one reactant and three products.

    +"), + 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 UniTri; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniTri/package.order b/BioChem/Reactions/MassAction/Irreversible/UniTri/package.order new file mode 100644 index 0000000..1209262 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniTri/package.order @@ -0,0 +1,4 @@ +Utifi +Utifafi +Utifa +Uti diff --git a/BioChem/Reactions/MassAction/Irreversible/UniUni/Uui.mo b/BioChem/Reactions/MassAction/Irreversible/UniUni/Uui.mo new file mode 100644 index 0000000..69d1d1c --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniUni/Uui.mo @@ -0,0 +1,12 @@ +within BioChem.Reactions.MassAction.Irreversible.UniUni; + +model Uui "Uni-uni irrerversible reaction" + extends BioChem.Interfaces.Reactions.Uui; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Uui; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifa.mo b/BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifa.mo new file mode 100644 index 0000000..579d154 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifa.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.UniUni; + +model Uuifa "Uni-uni irrerversible forward activation reaction" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Uuifa; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifafi.mo b/BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifafi.mo new file mode 100644 index 0000000..5618634 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifafi.mo @@ -0,0 +1,14 @@ +within BioChem.Reactions.MassAction.Irreversible.UniUni; + +model Uuifafi "Uni-uni irrerversible forward activation, forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 * aF1.c / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Uuifafi; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifi.mo b/BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifi.mo new file mode 100644 index 0000000..1ddce6e --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniUni/Uuifi.mo @@ -0,0 +1,13 @@ +within BioChem.Reactions.MassAction.Irreversible.UniUni; + +model Uuifi "Uni-uni irrerversible forward inhibition reaction" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1 = 1 "Forwards reaction coefficient for the reaction"; +equation + rr = k1 / iF1.c * s1.c ^ nS1 * s1.V; + annotation( + Documentation, + 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 Uuifi; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniUni/package.mo b/BioChem/Reactions/MassAction/Irreversible/UniUni/package.mo new file mode 100644 index 0000000..94f1135 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniUni/package.mo @@ -0,0 +1,44 @@ +within BioChem.Reactions.MassAction.Irreversible; + +package UniUni "A -> B reactions" + extends Icons.Library; + annotation(Documentation(info=" +

    This package contains models for stoichiometric reactions with one reactant and one product.

    +"), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + model Uuifi "Uni-uni irrerversible forward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + equation + rr=k1/iF1.c*s1.c^nS1*s1.V; + end Uuifi; + + model Uuifafi "Uni-uni irrerversible forward activation, forward inhibition reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V; + end Uuifafi; + + model Uuifa "Uni-uni irrerversible forward activation reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + equation + rr=k1*aF1.c*s1.c^nS1*s1.V; + end Uuifa; + + model Uui "Uni-uni irrerversible reaction" + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + extends BioChem.Interfaces.Reactions.Uui; + parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; + equation + rr=k1*s1.c^nS1*s1.V; + end Uui; + +end UniUni; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniUni/package.order b/BioChem/Reactions/MassAction/Irreversible/UniUni/package.order new file mode 100644 index 0000000..e3b5f85 --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/UniUni/package.order @@ -0,0 +1,4 @@ +Uuifi +Uuifafi +Uuifa +Uui diff --git a/BioChem/Reactions/MassAction/Irreversible/package.mo b/BioChem/Reactions/MassAction/Irreversible/package.mo index a301b3c..16907db 100644 --- a/BioChem/Reactions/MassAction/Irreversible/package.mo +++ b/BioChem/Reactions/MassAction/Irreversible/package.mo @@ -1,406 +1,27 @@ within BioChem.Reactions.MassAction; + package Irreversible "Irreversible reactions" extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for irreversible reactions with one to three reactants and products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - package UniUni "A -> B reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with one reactant and one product.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Uuifi "Uni-uni irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Uui; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s1.V; - end Uuifi; - - model Uuifafi "Uni-uni irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Uui; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V; - end Uuifafi; - - model Uuifa "Uni-uni irrerversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Uui; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s1.V; - end Uuifa; - - model Uui "Uni-uni irrerversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Uui; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s1.V; - end Uui; - - end UniUni; - - package UniTri "A -> B+C+D reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with one reactant and three products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Utifi "Uni-tri irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Uti; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s1.V; - end Utifi; - - model Utifafi "Uni-tri irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Uti; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V; - end Utifafi; - - model Utifa "Uni-tri irrerversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Uti; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s1.V; - end Utifa; - - model Uti "Uni-tri irrerversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Uti; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s1.V; - end Uti; - - end UniTri; - - package UniBi "A -> B+C reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with one reactant and two products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Ubifi "Uni-bi irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ubi; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s1.V; - end Ubifi; - - model Ubifafi "Uni-bi irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ubi; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V; - end Ubifafi; - - model Ubifa "Uni-bi irrerversible forward activation reaction" - annotation(Documentation(info=" -
      -
    • Main Author 2007-2008: Jan Brugård, MathCore Engineering AB
    • -
    • Main Author 2006: Erik Ulfhielm
    • -
    • Main Author 2004-2005: Emma Larsdotter Nilsson
    • -
    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ubi; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s1.V; - end Ubifa; - - model Ubi "Uni-bi irrerversible reaction" - annotation(Documentation(info=" -
      -
    • Main Author 2007-2008: Jan Brugård, MathCore Engineering AB
    • -
    • Main Author 2006: Erik Ulfhielm
    • -
    • Main Author 2004-2005: Emma Larsdotter Nilsson
    • -
    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Ubi; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s1.V; - end Ubi; - - end UniBi; - package TriUni "A+B+C -> D reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with three reactants and one product.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Tuifi "Tri-uni irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tui; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Tuifi; - model Tuifafi "Tri-uni irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tui; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Tuifafi; - model Tuifa "Tri-uni irrerversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tui; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Tuifa; - model Tui "Tri-uni irrerversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tui; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Tui; - end TriUni; - package TriTri "A+B+C -> D+E+F reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with three reactants and three products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Ttifi "Tri-tri irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tti; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Ttifi; - model Ttifafi "Tri-tri irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tti; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Ttifafi; - model Ttifa "Tri-tri irrerversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tti; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Ttifa; - model Tti "Tri-tri irrerversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tti; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Tti; - end TriTri; - package TriBi "A+B+C -> D+E reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with three reactants and two products

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Tbifi "Tri-bi irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbi; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Tbifi; - model Tbifafi "Tri-bi irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbi; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Tbifafi; - model Tbifa "Tri-bi irrerversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbi; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Tbifa; - model Tbi "Tri-bi irrerversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Tbi; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s3.c^nS3*s1.V; - end Tbi; - end TriBi; - - package BiUni "A+B -> C reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with two reactants and one product.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Buifi "Bi-uni irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bui; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V; - end Buifi; - - model Buifafi "Bi-uni irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bui; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V; - end Buifafi; - - model Buifa "Bi-uni irrerversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bui; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V; - end Buifa; - - model Bui "Bi-uni irrerversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bui; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V; - end Bui; - - end BiUni; - - package BiTri "A+B -> C+D+E reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with two reactants and three products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Btifi "Bi-tri irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bti; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V; - end Btifi; - - model Btifafi "Bi-tri irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bti; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V; - end Btifafi; - - model Btifa "Bi-tri irrerversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bti; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V; - end Btifa; - - model Bti "Bi-tri irrerversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bti; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V; - end Bti; - - end BiTri; - - package BiBi "A+B -> C+D reactions" - extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with two reactants and two products.

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - model Bbifi "Bi-bi irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bbi; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V; - end Bbifi; - - model Bbifafi "Bi-bi irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bbi; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V; - end Bbifafi; - - model Bbifa "Bi-bi irrerversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bbi; - extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V; - end Bbifa; - - model Bbi "Bi-bi irrerversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Reactions.Bbi; - parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; - equation - rr=k1*s1.c^nS1*s2.c^nS2*s1.V; - end Bbi; - - end BiBi; + annotation( + Documentation(info = " +

    This package contains models for irreversible reactions with one to three reactants and products.

    + "), + 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 Irreversible; diff --git a/BioChem/Reactions/MassAction/Irreversible/package.order b/BioChem/Reactions/MassAction/Irreversible/package.order new file mode 100644 index 0000000..a154ebb --- /dev/null +++ b/BioChem/Reactions/MassAction/Irreversible/package.order @@ -0,0 +1,9 @@ +UniUni +UniBi +UniTri +BiUni +BiBi +BiTri +TriUni +TriBi +TriTri From 779af7d23b5bfef7d288ddebc996dc151c7ab065 Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Sat, 30 May 2020 13:00:31 +0100 Subject: [PATCH 20/27] Decompose Reactions.Inhibition into separate components --- BioChem/Reactions/Inhibition/Ualii.mo | 21 +++++++++++++++++++++ BioChem/Reactions/Inhibition/Ucii.mo | 19 +++++++++++++++++++ BioChem/Reactions/Inhibition/Ucir.mo | 21 +++++++++++++++++++++ BioChem/Reactions/Inhibition/Umi.mo | 20 ++++++++++++++++++++ BioChem/Reactions/Inhibition/Umr.mo | 22 ++++++++++++++++++++++ BioChem/Reactions/Inhibition/Unii.mo | 19 +++++++++++++++++++ BioChem/Reactions/Inhibition/Unir.mo | 21 +++++++++++++++++++++ BioChem/Reactions/Inhibition/Usii.mo | 18 ++++++++++++++++++ BioChem/Reactions/Inhibition/Usir.mo | 20 ++++++++++++++++++++ BioChem/Reactions/Inhibition/Uuci.mo | 19 +++++++++++++++++++ BioChem/Reactions/Inhibition/Uucr.mo | 21 +++++++++++++++++++++ BioChem/Reactions/Inhibition/package.mo | 1 + BioChem/Reactions/Inhibition/package.order | 11 +++++++++++ 13 files changed, 233 insertions(+) create mode 100644 BioChem/Reactions/Inhibition/Ualii.mo create mode 100644 BioChem/Reactions/Inhibition/Ucii.mo create mode 100644 BioChem/Reactions/Inhibition/Ucir.mo create mode 100644 BioChem/Reactions/Inhibition/Umi.mo create mode 100644 BioChem/Reactions/Inhibition/Umr.mo create mode 100644 BioChem/Reactions/Inhibition/Unii.mo create mode 100644 BioChem/Reactions/Inhibition/Unir.mo create mode 100644 BioChem/Reactions/Inhibition/Usii.mo create mode 100644 BioChem/Reactions/Inhibition/Usir.mo create mode 100644 BioChem/Reactions/Inhibition/Uuci.mo create mode 100644 BioChem/Reactions/Inhibition/Uucr.mo create mode 100644 BioChem/Reactions/Inhibition/package.order diff --git a/BioChem/Reactions/Inhibition/Ualii.mo b/BioChem/Reactions/Inhibition/Ualii.mo new file mode 100644 index 0000000..4e32af7 --- /dev/null +++ b/BioChem/Reactions/Inhibition/Ualii.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.Inhibition; + +model Ualii "Irreversible allosteric inhibition" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; + parameter Real Kii = 1 "Dissociation constant of the inhibitor from the inactive form of the enzyme"; + parameter Real Ks = 1 "Dissociation constant of the substrate from the active form of the enzyme"; + parameter Real L = 1 "Equibrilium constant between active and inactive enzyme"; + parameter Integer n = 1 "Number of binding sites for substrate and inhibitor"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / Ks * (1 + s1.c / Ks) ^ (n - 1) / (L * (1 + i1.c / Kii) ^ n + (1 + s1.c / Ks) ^ n); + annotation( + Documentation(info = " +

    + Irreversible allosteric inhibition. +

    + "), + 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 Ualii; diff --git a/BioChem/Reactions/Inhibition/Ucii.mo b/BioChem/Reactions/Inhibition/Ucii.mo new file mode 100644 index 0000000..f0df1ce --- /dev/null +++ b/BioChem/Reactions/Inhibition/Ucii.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.Inhibition; + +model Ucii "Irreversible competitive inhibition kinetics" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; + parameter Real Ki = 1 "Inhibition constant for the substrate"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / KmS / (1 + s1.c / KmS + i1.c / Ki); + annotation( + Documentation(info = " +

    + Irreversible competitive inhibition kinetics. +

    + "), + 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 Ucii; diff --git a/BioChem/Reactions/Inhibition/Ucir.mo b/BioChem/Reactions/Inhibition/Ucir.mo new file mode 100644 index 0000000..e262e5a --- /dev/null +++ b/BioChem/Reactions/Inhibition/Ucir.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.Inhibition; + +model Ucir "Competitive inhibition (reversible)" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; + parameter Real Ki = 1 "Inhibition constant for the substrate"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter Real KmP = 1 "Reverse Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverese maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) / (1 + s1.c / KmS + p1.c / KmP + i1.c / Ki); + annotation( + Documentation(info = " +

    + Competitive inhibition (reversible). +

    + "), + 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 Ucir; diff --git a/BioChem/Reactions/Inhibition/Umi.mo b/BioChem/Reactions/Inhibition/Umi.mo new file mode 100644 index 0000000..406365d --- /dev/null +++ b/BioChem/Reactions/Inhibition/Umi.mo @@ -0,0 +1,20 @@ +within BioChem.Reactions.Inhibition; + +model Umi "Irreversible mixed inhibition kinetics" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; + parameter Real Kic = 1 "Catalytic inhibition constant"; + parameter Real Kis = 1 "Specific inhibition constant"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / KmS / (1 + i1.c / Kis + s1.c / KmS * (1 + i1.c / Kic)); + annotation( + Documentation(info = " +

    + Irreversible mixed inhibition kinetics. +

    + "), + 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/Reactions/Inhibition/Umr.mo b/BioChem/Reactions/Inhibition/Umr.mo new file mode 100644 index 0000000..efaf1a5 --- /dev/null +++ b/BioChem/Reactions/Inhibition/Umr.mo @@ -0,0 +1,22 @@ +within BioChem.Reactions.Inhibition; + +model Umr "Reversible mixed inhibition kinetics" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; + parameter Real Kis = 1 "Specific (competitive) inhibition constant"; + parameter Real Kic = 1 "Catalytic (non-competitive) inhibition constant"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter Real KmP = 1 "Reverse Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverese maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) / (1 + i1.c / Kis + (s1.c / KmS + p1.c / KmP) * (1 + i1.c / Kic)); + annotation( + Documentation(info = " +

    + Reversible mixed inhibition kinetics. +

    + "), + 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/Reactions/Inhibition/Unii.mo b/BioChem/Reactions/Inhibition/Unii.mo new file mode 100644 index 0000000..e8b6ec2 --- /dev/null +++ b/BioChem/Reactions/Inhibition/Unii.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.Inhibition; + +model Unii "Irreversible non-competitive inhibition kinetics" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; + parameter Real Ki = 1 "Inhibition constant for the substrate"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / KmS / (1 + i1.c / Ki + s1.c / KmS * (1 + i1.c / Ki)); + annotation( + Documentation(info = " +

    + Irreversible non-competitive inhibition kinetics. +

    + "), + 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 Unii; diff --git a/BioChem/Reactions/Inhibition/Unir.mo b/BioChem/Reactions/Inhibition/Unir.mo new file mode 100644 index 0000000..4c7fb71 --- /dev/null +++ b/BioChem/Reactions/Inhibition/Unir.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.Inhibition; + +model Unir "Noncompetitive inhibition (reversible)" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; + parameter Real Ki = 1 "Inhibition constant for the substrate"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter Real KmP = 1 "Reverse Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverese maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) / (1 + i1.c / Ki + (s1.c / KmS + p1.c / KmP) * (1 + i1.c / Ki)); + annotation( + Documentation(info = " +

    + Noncompetitive inhibition (reversible). +

    + "), + 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 Unir; diff --git a/BioChem/Reactions/Inhibition/Usii.mo b/BioChem/Reactions/Inhibition/Usii.mo new file mode 100644 index 0000000..c6d9b07 --- /dev/null +++ b/BioChem/Reactions/Inhibition/Usii.mo @@ -0,0 +1,18 @@ +within BioChem.Reactions.Inhibition; + +model Usii "Irreversible substrate inhibition kinetics" + extends BioChem.Interfaces.Reactions.Uui; + parameter BioChem.Units.Concentration Ki = 1 "Inhibition constant for the substrate"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / KmS / (1 + s1.c / KmS + s1.c ^ 2 / Ki); + annotation( + Documentation(info = " +

    + Irreversible substrate inhibition kinetics. +

    + "), + 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 Usii; diff --git a/BioChem/Reactions/Inhibition/Usir.mo b/BioChem/Reactions/Inhibition/Usir.mo new file mode 100644 index 0000000..a2f4685 --- /dev/null +++ b/BioChem/Reactions/Inhibition/Usir.mo @@ -0,0 +1,20 @@ +within BioChem.Reactions.Inhibition; + +model Usir "Reversible substrate inhibition kinetics" + extends BioChem.Interfaces.Reactions.Uui; + parameter BioChem.Units.Concentration Ki = 1 "Inhibition constant for the substrate"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter Real KmP = 1 "Reverese Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reversible maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) / (1 + s1.c / KmS + p1.c / KmP + s1.c ^ 2 / Ki); + annotation( + Documentation(info = " +

    + Reversible substrate inhibition kinetics. +

    + "), + 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 Usir; diff --git a/BioChem/Reactions/Inhibition/Uuci.mo b/BioChem/Reactions/Inhibition/Uuci.mo new file mode 100644 index 0000000..a92810d --- /dev/null +++ b/BioChem/Reactions/Inhibition/Uuci.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.Inhibition; + +model Uuci "Irreversible uncompetitive inhibition" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; + parameter Real Ki = 1 "Inhibition constant for the substrate"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / KmS / (1 + s1.c / KmS * (1 + i1.c / Ki)); + annotation( + Documentation(info = " +

    + Irreversible uncompetitive inhibition. +

    + "), + 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 Uuci; diff --git a/BioChem/Reactions/Inhibition/Uucr.mo b/BioChem/Reactions/Inhibition/Uucr.mo new file mode 100644 index 0000000..ee3098f --- /dev/null +++ b/BioChem/Reactions/Inhibition/Uucr.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.Inhibition; + +model Uucr "Uncompetitive inhibition (reversible)" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; + parameter Real Ki = 1 "Inhibition constant for the substrate"; + parameter Real KmS = 1 "Forward Michaelis-Menten constant"; + parameter Real KmP = 1 "Reverse Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverese maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) / (1 + (s1.c / KmS + p1.c / KmP) * (1 + i1.c / Ki)); + annotation( + Documentation(info = " +

    + Uncompetitive inhibition (reversible). +

    + "), + 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 Uucr; diff --git a/BioChem/Reactions/Inhibition/package.mo b/BioChem/Reactions/Inhibition/package.mo index 21771e6..b2404f0 100644 --- a/BioChem/Reactions/Inhibition/package.mo +++ b/BioChem/Reactions/Inhibition/package.mo @@ -1,4 +1,5 @@ within BioChem.Reactions; + package Inhibition "Inhibition kinetics reactions" extends Icons.Library; annotation(Documentation(info=" diff --git a/BioChem/Reactions/Inhibition/package.order b/BioChem/Reactions/Inhibition/package.order new file mode 100644 index 0000000..502e88b --- /dev/null +++ b/BioChem/Reactions/Inhibition/package.order @@ -0,0 +1,11 @@ +Uucr +Uuci +Usir +Usii +Unir +Unii +Umr +Umi +Ucir +Ucii +Ualii From 20cbf316bd39ddd5029341696c6d2d777a583867 Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Sat, 30 May 2020 13:08:56 +0100 Subject: [PATCH 21/27] decompoase Reactions.FastEquilibrium into separate components --- BioChem/Reactions/FastEquilibrium/Bbf.mo | 19 ++ BioChem/Reactions/FastEquilibrium/Bmf.mo | 19 ++ BioChem/Reactions/FastEquilibrium/Bqf.mo | 23 ++ BioChem/Reactions/FastEquilibrium/Btf.mo | 21 ++ BioChem/Reactions/FastEquilibrium/Mmf.mo | 20 ++ BioChem/Reactions/FastEquilibrium/Qmf.mo | 23 ++ BioChem/Reactions/FastEquilibrium/Qqf.mo | 27 ++ BioChem/Reactions/FastEquilibrium/Tmf.mo | 21 ++ BioChem/Reactions/FastEquilibrium/Tqf.mo | 25 ++ BioChem/Reactions/FastEquilibrium/Ttf.mo | 23 ++ BioChem/Reactions/FastEquilibrium/Ubf.mo | 17 + BioChem/Reactions/FastEquilibrium/Umf.mo | 17 + BioChem/Reactions/FastEquilibrium/Uqf.mo | 21 ++ BioChem/Reactions/FastEquilibrium/Utf.mo | 19 ++ BioChem/Reactions/FastEquilibrium/Uuf.mo | 15 + BioChem/Reactions/FastEquilibrium/package.mo | 277 ++++++++++++++++ .../Reactions/FastEquilibrium/package.order | 15 + BioChem/Reactions/package.mo | 295 ++---------------- 18 files changed, 620 insertions(+), 277 deletions(-) create mode 100644 BioChem/Reactions/FastEquilibrium/Bbf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Bmf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Bqf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Btf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Mmf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Qmf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Qqf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Tmf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Tqf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Ttf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Ubf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Umf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Uqf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Utf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/Uuf.mo create mode 100644 BioChem/Reactions/FastEquilibrium/package.mo create mode 100644 BioChem/Reactions/FastEquilibrium/package.order diff --git a/BioChem/Reactions/FastEquilibrium/Bbf.mo b/BioChem/Reactions/FastEquilibrium/Bbf.mo new file mode 100644 index 0000000..fd8490c --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Bbf.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.FastEquilibrium; + +model Bbf "Bi-Bi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.TwoProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2 = 1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2 = 1 "Equilibrium coefficient for product 2"; +equation + p1.c = s1.c * kP1 / kS1; + p2.c = s1.c * kP2 / kS1; + s2.c = s1.c * kS2 / kS1; + s1.r + s2.r + p1.r + p2.r = 0; + 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 Bbf; diff --git a/BioChem/Reactions/FastEquilibrium/Bmf.mo b/BioChem/Reactions/FastEquilibrium/Bmf.mo new file mode 100644 index 0000000..52fe91e --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Bmf.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.FastEquilibrium; + +model Bmf "Bi-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2 = 1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP] = fill(1, dimP) "Equilibrium coefficients for the products"; +equation + for i in 1:dimP loop + p[i].c = s1.c * kP[i] / kS1; + end for; + s2.c = s1.c * kS2 / kS1; + s1.r + s2.r + sum(p.r) = 0; + 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 Bmf; diff --git a/BioChem/Reactions/FastEquilibrium/Bqf.mo b/BioChem/Reactions/FastEquilibrium/Bqf.mo new file mode 100644 index 0000000..cf4073a --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Bqf.mo @@ -0,0 +1,23 @@ +within BioChem.Reactions.FastEquilibrium; + +model Bqf "Bi-Quad fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.FourProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2 = 1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2 = 1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3 = 1 "Equilibrium coefficient for product 3"; + parameter BioChem.Units.EquilibriumCoefficient kP4 = 1 "Equilibrium coefficient for product 4"; +equation + p1.c = s1.c * kP1 / kS1; + p2.c = s1.c * kP2 / kS1; + p3.c = s1.c * kP3 / kS1; + p4.c = s1.c * kP4 / kS1; + s2.c = s1.c * kS2 / kS1; + s1.r + s2.r + p1.r + p2.r + p3.r + p4.r = 0; + 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 Bqf; diff --git a/BioChem/Reactions/FastEquilibrium/Btf.mo b/BioChem/Reactions/FastEquilibrium/Btf.mo new file mode 100644 index 0000000..98460d8 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Btf.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.FastEquilibrium; + +model Btf "Bi-Tri fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.ThreeProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2 = 1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2 = 1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3 = 1 "Equilibrium coefficient for product 3"; +equation + p1.c = s1.c * kP1 / kS1; + p2.c = s1.c * kP2 / kS1; + p3.c = s1.c * kP3 / kS1; + s2.c = s1.c * kS2 / kS1; + s1.r + s2.r + p1.r + p2.r + p3.r = 0; + 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 Btf; diff --git a/BioChem/Reactions/FastEquilibrium/Mmf.mo b/BioChem/Reactions/FastEquilibrium/Mmf.mo new file mode 100644 index 0000000..7356991 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Mmf.mo @@ -0,0 +1,20 @@ +within BioChem.Reactions.FastEquilibrium; + +model Mmf "Multi-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS[dimS] = fill(1, dimS) "Equilibrium coefficients for the substrates"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP] = fill(1, dimP) "Equilibrium coefficients for the products"; +equation + for i in 1:dimP loop + p[i].c = s[1].c * kP[i] / kS[1]; + end for; + for i in 2:dimS loop + s[i].c = s[1].c * kS[i] / kS[1]; + end for; + sum(s.r) + sum(p.r) = 0; + 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 Mmf; diff --git a/BioChem/Reactions/FastEquilibrium/Qmf.mo b/BioChem/Reactions/FastEquilibrium/Qmf.mo new file mode 100644 index 0000000..a39d134 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Qmf.mo @@ -0,0 +1,23 @@ +within BioChem.Reactions.FastEquilibrium; + +model Qmf "Quad-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2 = 1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3 = 1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kS4 = 1 "Equilibrium coefficient for substrate 4"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP] = fill(1, dimP) "Equilibrium coefficients for the products"; +equation + for i in 1:dimP loop + p[i].c = s1.c * kP[i] / kS1; + end for; + s2.c = s1.c * kS2 / kS1; + s3.c = s1.c * kS3 / kS1; + s4.c = s1.c * kS4 / kS1; + s1.r + s2.r + s3.r + s4.r + sum(p.r) = 0; + 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 Qmf; diff --git a/BioChem/Reactions/FastEquilibrium/Qqf.mo b/BioChem/Reactions/FastEquilibrium/Qqf.mo new file mode 100644 index 0000000..18a3e00 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Qqf.mo @@ -0,0 +1,27 @@ +within BioChem.Reactions.FastEquilibrium; + +model Qqf "Quad-Quad fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.FourProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2 = 1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3 = 1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kS4 = 1 "Equilibrium coefficient for substrate 4"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2 = 1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3 = 1 "Equilibrium coefficient for product 3"; + parameter BioChem.Units.EquilibriumCoefficient kP4 = 1 "Equilibrium coefficient for product 4"; +equation + p1.c = s1.c * kP1 / kS1; + p2.c = s1.c * kP2 / kS1; + p3.c = s1.c * kP3 / kS1; + p4.c = s1.c * kP4 / kS1; + s2.c = s1.c * kS2 / kS1; + s3.c = s1.c * kS3 / kS1; + s4.c = s1.c * kS4 / kS1; + s1.r + s2.r + s3.r + s4.r + p1.r + p2.r + p3.r + p4.r = 0; + 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 Qqf; diff --git a/BioChem/Reactions/FastEquilibrium/Tmf.mo b/BioChem/Reactions/FastEquilibrium/Tmf.mo new file mode 100644 index 0000000..240bb7e --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Tmf.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.FastEquilibrium; + +model Tmf "Tri-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2 = 1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3 = 1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP] = fill(1, dimP) "Equilibrium coefficients for the products"; +equation + for i in 1:dimP loop + p[i].c = s1.c * kP[i] / kS1; + end for; + s2.c = s1.c * kS2 / kS1; + s3.c = s1.c * kS3 / kS1; + s1.r + s2.r + s3.r + sum(p.r) = 0; + 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 Tmf; diff --git a/BioChem/Reactions/FastEquilibrium/Tqf.mo b/BioChem/Reactions/FastEquilibrium/Tqf.mo new file mode 100644 index 0000000..d576579 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Tqf.mo @@ -0,0 +1,25 @@ +within BioChem.Reactions.FastEquilibrium; + +model Tqf "Tri-Quad fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.FourProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2 = 1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3 = 1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2 = 1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3 = 1 "Equilibrium coefficient for product 3"; + parameter BioChem.Units.EquilibriumCoefficient kP4 = 1 "Equilibrium coefficient for product 4"; +equation + p1.c = s1.c * kP1 / kS1; + p2.c = s1.c * kP2 / kS1; + p3.c = s1.c * kP3 / kS1; + p4.c = s1.c * kP4 / kS1; + s2.c = s1.c * kS2 / kS1; + s3.c = s1.c * kS3 / kS1; + s1.r + s2.r + s3.r + p1.r + p2.r + p3.r + p4.r = 0; + 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 Tqf; diff --git a/BioChem/Reactions/FastEquilibrium/Ttf.mo b/BioChem/Reactions/FastEquilibrium/Ttf.mo new file mode 100644 index 0000000..6cb5f18 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Ttf.mo @@ -0,0 +1,23 @@ +within BioChem.Reactions.FastEquilibrium; + +model Ttf "Tri-Tri fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.ThreeProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2 = 1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3 = 1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2 = 1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3 = 1 "Equilibrium coefficient for product 3"; +equation + p1.c = s1.c * kP1 / kS1; + p2.c = s1.c * kP2 / kS1; + p3.c = s1.c * kP3 / kS1; + s2.c = s1.c * kS2 / kS1; + s3.c = s1.c * kS3 / kS1; + s1.r + s2.r + s3.r + p1.r + p2.r + p3.r = 0; + 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 Ttf; diff --git a/BioChem/Reactions/FastEquilibrium/Ubf.mo b/BioChem/Reactions/FastEquilibrium/Ubf.mo new file mode 100644 index 0000000..3dab17c --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Ubf.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.FastEquilibrium; + +model Ubf "Uni-Bi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.TwoProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for the substrate"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2 = 1 "Equilibrium coefficient for product 2"; +equation + p1.c = s1.c * kP1 / kS1; + p2.c = s1.c * kP2 / kS1; + s1.r + p1.r + p2.r = 0; + 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 Ubf; diff --git a/BioChem/Reactions/FastEquilibrium/Umf.mo b/BioChem/Reactions/FastEquilibrium/Umf.mo new file mode 100644 index 0000000..b21b42a --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Umf.mo @@ -0,0 +1,17 @@ +within BioChem.Reactions.FastEquilibrium; + +model Umf "Uni-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP] = fill(1, dimP) "Equilibrium coefficients for the products"; +equation + for i in 1:dimP loop + p[i].c = s1.c * kP[i] / kS1; + end for; + s1.r + sum(p.r) = 0; + 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 Umf; diff --git a/BioChem/Reactions/FastEquilibrium/Uqf.mo b/BioChem/Reactions/FastEquilibrium/Uqf.mo new file mode 100644 index 0000000..92a6673 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Uqf.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.FastEquilibrium; + +model Uqf + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.FourProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for the substrate"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2 = 1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3 = 1 "Equilibrium coefficient for product 3"; + parameter BioChem.Units.EquilibriumCoefficient kP4 = 1 "Equilibrium coefficient for product 4"; +equation + p1.c = s1.c * kP1 / kS1; + p2.c = s1.c * kP2 / kS1; + p3.c = s1.c * kP3 / kS1; + p4.c = s1.c * kP4 / kS1; + s1.r + p1.r + p2.r + p3.r + p4.c = 0; + 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 Uqf; diff --git a/BioChem/Reactions/FastEquilibrium/Utf.mo b/BioChem/Reactions/FastEquilibrium/Utf.mo new file mode 100644 index 0000000..311c3d4 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Utf.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.FastEquilibrium; + +model Utf "Uni-Tri fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.ThreeProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for the substrate"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2 = 1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3 = 1 "Equilibrium coefficient for product 3"; +equation + p1.c = s1.c * kP1 / kS1; + p2.c = s1.c * kP2 / kS1; + p3.c = s1.c * kP3 / kS1; + s1.r + p1.r + p2.r + p3.r = 0; + 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 Utf; diff --git a/BioChem/Reactions/FastEquilibrium/Uuf.mo b/BioChem/Reactions/FastEquilibrium/Uuf.mo new file mode 100644 index 0000000..babbcef --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/Uuf.mo @@ -0,0 +1,15 @@ +within BioChem.Reactions.FastEquilibrium; + +model Uuf "Uni-Uni fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.OneProduct; + parameter BioChem.Units.EquilibriumCoefficient kS1 = 1 "Equilibrium coefficient for the substrate"; + parameter BioChem.Units.EquilibriumCoefficient kP1 = 1 "Equilibrium coefficient for the product"; +equation + p1.c = s1.c * kP1 / kS1; + s1.r + p1.r = 0; + 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 Uuf; diff --git a/BioChem/Reactions/FastEquilibrium/package.mo b/BioChem/Reactions/FastEquilibrium/package.mo new file mode 100644 index 0000000..079bd03 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/package.mo @@ -0,0 +1,277 @@ +within BioChem.Reactions; + +package FastEquilibrium "Base classes for reactions with fast (instant) equilibrium" + extends Icons.Library; + annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Documentation(info=" +

    FastEquilibrium

    +The reaction in the FastEquilibrium package is used to model reactions that are very fast, and could be seen as an instant balance. These models are approximated to very fast reactions, if translated to SBML. +
    + +
    +", revisions="")); + model Uuf "Uni-Uni fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.OneProduct; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + s1.r + p1.r=0; + end Uuf; + + model Utf "Uni-Tri fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.ThreeProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + p2.c=s1.c*kP2/kS1; + p3.c=s1.c*kP3/kS1; + s1.r + p1.r + p2.r + p3.r=0; + end Utf; + + model Ubf "Uni-Bi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.TwoProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + p2.c=s1.c*kP2/kS1; + s1.r + p1.r + p2.r=0; + end Ubf; + + model Ttf "Tri-Tri fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.ThreeProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + p2.c=s1.c*kP2/kS1; + p3.c=s1.c*kP3/kS1; + s2.c=s1.c*kS2/kS1; + s3.c=s1.c*kS3/kS1; + s1.r + s2.r + s3.r + p1.r + p2.r + p3.r=0; + end Ttf; + + model Btf "Bi-Tri fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.ThreeProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + p2.c=s1.c*kP2/kS1; + p3.c=s1.c*kP3/kS1; + s2.c=s1.c*kS2/kS1; + s1.r + s2.r + p1.r + p2.r + p3.r=0; + end Btf; + + model Bbf "Bi-Bi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.TwoProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + p2.c=s1.c*kP2/kS1; + s2.c=s1.c*kS2/kS1; + s1.r + s2.r + p1.r + p2.r=0; + end Bbf; + + model Qqf "Quad-Quad fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.FourProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kS4=1 "Equilibrium coefficient for substrate 4"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; + parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + p2.c=s1.c*kP2/kS1; + p3.c=s1.c*kP3/kS1; + p4.c=s1.c*kP4/kS1; + s2.c=s1.c*kS2/kS1; + s3.c=s1.c*kS3/kS1; + s4.c=s1.c*kS4/kS1; + s1.r + s2.r + s3.r + s4.r + p1.r + p2.r + p3.r + p4.r=0; + end Qqf; + + model Uqf + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.FourProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; + parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + p2.c=s1.c*kP2/kS1; + p3.c=s1.c*kP3/kS1; + p4.c=s1.c*kP4/kS1; + s1.r + p1.r + p2.r + p3.r + p4.c=0; + end Uqf; + + model Bqf "Bi-Quad fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.FourProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; + parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + p2.c=s1.c*kP2/kS1; + p3.c=s1.c*kP3/kS1; + p4.c=s1.c*kP4/kS1; + s2.c=s1.c*kS2/kS1; + s1.r + s2.r + p1.r + p2.r + p3.r + p4.r=0; + end Bqf; + + model Tqf "Tri-Quad fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.FourProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; + parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; + parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; + parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium 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 + p1.c=s1.c*kP1/kS1; + p2.c=s1.c*kP2/kS1; + p3.c=s1.c*kP3/kS1; + p4.c=s1.c*kP4/kS1; + s2.c=s1.c*kS2/kS1; + s3.c=s1.c*kS3/kS1; + s1.r + s2.r + s3.r + p1.r + p2.r + p3.r + p4.r=0; + end Tqf; + + model Mmf "Multi-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS[dimS]=fill(1, dimS) "Equilibrium coefficients for the substrates"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 + for i in 1:dimP loop + p[i].c=s[1].c*kP[i]/kS[1]; + end for; + for i in 2:dimS loop + s[i].c=s[1].c*kS[i]/kS[1]; + end for; + sum(s.r) + sum(p.r)=0; + end Mmf; + + model Umf "Uni-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 + for i in 1:dimP loop + p[i].c=s1.c*kP[i]/kS1; + end for; + s1.r + sum(p.r)=0; + end Umf; + + model Bmf "Bi-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 + for i in 1:dimP loop + p[i].c=s1.c*kP[i]/kS1; + end for; + s2.c=s1.c*kS2/kS1; + s1.r + s2.r + sum(p.r)=0; + end Bmf; + + model Qmf "Quad-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kS4=1 "Equilibrium coefficient for substrate 4"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 + for i in 1:dimP loop + p[i].c=s1.c*kP[i]/kS1; + end for; + s2.c=s1.c*kS2/kS1; + s3.c=s1.c*kS3/kS1; + s4.c=s1.c*kS4/kS1; + s1.r + s2.r + s3.r + s4.r + sum(p.r)=0; + end Qmf; + + model Tmf "Tri-Multi fast (instant) equilibrium reaction" + extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; + extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; + parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; + parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; + parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; + parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 + for i in 1:dimP loop + p[i].c=s1.c*kP[i]/kS1; + end for; + s2.c=s1.c*kS2/kS1; + s3.c=s1.c*kS3/kS1; + s1.r + s2.r + s3.r + sum(p.r)=0; + end Tmf; + + end FastEquilibrium; diff --git a/BioChem/Reactions/FastEquilibrium/package.order b/BioChem/Reactions/FastEquilibrium/package.order new file mode 100644 index 0000000..d159454 --- /dev/null +++ b/BioChem/Reactions/FastEquilibrium/package.order @@ -0,0 +1,15 @@ +Uuf +Utf +Ubf +Ttf +Btf +Bbf +Qqf +Uqf +Bqf +Tqf +Mmf +Umf +Bmf +Qmf +Tmf diff --git a/BioChem/Reactions/package.mo b/BioChem/Reactions/package.mo index a7f768c..b4f0625 100644 --- a/BioChem/Reactions/package.mo +++ b/BioChem/Reactions/package.mo @@ -1,296 +1,37 @@ within BioChem; + package Reactions "Reaction edges" extends Icons.Library; - annotation(Documentation(info=" -

    Reactions

    -

    - - This package contains reaction models. Each reaction is represented - by an arrow, and substances are connected to the arrowheads. - The reactions in this package accept one to three reactants and products, - and some reactions also need an activator/inhibitor/modifier. - Substances are connected to the arrowheads, and activators/inhibitors/modifiers are - connected to the top or bottom of the circle containing a plus, a minus or the letter M. -

    - Reactions can take place between two compartments. If the reaction has more than one substrates or products, - all substrates need to be located in one compartment, and all products also need to be in one compartment. -

    - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={15.9037,-7.71383}, fillPattern=FillPattern.Solid, extent={{-85.9037,-92.2862},{-50,57.7138}}, textString="A", fontName="Arial"),Text(origin={-10,-7.71383}, fillPattern=FillPattern.Solid, extent={{25,-92.2862},{60,57.7138}}, textString="B", fontName="Arial"),Line(origin={-0.31,-6.93}, points={{-31.5,-17.25},{10.31,-17.25}}, thickness=3, arrow={Arrow.None,Arrow.Open}, arrowSize=20)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - package FastEquilibrium "Base classes for reactions with fast (instant) equilibrium" - extends Icons.Library; - annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Documentation(info=" -

    FastEquilibrium

    -The reaction in the FastEquilibrium package is used to model reactions that are very fast, and could be seen as an instant balance. These models are approximated to very fast reactions, if translated to SBML. -
    - -
    -", revisions="")); - model Uuf "Uni-Uni fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; - extends BioChem.Interfaces.Reactions.Basics.OneProduct; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - s1.r + p1.r=0; - end Uuf; - model Utf "Uni-Tri fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; - extends BioChem.Interfaces.Reactions.Basics.ThreeProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; - parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; - parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - p2.c=s1.c*kP2/kS1; - p3.c=s1.c*kP3/kS1; - s1.r + p1.r + p2.r + p3.r=0; - end Utf; - model Ubf "Uni-Bi fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; - extends BioChem.Interfaces.Reactions.Basics.TwoProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; - parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - p2.c=s1.c*kP2/kS1; - s1.r + p1.r + p2.r=0; - end Ubf; - model Ttf "Tri-Tri fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.ThreeProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; - parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; - parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; - parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - p2.c=s1.c*kP2/kS1; - p3.c=s1.c*kP3/kS1; - s2.c=s1.c*kS2/kS1; - s3.c=s1.c*kS3/kS1; - s1.r + s2.r + s3.r + p1.r + p2.r + p3.r=0; - end Ttf; - model Btf "Bi-Tri fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.ThreeProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; - parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; - parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - p2.c=s1.c*kP2/kS1; - p3.c=s1.c*kP3/kS1; - s2.c=s1.c*kS2/kS1; - s1.r + s2.r + p1.r + p2.r + p3.r=0; - end Btf; - model Bbf "Bi-Bi fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.TwoProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; - parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - p2.c=s1.c*kP2/kS1; - s2.c=s1.c*kS2/kS1; - s1.r + s2.r + p1.r + p2.r=0; - end Bbf; - model Qqf "Quad-Quad fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.FourProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; - parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; - parameter BioChem.Units.EquilibriumCoefficient kS4=1 "Equilibrium coefficient for substrate 4"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; - parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; - parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; - parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - p2.c=s1.c*kP2/kS1; - p3.c=s1.c*kP3/kS1; - p4.c=s1.c*kP4/kS1; - s2.c=s1.c*kS2/kS1; - s3.c=s1.c*kS3/kS1; - s4.c=s1.c*kS4/kS1; - s1.r + s2.r + s3.r + s4.r + p1.r + p2.r + p3.r + p4.r=0; - end Qqf; - model Uqf - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; - extends BioChem.Interfaces.Reactions.Basics.FourProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; - parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; - parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; - parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - p2.c=s1.c*kP2/kS1; - p3.c=s1.c*kP3/kS1; - p4.c=s1.c*kP4/kS1; - s1.r + p1.r + p2.r + p3.r + p4.c=0; - end Uqf; - model Bqf "Bi-Quad fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.FourProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; - parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; - parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; - parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - p2.c=s1.c*kP2/kS1; - p3.c=s1.c*kP3/kS1; - p4.c=s1.c*kP4/kS1; - s2.c=s1.c*kS2/kS1; - s1.r + s2.r + p1.r + p2.r + p3.r + p4.r=0; - end Bqf; - model Tqf "Tri-Quad fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.FourProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; - parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; - parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; - parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; - parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; - parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium 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 - p1.c=s1.c*kP1/kS1; - p2.c=s1.c*kP2/kS1; - p3.c=s1.c*kP3/kS1; - p4.c=s1.c*kP4/kS1; - s2.c=s1.c*kS2/kS1; - s3.c=s1.c*kS3/kS1; - s1.r + s2.r + s3.r + p1.r + p2.r + p3.r + p4.r=0; - end Tqf; - model Mmf "Multi-Multi fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.MultipleSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; - parameter BioChem.Units.EquilibriumCoefficient kS[dimS]=fill(1, dimS) "Equilibrium coefficients for the substrates"; - parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 - for i in 1:dimP loop - p[i].c=s[1].c*kP[i]/kS[1]; - end for; - for i in 2:dimS loop - s[i].c=s[1].c*kS[i]/kS[1]; - end for; - sum(s.r) + sum(p.r)=0; - end Mmf; - model Umf "Uni-Multi fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; - extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 - for i in 1:dimP loop - p[i].c=s1.c*kP[i]/kS1; - end for; - s1.r + sum(p.r)=0; - end Umf; - model Bmf "Bi-Multi fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; - parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 - for i in 1:dimP loop - p[i].c=s1.c*kP[i]/kS1; - end for; - s2.c=s1.c*kS2/kS1; - s1.r + s2.r + sum(p.r)=0; - end Bmf; - model Qmf "Quad-Multi fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.FourSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; - parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; - parameter BioChem.Units.EquilibriumCoefficient kS4=1 "Equilibrium coefficient for substrate 4"; - parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 - for i in 1:dimP loop - p[i].c=s1.c*kP[i]/kS1; - end for; - s2.c=s1.c*kS2/kS1; - s3.c=s1.c*kS3/kS1; - s4.c=s1.c*kS4/kS1; - s1.r + s2.r + s3.r + s4.r + sum(p.r)=0; - end Qmf; - - model Tmf "Tri-Multi fast (instant) equilibrium reaction" - extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; - extends BioChem.Interfaces.Reactions.Basics.ThreeSubstratesReversible; - extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; - parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; - parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; - parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; - parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium 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 - for i in 1:dimP loop - p[i].c=s1.c*kP[i]/kS1; - end for; - s2.c=s1.c*kS2/kS1; - s3.c=s1.c*kS3/kS1; - s1.r + s2.r + s3.r + sum(p.r)=0; - end Tmf; - - end FastEquilibrium; + annotation( + Documentation(info = " +

    Reactions

    +

    + This package contains reaction models. Each reaction is represented + by an arrow, and substances are connected to the arrowheads. + The reactions in this package accept one to three reactants and products, + and some reactions also need an activator/inhibitor/modifier. + Substances are connected to the arrowheads, and activators/inhibitors/modifiers are + connected to the top or bottom of the circle containing a plus, a minus or the letter M. +

    + Reactions can take place between two compartments. If the reaction has more than one substrates or products, + all substrates need to be located in one compartment, and all products also need to be in one compartment. +

    + ", revisions = ""), + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {15.9037, -7.71383}, fillPattern = FillPattern.Solid, extent = {{-85.9037, -92.2862}, {-50, 57.7138}}, textString = "A", fontName = "Arial"), Text(origin = {-10, -7.71383}, fillPattern = FillPattern.Solid, extent = {{25, -92.2862}, {60, 57.7138}}, textString = "B", fontName = "Arial"), Line(origin = {-0.31, -6.93}, points = {{-31.5, -17.25}, {10.31, -17.25}}, thickness = 3, arrow = {Arrow.None, Arrow.Open}, arrowSize = 20)}), + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); end Reactions; From c5f60bd5d60197c24cab1e0a3077964425db4588 Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Sat, 30 May 2020 13:10:16 +0100 Subject: [PATCH 22/27] Decompose package Reactions into separate components --- BioChem/Reactions/Activation/Uai.mo | 18 ++++++++++ BioChem/Reactions/Activation/Uaii.mo | 19 ++++++++++ BioChem/Reactions/Activation/Uar.mo | 21 +++++++++++ BioChem/Reactions/Activation/Ucti.mo | 19 ++++++++++ BioChem/Reactions/Activation/Uctr.mo | 21 +++++++++++ BioChem/Reactions/Activation/Umai.mo | 20 +++++++++++ BioChem/Reactions/Activation/Umar.mo | 22 ++++++++++++ BioChem/Reactions/Activation/package.order | 7 ++++ BioChem/Reactions/BiSubstrate/Ordbbr.mo | 36 +++++++++++++++++++ BioChem/Reactions/BiSubstrate/Ordbur.mo | 27 ++++++++++++++ BioChem/Reactions/BiSubstrate/Ordubr.mo | 27 ++++++++++++++ BioChem/Reactions/BiSubstrate/Ppbr.mo | 33 +++++++++++++++++ BioChem/Reactions/BiSubstrate/package.order | 4 +++ BioChem/Reactions/Hill/Hilli.mo | 18 ++++++++++ BioChem/Reactions/Hill/Hillmmr.mo | 31 ++++++++++++++++ BioChem/Reactions/Hill/Hillmr.mo | 28 +++++++++++++++ BioChem/Reactions/Hill/Hillr.mo | 20 +++++++++++ BioChem/Reactions/Hill/package.order | 4 +++ BioChem/Reactions/HyperbolicModifier/Uhmi.mo | 21 +++++++++++ BioChem/Reactions/HyperbolicModifier/Uhmr.mo | 23 ++++++++++++ .../HyperbolicModifier/package.order | 2 ++ BioChem/Reactions/MassAction/package.order | 2 ++ BioChem/Reactions/package.order | 8 +++++ 23 files changed, 431 insertions(+) create mode 100644 BioChem/Reactions/Activation/Uai.mo create mode 100644 BioChem/Reactions/Activation/Uaii.mo create mode 100644 BioChem/Reactions/Activation/Uar.mo create mode 100644 BioChem/Reactions/Activation/Ucti.mo create mode 100644 BioChem/Reactions/Activation/Uctr.mo create mode 100644 BioChem/Reactions/Activation/Umai.mo create mode 100644 BioChem/Reactions/Activation/Umar.mo create mode 100644 BioChem/Reactions/Activation/package.order create mode 100644 BioChem/Reactions/BiSubstrate/Ordbbr.mo create mode 100644 BioChem/Reactions/BiSubstrate/Ordbur.mo create mode 100644 BioChem/Reactions/BiSubstrate/Ordubr.mo create mode 100644 BioChem/Reactions/BiSubstrate/Ppbr.mo create mode 100644 BioChem/Reactions/BiSubstrate/package.order create mode 100644 BioChem/Reactions/Hill/Hilli.mo create mode 100644 BioChem/Reactions/Hill/Hillmmr.mo create mode 100644 BioChem/Reactions/Hill/Hillmr.mo create mode 100644 BioChem/Reactions/Hill/Hillr.mo create mode 100644 BioChem/Reactions/Hill/package.order create mode 100644 BioChem/Reactions/HyperbolicModifier/Uhmi.mo create mode 100644 BioChem/Reactions/HyperbolicModifier/Uhmr.mo create mode 100644 BioChem/Reactions/HyperbolicModifier/package.order create mode 100644 BioChem/Reactions/MassAction/package.order create mode 100644 BioChem/Reactions/package.order diff --git a/BioChem/Reactions/Activation/Uai.mo b/BioChem/Reactions/Activation/Uai.mo new file mode 100644 index 0000000..f3d2330 --- /dev/null +++ b/BioChem/Reactions/Activation/Uai.mo @@ -0,0 +1,18 @@ +within BioChem.Reactions.Activation; + +model Uai "Irreversible substrate activation" + extends BioChem.Interfaces.Reactions.Uui; + parameter BioChem.Units.Concentration KSa = 1 "Dissociation constant of substrate-activation site"; + parameter BioChem.Units.Concentration KSc = 1 "Dissociation constant of substrate-active site"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / KSa * s1.c / KSa / (1 + s1.c / KSc + s1.c / KSa * s1.c / KSa + s1.c / KSa); + annotation( + Documentation(info = " +

    + Irreversible substrate activation. +

    + "), + 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 Uai; diff --git a/BioChem/Reactions/Activation/Uaii.mo b/BioChem/Reactions/Activation/Uaii.mo new file mode 100644 index 0000000..981f034 --- /dev/null +++ b/BioChem/Reactions/Activation/Uaii.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.Activation; + +model Uaii "Irreversible specific activation kinetics" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Activator; + parameter BioChem.Units.Concentration Ka = 1 "Activation constant"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c * a1.c / (a1.c * (KmS + s1.c) + KmS * Ka); + annotation( + Documentation(info = " +

    + Irreversible specific activation kinetics. +

    + "), + 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 Uaii; diff --git a/BioChem/Reactions/Activation/Uar.mo b/BioChem/Reactions/Activation/Uar.mo new file mode 100644 index 0000000..4dbf1ed --- /dev/null +++ b/BioChem/Reactions/Activation/Uar.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.Activation; + +model Uar "Reversible specific activation kinetics" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Activator; + parameter BioChem.Units.Concentration Ka = 1 "Activation constant"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.Concentration KmP = 1 "Backward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Backward maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) / (1 + s1.c / KmS + p1.c / KmP + Ka / a1.c); + annotation( + Documentation(info = " +

    + Reversible specific activation kinetics. +

    + "), + 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 Uar; diff --git a/BioChem/Reactions/Activation/Ucti.mo b/BioChem/Reactions/Activation/Ucti.mo new file mode 100644 index 0000000..d514882 --- /dev/null +++ b/BioChem/Reactions/Activation/Ucti.mo @@ -0,0 +1,19 @@ +within BioChem.Reactions.Activation; + +model Ucti "Irreversible catalytic activation" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Activator; + parameter BioChem.Units.Concentration Ka = 1 "Activation constant"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c * a1.c / ((a1.c + Ka) * (s1.c + KmS)); + annotation( + Documentation(info = " +

    + Irreversible catalytic activation. +

    + "), + 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 Ucti; diff --git a/BioChem/Reactions/Activation/Uctr.mo b/BioChem/Reactions/Activation/Uctr.mo new file mode 100644 index 0000000..d09fd18 --- /dev/null +++ b/BioChem/Reactions/Activation/Uctr.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.Activation; + +model Uctr "Reversible catalytic activation" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Activator; + parameter BioChem.Units.Concentration Ka = 1 "Activation constant"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.Concentration KmP = 1 "Backward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Backward maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) / (1 + Ka / a1.c + (s1.c / KmS + p1.c / KmP) * (1 + Ka / a1.c)); + annotation( + Documentation(info = " +

    + Reversible catalytic activation. +

    + "), + 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 Uctr; diff --git a/BioChem/Reactions/Activation/Umai.mo b/BioChem/Reactions/Activation/Umai.mo new file mode 100644 index 0000000..3cb03d6 --- /dev/null +++ b/BioChem/Reactions/Activation/Umai.mo @@ -0,0 +1,20 @@ +within BioChem.Reactions.Activation; + +model Umai "Irreversible mixed activation kinetics" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Activator; + parameter BioChem.Units.Concentration Kac = 1 "Activation constant"; + parameter BioChem.Units.Concentration Kas = 1 "Activation constant"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c * a1.c / (s1.c * (a1.c + Kac) + KmS * (a1.c + Kas)); + annotation( + Documentation(info = " +

    + Irreversible mixed activation kinetics. +

    + "), + 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 Umai; diff --git a/BioChem/Reactions/Activation/Umar.mo b/BioChem/Reactions/Activation/Umar.mo new file mode 100644 index 0000000..353a2a0 --- /dev/null +++ b/BioChem/Reactions/Activation/Umar.mo @@ -0,0 +1,22 @@ +within BioChem.Reactions.Activation; + +model Umar "Reversible mixed activation kinetics" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Activator; + parameter BioChem.Units.Concentration Kas = 1 "Activation constant"; + parameter BioChem.Units.Concentration Kac = 1 "Activation constant"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.Concentration KmP = 1 "Backward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Backward maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) / (1 + Kas / a1.c + (s1.c / KmS + p1.c / KmP) * (1 + Kac / a1.c)); + annotation( + Documentation(info = " +

    + Reversible mixed activation kinetics. +

    + "), + 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 Umar; diff --git a/BioChem/Reactions/Activation/package.order b/BioChem/Reactions/Activation/package.order new file mode 100644 index 0000000..6537194 --- /dev/null +++ b/BioChem/Reactions/Activation/package.order @@ -0,0 +1,7 @@ +Umar +Umai +Uctr +Ucti +Uar +Uaii +Uai diff --git a/BioChem/Reactions/BiSubstrate/Ordbbr.mo b/BioChem/Reactions/BiSubstrate/Ordbbr.mo new file mode 100644 index 0000000..17beae5 --- /dev/null +++ b/BioChem/Reactions/BiSubstrate/Ordbbr.mo @@ -0,0 +1,36 @@ +within BioChem.Reactions.BiSubstrate; + +model Ordbbr "Ordered bi-bi kinetics" + extends BioChem.Interfaces.Reactions.Basics.Reaction; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.TwoProducts; + parameter BioChem.Units.Concentration Keq = 1 "Equilibrium constant"; + parameter BioChem.Units.Concentration KiS1 = 1 "Product inhibition constant of s1.c acting on the reverse reaction"; + parameter BioChem.Units.Concentration KiS2 = 1 "Product inhibition constant of s2.c acting on the reverse reaction"; + parameter BioChem.Units.Concentration KiP1 = 1 "Product inhibition constant of p1.c acting on the forward reaction"; + parameter BioChem.Units.Concentration KmS1 = 1 "Concentration of s1.c such that v = vF/2 (Michaelis constant) at zero p1.c and zero p2.c"; + parameter BioChem.Units.Concentration KmS2 = 1 "Concentration of s2.c such that v = vF/2 (Michaelis constant) at saturating s1.c and zero p1.c"; + parameter BioChem.Units.Concentration KmP1 = 1 "Concentration of p1.c such that v = -vR/2 (Michaelis constant) at zero s1.c and zero s2.c"; + parameter BioChem.Units.Concentration KmP2 = 1 "Concentration of p2.c such that v = -vR/2 (Michaelis constant) at zero s1.c and saturating p1.c"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverse maximum velocity"; +protected + Real K1; + Real K2; +equation + s1.r = rr; + s2.r = rr; + p1.r = -rr; + p2.r = -rr; + K1 = vF / (vR * Keq) * (KmP2 * p1.c * (1 + s1.c / KiS1) + p2.c * K2); + K2 = KmP1 * (1 + KmS1 * s2.c / (KiS1 * KmS2) + p1.c * (1 + s2.c / KiS2)); + rr = vF * (s1.c * s2.c - p1.c * p2.c / Keq) / (s1.c * s2.c * (1 + p1.c / KiP1) + KmS2 * (s1.c + KiS1) + KmS1 * s2.c + K1); + annotation( + Documentation(info = " +

    + Ordered bi-bi kinetics. +

    + "), + 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 Ordbbr; diff --git a/BioChem/Reactions/BiSubstrate/Ordbur.mo b/BioChem/Reactions/BiSubstrate/Ordbur.mo new file mode 100644 index 0000000..0cfc2ce --- /dev/null +++ b/BioChem/Reactions/BiSubstrate/Ordbur.mo @@ -0,0 +1,27 @@ +within BioChem.Reactions.BiSubstrate; + +model Ordbur "Ordered bi-uni kinetics" + extends BioChem.Interfaces.Reactions.Basics.Reaction; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.OneProduct; + parameter BioChem.Units.Concentration Keq = 1 "Equilibrium constant"; + parameter BioChem.Units.Concentration KiS1 = 1 "Product inhibition constant of s1.c acting on the reverse reaction"; + parameter BioChem.Units.Concentration KmS1 = 1 "Concentration of s1.c such that v = vF/2 (Michaelis constant) at zero p1.c"; + parameter BioChem.Units.Concentration KmS2 = 1 "Concentration of B such that v = vF/2 (Michaelis constant) at saturating s1.c and zero p1.c"; + parameter BioChem.Units.Concentration KmP1 = 1 "Concentration of p1.c such that v = -vR/2 (Michaelis constant) at zero s1.c and zero s2.c"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverse maximum velocity"; +equation + s1.r = rr; + s2.r = rr; + p1.r = -rr; + rr = vF * (s1.c * s2.c - p1.c / Keq) / (s1.c * s2.c + KmS1 * s2.c + KmS2 * s1.c + vF / (vR * Keq) * (KmP1 + p1.c * (1 + s1.c / KiS1))); + annotation( + Documentation(info = " +

    + Ordered bi-uni kinetics. +

    + "), + 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 Ordbur; diff --git a/BioChem/Reactions/BiSubstrate/Ordubr.mo b/BioChem/Reactions/BiSubstrate/Ordubr.mo new file mode 100644 index 0000000..a5c800a --- /dev/null +++ b/BioChem/Reactions/BiSubstrate/Ordubr.mo @@ -0,0 +1,27 @@ +within BioChem.Reactions.BiSubstrate; + +model Ordubr "Ordered uni-bi kinetics" + extends BioChem.Interfaces.Reactions.Basics.Reaction; + extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; + extends BioChem.Interfaces.Reactions.Basics.TwoProducts; + parameter BioChem.Units.Concentration Keq = 1 "Equilibrium constant"; + parameter BioChem.Units.Concentration KiP1 = 1 "Product inhibition constant of s1.c acting on the reverse reaction"; + parameter BioChem.Units.Concentration KmS1 = 1 "Concentration of s1.c such that v = vF/2 (Michaelis constant) at zero p1.c and zero p2.c"; + parameter BioChem.Units.Concentration KmP1 = 1 "Concentration of p1.c such that v = -vR/2 (Michaelis constant) at zero s1.c and zero s2.c"; + parameter BioChem.Units.Concentration KmP2 = 1 "Concentration of p2.c such that v = -vR/2 (Michaelis constant) at zero s1.c and saturating p1.c"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverse maximum velocity"; +equation + s1.r = rr; + p1.r = -rr; + p2.r = -rr; + rr = vF * (s1.c - p1.c * p2.c / Keq) / (KmS1 + s1.c * (1 + p1.c / KiP1) + vF / (vR * Keq) * (KmP2 * p1.c + KmP1 * p2.c + p1.c * p2.c)); + annotation( + Documentation(info = " +

    + Ordered uni-bi kinetics. +

    + "), + 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 Ordubr; diff --git a/BioChem/Reactions/BiSubstrate/Ppbr.mo b/BioChem/Reactions/BiSubstrate/Ppbr.mo new file mode 100644 index 0000000..37b51eb --- /dev/null +++ b/BioChem/Reactions/BiSubstrate/Ppbr.mo @@ -0,0 +1,33 @@ +within BioChem.Reactions.BiSubstrate; + +model Ppbr "Ping pong bi-bi kinetics" + extends BioChem.Interfaces.Reactions.Basics.Reaction; + extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; + extends BioChem.Interfaces.Reactions.Basics.TwoProducts; + parameter BioChem.Units.Concentration Keq = 1 "Equilibrium constant"; + parameter BioChem.Units.Concentration KiS1 = 1 "Product inhibition constant of s1.c acting on the reverse reaction"; + parameter BioChem.Units.Concentration KiP2 = 1 "Product inhibition constant of p2.c acting on the forward reaction"; + parameter BioChem.Units.Concentration KmS1 = 1 "Concentration of s1.c such that v = vF/2 (Michaelis constant) at zero p1.c and zero p2.c"; + parameter BioChem.Units.Concentration KmS2 = 1 "Concentration of s2.c such that v = vF/2 (Michaelis constant) at saturating s1.c and zero p1.c"; + parameter BioChem.Units.Concentration KmP1 = 1 "Concentration of p1.c such that v = -vR/2 (Michaelis constant) at zero s1.c and zero s2.c"; + parameter BioChem.Units.Concentration KmP2 = 1 "Concentration of p2.c such that v = -vR/2 (Michaelis constant) at zero s1.c and saturating p1.c"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverse maximum velocity"; +protected + Real K1; +equation + s1.r = rr; + s2.r = rr; + p1.r = -rr; + p2.r = -rr; + K1 = vF / (vR * Keq) * (KmP2 * p1.c * (1 + s1.c / KiS1) + p2.c * (KmP1 + p1.c)); + rr = vF * (s1.c * s2.c - p1.c * p2.c / Keq) / (s1.c * s2.c + KmS2 * s1.c + KmS1 * s2.c * (1 + p2.c / KiP2) + K1); + annotation( + Documentation(info = " +

    + Ping pong bi-bi kinetics. +

    + "), + 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 Ppbr; diff --git a/BioChem/Reactions/BiSubstrate/package.order b/BioChem/Reactions/BiSubstrate/package.order new file mode 100644 index 0000000..5607175 --- /dev/null +++ b/BioChem/Reactions/BiSubstrate/package.order @@ -0,0 +1,4 @@ +Ppbr +Ordubr +Ordbur +Ordbbr diff --git a/BioChem/Reactions/Hill/Hilli.mo b/BioChem/Reactions/Hill/Hilli.mo new file mode 100644 index 0000000..e76f0d7 --- /dev/null +++ b/BioChem/Reactions/Hill/Hilli.mo @@ -0,0 +1,18 @@ +within BioChem.Reactions.Hill; + +model Hilli "Irreversible Hill kinetics" + extends BioChem.Interfaces.Reactions.Uui; + parameter Real h = 1 "Hill Coefficient"; + parameter BioChem.Units.Concentration sHalf = 1 "Substrate concentration such that v = vF/2"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c ^ h / (sHalf ^ h + s1.c ^ h); + annotation( + Documentation(info = " +

    + Irreversible Hill kinetics. +

    + "), + 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 Hilli; diff --git a/BioChem/Reactions/Hill/Hillmmr.mo b/BioChem/Reactions/Hill/Hillmmr.mo new file mode 100644 index 0000000..11978ae --- /dev/null +++ b/BioChem/Reactions/Hill/Hillmmr.mo @@ -0,0 +1,31 @@ +within BioChem.Reactions.Hill; + +model Hillmmr "Reversible Hill kinetics with two modifiers" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.TwoModifiers; + parameter Real alfa1 = 1 "Effect of s1 and p1 on binding of m"; + parameter Real alfa2 = 1 "Effect of s1 and p1 on binding of m"; + parameter Real alfa12 = 1 "Effect of s1 and p1 on binding of m"; + parameter BioChem.Units.Concentration Keq = 1 "Equilibrium constant"; + parameter Real h = 1 "Hill Coefficient"; + parameter BioChem.Units.Concentration m1Half = 1 "Concentration of m1 that half-saturates its binding site when s1.c = 0, p1.c = 0, m2.c = 0"; + parameter BioChem.Units.Concentration m2Half = 1 "Concentration of m1 that half-saturates its binding site when s1.c = 0, p1.c = 0, m1.c = 0"; + parameter BioChem.Units.Concentration s1Half = 1 "Substrate concentration such that v = vF/2 when p1.c = 0 and the modifiers m1.c = 0, m2.c = 0"; + parameter BioChem.Units.Concentration p1Half = 1 "Product concentration such that v = -vF/2 when p1.c = 0 and the modifiers m1.c = 0, m2.c = 0"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +protected + Real K1; + Real K2; +equation + K1 = (s1.c / s1Half + p1.c / p1Half) ^ h; + K2 = (1 + (m1.c / m1Half) ^ h + (m2.c / m2Half) ^ h) / (1 + alfa1 * (m1.c / m1Half) ^ h + alfa2 * (m2.c / m2Half) ^ h + alfa12 * (m1.c / m1Half) ^ h * (m2.c / m2Half) ^ h); + rr = vF * s1.c / s1Half * (1 - p1.c / (s1.c * Keq)) * (s1.c / s1Half + p1.c / p1Half) ^ (h - 1) / (K1 + K2); + annotation( + Documentation(info = " +

    + Reversible Hill kinetics with two modifiers. +

    + "), + 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 Hillmmr; diff --git a/BioChem/Reactions/Hill/Hillmr.mo b/BioChem/Reactions/Hill/Hillmr.mo new file mode 100644 index 0000000..71713bc --- /dev/null +++ b/BioChem/Reactions/Hill/Hillmr.mo @@ -0,0 +1,28 @@ +within BioChem.Reactions.Hill; + +model Hillmr "Reversible Hill kinetics with one modifier" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real alfa = 1 "Effect of s1 and p1 on binding of m"; + parameter Real h = 1 "Hill Coefficient"; + parameter BioChem.Units.Concentration Keq = 1 "Equilibrium constant"; + parameter BioChem.Units.Concentration m1Half = 1 "Concentration of mA that half-saturates its binding site when s1.c = 0, p1.c = 0, m2.c = 0"; + parameter BioChem.Units.Concentration s1Half = 1 "Substrate concentration such that v = vF/2"; + parameter BioChem.Units.Concentration p1Half = 1 "Product concentration such that v = -vF/2"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +protected + Real K1; + Real K2; +equation + K1 = (s1.c / s1Half + p1.c / p1Half) ^ h; + K2 = (1 + (m1.c / m1Half) ^ h) / (1 + alfa * (m1.c / m1Half) ^ h); + rr = vF * s1.c / s1Half * (1 - p1.c / (s1.c * Keq)) * (s1.c / s1Half + p1.c / p1Half) ^ (h - 1) / (K1 + K2); + annotation( + Documentation(info = " +

    + Reversible Hill kinetics with one modifier. +

    + "), + 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 Hillmr; diff --git a/BioChem/Reactions/Hill/Hillr.mo b/BioChem/Reactions/Hill/Hillr.mo new file mode 100644 index 0000000..06de53d --- /dev/null +++ b/BioChem/Reactions/Hill/Hillr.mo @@ -0,0 +1,20 @@ +within BioChem.Reactions.Hill; + +model Hillr "Reversible Hill kinetics" + extends BioChem.Interfaces.Reactions.Uur; + parameter Real h = 1 "Hill Coefficient"; + parameter BioChem.Units.Concentration Keq = 1 "Equilibrium constant"; + parameter BioChem.Units.Concentration sHalf = 1 "Substrate concentration such that v = vF/2"; + parameter BioChem.Units.Concentration pHalf = 1 "Product concentration such that v = -vF/2"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / sHalf * (1 - p1.c / (s1.c * Keq)) * (s1.c / sHalf + p1.c / pHalf) ^ (h - 1) / (1 + (s1.c / sHalf + p1.c / pHalf) ^ h); + annotation( + Documentation(info = " +

    + Reversible Hill kinetics. +

    + "), + 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 Hillr; diff --git a/BioChem/Reactions/Hill/package.order b/BioChem/Reactions/Hill/package.order new file mode 100644 index 0000000..eb2feef --- /dev/null +++ b/BioChem/Reactions/Hill/package.order @@ -0,0 +1,4 @@ +Hillr +Hillmr +Hillmmr +Hilli diff --git a/BioChem/Reactions/HyperbolicModifier/Uhmi.mo b/BioChem/Reactions/HyperbolicModifier/Uhmi.mo new file mode 100644 index 0000000..6719ded --- /dev/null +++ b/BioChem/Reactions/HyperbolicModifier/Uhmi.mo @@ -0,0 +1,21 @@ +within BioChem.Reactions.HyperbolicModifier; + +model Uhmi "Irreversible general hyperbolic modifier kinetics" + extends BioChem.Interfaces.Reactions.Uui; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real a = 1 "Ratio of dissociaton constants, ES+M->ESM over E+M->EM"; + parameter Real b = 1 "Ratio of rate constants, ESM->EM+P over ES->E+P"; + parameter Real Kd = 1 "Dissociation constant of E+M->EM"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; +equation + rr = vF * s1.c / KmS * (1 + b * m1.c / (a * Kd)) / (1 + m1.c / Kd + s1.c / KmS * (1 + m1.c / (a * Kd))); + annotation( + Documentation(info = " +

    + Irreversible general hyperbolic modifier kinetics. +

    + "), + 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 Uhmi; diff --git a/BioChem/Reactions/HyperbolicModifier/Uhmr.mo b/BioChem/Reactions/HyperbolicModifier/Uhmr.mo new file mode 100644 index 0000000..f6cc813 --- /dev/null +++ b/BioChem/Reactions/HyperbolicModifier/Uhmr.mo @@ -0,0 +1,23 @@ +within BioChem.Reactions.HyperbolicModifier; + +model Uhmr "Reversible general hyperbolic modifier kinetics" + extends BioChem.Interfaces.Reactions.Uur; + extends BioChem.Interfaces.Reactions.Modifiers.Modifier; + parameter Real a = 1 "Ratio of dissociaton constants, ES+M->ESM over E+M->EM"; + parameter Real b = 1 "Ratio of rate constants, ESM->EM+P over ES->E+P"; + parameter Real Kd = 1 "Dissociation constant of E+M->EM"; + parameter BioChem.Units.Concentration KmS = 1 "Forward Michaelis-Menten constant"; + parameter BioChem.Units.Concentration KmP = 1 "Reverse Michaelis-Menten constant"; + parameter BioChem.Units.ReactionRate vF = 1 "Forward maximum velocity"; + parameter BioChem.Units.ReactionRate vR = 1 "Reverse maximum velocity"; +equation + rr = (vF * s1.c / KmS - vR * p1.c / KmP) * (1 + b * m1.c / (a * Kd)) / (1 + m1.c / Kd + (s1.c / KmS + p1.c / KmP) * (1 + m1.c / (a * Kd))); + annotation( + Documentation(info = " +

    + Reversible general hyperbolic modifier kinetics. +

    + "), + 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 Uhmr; diff --git a/BioChem/Reactions/HyperbolicModifier/package.order b/BioChem/Reactions/HyperbolicModifier/package.order new file mode 100644 index 0000000..194df71 --- /dev/null +++ b/BioChem/Reactions/HyperbolicModifier/package.order @@ -0,0 +1,2 @@ +Uhmr +Uhmi diff --git a/BioChem/Reactions/MassAction/package.order b/BioChem/Reactions/MassAction/package.order new file mode 100644 index 0000000..c3dcc16 --- /dev/null +++ b/BioChem/Reactions/MassAction/package.order @@ -0,0 +1,2 @@ +Irreversible +Reversible diff --git a/BioChem/Reactions/package.order b/BioChem/Reactions/package.order new file mode 100644 index 0000000..d5ebab8 --- /dev/null +++ b/BioChem/Reactions/package.order @@ -0,0 +1,8 @@ +MassAction +MichaelisMenten +Inhibition +HyperbolicModifier +Hill +BiSubstrate +Activation +FastEquilibrium From 898a667f7d12638abc7e0518f1e647baf6727987 Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Tue, 2 Jun 2020 15:33:23 +0100 Subject: [PATCH 23/27] ignore backup files --- .gitattributes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitattributes b/.gitattributes index 762aab4..65dd7ee 100644 --- a/.gitattributes +++ b/.gitattributes @@ -12,3 +12,6 @@ # Denote all files that are truly binary and should not be modified. *.png binary *.jpg binary + +# ignore backup files +*.bak-mo \ No newline at end of file From 1476eb11f5ee395fad7f2010504234c24613a2ce Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Tue, 2 Jun 2020 15:58:12 +0100 Subject: [PATCH 24/27] annotations for version 1.0.2 --- BioChem/package.mo | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/BioChem/package.mo b/BioChem/package.mo index eb5c337..799c837 100644 --- a/BioChem/package.mo +++ b/BioChem/package.mo @@ -16,11 +16,8 @@ package BioChem - 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 = " @@ -110,30 +107,40 @@ Becker-Weimann S, Wolf J, Herzel H, Kramer A. Biophysical Journal Volume 87 Nove - ", revisions = " -

    History

    -

    The first version of the library was created by Emma Larsdotter Nilsson at Linköping University. + ", revisions = "

    History

    +

    The first version of the library was created by Emma Larsdotter Nilsson at Linköping University. The current version of the library has been further developed by Erik Ulfhielm at -Linköping University, and by MathCore Engineering AB. +Linköping University, and by MathCore Engineering AB.

    • Main Author 2007-2009: MathCore Engineering AB
    • Main Author 2006: Erik Ulfhielm
    • Main Author 2004-2005: Emma Larsdotter Nilsson
    -

    Copyright © 2005-2015 MathCore Engineering AB, Linköpings universitet and Modelica Association

    +

    Copyright © 2005-2015 MathCore Engineering AB, Linköpings universitet and Modelica Association

    The BioChem library is free software released under the terms of the Mozilla Public License, version 2.0.

    Versions

    • +Version 1.0.2 (2020-06-02) +
        +
      • All major components are separated into *.mo files
      • +
      • MSL 3.2.3 
      • +
      +
    • +
    • Version 1.0.1 (2013-04-18)
      • Applied patch to latest version provided by MathCore Engineering AB.
      • -
      • Changed uses-annotation to MSL 3.2, encoding to ASCII+HTML entities, and started using modelica:// URLs for image sources (Martin Sjölund).
      • +
      • Changed uses-annotation to MSL 3.2, encoding to ASCII+HTML entities, and started using modelica:// URLs for image sources (Martin Sjölund).
    • Version 1.0 (2009-08-31)
    • Version 0.96 (2008-12-19)
    - ")); + "), + uses(Modelica(version = "3.2.3")), + version = "1.0.2", + 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}))); end BioChem; From 1173c0bb2640d32b808004f8641b012cb6f98e9e Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Tue, 2 Jun 2020 16:04:42 +0100 Subject: [PATCH 25/27] Revert "ignore backup files" This reverts commit 898a667f7d12638abc7e0518f1e647baf6727987. --- .gitattributes | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitattributes b/.gitattributes index 65dd7ee..762aab4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -12,6 +12,3 @@ # Denote all files that are truly binary and should not be modified. *.png binary *.jpg binary - -# ignore backup files -*.bak-mo \ No newline at end of file From 44f1429e348de775ebe0bc7fbf6b46fb1b2df980 Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Tue, 2 Jun 2020 16:07:46 +0100 Subject: [PATCH 26/27] remove backup files --- .gitignore | 2 + BioChem/Examples/MassAction/package.bak-mo | 401 --------------------- 2 files changed, 2 insertions(+), 401 deletions(-) delete mode 100644 BioChem/Examples/MassAction/package.bak-mo diff --git a/.gitignore b/.gitignore index ad2d65e..e5bdc0f 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ dymosim.exe dymosim.exp dymosim.lib + +*.bak-mo diff --git a/BioChem/Examples/MassAction/package.bak-mo b/BioChem/Examples/MassAction/package.bak-mo deleted file mode 100644 index 94d82c5..0000000 --- a/BioChem/Examples/MassAction/package.bak-mo +++ /dev/null @@ -1,401 +0,0 @@ -within BioChem.Examples; -package MassAction "Examples of mass-action kinetics reactions" - extends Icons.Library; - model UniUni "Example of uni-uni reactions" - 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={Ellipse(fillColor={170,0,0}, fillPattern=FillPattern.Solid, extent={{-100,-25},{-50,25}}),Ellipse(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{50,-25},{100,25}}),Line(points={{-50,0},{50,0}}, arrow={Arrow.Open,Arrow.Open}, arrowSize=30),Line(points={{0,50},{0,0}}),Ellipse(fillColor={255,255,0}, fillPattern=FillPattern.Solid, extent={{-25,50},{25,100}})})); - extends BioChem.Compartments.Compartment; - Substances.BoundarySubstance sF21(c.start=1) annotation(Placement(transformation(origin={30,-58}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfafi uurfafi annotation(Placement(transformation(origin={40,26}, extent={{-10,-10},{10,10}}))); - Substances.Substance s28 annotation(Placement(transformation(origin={16,-74}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniUni.Uuifa uuifa annotation(Placement(transformation(origin={-90,56}, extent={{-10,-10},{10,10}}))); - Substances.Substance s38 annotation(Placement(transformation(origin={78,-88}, extent={{-10,-10},{10,10}}))); - Substances.Substance s6 annotation(Placement(transformation(origin={-110,-24}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF6(c.start=1) annotation(Placement(transformation(origin={-14,66}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF24(c.start=1) annotation(Placement(transformation(origin={50,-94}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfafibi uurfafibi annotation(Placement(transformation(origin={98,82}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uur uur annotation(Placement(transformation(origin={-90,-44}, extent={{-10,-10},{10,10}}))); - Substances.Substance s20 annotation(Placement(transformation(origin={-44,-74}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF3(c.start=1) annotation(Placement(transformation(origin={-90,-4}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF30(c.start=1) annotation(Placement(transformation(origin={104,-10}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF27(c.start=1) annotation(Placement(transformation(origin={94,68}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfibabi uurfibabi annotation(Placement(transformation(origin={98,-38}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurbi uurbi annotation(Placement(transformation(origin={-24,56}, extent={{-10,-10},{10,10}}))); - Substances.Substance s12 annotation(Placement(transformation(origin={-44,86}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF8(c.start=1) annotation(Placement(transformation(origin={-20,30}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF16(c.start=1) annotation(Placement(transformation(origin={30,40}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF33(c.start=1) annotation(Placement(transformation(origin={108,-54}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF19(c.start=1) annotation(Placement(transformation(origin={50,6}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfababi uurfababi annotation(Placement(transformation(origin={-24,-74}, extent={{-10,-10},{10,10}}))); - Substances.Substance s26 annotation(Placement(transformation(origin={15.6693,-14}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF15(c.start=1) annotation(Placement(transformation(origin={36,62}, extent={{-10,-10},{10,10}}))); - Substances.Substance s4 annotation(Placement(transformation(origin={-110,16}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF22(c.start=1) annotation(Placement(transformation(origin={50,-58}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfafiba uurfafiba annotation(Placement(transformation(origin={40,-14}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF7(c.start=1) annotation(Placement(transformation(origin={-28,42}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniUni.Uuifafi uuifafi annotation(Placement(transformation(origin={-90,16}, extent={{-10,-10},{10,10}}))); - Substances.Substance s18 annotation(Placement(transformation(origin={-44,-24}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF5(c.start=1) annotation(Placement(transformation(origin={-34,66}, extent={{-10,-10},{10,10}}))); - Substances.Substance s32 annotation(Placement(transformation(origin={78,32}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF25(c.start=1) annotation(Placement(transformation(origin={88,96}, extent={{-10,-10},{10,10}}))); - Substances.Substance s34 annotation(Placement(transformation(origin={78,2}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfi uurfi annotation(Placement(transformation(origin={98,32}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurba uurba annotation(Placement(transformation(origin={-90,-74}, extent={{-10,-10},{10,10}}))); - Substances.Substance s10 annotation(Placement(transformation(origin={-110,-74}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF31(c.start=1) annotation(Placement(transformation(origin={94,-26}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF28(c.start=1) annotation(Placement(transformation(origin={94,46}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfibi uurfibi annotation(Placement(transformation(origin={98,-88}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF17(c.start=1) annotation(Placement(transformation(origin={50,40}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfa uurfa annotation(Placement(transformation(origin={-24,16}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF10(c.start=1) annotation(Placement(transformation(origin={-20,-38}, extent={{-10,-10},{10,10}}))); - Substances.Substance s24 annotation(Placement(transformation(origin={16,26}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF34(c.start=1) annotation(Placement(transformation(origin={88,-78}, extent={{-10,-10},{10,10}}))); - Substances.Substance s36 annotation(Placement(transformation(origin={78,-38}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF14(c.start=1) annotation(Placement(transformation(origin={40,96}, extent={{-10,-10},{10,10}}))); - Substances.Substance s2 annotation(Placement(transformation(origin={-110,56}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF20(c.start=1) annotation(Placement(transformation(origin={44.3307,-34}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfabi uurfabi annotation(Placement(transformation(origin={40,76}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF13(c.start=1) annotation(Placement(transformation(origin={-14,-94}, extent={{-10,-10},{10,10}}))); - Substances.Substance s16 annotation(Placement(transformation(origin={-44,16}, extent={{-10,-10},{10,10}}))); - Substances.Substance s30 annotation(Placement(transformation(origin={78,82}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF12(c.start=1) annotation(Placement(transformation(origin={-34,-94}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF23(c.start=1) annotation(Placement(transformation(origin={30,-94}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfafibabi uurfafibabi annotation(Placement(transformation(origin={40,-74}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniUni.Uuifi uuifi annotation(Placement(transformation(origin={-90,-24}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF9(c.start=1) annotation(Placement(transformation(origin={-24,-4}, extent={{-10,-10},{10,10}}))); - Substances.Substance s8 annotation(Placement(transformation(origin={-110,-44}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF29(c.start=1) annotation(Placement(transformation(origin={94,16}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF26(c.start=1) annotation(Placement(transformation(origin={106,96}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF4(c.start=1) annotation(Placement(transformation(origin={-90,-94}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfiba uurfiba annotation(Placement(transformation(origin={98,2}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurbabi uurbabi annotation(Placement(transformation(origin={-24,86}, extent={{-10,-10},{10,10}}))); - Substances.Substance s22 annotation(Placement(transformation(origin={16,76}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF11(c.start=1) annotation(Placement(transformation(origin={-20,-62}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF32(c.start=1) annotation(Placement(transformation(origin={88,-54}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF18(c.start=1) annotation(Placement(transformation(origin={30,6}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniUni.Uurfaba uurfaba annotation(Placement(transformation(origin={-24,-24}, extent={{-10,-10},{10,10}}))); - Substances.Substance s14 annotation(Placement(transformation(origin={-44,56}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF35(c.start=1) annotation(Placement(transformation(origin={88,-96}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF1(c.start=1) annotation(Placement(transformation(origin={-100,36}, extent={{-10,-10},{10,10}}))); - Substances.Substance s annotation(Placement(transformation(origin={-110,96}, extent={{-10,-10},{10,10}}))); - Substances.Substance s3(c.start=2) annotation(Placement(transformation(origin={-70,56}, extent={{-10,-10},{10,10}}))); - Substances.Substance s5(c.start=2) annotation(Placement(transformation(origin={-70,16}, extent={{-10,-10},{10,10}}))); - Substances.Substance s7(c.start=2) annotation(Placement(transformation(origin={-70,-24}, extent={{-10,-10},{10,10}}))); - Substances.Substance s9(c.start=2) annotation(Placement(transformation(origin={-70,-44}, extent={{-10,-10},{10,10}}))); - Substances.Substance s11(c.start=2) annotation(Placement(transformation(origin={-70,-74}, extent={{-10,-10},{10,10}}))); - Substances.Substance s13(c.start=2) annotation(Placement(transformation(origin={-4,86}, extent={{-10,-10},{10,10}}))); - Substances.Substance s15(c.start=2) annotation(Placement(transformation(origin={-4,56}, extent={{-10,-10},{10,10}}))); - Substances.Substance s17(c.start=2) annotation(Placement(transformation(origin={-4,16}, extent={{-10,-10},{10,10}}))); - Substances.Substance s19(c.start=2) annotation(Placement(transformation(origin={-4,-24}, extent={{-10,-10},{10,10}}))); - Substances.Substance s21(c.start=2) annotation(Placement(transformation(origin={-4,-74}, extent={{-10,-10},{10,10}}))); - Substances.Substance s23(c.start=2) annotation(Placement(transformation(origin={60,76}, extent={{-10,-10},{10,10}}))); - Substances.Substance s25(c.start=2) annotation(Placement(transformation(origin={60,26}, extent={{-10,-10},{10,10}}))); - Substances.Substance s27(c.start=2) annotation(Placement(transformation(origin={60,-14}, extent={{-10,-10},{10,10}}))); - Substances.Substance s29(c.start=2) annotation(Placement(transformation(origin={60,-74}, extent={{-10,-10},{10,10}}))); - Substances.Substance s39(c.start=2) annotation(Placement(transformation(origin={118,-88}, extent={{-10,-10},{10,10}}))); - Substances.Substance s37(c.start=2) annotation(Placement(transformation(origin={118,-38}, extent={{-10,-10},{10,10}}))); - Substances.Substance s33(c.start=2) annotation(Placement(transformation(origin={118,32}, extent={{-10,-10},{10,10}}))); - Substances.Substance s31(c.start=2) annotation(Placement(transformation(origin={118,82}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniUni.Uui uui annotation(Placement(transformation(origin={-90,96}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF2(c.start=1) annotation(Placement(transformation(origin={-80,36}, extent={{-10,-10},{10,10}}))); - Substances.Substance s1(c.start=2) annotation(Placement(transformation(origin={-70,96}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF(c.start=1) annotation(Placement(transformation(origin={-90,76}, extent={{-10,-10},{10,10}}))); - Substances.Substance s35(c.start=2) annotation(Placement(transformation(origin={118,2}, extent={{-10,-10},{10,10}}))); - equation - connect(sF16.n1,uurfafi.aF1) annotation(Line(points={{30,40},{40,35}})); - connect(sF18.n1,uurfafiba.aF1) annotation(Line(points={{30,6},{40,-5}})); - connect(sF21.n1,uurfafibabi.aF1) annotation(Line(points={{30,-58},{40,-65}})); - connect(sF33.n1,uurfibabi.iB1) annotation(Line(points={{108,-54},{98,-47}})); - connect(sF25.n1,uurfafibi.aF1) annotation(Line(points={{88,96},{98,91}})); - connect(sF6.n1,uurbabi.iB1) annotation(Line(points={{-14,66},{-24,77}})); - connect(sF7.n1,uurbi.iB1) annotation(Line(points={{-28,42},{-24,47}})); - connect(sF35.n1,uurfibi.iB1) annotation(Line(points={{88,-96},{98,-97}})); - connect(sF24.n1,uurfafibabi.iB1) annotation(Line(points={{50,-94},{40,-83}})); - connect(sF17.n1,uurfafi.iF1) annotation(Line(points={{50,40},{40,35}})); - connect(sF10.n1,uurfaba.aB1) annotation(Line(points={{-20,-38},{-24,-33}})); - connect(sF8.n1,uurfa.aF1) annotation(Line(points={{-20,30},{-24,25}})); - connect(sF12.n1,uurfababi.aB1) annotation(Line(points={{-34,-94},{-24,-83}})); - connect(sF19.n1,uurfafiba.iF1) annotation(Line(points={{50,6},{40,-5}})); - connect(sF22.n1,uurfafibabi.iF1) annotation(Line(points={{50,-58},{40,-65}})); - connect(sF26.n1,uurfafibi.iF1) annotation(Line(points={{106,96},{98,91}})); - connect(uurfafibabi.aB1,sF23.n1) annotation(Line(points={{40,-83},{30,-94}})); - connect(sF14.n1,uurfabi.aF1) annotation(Line(points={{40,96},{40,85}})); - connect(sF11.n1,uurfababi.aF1) annotation(Line(points={{-20,-62},{-24,-65}})); - connect(sF9.n1,uurfaba.aF1) annotation(Line(points={{-24,-4},{-24,-15}})); - connect(sF30.n1,uurfiba.aB1) annotation(Line(points={{104,-10},{98,-7}})); - connect(sF34.n1,uurfibi.iF1) annotation(Line(points={{88,-78},{98,-79}})); - connect(sF4.n1,uurba.aB1) annotation(Line(points={{-90,-94},{-90,-83}})); - connect(sF13.n1,uurfababi.iB1) annotation(Line(points={{-14,-94},{-24,-83}})); - connect(sF20.n1,uurfafiba.aB1) annotation(Line(points={{44.3307,-34},{40,-23}})); - connect(uurfi.iF1,sF28.n1) annotation(Line(points={{98,41},{94,46}})); - connect(sF15.n1,uurfabi.iB1) annotation(Line(points={{36,62},{40,67}})); - connect(sF29.n1,uurfiba.iF1) annotation(Line(points={{94,16},{98,11}})); - connect(sF32.n1,uurfibabi.aB1) annotation(Line(points={{88,-54},{98,-47}})); - connect(sF5.n1,uurbabi.aB1) annotation(Line(points={{-34,66},{-24,77}})); - connect(uurfibabi.iF1,sF31.n1) annotation(Line(points={{98,-29},{94,-26}})); - connect(sF27.n1,uurfafibi.iB1) annotation(Line(points={{94,68},{98,73}})); - connect(sF1.n1,uuifafi.aF1) annotation(Line(points={{-100,36},{-90,25}})); - connect(sF2.n1,uuifafi.iF1) annotation(Line(points={{-80,36},{-90,25}})); - connect(s.n1,uui.s1) annotation(Line(points={{-110,96},{-101.25,96}})); - connect(s31.n1,uurfafibi.p1) annotation(Line(points={{118,82},{109.25,82}})); - connect(uurfi.p1,s33.n1) annotation(Line(points={{109.25,32},{118,32}})); - connect(s37.n1,uurfibabi.p1) annotation(Line(points={{118,-38},{109.25,-38}})); - connect(uurfibi.p1,s39.n1) annotation(Line(points={{109.25,-88},{118,-88}})); - connect(uurfafibabi.p1,s29.n1) annotation(Line(points={{51.25,-74},{60,-74}})); - connect(uurfafiba.p1,s27.n1) annotation(Line(points={{51.25,-14},{60,-14}})); - connect(uurfafi.p1,s25.n1) annotation(Line(points={{51.25,26},{60,26}})); - connect(uurfabi.p1,s23.n1) annotation(Line(points={{51.25,76},{60,76}})); - connect(uurfababi.p1,s21.n1) annotation(Line(points={{-12.75,-74},{-4,-74}})); - connect(uurfaba.p1,s19.n1) annotation(Line(points={{-12.75,-24},{-4,-24}})); - connect(uurfa.p1,s17.n1) annotation(Line(points={{-12.75,16},{-4,16}})); - connect(uurbi.p1,s15.n1) annotation(Line(points={{-12.75,56},{-4,56}})); - connect(uurbabi.p1,s13.n1) annotation(Line(points={{-12.75,86},{-4,86}})); - connect(uurba.p1,s11.n1) annotation(Line(points={{-78.75,-74},{-70,-74}})); - connect(uur.p1,s9.n1) annotation(Line(points={{-78.75,-44},{-70,-44}})); - connect(uuifi.p1,s7.n1) annotation(Line(points={{-78.75,-24},{-70,-24}})); - connect(uuifafi.p1,s5.n1) annotation(Line(points={{-78.75,16},{-70,16}})); - connect(uuifa.p1,s3.n1) annotation(Line(points={{-78.75,56},{-70,56}})); - connect(s12.n1,uurbabi.s1) annotation(Line(points={{-44,86},{-35.25,86}})); - connect(s6.n1,uuifi.s1) annotation(Line(points={{-110,-24},{-101.25,-24}})); - connect(s34.n1,uurfiba.s1) annotation(Line(points={{78,2},{86.75,2}})); - connect(uurfafibi.s1,s30.n1) annotation(Line(points={{86.75,82},{78,82}})); - connect(s22.n1,uurfabi.s1) annotation(Line(points={{16,76},{28.75,76}})); - connect(s10.n1,uurba.s1) annotation(Line(points={{-110,-74},{-101.25,-74}})); - connect(s26.n1,uurfafiba.s1) annotation(Line(points={{15.6693,-14},{28.75,-14}})); - connect(s18.n1,uurfaba.s1) annotation(Line(points={{-44,-24},{-35.25,-24}})); - connect(s20.n1,uurfababi.s1) annotation(Line(points={{-44,-74},{-35.25,-74}})); - connect(s28.n1,uurfafibabi.s1) annotation(Line(points={{16,-74},{28.75,-74}})); - connect(s38.n1,uurfibi.s1) annotation(Line(points={{78,-88},{86.75,-88}})); - connect(s36.n1,uurfibabi.s1) annotation(Line(points={{78,-38},{86.75,-38}})); - connect(s16.n1,uurfa.s1) annotation(Line(points={{-44,16},{-35.25,16}})); - connect(s14.n1,uurbi.s1) annotation(Line(points={{-44,56},{-35.25,56}})); - connect(s24.n1,uurfafi.s1) annotation(Line(points={{16,26},{28.75,26}})); - connect(s2.n1,uuifa.s1) annotation(Line(points={{-110,56},{-101.25,56}})); - connect(s4.n1,uuifafi.s1) annotation(Line(points={{-110,16},{-101.25,16}})); - connect(s32.n1,uurfi.s1) annotation(Line(points={{78,32},{86.75,32}})); - connect(s8.n1,uur.s1) annotation(Line(points={{-110,-44},{-101.25,-44}})); - connect(uui.p1,s1.n1) annotation(Line(points={{-78.75,96},{-70,96}})); - connect(sF3.n1,uuifi.iF1) annotation(Line(points={{-90,-4},{-90,-15}})); - connect(uurfiba.p1,s35.n1) annotation(Line(points={{109.25,2},{118,2}})); - connect(uuifa.aF1,sF.n1) annotation(Line(points={{-90,65},{-94.375,76.0157},{-90,76}})); - end UniUni; - - model UniBi "Examples of uni-bi reactions" - 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={Ellipse(fillColor={170,0,0}, fillPattern=FillPattern.Solid, extent={{-100,-25},{-50,25}}),Ellipse(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{50,25},{100,75}}),Ellipse(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{50,-75},{100,-25}}),Line(points={{-50,0},{25,0},{57.28,32.54}}, arrow={Arrow.Open,Arrow.Open}, arrowSize=30),Line(points={{25,0},{56.7,-32.01}}, arrow={Arrow.None,Arrow.Open}, arrowSize=30),Ellipse(fillColor={255,255,0}, fillPattern=FillPattern.Solid, extent={{-25,50},{25,100}}),Line(points={{0,0},{0,50}})})); - extends BioChem.Compartments.Compartment; - Substances.BoundarySubstance sF3(c.start=1) annotation(Placement(transformation(origin={-90,-7}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF2(c.start=1) annotation(Placement(transformation(origin={-80,33}, extent={{-10,-10},{10,10}}))); - Substances.Substance s42(c.start=0.1) annotation(Placement(transformation(origin={-70,7}, extent={{-10,-10},{10,10}}))); - Substances.Substance s43 annotation(Placement(transformation(origin={-70,-33}, extent={{-10,-10},{10,10}}))); - Substances.Substance s7(c.start=0.1) annotation(Placement(transformation(origin={-70,-21}, extent={{-10,-10},{10,10}}))); - Substances.Substance s44(c.start=0.1) annotation(Placement(transformation(origin={-70,-83}, extent={{-10,-10},{10,10}}))); - Substances.Substance s11(c.start=0.1) annotation(Placement(transformation(origin={-70,-69}, extent={{-10,-10},{10,10}}))); - Substances.Substance s3(c.start=0.1) annotation(Placement(transformation(origin={-70,59}, extent={{-10,-10},{10,10}}))); - Substances.Substance s59(c.start=0.1) annotation(Placement(transformation(origin={-70,-57}, extent={{-10,-10},{10,10}}))); - Substances.Substance s9(c.start=0.1) annotation(Placement(transformation(origin={-70,-45}, extent={{-10,-10},{10,10}}))); - Substances.Substance s5(c.start=0.1) annotation(Placement(transformation(origin={-70,19}, extent={{-10,-10},{10,10}}))); - Substances.Substance s17(c.start=0.1) annotation(Placement(transformation(origin={-2.5,23}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF5(c.start=1) annotation(Placement(transformation(origin={-30.5,73}, extent={{-10,-10},{10,10}}))); - Substances.Substance s13(c.start=0.1) annotation(Placement(transformation(origin={-3.5,94}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF13(c.start=1) annotation(Placement(transformation(origin={-12.5,-93}, extent={{-10,-10},{10,10}}))); - Substances.Substance s48(c.start=0.1) annotation(Placement(transformation(origin={-2.5,51}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF6(c.start=1) annotation(Placement(transformation(origin={-14.5,73}, extent={{-10,-10},{10,10}}))); - Substances.Substance s45(c.start=0.1) annotation(Placement(transformation(origin={-2.5,-79}, extent={{-10,-10},{10,10}}))); - Substances.Substance s47(c.start=0.1) annotation(Placement(transformation(origin={-2.5,11}, extent={{-10,-10},{10,10}}))); - Substances.Substance s19(c.start=0.1) annotation(Placement(transformation(origin={-2.5,-17}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF11(c.start=1) annotation(Placement(transformation(origin={-18.5,-61}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF9(c.start=1) annotation(Placement(transformation(origin={-22.5,-3}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF12(c.start=1) annotation(Placement(transformation(origin={-32.5,-93}, extent={{-10,-10},{10,10}}))); - Substances.Substance s21(c.start=0.1) annotation(Placement(transformation(origin={-2.5,-65}, extent={{-10,-10},{10,10}}))); - Substances.Substance s15(c.start=0.1) annotation(Placement(transformation(origin={-2.5,63}, extent={{-10,-10},{10,10}}))); - Substances.Substance s46(c.start=0.1) annotation(Placement(transformation(origin={-2.5,-29}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF7(c.start=1) annotation(Placement(transformation(origin={-26.5,43}, extent={{-10,-10},{10,10}}))); - Substances.Substance s49(c.start=0.1) annotation(Placement(transformation(origin={-3.5,81.5}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF4(c.start=1) annotation(Placement(transformation(origin={-110,-92.5}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF10(c.start=1) annotation(Placement(transformation(origin={-18.5,-37}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF8(c.start=1) annotation(Placement(transformation(origin={-18.5,31}, extent={{-10,-10},{10,10}}))); - Substances.Substance s41(c.start=0.1) annotation(Placement(transformation(origin={-70,47}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF(c.start=1) annotation(Placement(transformation(origin={-90,73}, extent={{-10,-10},{10,10}}))); - Substances.BoundarySubstance sF1(c.start=1) annotation(Placement(transformation(origin={-102.5,32.5}, extent={{-10,-10},{10,10}}))); - Substances.Substance s40(c.start=0.1) annotation(Placement(transformation(origin={-68,87}, extent={{-10,-10},{10,10}}))); - Substances.Substance s(c.start=1) annotation(Placement(transformation(origin={-110,93}, extent={{-10,-10},{10,10}}))); - Substances.Substance s2(c.start=1) annotation(Placement(transformation(origin={-110,53}, extent={{-10,-10},{10,10}}))); - Substances.Substance s4(c.start=1) annotation(Placement(transformation(origin={-110,13}, extent={{-10,-10},{10,10}}))); - Substances.Substance s6(c.start=1) annotation(Placement(transformation(origin={-110,-27}, extent={{-10,-10},{10,10}}))); - Substances.Substance s8(c.start=1) annotation(Placement(transformation(origin={-110,-47}, extent={{-10,-10},{10,10}}))); - Substances.Substance s10(c.start=1) annotation(Placement(transformation(origin={-110,-77}, extent={{-10,-10},{10,10}}))); - Substances.Substance s20(c.start=1) annotation(Placement(transformation(origin={-42.5,-73}, extent={{-10,-10},{10,10}}))); - Substances.Substance s18(c.start=1) annotation(Placement(transformation(origin={-42.5,-23}, extent={{-10,-10},{10,10}}))); - Substances.Substance s16(c.start=1) annotation(Placement(transformation(origin={-42.5,17}, extent={{-10,-10},{10,10}}))); - Substances.Substance s14(c.start=1) annotation(Placement(transformation(origin={-42.5,57}, extent={{-10,-10},{10,10}}))); - Substances.Substance s12(c.start=1) annotation(Placement(transformation(origin={-42.5,87}, extent={{-10,-10},{10,10}}))); - Substances.Substance s1(c.start=0.1) annotation(Placement(transformation(origin={-68,99}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniBi.Ubi ubi annotation(Placement(transformation(origin={-90,93}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniBi.Ubifa ubifa annotation(Placement(transformation(origin={-90,53.42}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniBi.Ubifafi ubifafi annotation(Placement(transformation(origin={-90,13}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Irreversible.UniBi.Ubifi ubifi annotation(Placement(transformation(origin={-90,-27}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniBi.Ubr ubr annotation(Placement(transformation(origin={-90,-47}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniBi.Ubrba ubrba annotation(Placement(transformation(origin={-90,-77}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniBi.Ubrfababi ubrfababi annotation(Placement(transformation(origin={-22.5,-73}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniBi.Ubrfaba ubrfaba annotation(Placement(transformation(origin={-22.5,-23}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniBi.Ubrfa ubrfa annotation(Placement(transformation(origin={-22.5,17}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniBi.Ubrbi ubrbi annotation(Placement(transformation(origin={-22.5,57}, extent={{-10,-10},{10,10}}))); - Reactions.MassAction.Reversible.UniBi.Ubrbabi ubrbabi annotation(Placement(transformation(origin={-22.5,87}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s51(c.start=0.1) annotation(Placement(transformation(origin={61.5,23}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s50(c.start=0.1) annotation(Placement(transformation(origin={61.5,71}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF27(c.start=1) annotation(Placement(transformation(origin={95.5,69}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s25(c.start=0.1) annotation(Placement(transformation(origin={61.5,35}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s24(c.start=1) annotation(Placement(transformation(origin={17.5,27}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF25(c.start=1) annotation(Placement(transformation(origin={89.5,97}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s31(c.start=0.1) annotation(Placement(transformation(origin={119.5,91}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s22(c.start=1) annotation(Placement(transformation(origin={17.5,77}, extent={{-10,-10},{10,10}}))); - BioChem.Reactions.MassAction.Reversible.UniBi.Ubrfabi ubrfabi annotation(Placement(transformation(origin={41.5,77}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s54(c.start=0.1) annotation(Placement(transformation(origin={119.5,79}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s23(c.start=0.1) annotation(Placement(transformation(origin={61.5,83}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s55(c.start=0.1) annotation(Placement(transformation(origin={119.5,27}, extent={{-10,-10},{10,10}}))); - BioChem.Reactions.MassAction.Reversible.UniBi.Ubrfafi ubrfafi annotation(Placement(transformation(origin={41.5,27}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s30(c.start=1) annotation(Placement(transformation(origin={79.5,83}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF14(c.start=1) annotation(Placement(transformation(origin={41.5,97}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF17(c.start=1) annotation(Placement(transformation(origin={51.5,41}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s33(c.start=0.1) annotation(Placement(transformation(origin={119.5,39}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF15(c.start=1) annotation(Placement(transformation(origin={37.5,63}, extent={{-10,-10},{10,10}}))); - BioChem.Reactions.MassAction.Reversible.UniBi.Ubrfi ubrfi annotation(Placement(transformation(origin={99.5,33}, extent={{-10,-10},{10,10}}))); - BioChem.Reactions.MassAction.Reversible.UniBi.Ubrfafibi ubrfafibi annotation(Placement(transformation(origin={99.5,83}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF26(c.start=1) annotation(Placement(transformation(origin={107.5,97}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF28(c.start=1) annotation(Placement(transformation(origin={95.5,47}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s32(c.start=1) annotation(Placement(transformation(origin={79.5,33}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF16(c.start=1) annotation(Placement(transformation(origin={31.5,41}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s35(c.start=0.1) annotation(Placement(transformation(origin={119.5,9}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s37(c.start=0.1) annotation(Placement(transformation(origin={119.5,-31}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF31(c.start=1) annotation(Placement(transformation(origin={95.5,-25}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF33(c.start=1) annotation(Placement(transformation(origin={109.5,-53}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF30(c.start=1) annotation(Placement(transformation(origin={105.5,-9}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s34(c.start=1) annotation(Placement(transformation(origin={79.5,3}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF32(c.start=1) annotation(Placement(transformation(origin={89.5,-53}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF34(c.start=1) annotation(Placement(transformation(origin={89.5,-77}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s39(c.start=0.1) annotation(Placement(transformation(origin={119.5,-81}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF35(c.start=1) annotation(Placement(transformation(origin={89.5,-95}, extent={{-10,-10},{10,10}}))); - BioChem.Reactions.MassAction.Reversible.UniBi.Ubrfibabi ubrfibabi annotation(Placement(transformation(origin={99.5,-37}, extent={{-10,-10},{10,10}}))); - BioChem.Reactions.MassAction.Reversible.UniBi.Ubrfibi ubrfibi annotation(Placement(transformation(origin={99.5,-87}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s57(c.start=0.1) annotation(Placement(transformation(origin={119.5,-43}, extent={{-10,-10},{10,10}}))); - BioChem.Reactions.MassAction.Reversible.UniBi.Ubrfiba ubrfiba annotation(Placement(transformation(origin={99.5,3}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s56(c.start=0.1) annotation(Placement(transformation(origin={119.5,-3}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s58(c.start=0.1) annotation(Placement(transformation(origin={119.5,-93}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s36(c.start=1) annotation(Placement(transformation(origin={79.5,-37}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF29(c.start=1) annotation(Placement(transformation(origin={95.5,17}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s38(c.start=1) annotation(Placement(transformation(origin={79.5,-87}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF20(c.start=1) annotation(Placement(transformation(origin={45.5,-27}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s26(c.start=1) annotation(Placement(transformation(origin={17.5,-23}, extent={{-10,-10},{10,10}}))); - BioChem.Reactions.MassAction.Reversible.UniBi.Ubrfafiba ubrfafiba annotation(Placement(transformation(origin={41.5,-13}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s27(c.start=0.1) annotation(Placement(transformation(origin={61.5,-7}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF18(c.start=1) annotation(Placement(transformation(origin={31.5,7}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF19(c.start=1) annotation(Placement(transformation(origin={51.5,7}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s52(c.start=0.1) annotation(Placement(transformation(origin={61.5,-19}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s29(c.start=0.1) annotation(Placement(transformation(origin={61.5,-67}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s53(c.start=0.1) annotation(Placement(transformation(origin={61.5,-79}, extent={{-10,-10},{10,10}}))); - BioChem.Reactions.MassAction.Reversible.UniBi.Ubrfafibabi ubrfafibabi annotation(Placement(transformation(origin={41.5,-73}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.Substance s28(c.start=1) annotation(Placement(transformation(origin={17.5,-73}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF21(c.start=1) annotation(Placement(transformation(origin={31.5,-57}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF23(c.start=1) annotation(Placement(transformation(origin={31.5,-93}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF24(c.start=1) annotation(Placement(transformation(origin={51.5,-93}, extent={{-10,-10},{10,10}}))); - BioChem.Substances.BoundarySubstance sF22(c.start=1) annotation(Placement(transformation(origin={51.5,-57}, extent={{-10,-10},{10,10}}))); - equation - connect(s.n1,ubi.s1) annotation(Line(points={{-110,93},{-101.25,93}})); - connect(ubi.p1,s1.n1) annotation(Line(points={{-78.75,98},{-68,99}})); - connect(ubi.p2,s40.n1) annotation(Line(points={{-78.75,88},{-68,87}})); - connect(ubifa.p2,s41.n1) annotation(Line(points={{-78.75,48.42},{-70,47}})); - connect(s2.n1,ubifa.s1) annotation(Line(points={{-110,53},{-101.25,53.42}})); - connect(ubifa.p1,s3.n1) annotation(Line(points={{-78.75,58.42},{-70,59}})); - connect(sF.n1,ubifa.aF1) annotation(Line(points={{-90,73},{-90,62.42}})); - connect(s4.n1,ubifafi.s1) annotation(Line(points={{-110,13},{-101.25,13}})); - connect(ubifafi.p2,s42.n1) annotation(Line(points={{-78.75,8},{-70,7}})); - connect(ubifafi.p1,s5.n1) annotation(Line(points={{-78.75,18},{-70,19}})); - connect(sF2.n1,ubifafi.iF1) annotation(Line(points={{-80,33},{-90,22}})); - connect(sF1.n1,ubifafi.aF1) annotation(Line(points={{-102.5,32.5},{-90,22}})); - connect(s6.n1,ubifi.s1) annotation(Line(points={{-110,-27},{-101.25,-27}})); - connect(ubifi.p2,s43.n1) annotation(Line(points={{-78.75,-32},{-70,-33}})); - connect(ubifi.p1,s7.n1) annotation(Line(points={{-78.75,-22},{-70,-21}})); - connect(sF3.n1,ubifi.iF1) annotation(Line(points={{-90,-7},{-90,-18}})); - connect(s8.n1,ubr.s1) annotation(Line(points={{-110,-47},{-101.25,-47}})); - connect(ubr.p2,s59.n1) annotation(Line(points={{-78.75,-52},{-70,-57}})); - connect(ubr.p1,s9.n1) annotation(Line(points={{-78.75,-42},{-70,-45}})); - connect(s10.n1,ubrba.s1) annotation(Line(points={{-110,-77},{-101.25,-77}})); - connect(s44.n1,ubrba.p2) annotation(Line(points={{-70,-83},{-78.75,-82}})); - connect(ubrba.p1,s11.n1) annotation(Line(points={{-78.75,-72},{-70,-69}})); - connect(sF4.n1,ubrba.aB1) annotation(Line(points={{-110,-92.5},{-90,-86}})); - connect(ubrfababi.p2,s45.n1) annotation(Line(points={{-11.25,-78},{-2.5,-79}})); - connect(s20.n1,ubrfababi.s1) annotation(Line(points={{-42.5,-73},{-33.75,-73}})); - connect(ubrfababi.p1,s21.n1) annotation(Line(points={{-11.25,-68},{-2.5,-65}})); - connect(sF13.n1,ubrfababi.iB1) annotation(Line(points={{-12.5,-93},{-22.5,-82}})); - connect(sF12.n1,ubrfababi.aB1) annotation(Line(points={{-32.5,-93},{-22.5,-82}})); - connect(sF11.n1,ubrfababi.aF1) annotation(Line(points={{-18.5,-61},{-22.5,-64}})); - connect(ubrfaba.p1,s19.n1) annotation(Line(points={{-11.25,-18},{-2.5,-17}})); - connect(ubrfaba.p2,s46.n1) annotation(Line(points={{-11.25,-28},{-2.5,-29}})); - connect(s18.n1,ubrfaba.s1) annotation(Line(points={{-42.5,-23},{-33.75,-23}})); - connect(sF10.n1,ubrfaba.aB1) annotation(Line(points={{-18.5,-37},{-22.5,-32}})); - connect(sF9.n1,ubrfaba.aF1) annotation(Line(points={{-22.5,-3},{-22.5,-14}})); - connect(s17.n1,ubrfa.p1) annotation(Line(points={{-2.5,23},{-11.25,22}})); - connect(s16.n1,ubrfa.s1) annotation(Line(points={{-42.5,17},{-33.75,17}})); - connect(s47.n1,ubrfa.p2) annotation(Line(points={{-2.5,11},{-11.25,12}})); - connect(sF8.n1,ubrfa.aF1) annotation(Line(points={{-18.5,31},{-22.5,26}})); - connect(ubrbi.p2,s48.n1) annotation(Line(points={{-11.25,52},{-2.5,51}})); - connect(s14.n1,ubrbi.s1) annotation(Line(points={{-42.5,57},{-33.75,57}})); - connect(ubrbi.p1,s15.n1) annotation(Line(points={{-11.25,62},{-2.5,63}})); - connect(sF7.n1,ubrbi.iB1) annotation(Line(points={{-26.5,43},{-22.5,48}})); - connect(ubrbabi.p1,s13.n1) annotation(Line(points={{-11.25,92},{-3.5,94}})); - connect(ubrbabi.p2,s49.n1) annotation(Line(points={{-11.25,82},{-3.5,81.5}})); - connect(s12.n1,ubrbabi.s1) annotation(Line(points={{-42.5,87},{-33.75,87}})); - connect(sF6.n1,ubrbabi.iB1) annotation(Line(points={{-14.5,73},{-22.5,78}})); - connect(ubrbabi.aB1,sF5.n1) annotation(Line(points={{-22.5,78},{-30.5,73}})); - connect(ubrfi.p2,s55.n1) annotation(Line(points={{110.75,28},{119.5,27}})); - connect(s24.n1,ubrfafi.s1) annotation(Line(points={{17.5,27},{30.25,27}})); - connect(ubrfafi.p2,s51.n1) annotation(Line(points={{52.75,22},{61.5,23}})); - connect(sF14.n1,ubrfabi.aF1) annotation(Line(points={{41.5,97},{41.5,86}})); - connect(s25.n1,ubrfafi.p1) annotation(Line(points={{61.5,35},{52.75,32}})); - connect(sF25.n1,ubrfafibi.aF1) annotation(Line(points={{89.5,97},{99.5,92}})); - connect(sF28.n1,ubrfi.iF1) annotation(Line(points={{95.5,47},{99.5,42}})); - connect(s22.n1,ubrfabi.s1) annotation(Line(points={{17.5,77},{30.25,77}})); - connect(s30.n1,ubrfafibi.s1) annotation(Line(points={{79.5,83},{88.25,83}})); - connect(sF15.n1,ubrfabi.iB1) annotation(Line(points={{37.5,63},{41.5,68}})); - connect(sF26.n1,ubrfafibi.iF1) annotation(Line(points={{107.5,97},{99.5,92}})); - connect(ubrfi.p1,s33.n1) annotation(Line(points={{110.75,38},{119.5,39}})); - connect(ubrfafi.iF1,sF17.n1) annotation(Line(points={{41.5,36},{51.5,41}})); - connect(sF27.n1,ubrfafibi.iB1) annotation(Line(points={{95.5,69},{99.5,74}})); - connect(ubrfafibi.p2,s54.n1) annotation(Line(points={{110.75,78},{119.5,79}})); - connect(ubrfabi.p1,s23.n1) annotation(Line(points={{52.75,82},{61.5,83}})); - connect(s31.n1,ubrfafibi.p1) annotation(Line(points={{119.5,91},{110.75,88}})); - connect(s32.n1,ubrfi.s1) annotation(Line(points={{79.5,33},{88.25,33}})); - connect(ubrfabi.p2,s50.n1) annotation(Line(points={{52.75,72},{61.5,71}})); - connect(ubrfafi.aF1,sF16.n1) annotation(Line(points={{41.5,36},{31.5,41}})); - connect(ubrfiba.iF1,sF29.n1) annotation(Line(points={{99.5,12},{95.5,17}})); - connect(s37.n1,ubrfibabi.p1) annotation(Line(points={{119.5,-31},{110.75,-32}})); - connect(s38.n1,ubrfibi.s1) annotation(Line(points={{79.5,-87},{88.25,-87}})); - connect(ubrfiba.p2,s56.n1) annotation(Line(points={{110.75,-2},{119.5,-3}})); - connect(ubrfiba.p1,s35.n1) annotation(Line(points={{110.75,8},{119.5,9}})); - connect(s58.n1,ubrfibi.p2) annotation(Line(points={{119.5,-93},{110.75,-92}})); - connect(s36.n1,ubrfibabi.s1) annotation(Line(points={{79.5,-37},{88.25,-37}})); - connect(sF31.n1,ubrfibabi.iF1) annotation(Line(points={{95.5,-25},{99.5,-28}})); - connect(sF35.n1,ubrfibi.iB1) annotation(Line(points={{89.5,-95},{99.5,-96}})); - connect(s57.n1,ubrfibabi.p2) annotation(Line(points={{119.5,-43},{110.75,-42}})); - connect(sF34.n1,ubrfibi.iF1) annotation(Line(points={{89.5,-77},{99.5,-78}})); - connect(sF30.n1,ubrfiba.aB1) annotation(Line(points={{105.5,-9},{99.5,-6}})); - connect(s39.n1,ubrfibi.p1) annotation(Line(points={{119.5,-81},{110.75,-82}})); - connect(s34.n1,ubrfiba.s1) annotation(Line(points={{79.5,3},{88.25,3}})); - connect(sF33.n1,ubrfibabi.iB1) annotation(Line(points={{109.5,-53},{99.5,-46}})); - connect(sF32.n1,ubrfibabi.aB1) annotation(Line(points={{89.5,-53},{99.5,-46}})); - connect(sF19.n1,ubrfafiba.iF1) annotation(Line(points={{51.5,7},{41.5,-4}})); - connect(s26.n1,ubrfafiba.s1) annotation(Line(points={{17.5,-23},{30.25,-13}})); - connect(sF18.n1,ubrfafiba.aF1) annotation(Line(points={{31.5,7},{41.5,-4}})); - connect(s52.n1,ubrfafiba.p2) annotation(Line(points={{61.5,-19},{52.75,-18}})); - connect(sF20.n1,ubrfafiba.aB1) annotation(Line(points={{45.5,-27},{41.5,-22}})); - connect(ubrfafiba.p1,s27.n1) annotation(Line(points={{52.75,-8},{61.5,-7}})); - connect(s29.n1,ubrfafibabi.p1) annotation(Line(points={{61.5,-67},{52.75,-68}})); - connect(s53.n1,ubrfafibabi.p2) annotation(Line(points={{61.5,-79},{52.75,-78}})); - connect(s28.n1,ubrfafibabi.s1) annotation(Line(points={{17.5,-73},{30.25,-73}})); - connect(sF21.n1,ubrfafibabi.aF1) annotation(Line(points={{31.5,-57},{41.5,-64}})); - connect(sF23.n1,ubrfafibabi.aB1) annotation(Line(points={{31.5,-93},{41.5,-82}})); - connect(sF24.n1,ubrfafibabi.iB1) annotation(Line(points={{51.5,-93},{41.5,-82}})); - connect(sF22.n1,ubrfafibabi.iF1) annotation(Line(points={{51.5,-57},{41.5,-64}})); - end UniBi; - - 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 MassAction; From b37127fe03fa412bc14b06b1ab64d59150c52acf Mon Sep 17 00:00:00 2001 From: Atiyah Elsheikh Date: Tue, 2 Jun 2020 16:10:33 +0100 Subject: [PATCH 27/27] announcing version 1.0.2 --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5a6cd01..7b03833 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# BioChem +# BioChem Free library for biochemical modeling and simulation with Modelica. @@ -15,10 +15,12 @@ take place in-between these substances in a diverse number of biochemical pathwa ## Current release -Download [BioChem v1.0.1 for MSL v3.2.1 (2013-04-18)](../../archive/v1.0.1.zip) +Download [BioChem v1.0.2 for MSL v3.2.2 (2020-06-02)](../../archive/v1.0.2.zip) #### Release notes +* [Version v1.0.2 (2020-06-02)](../../archive/v1.0.1.zip) + * Summary: All major components into separate *.mo files, Converted to MSL 3.2.3 * [Version v1.0.1 (2013-04-18)](../../archive/v1.0.1.zip) * Summary: Converted to MSL 3.2.1 * [Version v1.0 (2009-08-31)](../../archive/v1.0.zip)