-
Kurt A. O'Hearn authored
PG-PuReMD: fixes to SAI preconditioner computation (message size mismatch). Rework MPI communications to not exchange data over MPI when messages are exchanged with oneself (i.e., neighboring processor is oneself via periodic boundary conditions). Backport hydrogen bond fix from sPuReMD (omit interactions when no valid parameters in force field file). Other code clean-up.
Kurt A. O'Hearn authoredPG-PuReMD: fixes to SAI preconditioner computation (message size mismatch). Rework MPI communications to not exchange data over MPI when messages are exchanged with oneself (i.e., neighboring processor is oneself via periodic boundary conditions). Backport hydrogen bond fix from sPuReMD (omit interactions when no valid parameters in force field file). Other code clean-up.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
basic_comm.h 1.62 KiB
/*----------------------------------------------------------------------
PuReMD - Purdue ReaxFF Molecular Dynamics Program
Copyright (2010) Purdue University
Hasan Metin Aktulga, haktulga@cs.purdue.edu
Joseph Fogarty, jcfogart@mail.usf.edu
Sagar Pandit, pandit@usf.edu
Ananth Y Grama, ayg@cs.purdue.edu
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details:
<http://www.gnu.org/licenses/>.
----------------------------------------------------------------------*/
#ifndef __BASIC_COMM_H_
#define __BASIC_COMM_H_
#include "reax_types.h"
enum pointer_type
{
INT_PTR_TYPE = 0,
REAL_PTR_TYPE = 1,
RVEC_PTR_TYPE = 2,
RVEC2_PTR_TYPE = 3,
};
#ifdef __cplusplus
extern "C" {
#endif
void Dist( reax_system const * const, mpi_datatypes * const,
void const * const, int, MPI_Datatype );
void Coll( reax_system const * const, mpi_datatypes * const,
void * const , int, MPI_Datatype );
real Parallel_Dot( const real * const, const real * const, const int, MPI_Comm );
#if defined(TEST_FORCES)
void Coll_ids_at_Master( reax_system*, storage*, mpi_datatypes* );
void Coll_rvecs_at_Master( reax_system*, storage*, mpi_datatypes*, rvec* );
#endif
#ifdef __cplusplus
}
#endif
#endif