使用广义多项式混沌展开 (GPCE) 求解 PDE 的随机 Galerkin 投影方法

计算科学 芬尼克斯 多项式 随机 谱法
2021-12-03 23:12:50

我想知道是否有任何方法可以以我想要的方式定义测试和试验功能,而不是使用默认功能。因此,如果我想定义多项式、基和系数,我该如何在 Fenics 中做到这一点?这是一般的概念:

我正在尝试解决随机偏微分方程,就像

Π(x,t,w;u)=f(x,t;w)
xdt[0,T]wΩ
其中,解是是源项。我们可以使用有限数量的独立随机变量来离散随机空间。 这允许我们将控制方程重写为强形式的维微分方程: 因此,被视为随机过程的解可以由广义多项式展开为: 其中是 GPCE 项的数量。U:=U(x,t;w)f(x,t;w)
ξ(w)={ξ(w1),,ξ(wn)}
Π(x,t,ξ;u)=f(x,t;w)(ξ,x)Γ×D
u(x,t;w)=i=0Pui(x,t)ϕi(ξ)
P

然后我们将代入弱形式。选择与广义多项式相同的测试函数,使残差与子空间正交,从而最小化误差,我们得到: U

Π(x,t,ξ;i=0Pui(x,t)ϕi(ξ)),ϕk(ξ)=f(x,t;ξ),ϕk(ξ)
K=0,1,..P

产生一组耦合确定性方程。可以采用例如经典的有限元方法来寻找确定性系数。

为了使问题更清楚,有与 2D Poisson Equation 相关的明确定义的问题:here on page 7

由于我们只有一个随机变量,随机维数为 1。对于我的 3 阶多项式问题的多项式混沌扩展值将是矩阵的 PCE=3*3。

问题

我需要V = VectorFunctionSpace(mesh, "Lagrange", 1)在这个问题中修改 so,以便 V 成为 V 和 PCE 的 Kronecker 张量积,这将导致 10*3 ,10*3, 10*3 并且基于该矩阵我可以修改我的方程为计算解决方案的统计量。有什么方法可以计算 V 和另一个矩阵的 Kronecker 张量积并用我的 V 替换它?

更具体地说,我试图用这种方法解决这个具有不确定位置负载的方程。

这是我的确定性代码Fenics:稳态动态线性弹性的结果与实际值不匹配 如何通过修改 Fenics 中的测试和试验功能使该确定性代码随机化。

0个回答
没有发现任何回复~