diff --git a/src/compute.h b/src/compute.h index 69bf3cda75..2433e3ddb6 100644 --- a/src/compute.h +++ b/src/compute.h @@ -102,6 +102,7 @@ class Compute : protected Pointers { virtual int pack_reverse_comm(int, int, double *) {return 0;} virtual void unpack_reverse_comm(int, int *, double *) {} + virtual void dof_remove_pre() {} virtual int dof_remove(int) {return 0;} virtual void remove_bias(int, double *) {} virtual void remove_bias_all() {} diff --git a/src/compute_temp_region.cpp b/src/compute_temp_region.cpp index cc7f79111b..833ed0d5c3 100644 --- a/src/compute_temp_region.cpp +++ b/src/compute_temp_region.cpp @@ -80,6 +80,13 @@ void ComputeTempRegion::setup() /* ---------------------------------------------------------------------- */ +void ComputeTempRegion::dof_remove_pre() +{ + domain->regions[iregion]->prematch(); +} + +/* ---------------------------------------------------------------------- */ + int ComputeTempRegion::dof_remove(int i) { double *x = atom->x[i]; diff --git a/src/compute_temp_region.h b/src/compute_temp_region.h index d7808fb0bd..2489748f3e 100644 --- a/src/compute_temp_region.h +++ b/src/compute_temp_region.h @@ -33,6 +33,7 @@ class ComputeTempRegion : public Compute { virtual double compute_scalar(); virtual void compute_vector(); + void dof_remove_pre(); int dof_remove(int); void remove_bias(int, double *); void remove_bias_all(); diff --git a/src/compute_temp_sphere.cpp b/src/compute_temp_sphere.cpp index ec570d22e4..1c967f2a21 100644 --- a/src/compute_temp_sphere.cpp +++ b/src/compute_temp_sphere.cpp @@ -169,6 +169,8 @@ void ComputeTempSphere::dof_compute() int *mask = atom->mask; int nlocal = atom->nlocal; + tbias->dof_remove_pre(); + count = 0; if (domain->dimension == 3) { for (int i = 0; i < nlocal; i++)