76 Atom(
double x,
double y,
double z,
double q,
unsigned int atomic_number)
77 : x(x), y(y), z(z), q(q), atomic_number(atomic_number)
81 : x(a.x), y(a.y), z(a.z), q(a.q), atomic_number(a.atomic_number)
86 : x(0), y(0), z(0), q(0), atomic_number(0)
89 template <
typename Archive>
98 std::vector<Atom> atoms;
99 std::vector<double> rcut;
100 std::vector<double> rsqasymptotic;
110 void add_atom(
double x,
double y,
double z,
int atn,
double q);
112 int natom()
const {
return atoms.size();};
136 template <
typename Archive>
137 void serialize(Archive& ar) {ar & atoms & rcut & rsqasymptotic;}
void serialize(Archive &ar)
Definition: mentity.h:137
double z
Definition: DFcode/molecule.h:56
double nuclear_repulsion_energy() const
Definition: mentity.cc:393
double inter_atomic_distance(unsigned int i, unsigned int j) const
Definition: mentity.cc:386
Header to declare stuff which has not yet found a home.
const char *const symbol_lowercase
Definition: DFcode/atomutil.h:54
::std::string string
Definition: gtest-port.h:872
double x
Definition: DFcode/molecule.h:56
void print() const
Definition: mentity.cc:374
Atom(double x, double y, double z, double q, unsigned int atomic_number)
Definition: mentity.h:76
void add_atom(double x, double y, double z, int atn, double q)
Definition: mentity.cc:355
void set_atom_coords(unsigned int i, double x, double y, double z)
Definition: mentity.cc:362
Atom()
Default construct makes a zero charge ghost atom at origin.
Definition: mentity.h:85
unsigned int symbol_to_atomic_number(const std::string &symbol)
Definition: chem/atomutil.cc:166
double q
Coordinates and charge in atomic units.
Definition: DFcode/molecule.h:56
const double covalent_radius
Covalent radii stolen without shame from NWChem.
Definition: DFcode/atomutil.h:62
double total_nuclear_charge() const
Definition: mentity.cc:444
std::ostream & operator<<(std::ostream &s, const Atom &atom)
Definition: DFcode/molecule.cc:64
FLOAT a(int j, FLOAT z)
Definition: y1.cc:86
Definition: DFcode/atomutil.h:44
Atom(const Atom &a)
Definition: mentity.h:80
void center()
Moves the center of nuclear charge to the origin.
Definition: mentity.cc:413
void read_file(const std::string &filename, bool fractional)
Definition: mentity.cc:289
const double nuclear_radius
Radius of the nucleus for the finite nucleus models (in atomic units).
Definition: DFcode/atomutil.h:57
double nuclear_attraction_potential(double x, double y, double z) const
Definition: mentity.cc:452
MolecularEntity()
Makes a MolecularEntity with zero atoms.
Definition: mentity.h:104
const Atom & get_atom(unsigned int i) const
Definition: mentity.cc:369
Abstract Atom class.
Definition: DFcode/molecule.h:54
double smallest_length_scale() const
Definition: mentity.cc:403
const unsigned int atomic_number
Definition: DFcode/atomutil.h:55
double y
Definition: DFcode/molecule.h:56
double bounding_cube() const
Returns the half width of the bounding cube.
Definition: mentity.cc:434
const double nuclear_gaussian_exponent
Exponential parameter in the Gaussian Model (in atomic units).
Definition: DFcode/atomutil.h:59
const double nuclear_half_charge_radius
Half charge radius in the Fermi Model (in atomic units).
Definition: DFcode/atomutil.h:58
const char *const symbol
Definition: DFcode/atomutil.h:53
double nuclear_charge_density(double x, double y, double z) const
Definition: mentity.cc:469
const AtomicData & get_atomic_data(unsigned int atn)
Definition: chem/atomutil.cc:160
unsigned int atomic_number
Atomic number.
Definition: DFcode/molecule.h:57
void serialize(Archive &ar)
Definition: mentity.h:90
int natom() const
Definition: mentity.h:112
const int isotope_number
Definition: DFcode/atomutil.h:56