BALL
1.4.79
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
MOLMEC
AMBER
amberTorsion.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
5
// Molecular Mechanics: Amber force field, bond stretch component
6
7
#ifndef BALL_MOLMEC_AMBER_AMBERTORSION_H
8
#define BALL_MOLMEC_AMBER_AMBERTORSION_H
9
10
#ifndef BALL_COMMON_H
11
# include <
BALL/common.h
>
12
#endif
13
14
#ifndef BALL_MOLMEC_PARAMETER_COSINETORSION_H
15
# include <
BALL/MOLMEC/PARAMETER/cosineTorsion.h
>
16
#endif
17
18
#ifndef BALL_MOLMEC_COMMON_FORCEFIELDCOMPONENT_H
19
# include <
BALL/MOLMEC/COMMON/forceFieldComponent.h
>
20
#endif
21
22
#ifndef BALL_MOLMEC_COMMON_FORCEFIELD_H
23
# include <
BALL/MOLMEC/COMMON/forceField.h
>
24
#endif
25
26
namespace
BALL
27
{
31
class
BALL_EXPORT
AmberTorsion
32
:
public
ForceFieldComponent
33
{
34
public
:
35
37
#define AMBER_TORSIONS_ENABLED "enable Torsions"
38
42
43
struct
SingleAmberTorsion
44
{
45
Atom
*
atom1
;
46
Atom
*
atom2
;
47
Atom
*
atom3
;
48
Atom
*
atom4
;
49
50
float
V
;
51
unsigned
char
f
;
52
float
phase
;
53
54
SingleAmberTorsion
()
55
: atom1(0),
56
atom2(0),
57
atom3(0),
58
atom4(0),
59
V(0),
60
f(0),
61
phase(0)
62
{
63
}
64
65
66
SingleAmberTorsion
(
CosineTorsion::SingleData
& t)
67
{
68
atom1 = t.
atom1
;
69
atom2 = t.
atom2
;
70
atom3 = t.
atom3
;
71
atom4 = t.
atom4
;
72
73
V = t.
values
.
V
/ t.
values
.
n
;
74
f = (
unsigned
char)t.
values
.
f
;
75
phase = ((2.0 *
BALL::Constants::PI
)/360.0) * t.
values
.
phase
;
76
}
77
};
78
80
84
85
BALL_CREATE
(
AmberTorsion
)
86
87
89
AmberTorsion
();
90
93
AmberTorsion(
ForceField
& force_field);
94
97
AmberTorsion(const AmberTorsion& amber_stretch);
98
101
virtual ~AmberTorsion();
102
104
107
110
virtual
bool
setup()
111
throw(Exception::TooManyErrors);
112
114
117
120
virtual
double
updateEnergy();
121
124
virtual
void
updateForces();
125
127
128
private:
129
130
/*_ @name Private Attributes
131
*/
132
//_@{
133
134
/*_ array with the torsions
135
*/
136
vector<SingleAmberTorsion> torsion_;
137
138
CosineTorsion
torsion_parameters_;
139
140
CosineTorsion
improper_parameters_;
141
142
ParameterSection
impropers_;
143
144
//_@}
145
146
};
147
}
// namespace BALL
148
149
#endif // BALL_MOLMEC_AMBER_AMBERTORSION_H
BALL::AmberTorsion::SingleAmberTorsion::atom1
Atom * atom1
Definition:
amberTorsion.h:45
BALL::CosineTorsion
Definition:
cosineTorsion.h:25
BALL_CREATE
#define BALL_CREATE(name)
Definition:
create.h:62
BALL::ParameterSection
Definition:
parameterSection.h:39
BALL::CosineTorsion::SingleValues::V
float V
Definition:
cosineTorsion.h:38
forceField.h
BALL::AmberTorsion
Definition:
amberTorsion.h:31
cosineTorsion.h
BALL::CosineTorsion::SingleValues::n
float n
Definition:
cosineTorsion.h:40
BALL::AmberTorsion::SingleAmberTorsion::V
float V
Definition:
amberTorsion.h:50
BALL::CosineTorsion::SingleValues::phase
float phase
Definition:
cosineTorsion.h:37
BALL::AmberTorsion::SingleAmberTorsion
Definition:
amberTorsion.h:43
BALL::CosineTorsion::SingleData::atom4
Atom * atom4
Definition:
cosineTorsion.h:151
BALL::AmberTorsion::SingleAmberTorsion::atom2
Atom * atom2
Definition:
amberTorsion.h:46
BALL::CosineTorsion::SingleData::atom2
Atom * atom2
Definition:
cosineTorsion.h:149
BALL::AmberTorsion::SingleAmberTorsion::atom3
Atom * atom3
Definition:
amberTorsion.h:47
BALL::AmberTorsion::SingleAmberTorsion::phase
float phase
Definition:
amberTorsion.h:52
BALL::CosineTorsion::SingleValues::f
float f
Definition:
cosineTorsion.h:39
BALL::AmberTorsion::SingleAmberTorsion::atom4
Atom * atom4
Definition:
amberTorsion.h:48
BALL::CosineTorsion::SingleData::atom1
Atom * atom1
Definition:
cosineTorsion.h:148
BALL::AmberTorsion::SingleAmberTorsion::f
unsigned char f
Definition:
amberTorsion.h:51
BALL::Constants::PI
BALL_EXTERN_VARIABLE const double PI
PI.
Definition:
constants.h:35
common.h
BALL::ForceFieldComponent
Definition:
forceFieldComponent.h:34
BALL::CosineTorsion::SingleData::atom3
Atom * atom3
Definition:
cosineTorsion.h:150
BALL::Atom
Definition:
atom.h:87
BALL::ForceField
Definition:
forceField.h:85
BALL::CosineTorsion::SingleData
Definition:
cosineTorsion.h:146
BALL::AmberTorsion::SingleAmberTorsion::SingleAmberTorsion
SingleAmberTorsion()
Definition:
amberTorsion.h:54
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
forceFieldComponent.h
BALL::AmberTorsion::SingleAmberTorsion::SingleAmberTorsion
SingleAmberTorsion(CosineTorsion::SingleData &t)
Definition:
amberTorsion.h:66
BALL::CosineTorsion::SingleData::values
SingleValues values
Definition:
cosineTorsion.h:153
Generated by
1.8.7