Loading...
Searching...
No Matches
BALL::SteepestDescentMinimizer Class Reference
Molecular Modeling » Molecular Mechanics » Energy Minimizer

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

Inheritance diagram for BALL::SteepestDescentMinimizer:

## 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 SteepestDescentMinimizer & | operator= (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
| EnergyMinimizer ()
| EnergyMinimizer (ForceField &force_field)
| EnergyMinimizer (ForceField &force_field, const Options &options)
| EnergyMinimizer (const EnergyMinimizer &energy_minimizer)
virtual | ~EnergyMinimizer ()
const EnergyMinimizer & | operator= (const EnergyMinimizer &energy_minimizer)
bool | operator== (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
Gradient & | getDirection ()
Gradient & | getGradient ()
Gradient & | getInitialGradient ()
double | getEnergy () const
double & | getEnergy ()
double | getInitialEnergy () const
double & | getInitialEnergy ()
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
ForceField * | getForceField ()
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_
SnapShotManager * | snapshot_
ForceField * | force_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

## SteepestDescentMinimizer() [1/6]

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer | ( |  | ) |

Default constructor.

## SteepestDescentMinimizer() [2/6]

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer | ( | ForceField & | force_field | ) |

Constructor.

## SteepestDescentMinimizer() [3/6]

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer | ( | ForceField & | force_field,
|  | SnapShotManager * | ssm )

Constructor.

## SteepestDescentMinimizer() [4/6]

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

Constructor.

## SteepestDescentMinimizer() [5/6]

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

Constructor.

## SteepestDescentMinimizer() [6/6]

BALL::SteepestDescentMinimizer::SteepestDescentMinimizer | ( | const SteepestDescentMinimizer & | minimizer | ) |

Copy constructor

## ~SteepestDescentMinimizer()

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

virtual

Destructor.

## Member Function Documentation

## findStep()

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 if the line search found an acceptable solution, otherwise -1.

See also
  EnergyMinimizer::findStep

Reimplemented from BALL::EnergyMinimizer.

## minimize()

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

  iterations | the maximum number of iterations
  resume | true to resume a previous run

See also
  EnergyMinimizer::minimize

Reimplemented from BALL::EnergyMinimizer.

## operator=()

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

Assignment operator

## specificSetup()

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

virtual

Specific setup

Reimplemented from BALL::EnergyMinimizer.

## updateDirection()

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

## line_search_

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.