+/***************************************************************************/
+/* New TCP sharing model based on thesis experimantation and discussions. */
+/***************************************************************************/
+void surf_network_model_init_LegrandVelho(const char *filename)
+{
+ if (surf_network_model)
+ return;
+ surf_network_model_init_internal();
+ define_callbacks(filename);
+ xbt_dynar_push(model_list, &surf_network_model);
+ network_solve = lmm_solve;
+ alpha_legrandvelho = 0.92;
+ beta_legrandvelho = 10.4;
+ update_model_description(surf_network_model_description,
+ "LegrandVelho",
+ (surf_model_t) surf_network_model);
+ INFO0("LegrandVelho Model was chosen!!");
+}
+
+/***************************************************************************/
+/* The nice TCP sharing model designed by Loris Marchal and Henri Casanova */
+/***************************************************************************/
+/* @TechReport{ rr-lip2002-40, */
+/* author = {Henri Casanova and Loris Marchal}, */
+/* institution = {LIP}, */
+/* title = {A Network Model for Simulation of Grid Application}, */
+/* number = {2002-40}, */
+/* month = {oct}, */
+/* year = {2002} */
+/* } */
+void surf_network_model_init_CM02(const char *filename)
+{
+
+ if (surf_network_model)
+ return;
+ surf_network_model_init_internal();
+ define_callbacks(filename);
+ xbt_dynar_push(model_list, &surf_network_model);
+ network_solve = lmm_solve;
+
+ update_model_description(surf_network_model_description,
+ "CM02",
+ (surf_model_t) surf_network_model);
+}
+
+void surf_network_model_init_Reno(const char *filename)
+{
+ if (surf_network_model)
+ return;
+ surf_network_model_init_internal();
+ define_callbacks(filename);
+
+ xbt_dynar_push(model_list, &surf_network_model);
+ lmm_set_default_protocol_function(func_reno_f, func_reno_fp,
+ func_reno_fpi);
+ network_solve = lagrange_solve;
+
+ update_model_description(surf_network_model_description,
+ "Reno",
+ (surf_model_t) surf_network_model);
+}
+
+
+void surf_network_model_init_Reno2(const char *filename)
+{
+ if (surf_network_model)
+ return;
+ surf_network_model_init_internal();
+ define_callbacks(filename);
+
+ xbt_dynar_push(model_list, &surf_network_model);
+ lmm_set_default_protocol_function(func_reno2_f, func_reno2_fp,
+ func_reno2_fpi);
+ network_solve = lagrange_solve;
+
+ update_model_description(surf_network_model_description,
+ "Reno2",
+ (surf_model_t) surf_network_model);
+}
+
+void surf_network_model_init_Vegas(const char *filename)
+{
+ if (surf_network_model)
+ return;
+ surf_network_model_init_internal();
+ define_callbacks(filename);
+
+ xbt_dynar_push(model_list, &surf_network_model);
+ lmm_set_default_protocol_function(func_vegas_f, func_vegas_fp,
+ func_vegas_fpi);
+ network_solve = lagrange_solve;