Loading...
Searching...
No Matches
MMFF94NonBonded.h
Go to the documentation of this file.
// -*- 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
{
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
};
#define MMFF94_ES_ENABLED "enable ES"
#define MMFF94_VDW_ENABLED "enable VDW"
BALL_CREATE(MMFF94NonBonded)
MMFF94NonBonded()
;
MMFF94NonBonded(ForceField& force_field)
;
MMFF94NonBonded(const MMFF94NonBonded& MMFF94_non_bonded)
;
virtual ~MMFF94NonBonded()
;
const MMFF94NonBonded& operator = (const MMFF94NonBonded& anb)
;
virtual void clear()
;
bool operator == (const MMFF94NonBonded& anb)
;
virtual bool setup();
virtual double updateEnergy()
;
virtual void updateForces()
;
virtual void update();
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
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