JDFTx  1.2.0
minimize.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------
2 Copyright 2014 Ravishankar Sundararaman
3 
4 This file is part of JDFTx.
5 
6 JDFTx is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10 
11 JDFTx is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with JDFTx. If not, see <http://www.gnu.org/licenses/>.
18 -------------------------------------------------------------------*/
19 
20 #ifndef JDFTX_COMMAND_MINIMIZE_H
21 #define JDFTX_COMMAND_MINIMIZE_H
22 
27 #include <commands/command.h>
28 #include <electronic/Everything.h>
29 
31 struct CommandMinimize : public Command
32 { CommandMinimize(string systemName, string path);
33  void process(ParamList& pl, Everything& e);
34  void printStatus(Everything& e, int iRep);
35 protected:
39  virtual MinimizeParams& target(Everything& e)=0;
40 };
41 
42 #endif // JDFTX_COMMAND_MINIMIZE_H
Provides the base class and various helpers for defining commands in the input file.
Parameters to control the minimization algorithm.
Definition: MinimizeParams.h:29
CommandMinimize(string systemName, string path)
provide a command called systemName-minimize in specified section
void printStatus(Everything &e, int iRep)
Print a command line that would result in the current status.
virtual MinimizeParams & target(Everything &e)=0
Derived class should specify where the parameters are stored.
Abstract base class for all the minimize commands.
Definition: minimize.h:31
Definition: Everything.h:41
Wrapper to std::istringstream that eases parsing of input file command lines.
Definition: ParamList.h:30
Abstract base class for all commands.
Definition: command.h:61
void process(ParamList &pl, Everything &e)
Process the command from its command line.