git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13353 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -78,11 +78,9 @@ void ComputeTempRotate::setup()
|
|||||||
void ComputeTempRotate::dof_compute()
|
void ComputeTempRotate::dof_compute()
|
||||||
{
|
{
|
||||||
adjust_dof_fix();
|
adjust_dof_fix();
|
||||||
double natoms = group->count(igroup);
|
natoms_temp = group->count(igroup);
|
||||||
dof = domain->dimension * natoms;
|
dof = domain->dimension * natoms_temp;
|
||||||
dof -= extra_dof + fix_dof;
|
dof -= extra_dof + fix_dof;
|
||||||
if (dof < 0.0 && natoms > 0.0)
|
|
||||||
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
|
||||||
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
||||||
else tfactor = 0.0;
|
else tfactor = 0.0;
|
||||||
}
|
}
|
||||||
@ -144,6 +142,8 @@ double ComputeTempRotate::compute_scalar()
|
|||||||
|
|
||||||
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
||||||
if (dynamic) dof_compute();
|
if (dynamic) dof_compute();
|
||||||
|
if (dof < 0.0 && natoms_temp > 0.0)
|
||||||
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
scalar *= tfactor;
|
scalar *= tfactor;
|
||||||
return scalar;
|
return scalar;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -137,6 +137,7 @@ class Compute : protected Pointers {
|
|||||||
protected:
|
protected:
|
||||||
int instance_me; // which Compute class instantiation I am
|
int instance_me; // which Compute class instantiation I am
|
||||||
|
|
||||||
|
double natoms_temp; // # of atoms used for temperature calculation
|
||||||
int extra_dof; // extra DOF for temperature computes
|
int extra_dof; // extra DOF for temperature computes
|
||||||
int fix_dof; // DOF due to fixes
|
int fix_dof; // DOF due to fixes
|
||||||
int dynamic; // recount atoms for temperature computes
|
int dynamic; // recount atoms for temperature computes
|
||||||
|
|||||||
@ -61,11 +61,9 @@ void ComputeTemp::setup()
|
|||||||
void ComputeTemp::dof_compute()
|
void ComputeTemp::dof_compute()
|
||||||
{
|
{
|
||||||
adjust_dof_fix();
|
adjust_dof_fix();
|
||||||
double natoms = group->count(igroup);
|
natoms_temp = group->count(igroup);
|
||||||
dof = domain->dimension * natoms;
|
dof = domain->dimension * natoms_temp;
|
||||||
dof -= extra_dof + fix_dof;
|
dof -= extra_dof + fix_dof;
|
||||||
//if (dof < 0.0 && natoms > 0.0)
|
|
||||||
// error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
|
||||||
if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz);
|
if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz);
|
||||||
else tfactor = 0.0;
|
else tfactor = 0.0;
|
||||||
}
|
}
|
||||||
@ -98,6 +96,8 @@ double ComputeTemp::compute_scalar()
|
|||||||
|
|
||||||
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
||||||
if (dynamic) dof_compute();
|
if (dynamic) dof_compute();
|
||||||
|
if (dof < 0.0 && natoms_temp > 0.0)
|
||||||
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
scalar *= tfactor;
|
scalar *= tfactor;
|
||||||
return scalar;
|
return scalar;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -288,10 +288,10 @@ double ComputeTempChunk::compute_scalar()
|
|||||||
MPI_Allreduce(&rcount,&allcount,1,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(&rcount,&allcount,1,MPI_DOUBLE,MPI_SUM,world);
|
||||||
|
|
||||||
double dof = nchunk*cdof + adof*allcount;
|
double dof = nchunk*cdof + adof*allcount;
|
||||||
if (dof < 0.0 && allcount > 0.0)
|
|
||||||
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
|
||||||
double tfactor = 0.0;
|
double tfactor = 0.0;
|
||||||
if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz);
|
if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz);
|
||||||
|
if (dof < 0.0 && allcount > 0.0)
|
||||||
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
scalar *= tfactor;
|
scalar *= tfactor;
|
||||||
return scalar;
|
return scalar;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -70,11 +70,9 @@ void ComputeTempCOM::setup()
|
|||||||
void ComputeTempCOM::dof_compute()
|
void ComputeTempCOM::dof_compute()
|
||||||
{
|
{
|
||||||
adjust_dof_fix();
|
adjust_dof_fix();
|
||||||
double natoms = group->count(igroup);
|
natoms_temp = group->count(igroup);
|
||||||
dof = domain->dimension * natoms;
|
dof = domain->dimension * natoms_temp;
|
||||||
dof -= extra_dof + fix_dof;
|
dof -= extra_dof + fix_dof;
|
||||||
if (dof < 0.0 && natoms > 0.0)
|
|
||||||
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
|
||||||
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
||||||
else tfactor = 0.0;
|
else tfactor = 0.0;
|
||||||
}
|
}
|
||||||
@ -113,6 +111,8 @@ double ComputeTempCOM::compute_scalar()
|
|||||||
|
|
||||||
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
||||||
if (dynamic) dof_compute();
|
if (dynamic) dof_compute();
|
||||||
|
if (dof < 0.0 && natoms_temp > 0.0)
|
||||||
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
scalar *= tfactor;
|
scalar *= tfactor;
|
||||||
return scalar;
|
return scalar;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -96,11 +96,9 @@ void ComputeTempDeform::setup()
|
|||||||
void ComputeTempDeform::dof_compute()
|
void ComputeTempDeform::dof_compute()
|
||||||
{
|
{
|
||||||
adjust_dof_fix();
|
adjust_dof_fix();
|
||||||
double natoms = group->count(igroup);
|
natoms_temp = group->count(igroup);
|
||||||
dof = domain->dimension * natoms;
|
dof = domain->dimension * natoms_temp;
|
||||||
dof -= extra_dof + fix_dof;
|
dof -= extra_dof + fix_dof;
|
||||||
if (dof < 0.0 && natoms > 0.0)
|
|
||||||
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
|
||||||
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
||||||
else tfactor = 0.0;
|
else tfactor = 0.0;
|
||||||
}
|
}
|
||||||
@ -150,6 +148,8 @@ double ComputeTempDeform::compute_scalar()
|
|||||||
|
|
||||||
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
||||||
if (dynamic) dof_compute();
|
if (dynamic) dof_compute();
|
||||||
|
if (dof < 0.0 && natoms_temp > 0.0)
|
||||||
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
scalar *= tfactor;
|
scalar *= tfactor;
|
||||||
return scalar;
|
return scalar;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -74,9 +74,9 @@ void ComputeTempPartial::setup()
|
|||||||
void ComputeTempPartial::dof_compute()
|
void ComputeTempPartial::dof_compute()
|
||||||
{
|
{
|
||||||
adjust_dof_fix();
|
adjust_dof_fix();
|
||||||
double natoms = group->count(igroup);
|
natoms_temp = group->count(igroup);
|
||||||
int nper = xflag+yflag+zflag;
|
int nper = xflag+yflag+zflag;
|
||||||
dof = nper * natoms;
|
dof = nper * natoms_temp;
|
||||||
dof -= (1.0*nper/domain->dimension)*fix_dof + extra_dof;
|
dof -= (1.0*nper/domain->dimension)*fix_dof + extra_dof;
|
||||||
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
||||||
else tfactor = 0.0;
|
else tfactor = 0.0;
|
||||||
@ -119,7 +119,7 @@ double ComputeTempPartial::compute_scalar()
|
|||||||
|
|
||||||
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
||||||
if (dynamic) dof_compute();
|
if (dynamic) dof_compute();
|
||||||
if (tfactor == 0.0 && atom->natoms != 0)
|
if (dof < 0.0 && natoms_temp > 0.0)
|
||||||
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
scalar *= tfactor;
|
scalar *= tfactor;
|
||||||
return scalar;
|
return scalar;
|
||||||
|
|||||||
@ -195,11 +195,9 @@ void ComputeTempProfile::setup()
|
|||||||
void ComputeTempProfile::dof_compute()
|
void ComputeTempProfile::dof_compute()
|
||||||
{
|
{
|
||||||
adjust_dof_fix();
|
adjust_dof_fix();
|
||||||
double natoms = group->count(igroup);
|
natoms_temp = group->count(igroup);
|
||||||
dof = domain->dimension * natoms;
|
dof = domain->dimension * natoms_temp;
|
||||||
dof -= extra_dof + fix_dof;
|
dof -= extra_dof + fix_dof;
|
||||||
if (dof < 0.0 && natoms > 0.0)
|
|
||||||
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
|
||||||
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
||||||
else tfactor = 0.0;
|
else tfactor = 0.0;
|
||||||
}
|
}
|
||||||
@ -243,6 +241,8 @@ double ComputeTempProfile::compute_scalar()
|
|||||||
|
|
||||||
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
||||||
if (dynamic) dof_compute();
|
if (dynamic) dof_compute();
|
||||||
|
if (dof < 0.0 && natoms_temp > 0.0)
|
||||||
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
scalar *= tfactor;
|
scalar *= tfactor;
|
||||||
return scalar;
|
return scalar;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -126,11 +126,9 @@ void ComputeTempRamp::setup()
|
|||||||
void ComputeTempRamp::dof_compute()
|
void ComputeTempRamp::dof_compute()
|
||||||
{
|
{
|
||||||
adjust_dof_fix();
|
adjust_dof_fix();
|
||||||
double natoms = group->count(igroup);
|
natoms_temp = group->count(igroup);
|
||||||
dof = domain->dimension * natoms;
|
dof = domain->dimension * natoms_temp;
|
||||||
dof -= extra_dof + fix_dof;
|
dof -= extra_dof + fix_dof;
|
||||||
if (dof < 0.0 && natoms > 0.0)
|
|
||||||
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
|
||||||
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
||||||
else tfactor = 0.0;
|
else tfactor = 0.0;
|
||||||
}
|
}
|
||||||
@ -172,6 +170,8 @@ double ComputeTempRamp::compute_scalar()
|
|||||||
|
|
||||||
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
||||||
if (dynamic) dof_compute();
|
if (dynamic) dof_compute();
|
||||||
|
if (dof < 0.0 && natoms_temp > 0.0)
|
||||||
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
scalar *= tfactor;
|
scalar *= tfactor;
|
||||||
return scalar;
|
return scalar;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -136,6 +136,8 @@ double ComputeTempRegion::compute_scalar()
|
|||||||
tarray[1] = t;
|
tarray[1] = t;
|
||||||
MPI_Allreduce(tarray,tarray_all,2,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(tarray,tarray_all,2,MPI_DOUBLE,MPI_SUM,world);
|
||||||
dof = domain->dimension * tarray_all[0] - extra_dof;
|
dof = domain->dimension * tarray_all[0] - extra_dof;
|
||||||
|
if (dof < 0.0 && tarray_all[0] > 0.0)
|
||||||
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
if (dof > 0) scalar = force->mvv2e * tarray_all[1] / (dof * force->boltz);
|
if (dof > 0) scalar = force->mvv2e * tarray_all[1] / (dof * force->boltz);
|
||||||
else scalar = 0.0;
|
else scalar = 0.0;
|
||||||
return scalar;
|
return scalar;
|
||||||
|
|||||||
@ -125,7 +125,7 @@ void ComputeTempSphere::dof_compute()
|
|||||||
int count,count_all;
|
int count,count_all;
|
||||||
|
|
||||||
adjust_dof_fix();
|
adjust_dof_fix();
|
||||||
double natoms = group->count(igroup);
|
natoms_temp = group->count(igroup);
|
||||||
|
|
||||||
// 6 or 3 dof for extended/point particles for 3d
|
// 6 or 3 dof for extended/point particles for 3d
|
||||||
// 3 or 2 dof for extended/point particles for 2d
|
// 3 or 2 dof for extended/point particles for 2d
|
||||||
@ -166,7 +166,7 @@ void ComputeTempSphere::dof_compute()
|
|||||||
// additional adjustments to dof
|
// additional adjustments to dof
|
||||||
|
|
||||||
if (tempbias == 1) {
|
if (tempbias == 1) {
|
||||||
if (mode == ALL) dof -= tbias->dof_remove(-1) * natoms;
|
if (mode == ALL) dof -= tbias->dof_remove(-1) * natoms_temp;
|
||||||
|
|
||||||
} else if (tempbias == 2) {
|
} else if (tempbias == 2) {
|
||||||
int *mask = atom->mask;
|
int *mask = atom->mask;
|
||||||
@ -206,8 +206,6 @@ void ComputeTempSphere::dof_compute()
|
|||||||
}
|
}
|
||||||
|
|
||||||
dof -= extra_dof + fix_dof;
|
dof -= extra_dof + fix_dof;
|
||||||
if (dof < 0.0 && natoms > 0.0)
|
|
||||||
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
|
||||||
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz);
|
||||||
else tfactor = 0.0;
|
else tfactor = 0.0;
|
||||||
}
|
}
|
||||||
@ -252,6 +250,8 @@ double ComputeTempSphere::compute_scalar()
|
|||||||
|
|
||||||
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world);
|
||||||
if (dynamic || tempbias == 2) dof_compute();
|
if (dynamic || tempbias == 2) dof_compute();
|
||||||
|
if (dof < 0.0 && natoms_temp > 0.0)
|
||||||
|
error->all(FLERR,"Temperature compute degrees of freedom < 0");
|
||||||
scalar *= tfactor;
|
scalar *= tfactor;
|
||||||
return scalar;
|
return scalar;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user