diff --git a/src/arcade/patch/agent/process/PatchProcessMetabolismComplex.java b/src/arcade/patch/agent/process/PatchProcessMetabolismComplex.java
index c4119bfc8..c5cfe0a3b 100644
--- a/src/arcade/patch/agent/process/PatchProcessMetabolismComplex.java
+++ b/src/arcade/patch/agent/process/PatchProcessMetabolismComplex.java
@@ -74,6 +74,7 @@ public class PatchProcessMetabolismComplex extends PatchProcessMetabolism {
*
{@code LACTATE_RATE} = rate of lactate production
* {@code AUTOPHAGY_RATE} = rate of autophagy
* {@code GLUCOSE_UPTAKE_RATE} = rate of glucose uptake
+ * {@code INITIAL_GLUCOSE_CONCENTRATION} = initial cell internal glucose concentration
*
*
* @param cell the {@link PatchCell} the process is associated with
@@ -81,11 +82,6 @@ public class PatchProcessMetabolismComplex extends PatchProcessMetabolism {
public PatchProcessMetabolismComplex(PatchCell cell) {
super(cell);
- // Initial internal concentrations.
- intAmts = new double[2];
- intAmts[GLUCOSE] = extAmts[GLUCOSE];
- intAmts[PYRUVATE] = extAmts[GLUCOSE] * PYRU_PER_GLUC;
-
// Mapping for internal concentration access.
String[] intNames = new String[2];
intNames[GLUCOSE] = "glucose";
@@ -101,6 +97,11 @@ public PatchProcessMetabolismComplex(PatchCell cell) {
lactateRate = parameters.getDouble("metabolism/LACTATE_RATE");
autophagyRate = parameters.getDouble("metabolism/AUTOPHAGY_RATE");
glucoseUptakeRate = parameters.getDouble("metabolism/GLUCOSE_UPTAKE_RATE");
+
+ // Initial internal concentrations.
+ intAmts = new double[2];
+ intAmts[GLUCOSE] = parameters.getDouble("metabolism/INITIAL_GLUCOSE_CONCENTRATION");
+ intAmts[PYRUVATE] = extAmts[GLUCOSE] * PYRU_PER_GLUC;
}
@Override
diff --git a/src/arcade/patch/agent/process/PatchProcessMetabolismMedium.java b/src/arcade/patch/agent/process/PatchProcessMetabolismMedium.java
index 40c795b48..b96e46d5b 100644
--- a/src/arcade/patch/agent/process/PatchProcessMetabolismMedium.java
+++ b/src/arcade/patch/agent/process/PatchProcessMetabolismMedium.java
@@ -60,6 +60,7 @@ public class PatchProcessMetabolismMedium extends PatchProcessMetabolism {
* {@code MINIMUM_MASS_FRACTION} = minimum viable cell mass fraction
* {@code AUTOPHAGY_RATE} = rate of autophagy
* {@code ATP_PRODUCTION_RATE} = rate of ATP production
+ * {@code INITIAL_GLUCOSE_CONCENTRATION} = initial cell internal glucose concentration
*
*
* @param cell the {@link PatchCell} the process is associated with
@@ -67,10 +68,6 @@ public class PatchProcessMetabolismMedium extends PatchProcessMetabolism {
public PatchProcessMetabolismMedium(PatchCell cell) {
super(cell);
- // Initial internal concentrations.
- intAmts = new double[1];
- intAmts[GLUCOSE] = extAmts[GLUCOSE];
-
// Mapping for internal concentration access.
String[] intNames = new String[1];
intNames[GLUCOSE] = "glucose";
@@ -83,6 +80,10 @@ public PatchProcessMetabolismMedium(PatchCell cell) {
minimumMassFraction = parameters.getDouble("metabolism/MINIMUM_MASS_FRACTION");
autophagyRate = parameters.getDouble("metabolism/AUTOPHAGY_RATE");
atpProductionRate = parameters.getDouble("metabolism/ATP_PRODUCTION_RATE");
+
+ // Initial internal concentrations.
+ intAmts = new double[1];
+ intAmts[GLUCOSE] = parameters.getDouble("metabolism/INITIAL_GLUCOSE_CONCENTRATION");
}
@Override
diff --git a/src/arcade/patch/agent/process/PatchProcessMetabolismRandom.java b/src/arcade/patch/agent/process/PatchProcessMetabolismRandom.java
index 6f56285da..8719a578f 100644
--- a/src/arcade/patch/agent/process/PatchProcessMetabolismRandom.java
+++ b/src/arcade/patch/agent/process/PatchProcessMetabolismRandom.java
@@ -57,6 +57,7 @@ public class PatchProcessMetabolismRandom extends PatchProcessMetabolism {
*
*
* - {@code CELL_VOLUME} = cell volume
+ *
- {@code INITIAL_GLUCOSE_CONCENTRATION} = initial cell internal glucose concentration
*
*
* @param cell the {@link PatchCell} the process is associated with
@@ -64,10 +65,6 @@ public class PatchProcessMetabolismRandom extends PatchProcessMetabolism {
public PatchProcessMetabolismRandom(PatchCell cell) {
super(cell);
- // Initial internal concentrations.
- intAmts = new double[1];
- intAmts[GLUCOSE] = extAmts[GLUCOSE];
-
// Mapping for internal concentration access.
String[] intNames = new String[1];
intNames[GLUCOSE] = "glucose";
@@ -76,6 +73,10 @@ public PatchProcessMetabolismRandom(PatchCell cell) {
// Set loaded parameters.
Parameters parameters = cell.getParameters();
averageCellVolume = parameters.getDouble("CELL_VOLUME");
+
+ // Initial internal concentrations.
+ intAmts = new double[1];
+ intAmts[GLUCOSE] = parameters.getDouble("metabolism/INITIAL_GLUCOSE_CONCENTRATION");
}
@Override
diff --git a/src/arcade/patch/agent/process/PatchProcessMetabolismSimple.java b/src/arcade/patch/agent/process/PatchProcessMetabolismSimple.java
index 5cc84646c..897ca07de 100644
--- a/src/arcade/patch/agent/process/PatchProcessMetabolismSimple.java
+++ b/src/arcade/patch/agent/process/PatchProcessMetabolismSimple.java
@@ -46,6 +46,7 @@ public class PatchProcessMetabolismSimple extends PatchProcessMetabolism {
* {@code CONSTANT_GLUCOSE_UPTAKE_RATE} = constant glucose uptake rate
* {@code CONSTANT_ATP_PRODUCTION_RATE} = constant ATP production rate
* {@code CONSTANT_VOLUME_GROWTH_RATE} = constant volume growth rate
+ * {@code INITIAL_GLUCOSE_CONCENTRATION} = initial cell internal glucose concentration
*
*
* @param cell the {@link PatchCell} the process is associated with
@@ -53,10 +54,6 @@ public class PatchProcessMetabolismSimple extends PatchProcessMetabolism {
public PatchProcessMetabolismSimple(PatchCell cell) {
super(cell);
- // Initial internal concentrations.
- intAmts = new double[1];
- intAmts[GLUCOSE] = extAmts[GLUCOSE];
-
// Mapping for internal concentration access.
String[] intNames = new String[1];
intNames[GLUCOSE] = "glucose";
@@ -69,6 +66,11 @@ public PatchProcessMetabolismSimple(PatchCell cell) {
glucoseUptakeRate = parameters.getDouble("metabolism/CONSTANT_GLUCOSE_UPTAKE_RATE");
atpProductionRate = parameters.getDouble("metabolism/CONSTANT_ATP_PRODUCTION_RATE");
volumeGrowthRate = parameters.getDouble("metabolism/CONSTANT_VOLUME_GROWTH_RATE");
+
+ // Initial internal concentrations.
+ intAmts = new double[1];
+ intAmts[GLUCOSE] =
+ parameters.getDouble("metabolism/INITIAL_GLUCOSE_CONCENTRATION") * volume;
}
@Override
diff --git a/src/arcade/patch/parameter.patch.xml b/src/arcade/patch/parameter.patch.xml
index 4c64a22bc..e73cdc9e3 100644
--- a/src/arcade/patch/parameter.patch.xml
+++ b/src/arcade/patch/parameter.patch.xml
@@ -48,6 +48,7 @@
+