$treeview $search $mathjax
|
Palabos
Version 1.1
$projectbrief
|
$projectbrief
|
$searchbox |
#include <multiGridManagement3D.h>

Public Member Functions | |
| MultiGridManagement3D (plint coarseNx, plint coarseNy, plint coarseNz, plint numLevels, plint referenceLevel=0) | |
| MultiGridManagement3D (Box3D coarseBoundingBox, plint numLevels, plint referenceLevel=0) | |
| MultiGridManagement3D (MultiGridManagement3D const &rhs, Box3D coarsestDomain) | |
| MultiGridManagement3D (MultiGridManagement3D const &rhs) | |
| ~MultiGridManagement3D () | |
| void | swap (MultiGridManagement3D &rhs) |
| std::vector< Box3D > const & | getBulks (plint iLevel) const |
| Retrieve the blocks for each level. | |
| std::vector< std::vector < Box3D > > const & | getBulks () const |
| std::vector< Box3D > const & | getUniqueBulks (plint iLevel) const |
| Retrieve the unique blocks for each level. | |
| std::vector< std::vector < Box3D > > const & | getUniqueBulks () const |
| Box3D | getBoundingBox (plint level) const |
| Retrieve the bounding box at any given level. | |
| void | refine (plint level, Box3D domain) |
| Add a refinement in level at a given domain. | |
| void | coarsen (plint level, Box3D domain) |
| Coarsen a given domain at certain level. | |
| std::vector< std::vector < plint > > const & | getMpiProcesses () const |
| Get the Ids of the parallelized regions. | |
| std::vector< std::vector < Box3D > > const & | getCoarseInterface () const |
| std::vector< std::vector < Box3D > > const & | getFineInterface () const |
| void | trimDomain (plint whichLevel, Box3D &domain, bool *touches) const |
| plint | getNumLevels () const |
| plint | getReferenceLevel () const |
| void | parallelizeX (std::vector< plint > const &finePositions) |
| Parallelize along x-axis. | |
| void | parallelizeY (std::vector< plint > const &finePositions) |
| Parallelize along y-axis. | |
| void | parallelizeZ (std::vector< plint > const &finePositions) |
| Parallelize along z-axis. | |
| void | parallelize (std::vector< Box3D > parallelRegions, std::vector< plint > const ®ionIDs) |
| Parallelize according to the indicated domains, measured in coordinates of the finest lattice. | |
Friends | |
| MultiGridManagement3D | extractManagement (MultiGridManagement3D management, Box3D coarsestDomain, bool crop) |
| Extract a domain (in coarse coordinates) from a MultiGridManagement3D. | |
| plb::MultiGridManagement3D::MultiGridManagement3D | ( | plint | coarseNx, | |
| plint | coarseNy, | |||
| plint | coarseNz, | |||
| plint | numLevels, | |||
| plint | referenceLevel = 0 | |||
| ) |
References PLB_ASSERT.
| plb::MultiGridManagement3D::MultiGridManagement3D | ( | Box3D | coarseBoundingBox, | |
| plint | numLevels, | |||
| plint | referenceLevel = 0 | |||
| ) |
References PLB_ASSERT.
| plb::MultiGridManagement3D::MultiGridManagement3D | ( | MultiGridManagement3D const & | rhs, | |
| Box3D | coarsestDomain | |||
| ) |
| plb::MultiGridManagement3D::MultiGridManagement3D | ( | MultiGridManagement3D const & | rhs | ) |
| plb::MultiGridManagement3D::~MultiGridManagement3D | ( | ) |
Coarsen a given domain at certain level.
LEFT
RIGHT
BOTTOM
TOP
FRONT
BACK
References plb::back, plb::bottom, plb::Box3D::enlarge(), plb::except(), plb::front, plb::left, plb::Box3D::multiply(), PLB_PRECONDITION, plb::right, plb::top, trimDomain(), plb::Box3D::x0, plb::Box3D::x1, plb::Box3D::y0, plb::Box3D::y1, plb::Box3D::z0, and plb::Box3D::z1.
Retrieve the bounding box at any given level.
References PLB_PRECONDITION.
Referenced by plb::generateLattices(), plb::generateScalarFields(), plb::generateTensorFields(), plb::MultiGrid3D::getBoundingBox(), plb::MultiGrid3D::getNx(), plb::MultiGrid3D::getNy(), and plb::MultiGrid3D::getNz().
| std::vector< std::vector< Box3D > > const & plb::MultiGridManagement3D::getBulks | ( | ) | const |
Retrieve the blocks for each level.
References PLB_PRECONDITION.
Referenced by plb::generateLattices(), plb::generateScalarFields(), and plb::generateTensorFields().
| std::vector< std::vector< Box3D > > const & plb::MultiGridManagement3D::getCoarseInterface | ( | ) | const |
Referenced by plb::createInterfaces().
| std::vector< std::vector< Box3D > > const & plb::MultiGridManagement3D::getFineInterface | ( | ) | const |
Referenced by plb::createInterfaces(), and plb::MultiGridLattice3D< T, Descriptor >::initialize().
| std::vector< std::vector< plint > > const & plb::MultiGridManagement3D::getMpiProcesses | ( | ) | const |
Get the Ids of the parallelized regions.
Referenced by plb::generateLattices(), plb::generateScalarFields(), and plb::generateTensorFields().
| plint plb::MultiGridManagement3D::getNumLevels | ( | ) | const |
| plint plb::MultiGridManagement3D::getReferenceLevel | ( | ) | const |
Referenced by plb::MultiGrid3D::getReferenceLevel().
| std::vector< std::vector< Box3D > > const & plb::MultiGridManagement3D::getUniqueBulks | ( | ) | const |
Retrieve the unique blocks for each level.
References PLB_PRECONDITION.
Referenced by plb::generateLattices(), and plb::generateScalarFields().
| void plb::MultiGridManagement3D::parallelize | ( | std::vector< Box3D > | parallelRegions, | |
| std::vector< plint > const & | regionIDs | |||
| ) |
Parallelize according to the indicated domains, measured in coordinates of the finest lattice.
Referenced by parallelizeX(), parallelizeY(), and parallelizeZ().
| void plb::MultiGridManagement3D::parallelizeX | ( | std::vector< plint > const & | finePositions | ) |
Parallelize along x-axis.
References plb::copy(), and parallelize().
| void plb::MultiGridManagement3D::parallelizeY | ( | std::vector< plint > const & | finePositions | ) |
Parallelize along y-axis.
References plb::copy(), and parallelize().
| void plb::MultiGridManagement3D::parallelizeZ | ( | std::vector< plint > const & | finePositions | ) |
Parallelize along z-axis.
References plb::copy(), and parallelize().
Add a refinement in level at a given domain.
LEFT
RIGHT
BOTTOM
TOP
FRONT
BACK
References plb::back, plb::bottom, plb::Box3D::enlarge(), plb::except(), plb::front, plb::left, plb::Box3D::multiply(), PLB_PRECONDITION, plb::right, plb::top, trimDomain(), plb::Box3D::x0, plb::Box3D::x1, plb::Box3D::y0, plb::Box3D::y1, plb::Box3D::z0, and plb::Box3D::z1.
| void plb::MultiGridManagement3D::swap | ( | MultiGridManagement3D & | rhs | ) |
Referenced by plb::MultiGrid3D::swap().
| void plb::MultiGridManagement3D::trimDomain | ( | plint | whichLevel, | |
| Box3D & | domain, | |||
| bool * | touches | |||
| ) | const |
LEFT
BOTTOM
FRONT
RIGHT
TOP
BACK
References plb::back, plb::bottom, plb::front, plb::left, plb::right, plb::top, plb::Box3D::x0, plb::Box3D::x1, plb::Box3D::y0, plb::Box3D::y1, plb::Box3D::z0, and plb::Box3D::z1.
| MultiGridManagement3D extractManagement | ( | MultiGridManagement3D | management, | |
| Box3D | coarsestDomain, | |||
| bool | crop | |||
| ) | [friend] |
Extract a domain (in coarse coordinates) from a MultiGridManagement3D.
This is achieved by taking all the geometric information of the MultiGridManagement3D and intersecting it with the so called coarsestDomain. All the intersecting parts are kept on the new MultiGridManagement3D.
1.6.3
1.6.3