/* * This code is generated by BioUML FrameWork * for BIOMD0000000022.xml diagram at 2008.03.20 15:03:59 */ import biouml.plugins.simulation.ae.NewtonSolver; import biouml.plugins.simulation.java.JavaBaseModel; import ru.biosoft.math.MathRoutines; public class BIOMD0000000022 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 = compartment_0000003*(Reaction1_c1 + (Reaction1_B1 + Math.pow((x[8]/Reaction1_A1), Reaction1_a))*Reaction1_s1/(1 + Reaction1_B1 + Math.pow((x[8]/Reaction1_A1), Reaction1_a) + Math.pow((x[9]/Reaction1_r1), Reaction1_r))); rate_Reaction10 = compartment_0000003*(x[3]*Reaction10_T1/(Reaction10_k1 + x[3])); rate_Reaction11 = compartment_0000003*(x[1]*Reaction11_v3*_compartment_0000003_species_0000012_ - Reaction11_parameter_0000073*x[0]); rate_Reaction12 = compartment_0000003*(x[4]*x[6]*Reaction12_v1 - Reaction12_parameter_0000072*x[3]); rate_Reaction16 = compartment_0000003*Reaction16_s4*x[7]; rate_Reaction18 = compartment_0000003*x[2]*Reaction18_s6; rate_Reaction19 = compartment_0000003*Reaction19_s2*x[5]; rate_Reaction2 = compartment_0000003*Reaction2_D0*x[5]; rate_Reaction20 = Drosophilia*Reaction20_D0*x[4]; rate_Reaction21 = compartment_0000003*Reaction21_D0*x[3]; rate_Reaction23 = _compartment_0000003_compartment_0000002_*Reaction23_D0*x[9]; rate_Reaction24 = compartment_0000003*x[0]*Reaction24_D0; rate_Reaction25 = compartment_0000003*x[1]*Reaction25_D0; rate_Reaction26 = _compartment_0000003_compartment_0000002_*x[8]*Reaction26_D0; rate_Reaction27 = compartment_0000003*Reaction27_D0*x[6]; rate_Reaction28 = compartment_0000003*(Reaction28_D1*x[5]/(Reaction28_L1 + x[5])); rate_Reaction29 = compartment_0000003*(Reaction29_D2*_compartment_0000003_species_0000013_*x[4]/(Reaction29_L2 + x[4])); rate_Reaction3 = compartment_0000003*(Reaction3_c2 + (Reaction3_B2 + Math.pow((x[8]/Reaction3_A2), Reaction3_a))*Reaction3_s3/(1 + Reaction3_B2 + Math.pow((x[8]/Reaction3_A2), Reaction3_a) + Math.pow((x[9]/Reaction3_r2), Reaction3_r))); rate_Reaction30 = compartment_0000003*(Reaction30_D3*x[7]/(Reaction30_L3 + x[7])); rate_Reaction31 = compartment_0000003*(Reaction31_D4*x[6]/(Reaction31_L4 + x[6])); rate_Reaction32 = compartment_0000003*(Reaction32_D5*x[3]/(Reaction32_L5 + x[3])); rate_Reaction33 = _compartment_0000003_compartment_0000002_*(Reaction33_D6*x[9]/(Reaction33_L6 + x[9])); rate_Reaction34 = compartment_0000003*(x[2]*Reaction34_D7/(x[2] + Reaction34_L7)); rate_Reaction35 = compartment_0000003*(x[1]*Reaction35_D8/(x[1] + Reaction35_L8)); rate_Reaction36 = compartment_0000003*(x[0]*Reaction36_D9/(x[0] + Reaction36_L9)); rate_Reaction37 = _compartment_0000003_compartment_0000002_*(x[8]*Reaction37_D10/(x[8] + Reaction37_L10)); rate_Reaction4 = Drosophilia*Reaction4_D0*x[7]; rate_Reaction5 = compartment_0000003*(Reaction5_c3 + (Reaction5_B3 + Math.pow((x[9]/Reaction5_A3), Reaction5_a))*Reaction5_s5/(1 + Reaction5_B3 + Math.pow((x[9]/Reaction5_A3), Reaction5_a) + Math.pow((x[8]/Reaction5_r3), Reaction5_r))); rate_Reaction6 = Drosophilia*x[2]*Reaction6_D0; rate_Reaction7 = compartment_0000003*(x[0]*Reaction7_T3/(Reaction7_k3 + x[0])); rate_Reaction8 = _compartment_0000003_compartment_0000002_*(x[8]*Reaction8_T4/(Reaction8_k4 + x[8])); rate_Reaction9 = _compartment_0000003_compartment_0000002_*(x[9]*Reaction9_T2/(Reaction9_k2 + x[9])); } public void Init() { initialValues = getInitialValues(); /* * Initialize variables */ _compartment_0000003_compartment_0000002_ = 1.0; // initial value of $"compartment_0000003.compartment_0000002" _compartment_0000003_species_0000012_ = 1.0; // initial value of $"compartment_0000003.species_0000012" _compartment_0000003_species_0000013_ = 1.0; // initial value of $"compartment_0000003.species_0000013" Drosophilia = 1.0; // initial value of $Drosophilia compartment_0000003 = 1.0; // initial value of $compartment_0000003 Reaction10_T1 = 1.73; // initial value of Reaction10_T1 Reaction10_k1 = 2.0; // initial value of Reaction10_k1 Reaction11_parameter_0000073 = 1.63; // initial value of Reaction11_parameter_0000073 Reaction11_v3 = 1.63; // initial value of Reaction11_v3 Reaction12_parameter_0000072 = 1.45; // initial value of Reaction12_parameter_0000072 Reaction12_v1 = 1.45; // initial value of Reaction12_v1 Reaction16_s4 = 0.48; // initial value of Reaction16_s4 Reaction18_s6 = 0.47; // initial value of Reaction18_s6 Reaction19_s2 = 0.48; // initial value of Reaction19_s2 Reaction1_A1 = 0.45; // initial value of Reaction1_A1 Reaction1_a = 1.0; // initial value of Reaction1_a Reaction1_r = 4.0; // initial value of Reaction1_r Reaction1_r1 = 1.02; // initial value of Reaction1_r1 Reaction1_s1 = 1.45; // initial value of Reaction1_s1 Reaction20_D0 = 0.012; // initial value of Reaction20_D0 Reaction21_D0 = 0.012; // initial value of Reaction21_D0 Reaction23_D0 = 0.012; // initial value of Reaction23_D0 Reaction24_D0 = 0.012; // initial value of Reaction24_D0 Reaction25_D0 = 0.012; // initial value of Reaction25_D0 Reaction26_D0 = 0.012; // initial value of Reaction26_D0 Reaction27_D0 = 0.012; // initial value of Reaction27_D0 Reaction28_D1 = 0.94; // initial value of Reaction28_D1 Reaction28_L1 = 0.3; // initial value of Reaction28_L1 Reaction29_D2 = 0.44; // initial value of Reaction29_D2 Reaction29_L2 = 0.2; // initial value of Reaction29_L2 Reaction2_D0 = 0.012; // initial value of Reaction2_D0 Reaction30_D3 = 0.94; // initial value of Reaction30_D3 Reaction30_L3 = 0.3; // initial value of Reaction30_L3 Reaction31_D4 = 0.44; // initial value of Reaction31_D4 Reaction31_L4 = 0.2; // initial value of Reaction31_L4 Reaction32_D5 = 0.44; // initial value of Reaction32_D5 Reaction32_L5 = 0.2; // initial value of Reaction32_L5 Reaction33_D6 = 0.29; // initial value of Reaction33_D6 Reaction33_L6 = 0.2; // initial value of Reaction33_L6 Reaction34_D7 = 0.54; // initial value of Reaction34_D7 Reaction34_L7 = 0.13; // initial value of Reaction34_L7 Reaction35_D8 = 0.6; // initial value of Reaction35_D8 Reaction35_L8 = 0.2; // initial value of Reaction35_L8 Reaction36_D9 = 0.6; // initial value of Reaction36_D9 Reaction36_L9 = 0.2; // initial value of Reaction36_L9 Reaction37_D10 = 0.3; // initial value of Reaction37_D10 Reaction37_L10 = 0.2; // initial value of Reaction37_L10 Reaction3_A2 = 0.45; // initial value of Reaction3_A2 Reaction3_a = 1.0; // initial value of Reaction3_a Reaction3_r = 4.0; // initial value of Reaction3_r Reaction3_r2 = 1.02; // initial value of Reaction3_r2 Reaction3_s3 = 1.45; // initial value of Reaction3_s3 Reaction4_D0 = 0.012; // initial value of Reaction4_D0 Reaction5_A3 = 0.8; // initial value of Reaction5_A3 Reaction5_B3 = 0.6; // initial value of Reaction5_B3 Reaction5_a = 1.0; // initial value of Reaction5_a Reaction5_r = 4.0; // initial value of Reaction5_r Reaction5_r3 = 0.89; // initial value of Reaction5_r3 Reaction5_s5 = 1.63; // initial value of Reaction5_s5 Reaction6_D0 = 0.012; // initial value of Reaction6_D0 Reaction7_T3 = 1.63; // initial value of Reaction7_T3 Reaction7_k3 = 2.0; // initial value of Reaction7_k3 Reaction8_T4 = 0.52; // initial value of Reaction8_T4 Reaction8_k4 = 2.0; // initial value of Reaction8_k4 Reaction9_T2 = 0.72; // initial value of Reaction9_T2 Reaction9_k2 = 2.0; // initial value of Reaction9_k2 } /* * Model variables initial values */ protected double _Drosophilia_EmptySet_; protected double _compartment_0000003_compartment_0000002_; protected double _compartment_0000003_species_0000012_; protected double _compartment_0000003_species_0000013_; protected double rate_Reaction1; protected double rate_Reaction10; protected double rate_Reaction11; protected double rate_Reaction12; protected double rate_Reaction16; protected double rate_Reaction18; protected double rate_Reaction19; protected double rate_Reaction2; protected double rate_Reaction20; protected double rate_Reaction21; protected double rate_Reaction23; protected double rate_Reaction24; protected double rate_Reaction25; protected double rate_Reaction26; protected double rate_Reaction27; protected double rate_Reaction28; protected double rate_Reaction29; protected double rate_Reaction3; protected double rate_Reaction30; protected double rate_Reaction31; protected double rate_Reaction32; protected double rate_Reaction33; protected double rate_Reaction34; protected double rate_Reaction35; protected double rate_Reaction36; protected double rate_Reaction37; 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 Drosophilia; protected double compartment_0000003; protected double Reaction10_T1; protected double Reaction10_k1; protected double Reaction11_parameter_0000073; protected double Reaction11_v3; protected double Reaction12_parameter_0000072; protected double Reaction12_v1; protected double Reaction16_s4; protected double Reaction18_s6; protected double Reaction19_s2; protected double Reaction1_A1; protected double Reaction1_B1; protected double Reaction1_a; protected double Reaction1_c1; protected double Reaction1_r; protected double Reaction1_r1; protected double Reaction1_s1; protected double Reaction20_D0; protected double Reaction21_D0; protected double Reaction23_D0; protected double Reaction24_D0; protected double Reaction25_D0; protected double Reaction26_D0; protected double Reaction27_D0; protected double Reaction28_D1; protected double Reaction28_L1; protected double Reaction29_D2; protected double Reaction29_L2; protected double Reaction2_D0; protected double Reaction30_D3; protected double Reaction30_L3; protected double Reaction31_D4; protected double Reaction31_L4; protected double Reaction32_D5; protected double Reaction32_L5; protected double Reaction33_D6; protected double Reaction33_L6; protected double Reaction34_D7; protected double Reaction34_L7; protected double Reaction35_D8; protected double Reaction35_L8; protected double Reaction36_D9; protected double Reaction36_L9; protected double Reaction37_D10; protected double Reaction37_L10; protected double Reaction3_A2; protected double Reaction3_B2; protected double Reaction3_a; protected double Reaction3_c2; protected double Reaction3_r; protected double Reaction3_r2; protected double Reaction3_s3; protected double Reaction4_D0; protected double Reaction5_A3; protected double Reaction5_B3; protected double Reaction5_a; protected double Reaction5_c3; protected double Reaction5_r; protected double Reaction5_r3; protected double Reaction5_s5; protected double Reaction6_D0; protected double Reaction7_T3; protected double Reaction7_k3; protected double Reaction8_T4; protected double Reaction8_k4; protected double Reaction9_T2; protected double Reaction9_k2; public double[] extendResult(double time,double [] x) { this.time = time; double[] y = new double[10]; 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]; return y; } public double[] getInitialValues() { double [] x = new double[10]; this.time = 0.0; x[0] = 0.3; // - $"compartment_0000003.CCc" x[1] = 0.2; // - $"compartment_0000003.Clkc" x[2] = 0.1; // - $"compartment_0000003.Clkm" x[3] = 0.9; // - $"compartment_0000003.PTc" x[4] = 0.6; // - $"compartment_0000003.Perc" x[5] = 0.5; // - $"compartment_0000003.Perm" x[6] = 0.8; // - $"compartment_0000003.Timc" x[7] = 0.7; // - $"compartment_0000003.Timm" x[8] = 0.4; // - $"compartment_0000003.compartment_0000002.CCn" x[9] = 1.0; // - $"compartment_0000003.compartment_0000002.PTn" __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 'BIOMD0000000022.xml' model */ public void __internalDyDt_0(double time, double [] x, double[] result) { result[0] = +rate_Reaction11-rate_Reaction24-rate_Reaction36-rate_Reaction7+rate_Reaction8; result[1] = -rate_Reaction11+rate_Reaction18-rate_Reaction25-rate_Reaction35; result[2] = -rate_Reaction34+rate_Reaction5-rate_Reaction6; result[3] = -rate_Reaction10+rate_Reaction12-rate_Reaction21-rate_Reaction32+rate_Reaction9; result[4] = -rate_Reaction12+rate_Reaction19-rate_Reaction20-rate_Reaction29; result[5] = +rate_Reaction1-rate_Reaction28-rate_Reaction2; result[6] = -rate_Reaction12+rate_Reaction16-rate_Reaction27-rate_Reaction31; result[7] = -rate_Reaction30+rate_Reaction3-rate_Reaction4; result[8] = -rate_Reaction26-rate_Reaction37+rate_Reaction7-rate_Reaction8; result[9] = +rate_Reaction10-rate_Reaction23-rate_Reaction33-rate_Reaction9; } protected double [] calculateResult(double time, double[] x) { double[] result = new double[10]; __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 ...