distributor Class Reference

Dynamic mesh redistribution using the distributor specified in decomposeParDict. More...

Inheritance diagram for distributor:
Collaboration diagram for distributor:

Public Member Functions

 TypeName ("distributor")
 Runtime type information. More...
 
 distributor (fvMesh &mesh)
 Construct from fvMesh. More...
 
 distributor (const distributor &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~distributor ()
 Destructor. More...
 
virtual bool update ()
 Distribute the. More...
 
virtual void topoChange (const polyTopoChangeMap &)
 Update corresponding to the given map. More...
 
virtual void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &)
 Update corresponding to the given distribution map. More...
 
virtual bool write (const bool write=true) const
 Write using given format, version and compression. More...
 
void operator= (const distributor &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from fvMeshDistributor
 TypeName ("fvMeshDistributor")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, fvMeshDistributor, fvMesh,(fvMesh &mesh),(mesh))
 
 fvMeshDistributor (fvMesh &)
 Construct from fvMesh. More...
 
 fvMeshDistributor (const fvMeshDistributor &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvMeshDistributor ()
 Destructor. More...
 
fvMeshmesh ()
 Return the fvMesh. More...
 
const fvMeshmesh () const
 Return the fvMesh. More...
 
const dictionarydict () const
 Return the dynamicMeshDict/distributor sub-dict. More...
 
virtual bool dynamic () const
 Is mesh dynamic, i.e. might it change? More...
 
void operator= (const fvMeshDistributor &)=delete
 Disallow default bitwise assignment. More...
 

Protected Member Functions

void readDict ()
 Read the projection parameters from dictionary. More...
 
void distribute (const labelList &distribution)
 Distribute the mesh and mesh data. More...
 

Protected Attributes

autoPtr< decompositionMethoddistributor_
 Cache the decomposer/distributor. More...
 
label redistributionInterval_
 Time-step interval between redistribution calls. More...
 
scalar maxImbalance_
 Maximum imbalance between the ideal number of cells per processor. More...
 
label timeIndex_
 The time index used for updating. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from fvMeshDistributor
static autoPtr< fvMeshDistributorNew (fvMesh &)
 Select, construct and return the fvMeshDistributor. More...
 

Detailed Description

Dynamic mesh redistribution using the distributor specified in decomposeParDict.

Usage
Example of single field based refinement in all cells:
distributor
{
    type            distributor;

    libs            ("libfvMeshDistributors.so");

    // How often to redistribute
    redistributionInterval  10;

    // Maximum fractional cell distribution imbalance
    // before rebalancing
    maxImbalance    0.1;
}
Source files

Definition at line 71 of file fvMeshDistributorsDistributor.H.

Constructor & Destructor Documentation

◆ distributor() [1/2]

distributor ( fvMesh mesh)
explicit

Construct from fvMesh.

Definition at line 89 of file fvMeshDistributorsDistributor.C.

References distributor::readDict().

Here is the call graph for this function:

◆ distributor() [2/2]

distributor ( const distributor )
delete

Disallow default bitwise copy construction.

◆ ~distributor()

~distributor ( )
virtual

Destructor.

Definition at line 109 of file fvMeshDistributorsDistributor.C.

Member Function Documentation

◆ readDict()

void readDict ( )
protected

Read the projection parameters from dictionary.

Definition at line 51 of file fvMeshDistributorsDistributor.C.

References fvMeshDistributor::dict(), dictionary::lookupOrDefault(), distributor::maxImbalance_, and distributor::redistributionInterval_.

Referenced by distributor::distributor().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distribute() [1/2]

void distribute ( const labelList distribution)
protected

Distribute the mesh and mesh data.

Definition at line 63 of file fvMeshDistributorsDistributor.C.

References distributor::distribute(), fvMesh::distribute(), and fvMeshDistributor::update().

Referenced by distributor::distribute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName()

TypeName ( "distributor"  )

Runtime type information.

◆ update()

bool update ( )
virtual

◆ topoChange()

void topoChange ( const polyTopoChangeMap )
virtual

Update corresponding to the given map.

Implements fvMeshDistributor.

Definition at line 160 of file fvMeshDistributorsDistributor.C.

◆ mapMesh()

void mapMesh ( const polyMeshMap )
virtual

Update from another mesh using the given map.

Implements fvMeshDistributor.

Definition at line 164 of file fvMeshDistributorsDistributor.C.

◆ distribute() [2/2]

void distribute ( const polyDistributionMap )
virtual

Update corresponding to the given distribution map.

Implements fvMeshDistributor.

Definition at line 168 of file fvMeshDistributorsDistributor.C.

◆ write()

bool write ( const bool  write = true) const
virtual

Write using given format, version and compression.

Reimplemented from fvMeshDistributor.

Definition at line 175 of file fvMeshDistributorsDistributor.C.

◆ operator=()

void operator= ( const distributor )
delete

Disallow default bitwise assignment.

Member Data Documentation

◆ distributor_

autoPtr<decompositionMethod> distributor_
protected

Cache the decomposer/distributor.

Definition at line 80 of file fvMeshDistributorsDistributor.H.

◆ redistributionInterval_

label redistributionInterval_
protected

Time-step interval between redistribution calls.

Definition at line 83 of file fvMeshDistributorsDistributor.H.

Referenced by distributor::readDict().

◆ maxImbalance_

scalar maxImbalance_
protected

Maximum imbalance between the ideal number of cells per processor.

and the maximum or minimum as a ratio mag(1 - nCells/idealNcells)

Definition at line 87 of file fvMeshDistributorsDistributor.H.

Referenced by distributor::readDict().

◆ timeIndex_

label timeIndex_
protected

The time index used for updating.

Definition at line 90 of file fvMeshDistributorsDistributor.H.


The documentation for this class was generated from the following files: