QCAtoms Class Reference

#include <QCAtoms.hpp>

Inheritance diagram for QCAtoms:

Inheritance graph
[legend]
List of all members.

Detailed Description

Class containing informations about the atoms.

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 QCAtomsgetAtoms (void) const
std::vector< int > & getConnectivity (const int i)
QCFloatgetCoordsAt (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 QCAtomsasBase (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


Constructor & Destructor Documentation

QCAtoms::QCAtoms void   )  [inline]
 

Basic constructor.

Definition at line 62 of file QCAtoms.hpp.

QCAtoms::QCAtoms int  nb  )  [inline]
 

Basic constructor.

Parameters:
nb is the number of atoms in the domain.

Definition at line 69 of file QCAtoms.hpp.

References _connect, _fragName, _nbAA, atoms, atomType, DIMENSION, fragTab, and nbFrags.

virtual QCAtoms::~QCAtoms void   )  [inline, virtual]
 

Definition at line 86 of file QCAtoms.hpp.

References _connect, _fragName, _nbLinks, atoms, atomType, disps, fragTab, and QC_TRACE_END.


Member Function Documentation

void QCAtoms::allocateAtoms int  nb  )  [inline]
 

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().

void QCAtoms::allocateDisps void   )  [inline]
 

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:

const QCAtoms& QCAtoms::asBase void   )  const [inline, protected]
 

Reimplemented in QCSystem.

Definition at line 459 of file QCAtoms.hpp.

void QCAtoms::buildGravityCenter QCPoint3D G  )  const [inline]
 

Definition at line 278 of file QCAtoms.hpp.

References atoms, COORDX, COORDY, COORDZ, DIMENSION, and nbAtoms.

Referenced by QCLinearPartitioner< TPSystem >::computeInnerReference().

void QCAtoms::displayDisps ostream &  out  ) 
 

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:

void QCAtoms::divDisps QCFloat  val  )  [inline]
 

Definition at line 304 of file QCAtoms.hpp.

References DIMENSION, disps, and nbAtoms.

Referenced by QCGlobalSystem< TPSolver >::computeEnergyDerivatives().

void QCAtoms::findMinMax QCPoint3D atomMin,
QCPoint3D atomMax
const [inline]
 

Return The min and the max positions of set of atoms

Parameters:
atomMin 
atomMax 

Definition at line 365 of file QCAtoms.hpp.

References atoms, COORDX, COORDY, COORDZ, DIMENSION, and nbAtoms.

Referenced by QCLinearPartitioner< TPSystem >::setXMinXMax().

std::string& QCAtoms::fragName const int  i  )  [inline]
 

!The accessors.

Definition at line 187 of file QCAtoms.hpp.

References _fragName.

Referenced by QCReader::readAtomsFile().

const QCAtoms& QCAtoms::getAtoms void   )  const [inline]
 

Definition at line 389 of file QCAtoms.hpp.

Referenced by QCLinearPartitioner< TPSystem >::setAtomsInBuffers(), and QCLinearPartitioner< TPSystem >::setAtomsInKernel().

std::vector<int>& QCAtoms::getConnectivity const int  i  )  [inline]
 

!The accessors.

Definition at line 193 of file QCAtoms.hpp.

References _connect.

Referenced by QCReader::readAtomsFile().

QCFloat* QCAtoms::getCoordsAt int  index  )  const [inline]
 

Get a pointer on the atom's coordonate of index index

Parameters:
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().

void QCAtoms::getDispAt int  index,
QCPoint3D p
const [inline]
 

Parameters:
index 

Definition at line 218 of file QCAtoms.hpp.

References COORDX, COORDY, COORDZ, DIMENSION, disps, and nbAtoms.

Referenced by displayDisps().

int QCAtoms::getFragment int  index  )  const [inline]
 

Definition at line 250 of file QCAtoms.hpp.

References fragTab, and nbAtoms.

Referenced by QCKimikaPartitioner< TPSystem >::initAtomsList().

int QCAtoms::getNbAA void   )  const [inline]
 

!The accessors.

Definition at line 176 of file QCAtoms.hpp.

References _nbAA.

Referenced by QCMDSystem< TPSolver >::init().

int QCAtoms::getNbAtoms void   )  const [inline]
 

!The accessors.

Definition at line 166 of file QCAtoms.hpp.

References nbAtoms.

Referenced by QCPartSubDomain::addAtomsInKernel(), QCSubDomain::computeBFactor(), QCLinearPartitioner< TPSystem >::computeInnerReference(), QCSubDomain::copyAtomOverlpInto(), displayDisps(), QCSubDomain::fillAtomInStructure(), QCSubDomain::fillWeight(), QCKimikaPartitioner< TPSystem >::initAtomsList(), QCSubDomain::initWeightedDensity(), operator<<(), QCLinearPartitioner< TPSystem >::partitioning(), QCKimikaPartitioner< TPSystem >::partitioning(), QCLinearPartitioner< TPSystem >::projectOnInnerReference(), QCReader::readAtomsFile(), QCLinearPartitioner< TPSystem >::setAtomsInKernel(), QCLinearPartitioner< TPSystem >::setLoad(), QCLinearPartitioner< TPSystem >::sortFirstAxis(), QCSubDomain::traceProductCoreShell1(), QCSubDomain::updateInternalStructure(), QCMDSystem< TPSolver >::writeDensityOnFileAscii(), QCSubDomain::writeInFileNew(), QCPartitioner< TPSystem >::writeInFileVTK(), QCKimikaPartitioner< TPSystem >::writeInventorFiles(), QCMDSystem< TPSolver >::writeLocalDensityOnFilesAscii(), QCMDSystem< TPSolver >::writeOrbitalPartition(), QCSystem::writeQCIAtomicSystem(), and QCPartitioner< TPSystem >::writeSubDomainVTK().

int QCAtoms::getNbFrags void   )  const [inline]
 

!The accessors.

Definition at line 172 of file QCAtoms.hpp.

References nbFrags.

Referenced by QCKimikaPartitioner< TPSystem >::initAtomsList().

int QCAtoms::getNbLinks void   )  const [inline]
 

!The accessors.

Definition at line 181 of file QCAtoms.hpp.

References _nbLinks.

void QCAtoms::getPointAt int  index,
QCPoint3D p
const [inline]
 

Get the position of atom index.

Parameters:
index the number of the atom
p 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().

int QCAtoms::getType int  index  )  const [inline]
 

Return the type of atom index

Parameters:
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().

void QCAtoms::incrXDisp int  idx,
QCFloat  val
[inline]
 

Definition at line 300 of file QCAtoms.hpp.

References COORDX, DIMENSION, and disps.

Referenced by QCMndo::dispatchDerivative().

void QCAtoms::incrYDisp int  idx,
QCFloat  val
[inline]
 

Definition at line 301 of file QCAtoms.hpp.

References COORDY, DIMENSION, and disps.

Referenced by QCMndo::dispatchDerivative().

void QCAtoms::incrZDisp int  idx,
QCFloat  val
[inline]
 

Definition at line 302 of file QCAtoms.hpp.

References COORDZ, DIMENSION, and disps.

Referenced by QCMndo::dispatchDerivative().

void QCAtoms::resetDisps void   )  [inline]
 

Definition at line 154 of file QCAtoms.hpp.

References DIMENSION, disps, nbAtoms, and QC_ZERO.

Referenced by allocateDisps().

int QCAtoms::setFragment int  index,
int  fragNumber
[inline, protected]
 

Parameters:
fragTab 

Definition at line 449 of file QCAtoms.hpp.

References fragTab, and nbAtoms.

Referenced by QCReader::readAtomsFile().

void QCAtoms::setNbAA const int  n  )  [inline]
 

Definition at line 177 of file QCAtoms.hpp.

References _nbAA.

Referenced by QCReader::readAtomsFile().

void QCAtoms::setNbLinks const int  nbLink  )  [inline]
 

Definition at line 182 of file QCAtoms.hpp.

References _nbLinks.

Referenced by QCReader::readAtomsFile().

void QCAtoms::setPointAt int  index,
const QCPoint3D p
[inline, protected]
 

Parameters:
index 

Definition at line 419 of file QCAtoms.hpp.

References atoms, COORDX, COORDY, COORDZ, DIMENSION, and nbAtoms.

void QCAtoms::setPointAt int  index,
const QCFloat array
[inline, protected]
 

Parameters:
index 

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().

int QCAtoms::setType int  index,
int  type
[inline, protected]
 

Parameters:
index 

Definition at line 435 of file QCAtoms.hpp.

References atomType, and nbAtoms.

Referenced by QCMDSystem< TPSolver >::addAtom(), and QCReader::readAtomsFile().

void QCAtoms::swap const int  index1,
const int  index2
[inline]
 

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().


Friends And Related Function Documentation

friend class QCLinearPartitioner [friend]
 

Definition at line 53 of file QCAtoms.hpp.

friend class QCMDSystem [friend]
 

Definition at line 52 of file QCAtoms.hpp.


Member Data Documentation

std::vector<int>* QCAtoms::_connect [protected]
 

Definition at line 513 of file QCAtoms.hpp.

Referenced by allocateAtoms(), getConnectivity(), QCAtoms(), swap(), QCSystem::writeQCIAtomicSystem(), and ~QCAtoms().

std::string* QCAtoms::_fragName [protected]
 

Name of the fragment

Definition at line 507 of file QCAtoms.hpp.

Referenced by allocateAtoms(), fragName(), QCAtoms(), swap(), QCSystem::writeQCIAtomicSystem(), and ~QCAtoms().

int QCAtoms::_nbAA [protected]
 

The number of Amino Acids

Definition at line 517 of file QCAtoms.hpp.

Referenced by getNbAA(), QCAtoms(), and setNbAA().

int QCAtoms::_nbLinks [protected]
 

Number of links in the molecule.

Definition at line 512 of file QCAtoms.hpp.

Referenced by getNbLinks(), setNbLinks(), and ~QCAtoms().

QCFloat* __restrict__ QCAtoms::atoms [protected]
 

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().

int* QCAtoms::atomType [protected]
 

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().

const int QCAtoms::DIMENSION = 3 [static]
 

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().

QCFloat* __restrict__ QCAtoms::disps [protected]
 

Definition at line 484 of file QCAtoms.hpp.

Referenced by allocateDisps(), divDisps(), getDispAt(), incrXDisp(), incrYDisp(), incrZDisp(), resetDisps(), swap(), and ~QCAtoms().

int* __restrict__ QCAtoms::fragTab [protected]
 

The array of fragments

Definition at line 495 of file QCAtoms.hpp.

Referenced by allocateAtoms(), getFragment(), QCAtoms(), setFragment(), swap(), and ~QCAtoms().

int QCAtoms::nbAtoms [protected]
 

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().

int QCAtoms::nbFrags [protected]
 

The number of fragments

Definition at line 503 of file QCAtoms.hpp.

Referenced by allocateAtoms(), getNbFrags(), and QCAtoms().


The documentation for this class was generated from the following files:
Generated on Sat Jan 28 21:07:33 2006 for QC++ by  doxygen 1.4.4