In [11, 12], a method was developed to cluster (finite element) nodes with different moving patterns and intensity across several simulations with small variations in the thickness of the sheet metal. In the end, the clusters were used to analyze the presence of bifurcations. We will present their method in a slightly new setting, define some quality criteria, judge the current approach and improve it.
Let there be R simulation runs with small variations in the parameters of a model with N nodes. The position of node n at time t in simulation r is depicted as \(\varvec{p}^{(r)}_n(t) \in \mathbb {R}^3\). After choosing an appropriate time frame \([t_0, t_1]\), the displacement of node n in simulation r is defined as
$$\begin{aligned} d_n^{(r)} := ||{\varvec{p}}_n^{(r)}(t_1) - \varvec{p}_n^{(r)}(t_0) ||\end{aligned}$$
(4)
and collected in the vector
$$\begin{aligned} {\varvec{x}}_n := \left( d_n^{(1)}, \ldots , d_n^{(R)} \right) \end{aligned}$$
(5)
for each node n. Therefore, a vector \({\varvec{x}}_n \in \mathbb {R}^R\) is assigned to each node n. The nodes can now be grouped by clustering the corresponding set \(\mathcal {X} = \{{\varvec{x}}_n\}_{n=1}^N\) with an algorithm of choice like k-means or spectral clustering, which are both described in the “Clustering” section.
This method is applied to the frontal crash described in the “Setting” section. For a better understanding, we first consider a simplification shown in Fig. 3: A beam consisting of four nodes impacts a rigid wall, which is rotated by an angle of \(\alpha \) compared to an orthogonal contact. This simulation is repeated two times (\(R=2\)) with angles \(\alpha ^{(1)} = 20^\circ \) and \(\alpha ^{(2)} = -15^\circ \) and the displacements \(d_n^{(r)}\) plotted for each simulation in Fig. 3c. We will call such a plot displacement plot in the following. The red node has a higher displacement in the first simulation due the larger angle. Hence, it is located below the diagonal \(\mathbb {R} \varvec{e}\) with \(\varvec{e} = (1,1)\) in the displacement plot.
Quality of clusters and nonlinear behavior
There needs to be a criterion to judge the quality of the clustering after the preprocessing described above. In [11], model reduction was applied to each cluster. Since no new simulations were done with a reduced system, this approach can be seen as data compression. Thus, the reconstruction error resulting from the projection on the subspace spanned by each cluster was a valid criterion to judge the quality in that case. This is, however, not true in our case. In this article, the clustering should be used for the model reduction of subsequent simulation runs with other parameters that were not part of the training data. Therefore, the real error resulting from the model reduction can only be judged after simulating the reduced model. Otherwise, there would not be any new data but only training data to assess the quality of the clustering and reduction. Error estimators or error bounds can also be useful, though they are not available for every reduction method.
So-called objective measures only rely on the data itself to rate the quality of a cluster, see [29, 30] for examples. Usually structural data like the cluster density or the separation between clusters is taken into account. While objective measures can be useful for assessing the quality of clusters in general, they are likely not equivalent to the expectations of the user since these expectations can vary a lot as discussed in the “Clustering” section. The other group of cluster indicators are subjective measures that take a specific user expectation into account. In the next section, we define several new subjective measures to assess the nonlinear behavior of a crash.
Before defining the measures, it is of importance to know the sources of nonlinear behavior. According to [31], the reasons for nonlinearities in mechanics lie in the
-
Geometry, e.g., large deformations, bifurcation or snap-through;
-
Physics (material laws), e.g., plasticity;
-
Boundary conditions, e.g., contact.
We will only focus on the first source of nonlinear behavior since it is most accessible for our data-driven approach.
Measures
In order to quantify the nonlinear behavior, we define measures based on the deformation and scatter of the nodes. It has been seen that the diagonal of the displacement plot represented by the vector \(\varvec{e} := (1, \ldots , 1) \in \mathbb {R}^R\) plays a fundamental role in the analysis.
With simple geometry, the deformation
$$\begin{aligned} D({\varvec{x}}) := \frac{\langle {\varvec{x}}, \varvec{e} \rangle }{||\varvec{e} ||} \end{aligned}$$
of a vector \({\varvec{x}} \in \mathcal {X}\) can be defined as the length of the orthogonal projection onto the diagonal \(\mathbb {R} {\varvec{e}}\). This definition of deformation is motivated by the mechanical analog but is not equivalent, as can be seen later. Throughout this article, it is assumed that only the data \({\varvec{p}}^{(r)}_n(t_0)\) and \(\varvec{p}^{(r)}_n(t_1)\) is available for every node n and simulation run r.
The distance from \({\varvec{x}}\) to its orthogonal projection is called (absolute) scatter since it reflects the difference across the simulation runs. It can be calculated by
$$\begin{aligned} S^\text {abs}({\varvec{x}}) := \sqrt{||{\varvec{x}} ||^2 - D({\varvec{x}})^2} . \end{aligned}$$
The higher \(S^\text {abs}({\varvec{x}}_n)\), the more the displacement of node n differs in each of the R simulations.
The relative scatter
\(S^\text {rel}\), i.e., the absolute scatter divided by the deformation, is more important. Since all relative measures tend to be sensitive when the denominator is relatively small, we only define the relative scatter for nodes with a deformation above 2 % of the maximum deformation in the overall model:
$$\begin{aligned} D_\text {max}(\mathcal {Y})&:= \text {max}_{{\varvec{x}} \in \mathcal {Y}} D({\varvec{x}}) \quad \text {for } \mathcal {Y} \subseteq \mathcal {X} \\ S^\text {rel}({\varvec{x}})&:= {\left\{ \begin{array}{ll} \frac{S^\text {abs}({\varvec{x}})}{D({\varvec{x}})} &{}\quad \text {if } D({\varvec{x}}) \ge \frac{2}{100} D_\text {max}(\mathcal {X}),\\ 0 &{}\quad \text {if } D({\varvec{x}}) < \frac{2}{100} D_\text {max}(\mathcal {X}) . \end{array}\right. } \end{aligned}$$
These measures can now be applied for all nodes in one cluster by averaging. The mean deformation of a cluster \(C_k\) is given as
$$\begin{aligned} D_\text {mean}(C_k) := \frac{1}{|C_k |} \sum _{{\varvec{x}} \in C_k} D({\varvec{x}}) \end{aligned}$$
and the mean relative scatter
\(S^\text {rel}_\text {mean}\) as
$$\begin{aligned} S^\text {rel}_\text {mean}(C_k)&:= \frac{1}{|C_k |} \sum _{{\varvec{x}} \in C_k} S^\text {rel}({\varvec{x}}) . \end{aligned}$$
A cluster with high \(D_\text {mean}\) represents nodes with large deformation which can be a sign of nonlinear behavior as discussed above. If a cluster has a high relative scatter \(S^\text {rel}_\text {mean}\), then the nodes in this cluster have different displacements throughout all R simulations which is an indication of chaotic behavior.
Analysis of the preprocessing
While the quality of the clustering was only judged with the experience of engineers in [11], we are now able to assess the simulation scenario described in the “Setting” section for the Taurus with the measures \(D_\text {mean}\) and \(S^\text {rel}_\text {mean}\) defined above. We choose \([t_0, t_1] = [100, 1000]\,{\text {ms}}\) as the smallest time interval covering the complete crash. The Taurus has an initial velocity of \(56\,{\mathrm{km/ h}}\) (35 mph). It is approaching a rigid wall that has an angle \(\alpha \) of \(5^\circ \), \(6^\circ \) or \(7^\circ \) to the perpendicular axis in each of \(R = 3\) simulations. The crash scenario is the same as shown in Fig. 3a but with the full Taurus model instead of the beam. \(R > 3\) is of course possible and recommended but would prevent a visual analysis of the R-dimensional displacement plot. For the purpose of this article, it is more important to see properties of the different methods in the plots instead of choosing a higher R. High relative scatter resulting from these small parameter variations is an indicator for chaotic, therefore, nonlinear behavior. For now, we will choose k-means as clustering algorithm with \(K=3\) clusters for simplicity. This is already enough to show some major disadvantages, which can be seen in Fig. 4 in the displacement plot. The corresponding clustering of the crossmember (as a snapshot of the simulation for \(t = t_1\) and \(r=1\)) is shown in Fig. 5. The crossmember will always be shown for \(t_1\), i.e., after the crash. Each color represents a cluster and the red line in the displacement plot shows the diagonal \(\mathbb {R} \varvec{e}\) already known from Fig. 3c. Units on the axes of the displacement plot and the view of the crossmember are always in mm.
First of all, all entries \(d_n^{(r)}\) of every vector \({\varvec{x}}_n\) are above a lower bound of \(899~\text {mm}\). This can be explained with the rigid body movement of the car. Even though the first time step \(t_0\) was chosen to be the beginning of the crash, i.e., the car is in contact with the wall, the crossmember still has some distance to the wall, see Fig. 2 on the left. Therefore, the norm in Eq. (4) is dominated by the x-component, the driving direction of the car. The displacements in the other two directions have no significant influence on \(d_n^{(r)}\). Since this error is introduced in the beginning of the workflow, it persists in the clustering algorithm, which clusters the nodes by rigid body movement instead of (mechanical) deformation. Figure 5 also supports the hypothesis that the clustering of the nodes only depends on the x-coordinate: The nodes in the rear of the crossmember belong to the cluster with the highest deformation since their movement is decelerated the least.
Another problem lies in the distribution of the vectors \({\varvec{x}}\). They do not form any natural clusters in Fig. 4, hence clustering algorithms uncontrollably divide the nodes in three more or less connected sets. This questions the purpose of clustering as explained in the “Clustering” section and asks for alternatives.
In this example, we have arbitrarily chosen \(K=3\). There are a few techniques to guess the number of clusters beforehand, but only if there exist any (natural) clusters in the data which is not the case here. Choosing \(K=2\) and just assuming that one cluster represents linear and the other nonlinear behavior will not suffice. Additionally, the mapping of the clusters to the (non)linear area is unclear without any of the measures that are proposed in this article.
Improvements to all these disadvantages will be given in the following.