QCPartSubDomain Class Reference

#include <QCPartSubDomain.hpp>

List of all members.


Detailed Description

class QCPartSubDomain

Definition at line 33 of file QCPartSubDomain.hpp.

Public Member Functions

void addAtomsInBuffers (const QCAtoms &atoms, QCPartSubDomain &domain, int localOverlapSubDomain, QCFloat buffer1, QCFloat buffer2, bool useFrag)
void addAtomsInKernel (const QCAtoms &atoms, bool useFrag)
void addIndexInCut (int i, int num)
void addIndexInKernel (int num)
void addIndexInOverlap (int i, int num)
void addNeighbor (int idx)
void addNeighbors (int *idxs, int nb)
void computeNumbers (void)
vector< int > & getAtomIsInKernel (void)
vector< int > & getAtomsInKernel (void)
vector< int > & getAtomsInShell1 (int i)
vector< int > & getAtomsInShell2 (int i)
int getId (void) const
int getLoad (void) const
int * getLocalNum (void)
int getLocalNumberOfSubdomain (int num)
int getNbAtoms (void) const
int getNbAtomsKernel (void) const
int getNbAtomsShell1 (int i) const
int getNbAtomsShell2 (int i) const
int getNbNeighbors (void) const
int & getNbOverlp (void)
int getNbShared (int i) const
int getNeighborIdx (int i) const
int getNeighborPos (int id) const
int getSharedAtoms (int i) const
vector< int > & getSharedAtomsVect (void)
QCFloat getXLength (void) const
void getXMax (QCPoint3D &copy) const
void getXMin (QCPoint3D &copy) const
bool initNbOverlapDomain (void)
 QCPartSubDomain (void)
void resetData (void)
void setIds (int anId, int idx, int idy=0, int idz=0)
void setLoadInKernel (int l)
void setLoadInShell1 (int l)
void setLoadInShell2 (int l)
void setXMax (const QCPoint3D &p)
void setXMin (const QCPoint3D &p)
void write (void)
 ~QCPartSubDomain (void)

Private Attributes

vector< int > atomIsInKernel
vector< int > atomsInKernel
vector< int > * atomsInShell1
vector< int > * atomsInShell2
QCFloat boxDims [DIM]
int id
int localNum [DIM]
int nbAtoms
int nbAtomsCore
int nbAtomsShell1
int nbAtomsShell2
int nbOverlp
vector< int > nbSharedAtoms
vector< int > neighborsIdxs
int weight [NB_ZONES]
QCPoint3D xMax
QCPoint3D xMin

Static Private Attributes

static const int DIM = QCAtoms::DIMENSION


Constructor & Destructor Documentation

QCPartSubDomain::QCPartSubDomain void   ) 
 

Definition at line 33 of file QCPartSubDomain.cpp.

QCPartSubDomain::~QCPartSubDomain void   ) 
 

Definition at line 56 of file QCPartSubDomain.cpp.

References atomsInShell1, and atomsInShell2.


Member Function Documentation

void QCPartSubDomain::addAtomsInBuffers const QCAtoms atoms,
QCPartSubDomain domain,
int  localOverlapSubDomain,
QCFloat  buffer1,
QCFloat  buffer2,
bool  useFrag
 

Definition at line 169 of file QCPartSubDomain.cpp.

References addIndexInCut(), addIndexInOverlap(), atomIsInKernel, COORDX, COORDY, COORDZ, DIM, FQCAbs(), FQCMax(), getAtomIsInKernel(), getAtomsInKernel(), QCAtoms::getCoordsAt(), getId(), getLocalNum(), getLocalNumberOfSubdomain(), id, QCAtomIn::localNum, localNum, QCAtomIn::numDomain, QC_SHELL1, QC_SHELL2, QCAtomIn::typeZone, xMax, and xMin.

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

Here is the call graph for this function:

void QCPartSubDomain::addAtomsInKernel const QCAtoms atoms,
bool  useFrag
 

Definition at line 134 of file QCPartSubDomain.cpp.

References atomIsInKernel, atomsInKernel, COORDX, COORDY, COORDZ, DIM, QCAtoms::getCoordsAt(), QCAtoms::getNbAtoms(), nbAtoms, nbAtomsCore, xMax, and xMin.

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

Here is the call graph for this function:

void QCPartSubDomain::addIndexInCut int  i,
int  num
[inline]
 

Definition at line 242 of file QCPartSubDomain.hpp.

References atomsInShell2, nbAtoms, and nbAtomsShell2.

Referenced by addAtomsInBuffers().

void QCPartSubDomain::addIndexInKernel int  num  )  [inline]
 

Definition at line 222 of file QCPartSubDomain.hpp.

References atomsInKernel, nbAtoms, and nbAtomsCore.

void QCPartSubDomain::addIndexInOverlap int  i,
int  num
[inline]
 

Definition at line 232 of file QCPartSubDomain.hpp.

References atomsInShell1, nbAtoms, and nbAtomsShell1.

Referenced by addAtomsInBuffers().

void QCPartSubDomain::addNeighbor int  idx  )  [inline]
 

Definition at line 264 of file QCPartSubDomain.hpp.

References neighborsIdxs.

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

void QCPartSubDomain::addNeighbors int *  idxs,
int  nb
[inline]
 

Definition at line 271 of file QCPartSubDomain.hpp.

References neighborsIdxs.

void QCPartSubDomain::computeNumbers void   ) 
 

Definition at line 320 of file QCPartSubDomain.cpp.

References atomsInKernel, atomsInShell1, atomsInShell2, nbAtoms, nbAtomsCore, nbAtomsShell1, nbAtomsShell2, nbOverlp, neighborsIdxs, and QC_TRACE_PART.

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

vector<int>& QCPartSubDomain::getAtomIsInKernel void   )  [inline]
 

Definition at line 139 of file QCPartSubDomain.hpp.

References atomIsInKernel.

Referenced by addAtomsInBuffers().

vector<int>& QCPartSubDomain::getAtomsInKernel void   )  [inline]
 

Definition at line 113 of file QCPartSubDomain.hpp.

References atomsInKernel.

Referenced by addAtomsInBuffers(), QCLinearPartitioner< TPSystem >::setAtomZones(), and QCLinearPartitioner< TPSystem >::setLoad().

vector<int>& QCPartSubDomain::getAtomsInShell1 int  i  )  [inline]
 

Definition at line 119 of file QCPartSubDomain.hpp.

References atomsInShell1.

Referenced by QCLinearPartitioner< TPSystem >::setAtomZones(), and QCLinearPartitioner< TPSystem >::setLoad().

vector<int>& QCPartSubDomain::getAtomsInShell2 int  i  )  [inline]
 

Definition at line 125 of file QCPartSubDomain.hpp.

References atomsInShell2.

Referenced by QCLinearPartitioner< TPSystem >::setAtomZones(), and QCLinearPartitioner< TPSystem >::setLoad().

int QCPartSubDomain::getId void   )  const [inline]
 

Return the Id of the current subdomain

Definition at line 49 of file QCPartSubDomain.hpp.

References id.

Referenced by addAtomsInBuffers().

int QCPartSubDomain::getLoad void   )  const [inline]
 

Definition at line 152 of file QCPartSubDomain.hpp.

References QC_CORE, QC_SHELL1, QC_SHELL2, and weight.

Referenced by QCSubDomain::allocStructures(), and QCLinearPartitioner< TPSystem >::equilibrateAOs().

int* QCPartSubDomain::getLocalNum void   )  [inline]
 

Definition at line 107 of file QCPartSubDomain.hpp.

References localNum.

Referenced by addAtomsInBuffers().

int QCPartSubDomain::getLocalNumberOfSubdomain int  num  )  [inline]
 

Definition at line 160 of file QCPartSubDomain.hpp.

References neighborsIdxs.

Referenced by addAtomsInBuffers().

int QCPartSubDomain::getNbAtoms void   )  const [inline]
 

Return the number of atoms in the partition

Definition at line 53 of file QCPartSubDomain.hpp.

References nbAtoms.

Referenced by QCSubDomain::allocStructures().

int QCPartSubDomain::getNbAtomsKernel void   )  const [inline]
 

Definition at line 101 of file QCPartSubDomain.hpp.

References atomsInKernel.

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

int QCPartSubDomain::getNbAtomsShell1 int  i  )  const [inline]
 

Definition at line 120 of file QCPartSubDomain.hpp.

References atomsInShell1.

Referenced by QCSubDomain::allocStructures(), and getNbShared().

int QCPartSubDomain::getNbAtomsShell2 int  i  )  const [inline]
 

Definition at line 127 of file QCPartSubDomain.hpp.

References atomsInShell2.

Referenced by QCSubDomain::allocStructures(), and getNbShared().

int QCPartSubDomain::getNbNeighbors void   )  const [inline]
 

Return the number of neigboors of the current partition

Definition at line 57 of file QCPartSubDomain.hpp.

References neighborsIdxs.

Referenced by QCSubDomain::allocStructures(), and QCLinearPartitioner< TPSystem >::equilibrateAOs().

int& QCPartSubDomain::getNbOverlp void   )  [inline]
 

Definition at line 319 of file QCPartSubDomain.hpp.

References nbOverlp.

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

int QCPartSubDomain::getNbShared int  i  )  const [inline]
 

Definition at line 132 of file QCPartSubDomain.hpp.

References getNbAtomsShell1(), and getNbAtomsShell2().

Here is the call graph for this function:

int QCPartSubDomain::getNeighborIdx int  i  )  const [inline]
 

Return the partition Index of neigboor i

Definition at line 61 of file QCPartSubDomain.hpp.

References neighborsIdxs.

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

int QCPartSubDomain::getNeighborPos int  id  )  const [inline]
 

Definition at line 65 of file QCPartSubDomain.hpp.

References neighborsIdxs.

int QCPartSubDomain::getSharedAtoms int  i  )  const [inline]
 

Definition at line 317 of file QCPartSubDomain.hpp.

References nbSharedAtoms.

vector<int>& QCPartSubDomain::getSharedAtomsVect void   )  [inline]
 

Definition at line 315 of file QCPartSubDomain.hpp.

References nbSharedAtoms.

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

QCFloat QCPartSubDomain::getXLength void   )  const [inline]
 

Definition at line 145 of file QCPartSubDomain.hpp.

References xMax, and xMin.

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

void QCPartSubDomain::getXMax QCPoint3D copy  )  const [inline]
 

Definition at line 91 of file QCPartSubDomain.hpp.

References COORDX, COORDY, COORDZ, and xMax.

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

void QCPartSubDomain::getXMin QCPoint3D copy  )  const [inline]
 

Definition at line 81 of file QCPartSubDomain.hpp.

References COORDX, COORDY, COORDZ, and xMin.

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

bool QCPartSubDomain::initNbOverlapDomain void   ) 
 

Definition at line 100 of file QCPartSubDomain.cpp.

References atomsInShell1, atomsInShell2, and neighborsIdxs.

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

void QCPartSubDomain::resetData void   ) 
 

Definition at line 76 of file QCPartSubDomain.cpp.

References atomIsInKernel, atomsInKernel, atomsInShell1, atomsInShell2, nbAtoms, nbAtomsCore, nbAtomsShell1, nbAtomsShell2, neighborsIdxs, QC_CORE, QC_SHELL1, QC_SHELL2, and weight.

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

void QCPartSubDomain::setIds int  anId,
int  idx,
int  idy = 0,
int  idz = 0
[inline]
 

Definition at line 173 of file QCPartSubDomain.hpp.

References COORDX, COORDY, COORDZ, and localNum.

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

void QCPartSubDomain::setLoadInKernel int  l  )  [inline]
 

Definition at line 204 of file QCPartSubDomain.hpp.

References QC_CORE, and weight.

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

void QCPartSubDomain::setLoadInShell1 int  l  )  [inline]
 

Definition at line 210 of file QCPartSubDomain.hpp.

References QC_SHELL1, and weight.

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

void QCPartSubDomain::setLoadInShell2 int  l  )  [inline]
 

Definition at line 216 of file QCPartSubDomain.hpp.

References QC_SHELL2, and weight.

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

void QCPartSubDomain::setXMax const QCPoint3D p  )  [inline]
 

Definition at line 194 of file QCPartSubDomain.hpp.

References COORDX, COORDY, COORDZ, and xMax.

Referenced by QCLinearPartitioner< TPSystem >::equilibrateAOs(), and QCLinearPartitioner< TPSystem >::setXMinXMax().

void QCPartSubDomain::setXMin const QCPoint3D p  )  [inline]
 

Definition at line 184 of file QCPartSubDomain.hpp.

References COORDX, COORDY, COORDZ, and xMin.

Referenced by QCLinearPartitioner< TPSystem >::equilibrateAOs(), and QCLinearPartitioner< TPSystem >::setXMinXMax().

void QCPartSubDomain::write void   ) 
 

Print subdomain information

Definition at line 278 of file QCPartSubDomain.cpp.

References atomsInKernel, atomsInShell1, atomsInShell2, localNum, nbAtoms, nbAtomsCore, nbAtomsShell1, nbAtomsShell2, nbOverlp, nbSharedAtoms, neighborsIdxs, QC_TRACE_PART, xMax, and xMin.


Member Data Documentation

vector<int> QCPartSubDomain::atomIsInKernel [private]
 

Definition at line 361 of file QCPartSubDomain.hpp.

Referenced by addAtomsInBuffers(), addAtomsInKernel(), getAtomIsInKernel(), and resetData().

vector<int> QCPartSubDomain::atomsInKernel [private]
 

Definition at line 360 of file QCPartSubDomain.hpp.

Referenced by addAtomsInKernel(), addIndexInKernel(), computeNumbers(), getAtomsInKernel(), getNbAtomsKernel(), resetData(), and write().

vector<int>* QCPartSubDomain::atomsInShell1 [private]
 

Definition at line 362 of file QCPartSubDomain.hpp.

Referenced by addIndexInOverlap(), computeNumbers(), getAtomsInShell1(), getNbAtomsShell1(), initNbOverlapDomain(), resetData(), write(), and ~QCPartSubDomain().

vector<int>* QCPartSubDomain::atomsInShell2 [private]
 

Definition at line 363 of file QCPartSubDomain.hpp.

Referenced by addIndexInCut(), computeNumbers(), getAtomsInShell2(), getNbAtomsShell2(), initNbOverlapDomain(), resetData(), write(), and ~QCPartSubDomain().

QCFloat QCPartSubDomain::boxDims[DIM] [private]
 

Definition at line 357 of file QCPartSubDomain.hpp.

const int QCPartSubDomain::DIM = QCAtoms::DIMENSION [static, private]
 

Definition at line 347 of file QCPartSubDomain.hpp.

Referenced by addAtomsInBuffers(), and addAtomsInKernel().

int QCPartSubDomain::id [private]
 

Definition at line 348 of file QCPartSubDomain.hpp.

Referenced by addAtomsInBuffers(), and getId().

int QCPartSubDomain::localNum[DIM] [private]
 

Definition at line 349 of file QCPartSubDomain.hpp.

Referenced by addAtomsInBuffers(), getLocalNum(), setIds(), and write().

int QCPartSubDomain::nbAtoms [private]
 

Definition at line 350 of file QCPartSubDomain.hpp.

Referenced by addAtomsInKernel(), addIndexInCut(), addIndexInKernel(), addIndexInOverlap(), computeNumbers(), getNbAtoms(), resetData(), and write().

int QCPartSubDomain::nbAtomsCore [private]
 

Definition at line 351 of file QCPartSubDomain.hpp.

Referenced by addAtomsInKernel(), addIndexInKernel(), computeNumbers(), resetData(), and write().

int QCPartSubDomain::nbAtomsShell1 [private]
 

Definition at line 352 of file QCPartSubDomain.hpp.

Referenced by addIndexInOverlap(), computeNumbers(), resetData(), and write().

int QCPartSubDomain::nbAtomsShell2 [private]
 

Definition at line 353 of file QCPartSubDomain.hpp.

Referenced by addIndexInCut(), computeNumbers(), resetData(), and write().

int QCPartSubDomain::nbOverlp [private]
 

Definition at line 365 of file QCPartSubDomain.hpp.

Referenced by computeNumbers(), getNbOverlp(), and write().

vector<int> QCPartSubDomain::nbSharedAtoms [private]
 

Definition at line 364 of file QCPartSubDomain.hpp.

Referenced by getSharedAtoms(), getSharedAtomsVect(), and write().

vector<int> QCPartSubDomain::neighborsIdxs [private]
 

Definition at line 359 of file QCPartSubDomain.hpp.

Referenced by addNeighbor(), addNeighbors(), computeNumbers(), getLocalNumberOfSubdomain(), getNbNeighbors(), getNeighborIdx(), getNeighborPos(), initNbOverlapDomain(), resetData(), and write().

int QCPartSubDomain::weight[NB_ZONES] [private]
 

Definition at line 354 of file QCPartSubDomain.hpp.

Referenced by getLoad(), resetData(), setLoadInKernel(), setLoadInShell1(), and setLoadInShell2().

QCPoint3D QCPartSubDomain::xMax [private]
 

Definition at line 356 of file QCPartSubDomain.hpp.

Referenced by addAtomsInBuffers(), addAtomsInKernel(), getXLength(), getXMax(), setXMax(), and write().

QCPoint3D QCPartSubDomain::xMin [private]
 

Definition at line 355 of file QCPartSubDomain.hpp.

Referenced by addAtomsInBuffers(), addAtomsInKernel(), getXLength(), getXMin(), setXMin(), and write().


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