MADNESS
version 0.9
|
#include <mentity.h>
Public Member Functions | |
MolecularEntity () | |
Makes a MolecularEntity with zero atoms. More... | |
MolecularEntity (const std::string &filename, bool fractional) | |
Read coordinates from a file. More... | |
void | read_file (const std::string &filename, bool fractional) |
void | add_atom (double x, double y, double z, int atn, double q) |
int | natom () const |
void | set_atom_coords (unsigned int i, double x, double y, double z) |
double | bounding_cube () const |
Returns the half width of the bounding cube. More... | |
const Atom & | get_atom (unsigned int i) const |
void | print () const |
double | inter_atomic_distance (unsigned int i, unsigned int j) const |
double | nuclear_repulsion_energy () const |
double | smallest_length_scale () const |
void | center () |
Moves the center of nuclear charge to the origin. More... | |
double | total_nuclear_charge () const |
double | nuclear_attraction_potential (double x, double y, double z) const |
double | nuclear_charge_density (double x, double y, double z) const |
template<typename Archive > | |
void | serialize (Archive &ar) |
|
inline |
Makes a MolecularEntity with zero atoms.
MolecularEntity::MolecularEntity | ( | const std::string & | filename, |
bool | fractional = false |
||
) |
Read coordinates from a file.
Scans the file for the first geometry block in the format
The charge q
is inferred from the tag which is assumed to be the standard symbol for an element. Same as the simplest NWChem format. For ghost atoms (bq
) the charge is read as a fifth field on the line.
This code is just for the examples ... don't trust it!
void MolecularEntity::add_atom | ( | double | x, |
double | y, | ||
double | z, | ||
int | atn, | ||
double | q | ||
) |
double MolecularEntity::bounding_cube | ( | ) | const |
Returns the half width of the bounding cube.
The MolecularEntity will be contained in the cube [-L,+L].
References mpfr::fabs(), L, and max.
void MolecularEntity::center | ( | ) |
Moves the center of nuclear charge to the origin.
Referenced by madness::Solver< T, NDIM >::init(), test_nuclear_energy(), test_nuclear_potential(), test_nuclear_potential2(), test_nuclear_potential3(), and test_nuclear_potential_big_unit_cell().
const Atom & MolecularEntity::get_atom | ( | unsigned int | i | ) | const |
Referenced by AtomicBasisSet::atoms_to_bfn(), AtomicBasisSet::basisfn_to_atom(), compute_madelung_energy(), compute_madelung_energy_PWSCF(), AtomicBasisSet::eval(), AtomicBasisSet::eval_guess_density(), AtomicBasisSet::get_atomic_basis_function(), make_nuclear_charge_density(), madness::Solver< T, NDIM >::make_nuclear_charge_density_impl(), make_nuclear_charge_density_individual(), AtomicBasisSet::nbf(), AtomicBasisSet::print(), AtomicBasisSet::print_anal(), and test_nuclear_potential_big_unit_cell().
double MolecularEntity::inter_atomic_distance | ( | unsigned int | i, |
unsigned int | j | ||
) | const |
References distance().
|
inline |
Referenced by AtomicBasisSet::atoms_to_bfn(), AtomicBasisSet::basisfn_to_atom(), compute_madelung_energy(), compute_madelung_energy_PWSCF(), AtomicBasisSet::eval(), AtomicBasisSet::eval_guess_density(), AtomicBasisSet::get_atomic_basis_function(), make_nuclear_charge_density(), madness::Solver< T, NDIM >::make_nuclear_charge_density_impl(), make_nuclear_charge_density_individual(), AtomicBasisSet::nbf(), AtomicBasisSet::print(), and AtomicBasisSet::print_anal().
double MolecularEntity::nuclear_attraction_potential | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
References distance(), madness::smoothed_potential(), and mpfr::sum().
double MolecularEntity::nuclear_charge_density | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
References madness::smoothed_density(), and sqrt().
Referenced by MolecularNuclearChargeDensityFunctor::operator()().
double MolecularEntity::nuclear_repulsion_energy | ( | ) | const |
References mpfr::sum().
void MolecularEntity::print | ( | ) | const |
void MolecularEntity::read_file | ( | const std::string & | filename, |
bool | fractional = false |
||
) |
|
inline |
void MolecularEntity::set_atom_coords | ( | unsigned int | i, |
double | x, | ||
double | y, | ||
double | z | ||
) |
double MolecularEntity::smallest_length_scale | ( | ) | const |
References max.
Referenced by MolecularNuclearChargeDensityFunctor::operator()(), and madness::ElectronicStructureParams::set_molecular_info().
double MolecularEntity::total_nuclear_charge | ( | ) | const |