928{
929
930 const gsl_odeiv2_step_type * T = gsl_odeiv2_step_rk4;
931
932
933 gsl_odeiv2_step *
s = gsl_odeiv2_step_alloc(T, NumberOfRGEs);
934
935
936
937
938 gsl_odeiv2_control * c = gsl_odeiv2_control_y_new(1e-6, 0.0);
939
940
941 gsl_odeiv2_evolve * e = gsl_odeiv2_evolve_alloc(NumberOfRGEs);
942
943
945
946
947 double t1 = Q1*log(10.0);
948 double t2 = Q2*log(10.0);
949 double tNLOuni = NLOuniscale*log(10.0);
950
951
952 double InitialStepSize = 1e-6;
953
954
955 while (t1 < t2)
956 {
957 int status = gsl_odeiv2_evolve_apply (e, c,
s, &RGEsystem, &t1, t2, &InitialStepSize, InitialValues);
958 if(status != GSL_SUCCESS) break;
959
960
962 }
963
964 gsl_odeiv2_evolve_free (e);
965 gsl_odeiv2_control_free (c);
966 gsl_odeiv2_step_free (
s);
967
968
969 return t1/log(10.0);
970}
int RGEcheckcustodialMW(const double InitialValues[], const double t1, const double Rpeps, const double tNLOuni)
int RGEscustodialMW(double t, const double y[], double beta[], void *flags)
int JacobianTHDMW(double t, const double y[], double *dfdy, double dfdt[], void *order)