BALL
1.5.0
include
BALL
MOLMEC
MINIMIZATION
strangLBFGS.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: strangLBFGS.h,v 1.1.4.6 2007/08/07 09:12:36 aleru Exp $
5
//
6
7
#ifndef BALL_MOLMEC_MINIMIZATION_STRANGLBFGS_H
8
#define BALL_MOLMEC_MINIMIZATION_STRANGLBFGS_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
{
38
class
BALL_EXPORT
StrangLBFGSMinimizer
39
:
public
EnergyMinimizer
40
{
41
public
:
42
43
BALL_CREATE
(
StrangLBFGSMinimizer
)
44
45
48
49
54
struct
Option
55
{
58
static
const
char
*
IMPROVED
;
59
62
static
const
char
*
NUM_OF_STORED_VECT_PAIRS
;
63
};
64
65
struct
BALL_EXPORT
Default
66
{
70
static
const
bool
IMPROVED
;
71
75
static
const
Size
NUM_OF_STORED_VECT_PAIRS
;
76
};
77
79
82
85
StrangLBFGSMinimizer
();
86
89
StrangLBFGSMinimizer
(
ForceField
& force_field);
90
93
StrangLBFGSMinimizer
(
ForceField
& force_field,
SnapShotManager
*ssm);
94
97
StrangLBFGSMinimizer
(
ForceField
& force_field,
SnapShotManager
* ssm,
const
Options
& options);
98
101
StrangLBFGSMinimizer
(
ForceField
& force_field,
const
Options
& options);
102
105
StrangLBFGSMinimizer
(
const
StrangLBFGSMinimizer
& rhs);
106
109
virtual
~
StrangLBFGSMinimizer
();
110
112
115
118
const
StrangLBFGSMinimizer
& operator=(
const
StrangLBFGSMinimizer
& rhs);
119
121
124
127
virtual
bool
specificSetup();
128
130
133
136
void
setMaxNumOfStoredVectPairs(
Size
num);
137
140
Size
getMaxNumOfStoredVectPairs()
const
;
141
144
void
setImprovedFlag(
bool
flag);
145
148
bool
getImprovedFlag()
const
;
149
156
virtual
double
findStep();
157
163
virtual
void
updateDirection();
164
173
virtual
bool
minimize(
Size
iterations = 0,
bool
resume =
false
);
174
175
protected
:
176
178
181
184
LineSearch
line_search_
;
185
188
bool
first_iter_
;
189
192
Size
number_of_atoms_
;
193
196
Size
max_num_of_vect_pairs_
;
197
200
Size
curr_num_of_vect_pairs_
;
201
204
bool
improved_
;
205
208
vector<float>
rho_
;
209
212
vector<Vector3>
stored_s_
;
213
217
vector<Vector3>
stored_y_
;
218
222
vector<float>
work_val_
;
223
227
Size
index_of_free_vect_
;
228
232
std::vector<Vector3>
initial_atoms_
;
233
235
236
};
237
}
// end of namespace BALL
238
239
#endif // BALL_MOLMEC_MINIMIZATION_STRANGLBFGS_H
BALL::StrangLBFGSMinimizer::improved_
bool improved_
Definition:
strangLBFGS.h:204
BALL::Options
Definition:
options.h:46
BALL::StrangLBFGSMinimizer::first_iter_
bool first_iter_
Definition:
strangLBFGS.h:188
BALL::StrangLBFGSMinimizer::line_search_
LineSearch line_search_
Definition:
strangLBFGS.h:184
energyMinimizer.h
lineSearch.h
BALL::StrangLBFGSMinimizer::rho_
vector< float > rho_
Definition:
strangLBFGS.h:208
BALL::StrangLBFGSMinimizer::Default
Definition:
strangLBFGS.h:65
BALL::StrangLBFGSMinimizer::Default::NUM_OF_STORED_VECT_PAIRS
static const Size NUM_OF_STORED_VECT_PAIRS
Definition:
strangLBFGS.h:75
BALL::StrangLBFGSMinimizer::Default::IMPROVED
static const bool IMPROVED
Definition:
strangLBFGS.h:70
BALL::StrangLBFGSMinimizer::stored_y_
vector< Vector3 > stored_y_
Definition:
strangLBFGS.h:217
BALL::LineSearch
Definition:
lineSearch.h:32
BALL
Definition:
constants.h:12
BALL::StrangLBFGSMinimizer::Option
Definition:
strangLBFGS.h:54
BALL::SnapShotManager
Definition:
snapShotManager.h:33
BALL::StrangLBFGSMinimizer::Option::IMPROVED
static const char * IMPROVED
Definition:
strangLBFGS.h:58
BALL::StrangLBFGSMinimizer::Option::NUM_OF_STORED_VECT_PAIRS
static const char * NUM_OF_STORED_VECT_PAIRS
Definition:
strangLBFGS.h:62
BALL::StrangLBFGSMinimizer::stored_s_
vector< Vector3 > stored_s_
Definition:
strangLBFGS.h:212
BALL_SIZE_TYPE
BALL::StrangLBFGSMinimizer::index_of_free_vect_
Size index_of_free_vect_
Definition:
strangLBFGS.h:227
BALL::EnergyMinimizer
Definition:
energyMinimizer.h:29
BALL::StrangLBFGSMinimizer::max_num_of_vect_pairs_
Size max_num_of_vect_pairs_
Definition:
strangLBFGS.h:196
BALL::StrangLBFGSMinimizer::work_val_
vector< float > work_val_
Definition:
strangLBFGS.h:222
BALL_CREATE
#define BALL_CREATE(name)
Definition:
create.h:62
BALL::StrangLBFGSMinimizer::curr_num_of_vect_pairs_
Size curr_num_of_vect_pairs_
Definition:
strangLBFGS.h:200
BALL::ForceField
Definition:
forceField.h:85
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
BALL::StrangLBFGSMinimizer::initial_atoms_
std::vector< Vector3 > initial_atoms_
Definition:
strangLBFGS.h:232
BALL::StrangLBFGSMinimizer::number_of_atoms_
Size number_of_atoms_
Definition:
strangLBFGS.h:192
BALL::StrangLBFGSMinimizer
Definition:
strangLBFGS.h:38
Generated by
1.8.17