diff --git a/src/EXTRA-FIX/fix_ttm_mod.cpp b/src/EXTRA-FIX/fix_ttm_mod.cpp index 335acdd853..6ad3ca1b0a 100644 --- a/src/EXTRA-FIX/fix_ttm_mod.cpp +++ b/src/EXTRA-FIX/fix_ttm_mod.cpp @@ -74,14 +74,13 @@ static constexpr double SHIFT = 0.0; /* ---------------------------------------------------------------------- */ FixTTMMod::FixTTMMod(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - random(nullptr), gfactor1(nullptr), gfactor2(nullptr), ratio(nullptr), flangevin(nullptr), - T_electron(nullptr), T_electron_old(nullptr), net_energy_transfer(nullptr), - net_energy_transfer_all(nullptr) + Fix(lmp, narg, arg), infile(nullptr), outfile(nullptr), random(nullptr), gfactor1(nullptr), + gfactor2(nullptr), ratio(nullptr), flangevin(nullptr), T_electron(nullptr), + T_electron_old(nullptr), net_energy_transfer(nullptr), net_energy_transfer_all(nullptr) { if (lmp->citeme) lmp->citeme->add(cite_fix_ttm_mod); - if (narg < 8) error->all(FLERR,"Illegal fix ttm/mod command"); + if (narg < 8) utils::missing_cmd_args(FLERR, "fix ttm/mod", error); vector_flag = 1; size_vector = 2; @@ -103,27 +102,29 @@ FixTTMMod::FixTTMMod(LAMMPS *lmp, int narg, char **arg) : int iarg = 8; while (iarg < narg) { if (strcmp(arg[iarg],"set") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ttm/mod command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ttm/mod set", error); tinit = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (tinit <= 0.0) error->all(FLERR,"Fix ttm/mod initial temperature must be > 0.0"); iarg += 2; } else if (strcmp(arg[iarg],"infile") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ttm/mod command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ttm/mod infile", error); + delete[] infile; infile = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"outfile") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix ttm/mod command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix ttm/mod outfile", error); + delete[] outfile; outevery = utils::inumeric(FLERR,arg[iarg+1],false,lmp); outfile = utils::strdup(arg[iarg+2]); iarg += 3; - } else error->all(FLERR,"Illegal fix ttm/mod command"); + } else error->all(FLERR,"Unknown fix ttm/mod keyword {}", arg[iarg]); } // error check if (seed <= 0) - error->all(FLERR,"Invalid random number seed in fix ttm/mod command"); + error->all(FLERR,"Invalid random number seed {} in fix ttm/mod command", seed); if (nxgrid <= 0 || nygrid <= 0 || nzgrid <= 0) error->all(FLERR,"Fix ttm/mod grid sizes must be > 0"); @@ -152,7 +153,8 @@ FixTTMMod::FixTTMMod(LAMMPS *lmp, int narg, char **arg) : if (v_0 < 0.0) error->all(FLERR,"Fix ttm/mod v_0 must be >= 0.0"); if (ionic_density <= 0.0) error->all(FLERR,"Fix ttm/mod ionic_density must be > 0.0"); if (surface_l < 0) error->all(FLERR,"Surface coordinates must be >= 0"); - if (surface_l >= surface_r) error->all(FLERR, "Left surface coordinate must be less than right surface coordinate"); + if (surface_l >= surface_r) + error->all(FLERR, "Left surface coordinate must be less than right surface coordinate"); // initialize Marsaglia RNG with processor-unique seed @@ -168,10 +170,8 @@ FixTTMMod::FixTTMMod(LAMMPS *lmp, int narg, char **arg) : memory->create(T_electron_old,nzgrid,nygrid,nxgrid,"ttm/mod:T_electron_old"); memory->create(T_electron_first,nzgrid,nygrid,nxgrid,"ttm/mod:T_electron_first"); memory->create(T_electron,nzgrid,nygrid,nxgrid,"ttm/mod:T_electron"); - memory->create(net_energy_transfer,nzgrid,nygrid,nxgrid, - "ttm/mod:net_energy_transfer"); - memory->create(net_energy_transfer_all,nzgrid,nygrid,nxgrid, - "ttm/mod:net_energy_transfer_all"); + memory->create(net_energy_transfer,nzgrid,nygrid,nxgrid,"ttm/mod:net_energy_transfer"); + memory->create(net_energy_transfer_all,nzgrid,nygrid,nxgrid,"ttm/mod:net_energy_transfer_all"); flangevin = nullptr; grow_arrays(atom->nmax); diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 3336a8a4d7..4832f07849 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -163,6 +163,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"region") == 0) { if (narg < iarg+2) error->all(FLERR,"Illegal fix wall/gran command"); wallstyle = REGION; + delete[] idregion; idregion = utils::strdup(arg[iarg+1]); iarg += 2; // This option is only compatible with fix wall/gran/region @@ -205,6 +206,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"temperature") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall/gran command"); if (utils::strmatch(arg[iarg+1], "^v_")) { + delete[] tstr; tstr = utils::strdup(arg[iarg+1] + 2); } else { Twall = utils::numeric(FLERR,arg[iarg+1],false,lmp); diff --git a/src/dump_image.cpp b/src/dump_image.cpp index 9610ef4d9a..abf4d366d5 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -184,12 +184,12 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : char *id; int igrid,idata,index; - int iflag = - utils::check_grid_reference((char *) "Dump image", - arg[iarg+1],nevery,id, - igrid,idata,index,lmp); + int iflag = utils::check_grid_reference((char *) "Dump image", arg[iarg+1], nevery, id, + igrid,idata,index,lmp); if (iflag < 0) error->all(FLERR,"Invalid grid reference in dump image command"); + delete[] id_grid_compute; + delete[] id_grid_fix; if (iflag == ArgInfo::COMPUTE) id_grid_compute = utils::strdup(id); else if (iflag == ArgInfo::FIX) id_grid_fix = utils::strdup(id); delete[] id; @@ -252,6 +252,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"view") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal dump image command"); if (utils::strmatch(arg[iarg+1],"^v_")) { + delete[] thetastr; thetastr = utils::strdup(arg[iarg+1]+2); } else { const double theta = utils::numeric(FLERR,arg[iarg+1],false,lmp); @@ -260,6 +261,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : image->theta = DEG2RAD * theta; } if (utils::strmatch(arg[iarg+2],"^v_")) { + delete[] phistr; phistr = utils::strdup(arg[iarg+2]+2); } else { image->phi = DEG2RAD * utils::numeric(FLERR,arg[iarg+2],false,lmp); @@ -272,14 +274,17 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[iarg+1],"d") == 0) cflag = DYNAMIC; else error->all(FLERR,"Illegal dump image command"); if (utils::strmatch(arg[iarg+2],"^v_")) { + delete[] cxstr; cxstr = utils::strdup(arg[iarg+2]+2); cflag = DYNAMIC; } else cx = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (utils::strmatch(arg[iarg+3],"^v_")) { + delete[] cystr; cystr = utils::strdup(arg[iarg+3]+2); cflag = DYNAMIC; } else cy = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (utils::strmatch(arg[iarg+4],"^v_")) { + delete[] czstr; czstr = utils::strdup(arg[iarg+4]+2); cflag = DYNAMIC; } else cz = utils::numeric(FLERR,arg[iarg+4],false,lmp); @@ -288,12 +293,15 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"up") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal dump image command"); if (utils::strmatch(arg[iarg+1],"^v_")) { + delete[] upxstr; upxstr = utils::strdup(arg[iarg+1]+2); } else image->up[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (utils::strmatch(arg[iarg+2],"^v_")) { + delete[] upystr; upystr = utils::strdup(arg[iarg+2]+2); } else image->up[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (utils::strmatch(arg[iarg+3],"^v_")) { + delete[] upzstr; upzstr = utils::strdup(arg[iarg+3]+2); } else image->up[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; @@ -301,6 +309,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"zoom") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal dump image command"); if (utils::strmatch(arg[iarg+1],"^v_")) { + delete[] zoomstr; zoomstr = utils::strdup(arg[iarg+1]+2); } else { double zoom = utils::numeric(FLERR,arg[iarg+1],false,lmp); diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 1b69c5644c..471d4191e7 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -42,19 +42,20 @@ enum{DISCARD,KEEP}; static constexpr int OFFSET = 16384; +// clang-format on /* ---------------------------------------------------------------------- */ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), id_bias(nullptr), which(nullptr), argindex(nullptr), ids(nullptr), - value2index(nullptr), value2grid(nullptr), value2data(nullptr), grid2d(nullptr), grid3d(nullptr), - grid_buf1(nullptr), grid_buf2(nullptr), grid_output(nullptr), grid_sample(nullptr), - grid_nfreq(nullptr), grid_running(nullptr), grid_window(nullptr), grid2d_previous(nullptr), - grid3d_previous(nullptr), grid_sample_previous(nullptr), grid_nfreq_previous(nullptr), - grid_running_previous(nullptr), grid_window_previous(nullptr), bin(nullptr), skip(nullptr), - vresult(nullptr) + Fix(lmp, narg, arg), id_bias(nullptr), which(nullptr), argindex(nullptr), ids(nullptr), + value2index(nullptr), value2grid(nullptr), value2data(nullptr), grid2d(nullptr), + grid3d(nullptr), grid_buf1(nullptr), grid_buf2(nullptr), grid_output(nullptr), + grid_sample(nullptr), grid_nfreq(nullptr), grid_running(nullptr), grid_window(nullptr), + grid2d_previous(nullptr), grid3d_previous(nullptr), grid_sample_previous(nullptr), + grid_nfreq_previous(nullptr), grid_running_previous(nullptr), grid_window_previous(nullptr), + bin(nullptr), skip(nullptr), vresult(nullptr) { - if (narg < 10) utils::missing_cmd_args(FLERR,"fix ave/grid", error); - + if (narg < 10) utils::missing_cmd_args(FLERR, "fix ave/grid", error); + // clang-format off pergrid_flag = 1; nevery = utils::inumeric(FLERR,arg[3],false,lmp); nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); @@ -193,7 +194,6 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : aveflag = ONE; nwindow = 0; biasflag = 0; - id_bias = nullptr; adof = domain->dimension; cdof = 0.0; @@ -231,6 +231,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > nargnew) error->all(FLERR,"Illegal fix ave/grid command"); biasflag = 1; + delete[] id_bias; id_bias = utils::strdup(arg[iarg+1]); iarg += 2; @@ -347,11 +348,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // vresult for per-atom variable evaluation maxatom = 0; - bin = nullptr; - skip = nullptr; - maxvar = 0; - vresult = nullptr; // nvalid = next step on which end_of_step does something // add nvalid to all computes that store invocation times @@ -372,6 +369,7 @@ FixAveGrid::~FixAveGrid() delete[] argindex; for (int m = 0; m < nvalues; m++) delete[] ids[m]; delete[] ids; + delete[] id_bias; delete[] value2index; delete[] value2grid; delete[] value2data;