多尺度(有限元)降阶模型下的DNN方法

多尺度模型的DNN解法

今天,想和大家分享的是Eric Chung的三篇文章。Deep Multiscale Model Learning、Deep Global Model Reduction Learning、Prediction of Discretization of GMsFEM using Deep Learning。

Eric是港中文(The Chinese University of Hong Kong )的一个教授,曾经也来访过我们所做过报告,它的工作主要是关于CFD的。

某种意义上来说,这三篇文章是“一样”的。我会比较详细地介绍第一篇文章,后面的,我只会介绍不同的地方。

这里仍然有许多我不懂的地方,在我读文章的时候,毕竟,我对多尺度方法知之甚少。

NLMC&DNN(DMML,Deep Multiscale Model Reduction Learning)

众所周知,DNN可以表示一个非线性函数,我们所在意的是输入是什么,输出是什么,DNN的结构是什么,以及我们用来训练网络的数据。

在第一篇文章中,作者使用NLMC作为多尺度模型,NLMC是non-local multi-continuum approach的缩写。它定义了一个新的基函数,以使得自由度有了物理意义,什么物理意义呢?那就是“解的平均”。

在另一方面,我们可以将DNN用来求解PDE和进行模型的约化。

在这篇文章中,作者联合了两种方法学,制作了一个DNN网络,和多尺度模型约化概念相关。这个大大减小了计算复杂度。另外,作者还比较了用不同比例(proportion)的观测数据和计算数据用于训练的结果。

OK,让我们开始这一部分。

一般来说,我们研究:

在这里插入图片描述

这里的 I I I表示输入,包括介质属性:渗透场(permeability field)、源项(well rates),初始条件。

考虑一个特殊的情况,就是一个特殊的扩散方程,如下:

在这里插入图片描述

它的边界条件是零纽曼边界条件,即 ∇ u ⋅ n = 0 \nabla u \cdot n = 0 un=0

使用标准的有限元方法,时间离散上,采用后向欧拉格式(backward Euler),我们可以得到:

在这里插入图片描述

这里的下标(subscript) f f f表示细网格上的细尺度(fine-scale)解。
写成矩阵的形式,我们有:

在这里插入图片描述

M f M_f Mf表示质量(mass)矩阵, A f A_f Af表示刚度(stiffness)矩阵, b f b_f bf是右手边的那个向量。

以上说的是,经典的有限元方法。什么是NLMC?

我们将区域D分割为matrix region和fractures region。即:

在这里插入图片描述

在这里插入图片描述

这里,这些符号在原文中的解释是:

在这里插入图片描述

我并不是太明白这个,特别是什么是 d i d_i di。接下来,我们定义oversampling of 粗网格单元 K i K_i Ki as K i + K_i^+ Ki+

在这里插入图片描述

然后,我们可以得到基函数 ψ m ( i ) \psi_m^{(i)} ψm(i),通过求解如下一个约束(constraint)极小化问题:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

定义传递(transmissbility)矩阵T,如下:

在这里插入图片描述

写成如下形式:

在这里插入图片描述

最后我们可以得到NLMC的一个upscale model:

在这里插入图片描述

NLMC的优点在于,其一是我们能得到一个更精确的解,其二,粗网格解有重要的物理意义,也就是块中的平均压力。

下面,我将介绍,如何联合NLMC方法和DNN。

首先,使用NLMC方法去求解问题得到解:

在这里插入图片描述

我们的目标是得到一个DNN,写成如下:

在这里插入图片描述

这里的 I n I^n In是一些输入参数,比如说源项等。

可以使用之前得到的解去训练网络。这里花写的 N N N,在每一个时刻(time instant)可以是相同:

在这里插入图片描述

也可以是不同的:

在这里插入图片描述

我们也可以从影响域(region of infulence)中去寻找神经网络的输入,它告诉了我们合适的输入变量的数目。传递矩阵(tansmissibility)给了我们一些信息关于粗参数直接的连接。

我不是特别清楚怎么做的。但是,In a word, NLMC模型的影响域给我们提供了一些连接信息关于神经网络,并且减少了神经网络的复杂度且提供了一个好的初始的权重矩阵,如图所示:

在这里插入图片描述

在这篇文章中,作者还试图加入”观测数据“来改进这个降阶模型。所谓的观测数据,主要来自于:1、pertburb仿真数据;2、perturb渗透率(permeability),重跑仿真得到数据;3、可得到的实验数据。

一般来说,观测数据是非常难以得到的。所以,作者综合仿真数据和观测数据来训练神经网络,包括:观测数据only,仿真数据only,两者混合。

结论是,incorporating观测数据在训练中会改进结果,incorporating一些计算数据会改进预测。

POD&DNN(Proper Orhogonal Decomposition)

接下来,我要介绍得是第二篇文章。许多东西和第一篇文章是一样的,我只介绍不一样的地方。

我们考虑的模型问题是,在区域 Ω = [ 0 , 1 ] 2 \Omega = [0,1]^2 Ω=[0,1]2中,考察方程:

在这里插入图片描述

在我们的仿真中,我们会考虑一种指数模型, κ ( x , u ) = κ ( x ) exp ( α u ) \kappa(x,u)=\kappa(x)\text{exp}(\alpha u) κ(x,u)=κ(x)exp(αu),这里的 u u u是流体的压力, g g g是个时间依赖(time-dependent)的源项, α \alpha α是一个非线性参数。在这项工作中,作者考虑渗透(permeability)场包含wavelet-like的通道,如图:

在这里插入图片描述

通过标准的有限元方法,时间离散上,依然采用隐式(implicit)欧拉,我们能得到:

在这里插入图片描述

写成矩阵的形式,为:

在这里插入图片描述
在这里插入图片描述

下面,我们开始做MOR(model order reduction)通过POD(Proper Orhogonal Decomposition)。

考虑N个instantaneous snapshots:

在这里插入图片描述

Φ \Phi Φ做奇异值分解(SVD)有:

在这里插入图片描述

这里的 C = Φ T Φ C = \Phi^T\Phi C=ΦTΦ σ j \sigma_j σj是奇异值, w j w_j wj是右奇异向量, ξ j \xi_j ξj是左奇异向量。

选择前m大的奇异值对应的左奇异特征向量,形成一个新的子空间 W h ⊂ V h W_h \subset V_h WhVh,我们成之为POD子空间。你们还记得PCA降维(dimensionality reduction )?同一个思想对吧。

然后我们做一个投影到POD子空间上,我们的到原问题的逼近:

找一个 u ~ h n + 1 ∈ W h \tilde u_h^{n+1} \in W_h u~hn+1Wh,使得:

在这里插入图片描述

下面我们来构建节点基函数,做 ξ j \xi_j ξj的线性组合,那么节点基函数可以表示为:

在这里插入图片描述

POD子空间中解的逼近就可以表示为:

在这里插入图片描述

那么在降阶模型中,解的矩阵表达可以写为:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

剩下的部分和第一篇论文讨论的是一样的,只不过没有所谓的“religion of influence”。

GMsFEM&DNN(Generalized Multiscale Finite Element Methods)

最后一篇介绍的论文是关于GMsFEM(Generalized Multiscale Finite Element Methods)的DNN方法。

考虑问题:

在这里插入图片描述

通过经典的有限元方法,我们可以得到:

在这里插入图片描述

为了获得某些重要的信息,网格尺度 h h h需要足够小,这造成了巨大的计算消耗。Generalized Multiscale Finite Element Method (GMsFEM)做了一个模型的约化,通过减少自由度的数目(degree of freedom)。

由于时间关系,这里我们只需要知道GMsFEM是一种模型约化技术,和前面提到的POD、NLMC是相同的意思。

在这里插入图片描述

通过一些我们跳过的推导,最终我需要寻找多尺度解 u m s ∈ V m s u_{ms} \in V_{ms} umsVms,使得:

在这里插入图片描述

写成矩阵的形式:

在这里插入图片描述

通过downscaling算子R,我们能得到多尺度解的fine-scale表示,即:

在这里插入图片描述

由于模型的uncertainties,计算消耗是个大问题。我们可以利用DNN和已有的数据来减少计算消耗。

如图所示:

在这里插入图片描述

在这里插入图片描述

这里的 ω 1 , ω 2 , ω 3 \omega_1,\omega_2,\omega_3 ω1,ω2,ω3表示 K 0 K_0 K0的3个neighborhoods block。

定义多尺度基函数和local coarse-scale刚度矩阵如下:

在这里插入图片描述

在这里插入图片描述

κ \kappa κ是permeability场。我们感兴趣的是构建(constructing)映射 g B m , i g_B^{m,i} gBm,i g M l g_M^l gMl

在这里插入图片描述

我们用两个网络来表示这两个映射,

在这里插入图片描述

联合上述我所说的,我们可以得到downscale算子 R R R,form the线性系统,以及得到最后的多尺度解。

通过训练网络,我们可以得到神经网络对那两个映射的逼近:

在这里插入图片描述

一旦神经网络建好了,我们可以组装得到的局部刚度矩阵 A c K l , p r e d A_c^{K_l,pred} AcKl,pred得到全局矩阵的预测 A c p r e d A_c^{pred} Acpred,然后求解如下线性系统:

在这里插入图片描述

通过组装(Assemble)得到的基函数,得到downscaling算子。从而,得到预测的多尺度解:

在这里插入图片描述

作者也做了一些数值实验。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆嵩

有打赏才有动力,你懂的。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值