SmartClustering is a clustering algorithm that reduces the amount of unique panels/nodes within a given surface. The algorithm used for clustering is a variation of the K-Means algorithm.

**Panel Clustering**

This component allows for the possibility of reducing the number of unique panels by grouping these into families of the same sizes and proportions. The clustering algorithm sorts all panels by their sizes, then groups the ones that have sizes close to each other. The individual panels in each group or family is then replaced by a ‘master panel’ that effectively has an average size of its members. All unique panels in a family can then be substituted by such master panel.

Input Parameters:

- SmarMesh (1) - SmartMesh to Cluster
- Number of Clusters (2) - Number of total clusters
- tol (3) - The clustering will continue grouping until this tolerance is met.
- -- (4) - Not applicable for panel clustering.
- -- (5) - Not applicable for panel clustering.

Interior Parameters:

- Status (6) - As this solution might take several minutes to compute depending on the size of the mesh and the tolerance, you can check here if the solution is getting computed.
- Panel (7) - Select what you want to cluster, in this case Panels.
- NbClusters (8) - Select which method of clustering you want either by number of clusters or by tolerance. If it is set to Number of Clusters, the number in the Number of Clusters (2) will be used, if it is set to tolerance the value set in the tol (3) will be used.
- Graph (9) - Graph representing the max corner distance.

Output Parameters:

- SmartMesh (10) - Returns a SmartMesh.
- Lines (11) - Returns the clustered panels as curves.
- γ-Orientation (12) - Not applicable for panel clustering
- Outline (13) - Returns the clustered panels as breps.
- Cluster (14) - Returns a list informing to what family does each panel belong to.
- Δd (15) - Returns a list for each panel containing the corners distances.
- -- (16) - Not applicable for panel clustering.
- -- (17) - Not applicable for panel clustering.

*Clustered by number*

Example of a Panel Clustering for 2 different clusters. The visualisation is done with the SmartForm Analyser and showcases the clustered families.

Example of a Panel Clustering for 2 different clusters. Here we can see the preview of the Smart Clustering. In this image we can appreciate the deviation from one panel to another.

*Clustering by tolerance*

This example of a Panel Clustering with a defined tolerance. In this case the tolerance has been set to 0.1. The lower the tolerance the higher the number of clusters and the longer it will take to compute the solution. As a side note the solution might take several minutes if the tolerance is too low.

Example of a Panel Clustering with a defined tolerance. In this case the tolerance has been set to 0.1. In this image we can appreciate the deviation from one panel to another. As the tolerance is lower we can see that the deviation between adjacent panels starts to decrease.

Example of a Panel Clustering with a defined tolerance of 0.01. The lower the tolerance the higher the number of clusters and the longer it will take to compute the solution. As a side note the solution might take several minutes if the tolerance is too low.

Example of a Panel Clustering with a defined tolerance of 0.01. In this image we can appreciate how the distance to the adjacent panels has nearly disappeared.

**Node Clustering**

The clustering algorithm sorts the nodes by their angles, then groups the ones that have angles close to each other. The individual nodes in each group or family is then replaced by a ‘master node’ that effectively has an average angle of the nodes within that family. All unique nodes in a family can then be substituted by such master panel.

Input Parameters:

- SmarMesh (1) - SmartMesh to Cluster
- Number of Clusters (2) - Number of total clusters
- α tol (3) - The clustering will continue grouping until this tolerance is met.
- β tol (4) - The clustering will continue grouping until this tolerance is met.
- γ tol (5) - The clustering will continue grouping until this tolerance is met.

Interior Parameters:

- Status (6) - As this solution might take several minutes to compute depending on the size of the mesh and the tolerance, you can check here if the solution is getting computed.
- Panel (7) - Select what you want to cluster, in this case Nodes.
- NbClusters (8) - Select which method of clustering you want either by number of clusters or by tolerance. If it is set to Number of Clusters, the number in the Number of Clusters (2) will be used, if it is set to tolerance the values set in the inputs (3),(4),(5) will be used.
- Graph (9) - Graph representing the max α deviation.

Output Parameters:

- SmartMesh (10) - Returns a SmartMesh.
- Lines (11) - Returns nodes as Lines.
- γ-Orientation (12) - Returns the gamma as Lines
- Bar (13) - Returns the clustered nodes as breps.
- Cluster (14) - Returns a list informing to what family does each node belong to.
- Δα (15) - Returns a list for each node containing the Δα distances.
- Δβ (16) - Returns a list for each node containing the Δβ distances.
- Δγ (17) - Returns a list for each node containing the Δγ distances.

*Input Tolerance Number*

The clustering will continue grouping until the tolerances are met for alpha, beta and gamma.

*Input Cluster Number*

The success of grouping the nodes into viable number of families is limited by the tolerance allowed by the node detail on the structure. Increasing the number of families will mean lesser variation between its nodes and the closer tolerances can be established.

After the component has clustered the nodes, these need to be placed as efficiently as possible on the surface. This is done through Least Square Fitting. Assuring that the master nodes are placed as efficiently as possible, reducing the tolerances to a minimum.

*Clustered by number*

Example of a Node Clustering for 2 different clusters. The visualisation is done with the SmartForm Analyser and showcases the clustered families.

*Clustered by tolerance*

*This example of a Node Clustering with a defined tolerance. In this case the tolerance has been set to 0.1 to all three parameters (alpha, beta and gamma). The visualisation is done with the SmartForm Analyser and showcases the clustered families.*

Example of a Node Clustering with a defined tolerance.

© 2020 Created by Dr. Shrikant B. Sharma. Powered by