BALL
1.5.0
Loading...
Searching...
No Matches
include
BALL
MOLMEC
MMFF94
MMFF94NonBonded.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: MMFF94NonBonded.h,v 1.1.8.4 2007/05/16 20:34:22 amoll Exp $
5
//
6
7
#ifndef BALL_MOLMEC_MMFF94_NONBONDED_H
8
#define BALL_MOLMEC_MMFF94_NONBONDED_H
9
10
#ifndef BALL_MOLMEC_COMMON_FORCEFIELDCOMPONENT_H
11
# include <
BALL/MOLMEC/COMMON/forceFieldComponent.h
>
12
#endif
13
14
#ifndef BALL_MOLMEC_COMMON_SUPPORT_H
15
# include <
BALL/MOLMEC/COMMON/support.h
>
16
#endif
17
18
#ifndef BALL_MOLMEC_MMFF94_MMFF94PARAMETERS_H
19
# include <
BALL/MOLMEC/MMFF94/MMFF94Parameters.h
>
20
#endif
21
22
#ifndef BALL_MOLMEC_MMFF94_PROCESSORS_H
23
# include <
BALL/MOLMEC/MMFF94/MMFF94Processors.h
>
24
#endif
25
26
namespace
BALL
27
{
31
class
BALL_EXPORT
MMFF94NonBonded
32
:
public
ForceFieldComponent
33
{
34
public
:
35
36
struct
NonBondedPairData
37
{
38
NonBondedPairData
();
39
40
double
eij
;
41
double
rij
;
42
double
rij_7
;
43
double
vdw_energy
;
// for debugging
44
// for electrostatics:
45
bool
is_1_4
;
46
double
qi
;
47
double
qj
;
48
double
es_energy
;
// for debugging
49
};
50
52
#define MMFF94_ES_ENABLED "enable ES"
53
55
#define MMFF94_VDW_ENABLED "enable VDW"
56
57
BALL_CREATE
(MMFF94NonBonded)
58
59
60
MMFF94NonBonded
()
61
;
62
64
MMFF94NonBonded
(
ForceField
& force_field)
65
;
66
68
MMFF94NonBonded
(const
MMFF94NonBonded
& MMFF94_non_bonded)
69
;
70
72
virtual ~
MMFF94NonBonded
()
73
;
74
76
const
MMFF94NonBonded
& operator = (const
MMFF94NonBonded
& anb)
77
;
78
80
virtual
void
clear
()
81
;
82
84
bool
operator == (const
MMFF94NonBonded
& anb)
85
;
86
90
virtual
bool
setup
();
91
93
virtual
double
updateEnergy
()
94
;
95
97
virtual
void
updateForces
()
98
;
99
106
virtual
void
update
();
107
109
virtual
MolmecSupport
::PairListAlgorithmType
110
determineMethodOfAtomPairGeneration
()
111
;
112
114
const
ForceField
::PairVector&
getAtomPairs
()
const
{
return
atom_pair_vector_;}
115
117
const
vector<NonBondedPairData>&
getNonBondedData
()
const
{
return
non_bonded_data_;}
118
120
double
getVDWEnergy
()
const
;
121
123
double
getESEnergy
()
const
;
124
125
protected
:
126
127
//_ Value of the electrostatic energy
128
double
es_energy_
;
129
130
//_ Value of the vdw energy
131
double
vdw_energy_
;
132
133
private
:
134
135
/*_ The most efficient algorithm to calculate the non-bonded atom pairs.
136
{\tt BRUTE\_FORCE}: brute force: all against all\\
137
{\tt HASH\_GRID}: box grid
138
*/
139
ForceField::PairVector
atom_pair_vector_;
140
vector<NonBondedPairData> non_bonded_data_;
141
MolmecSupport::PairListAlgorithmType
algorithm_type_;
142
double
cut_off_;
143
double
vdw_cut_on_, vdw_cut_off_;
144
double
es_cut_on_, es_cut_off_;
145
MMFF94VDWParameters
vdw_parameters_;
146
// dielectric constant
147
double
dc_;
148
// dielectric model exponent
149
double
n_;
150
bool
es_enabled_;
151
bool
vdw_enabled_;
152
bool
enable_es_switch_;
153
bool
enable_vdw_switch_;
154
double
es_d_on2_, es_d_off2_,
155
es_d_on_, es_d_off_,
156
es_ac_, es_bc_,
157
es_cc_, es_dc_, es_denom_, es_con_, es_cover3_, es_dover5_,
158
es_eadd_, es_eaddr_, es_const_, es_constr_;
159
};
160
}
// namespace BALL
161
162
#endif
// BALL_MOLMEC_MMFF94_MMFF94VDW_H
BALL_EXPORT
#define BALL_EXPORT
Definition
COMMON/global.h:50
MMFF94Parameters.h
MMFF94Processors.h
BALL::ForceFieldComponent::ForceField
friend class ForceField
Definition
forceFieldComponent.h:37
BALL::ForceFieldComponent::ForceFieldComponent
ForceFieldComponent()
BALL::ForceField::PairVector
std::vector< std::pair< Atom *, Atom * > > PairVector
Definition
forceField.h:99
BALL::MMFF94NonBonded::MMFF94NonBonded
MMFF94NonBonded()
Default constructor.
BALL::MMFF94NonBonded::getESEnergy
double getESEnergy() const
BALL::MMFF94NonBonded::update
virtual void update()
BALL::MMFF94NonBonded::determineMethodOfAtomPairGeneration
virtual MolmecSupport::PairListAlgorithmType determineMethodOfAtomPairGeneration()
Computes the most efficient way to calculate the non-bonded atom pairs.
BALL::MMFF94NonBonded::vdw_energy_
double vdw_energy_
Definition
MMFF94NonBonded.h:131
BALL::MMFF94NonBonded::updateEnergy
virtual double updateEnergy()
Calculates and returns the component's energy.
BALL::MMFF94NonBonded::clear
virtual void clear()
Clear method.
BALL::MMFF94NonBonded::getNonBondedData
const vector< NonBondedPairData > & getNonBondedData() const
Definition
MMFF94NonBonded.h:117
BALL::MMFF94NonBonded::getVDWEnergy
double getVDWEnergy() const
BALL::MMFF94NonBonded::es_energy_
double es_energy_
Definition
MMFF94NonBonded.h:128
BALL::MMFF94NonBonded::setup
virtual bool setup()
BALL::MMFF94NonBonded::updateForces
virtual void updateForces()
Calculates and returns the component's forces.
BALL::MMFF94NonBonded::getAtomPairs
const ForceField::PairVector & getAtomPairs() const
Definition
MMFF94NonBonded.h:114
BALL::MMFF94VDWParameters
Definition
MMFF94Parameters.h:460
BALL_CREATE
#define BALL_CREATE(name)
Definition
create.h:62
forceFieldComponent.h
BALL::MolmecSupport
Definition
support.h:46
BALL::MolmecSupport::PairListAlgorithmType
PairListAlgorithmType
Definition
support.h:61
BALL
Definition
constants.h:13
BALL::MMFF94NonBonded::NonBondedPairData::rij_7
double rij_7
Definition
MMFF94NonBonded.h:42
BALL::MMFF94NonBonded::NonBondedPairData::vdw_energy
double vdw_energy
Definition
MMFF94NonBonded.h:43
BALL::MMFF94NonBonded::NonBondedPairData::eij
double eij
Definition
MMFF94NonBonded.h:40
BALL::MMFF94NonBonded::NonBondedPairData::qj
double qj
Definition
MMFF94NonBonded.h:47
BALL::MMFF94NonBonded::NonBondedPairData::qi
double qi
Definition
MMFF94NonBonded.h:46
BALL::MMFF94NonBonded::NonBondedPairData::is_1_4
bool is_1_4
Definition
MMFF94NonBonded.h:45
BALL::MMFF94NonBonded::NonBondedPairData::NonBondedPairData
NonBondedPairData()
BALL::MMFF94NonBonded::NonBondedPairData::rij
double rij
Definition
MMFF94NonBonded.h:41
BALL::MMFF94NonBonded::NonBondedPairData::es_energy
double es_energy
Definition
MMFF94NonBonded.h:48
support.h
Generated by
1.15.0