Spaces:
Running
Running
<!-- % =================================================== --> | |
<!-- % ==================== STATE OF THE ART ============= --> | |
<!-- % =================================================== --> | |
## State of the art {#sec-sec_1_1_State} | |
The desire to get fast \gls{cfd} output is not new and also | |
a data-driven approach is found in the literature. | |
This section aims to describe some evolutionary steps of \glsfirst{cnmc}. Given that this work is built upon the most recent advancements, | |
they will be explained in particular detail. | |
Whereas the remaining development stages are briefly | |
summarized to mainly clarify the differences and | |
mention the reasons why improvements were desired. Since, this topic | |
demands some prior knowledge to follow \gls{cnmc}'s workflow and goal, some basic principles about important topics shall be given in their subsection.\newline | |
The first data-driven approach, which is known to the author, | |
is by [@Kaiser2014] and shall be called \gls{cmm}. | |
\gls{cnmc} is not directly built upon \gls{cmm} but on the latest version | |
of \gls{cnm} and is described in [@Fernex2021]. | |
\gls{cnmc} invokes \gls{cnm} many times in order to use | |
its outcome for further progress. Therefore, it's evident that only if \gls{cnm} is understood, CNMc's | |
progress can be followed. \gls{cmm} on the other hand has only a historical link to \gls{cnmc}, but no line of code of \gls{cmm} is invoked in \gls{cnmc}'s workflow. Consequently, \gls{cnm} will be explained in more detail than \gls{cmm}. | |
### Principles {#sec-subsec_1_1_1_Principles} | |
CNM [@Fernex2021] is a method that uses some machine learning | |
techniques, graphs, and probability theory to mirror the behavior of | |
complex systems. These complex systems are described often by dynamical systems, which themselves are simply a set of | |
differential equations. Differential equations are useful to | |
capture motion. Thus, a dynamical system can be seen as a synonym for motion | |
over time. Some differential equations can be | |
solved in closed form, meaning analytically. However, for most of them | |
either it is too difficult to obtain an analytical solution or the | |
analytical solution is very unhandy or unknown. Unhandy in terms of the solution | |
being expressed in too many terms. Therefore, in most | |
cases, differential equations are solved numerically. Since | |
the purpose of \gls{cnm} is not to be only used for analytically | |
solvable equations, a numerical ordinary differential integrator | |
is used. \newline | |
The default solver is *SciPy*'s *RK45* solver. | |
It is a widely deployed solver and can also be applied to | |
chaotic systems for integration | |
over a certain amount of time. | |
Another option for solving chaotic \gls{ode}s is | |
*LSODA*. The developers of *pySindy* [@Silva2020; @Kaptanoglu2022] | |
state on their homepage [@pysindy_Home] that | |
*LSODA* even outperforms the default *RK45* when it comes to chaotic dynamical systems. The reasons why for \gls{cnmc} still *RK45* was chosen will be given in | |
section | |
[-@sec-sec_2_2_Data_Gen]. | |
It is important to remember that turbulent flows are chaotic. | |
This is the main reason why in this work \gls{cnmc}, has been designed to handle not only general dynamical systems but also general chaotic attractors. | |
Other well-known instances where chaos is found are, e.g., the weather, the | |
motion of planets and also the financial market is believed to be chaotic. | |
For more places, where chaos is found the reader is referred to [@Argyris2017].\newline | |
Note that \gls{cnmc} is designed for all kinds of dynamical systems, it is not restricted to linear, nonlinear or chaotic systems. | |
Therefore, chaotic systems shall be recorded to be only one application example of \gls{cnmc}. | |
However, because chaotic attractors were primarily exploited in the context of the performed investigations in this work, a slightly lengthier introduction to chaotic systems is provided in the appendix [-@sec-ch_Ap_Chaotic]. | |
Two terms that will be used extensively over this entire thesis are called model parameter value $\beta$ and a range of model parameter values $\vec{\beta}$. A regular differential equation can be expressed as | |
in equation @eq-eq_1_0_DGL, where $F$ is denoted as the function which describes the dynamical system. | |
The vector $\vec{x}(t)$ is the state vector. | |
The form in which differential equations are viewed in this work is given in equation @eq-eq_1_1_MPV . | |
$$ | |
\begin{equation} | |
F = \dot{\vec{x}}(t) = \frac{\vec{x}(t)}{dt} = f(\vec{x}(t)) | |
\label{eq_1_0_DGL} | |
\end{equation} | |
$$ {#eq-eq_1_0_DGL} | |
$$ | |
\begin{equation} | |
F_{CNMc} = \left(\dot{\vec{x}}(t), \, \vec{\beta} \right) = | |
\left( \frac{\vec{x}(t)}{dt}, \, \vec{\beta} \right) = | |
f(\vec{x}(t), \, \vec{\beta} ) | |
\label{eq_1_1_MPV} | |
\end{equation} | |
$$ {#eq-eq_1_1_MPV} | |
Note the vector $\vec{\beta}$ indicates a range of model parameter values, i.e., the differential equation is solved for each model parameter value $\beta$ separately. | |
The model parameter value $\beta$ is a constant and does not depend on the time, but rather it is a user-defined value. | |
In other terms, it remains unchanged over the entire timeline for which the dynamical system is solved. | |
The difference between $F$ and $F_{CNMc}$ is that $F$ is the differential equation for only one $\beta$, while $F_{CNMc}$ can be considered as the same differential equation, however, solved, for a range of individual $\beta$ values. | |
The subscript \gls{cnmc} stresses that fact that \gls{cnmc} is performed for a range of model parameter values $\vec{\beta}$. | |
Some dynamical systems, which will be used for \gls{cnmc}'s validation can be found in section [-@sec-sec_2_2_Data_Gen]. They are written as a set of differential equations in the $\beta$ dependent form. | |
Even a tiny change in $\beta$ can result in the emergence of an entirely different trajectory. \newline | |
<!-- % The behavior could exhibit such strong alterations, such --> | |
<!-- % that one might believe to require new underlying differential equations. --> | |
<!-- % These heavy transitions are called bifurcations.\newline --> | |
<!-- % Although bifurcations --> | |
<!-- % cause the trajectory to vary seemingly arbitrary, --> | |
<!-- % there exist canonical bifurcation types. Explanations for --> | |
<!-- % deriving their equations and visualization are well covered in literature --> | |
<!-- % and can be found, --> | |
<!-- % e.g., in \cite{Argyris2017,Kutz2022,Strogatz2019}. Although a detailed coverage of bifurcations is not feasible within the scope of this thesis, the method of how the trajectory is changed in such a significant way shall be outlined. --> | |
<!--% Namely, bifurcations can replace, remove and generate new attractors, e.g., the above introduced fix-point, limit cycle and torus attractor. --> | |
<!--% Bifurcations were mentioned here only for the sake of completeness. Indeed, one of the final goals for \gls{cnmc} is the extension to handle bifurcations. However, the latter is not part of this thesis.\newline --> | |
In summary, the following key aspects can be concluded. The reason why \gls{cnmc} in future releases is believed to be able to manage real \gls{cfd} fluid flow data and make predictions for unknown model parameter values $\beta$ is that turbulent flows are chaotic. Thus, allowing \gls{cnmc} to work with chaotic attractors in the course of this thesis is considered to be the first step toward predicting entire flow fields. | |
<!--% The second point is that there is no real unified definition of chaos, but there are some aspects that are more prevalent in the literature.--> | |