$treeview $search $mathjax
|
Palabos
Version 1.1
$projectbrief
|
$projectbrief
|
$searchbox |
This is a factory class generating LatticeProcessors. More...
#include <dataProcessor3D.h>

Public Member Functions | |
| virtual | ~DataProcessorGenerator3D () |
| 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) const =0 |
| Generate the data processor. | |
| virtual DataProcessorGenerator3D * | clone () const =0 |
| Clone DataProcessorGenerator, based on its dynamics type. | |
| 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 | setscale (int dxScale_, int dtScale_) |
| Specify the scale of the block on which the data processor is acting. Defaults to no rescaling. | |
| 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 |
| virtual int | getStaticId () const |
| virtual void | serialize (Box3D &domain, std::string &data) const |
| Serialize content into a string-stream and overwrite data with result. | |
This is a factory class generating LatticeProcessors.
The LatticeProcessorGenerator can be tailored (shifted/reduced) to a sublattice, after which the LatticeProcessor is generated. The LatticeProcessor itself is static, i.e. the coordinates of the sublattice to which it refers cannot be changed after construction. Instead, a new LatticeProcessor must be generated with the generator.
| plb::DataProcessorGenerator3D::~DataProcessorGenerator3D | ( | ) | [virtual] |
| BlockDomain::DomainT plb::DataProcessorGenerator3D::appliesTo | ( | ) | const [virtual] |
Indicates whether data processor should be applied on envelope or not. Defaults to false.
Reimplemented in plb::BoxProcessorGenerator3D, and plb::DotProcessorGenerator3D.
References plb::BlockDomain::bulk.
| virtual DataProcessorGenerator3D* plb::DataProcessorGenerator3D::clone | ( | ) | const [pure virtual] |
Clone DataProcessorGenerator, based on its dynamics type.
Implemented in plb::BoxProcessorGenerator3D, and plb::DotProcessorGenerator3D.
| virtual void plb::DataProcessorGenerator3D::divide | ( | plint | scale | ) | [pure virtual] |
Divide coordinates of the domain of application of this data processor.
Implemented in plb::BoxedDataProcessorGenerator3D, and plb::DottedDataProcessorGenerator3D.
| virtual bool plb::DataProcessorGenerator3D::extract | ( | Box3D | subDomain | ) | [pure virtual] |
Extract a subdomain (in-place operation).
Implemented in plb::BoxedDataProcessorGenerator3D, and plb::DottedDataProcessorGenerator3D.
Referenced by plb::parallelIO::readXmlProcessors(), and plb::transferDataProcessors().
| virtual DataProcessor3D* plb::DataProcessorGenerator3D::generate | ( | std::vector< AtomicBlock3D * > | atomicBlocks | ) | const [pure virtual] |
Generate the data processor.
Implemented in plb::BoxProcessorGenerator3D, and plb::DotProcessorGenerator3D.
| void plb::DataProcessorGenerator3D::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::BoxProcessorGenerator3D, and plb::DotProcessorGenerator3D.
References getTypeOfModification(), plb::modif::nothing, and PLB_ASSERT.
| int plb::DataProcessorGenerator3D::getStaticId | ( | ) | const [virtual] |
Unique identifier for a given DataProcessor class. Produces the same ID as the corresponding data processor.
Return -1 as default to help transition period as some data processors have no ID.
Reimplemented in plb::BoxProcessorGenerator3D.
| virtual void plb::DataProcessorGenerator3D::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 each data processor.
Implemented in plb::BoxProcessorGenerator3D, and plb::DotProcessorGenerator3D.
Referenced by getModificationPattern().
| virtual void plb::DataProcessorGenerator3D::multiply | ( | plint | scale | ) | [pure virtual] |
Multiply coordinates of the domain of application of this data processor.
Implemented in plb::BoxedDataProcessorGenerator3D, and plb::DottedDataProcessorGenerator3D.
| void plb::DataProcessorGenerator3D::rescale | ( | double | dxScale, | |
| double | dtScale | |||
| ) | [virtual] |
This function is obsolete, and has been replaced by setscale.
Reimplemented in plb::BoxProcessorGenerator3D, and plb::DotProcessorGenerator3D.
| void plb::DataProcessorGenerator3D::serialize | ( | Box3D & | domain, | |
| std::string & | data | |||
| ) | const [virtual] |
Serialize content into a string-stream and overwrite data with result.
Default action does nothing to help transition period.
Reimplemented in plb::BoxProcessorGenerator3D, and plb::BoxedDataProcessorGenerator3D.
| void plb::DataProcessorGenerator3D::setscale | ( | int | dxScale_, | |
| int | dtScale_ | |||
| ) | [virtual] |
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. |
Reimplemented in plb::BoxProcessorGenerator3D, and plb::DotProcessorGenerator3D.
| virtual void plb::DataProcessorGenerator3D::shift | ( | plint | deltaX, | |
| plint | deltaY, | |||
| plint | deltaZ | |||
| ) | [pure virtual] |
Shift the domain of application of this data processor.
Implemented in plb::BoxedDataProcessorGenerator3D, and plb::DottedDataProcessorGenerator3D.
1.6.3
1.6.3