using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BaseCellSimulation.Enzyms { public abstract class Enzym { /// /// mM/S /// public double Vmax { get; set; } /// /// mM /// public double Km { get; set; } public ValueRange VmaxRange { get; protected set; } public ValueRange KmRange { get; protected set; } protected double rate; protected void Michaelis_Menten(double ressource) { rate = Michaelis_Menten(ressource, Vmax, Km); } protected double Michaelis_Menten(double consumable,double vmax, double km) { return (vmax * consumable) / (km + consumable); } public abstract void ApplyChanges(CellRessources res, double dt); } public abstract class InternalEnzym : Enzym { public abstract void ComputeRate(Resources res); } public abstract class MembranEnzyme : Enzym { public abstract double CalculateGradient(CellRessources res); public abstract void ComputeRate(double gradient, EnviromentState Env); } }