git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15459 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2016-08-08 13:47:55 +00:00
parent 0029040f11
commit 056ff192c6
11 changed files with 38 additions and 83 deletions

View File

@ -79,18 +79,20 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) :
// this can reset nvalues
int expand = 0;
char **earg,**arghold;
char **earg;
nvalues = input->expand_args(nvalues,&arg[6],mode,earg);
if (earg != &arg[6]) expand = 1;
arghold = arg;
arg = earg;
// parse values
which = argindex = value2index = offcol = varlen = NULL;
ids = NULL;
allocate_values(nvalues);
which = new int[nvalues];
argindex = new int[nvalues];
value2index = new int[nvalues];
offcol = new int[nvalues];
varlen = new int[nvalues];
ids = new char*[nvalues];
for (int i = 0; i < nvalues; i++) {
if (arg[i][0] == 'c') which[i] = COMPUTE;
@ -293,7 +295,6 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) :
if (expand) {
for (int i = 0; i < nvalues; i++) delete [] earg[i];
memory->sfree(earg);
arg = arghold;
}
// allocate memory for averaging
@ -455,13 +456,13 @@ FixAveTime::~FixAveTime()
delete [] format_user;
memory->destroy(which);
memory->destroy(argindex);
memory->destroy(value2index);
memory->destroy(offcol);
memory->destroy(varlen);
delete [] which;
delete [] argindex;
delete [] value2index;
delete [] offcol;
delete [] varlen;
for (int i = 0; i < nvalues; i++) delete [] ids[i];
memory->sfree(ids);
delete [] ids;
delete [] extlist;
@ -1105,20 +1106,6 @@ void FixAveTime::options(int iarg, int narg, char **arg)
}
}
/* ----------------------------------------------------------------------
reallocate vectors for N input values
------------------------------------------------------------------------- */
void FixAveTime::allocate_values(int n)
{
memory->grow(which,n,"ave/time:which");
memory->grow(argindex,n,"ave/time:argindex");
memory->grow(value2index,n,"ave/time:value2index");
memory->grow(offcol,n,"ave/time:offcol");
memory->grow(varlen,n,"ave/time:varlen");
ids = (char **) memory->srealloc(ids,n*sizeof(char *),"ave/time:ids");
}
/* ----------------------------------------------------------------------
reallocate arrays for mode = VECTOR of size Nrows x Nvalues
------------------------------------------------------------------------- */