Loading...
Searching...
No Matches
lennardJones.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// Molecular Mechanics Parameter: class describing the atom type section of a parameter file
#ifndef BALL_MOLMEC_PARAMETER_LENNARDJONES_H
#define BALL_MOLMEC_PARAMETER_LENNARDJONES_H
#ifndef BALL_FORMAT_PARAMETERSECTION_H
# include <BALL/FORMAT/parameterSection.h>
#endif
#ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
# include <BALL/MOLMEC/PARAMETER/atomTypes.h>
#endif
namespace BALL
{
class BALL_EXPORT LennardJones
: public ParameterSection
{
public:
enum FormatType
{
A_B_FORMAT,
EPSILON_R_FORMAT,
SLATER_KIRKWOOD_FORMAT
};
struct BALL_EXPORT Values
{
float A;
float B;
};
struct BALL_EXPORT Data
{
Atom* atom1;
Atom* atom2;
Values values;
};
LennardJones() ;
LennardJones(const LennardJones& lj) ;
virtual ~LennardJones() ;
virtual void clear() ;
virtual bool extractSection(ForceFieldParameters& parameters,
const String& section_name) ;
virtual bool extractSection(Parameters& parameters,
const String& section_name) ;
bool hasParameters(Atom::Type I, Atom::Type J) const ;
Values getParameters(Atom::Type I, Atom::Type J) const ;
bool assignParameters(Values& parameters, Atom::Type I, Atom::Type J)
const ;
const LennardJones& operator = (const LennardJones& lj) ;
bool operator == (const LennardJones& lj) const ;
protected:
Size number_of_atom_types_;
std::vector<float> A_;
std::vector<float> B_;
std::vector<float> N_;
std::vector<float> Aij_;
std::vector<float> Bij_;
std::vector<bool> is_defined_;
FormatType format_;
std::vector<String> names_;
};
} // namespace BALL
#endif // BALL_MOLMEC_PARAMETER_LENNARDJONES_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
atomTypes.h
BALL::Atom
Definition atom.h:90
BALL::Atom::Type
short Type
Definition atom.h:103
BALL::ForceFieldParameters
Definition forceFieldParameters.h:31
BALL::LennardJones::format_
FormatType format_
Definition lennardJones.h:166
BALL::LennardJones::~LennardJones
virtual ~LennardJones()
BALL::LennardJones::Bij_
std::vector< float > Bij_
Definition lennardJones.h:162
BALL::LennardJones::LennardJones
LennardJones(const LennardJones &lj)
BALL::LennardJones::Aij_
std::vector< float > Aij_
Definition lennardJones.h:160
BALL::LennardJones::names_
std::vector< String > names_
Definition lennardJones.h:168
BALL::LennardJones::FormatType
FormatType
Definition lennardJones.h:52
BALL::LennardJones::SLATER_KIRKWOOD_FORMAT
@ SLATER_KIRKWOOD_FORMAT
Definition lennardJones.h:55
BALL::LennardJones::A_B_FORMAT
@ A_B_FORMAT
Definition lennardJones.h:53
BALL::LennardJones::EPSILON_R_FORMAT
@ EPSILON_R_FORMAT
Definition lennardJones.h:54
BALL::LennardJones::extractSection
virtual bool extractSection(ForceFieldParameters &parameters, const String &section_name)
BALL::LennardJones::getParameters
Values getParameters(Atom::Type I, Atom::Type J) const
BALL::LennardJones::assignParameters
bool assignParameters(Values &parameters, Atom::Type I, Atom::Type J) const
BALL::LennardJones::extractSection
virtual bool extractSection(Parameters &parameters, const String &section_name)
BALL::LennardJones::N_
std::vector< float > N_
Definition lennardJones.h:158
BALL::LennardJones::is_defined_
std::vector< bool > is_defined_
Definition lennardJones.h:164
BALL::LennardJones::hasParameters
bool hasParameters(Atom::Type I, Atom::Type J) const
BALL::LennardJones::number_of_atom_types_
Size number_of_atom_types_
Definition lennardJones.h:152
BALL::LennardJones::LennardJones
LennardJones()
BALL::LennardJones::B_
std::vector< float > B_
Definition lennardJones.h:156
BALL::LennardJones::clear
virtual void clear()
BALL::LennardJones::A_
std::vector< float > A_
Definition lennardJones.h:154
BALL::ParameterSection::ParameterSection
ParameterSection()
BALL::Parameters
Definition parameters.h:25
BALL::String
Definition string.h:57
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
parameterSection.h
BALL::LennardJones::Data
Definition lennardJones.h:72
BALL::LennardJones::Data::atom1
Atom * atom1
Definition lennardJones.h:73
BALL::LennardJones::Data::values
Values values
Definition lennardJones.h:75
BALL::LennardJones::Data::atom2
Atom * atom2
Definition lennardJones.h:74
BALL::LennardJones::Values
Definition lennardJones.h:66
BALL::LennardJones::Values::B
float B
Definition lennardJones.h:68
BALL::LennardJones::Values::A
float A
Definition lennardJones.h:67