InitalCommit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BaseCellSimulation.Enzyms.Mytochondrion
|
||||
{
|
||||
public class PyruvateDehydrogenase : InternalEnzym
|
||||
{
|
||||
public PyruvateDehydrogenase()
|
||||
{
|
||||
Vmax = 1.0; // mM/s
|
||||
Km = 0.05; // mM Pyruvat
|
||||
}
|
||||
|
||||
public override void ComputeRate(Resources res)
|
||||
{
|
||||
Michaelis_Menten(res.Carbon.Pyruvate);
|
||||
|
||||
// Aktivierung durch Ca²⁺
|
||||
double ca = res.Ca.CytosolicCa;
|
||||
double caBoost = 1.0 + 0.8 * (ca / (0.0005 + ca)); // bis ~1.8x Boost
|
||||
rate *= caBoost;
|
||||
|
||||
// Hemmung durch hohes NADH/NAD+ Verhältnis oder ATP
|
||||
double redox = res.Energy.NAD / (res.Energy.NAD + res.Energy.NADH + 1e-9);
|
||||
double energy = res.Energy.ATP / (res.Energy.ATP + res.Energy.ADP + 1e-9);
|
||||
rate *= redox * (1.0 - 0.5 * energy); // Hohe Energie hemmt
|
||||
}
|
||||
|
||||
public override void ApplyChanges(CellRessources res, double dt)
|
||||
{
|
||||
double used = Math.Min(res.Res.Carbon.Pyruvate, rate * dt);
|
||||
|
||||
res.Res.Carbon.Pyruvate -= used;
|
||||
res.Res.Carbon.AcetylCoA += used;
|
||||
res.TransferNADH(used, false);
|
||||
res.Res.Carbon.CO2 += used;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user