#include <QCAtoms.hpp>
Inheritance diagram for QCAtoms:
Class containing informations about the atoms. In CQCAtoms,
the information is in the form of vector of variables in CQCAtoms
and in the form of vector of instances in CQCAtom. The instance of
CQCAtoms describes the overall atomic system whereas each instance
of CQCAtom holds several features of a single atom. The purpose of the CQCAtoms
implementation is to allow stride accesses on the x, y and z vectors.
Definition at line 49 of file QCAtoms.hpp.
Public Member Functions | |
void | allocateAtoms (int nb) |
void | allocateDisps (void) |
void | buildGravityCenter (QCPoint3D &G) const |
void | displayDisps (ostream &out) |
void | divDisps (QCFloat val) |
void | findMinMax (QCPoint3D &atomMin, QCPoint3D &atomMax) const |
std::string & | fragName (const int i) |
const QCAtoms & | getAtoms (void) const |
std::vector< int > & | getConnectivity (const int i) |
QCFloat * | getCoordsAt (int index) const |
void | getDispAt (int index, QCPoint3D &p) const |
int | getFragment (int index) const |
int | getNbAA (void) const |
int | getNbAtoms (void) const |
int | getNbFrags (void) const |
int | getNbLinks (void) const |
void | getPointAt (int index, QCPoint3D &p) const |
int | getType (int index) const |
void | incrXDisp (int idx, QCFloat val) |
void | incrYDisp (int idx, QCFloat val) |
void | incrZDisp (int idx, QCFloat val) |
QCAtoms (int nb) | |
QCAtoms (void) | |
void | resetDisps (void) |
void | setNbAA (const int n) |
void | setNbLinks (const int nbLink) |
void | swap (const int index1, const int index2) |
virtual | ~QCAtoms (void) |
Static Public Attributes | |
static const int | DIMENSION = 3 |
Protected Member Functions | |
const QCAtoms & | asBase (void) const |
int | setFragment (int index, int fragNumber) |
void | setPointAt (int index, const QCPoint3D &p) |
void | setPointAt (int index, const QCFloat *array) |
int | setType (int index, int type) |
Protected Attributes | |
std::vector< int > * | _connect |
std::string * | _fragName |
int | _nbAA |
int | _nbLinks |
QCFloat *__restrict__ | atoms |
int * | atomType |
QCFloat *__restrict__ | disps |
int *__restrict__ | fragTab |
int | nbAtoms |
int | nbFrags |
Friends | |
class | QCLinearPartitioner |
class | QCMDSystem |
|
Basic constructor. Definition at line 62 of file QCAtoms.hpp. |
|
Basic constructor.
Definition at line 69 of file QCAtoms.hpp. References _connect, _fragName, _nbAA, atoms, atomType, DIMENSION, fragTab, and nbFrags. |
|
Definition at line 86 of file QCAtoms.hpp. References _connect, _fragName, _nbLinks, atoms, atomType, disps, fragTab, and QC_TRACE_END. |
|
Memory allocation of arrays in the structure. Definition at line 114 of file QCAtoms.hpp. References _connect, _fragName, atoms, atomType, DIMENSION, fragTab, nbAtoms, and nbFrags. Referenced by QCSubDomain::allocStructures(), and QCReader::readAtomsFile(). |
|
Definition at line 140 of file QCAtoms.hpp. References DIMENSION, disps, nbAtoms, and resetDisps(). Referenced by QCGlobalSystem< TPSolver >::init(). Here is the call graph for this function: ![]() |
|
Reimplemented in QCSystem. Definition at line 459 of file QCAtoms.hpp. |
|
Definition at line 278 of file QCAtoms.hpp. References atoms, COORDX, COORDY, COORDZ, DIMENSION, and nbAtoms. Referenced by QCLinearPartitioner< TPSystem >::computeInnerReference(). |
|
Definition at line 65 of file QCAtoms.cpp. References getDispAt(), getNbAtoms(), getType(), and table. Referenced by QCGlobalSystem< TPSolver >::computeEnergyDerivatives(). Here is the call graph for this function: ![]() |
|
Definition at line 304 of file QCAtoms.hpp. References DIMENSION, disps, and nbAtoms. Referenced by QCGlobalSystem< TPSolver >::computeEnergyDerivatives(). |
|
Return The min and the max positions of set of atoms
Definition at line 365 of file QCAtoms.hpp. References atoms, COORDX, COORDY, COORDZ, DIMENSION, and nbAtoms. Referenced by QCLinearPartitioner< TPSystem >::setXMinXMax(). |
|
!The accessors. Definition at line 187 of file QCAtoms.hpp. References _fragName. Referenced by QCReader::readAtomsFile(). |
|
Definition at line 389 of file QCAtoms.hpp. Referenced by QCLinearPartitioner< TPSystem >::setAtomsInBuffers(), and QCLinearPartitioner< TPSystem >::setAtomsInKernel(). |
|
!The accessors. Definition at line 193 of file QCAtoms.hpp. References _connect. Referenced by QCReader::readAtomsFile(). |
|
Get a pointer on the atom's coordonate of index index
Definition at line 268 of file QCAtoms.hpp. References atoms, COORDX, DIMENSION, and nbAtoms. Referenced by QCPartSubDomain::addAtomsInBuffers(), QCPartSubDomain::addAtomsInKernel(), QCLinearPartitioner< TPSystem >::computeInnerReference(), QCKimikaPartitioner< TPSystem >::initAtomsList(), QCLinearPartitioner< TPSystem >::sortFirstAxis(), and QCKimikaPartitioner< TPSystem >::writeInventorFiles(). |
|
Definition at line 218 of file QCAtoms.hpp. References COORDX, COORDY, COORDZ, DIMENSION, disps, and nbAtoms. Referenced by displayDisps(). |
|
Definition at line 250 of file QCAtoms.hpp. References fragTab, and nbAtoms. Referenced by QCKimikaPartitioner< TPSystem >::initAtomsList(). |
|
!The accessors. Definition at line 176 of file QCAtoms.hpp. References _nbAA. Referenced by QCMDSystem< TPSolver >::init(). |
|
|
!The accessors. Definition at line 172 of file QCAtoms.hpp. References nbFrags. Referenced by QCKimikaPartitioner< TPSystem >::initAtomsList(). |
|
!The accessors. Definition at line 181 of file QCAtoms.hpp. References _nbLinks. |
|
Get the position of atom index.
Definition at line 202 of file QCAtoms.hpp. References atoms, COORDX, COORDY, COORDZ, DIMENSION, and nbAtoms. Referenced by operator<<(), QCLinearPartitioner< TPSystem >::projectOnInnerReference(), QCPartitioner< TPSystem >::writeInFileVTK(), and QCPartitioner< TPSystem >::writeSubDomainVTK(). |
|
Return the type of atom index
Definition at line 234 of file QCAtoms.hpp. References atomType, and nbAtoms. Referenced by displayDisps(), QCKimikaPartitioner< TPSystem >::initAtomsList(), operator<<(), QCLinearPartitioner< TPSystem >::setLoad(), QCSystem::setParamIndexes(), and QCSubDomain::updateInternalStructure(). |
|
Definition at line 300 of file QCAtoms.hpp. References COORDX, DIMENSION, and disps. Referenced by QCMndo::dispatchDerivative(). |
|
Definition at line 301 of file QCAtoms.hpp. References COORDY, DIMENSION, and disps. Referenced by QCMndo::dispatchDerivative(). |
|
Definition at line 302 of file QCAtoms.hpp. References COORDZ, DIMENSION, and disps. Referenced by QCMndo::dispatchDerivative(). |
|
Definition at line 154 of file QCAtoms.hpp. References DIMENSION, disps, nbAtoms, and QC_ZERO. Referenced by allocateDisps(). |
|
Definition at line 449 of file QCAtoms.hpp. References fragTab, and nbAtoms. Referenced by QCReader::readAtomsFile(). |
|
Definition at line 177 of file QCAtoms.hpp. References _nbAA. Referenced by QCReader::readAtomsFile(). |
|
Definition at line 182 of file QCAtoms.hpp. References _nbLinks. Referenced by QCReader::readAtomsFile(). |
|
Definition at line 419 of file QCAtoms.hpp. References atoms, COORDX, COORDY, COORDZ, DIMENSION, and nbAtoms. |
|
Definition at line 403 of file QCAtoms.hpp. References atoms, COORDX, COORDY, COORDZ, DIMENSION, and nbAtoms. Referenced by QCMDSystem< TPSolver >::addAtom(), QCLinearPartitioner< TPSystem >::projectOnInnerReference(), and QCReader::readAtomsFile(). |
|
Definition at line 435 of file QCAtoms.hpp. References atomType, and nbAtoms. Referenced by QCMDSystem< TPSolver >::addAtom(), and QCReader::readAtomsFile(). |
|
Swap the two atoms of index1 and index2 in the QCAtoms structure. Reimplemented in QCSubDomain. Definition at line 317 of file QCAtoms.hpp. References _connect, _fragName, atoms, atomType, COORDX, COORDY, COORDZ, DIMENSION, disps, and fragTab. Referenced by QCLinearPartitioner< TPSystem >::sortFirstAxis(). |
|
Definition at line 53 of file QCAtoms.hpp. |
|
Definition at line 52 of file QCAtoms.hpp. |
|
Definition at line 513 of file QCAtoms.hpp. Referenced by allocateAtoms(), getConnectivity(), QCAtoms(), swap(), QCSystem::writeQCIAtomicSystem(), and ~QCAtoms(). |
|
Name of the fragment Definition at line 507 of file QCAtoms.hpp. Referenced by allocateAtoms(), fragName(), QCAtoms(), swap(), QCSystem::writeQCIAtomicSystem(), and ~QCAtoms(). |
|
The number of Amino Acids Definition at line 517 of file QCAtoms.hpp. |
|
Number of links in the molecule. Definition at line 512 of file QCAtoms.hpp. Referenced by getNbLinks(), setNbLinks(), and ~QCAtoms(). |
|
The array of positions (x,y,z) Definition at line 476 of file QCAtoms.hpp. Referenced by allocateAtoms(), buildGravityCenter(), QCSubDomain::copyAtomOverlpInto(), QCSystem::distance(), findMinMax(), getCoordsAt(), getPointAt(), QCAtoms(), QCSubDomain::setAtomOverlpFrom(), setPointAt(), swap(), QCSubDomain::unsetAtomOverlp(), QCSystem::writeQCIAtomicSystem(), and ~QCAtoms(). |
|
Type of atoms (H, N, C, O, ...) Definition at line 491 of file QCAtoms.hpp. Referenced by allocateAtoms(), getType(), QCAtoms(), setType(), swap(), QCSystem::writeQCIAtomicSystem(), and ~QCAtoms(). |
|
Attributes: Definition at line 470 of file QCAtoms.hpp. Referenced by allocateAtoms(), allocateDisps(), buildGravityCenter(), QCSubDomain::copyAtomOverlpInto(), QCSystem::distance(), divDisps(), findMinMax(), getCoordsAt(), getDispAt(), getPointAt(), incrXDisp(), incrYDisp(), incrZDisp(), QCAtoms(), QCReader::readAtomsFile(), resetDisps(), setPointAt(), swap(), and QCSystem::writeQCIAtomicSystem(). |
|
Definition at line 484 of file QCAtoms.hpp. Referenced by allocateDisps(), divDisps(), getDispAt(), incrXDisp(), incrYDisp(), incrZDisp(), resetDisps(), swap(), and ~QCAtoms(). |
|
The array of fragments Definition at line 495 of file QCAtoms.hpp. Referenced by allocateAtoms(), getFragment(), QCAtoms(), setFragment(), swap(), and ~QCAtoms(). |
|
The number of atoms in the system Definition at line 499 of file QCAtoms.hpp. Referenced by allocateAtoms(), allocateDisps(), QCSubDomain::allocStructures(), buildGravityCenter(), QCGlobalSystem< TPSolver >::computeEnergyDerivatives(), QCSubDomain::copyAtomOverlpInto(), divDisps(), QCSubDomain::fillDensityArray(), findMinMax(), getCoordsAt(), getDispAt(), getFragment(), getNbAtoms(), getPointAt(), getType(), QCSystem::init(), resetDisps(), QCSubDomain::setAtomOverlpFrom(), setFragment(), QCSystem::setParamIndexes(), setPointAt(), QCSystem::setSystemNumbers(), QCSubDomain::setSystemNumbers(), and setType(). |
|
The number of fragments Definition at line 503 of file QCAtoms.hpp. Referenced by allocateAtoms(), getNbFrags(), and QCAtoms(). |