示例#1
0
int on_program_start(Tcl_Interp *interp)
{
  EVENT_TRACE(fprintf(stderr, "%d: on_program_start\n", this_node));

  /*
    call the initialization of the modules here
  */
  init_random();
  init_bit_random();

  setup_node_grid();
  /* calculate initial minimimal number of cells (see tclcallback_min_num_cells) */
  min_num_cells = calc_processor_min_num_cells();

  cells_pre_init();
  ghost_init();
  /* Initialise force and energy tables */
  force_and_energy_tables_init();
#ifdef ADRESS
#ifdef INTERFACE_CORRECTION
  adress_force_and_energy_tables_init();
#endif
  /** #ifdef THERMODYNAMIC_FORCE */
  tf_tables_init();
  /** #endif */
#endif
#ifdef ELP3M
  fft_pre_init();
#endif

#ifdef LB_GPU
  if(this_node == 0){
    lb_pre_init_gpu();
  }
#endif
#ifdef LB
  lb_pre_init();
#endif

  /*
    call all initializations to do only on the master node here.
  */
  if (this_node == 0) {
    /* interaction_data.c: make sure 0<->0 ia always exists */
    make_particle_type_exist(0);
    
    init_tcl(interp);
  }
  return TCL_OK;

}
示例#2
0
void on_program_start()
{
    EVENT_TRACE(fprintf(stderr, "%d: on_program_start\n", this_node));

    /* tell Electric fence that we do realloc(0) on purpose. */
#ifdef EFENCE
    extern int EF_ALLOW_MALLOC_0;
    EF_ALLOW_MALLOC_0 = 1;
#endif

    register_sigint_handler();

    if (this_node == 0) {
        /* master node */
#ifdef FORCE_CORE
        /* core should be the last exit handler (process dies) */
        atexit(core);
#endif
        atexit(mpi_stop);
    }

    /*
      call the initialization of the modules here
    */
    init_random();
    init_bit_random();

    setup_node_grid();
    /* calculate initial minimimal number of cells (see tclcallback_min_num_cells) */
    min_num_cells = calc_processor_min_num_cells();

    /* initially go for domain decomposition */
    dd_topology_init(&local_cells);

    ghost_init();
    /* Initialise force and energy tables */
    force_and_energy_tables_init();
#ifdef ADRESS
#ifdef INTERFACE_CORRECTION
    adress_force_and_energy_tables_init();
#endif
    /* #ifdef THERMODYNAMIC_FORCE */
    tf_tables_init();
    /* #endif */
#endif
#ifdef P3M
    p3m_pre_init();
#endif
#ifdef DP3M
    dp3m_pre_init();
#endif

#ifdef LB_GPU
    if(this_node == 0) {
        //lb_pre_init_gpu();
    }
#endif
#ifdef LB
    lb_pre_init();
#endif

#ifdef REACTIONS
    reaction.back_rate=-1.0;
#endif

    /*
      call all initializations to do only on the master node here.
    */
    if (this_node == 0) {
        /* interaction_data.c: make sure 0<->0 ia always exists */
        make_particle_type_exist(0);
    }
}