9 #ifndef BALL_MOLMEC_CHARMM_NONBONDED_H
10 #define BALL_MOLMEC_CHARMM_NONBONDED_H
16 #ifndef BALL_MOLMEC_PARAMETER_LENNARDJONES_H
20 #ifndef BALL_MOLMEC_PARAMETER_POTENTIAL1210_H
24 #ifndef BALL_MOLMEC_PARAMETER_CHARMMEEF1_H
28 #ifndef BALL_MOLMEC_COMMON_FORCEFIELDCOMPONENT_H
32 #ifndef BALL_MOLMEC_COMMON_SUPPORT_H
51 #define CHARMM_NB_ENABLED "enable NB"
66 CharmmNonBonded(ForceField& force_field)
71 CharmmNonBonded(
const CharmmNonBonded& charmm_non_bonded)
76 virtual ~CharmmNonBonded()
86 const CharmmNonBonded&
operator =
87 (
const CharmmNonBonded& charmm_non_bonded)
102 bool operator == (
const CharmmNonBonded& charmm_non_bonded)
113 virtual bool setup();
122 virtual double updateEnergy()
127 virtual void updateForces()
132 virtual double getElectrostaticEnergy()
const
137 virtual double getVdwEnergy()
const
142 virtual double getSolvationEnergy()
const
153 determineMethodOfAtomPairGeneration()
159 virtual void buildVectorOfNonBondedAtomPairs
160 (
const std::vector<std::pair<Atom*, Atom*> >& atom_vector);
191 vector<LennardJones::Data> non_bonded_;
196 vector<bool> is_torsion_;
216 float cut_off_electrostatic_;
220 float cut_on_electrostatic_;
224 float cut_off_solvation_;
228 float cut_on_solvation_;
232 float inverse_difference_off_on_vdw_3_;
236 float inverse_difference_off_on_solvation_3_;
240 float inverse_difference_off_on_electrostatic_3_;
244 float scaling_vdw_1_4_;
248 float scaling_electrostatic_1_4_;
253 bool use_dist_depend_dielectric_;
267 vector<CharmmEEF1::Values> solvation_;
269 bool use_solvation_component_;
276 #endif // BALL_MOLMEC_CHARMM_CHARMMVDW_H