有限元分析中测试函数的目的是什么?

计算科学 有限元
2021-12-11 23:36:34

在波动方程中:

c2u(x,t)2u(x,t)t2=f(x,t)

为什么我们在积分之前先乘以一个测试函数v(x,t)

2个回答

你倒退了。通过从变分设置开始并朝着强大的形式努力,可以更好地看到理由。一旦你这样做了,乘以一个测试函数和积分的概念就可以应用于你没有从最小化问题开始的问题。

所以考虑一下我们想要最小化的问题(并且在这里正式而不是严格地工作):

I(u)=12Ω(u(x))2dx

受限于的一些边界条件。如果我们希望这个达到最小值,我们需要将它与微分,u是一个函数。现在有几种很好的方法来考虑这种导数,但是引入的一种方法是计算ΩIu

I(u(x),v(x))=limh0ddhI(u(x)+hv(x))

其中只是一个标量。您可以看到,这类似于标量变量的标量函数的导数的传统定义,但扩展到像这样的函数,它们返回标量但它们的域超过函数。hI

如果我们为我们的计算这个(主要使用链式法则),我们得到I

I(u,v)=Ωuvdx

将此设置为零以找到最小值,我们得到一个看起来像拉普拉斯方程的弱陈述的方程:

Ωuvdx=0

现在,如果我们使用发散定理(又名多维部分积分),我们可以对求导并将其放在上得到vu

Ω(u)vdx+boundary terms=0

现在,当您想从偏微分方程构建弱语句时,这确实看起来您从哪里开始。现在有了这个想法,您可以将它用于任何 PDE,只需乘以一个测试函数,积分,应用发散定理,然后离散化。

正如我之前提到的,我更喜欢将弱形式视为加权残差。

我们想找到一个近似解让我们将残差定义为u^

R=c2u^2u^t2f(x,t)

对于精确解的情况,残差是域上的零函数。我们希望找到一个“好”的近似解,即使 “小”的解。因此,我们可以尝试最小化残差的范数(例如最小二乘法),或者它的某个平均值。一种方法是计算加权残差,即最小化加权残差R

ΩwRdΩ

一个重要的事情是它定义了一个函数,所以你可以最小化它。这适用于没有变分形式的函数。我在这篇文章中描述了更多您可以以不同的方式选择函数(Galerkin 方法)、Dirac delta 函数(搭配方法)或基本解(边界元方法)的同一空间。wu^

如果您选择第一种情况,那么您最终会得到一个类似于@BillBarth 描述的等式。