我想知道是否有任何方法可以以我想要的方式定义测试和试验功能,而不是使用默认功能。因此,如果我想定义多项式、基和系数,我该如何在 Fenics 中做到这一点?这是一般的概念:
我正在尝试解决随机偏微分方程,就像
其中,解是,是源项。我们可以使用有限数量的独立随机变量来离散随机空间。
这允许我们将控制方程重写为强形式的维微分方程:
因此,被视为随机过程的解可以由广义多项式展开为:
其中是 GPCE 项的数量。
然后我们将代入弱形式。选择与广义多项式相同的测试函数,使残差与子空间正交,从而最小化误差,我们得到:
产生一组耦合确定性方程。可以采用例如经典的有限元方法来寻找确定性系数。
为了使问题更清楚,有与 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 中的测试和试验功能使该确定性代码随机化。