7#include "molecules/Site.h"
33 unsigned int ID()
const {
return _id; }
46 unsigned int numCharges()
const {
return _charges.size(); }
48 unsigned int numDipoles()
const {
return _dipoles.size(); }
53 double m()
const {
return _m; }
54 double I11()
const {
return _Ipa[0]; }
55 double I22()
const {
return _Ipa[1]; }
56 double I33()
const {
return _Ipa[2]; }
57 void setI11(
double I) { _Ipa[0]=I; }
58 void setI22(
double I) { _Ipa[1]=I; }
59 void setI33(
double I) { _Ipa[2]=I; }
64 const std::vector<LJcenter>& ljcenters()
const {
return _ljcenters; }
65 LJcenter& ljcenter(
unsigned int i) {
return _ljcenters[i]; }
66 const LJcenter& ljcenter(
unsigned int i)
const {
return _ljcenters[i]; }
67 const std::vector<Charge>& charges()
const {
return _charges; }
68 Charge& charge(
unsigned i) {
return _charges[i]; }
69 const Charge& charge(
unsigned i)
const {
return _charges[i]; }
70 const std::vector<Dipole>& dipoles()
const {
return _dipoles; }
71 Dipole& dipole(
unsigned int i) {
return _dipoles[i]; }
72 const Dipole& dipole(
unsigned int i)
const {
return _dipoles[i]; }
73 const std::vector<Quadrupole>& quadrupoles()
const {
return _quadrupoles; }
74 Quadrupole& quadrupole(
unsigned int i) {
return _quadrupoles[i]; }
75 const Quadrupole& quadrupole(
unsigned int i)
const {
return _quadrupoles[i]; }
84 double x,
double y,
double z,
double m,
double eps,
85 double sigma,
double rc = 0,
bool TRUNCATED_SHIFTED = 0
87 void addCharge(
Charge& chargesite);
88 void addCharge(
double x,
double y,
double z,
double m,
double q);
89 void addDipole(
Dipole& dipolesite);
90 void addDipole(
double x,
double y,
double z,
91 double eMyx,
double eMyy,
double eMyz,
double eMyabs);
92 void addQuadrupole(
Quadrupole& quadrupolesite);
93 void addQuadrupole(
double x,
double y,
double z,
94 double eQx,
double eQy,
double eQz,
double eQabs);
98 void deleteCharge() { _charges.pop_back() ;}
99 void deleteDipole() { _dipoles.pop_back() ;}
100 void deleteQuadrupole() { _quadrupoles.pop_back() ;}
109 void write(std::ostream& ostrm)
const;
111 void writeVIM(std::ostream& ostrm);
113 void setE_trans(
double E) { _E_trans = E; }
114 void setE_rot(
double E) { _E_rot = E; }
115 void setT(
double T) { _T = T; }
116 double E_trans()
const {
return _E_trans; }
117 double E_rot()
const {
return _E_rot; }
118 double E()
const {
return _E_trans + _E_rot; }
119 double T()
const {
return _T; }
125 double getEps(
unsigned int i)
const {
return _ljcenters[i].eps();}
126 double getSigma(
unsigned int i)
const {
return _ljcenters[i].sigma();}
128 unsigned getLookUpId()
const {
132 void setLookUpId(
unsigned lookUpId) {
133 _lookUpID = lookUpId;
144 std::vector<LJcenter> _ljcenters;
145 std::vector<Charge> _charges;
146 std::vector<Dipole> _dipoles;
147 std::vector<Quadrupole> _quadrupoles;
155 unsigned long _rot_dof;
158 unsigned long _numMolecules;
Charge center.
Definition: Site.h:154
Class implementing molecules as rigid rotators consisting out of different interaction sites (LJcente...
Definition: Component.h:14
unsigned int numOrientedSites() const
Definition: Component.h:42
unsigned int numLJcenters() const
Definition: Component.h:44
void setNumMolecules(unsigned long num)
Definition: Component.h:77
unsigned int numQuadrupoles() const
Definition: Component.h:50
unsigned int numCharges() const
Definition: Component.h:46
unsigned int getRotationalDegreesOfFreedom() const
Definition: Component.h:62
unsigned int numSites() const
Definition: Component.h:36
double m() const
Definition: Component.h:53
void setID(unsigned int id)
Definition: Component.h:31
void write(std::ostream &ostrm) const
Definition: Component.cpp:207
unsigned int numDipoles() const
Definition: Component.h:48
void incNumMolecules(int N)
Definition: Component.h:79
unsigned long getNumMolecules() const
Definition: Component.h:80
double getEps(unsigned int i) const
Definition: Component.h:125
void deleteLJCenter()
Definition: Component.h:97
void readXML(XMLfileUnits &xmlconfig)
Read in XML configuration for a component and all its included objects.
Definition: Component.cpp:32
void updateMassInertia()
Definition: Component.cpp:126
unsigned int ID() const
Definition: Component.h:33
void incNumMolecules()
Definition: Component.h:78
Dipole center.
Definition: Site.h:266
Lennard-Jones 12-6 center.
Definition: Site.h:84
Quadrupole center.
Definition: Site.h:328
The Site class is the basis for the implementation of physical interactions.
Definition: Site.h:20
XML file with unit attributes abstraction.
Definition: xmlfileUnits.h:25
std::ostream & operator<<(std::ostream &stream, const Vector3< type > &v)
Definition: Vector3.h:22
::xsd::cxx::tree::name< char, token > name
C++ type corresponding to the Name XML Schema built-in type.
Definition: vtk-punstructured.h:288
::xsd::cxx::tree::id< char, ncname > id
C++ type corresponding to the ID XML Schema built-in type.
Definition: vtk-punstructured.h:322
::xsd::cxx::tree::string< char, simple_type > string
C++ type corresponding to the string XML Schema built-in type.
Definition: vtk-punstructured.h:270