Files
CellSimulation/BaseCellSimulation/Enzyms/Cytosol/Lactat_Dehydrogenase.cs
T
WyanMueller d2e409d10f InitalCommit
2025-11-16 10:30:26 +01:00

51 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BaseCellSimulation.Enzyms.Cytosol
{
public class Lactat_Dehydrogenase : InternalEnzym
{
public Lactat_Dehydrogenase()
{
Km = 0.5;
Vmax = 10;
KmRange = new(0.05,2);
VmaxRange = new(2, 25);
Km_NADH = 0.05;
Km_NADH_Range = new(0.005, 0.2);
}
public double Km_NADH { get; set; }
public ValueRange Km_NADH_Range { get; set; }
public override void ApplyChanges(CellRessources res, double dt)
{
double used = Math.Min(rate * dt, Math.Min(res.Res.Carbon.Pyruvate, res.Res.Energy.NADH));
//LDH Lactat production and NAD+ regeneration
res.Res.Carbon.Pyruvate -= used;
res.Res.Carbon.Lactate += used;
res.TransferNADH(used,true);
//Consume Protons
res.Res.Ions.Protons -= 1.0 * used;
}
public override void ComputeRate(Resources res)
{
double oxscaled = res.Oxygen * 1000;
double o2Factor = Math.Max(0.0, 1.0 - oxscaled / (oxscaled + 10.0));
rate = Vmax * o2Factor
* (res.Carbon.Pyruvate / (Km + res.Carbon.Pyruvate))
* (res.Energy.NADH / (Km_NADH + res.Energy.NADH));
}
}
}