Efficient data structures for model-free data-driven computing
In solid mechanics, one of the central challenges is to find a material law that approximates the behavior of a certain material under arbitrary loading conditions in the best way possible. Classically, explicitly formulated material models are developed to find appropriate solutions. But since the availability of experimental data is increasing nowadays, data-driven computing and machine learning seem to be a promising alternative to the formulation of increasingly complex constitutive equations.
The model-free data-driven paradigm introduced by Kirchdoerfer & Ortiz (2016) postulates a new framework. The classical boundary value problem is reformulated so that data points in the fundamental form of stress and strain can be used directly in the computation. The framework is based on the concept of minimizing the distance between states in a constrain set and a data set. Here, a state in the constrained set fulfills the mechanical laws of kinematics and equilibrium. The data set consists of experimental results in the fundamental form of pairs of stress and strain.
This new method opens two new fields in research. On the one hand, data-driven identification algorithms make it possible to identify multi-axial stress responses based on full-field strain measurements, obtained e.g. by digital image correlation. This approach initially published by Leygue et al. (2018) is an inverse formulation of the data-driven paradigm and does not prescribe any explicit material law beforehand. Instead, a data set of a prescribed size is computed by means of clustering. The data set then contains pointwise information about the material behavior of the investigated material.
On the other hand, these data sets can be used in data-driven computing algorithms to solve the boundary value problem of interest. The main challenge is now to define suitable solvers and data structures to find a solution efficiently. The part of a data-driven solver which is most sensitive w.r.t. computational time is the search of nearest neighbors in the data set. In data science, the nearest neighbor search is of the highest interest since e.g. many sales applications need to find the best fitting products to a customer’s request. For the application in solid mechanics, an efficient combination of search algorithms within the solver is crucial in order to deal with large data sets that are needed for e.g. history-dependent data sets (see Eggersmann et al. (2019)).