SAMRAI::mesh::AsyncBergerRigoutsos< DIM > Class Template Reference

Asynchronous Berger-Rigoutsos implementation. This class is derived from the abstract base class mesh::BoxGeneratorStrategy<DIM>. Thus, it serves as a concrete implementation of the box generator Strategy pattern interface. More...

#include <source/mesh/clustering/AsyncBergerRigoutsos.h>

Inheritance diagram for SAMRAI::mesh::AsyncBergerRigoutsos< DIM >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 AsyncBergerRigoutsos (tbox::Pointer< tbox::Database > database)
 Constructor.
 ~AsyncBergerRigoutsos (void)
 Destructor.
void findBoxesContainingTags (hier::BoxList< DIM > &boxes, const tbox::Pointer< hier::PatchLevel< DIM > > level, const int tag_data_index, const int tag_val, const hier::Box< DIM > &bound_box, const hier::IntVector< DIM > &min_box, const double efficiency_tol, const double combine_tol) const
 Implement the mesh::BoxGeneratorStrategy<DIM> interface method of the same name.

Detailed Description

template<int DIM>
class SAMRAI::mesh::AsyncBergerRigoutsos< DIM >

Asynchronous Berger-Rigoutsos implementation. This class is derived from the abstract base class mesh::BoxGeneratorStrategy<DIM>. Thus, it serves as a concrete implementation of the box generator Strategy pattern interface.

This class uses the mesh::AsyncBergerRigoutsosNode class to carry out the Berger-Rigoutsos algorithm in parallel. It handles aspects not related that algorithm. It:

User inputs (default):

Debugging inputs (default):


Constructor & Destructor Documentation

template<int DIM>
SAMRAI::mesh::AsyncBergerRigoutsos< DIM >::AsyncBergerRigoutsos ( tbox::Pointer< tbox::Database database  ) 

Constructor.

template<int DIM>
SAMRAI::mesh::AsyncBergerRigoutsos< DIM >::~AsyncBergerRigoutsos ( void   ) 

Destructor.

Deallocate internal data.


Member Function Documentation

template<int DIM>
void SAMRAI::mesh::AsyncBergerRigoutsos< DIM >::findBoxesContainingTags ( hier::BoxList< DIM > &  boxes,
const tbox::Pointer< hier::PatchLevel< DIM > >  level,
const int  tag_data_index,
const int  tag_val,
const hier::Box< DIM > &  bound_box,
const hier::IntVector< DIM > &  min_box,
const double  efficiency_tol,
const double  combine_tol 
) const [virtual]

Implement the mesh::BoxGeneratorStrategy<DIM> interface method of the same name.

Create a list of boxes that covers all integer tags on the patch level that match the specified tag value. Each box will be at least as large as the given minimum size and the tolerances will be met.

The efficiency tolerance is a threshold value for the percentage of tagged cells in each box. If this percentage is below the tolerance, the box will continue to be split into smaller boxes.

The combine tolerance is a threshold value for the sum of the volumes of two boxes into which a box may be potentially split. If ratio of that sum and the volume of the original box, the box will not be split.

This function is actually a switch for selecting one of several variations of the computational implementation of the algorithm. See the discussion above for a desription of the different options. All implementations should generate identical results, but the performance may vary on different systems. By default, the ORIGINAL algorithm is used when running on a single processor, and BINARY_TREE is used when running on multiple processors. The user may reset these options through input. See the discussion above for more information.

Implements SAMRAI::mesh::BoxGeneratorStrategy< DIM >.


The documentation for this class was generated from the following files:
Generated on Thu Jun 18 11:28:40 2009 for SAMRAI by  doxygen 1.5.1