Skip to content

Estimators

Platon I Karpov edited this page Apr 20, 2022 · 22 revisions

Sapsan has several models in its arsenal to get started.

Convolution Neural Network (CNN)

The network is based around Conv3d and MaxPool3d layers, reducing the spatial dimensions down to 1 by increasing the number of features. In order to do that, the network iterates over the following NN block:

def nn_block():
  torch.nn.Conv3d(D_in, D_in*2, kernel_size=2, stride=2, padding=1)
  torch.nn.MaxPool3d(kernel_size=2, padding=1)

where D_in is the input dimension.

As final layers, ReLU activation function is used and the data is linearized. An example model graph for the input data with the spatial dimensions of [16, 16, 16] split into 8 batches is provided below.

cnn_model_graph

Kernel Ridge Regression (KRR)

We have included one of the classic regression-based methods used in machine learning - Kernel Ridge Regression. The model has two hyperparameters to be tuned: regularization term α and full-width at half-max σ. KRR has the following form:

y′ = y(K + α I) − 1k

where K is the kernel, chosen to be the radial basis function (gaussian):

K(x, x′) = exp( − ||x − x′||2 / 2σ2)

CNN for Turbulence Modeling

Submitted to the Journal of Computational Physics. Details coming soon.

Physics-Informed CNN for Turbulence Modeling

Submitted to the Journal of Computational Physics. Details coming soon.

Physics-Informed Convolutional Autoencoder (PICAE)

Note: Full description coming soon. The estimator is based on Embedding Hard Physical Constraints in Neural Network Coarse-Graining of 3D Turbulence by M.T.Arvind et al.

The model consists of 2 main parts:

  1. Convolutional Auto-Encoder (trainable)
  2. Static layers enforcing divergence-free condition (constant)

Thus, the latter force the CAE portion of the model to adjust to the curl of A to be 0. Through this, we are effectively enforcing conservation of mass. A schematic of the model is shown below.

physics-informed cae