// NOTE: this logic is specific to orthogonal boxes, not triclinic
// Enforce the constraint that ghosts must be contained in the nearest sub-domains
doublebbx=domain->subhi[0]-domain->sublo[0];
doublebby=domain->subhi[1]-domain->sublo[1];
doublebbz=domain->subhi[2]-domain->sublo[2];
doublercut=2.0*neighbor->cutneighmax;
if(domain->triclinic)
error->all(FLERR,"Fix shardlow does not yet support triclinic geometries");
if(rcut>=bbx||rcut>=bby||rcut>=bbz)
{
charfmt[]={"Shardlow algorithm requires sub-domain length > 2*(rcut+skin). Either reduce the number of processors requested, or change the cutoff/skin: rcut= %e bbx= %e bby= %e bbz= %e\n"};
char*msg=(char*)malloc(sizeof(fmt)+4*15);
sprintf(msg,fmt,rcut,bbx,bby,bbz);
error->one(FLERR,msg);
}
nlocal=atomKK->nlocal;
nghost=atomKK->nghost;
// Allocate memory for h_v_t0 to hold the initial velocities for the ghosts