Pavel Temirchev
Scientific advisor:
Dmitry Koroteev
Individual Doctoral Committee:
Dmitry Koroteev
Evgeny Burnaev
Ivan Oseledets
Our team:
Pavel Temirchev, Ruslan Kostoev, Egor Illarionov, Dmitry Voloskov, Anna Gubanova
The standard approach (ECLIPSE, TNAVIGATOR, OPM-FLOW)
Time
initial conditions
PDE coefficients
boundary conditions
The computational complexity depends on the number of computational cells (the complexity of matrix inversion)
"Cat"
"Cat"
"Dog"
"Giraffe"
Object
Target variable
Object - a reservoir
Target - the solution
How to find the target variable for an object?
Commercial Simulator
Neural Differential Equations based Reduced Order Model
Time
Conv3d_3x3, 8ch
Conv3d_3x3, 16ch, str=2
Conv3d_3x3, 32ch
Conv3d_3x3, 32ch,
str=2
Conv3d_3x3, 64ch
Conv3d_3x3, 64ch
Transp3d_3x3, 16ch
Transp3d_3x3, 8ch
Transp3d_3x3, 32ch, str=2
Transp3d_3x3, 32ch
Transp3d_3x3 64ch, str=2
Transp3d_3x3 64ch
VGG-like autoencoder, LINK
ReLU
Conv3d_3x3, 32ch
ReLU
Conv3d_3x3, 4ch
Neural Ordinary Differential Equations, LINK
Minimisation problem
\(\phi\) - a vector of neural network parameters
\(\hat{s}_{0:T}\) - the solution obtained as follows:
1. encoding:
2. latent space forecast:
3. decoding:
stochastic optimization
backpropagation + ADAM
a neural network
view from above
Average on the Z axis:
wells
tNavigator
NDE-b-ROM
Pressure
Oil saturation
Time, sec
Model
NDE-b-ROM
tNavigator
1 GPU 20 sec
40 CPU 2400 sec
Tested on:
formatted files created either by hand or in model designer
RUNSPEC
GRID
PROPS
SOLUTION
SCHEDULE
.DATA
Can be used as:
python library
separate software with GUI
Supports CUDA and Pytorch computations
Provides output within diverse formats:
ECLIPSE binary
Pytorch \ numpy
other...
Positive:
Negative:
An example
The diffusivity equation:
$$ \nabla \cdot \nabla p(t, x) + q(t, x) = \alpha \frac{\partial p}{\partial t} \;\;\; \forall t, x \in \mathcal{X} \times \mathcal{T}$$
$$ s.t. \;\; \nabla p(t, x) = 0 \;\;\; \forall t, x \in \mathcal{B} \times \mathcal{T}$$
$$ s.t \;\; p(0, x) = p_0(x) \;\;\; \forall x \in \mathcal{X}. $$
The set of proper points: \( \mathcal{X} = (0, x_{max}) \).
The set of boundary points: \( \mathcal{B} = \{0, x_{max} \} \).
The set of source points: \( \mathcal{S} = [x_{s0}, x_{s1}] \).
An example
Let \( f_\theta(t, x) \) be a NN with parameters \(\theta\).
The NN will converge to a true PDE solution if the loss is zero:
$$ \mathcal{L}(\theta) = \mathbb{E}_{(t, x) \sim (\mathcal{T} \times \mathcal{X})} \left[ \left( \nabla \cdot \nabla f_\theta(t, x) + q(t, x) \right) - \alpha \frac{\partial f_\theta}{\partial t}(t, x) \right]^2 + $$
$$ + \mathbb{E}_{x \sim \mathcal{X}} \left[ f_\theta(0, x) - p_0(x) \right]^2 + $$
$$ + \mathbb{E}_{(t, x) \sim (\mathcal{T} \times \mathcal{B})} \left[ \nabla f_\theta(t, x) \right]^2 $$
For 1d and 2d non-linear diffusivity PDE