BALL  1.5.0
shiftedLVMM.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: shiftedLVMM.h,v 1.1.4.6 2007/08/07 09:12:35 aleru Exp $
5 //
6 
7 #ifndef BALL_MOLMEC_MINIMIZATION_SHIFTEDLVMM_H
8 #define BALL_MOLMEC_MINIMIZATION_SHIFTEDLVMM_H
9 
10 #ifndef BALL_MOLMEC_MINIMIZATION_ENERGYMINIMIZER_H
12 #endif
13 
14 #ifndef BALL_MOLMEC_MINIMIZATION_LINESEARCH_H
16 #endif
17 
18 namespace BALL
19 {
37  : public EnergyMinimizer
38  {
39  public:
40 
42 
43 
46 
47 
52  struct Option
53  {
56  static const char* UPDATE_METHOD;
57 
60  static const char* CORRECTION_PARAMETER;
61 
65  static const char* NUM_OF_COLUMNS;
66  };
67 
69  {
73  static const Size UPDATE_METHOD;
74 
78  static const Size CORRECTION_PARAMETER;
79 
83  static const Size NUM_OF_COLUMNS;
84  };
85 
87 
90 
94  {
97  RANK_1 = 1,
98 
101  RANK_2 = 2
102  };
103 
107  {
110  UNIT_VALUE = 1,
111 
114  BALANCING_VALUE = 2,
115 
118  SQUARE_ROOT = 3,
119 
122  GEOMETRIC_MEAN = 4,
123 
126  RATIO_OF_SHIFT_PARAMS = 5
127  };
128 
130 
133 
137 
141 
145 
148  ShiftedLVMMMinimizer(ForceField& force_field, SnapShotManager* ssm, const Options& options);
149 
152  ShiftedLVMMMinimizer(ForceField& force_field, const Options& options);
153 
157 
161 
163 
166 
169  const ShiftedLVMMMinimizer& operator = (const ShiftedLVMMMinimizer& rhs);
170 
172 
175 
178  virtual bool specificSetup();
179 
181 
184 
188 
192 
196 
200 
205 
210 
217  virtual double findStep();
218 
222  virtual void updateDirection();
223 
232  virtual bool minimize(Size iterations = 0, bool resume = false);
233 
234  protected:
235 
237 
240 
244 
248 
252 
257 
262 
266 
270 
274 
277  vector<Vector3> shift_s_;
278 
281  vector<Vector3> grad_diff_;
282 
285  vector<float> updt_u_;
286 
289  vector<float> updt_v_;
290 
293  vector<Vector3> shifted_direction_;
294 
298  vector<Vector3> hess_factor_;
299 
303  vector<Vector3> initial_atoms_;
304 
306 
307  };
308 } // end of namespace BALL
309 
310 #endif // BALL_MOLMEC_MINIMIZATION_SHIFTEDLVMM_H
BALL::ShiftedLVMMMinimizer::corr_par_
Size corr_par_
Definition: shiftedLVMM.h:269
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::ShiftedLVMMMinimizer::CorrectionParameter
CorrectionParameter
Definition: shiftedLVMM.h:107
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(ForceField &force_field, const Options &options)
BALL::ShiftedLVMMMinimizer::initial_atoms_
vector< Vector3 > initial_atoms_
Definition: shiftedLVMM.h:303
BALL::ShiftedLVMMMinimizer::Default
Definition: shiftedLVMM.h:69
BALL::ShiftedLVMMMinimizer::Option::CORRECTION_PARAMETER
static const char * CORRECTION_PARAMETER
Definition: shiftedLVMM.h:60
BALL::Options
Definition: options.h:48
energyMinimizer.h
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(ForceField &force_field)
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer()
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(ForceField &force_field, SnapShotManager *ssm)
BALL::ShiftedLVMMMinimizer::hess_factor_
vector< Vector3 > hess_factor_
Definition: shiftedLVMM.h:298
lineSearch.h
BALL::ShiftedLVMMMinimizer::getMaxNumOfColumns
Size getMaxNumOfColumns() const
BALL::ShiftedLVMMMinimizer::getUpdateMethod
UpdateMethod getUpdateMethod() const
BALL::ShiftedLVMMMinimizer::line_search_
LineSearch line_search_
Definition: shiftedLVMM.h:243
BALL::ShiftedLVMMMinimizer::Default::NUM_OF_COLUMNS
static const Size NUM_OF_COLUMNS
Definition: shiftedLVMM.h:83
BALL::ShiftedLVMMMinimizer::curr_number_of_cols_
Size curr_number_of_cols_
Definition: shiftedLVMM.h:261
BALL::ShiftedLVMMMinimizer::setCorrectionParameter
void setCorrectionParameter(CorrectionParameter corr)
BALL::ShiftedLVMMMinimizer::~ShiftedLVMMMinimizer
virtual ~ShiftedLVMMMinimizer()
BALL::ShiftedLVMMMinimizer::minimize
virtual bool minimize(Size iterations=0, bool resume=false)
BALL::ShiftedLVMMMinimizer::updateDirection
virtual void updateDirection()
BALL::LineSearch
Definition: lineSearch.h:33
BALL
Definition: constants.h:13
BALL::SnapShotManager
Definition: snapShotManager.h:34
BALL::ShiftedLVMMMinimizer::findStep
virtual double findStep()
BALL::ShiftedLVMMMinimizer::updt_u_
vector< float > updt_u_
Definition: shiftedLVMM.h:285
BALL::ShiftedLVMMMinimizer::shifted_direction_
vector< Vector3 > shifted_direction_
Definition: shiftedLVMM.h:293
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(ForceField &force_field, SnapShotManager *ssm, const Options &options)
BALL::ShiftedLVMMMinimizer::Default::CORRECTION_PARAMETER
static const Size CORRECTION_PARAMETER
Definition: shiftedLVMM.h:78
BALL::ShiftedLVMMMinimizer::updt_v_
vector< float > updt_v_
Definition: shiftedLVMM.h:289
BALL_SIZE_TYPE
BALL::ShiftedLVMMMinimizer::Default::UPDATE_METHOD
static const Size UPDATE_METHOD
Definition: shiftedLVMM.h:73
BALL::ShiftedLVMMMinimizer::max_number_of_cols_
Size max_number_of_cols_
Definition: shiftedLVMM.h:256
BALL::ShiftedLVMMMinimizer::setUpdateMethod
void setUpdateMethod(UpdateMethod updt)
BALL::ShiftedLVMMMinimizer::Option
Definition: shiftedLVMM.h:53
BALL::ShiftedLVMMMinimizer::prev_shift_val_
double prev_shift_val_
Definition: shiftedLVMM.h:273
BALL::ShiftedLVMMMinimizer::number_of_atoms_
Size number_of_atoms_
Definition: shiftedLVMM.h:251
BALL::ShiftedLVMMMinimizer::first_iter_
bool first_iter_
Definition: shiftedLVMM.h:247
BALL::EnergyMinimizer
Definition: energyMinimizer.h:30
BALL::ShiftedLVMMMinimizer
Definition: shiftedLVMM.h:38
BALL::ShiftedLVMMMinimizer::specificSetup
virtual bool specificSetup()
BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer
ShiftedLVMMMinimizer(const ShiftedLVMMMinimizer &rhs)
BALL::ShiftedLVMMMinimizer::Option::UPDATE_METHOD
static const char * UPDATE_METHOD
Definition: shiftedLVMM.h:56
BALL::ShiftedLVMMMinimizer::getCorrectionParameter
CorrectionParameter getCorrectionParameter() const
BALL_CREATE
#define BALL_CREATE(name)
Definition: create.h:62
BALL::ShiftedLVMMMinimizer::Option::NUM_OF_COLUMNS
static const char * NUM_OF_COLUMNS
Definition: shiftedLVMM.h:65
BALL::ForceField
Definition: forceField.h:86
BALL::ShiftedLVMMMinimizer::shift_s_
vector< Vector3 > shift_s_
Definition: shiftedLVMM.h:277
BALL::ShiftedLVMMMinimizer::setMaxNumOfColumns
void setMaxNumOfColumns(Size num)
BALL::ShiftedLVMMMinimizer::grad_diff_
vector< Vector3 > grad_diff_
Definition: shiftedLVMM.h:281
BALL::ShiftedLVMMMinimizer::UpdateMethod
UpdateMethod
Definition: shiftedLVMM.h:94
BALL::ShiftedLVMMMinimizer::updt_method_
Size updt_method_
Definition: shiftedLVMM.h:265