Implemented atom force AoS memory layout, added performance measurements + logbook Update
This commit is contained in:
14
src/main.c
14
src/main.c
@@ -126,13 +126,12 @@ double reneighbour(
|
||||
|
||||
void initialIntegrate(Parameter *param, Atom *atom)
|
||||
{
|
||||
MD_FLOAT* fx = atom->fx; MD_FLOAT* fy = atom->fy; MD_FLOAT* fz = atom->fz;
|
||||
MD_FLOAT* vx = atom->vx; MD_FLOAT* vy = atom->vy; MD_FLOAT* vz = atom->vz;
|
||||
|
||||
for(int i = 0; i < atom->Nlocal; i++) {
|
||||
vx[i] += param->dtforce * fx[i];
|
||||
vy[i] += param->dtforce * fy[i];
|
||||
vz[i] += param->dtforce * fz[i];
|
||||
vx[i] += param->dtforce * atom_fx(i);
|
||||
vy[i] += param->dtforce * atom_fy(i);
|
||||
vz[i] += param->dtforce * atom_fz(i);
|
||||
atom_x(i) = atom_x(i) + param->dt * vx[i];
|
||||
atom_y(i) = atom_y(i) + param->dt * vy[i];
|
||||
atom_z(i) = atom_z(i) + param->dt * vz[i];
|
||||
@@ -141,13 +140,12 @@ void initialIntegrate(Parameter *param, Atom *atom)
|
||||
|
||||
void finalIntegrate(Parameter *param, Atom *atom)
|
||||
{
|
||||
MD_FLOAT* fx = atom->fx; MD_FLOAT* fy = atom->fy; MD_FLOAT* fz = atom->fz;
|
||||
MD_FLOAT* vx = atom->vx; MD_FLOAT* vy = atom->vy; MD_FLOAT* vz = atom->vz;
|
||||
|
||||
for(int i = 0; i < atom->Nlocal; i++) {
|
||||
vx[i] += param->dtforce * fx[i];
|
||||
vy[i] += param->dtforce * fy[i];
|
||||
vz[i] += param->dtforce * fz[i];
|
||||
vx[i] += param->dtforce * atom_fx(i);
|
||||
vy[i] += param->dtforce * atom_fy(i);
|
||||
vz[i] += param->dtforce * atom_fz(i);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user