/* * This code is generated by BioUML FrameWork * for BIOMD0000000035.xml diagram at 2008.03.20 15:04:14 */ import biouml.plugins.simulation.ae.NewtonSolver; import biouml.plugins.simulation.java.JavaBaseModel; import ru.biosoft.math.MathRoutines; public class BIOMD0000000035 extends JavaBaseModel { /* * Write rules to calculate equation parameters */ /* * Write rules to calculate equation parameters excluding internal variables. */ public void __internalRateVarInitFunc_0(double time, double[] x) { rate_Reaction1 = x[0]*x[4]*Reaction1_gammaC; rate_Reaction10 = x[7]*Reaction10_betaA; rate_Reaction11 = x[0]*x[6]*Reaction11_gammaR; rate_Reaction12 = x[3]*Reaction12_thetaR; rate_Reaction13 = x[6]*Reaction13_alphaR; rate_Reaction14 = x[3]*Reaction14_alphaRp; rate_Reaction15 = x[8]*Reaction15_deltaMR; rate_Reaction16 = x[8]*Reaction16_betaR; rate_Reaction2 = x[0]*Reaction2_deltaA; rate_Reaction3 = x[1]*Reaction3_deltaA; rate_Reaction4 = x[4]*Reaction4_deltaR; rate_Reaction5 = x[0]*x[5]*Reaction5_gammaA; rate_Reaction6 = x[2]*Reaction6_thetaA; rate_Reaction7 = x[5]*Reaction7_alphaA; rate_Reaction8 = x[2]*Reaction8_alphaAp; rate_Reaction9 = x[7]*Reaction9_deltaMA; } public void Init() { initialValues = getInitialValues(); /* * Initialize variables */ Reaction10_betaA = 50.0; // initial value of Reaction10_betaA Reaction11_gammaR = 1.0; // initial value of Reaction11_gammaR Reaction12_thetaR = 100.0; // initial value of Reaction12_thetaR Reaction13_alphaR = 0.01; // initial value of Reaction13_alphaR Reaction14_alphaRp = 50.0; // initial value of Reaction14_alphaRp Reaction15_deltaMR = 0.5; // initial value of Reaction15_deltaMR Reaction16_betaR = 5.0; // initial value of Reaction16_betaR Reaction1_gammaC = 2.0; // initial value of Reaction1_gammaC Reaction2_deltaA = 1.0; // initial value of Reaction2_deltaA Reaction3_deltaA = 1.0; // initial value of Reaction3_deltaA Reaction4_deltaR = 0.2; // initial value of Reaction4_deltaR Reaction5_gammaA = 1.0; // initial value of Reaction5_gammaA Reaction6_thetaA = 50.0; // initial value of Reaction6_thetaA Reaction7_alphaA = 50.0; // initial value of Reaction7_alphaA Reaction8_alphaAp = 500.0; // initial value of Reaction8_alphaAp Reaction9_deltaMA = 10.0; // initial value of Reaction9_deltaMA } /* * Model variables initial values */ protected double _deterministicOscillator_EmptySet_; protected double rate_Reaction1; protected double rate_Reaction10; protected double rate_Reaction11; protected double rate_Reaction12; protected double rate_Reaction13; protected double rate_Reaction14; protected double rate_Reaction15; protected double rate_Reaction16; protected double rate_Reaction2; protected double rate_Reaction3; protected double rate_Reaction4; protected double rate_Reaction5; protected double rate_Reaction6; protected double rate_Reaction7; protected double rate_Reaction8; protected double rate_Reaction9; protected double Reaction10_betaA; protected double Reaction11_gammaR; protected double Reaction12_thetaR; protected double Reaction13_alphaR; protected double Reaction14_alphaRp; protected double Reaction15_deltaMR; protected double Reaction16_betaR; protected double Reaction1_gammaC; protected double Reaction2_deltaA; protected double Reaction3_deltaA; protected double Reaction4_deltaR; protected double Reaction5_gammaA; protected double Reaction6_thetaA; protected double Reaction7_alphaA; protected double Reaction8_alphaAp; protected double Reaction9_deltaMA; public double[] extendResult(double time,double [] x) { this.time = time; double[] y = new double[9]; y[0] = x[0]; y[1] = x[1]; y[2] = x[2]; y[3] = x[3]; y[4] = x[4]; y[5] = x[5]; y[6] = x[6]; y[7] = x[7]; y[8] = x[8]; return y; } public double[] getInitialValues() { double [] x = new double[9]; this.time = 0.0; x[0] = 0.0; // - $"deterministicOscillator.A" x[1] = 0.0; // - $"deterministicOscillator.C" x[2] = 0.0; // - $"deterministicOscillator.DAp" x[3] = 0.0; // - $"deterministicOscillator.DRp" x[4] = 0.0; // - $"deterministicOscillator.R" x[5] = 1.0; // - $deterministicOscillator.DA x[6] = 1.0; // - $deterministicOscillator.DR x[7] = 0.0; // - $deterministicOscillator.MA x[8] = 0.0; // - $deterministicOscillator.MR __internalRateVarInitFunc_0(time, x); return x; } /* * code for algebraic rules calculations */ /* * end of code for algebraic rules calculations */ protected void calculateRates(double time, double[] x) { __internalRateVarInitFunc_0(time, x); } /* * calculate dy/dt for 'BIOMD0000000035.xml' model */ public void __internalDyDt_0(double time, double [] x, double[] result) { result[0] = +rate_Reaction10-rate_Reaction11+rate_Reaction12-rate_Reaction1-rate_Reaction2-rate_Reaction5+rate_Reaction6; result[1] = +rate_Reaction1-rate_Reaction3; result[2] = +rate_Reaction5-rate_Reaction6+rate_Reaction8-rate_Reaction8; result[3] = +rate_Reaction11-rate_Reaction12+rate_Reaction14-rate_Reaction14; result[4] = +rate_Reaction16-rate_Reaction1+rate_Reaction3-rate_Reaction4; result[5] = -rate_Reaction5+rate_Reaction6+rate_Reaction7-rate_Reaction7; result[6] = -rate_Reaction11+rate_Reaction12+rate_Reaction13-rate_Reaction13; result[7] = +rate_Reaction10-rate_Reaction10+rate_Reaction7+rate_Reaction8-rate_Reaction9; result[8] = +rate_Reaction13+rate_Reaction14-rate_Reaction15+rate_Reaction16-rate_Reaction16; } protected double [] calculateResult(double time, double[] x) { double[] result = new double[9]; __internalDyDt_0(time, x, result); return result; } public double[] dy_dt(double time, double[] x) { this.time = time; calculateRates( time,x ); return calculateResult( time,x ); } } // class ...