H2Lib
3.0
|
Routines for Domain Decomposition Clustering. More...
Functions | |
pcluster | build_regular_dd_cluster (pclustergeometry cg, uint size, uint *idx, uint clf, psparsematrix sp, uint dim, uint direction, uint *flag) |
Build a cluster tree from a clustergeometry object using regular Domain Decomposition Clustering. More... | |
pcluster | build_adaptive_dd_cluster (pclustergeometry cg, uint size, uint *idx, uint clf, psparsematrix sp, uint dim, uint *flag) |
Build a cluster tree from a clustergeometry object using adaptive Domain Decomposition Clustering. More... | |
bool | admissible_dd_cluster (pcluster s, pcluster t, void *data) |
Check the domain decomposition admissibility condition. More... | |
pcluster | build_adaptive_fromcluster_cluster (pcluster ctri, pclustergeometry cg, uint size, uint *idx, uint clf, uint dim) |
Build a cluster tree from a clustergeometry object basing on the clustering of the elements. More... | |
Routines for Domain Decomposition Clustering.
This module contains routines for regular and adaptive domain decomposition clustering.
Check the domain decomposition admissibility condition.
Checks the domain decomposition admissibility of two cluster trees and . The block is admissible, if and are two disjunct domain cluster or admissible_2_min-cluster is TRUE.
s | Row cluster. |
t | Col cluster. |
data | Has to be a pointer to real. |
pcluster build_adaptive_dd_cluster | ( | pclustergeometry | cg, |
uint | size, | ||
uint * | idx, | ||
uint | clf, | ||
psparsematrix | sp, | ||
uint | dim, | ||
uint * | flag | ||
) |
Build a cluster tree from a clustergeometry object using adaptive Domain Decomposition Clustering.
Builds an adaptive cluster tree basing on the geometrical informations of the clustergeometry object using a domain decomposition method. The indices are splitted into three sons, two of the sons (domain cluster) contain the indices correponding to two disconnected sub domains, the third one contains the indices of the separator. Therefore the sparsematrix is useful. The splitting is adaptive in the direction with the largest spatial extension and the index set is splitted accordingly, if its size is greater than the leaf size, else the cluster is a leaf cluster. During this clustering the bounding boxes are updated.
cg | Clustergeometry object with geometrical information. |
size | Number of indices. |
idx | Index set. |
clf | Maximal leaf size. |
sp | Sparsematrix, used for connectivity information. |
dim | Dimension of Clustering. |
flag | Auxiliary array, has to be initialised with zeros. |
pcluster build_adaptive_fromcluster_cluster | ( | pcluster | ctri, |
pclustergeometry | cg, | ||
uint | size, | ||
uint * | idx, | ||
uint | clf, | ||
uint | dim | ||
) |
Build a cluster tree from a clustergeometry object basing on the clustering of the elements.
Builds a cluster tree basing on the geometrical informations of the clustergeometry object and the clustering of the elements stored in the cluster tree object ctri
. The indices are splitted into three sons, two of the sons (domain cluster) contain the indices correponding to two disconnected sub domains, the third one contains the indices of the separator. Therefore the sparsematrix is useful. The splitting is corresponding to the splitting of the cluster tree ctri
and the index set is splitted accordingly, if ctri
has sons, else the cluster is a leaf cluster. During this clustering the bounding boxes are updated.
ctri
should be built with one of the standard routines from cluster.h.ctri | Cluster tree object. |
cg | Clustergeometry object with geometrical information. |
size | Number of indices. |
idx | Index set. |
clf | Maximal leaf size, |
dim | Dimension of Clustering. |
pcluster build_regular_dd_cluster | ( | pclustergeometry | cg, |
uint | size, | ||
uint * | idx, | ||
uint | clf, | ||
psparsematrix | sp, | ||
uint | dim, | ||
uint | direction, | ||
uint * | flag | ||
) |
Build a cluster tree from a clustergeometry object using regular Domain Decomposition Clustering.
Builds a regular cluster tree basing on the geometrical informations of the clustergeometry object using a domain decomposition method. The indices are splitted into three sons, two of the sons (domain clusters) contain the indices correponding to two disconnected sub domains, the third one contains the indices of the separator. Therefore the sparsematrix is useful. The splitting is regular. It starts with the forwarded direction and the following directions are chosen via cycling through all possible directions. If the size of the index set is greater than the leaf size, the cluster is splitted, else it is a leaf cluster. During this clustering the bounding boxes are updated.
cg | Clustergeometry object with geometrical information. |
size | Number of indices. |
idx | Index set. |
clf | Maximal leaf size. |
sp | Sparsematrix, used for connectivity information. |
dim | Dimension of Clustering. |
direction | Direction for the next splitting step. |
flag | Auxiliary array, has to be initialised with zeros. |