BALL
1.5.0
include
BALL
MOLMEC
MINIMIZATION
conjugateGradient.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: conjugateGradient.h,v 1.29.20.6 2007/08/07 09:12:33 aleru Exp $
5
//
6
7
#ifndef BALL_MOLMEC_MINIMIZATION_CONJUGATEGRADIENT_H
8
#define BALL_MOLMEC_MINIMIZATION_CONJUGATEGRADIENT_H
9
10
#ifndef BALL_MOLMEC_MINIMIZATION_ENERGYMINIMIZER_H
11
# include <
BALL/MOLMEC/MINIMIZATION/energyMinimizer.h
>
12
#endif
13
14
#ifndef BALL_MOLMEC_MINIMIZATION_LINESEARCH_H
15
# include <
BALL/MOLMEC/MINIMIZATION/lineSearch.h
>
16
#endif
17
18
namespace
BALL
19
{
40
class
BALL_EXPORT
ConjugateGradientMinimizer
41
:
public
EnergyMinimizer
42
{
43
public
:
44
48
52
enum
UpdateMethod
53
{
56
POLAK_RIBIERE = 1,
57
60
FLETCHER_REEVES = 2,
61
64
SHANNO = 3
65
};
66
68
71
74
struct
Option
75
{
78
static
const
char
*
UPDATE_METHOD
;
79
};
80
83
struct
BALL_EXPORT
Default
84
{
87
static
const
Size
UPDATE_METHOD
;
88
};
89
91
94
95
BALL_CREATE
(
ConjugateGradientMinimizer
)
96
97
99
ConjugateGradientMinimizer
();
100
103
ConjugateGradientMinimizer
(
ForceField
& force_field);
104
107
ConjugateGradientMinimizer
(
ForceField
& force_field,
SnapShotManager
*ssm);
108
111
ConjugateGradientMinimizer
(
ForceField
& force_field,
112
SnapShotManager
* ssm,
const
Options
& options);
113
116
ConjugateGradientMinimizer
(
ForceField
& force_field,
const
Options
& options);
117
120
ConjugateGradientMinimizer
(
const
ConjugateGradientMinimizer
& rhs);
121
124
virtual
~
ConjugateGradientMinimizer
();
125
127
130
133
const
ConjugateGradientMinimizer
& operator = (
const
ConjugateGradientMinimizer
& rhs);
134
136
139
142
virtual
bool
specificSetup();
143
145
148
152
void
setUpdateMethod(
UpdateMethod
method);
153
156
UpdateMethod
getUpdateMethod()
const
;
157
164
virtual
double
findStep();
165
171
virtual
void
updateDirection();
172
181
virtual
bool
minimize(
Size
iterations = 0,
bool
resume =
false
);
182
183
protected
:
184
186
189
192
LineSearch
line_search_
;
193
196
Gradient
unscaled_direction_
;
197
200
Size
number_of_atoms_
;
201
204
Size
updt_method_
;
205
208
bool
first_iter_
;
209
212
double
old_gtg_
;
213
216
vector<Vector3>
a_i_
;
217
220
vector<Vector3>
b_i_
;
221
224
vector<Vector3>
p_t_
;
225
228
vector<Vector3>
y_t_
;
229
232
vector<Vector3>
p_i_
;
233
236
vector<Vector3>
y_i_
;
237
240
double
D_1_
;
241
244
double
D_4_
;
245
248
Size
restart_frequency_
;
249
255
Size
last_restart_iter_
;
256
258
259
};
260
}
// end of namespace BALL
261
262
#endif // BALL_MOLMEC_MINIMIZATION_CONJUGATEGRADIENT_H
BALL::ConjugateGradientMinimizer::p_t_
vector< Vector3 > p_t_
Definition:
conjugateGradient.h:224
BALL::ConjugateGradientMinimizer::a_i_
vector< Vector3 > a_i_
Definition:
conjugateGradient.h:216
BALL::ConjugateGradientMinimizer::last_restart_iter_
Size last_restart_iter_
Definition:
conjugateGradient.h:255
BALL::Options
Definition:
options.h:46
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
energyMinimizer.h
BALL::ConjugateGradientMinimizer::Option::UPDATE_METHOD
static const char * UPDATE_METHOD
Definition:
conjugateGradient.h:78
lineSearch.h
BALL::ForceField
Definition:
forceField.h:85
BALL_SIZE_TYPE
BALL::ConjugateGradientMinimizer::Default
Definition:
conjugateGradient.h:83
BALL::ConjugateGradientMinimizer::p_i_
vector< Vector3 > p_i_
Definition:
conjugateGradient.h:232
BALL::ConjugateGradientMinimizer
Definition:
conjugateGradient.h:40
BALL
Definition:
constants.h:12
BALL::ConjugateGradientMinimizer::first_iter_
bool first_iter_
Definition:
conjugateGradient.h:208
BALL::ConjugateGradientMinimizer::old_gtg_
double old_gtg_
Definition:
conjugateGradient.h:212
BALL::ConjugateGradientMinimizer::D_4_
double D_4_
Definition:
conjugateGradient.h:244
BALL::Gradient
Definition:
gradient.h:43
BALL::ConjugateGradientMinimizer::UpdateMethod
UpdateMethod
Definition:
conjugateGradient.h:52
BALL::ConjugateGradientMinimizer::unscaled_direction_
Gradient unscaled_direction_
Definition:
conjugateGradient.h:196
BALL::ConjugateGradientMinimizer::y_i_
vector< Vector3 > y_i_
Definition:
conjugateGradient.h:236
BALL::ConjugateGradientMinimizer::updt_method_
Size updt_method_
Definition:
conjugateGradient.h:204
BALL::ConjugateGradientMinimizer::restart_frequency_
Size restart_frequency_
Definition:
conjugateGradient.h:248
BALL::LineSearch
Definition:
lineSearch.h:32
BALL::EnergyMinimizer
Definition:
energyMinimizer.h:29
BALL::ConjugateGradientMinimizer::number_of_atoms_
Size number_of_atoms_
Definition:
conjugateGradient.h:200
BALL::ConjugateGradientMinimizer::Option
Definition:
conjugateGradient.h:74
BALL::ConjugateGradientMinimizer::y_t_
vector< Vector3 > y_t_
Definition:
conjugateGradient.h:228
BALL::ConjugateGradientMinimizer::b_i_
vector< Vector3 > b_i_
Definition:
conjugateGradient.h:220
BALL::SnapShotManager
Definition:
snapShotManager.h:33
BALL_CREATE
#define BALL_CREATE(name)
Definition:
create.h:62
BALL::ConjugateGradientMinimizer::D_1_
double D_1_
Definition:
conjugateGradient.h:240
BALL::ConjugateGradientMinimizer::line_search_
LineSearch line_search_
Definition:
conjugateGradient.h:192
BALL::ConjugateGradientMinimizer::Default::UPDATE_METHOD
static const Size UPDATE_METHOD
Definition:
conjugateGradient.h:87
Generated by
1.8.16