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

Public Member Functions | |
| ReductiveDataProcessorGenerator3D () | |
| virtual | ~ReductiveDataProcessorGenerator3D () |
| virtual void | shift (plint deltaX, plint deltaY, plint deltaZ)=0 |
| Shift the domain of application of this data processor. | |
| virtual void | multiply (plint scale)=0 |
| Multiply coordinates of the domain of application of this data processor. | |
| virtual void | divide (plint scale)=0 |
| Divide coordinates of the domain of application of this data processor. | |
| virtual bool | extract (Box3D subDomain)=0 |
| Extract a subdomain (in-place operation). | |
| virtual DataProcessor3D * | generate (std::vector< AtomicBlock3D * > atomicBlocks)=0 |
| Generate the data processor. | |
| virtual ReductiveDataProcessorGenerator3D * | clone () const =0 |
| Clone ReductiveDataProcessorGenerator, based on its dynamics type. | |
| virtual BlockStatistics const & | getStatistics () const =0 |
| Const handle to statistics object. | |
| virtual BlockStatistics & | getStatistics ()=0 |
| Non-const handle to statistics object. | |
| virtual BlockDomain::DomainT | appliesTo () const |
| Indicates whether data processor should be applied on envelope or not. Defaults to false. | |
| virtual void | rescale (double dxScale, double dtScale) |
| This function is obsolete, and has been replaced by setscale. | |
| virtual void | getModificationPattern (std::vector< bool > &isWritten) const |
| Tell which blocks are modified (written) when the processor is applied on them. | |
| virtual void | getTypeOfModification (std::vector< modif::ModifT > &modified) const =0 |
| void | setscale (int dxScale_, int dtScale_) |
| Specify the scale of the block on which the data processor is acting. Defaults to no rescaling. | |
| int | getDxScale () const |
| Return the space scale of the subjacent block. | |
| int | getDtScale () const |
| Return the time scale of the subjacent block. | |
| virtual void | getDimensionsX (std::vector< int > &dimensions) const |
| Get the space dimensions of each reduced value. | |
| virtual void | getDimensionsT (std::vector< int > &dimensions) const |
| Get the time dimensions of each reduced value. | |
| virtual void | serialize (Box3D &domain, std::string &data) const |
| plb::ReductiveDataProcessorGenerator3D::ReductiveDataProcessorGenerator3D | ( | ) |
| plb::ReductiveDataProcessorGenerator3D::~ReductiveDataProcessorGenerator3D | ( | ) | [virtual] |
| BlockDomain::DomainT plb::ReductiveDataProcessorGenerator3D::appliesTo | ( | ) | const [virtual] |
Indicates whether data processor should be applied on envelope or not. Defaults to false.
Reimplemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
References plb::BlockDomain::bulk.
| virtual ReductiveDataProcessorGenerator3D* plb::ReductiveDataProcessorGenerator3D::clone | ( | ) | const [pure virtual] |
Clone ReductiveDataProcessorGenerator, based on its dynamics type.
Implemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
| virtual void plb::ReductiveDataProcessorGenerator3D::divide | ( | plint | scale | ) | [pure virtual] |
Divide coordinates of the domain of application of this data processor.
Implemented in plb::BoxedReductiveDataProcessorGenerator3D, and plb::DottedReductiveDataProcessorGenerator3D.
| virtual bool plb::ReductiveDataProcessorGenerator3D::extract | ( | Box3D | subDomain | ) | [pure virtual] |
Extract a subdomain (in-place operation).
Implemented in plb::BoxedReductiveDataProcessorGenerator3D, and plb::DottedReductiveDataProcessorGenerator3D.
| virtual DataProcessor3D* plb::ReductiveDataProcessorGenerator3D::generate | ( | std::vector< AtomicBlock3D * > | atomicBlocks | ) | [pure virtual] |
Generate the data processor.
Implemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
| void plb::ReductiveDataProcessorGenerator3D::getDimensionsT | ( | std::vector< int > & | dimensions | ) | const [virtual] |
Get the time dimensions of each reduced value.
Default implementation: constant dimensions.
Reimplemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
| void plb::ReductiveDataProcessorGenerator3D::getDimensionsX | ( | std::vector< int > & | dimensions | ) | const [virtual] |
Get the space dimensions of each reduced value.
Default implementation: constant dimensions.
Reimplemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
| int plb::ReductiveDataProcessorGenerator3D::getDtScale | ( | ) | const |
Return the time scale of the subjacent block.
| int plb::ReductiveDataProcessorGenerator3D::getDxScale | ( | ) | const |
Return the space scale of the subjacent block.
| void plb::ReductiveDataProcessorGenerator3D::getModificationPattern | ( | std::vector< bool > & | isWritten | ) | const [virtual] |
Tell which blocks are modified (written) when the processor is applied on them.
This function is obsolete and should be replaced by getTypeOfModification().
Reimplemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
References getTypeOfModification(), plb::modif::nothing, and PLB_ASSERT.
| virtual BlockStatistics& plb::ReductiveDataProcessorGenerator3D::getStatistics | ( | ) | [pure virtual] |
Non-const handle to statistics object.
Implemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
| virtual BlockStatistics const& plb::ReductiveDataProcessorGenerator3D::getStatistics | ( | ) | const [pure virtual] |
Const handle to statistics object.
Implemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
| virtual void plb::ReductiveDataProcessorGenerator3D::getTypeOfModification | ( | std::vector< modif::ModifT > & | modified | ) | const [pure virtual] |
Tell which blocks are modified and how by the processor. This method must be implemented in every data processor.
Implemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
Referenced by getModificationPattern().
| virtual void plb::ReductiveDataProcessorGenerator3D::multiply | ( | plint | scale | ) | [pure virtual] |
Multiply coordinates of the domain of application of this data processor.
Implemented in plb::BoxedReductiveDataProcessorGenerator3D, and plb::DottedReductiveDataProcessorGenerator3D.
| void plb::ReductiveDataProcessorGenerator3D::rescale | ( | double | dxScale, | |
| double | dtScale | |||
| ) | [virtual] |
This function is obsolete, and has been replaced by setscale.
Default implementation does nothing, to reflect the fact that many processor generators are invariant under change of scale. It is however important to remember to redefine this method for data processors which dependent on physical units, because otherwise the processor yields erroneous results in a MultiGrid environment.
| dxScale | Scale factor for space scale dx. | |
| dtScale | Scale factor for time scale dt. |
Reimplemented in plb::ReductiveBoxProcessorGenerator3D, and plb::ReductiveDotProcessorGenerator3D.
| void plb::ReductiveDataProcessorGenerator3D::serialize | ( | Box3D & | domain, | |
| std::string & | data | |||
| ) | const [virtual] |
Reimplemented in plb::BoxedReductiveDataProcessorGenerator3D, and plb::ReductiveBoxProcessorGenerator3D.
| void plb::ReductiveDataProcessorGenerator3D::setscale | ( | int | dxScale_, | |
| int | dtScale_ | |||
| ) |
Specify the scale of the block on which the data processor is acting. Defaults to no rescaling.
| dxScale | Scale factor for space scale dx. | |
| dtScale | Scale factor for time scale dt. |
If you override this function, you should always remember to invoke the original implementation as well, so the scale factors are properly set in the generator.
| virtual void plb::ReductiveDataProcessorGenerator3D::shift | ( | plint | deltaX, | |
| plint | deltaY, | |||
| plint | deltaZ | |||
| ) | [pure virtual] |
Shift the domain of application of this data processor.
Implemented in plb::BoxedReductiveDataProcessorGenerator3D, and plb::DottedReductiveDataProcessorGenerator3D.
1.6.3
1.6.3