Loading...
Searching...
No Matches
shiftedLVMM.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: shiftedLVMM.h,v 1.1.4.6 2007/08/07 09:12:35 aleru Exp $
//
#ifndef BALL_MOLMEC_MINIMIZATION_SHIFTEDLVMM_H
#define BALL_MOLMEC_MINIMIZATION_SHIFTEDLVMM_H
#ifndef BALL_MOLMEC_MINIMIZATION_ENERGYMINIMIZER_H
# include <BALL/MOLMEC/MINIMIZATION/energyMinimizer.h>
#endif
#ifndef BALL_MOLMEC_MINIMIZATION_LINESEARCH_H
# include <BALL/MOLMEC/MINIMIZATION/lineSearch.h>
#endif
namespace BALL
{
class BALL_EXPORT ShiftedLVMMMinimizer
: public EnergyMinimizer
{
public:
BALL_CREATE(ShiftedLVMMMinimizer)
struct Option
{
static const char* UPDATE_METHOD;
static const char* CORRECTION_PARAMETER;
static const char* NUM_OF_COLUMNS;
};
struct BALL_EXPORT Default
{
static const Size UPDATE_METHOD;
static const Size CORRECTION_PARAMETER;
static const Size NUM_OF_COLUMNS;
};
enum UpdateMethod
{
RANK_1 = 1,
RANK_2 = 2
};
enum CorrectionParameter
{
UNIT_VALUE = 1,
BALANCING_VALUE = 2,
SQUARE_ROOT = 3,
GEOMETRIC_MEAN = 4,
RATIO_OF_SHIFT_PARAMS = 5
};
ShiftedLVMMMinimizer();
ShiftedLVMMMinimizer(ForceField& force_field);
ShiftedLVMMMinimizer(ForceField& force_field, SnapShotManager *ssm);
ShiftedLVMMMinimizer(ForceField& force_field, SnapShotManager* ssm, const Options& options);
ShiftedLVMMMinimizer(ForceField& force_field, const Options& options);
ShiftedLVMMMinimizer(const ShiftedLVMMMinimizer& rhs);
virtual ~ShiftedLVMMMinimizer();
const ShiftedLVMMMinimizer& operator = (const ShiftedLVMMMinimizer& rhs);
virtual bool specificSetup();
void setUpdateMethod(UpdateMethod updt);
UpdateMethod getUpdateMethod() const;
void setCorrectionParameter(CorrectionParameter corr);
CorrectionParameter getCorrectionParameter() const;
void setMaxNumOfColumns(Size num);
Size getMaxNumOfColumns() const;
virtual double findStep();
virtual void updateDirection();
virtual bool minimize(Size iterations = 0, bool resume = false);
protected:
LineSearch line_search_;
bool first_iter_;
Size number_of_atoms_;
Size max_number_of_cols_;
Size curr_number_of_cols_;
Size updt_method_;
Size corr_par_;
double prev_shift_val_;
vector<Vector3> shift_s_;
vector<Vector3> grad_diff_;
vector<float> updt_u_;
vector<float> updt_v_;
vector<Vector3> shifted_direction_;
vector<Vector3> hess_factor_;
vector<Vector3> initial_atoms_;
};
} // end of namespace BALL
#endif // BALL_MOLMEC_MINIMIZATION_SHIFTEDLVMM_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
BALL::EnergyMinimizer::EnergyMinimizer
EnergyMinimizer()
BALL::EnergyMinimizer::options
Options options
Definition energyMinimizer.h:434
BALL::ForceField
Definition forceField.h:86
BALL::LineSearch
Definition lineSearch.h:33
BALL::Options
Definition options.h:48
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(ForceField &force_field)
BALL::ShiftedLVMMMinimizer::~ShiftedLVMMMinimizer
virtual ~ShiftedLVMMMinimizer()
BALL::ShiftedLVMMMinimizer::findStep
virtual double findStep()
BALL::ShiftedLVMMMinimizer::updt_method_
Size updt_method_
Definition shiftedLVMM.h:265
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(ForceField &force_field, SnapShotManager *ssm)
BALL::ShiftedLVMMMinimizer::setCorrectionParameter
void setCorrectionParameter(CorrectionParameter corr)
BALL::ShiftedLVMMMinimizer::corr_par_
Size corr_par_
Definition shiftedLVMM.h:269
BALL::ShiftedLVMMMinimizer::curr_number_of_cols_
Size curr_number_of_cols_
Definition shiftedLVMM.h:261
BALL::ShiftedLVMMMinimizer::initial_atoms_
vector< Vector3 > initial_atoms_
Definition shiftedLVMM.h:303
BALL::ShiftedLVMMMinimizer::getCorrectionParameter
CorrectionParameter getCorrectionParameter() const
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer()
BALL::ShiftedLVMMMinimizer::updt_v_
vector< float > updt_v_
Definition shiftedLVMM.h:289
BALL::ShiftedLVMMMinimizer::setUpdateMethod
void setUpdateMethod(UpdateMethod updt)
BALL::ShiftedLVMMMinimizer::specificSetup
virtual bool specificSetup()
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(const ShiftedLVMMMinimizer &rhs)
BALL::ShiftedLVMMMinimizer::setMaxNumOfColumns
void setMaxNumOfColumns(Size num)
BALL::ShiftedLVMMMinimizer::hess_factor_
vector< Vector3 > hess_factor_
Definition shiftedLVMM.h:298
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(ForceField &force_field, const Options &options)
BALL::ShiftedLVMMMinimizer::number_of_atoms_
Size number_of_atoms_
Definition shiftedLVMM.h:251
BALL::ShiftedLVMMMinimizer::CorrectionParameter
CorrectionParameter
Definition shiftedLVMM.h:107
BALL::ShiftedLVMMMinimizer::BALANCING_VALUE
@ BALANCING_VALUE
Definition shiftedLVMM.h:114
BALL::ShiftedLVMMMinimizer::GEOMETRIC_MEAN
@ GEOMETRIC_MEAN
Definition shiftedLVMM.h:122
BALL::ShiftedLVMMMinimizer::UNIT_VALUE
@ UNIT_VALUE
Definition shiftedLVMM.h:110
BALL::ShiftedLVMMMinimizer::SQUARE_ROOT
@ SQUARE_ROOT
Definition shiftedLVMM.h:118
BALL::ShiftedLVMMMinimizer::RATIO_OF_SHIFT_PARAMS
@ RATIO_OF_SHIFT_PARAMS
Definition shiftedLVMM.h:126
BALL::ShiftedLVMMMinimizer::updateDirection
virtual void updateDirection()
BALL::ShiftedLVMMMinimizer::prev_shift_val_
double prev_shift_val_
Definition shiftedLVMM.h:273
BALL::ShiftedLVMMMinimizer::updt_u_
vector< float > updt_u_
Definition shiftedLVMM.h:285
BALL::ShiftedLVMMMinimizer::grad_diff_
vector< Vector3 > grad_diff_
Definition shiftedLVMM.h:281
BALL::ShiftedLVMMMinimizer::UpdateMethod
UpdateMethod
Definition shiftedLVMM.h:94
BALL::ShiftedLVMMMinimizer::RANK_2
@ RANK_2
Definition shiftedLVMM.h:101
BALL::ShiftedLVMMMinimizer::RANK_1
@ RANK_1
Definition shiftedLVMM.h:97
BALL::ShiftedLVMMMinimizer::minimize
virtual bool minimize(Size iterations=0, bool resume=false)
BALL::ShiftedLVMMMinimizer::line_search_
LineSearch line_search_
Definition shiftedLVMM.h:243
BALL::ShiftedLVMMMinimizer::first_iter_
bool first_iter_
Definition shiftedLVMM.h:247
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(ForceField &force_field, SnapShotManager *ssm, const Options &options)
BALL::ShiftedLVMMMinimizer::shifted_direction_
vector< Vector3 > shifted_direction_
Definition shiftedLVMM.h:293
BALL::ShiftedLVMMMinimizer::shift_s_
vector< Vector3 > shift_s_
Definition shiftedLVMM.h:277
BALL::ShiftedLVMMMinimizer::getUpdateMethod
UpdateMethod getUpdateMethod() const
BALL::ShiftedLVMMMinimizer::max_number_of_cols_
Size max_number_of_cols_
Definition shiftedLVMM.h:256
BALL::ShiftedLVMMMinimizer::getMaxNumOfColumns
Size getMaxNumOfColumns() const
BALL::SnapShotManager
Definition snapShotManager.h:34
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
energyMinimizer.h
lineSearch.h
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::ShiftedLVMMMinimizer::Default
Definition shiftedLVMM.h:69
BALL::ShiftedLVMMMinimizer::Default::CORRECTION_PARAMETER
static const Size CORRECTION_PARAMETER
Definition shiftedLVMM.h:78
BALL::ShiftedLVMMMinimizer::Default::NUM_OF_COLUMNS
static const Size NUM_OF_COLUMNS
Definition shiftedLVMM.h:83
BALL::ShiftedLVMMMinimizer::Default::UPDATE_METHOD
static const Size UPDATE_METHOD
Definition shiftedLVMM.h:73
BALL::ShiftedLVMMMinimizer::Option
Definition shiftedLVMM.h:53
BALL::ShiftedLVMMMinimizer::Option::CORRECTION_PARAMETER
static const char * CORRECTION_PARAMETER
Definition shiftedLVMM.h:60
BALL::ShiftedLVMMMinimizer::Option::UPDATE_METHOD
static const char * UPDATE_METHOD
Definition shiftedLVMM.h:56
BALL::ShiftedLVMMMinimizer::Option::NUM_OF_COLUMNS
static const char * NUM_OF_COLUMNS
Definition shiftedLVMM.h:65