simplify fix generation for package commands

This commit is contained in:
Axel Kohlmeyer
2020-07-12 21:40:22 -04:00
parent db289ba0b3
commit f8ad39e7d1

View File

@ -1728,13 +1728,9 @@ void Input::package()
if (!modify->check_package("GPU")) if (!modify->check_package("GPU"))
error->all(FLERR,"Package gpu command without GPU package installed"); error->all(FLERR,"Package gpu command without GPU package installed");
char **fixarg = new char*[2+narg]; std::string fixcmd = "package_gpu all GPU";
fixarg[0] = (char *) "package_gpu"; for (int i = 1; i < narg; i++) fixcmd += std::string(" ") + arg[i];
fixarg[1] = (char *) "all"; modify->add_fix(fixcmd);
fixarg[2] = (char *) "GPU";
for (int i = 1; i < narg; i++) fixarg[i+2] = arg[i];
modify->add_fix(2+narg,fixarg);
delete [] fixarg;
} else if (strcmp(arg[0],"kokkos") == 0) { } else if (strcmp(arg[0],"kokkos") == 0) {
if (lmp->kokkos == NULL || lmp->kokkos->kokkos_exists == 0) if (lmp->kokkos == NULL || lmp->kokkos->kokkos_exists == 0)
@ -1747,26 +1743,18 @@ void Input::package()
error->all(FLERR, error->all(FLERR,
"Package omp command without USER-OMP package installed"); "Package omp command without USER-OMP package installed");
char **fixarg = new char*[2+narg]; std::string fixcmd = "package_omp all OMP";
fixarg[0] = (char *) "package_omp"; for (int i = 1; i < narg; i++) fixcmd += std::string(" ") + arg[i];
fixarg[1] = (char *) "all"; modify->add_fix(fixcmd);
fixarg[2] = (char *) "OMP";
for (int i = 1; i < narg; i++) fixarg[i+2] = arg[i];
modify->add_fix(2+narg,fixarg);
delete [] fixarg;
} else if (strcmp(arg[0],"intel") == 0) { } else if (strcmp(arg[0],"intel") == 0) {
if (!modify->check_package("INTEL")) if (!modify->check_package("INTEL"))
error->all(FLERR, error->all(FLERR,
"Package intel command without USER-INTEL package installed"); "Package intel command without USER-INTEL package installed");
char **fixarg = new char*[2+narg]; std::string fixcmd = "package_intel all INTEL";
fixarg[0] = (char *) "package_intel"; for (int i = 1; i < narg; i++) fixcmd += std::string(" ") + arg[i];
fixarg[1] = (char *) "all"; modify->add_fix(fixcmd);
fixarg[2] = (char *) "INTEL";
for (int i = 1; i < narg; i++) fixarg[i+2] = arg[i];
modify->add_fix(2+narg,fixarg);
delete [] fixarg;
} else error->all(FLERR,"Illegal package command"); } else error->all(FLERR,"Illegal package command");
} }