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
18namespace 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
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
#define BALL_CREATE(name)
Definition: create.h:62
Definition: constants.h:13
ShiftedLVMMMinimizer(ForceField &force_field)
virtual double findStep()
ShiftedLVMMMinimizer(ForceField &force_field, SnapShotManager *ssm)
void setCorrectionParameter(CorrectionParameter corr)
vector< Vector3 > initial_atoms_
Definition: shiftedLVMM.h:303
CorrectionParameter getCorrectionParameter() const
vector< float > updt_v_
Definition: shiftedLVMM.h:289
void setUpdateMethod(UpdateMethod updt)
virtual bool specificSetup()
ShiftedLVMMMinimizer(const ShiftedLVMMMinimizer &rhs)
void setMaxNumOfColumns(Size num)
vector< Vector3 > hess_factor_
Definition: shiftedLVMM.h:298
ShiftedLVMMMinimizer(ForceField &force_field, const Options &options)
virtual void updateDirection()
vector< float > updt_u_
Definition: shiftedLVMM.h:285
vector< Vector3 > grad_diff_
Definition: shiftedLVMM.h:281
virtual bool minimize(Size iterations=0, bool resume=false)
ShiftedLVMMMinimizer(ForceField &force_field, SnapShotManager *ssm, const Options &options)
vector< Vector3 > shifted_direction_
Definition: shiftedLVMM.h:293
vector< Vector3 > shift_s_
Definition: shiftedLVMM.h:277
UpdateMethod getUpdateMethod() const
Size getMaxNumOfColumns() const
static const char * CORRECTION_PARAMETER
Definition: shiftedLVMM.h:60
static const char * UPDATE_METHOD
Definition: shiftedLVMM.h:56
static const char * NUM_OF_COLUMNS
Definition: shiftedLVMM.h:65
static const Size CORRECTION_PARAMETER
Definition: shiftedLVMM.h:78
#define BALL_EXPORT
Definition: COMMON/global.h:50