add deprecation handler for removed/renamed minimizer styles

This commit is contained in:
Axel Kohlmeyer
2023-01-20 19:05:50 -05:00
parent fd48702797
commit 02ab9bc67c
2 changed files with 83 additions and 0 deletions

44
src/min_deprecated.cpp Normal file
View File

@ -0,0 +1,44 @@
/* ----------------------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
https://www.lammps.org/, Sandia National Laboratories
LAMMPS development team: developers@lammps.org
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Axel Kohlmeyer (Temple U)
------------------------------------------------------------------------- */
#include "min_deprecated.h"
#include "comm.h"
#include "error.h"
#include "update.h"
using namespace LAMMPS_NS;
/* ---------------------------------------------------------------------- */
MinDeprecated::MinDeprecated(LAMMPS *_lmp) : Min(_lmp)
{
std::string my_style = update->minimize_style;
if (my_style == "DEPRECATED") {
if (lmp->comm->me == 0)
utils::logmesg(lmp, "\nMinimize style 'DEPRECATED' is a dummy style\n\n");
return;
}
if (my_style == "fire/old")
error->all(FLERR,
"Minimize style 'fire/old' has been removed from LAMMPS after "
"the 22 December 2022 version.\nERROR: Please use 'min_style fire'");
error->all(FLERR, "This minimize style is no longer available");
}

39
src/min_deprecated.h Normal file
View File

@ -0,0 +1,39 @@
/* -*- c++ -*- ----------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
https://www.lammps.org/, Sandia National Laboratories
LAMMPS development team: developers@lammps.org
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
#ifdef MINIMIZE_CLASS
// clang-format off
MinimizeStyle(DEPRECATED,MinDeprecated);
MinimizeStyle(fire/old,MinDeprecated);
// clang-format on
#else
#ifndef LMP_MIN_DEPRECATED_H
#define LMP_MIN_DEPRECATED_H
#include "min.h"
namespace LAMMPS_NS {
class MinDeprecated : public Min {
public:
MinDeprecated(class LAMMPS *);
void init() override {}
void setup_style() override {}
void reset_vectors() override {}
int iterate(int) override { return 0; }
};
} // namespace LAMMPS_NS
#endif
#endif