Merge branch 'master' of https://github.com/charlessievers/lammps into fix_numerical_differentiation

This commit is contained in:
Sievers
2020-02-25 15:35:53 -07:00
6 changed files with 53 additions and 5 deletions

View File

@ -219,7 +219,17 @@ void Temper::command(int narg, char **arg)
timer->init_timeout();
update->integrate->run(nevery);
if (timer->is_timeout()) break;
// check for timeout across all procs
int my_timeout=0;
int any_timeout=0;
if (timer->is_timeout()) my_timeout=1;
MPI_Allreduce(&my_timeout, &any_timeout, 1, MPI_INT, MPI_SUM, universe->uworld);
if (any_timeout) {
timer->force_timeout();
break;
}
// compute PE
// notify compute it will be called at next swap

View File

@ -241,7 +241,17 @@ void TemperGrem::command(int narg, char **arg)
timer->init_timeout();
update->integrate->run(nevery);
if (timer->is_timeout()) break;
// check for timeout across all procs
int my_timeout=0;
int any_timeout=0;
if (timer->is_timeout()) my_timeout=1;
MPI_Allreduce(&my_timeout, &any_timeout, 1, MPI_INT, MPI_SUM, universe->uworld);
if (any_timeout) {
timer->force_timeout();
break;
}
// compute PE
// notify compute it will be called at next swap

View File

@ -220,7 +220,17 @@ void TemperNPT::command(int narg, char **arg)
timer->init_timeout();
update->integrate->run(nevery);
if (timer->is_timeout()) break;
// check for timeout across all procs
int my_timeout=0;
int any_timeout=0;
if (timer->is_timeout()) my_timeout=1;
MPI_Allreduce(&my_timeout, &any_timeout, 1, MPI_INT, MPI_SUM, universe->uworld);
if (any_timeout) {
timer->force_timeout();
break;
}
// compute PE
// notify compute it will be called at next swap

View File

@ -23,7 +23,9 @@
#include "atom.h"
#include "force.h"
#include "comm.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "memory.h"
#include "error.h"
#include "domain.h"
@ -238,7 +240,7 @@ void PairSDPDTaitwaterIsothermal::allocate () {
void PairSDPDTaitwaterIsothermal::settings (int narg, char **arg) {
if (narg != 2 && narg != 3)
error->all (FLERR, "Illegal number of arguments for "
"pair_style sdpd/taitwater/morris/isothermal");
"pair_style sdpd/taitwater/isothermal");
temperature = force->numeric (FLERR, arg[0]);
viscosity = force->numeric (FLERR, arg[1]);
@ -297,13 +299,26 @@ void PairSDPDTaitwaterIsothermal::coeff (int narg, char **arg) {
error->all(FLERR,"Incorrect args for pair coefficients");
}
/* ----------------------------------------------------------------------
init specific to this pair style
------------------------------------------------------------------------- */
void PairSDPDTaitwaterIsothermal::init_style()
{
if ((!atom->rho_flag) || (atom->drho == NULL))
error->all(FLERR,"Pair style dpd/taitwater/isothermal requires atom "
"attributes rho and drho");
neighbor->request(this,instance_me);
}
/* ----------------------------------------------------------------------
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
double PairSDPDTaitwaterIsothermal::init_one (int i, int j) {
if (setflag[i][j] == 0)
error->all(FLERR,"Not all pair sph/taitwater/morris coeffs are set");
error->all(FLERR,"Not all pair sdpd/taitwater/isothermal coeffs are set");
cut[j][i] = cut[i][j];

View File

@ -36,6 +36,7 @@ class PairSDPDTaitwaterIsothermal : public Pair {
void settings (int, char **);
void coeff (int, char **);
virtual double init_one (int, int);
virtual void init_style();
protected:
double viscosity, temperature;

View File

@ -175,6 +175,8 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp)
spin_flag = eradius_flag = ervel_flag = erforce_flag = ervelforce_flag = 0;
cs_flag = csforce_flag = vforce_flag = etag_flag = 0;
// USER-SPH, USER-MESO, and USER-DPD flags
rho_flag = e_flag = cv_flag = vest_flag = 0;
dpd_flag = edpd_flag = tdpd_flag = 0;