Merge pull request #3052 from lammps/time-dumps2
Time-dependent dumps for variable timestep (alternate implementation)
This commit is contained in:
30
src/dump.cpp
30
src/dump.cpp
@ -918,11 +918,6 @@ void Dump::modify_params(int narg, char **arg)
|
||||
else delay_flag = 0;
|
||||
iarg += 2;
|
||||
|
||||
} else if (strcmp(arg[iarg],"header") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
|
||||
header_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
|
||||
} else if (strcmp(arg[iarg],"every") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
|
||||
int idump;
|
||||
@ -937,9 +932,28 @@ void Dump::modify_params(int narg, char **arg)
|
||||
n = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
|
||||
if (n <= 0) error->all(FLERR,"Illegal dump_modify command");
|
||||
}
|
||||
output->mode_dump[idump] = 0;
|
||||
output->every_dump[idump] = n;
|
||||
iarg += 2;
|
||||
|
||||
} else if (strcmp(arg[iarg],"every/time") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
|
||||
int idump;
|
||||
for (idump = 0; idump < output->ndump; idump++)
|
||||
if (strcmp(id,output->dump[idump]->id) == 0) break;
|
||||
double delta;
|
||||
if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) {
|
||||
delete [] output->var_dump[idump];
|
||||
output->var_dump[idump] = utils::strdup(&arg[iarg+1][2]);
|
||||
delta = 0.0;
|
||||
} else {
|
||||
delta = utils::numeric(FLERR,arg[iarg+1],false,lmp);
|
||||
if (delta <= 0.0) error->all(FLERR,"Illegal dump_modify command");
|
||||
}
|
||||
output->mode_dump[idump] = 1;
|
||||
output->every_time_dump[idump] = delta;
|
||||
iarg += 2;
|
||||
|
||||
} else if (strcmp(arg[iarg],"fileper") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
|
||||
if (!multiproc)
|
||||
@ -1007,6 +1021,11 @@ void Dump::modify_params(int narg, char **arg)
|
||||
iarg += n;
|
||||
}
|
||||
|
||||
} else if (strcmp(arg[iarg],"header") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
|
||||
header_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
|
||||
} else if (strcmp(arg[iarg],"maxfiles") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
|
||||
if (!multifile)
|
||||
@ -1113,6 +1132,7 @@ double Dump::compute_time()
|
||||
{
|
||||
return update->atime + (update->ntimestep - update->atimestep)*update->dt;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
return # of bytes of allocated memory
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
Reference in New Issue
Block a user