/usr/include/BALL/MOLMEC/MMFF94/MMFF94NonBonded.h is in libball1.4-dev 1.4.3~beta1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: MMFF94NonBonded.h,v 1.1.8.4 2007/05/16 20:34:22 amoll Exp $
//
#ifndef BALL_MOLMEC_MMFF94_NONBONDED_H
#define BALL_MOLMEC_MMFF94_NONBONDED_H
#ifndef BALL_MOLMEC_COMMON_FORCEFIELDCOMPONENT_H
# include <BALL/MOLMEC/COMMON/forceFieldComponent.h>
#endif
#ifndef BALL_MOLMEC_COMMON_SUPPORT_H
# include <BALL/MOLMEC/COMMON/support.h>
#endif
#ifndef BALL_MOLMEC_MMFF94_MMFF94PARAMETERS_H
# include <BALL/MOLMEC/MMFF94/MMFF94Parameters.h>
#endif
#ifndef BALL_MOLMEC_MMFF94_PROCESSORS_H
# include <BALL/MOLMEC/MMFF94/MMFF94Processors.h>
#endif
namespace BALL
{
/** MMFF94 NonBonded (VdW + Electrostatic) component
\ingroup MMFF94
*/
class BALL_EXPORT MMFF94NonBonded
: public ForceFieldComponent
{
public:
struct NonBondedPairData
{
NonBondedPairData();
double eij;
double rij;
double rij_7;
double vdw_energy; // for debugging
// for electrostatics:
bool is_1_4;
double qi;
double qj;
double es_energy; // for debugging
};
/// flag to enable ES
#define MMFF94_ES_ENABLED "enable ES"
/// flag to enable VDW
#define MMFF94_VDW_ENABLED "enable VDW"
BALL_CREATE(MMFF94NonBonded)
/// Default constructor.
MMFF94NonBonded()
;
/// Constructor.
MMFF94NonBonded(ForceField& force_field)
;
/// Copy constructor
MMFF94NonBonded(const MMFF94NonBonded& MMFF94_non_bonded)
;
/// Destructor.
virtual ~MMFF94NonBonded()
;
/// Assignment operator
const MMFF94NonBonded& operator = (const MMFF94NonBonded& anb)
;
/// Clear method
virtual void clear()
;
/// Equality operator
bool operator == (const MMFF94NonBonded& anb)
;
/// Setup method.
virtual bool setup()
throw(Exception::TooManyErrors);
/// Calculates and returns the component's energy.
virtual double updateEnergy()
;
/// Calculates and returns the component's forces.
virtual void updateForces()
;
/** Update the pair list.
This method is called by the force field whenever
\link ForceField::update ForceField::update \endlink is called. It is used
to recalculate the nonbonded pair list.
*/
virtual void update()
throw(Exception::TooManyErrors);
/// Computes the most efficient way to calculate the non-bonded atom pairs
virtual MolmecSupport::PairListAlgorithmType
determineMethodOfAtomPairGeneration()
;
///
const ForceField::PairVector& getAtomPairs() const { return atom_pair_vector_;}
///
const vector<NonBondedPairData>& getNonBondedData() const { return non_bonded_data_;}
///
double getVDWEnergy() const;
///
double getESEnergy() const;
protected:
//_ Value of the electrostatic energy
double es_energy_;
//_ Value of the vdw energy
double vdw_energy_;
private:
/*_ The most efficient algorithm to calculate the non-bonded atom pairs.
{\tt BRUTE\_FORCE}: brute force: all against all\\
{\tt HASH\_GRID}: box grid
*/
ForceField::PairVector atom_pair_vector_;
vector<NonBondedPairData> non_bonded_data_;
MolmecSupport::PairListAlgorithmType algorithm_type_;
double cut_off_;
double vdw_cut_on_, vdw_cut_off_;
double es_cut_on_, es_cut_off_;
MMFF94VDWParameters vdw_parameters_;
// dielectric constant
double dc_;
// dielectric model exponent
double n_;
bool es_enabled_;
bool vdw_enabled_;
bool enable_es_switch_;
bool enable_vdw_switch_;
double es_d_on2_, es_d_off2_,
es_d_on_, es_d_off_,
es_ac_, es_bc_,
es_cc_, es_dc_, es_denom_, es_con_, es_cover3_, es_dover5_,
es_eadd_, es_eaddr_, es_const_, es_constr_;
};
} // namespace BALL
#endif // BALL_MOLMEC_MMFF94_MMFF94VDW_H
|