git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@369 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2007-03-08 00:50:58 +00:00
parent 75181aa0e6
commit ffcb07d0b8
2 changed files with 14 additions and 19 deletions

View File

@ -14,7 +14,6 @@
#include "stdlib.h"
#include "atom_vec_dpd.h"
#include "atom.h"
#include "domain.h"
#include "modify.h"
#include "fix.h"
#include "memory.h"
@ -58,12 +57,13 @@ void AtomVecDPD::zero_ghost(int n, int first)
/* ---------------------------------------------------------------------- */
int AtomVecDPD::pack_comm(int n, int *list, double *buf, int *pbc_flags)
int AtomVecDPD::pack_comm(int n, int *list, double *buf,
int pbc_flag, double *pbc_dist)
{
int i,j,m;
m = 0;
if (pbc_flags[0] == 0) {
if (pbc_flag == 0) {
for (i = 0; i < n; i++) {
j = list[i];
buf[m++] = x[j][0];
@ -74,14 +74,11 @@ int AtomVecDPD::pack_comm(int n, int *list, double *buf, int *pbc_flags)
buf[m++] = v[j][2];
}
} else {
double xprd = domain->xprd;
double yprd = domain->yprd;
double zprd = domain->zprd;
for (i = 0; i < n; i++) {
j = list[i];
buf[m++] = x[j][0] + pbc_flags[1]*xprd;
buf[m++] = x[j][1] + pbc_flags[2]*yprd;
buf[m++] = x[j][2] + pbc_flags[3]*zprd;
buf[m++] = x[j][0] + pbc_dist[0];
buf[m++] = x[j][1] + pbc_dist[1];
buf[m++] = x[j][2] + pbc_dist[2];
buf[m++] = v[j][0];
buf[m++] = v[j][1];
buf[m++] = v[j][2];
@ -130,12 +127,13 @@ int AtomVecDPD::unpack_comm_one(int i, double *buf)
/* ---------------------------------------------------------------------- */
int AtomVecDPD::pack_border(int n, int *list, double *buf, int *pbc_flags)
int AtomVecDPD::pack_border(int n, int *list, double *buf,
int pbc_flag, double *pbc_dist)
{
int i,j,m;
m = 0;
if (pbc_flags[0] == 0) {
if (pbc_flag == 0) {
for (i = 0; i < n; i++) {
j = list[i];
buf[m++] = x[j][0];
@ -149,14 +147,11 @@ int AtomVecDPD::pack_border(int n, int *list, double *buf, int *pbc_flags)
buf[m++] = v[j][2];
}
} else {
double xprd = domain->xprd;
double yprd = domain->yprd;
double zprd = domain->zprd;
for (i = 0; i < n; i++) {
j = list[i];
buf[m++] = x[j][0] + pbc_flags[1]*xprd;
buf[m++] = x[j][1] + pbc_flags[2]*yprd;
buf[m++] = x[j][2] + pbc_flags[3]*zprd;
buf[m++] = x[j][0] + pbc_dist[0];
buf[m++] = x[j][1] + pbc_dist[1];
buf[m++] = x[j][2] + pbc_dist[2];
buf[m++] = tag[j];
buf[m++] = type[j];
buf[m++] = mask[j];

View File

@ -22,11 +22,11 @@ class AtomVecDPD : public AtomVecAtomic {
public:
AtomVecDPD(class LAMMPS *, int, char **);
void zero_ghost(int, int);
int pack_comm(int, int *, double *, int *);
int pack_comm(int, int *, double *, int, double *);
int pack_comm_one(int, double *);
void unpack_comm(int, int, double *);
int unpack_comm_one(int, double *);
int pack_border(int, int *, double *, int *);
int pack_border(int, int *, double *, int, double *);
int pack_border_one(int, double *);
void unpack_border(int, int, double *);
int unpack_border_one(int, double *);