예제 #1
0
gmx_pme_pp_t gmx_pme_pp_init(t_commrec *cr)
{
  struct gmx_pme_pp *pme_pp;
  int rank;

  snew(pme_pp,1);

#ifdef GMX_MPI
  pme_pp->mpi_comm_mysim = cr->mpi_comm_mysim;
  MPI_Comm_rank(cr->mpi_comm_mygroup,&rank);
  get_pme_ddnodes(cr,rank,&pme_pp->nnode,&pme_pp->node,&pme_pp->node_peer);
  snew(pme_pp->nat,pme_pp->nnode);
  snew(pme_pp->req,2*pme_pp->nnode);
  snew(pme_pp->stat,2*pme_pp->nnode);
  pme_pp->nalloc = 0;
  pme_pp->flags_charge = 0;
#endif

  return pme_pp;
}
예제 #2
0
gmx_pme_pp_t gmx_pme_pp_init(t_commrec *cr)
{
    struct gmx_pme_pp *pme_pp;

    snew(pme_pp, 1);

#if GMX_MPI
    int rank;

    pme_pp->mpi_comm_mysim = cr->mpi_comm_mysim;
    MPI_Comm_rank(cr->mpi_comm_mygroup, &rank);
    get_pme_ddnodes(cr, rank, &pme_pp->nnode, &pme_pp->node, &pme_pp->node_peer);
    snew(pme_pp->nat, pme_pp->nnode);
    snew(pme_pp->req, eCommType_NR*pme_pp->nnode);
    snew(pme_pp->stat, eCommType_NR*pme_pp->nnode);
    pme_pp->nalloc       = 0;
    pme_pp->flags_charge = 0;
#else
    GMX_UNUSED_VALUE(cr);
#endif

    return pme_pp;
}