InitalCommit
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BaseCellSimulation.Enzyms.Membrane
|
||||
{
|
||||
// ----------------------------------------------------------
|
||||
// 3. PMCA – Ca²⁺-ATPase (Ca raus, ATP-abhängig)
|
||||
// ----------------------------------------------------------
|
||||
public class PMCA : MembranEnzyme
|
||||
{
|
||||
public double ATPperCycle = 1.0;
|
||||
|
||||
public override void ComputeRate(double caCyt, EnviromentState env)
|
||||
{
|
||||
// klassisch: Michaelis-Menten mit Ca²⁺-Abhängigkeit
|
||||
rate = Michaelis_Menten(caCyt, Vmax, Km);
|
||||
}
|
||||
|
||||
public override void ApplyChanges(CellRessources res, double dt)
|
||||
{
|
||||
double flux = rate * dt;
|
||||
double atpNeeded = flux * ATPperCycle;
|
||||
|
||||
if (res.Res.Energy.ATP < atpNeeded) flux *= res.Res.Energy.ATP / atpNeeded;
|
||||
|
||||
res.Res.Ca.CytosolicCa -= flux; // Ca raus
|
||||
res.Env.Ca += flux;
|
||||
res.ConsumeATP(atpNeeded);
|
||||
}
|
||||
|
||||
public override double CalculateGradient(CellRessources res)
|
||||
{
|
||||
return res.Res.Ca.CytosolicCa; // PMCA is not driven by a concentration gradient
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user