9#ifndef BALL_MOLMEC_MINIMIZATION_ENERGYMINIMIZER_H
10#define BALL_MOLMEC_MINIMIZATION_ENERGYMINIMIZER_H
12#ifndef BALL_DATATYPE_OPTIONS_H
16#ifndef BALL_MOLMEC_COMMON_GRADIENT_H
virtual bool isConverged() const
ForceField * force_field_
virtual double updateEnergy()
virtual void updateForces()
Size getEnergyUpdateCounter() const
void setSnapShotFrequency(Size snapshot_frequency)
Size energy_output_frequency_
Size getEnergyOutputFrequency() const
SnapShotManager * snapshot_
Size getMaxSameEnergy() const
bool abort_by_energy_enabled_
Size getMaxNumberOfIterations() const
float getMaximumDisplacement() const
virtual bool minimize(Size steps=0, bool resume=false)
Size same_energy_counter_
virtual void finishIteration()
Size force_update_counter_
bool setup(ForceField &force_field)
Size maximal_number_of_iterations_
bool energyAbortConditionEnabled() const
Query if the MDSimulation aborts if the Energy is greater than abort_energy_.
void setMaxSameEnergy(Size number)
float getEnergyToAbort() const
float getEnergyDifferenceBound() const
void setMaximumDisplacement(float maximum_displacement)
void setNumberOfIterations(Size number_of_iterations)
void setMaxGradient(float max_gradient)
Size number_of_iterations_
Gradient & getInitialGradient()
void setEnergyToAbort(float value)
void setEnergyDifferenceBound(float energy_difference_bound)
virtual bool specificSetup()
float getMaxGradient() const
Size getForceUpdateCounter() const
double getInitialEnergy() const
virtual void printEnergy() const
void enableEnergyAbortCondition(bool state)
void setMaxNumberOfIterations(Size number_of_iterations)
Size getNumberOfIterations() const
void storeGradientEnergy()
Size getSnapShotFrequency() const
double energy_difference_bound_
ForceField * getForceField()
void setEnergyOutputFrequency(Size energy_output_frequency)
Gradient & getDirection()
virtual void updateDirection()
virtual double findStep()
float maximum_displacement_
virtual void takeSnapShot() const
Size energy_update_counter_
#define BALL_CREATE(name)
static Size SNAPSHOT_FREQUENCY
static Size MAX_SAME_ENERGY
static Size MAXIMAL_NUMBER_OF_ITERATIONS
static Size ENERGY_OUTPUT_FREQUENCY
static float ENERGY_DIFFERENCE_BOUND
static Size NUMBER_OF_ITERATION
static float MAX_GRADIENT
static float MAXIMUM_DISPLACEMENT
static const char * MAXIMAL_NUMBER_OF_ITERATIONS
static const char * ENERGY_OUTPUT_FREQUENCY
static const char * SNAPSHOT_FREQUENCY
static const char * MAX_GRADIENT
static const char * MAX_SAME_ENERGY
static const char * MAXIMUM_DISPLACEMENT
static const char * ENERGY_DIFFERENCE_BOUND
static const char * NUMBER_OF_ITERATION