] # open Package manager
activate .
instantiate
Let's consider a generic differential equation (DE):
where we look for the time-dependent solution
We have a Neural ODE (NODE) when the structure of the problem becomes:
In a more realistic situation, the incognita is usually a vector field, so we will try to solve for
If the problem is simple, like the case of linear ODEs,
However most of the times, the analytical solution is not available. A common solution is the method of lines, that consists in discretizing the spacial dimension and study a vectorial representation of the function
Once we have a discretized space, we also discretize the force
Then the crucial question that we need to address is
or in words: does the discretized solution evolve like the original?
The answer is that it depends on the harshness of the discretization, i.e. the value of
-
DNS (direct numerical simulation): if
$N$ is large then eq.(2) is true, or we can say that the system is effectively closed because the discretized solution evolves following the behavior of the original system.
However, especially if the system is chaotic, it is likely that the small scale behavior influences the large scale behavior. In this case we talk about:
-
LES (large eddy simulations):
$N$ is too small to capture the small scale effects, thus the eq.(1) is not closed. This means that$\frac{d\bar{u}}{dt} = f_h(\bar{u})$ has a different dynamics than the exact solution$u(t)$ , so we would need instead to solve$$\frac{d\bar{u}}{dt} = \Phi f(u).$$
However this DE depends on
One of the main goal of this repository will be to use CNODEs in order to correct the LES simulation and get a solution as good as the DNS.
Parts of the code have been generated and/or refined using GitHub Copilot. All AI-output has been verified for correctness, accuracy and completeness, revised where needed, and approved by the author(s).