Combines binary space partitioning with nested dissection based on connectivity defined by a sparse matrix.
|
| | 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) |
| |
|
void | sync_interface_depth (const bool b) |
| | set mode for handling interface cluster tree depth, e.g. synchronise with domain clusters
|
| |
| virtual std::unique_ptr< TClusterTree > | build (const TCoordinate *coord, const idx_t idx_ofs=0) const |
| |
| virtual std::unique_ptr< TClusterTree > | build (const TCoordinate *coord, const TSparseMatrix *S, const idx_t idx_ofs=0) const |
| |
|
virtual std::unique_ptr< TGeomCluster > | divide (const TNodeSet &dofs, const uint lvl, const TBBox &bbox, const TOptClusterSize &csize, const idx_t index_ofs, data_t &data) const |
| | recursively build cluster tree
|
| |
|
virtual std::unique_ptr< TGeomCluster > | divide_if (const TNodeSet &dofs, const uint lvl, const uint max_lvl, const TBBox &bbox, const TOptClusterSize &csize, const idx_t index_ofs, data_t &data) const |
| | recursively build cluster tree for interfaces clusters
|
| |
|
| 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
|
| |
|
void | sort_wrt_size (const bool b) |
| | set flag for sorting son cluster wrt. size
|
| |
|
| TGeomCTBuilder (const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0) |
| | construct cluster tree builder
|
| |
|
|
virtual std::unique_ptr< TGeomCluster > | build_leaf (const TNodeSet &dofs, const uint lvl, const idx_t index_ofs, const TBBox &bbox, data_t &data) const |
| | create a leaf in a clustertree containing indices in dofs
|
| |
|
virtual TBBox | compute_bb (const TNodeSet &dofs, 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
|
| |
|
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
|
| |