HLIBpro  1.2
Public Member Functions | Protected Member Functions | List of all members
TBSPNDCTBuilder Class Reference

Combines binary space partitioning with nested dissection based on connectivity defined by a sparse matrix.

#include <TBSPCTBuilder.hh>

Inheritance diagram for TBSPNDCTBuilder:
TBSPCTBuilder

Public Member Functions

 TBSPNDCTBuilder (const TSparseMatrix *S, const TBSPPartStrat *part_strat, const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0)
 TBSPNDCTBuilder (const TBSPPartStrat *part_strat, const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0)
virtual TClusterTreebuild (const TCoordinate *coord, const idx_t idx_ofs=0) const
virtual TClusterTreebuild (const TCoordinate *coord, const TSparseMatrix *S, const idx_t idx_ofs=0) const
- Public Member Functions inherited from TBSPCTBuilder
 TBSPCTBuilder (const TBSPPartStrat *part_strat, const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0)
 construct BSP cluster tree builder with partitioning strategy part_strat
virtual ~TBSPCTBuilder ()
 dtor
void adjust_bb (const bool b)
 set flag for adjusting bounding box

Protected Member Functions

virtual TGeomClusterdivide (const TNodeSet &dofs, uint lvl, TBBox &bbox, const TOptClusterSize &csize, data_t &data) const
 recursively build cluster tree
virtual TGeomClusterdivide_if (const TNodeSet &dofs, const uint lvl, const uint max_lvl, TBBox &bbox, const TOptClusterSize &csize, data_t &data) const
 recursively build cluster tree for interfaces clusters
- Protected Member Functions inherited from TBSPCTBuilder
virtual TGeomClusterbuild_leaf (const TNodeSet &dofs, const uint lvl, TBBox &bbox, data_t &data) const
 create a leaf in a clustertree containing indices in dofs
virtual void compute_bb (const TNodeSet &dofs, TBBox &bbox, const data_t &data) const
 compute bounding box of index set defined by dofs
virtual void update_bb (const TNodeSet &dofs, TBBox &bbox, const data_t &data) const
 update bounding box of index set defined by dofs
virtual void check_bb (TBBox &bbox, const data_t &data) const
 check and update bbox in case of degenerate axis, e.g. very small length
virtual TBBox support_size (const node_t node, const bool only_idx, const data_t &data) const
 compute support size for single index

Additional Inherited Members

- Protected Attributes inherited from TBSPCTBuilder
const TBSPPartStrat_part_strat
 type of partitioning strategy
uint _n_min
 minimal size of a cluster, i.e. not smaller than this
uint _min_leaf_lvl
 minimal level on which leaves may occur
bool _adjust_bb
 flag for adjusting bounding boxes of nodes
bool _sort_wrt_size
 flag for sorting sub clusters w.r.t. size

Constructor & Destructor Documentation

TBSPNDCTBuilder ( const TSparseMatrix S,
const TBSPPartStrat part_strat,
const uint  n_min = CFG::Cluster::nmin,
const uint  min_leaf_lvl = 0 
)

construct cluster tree with partition strategy defined by part_strat and connectivity defined by S

TBSPNDCTBuilder ( const TBSPPartStrat part_strat,
const uint  n_min = CFG::Cluster::nmin,
const uint  min_leaf_lvl = 0 
)

construct cluster tree with partition strategy defined by part_strat (must use "build( coord, S )")

Member Function Documentation

virtual TClusterTree* build ( const TCoordinate coord,
const idx_t  idx_ofs = 0 
) const
virtual

build nested dissection cluster tree out of coordinate set coord and additional connectivity defined by local sparse matrix

Reimplemented from TBSPCTBuilder.

virtual TClusterTree* build ( const TCoordinate coord,
const TSparseMatrix S,
const idx_t  idx_ofs = 0 
) const
virtual

build nested dissection cluster tree out of coordinate set coord and additional connectivity defined by sparse matrix S