diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 14961209c8..f4a8b9c1ef 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -295,6 +295,7 @@ set(STANDARD_PACKAGES REACTION REAXFF REPLICA + RHEO RIGID SCAFACOS SHOCK diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 3d5ee95b3d..64cc88d669 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -83,6 +83,7 @@ set(ALL_PACKAGES REACTION REAXFF REPLICA + RHEO RIGID SCAFACOS SHOCK diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 474051f6ec..ac721b30fd 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -85,6 +85,7 @@ set(ALL_PACKAGES REACTION REAXFF REPLICA + RHEO RIGID SCAFACOS SHOCK diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index 6c6170acd3..ec21809edd 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -67,6 +67,7 @@ set(WIN_PACKAGES REACTION REAXFF REPLICA + RHEO RIGID SHOCK SMTBQ diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 00c74c81b8..2a2cac2755 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -58,6 +58,7 @@ set(ALL_PACKAGES REACTION REAXFF REPLICA + RHEO RIGID SHOCK SPH diff --git a/cmake/presets/windows.cmake b/cmake/presets/windows.cmake index aa9a4656af..9253d439a8 100644 --- a/cmake/presets/windows.cmake +++ b/cmake/presets/windows.cmake @@ -56,6 +56,7 @@ set(WIN_PACKAGES REACTION REAXFF REPLICA + RHEO RIGID SHOCK SMTBQ diff --git a/src/.gitignore b/src/.gitignore index ac4a776cfc..d0fcaf495c 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -197,6 +197,31 @@ /pair_tdpd.cpp /pair_tdpd.h +/atom_vec_rheo.cpp +/atom_vec_rheo.h +/compute_rheo_grad.cpp +/compute_rheo_grad.h +/compute_rheo_interface.cpp +/compute_rheo_interface.h +/compute_rheo_kernel.cpp +/compute_rheo_kernel.h +/compute_rheo_rho_sum.cpp +/compute_rheo_rho_sum.h +/compute_rheo_surface.cpp +/compute_rheo_surface.h +/compute_rheo_vshift.cpp +/compute_rheo_vshift.h +/fix_rheo.cpp +/fix_rheo.h +/fix_rheo_pressure.cpp +/fix_rheo_pressure.h +/fix_rheo_thermal.cpp +/fix_rheo_thermal.h +/fix_rheo_viscosity.cpp +/fix_rheo_viscosity.h +/pair_rheo.cpp +/pair_rheo.h + /compute_grid.cpp /compute_grid.h /compute_grid_local.cpp diff --git a/src/RHEO/compute_rheo_grad.h b/src/RHEO/compute_rheo_grad.h index ee4b4a5bd6..4c2461c73f 100644 --- a/src/RHEO/compute_rheo_grad.h +++ b/src/RHEO/compute_rheo_grad.h @@ -42,13 +42,13 @@ class ComputeRHEOGrad : public Compute { double **gradr; double **gradt; double **gradn; + class FixRHEO *fix_rheo; private: int comm_stage, ncomm_grad, ncomm_field, nmax_old; double cut, cutsq, rho0; class NeighList *list; - class FixRHEO *fix_rheo; class ComputeRHEOKernel *compute_kernel; class ComputeRHEOInterface *compute_interface; diff --git a/src/RHEO/compute_rheo_interface.h b/src/RHEO/compute_rheo_interface.h index cdb2eb6c54..04733ff334 100644 --- a/src/RHEO/compute_rheo_interface.h +++ b/src/RHEO/compute_rheo_interface.h @@ -41,6 +41,7 @@ class ComputeRHEOInterface : public Compute { void store_forces(); double *chi, **f_pressure; + class FixRHEO *fix_rheo; private: int nmax_old, comm_stage; @@ -50,7 +51,6 @@ class ComputeRHEOInterface : public Compute { char *id_fix_pa; class NeighList *list; - class FixRHEO *fix_rheo; class ComputeRHEOKernel *compute_kernel; }; diff --git a/src/RHEO/compute_rheo_kernel.h b/src/RHEO/compute_rheo_kernel.h index 4fbdb966b4..19062e483b 100644 --- a/src/RHEO/compute_rheo_kernel.h +++ b/src/RHEO/compute_rheo_kernel.h @@ -45,6 +45,7 @@ class ComputeRHEOKernel : public Compute { double dWij[3], dWji[3], Wij, Wji; int correction_order; int *coordination; + class FixRHEO *fix_rheo; private: int comm_stage, comm_forward_save; @@ -60,7 +61,6 @@ class ComputeRHEOKernel : public Compute { class NeighList *list; class ComputeRHEOInterface *compute_interface; - class FixRHEO *fix_rheo; int check_corrections(int); diff --git a/src/RHEO/compute_rheo_rho_sum.h b/src/RHEO/compute_rheo_rho_sum.h index a411d5ed29..6ec2547b95 100644 --- a/src/RHEO/compute_rheo_rho_sum.h +++ b/src/RHEO/compute_rheo_rho_sum.h @@ -36,11 +36,12 @@ class ComputeRHEORhoSum : public Compute { int pack_reverse_comm(int, int, double *) override; void unpack_reverse_comm(int, int *, double *) override; + class FixRHEO *fix_rheo; + private: double cut, cutsq; class NeighList *list; - class FixRHEO *fix_rheo; class ComputeRHEOKernel *compute_kernel; }; diff --git a/src/RHEO/compute_rheo_surface.h b/src/RHEO/compute_rheo_surface.h index 00cfb56b31..224b2594a1 100644 --- a/src/RHEO/compute_rheo_surface.h +++ b/src/RHEO/compute_rheo_surface.h @@ -37,6 +37,7 @@ class ComputeRHEOSurface : public Compute { void unpack_forward_comm(int, int, double *) override; double **nsurface, **rsurface; + class FixRHEO *fix_rheo; private: double cut, cutsq, rho0, threshold_divr; @@ -45,7 +46,6 @@ class ComputeRHEOSurface : public Compute { int threshold_style, comm_stage; class NeighList *list; - class FixRHEO *fix_rheo; class ComputeRHEOKernel *compute_kernel; class ComputeRHEOSolids *compute_solids; }; diff --git a/src/RHEO/compute_rheo_vshift.h b/src/RHEO/compute_rheo_vshift.h index e76476e7fd..88a9cdcd1d 100644 --- a/src/RHEO/compute_rheo_vshift.h +++ b/src/RHEO/compute_rheo_vshift.h @@ -37,13 +37,14 @@ class ComputeRHEOVShift : public Compute { void correct_surfaces(); double **vshift; + class FixRHEO *fix_rheo; + private: int nmax_old; double dtv, cut, cutsq, cutthird; int surface_flag; class NeighList *list; - class FixRHEO *fix_rheo; class ComputeRHEOInterface *compute_interface ; class ComputeRHEOKernel *compute_kernel; }; diff --git a/src/RHEO/fix_rheo.cpp b/src/RHEO/fix_rheo.cpp index e2f9467b34..2b55320c4e 100644 --- a/src/RHEO/fix_rheo.cpp +++ b/src/RHEO/fix_rheo.cpp @@ -23,7 +23,7 @@ #include "compute_rheo_interface.h" #include "compute_rheo_surface.h" #include "compute_rheo_kernel.h" -#include "compute_rheo_rhosum.h" +#include "compute_rheo_rho_sum.h" #include "compute_rheo_vshift.h" #include "domain.h" #include "error.h" @@ -46,7 +46,6 @@ FixRHEO::FixRHEO(LAMMPS *lmp, int narg, char **arg) : viscosity_fix_defined = 0; pressure_fix_defined = 0; thermal_fix_defined = 0; - surface_fix_defined = 0; thermal_flag = 0; rhosum_flag = 0; @@ -104,9 +103,6 @@ FixRHEO::FixRHEO(LAMMPS *lmp, int narg, char **arg) : interface_flag = 1; } else if (strcmp(arg[iarg],"rhosum") == 0) { rhosum_flag = 1; - if(iarg + 1 >= narg) error->all(FLERR,"Illegal rhosum option in fix rheo"); - rhosum_zmin = utils::inumeric(FLERR,arg[iarg + 1],false,lmp); - iarg += 1; } else if (strcmp(arg[iarg],"rho0") == 0) { if(iarg + 1 >= narg) error->all(FLERR,"Illegal rho0 option in fix rheo"); rho0 = utils::numeric(FLERR,arg[iarg + 1],false,lmp); @@ -207,7 +203,7 @@ void FixRHEO::setup_pre_force(int /*vflag*/) /* ---------------------------------------------------------------------- */ -void FixRHEO::setup() +void FixRHEO::setup(int /*vflag*/) { // Confirm all accessory fixes are defined // Note: these fixes set this flag in setup_pre_force() diff --git a/src/RHEO/fix_rheo.h b/src/RHEO/fix_rheo.h index d2097ade71..0064f4c90b 100644 --- a/src/RHEO/fix_rheo.h +++ b/src/RHEO/fix_rheo.h @@ -32,7 +32,7 @@ class FixRHEO : public Fix { void post_constructor() override; void init() override; void setup_pre_force(int) override; - void setup() override; + void setup(int) override; void pre_force(int) override; void initial_integrate(int) override; void final_integrate() override; @@ -40,7 +40,7 @@ class FixRHEO : public Fix { // Model parameters double h, rho0, csq; - int zmin_kernel, zmin_rhosum, zmin_surface; + int zmin_kernel, zmin_surface; int kernel_style, surface_style; double divr_surface; enum {QUINTIC, CRK0, CRK1, CRK2}; @@ -52,7 +52,7 @@ class FixRHEO : public Fix { STATUS_FLUID = 1 << 0, STATUS_REACTIVE = 1 << 1, STATUS_SOLID = 1 << 2, - STATUS_FREEZING = 1 << 3 + STATUS_FREEZING = 1 << 3, // Surface status STATUS_BULK = 1 << 4, @@ -62,10 +62,10 @@ class FixRHEO : public Fix { // Temporary status options - reset in preforce STATUS_SHIFT = 1 << 8, - STATUS_NO_FORCE = 1 << 9, + STATUS_NO_FORCE = 1 << 9 }; - int phasemask = FFFFFFF0; - int surfacemask = FFFFFF0F; + int phasemask = 0xFFFFFFF0; + int surfacemask = 0xFFFFFF0F; // Accessory fixes/computes int thermal_flag;