BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members
BALL::SteepestDescentMinimizer Class Reference

#include <BALL/MOLMEC/MINIMIZATION/steepestDescent.h>

Inheritance diagram for BALL::SteepestDescentMinimizer:
BALL::EnergyMinimizer

Public Member Functions

Constructors and Destructors
 SteepestDescentMinimizer ()
 SteepestDescentMinimizer (ForceField &force_field)
 SteepestDescentMinimizer (ForceField &force_field, SnapShotManager *ssm)
 SteepestDescentMinimizer (ForceField &force_field, const Options &options)
 SteepestDescentMinimizer (ForceField &force_field, SnapShotManager *ssm, const Options &options)
 SteepestDescentMinimizer (const SteepestDescentMinimizer &minimizer)
virtual ~SteepestDescentMinimizer ()
Assignments
const SteepestDescentMinimizeroperator= (const SteepestDescentMinimizer &minimizer)
Setup methods
virtual bool specificSetup ()
Accessors
virtual bool minimize (Size steps=0, bool resume=false)
virtual double findStep ()
virtual void updateDirection ()
- Public Member Functions inherited from BALL::EnergyMinimizer
bool operator== (const EnergyMinimizer &energy_minimizer)
 EnergyMinimizer ()
 EnergyMinimizer (ForceField &force_field)
 EnergyMinimizer (ForceField &force_field, const Options &options)
 EnergyMinimizer (const EnergyMinimizer &energy_minimizer)
virtual ~EnergyMinimizer ()
const EnergyMinimizeroperator= (const EnergyMinimizer &energy_minimizer)
bool isValid () const
bool setup (ForceField &force_field)
bool setup (ForceField &force_field, SnapShotManager *ssm)
bool setup (ForceField &force_field, SnapShotManager *ssm, const Options &options)
bool setup (ForceField &force_field, const Options &options)
virtual bool isConverged () const
virtual double updateEnergy ()
virtual void updateForces ()
void storeGradientEnergy ()
virtual void printEnergy () const
virtual void takeSnapShot () const
virtual void finishIteration ()
Size getNumberOfIterations () const
GradientgetDirection ()
GradientgetGradient ()
GradientgetInitialGradient ()
double getEnergy () const
doublegetEnergy ()
double getInitialEnergy () const
doublegetInitialEnergy ()
void setNumberOfIterations (Size number_of_iterations)
Size getMaxNumberOfIterations () const
void setMaxNumberOfIterations (Size number_of_iterations)
void setMaxSameEnergy (Size number)
Size getMaxSameEnergy () const
void setEnergyOutputFrequency (Size energy_output_frequency)
Size getEnergyOutputFrequency () const
void setEnergyDifferenceBound (float energy_difference_bound)
float getEnergyDifferenceBound () const
void setMaxGradient (float max_gradient)
float getMaxGradient () const
void setMaximumDisplacement (float maximum_displacement)
float getMaximumDisplacement () const
void setSnapShotFrequency (Size snapshot_frequency)
Size getSnapShotFrequency () const
ForceFieldgetForceField ()
Size getForceUpdateCounter () const
Size getEnergyUpdateCounter () const
void enableEnergyAbortCondition (bool state)
bool energyAbortConditionEnabled () const
 Query if the MDSimulation aborts if the Energy is greater than abort_energy_.
void setEnergyToAbort (float value)
float getEnergyToAbort () const
bool wasAborted () const

Protected Attributes

Protected Attributes
LineSearch line_search_
- Protected Attributes inherited from BALL::EnergyMinimizer
Gradient initial_grad_
Gradient current_grad_
double initial_energy_
double current_energy_
Gradient old_grad_
double old_energy_
Gradient direction_
bool valid_
SnapShotManagersnapshot_
ForceFieldforce_field_
Size number_of_iterations_
Size maximal_number_of_iterations_
Size energy_output_frequency_
Size snapshot_frequency_
double energy_difference_bound_
double max_gradient_
Size max_same_energy_
Size same_energy_counter_
float maximum_displacement_
Size force_update_counter_
Size energy_update_counter_
float cutlo_
double step_
bool abort_by_energy_enabled_
float abort_energy_
bool aborted_

Additional Inherited Members

- Public Attributes inherited from BALL::EnergyMinimizer
Options options

Detailed Description

A minimizer for geometry optimization based on steepest descent steps.

Definition at line 23 of file steepestDescent.h.

Constructor & Destructor Documentation

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer ( )

Default constructor.

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer ( ForceField force_field)

Constructor.

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer ( ForceField force_field,
SnapShotManager ssm 
)

Constructor.

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer ( ForceField force_field,
const Options options 
)

Constructor.

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer ( ForceField force_field,
SnapShotManager ssm,
const Options options 
)

Constructor.

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer ( const SteepestDescentMinimizer minimizer)

Copy constructor

virtual BALL::SteepestDescentMinimizer::~SteepestDescentMinimizer ( )
virtual

Destructor.

Member Function Documentation

virtual double BALL::SteepestDescentMinimizer::findStep ( )
virtual

Find the next step. First, this method calls updateDirection. Second, it performs a line search along the calculated direction afterwards.

Returns
double $\geq 0$ if the line search found an acceptable solution, otherwise -1.
See Also
EnergyMinimizer::findStep

Reimplemented from BALL::EnergyMinimizer.

virtual bool BALL::SteepestDescentMinimizer::minimize ( Size  steps = 0,
bool  resume = false 
)
virtual

Minimize the energy of the system using steepest descent steps. This method executes at most iterations minimization steps. If the number of iterations is not given, the number specified in the options is taken.

Parameters
iterationsthe maximum number of iterations
resumetrue to resume a previous run
See Also
EnergyMinimizer::minimize

Reimplemented from BALL::EnergyMinimizer.

const SteepestDescentMinimizer& BALL::SteepestDescentMinimizer::operator= ( const SteepestDescentMinimizer minimizer)

Assignment operator

virtual bool BALL::SteepestDescentMinimizer::specificSetup ( )
virtual

Specific setup

Reimplemented from BALL::EnergyMinimizer.

virtual void BALL::SteepestDescentMinimizer::updateDirection ( )
virtual

Update the search direction. This algorithm uses only steepest descent searches. Therefore, updateDirection only assigns direction to the last gradient computed.

Reimplemented from BALL::EnergyMinimizer.

Member Data Documentation

LineSearch BALL::SteepestDescentMinimizer::line_search_
protected

The line search minimizer. This member is used to perform the line search in findStep

Definition at line 121 of file steepestDescent.h.