/* * This code is generated by BioUML FrameWork * for BIOMD0000000002.xml diagram at 2008.03.20 15:03:11 */ import biouml.plugins.simulation.ae.NewtonSolver; import biouml.plugins.simulation.java.JavaBaseModel; import ru.biosoft.math.MathRoutines; public class BIOMD0000000002 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_React0 = comp1*(kf_0*(x[2]/comp1)*(x[8]/comp1) - kr_0*(x[10]/comp1)); rate_React1 = comp1*(kf_1*(x[10]/comp1)*(x[8]/comp1) - kr_1*(x[3]/comp1)); rate_React10 = comp1*(kf_10*(x[9]/comp1) - kr_10*(x[12]/comp1)); rate_React11 = comp1*(kf_11*(x[1]/comp1) - kr_11*(x[7]/comp1)); rate_React12 = comp1*(kf_12*(x[4]/comp1)*(x[8]/comp1) - kr_12*(x[11]/comp1)); rate_React13 = comp1*(kf_13*(x[11]/comp1)*(x[8]/comp1) - kr_13*(x[5]/comp1)); rate_React14 = comp1*(kf_14*(x[6]/comp1) - kr_14*(x[4]/comp1)); rate_React15 = comp1*(kf_15*(x[12]/comp1) - kr_15*(x[11]/comp1)); rate_React16 = comp1*(kf_16*(x[7]/comp1) - kr_16*(x[5]/comp1)); rate_React2 = comp1*(kf_2*(x[3]/comp1) - kr_2*(x[1]/comp1)); rate_React3 = comp1*(kf_3*(x[0]/comp1)*(x[8]/comp1) - kr_3*(x[9]/comp1)); rate_React4 = comp1*(kf_4*(x[9]/comp1)*(x[8]/comp1) - kr_4*(x[1]/comp1)); rate_React5 = comp1*(kf_5*(x[2]/comp1) - kr_5*(x[0]/comp1)); rate_React6 = comp1*(kf_6*(x[10]/comp1) - kr_6*(x[9]/comp1)); rate_React7 = comp1*(kf_7*(x[6]/comp1)*(x[8]/comp1) - kr_7*(x[12]/comp1)); rate_React8 = comp1*(kf_8*(x[12]/comp1)*(x[8]/comp1) - kr_8*(x[7]/comp1)); rate_React9 = comp1*(kf_9*(x[0]/comp1) - kr_9*(x[6]/comp1)); } public void Init() { initialValues = getInitialValues(); /* * Initialize variables */ comp1 = 1.0E-16; // initial value of $comp1 kf_0 = 3.0E8; // initial value of kf_0 kf_1 = 1.5E8; // initial value of kf_1 kf_10 = 19.85; // initial value of kf_10 kf_11 = 20.0; // initial value of kf_11 kf_12 = 3.0E8; // initial value of kf_12 kf_13 = 1.5E8; // initial value of kf_13 kf_14 = 0.05; // initial value of kf_14 kf_15 = 0.05; // initial value of kf_15 kf_16 = 0.05; // initial value of kf_16 kf_2 = 30000.0; // initial value of kf_2 kf_3 = 3.0E8; // initial value of kf_3 kf_4 = 1.5E8; // initial value of kf_4 kf_5 = 0.54; // initial value of kf_5 kf_6 = 130.0; // initial value of kf_6 kf_7 = 3.0E8; // initial value of kf_7 kf_8 = 1.5E8; // initial value of kf_8 kf_9 = 19.7; // initial value of kf_9 kr_0 = 8000.0; // initial value of kr_0 kr_1 = 16000.0; // initial value of kr_1 kr_10 = 1.74; // initial value of kr_10 kr_11 = 0.81; // initial value of kr_11 kr_12 = 4.0; // initial value of kr_12 kr_13 = 8.0; // initial value of kr_13 kr_14 = 0.0012; // initial value of kr_14 kr_15 = 0.0012; // initial value of kr_15 kr_16 = 0.0012; // initial value of kr_16 kr_2 = 700.0; // initial value of kr_2 kr_3 = 8.64; // initial value of kr_3 kr_4 = 17.28; // initial value of kr_4 kr_5 = 10800.0; // initial value of kr_5 kr_6 = 2740.0; // initial value of kr_6 kr_7 = 4.0; // initial value of kr_7 kr_8 = 8.0; // initial value of kr_8 kr_9 = 3.74; // initial value of kr_9 } /* * Model variables initial values */ protected double rate_React0; protected double rate_React1; protected double rate_React10; protected double rate_React11; protected double rate_React12; protected double rate_React13; protected double rate_React14; protected double rate_React15; protected double rate_React16; protected double rate_React2; protected double rate_React3; protected double rate_React4; protected double rate_React5; protected double rate_React6; protected double rate_React7; protected double rate_React8; protected double rate_React9; protected double comp1; protected double kf_0; protected double kf_1; protected double kf_10; protected double kf_11; protected double kf_12; protected double kf_13; protected double kf_14; protected double kf_15; protected double kf_16; protected double kf_2; protected double kf_3; protected double kf_4; protected double kf_5; protected double kf_6; protected double kf_7; protected double kf_8; protected double kf_9; protected double kr_0; protected double kr_1; protected double kr_10; protected double kr_11; protected double kr_12; protected double kr_13; protected double kr_14; protected double kr_15; protected double kr_16; protected double kr_2; protected double kr_3; protected double kr_4; protected double kr_5; protected double kr_6; protected double kr_7; protected double kr_8; protected double kr_9; public double[] extendResult(double time,double [] x) { this.time = time; double[] y = new double[13]; 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]; y[9] = x[9]; y[10] = x[10]; y[11] = x[11]; y[12] = x[12]; return y; } public double[] getInitialValues() { double [] x = new double[13]; this.time = 0.0; x[0] = 0.0; // - $"comp1.A" x[1] = 0.0; // - $"comp1.ALL" x[2] = 1.66057788110262E-21; // - $"comp1.B" x[3] = 0.0; // - $"comp1.BLL" x[4] = 0.0; // - $"comp1.D" x[5] = 0.0; // - $"comp1.DLL" x[6] = 0.0; // - $"comp1.I" x[7] = 0.0; // - $"comp1.ILL" x[8] = 1.66057788110262E-20; // - $"comp1.L" x[9] = 0.0; // - $comp1.AL x[10] = 0.0; // - $comp1.BL x[11] = 0.0; // - $comp1.DL x[12] = 0.0; // - $comp1.IL __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 'BIOMD0000000002.xml' model */ public void __internalDyDt_0(double time, double [] x, double[] result) { result[0] = -rate_React3+rate_React5-rate_React9; result[1] = -rate_React11+rate_React2+rate_React4; result[2] = -rate_React0-rate_React5; result[3] = +rate_React1-rate_React2; result[4] = -rate_React12+rate_React14; result[5] = +rate_React13+rate_React16; result[6] = -rate_React14-rate_React7+rate_React9; result[7] = +rate_React11-rate_React16+rate_React8; result[8] = -rate_React0-rate_React12-rate_React13-rate_React1-rate_React3-rate_React4-rate_React7-rate_React8; result[9] = -rate_React10+rate_React3-rate_React4+rate_React6; result[10] = +rate_React0-rate_React1-rate_React6; result[11] = +rate_React12-rate_React13+rate_React15; result[12] = +rate_React10-rate_React15+rate_React7-rate_React8; } protected double [] calculateResult(double time, double[] x) { double[] result = new double[13]; __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 ...