您是否曾经在使用某些实验数据作为负载或边界条件的情况下?如果此数据随空间或时间而变化并且是嘈杂的,则可能需要一个非常细的网格,或者求解器可能需要很短的时间步骤。实际上,我们通常不想要或需要这个。一种可能的解决方案是过滤输入数据以使其更光滑。让我们了解更多!
用基于方程的建模过滤嘈杂的数据
我们将首先考虑一些示例输入数据,如下图所示。就目前而言,让我们不关心数据所代表的内容,并想象水平轴可以代表空间或时间。我们可以观察到数据具有一些明显的噪音以及明显的趋势。在使用模型中使用此数据之前,我们想减少这种噪音。
具有明显噪音的数据样本。
我们可以在这里做的是使用所谓的Helmholtz过滤器。最近提出了这种类型的过滤器,并在该区域被证明很有用拓扑优化。实际上,此功能是优化模块,但也可以手动实施,这是我们在这里做的。
Helmholtz滤波器简单地求解了局部微分方程:
在哪里d是输入数据和你是过滤数据。
该方程有一个参数,r,我们将其称为滤镜半径。
除了管理方程式外,我们还需要边界条件。由于下面讨论的原因,我们将从均匀的Neumann条件开始,这意味着边界处的字段梯度为零。为了解决此方程与此边界条件,我们将通过基于方程的建模通过系数形式PDE接口1D组件。
首先,让我们将我们的实验数据阅读到插值表特征,如下屏幕截图所示。请注意外推被设定为持续的。正如我们将在不久之后看到的,由于我们的Helmholtz滤波器中的边界条件,我们需要在我们感兴趣范围内的空间或时间缓冲区或时间的缓冲区域中拥有一些数据。
接下来,让我们介绍一个1D组件进入我们的模型并设置单位系统至没有任何。
然后,创建一个间隔功能进入几何学,如下面的屏幕截图所示。注意数据范围侧面的其他区域。
定义应用过滤器的域。
现在我们介绍一个系数形式PDE接口到零件,就一个未知而言你
,如下面的屏幕截图所示。我们将离开离散化在默认情况下拉格朗日二次。同样,让我们保持所有不尺寸的东西。
在设置中系数形式PDE功能,我们定义设置如下所示。这扩散系数设置为全局参数的平方过滤
,和吸收系数IS 1.来源是我们的实验数据,所有其他术语均设置为零。
默认边界条件零通量是所需的均匀的Neumann条件,我们将在计算域的末端将过滤数据集的衍生物固定为零。这确实引入了过滤器的结尾效果,这就是为什么我们将附加的填充区域引入几何形状以及数据的原因。
我们也可以使用Dirichlet边界条件,这将确定你
在边界。我们还需要手动将网格大小设置为小于实验数据的分辨率。
使用基于方程式的建模来定义Helmholtz滤波器方程。
使用Helmholtz滤波器方程进行模型数据
现在,我们可以求解过滤器大小的不同值并比较结果。如下所示,非常小的滤镜大小几乎没有效果。较大的滤波器大小会导致更加平滑,并且随着滤波半径变大,过滤的数据接近原始的平均值。
重要的是要意识到Helmholtz过滤器的这一关键属性:它是能源保存只要使用均匀的诺伊曼边界条件。这意味着原始数据的积分和整个计算域上的过滤数据将相同。
请注意,这在没有缓冲区的任何一端的子域中都不是正确的。同样重要的是要注意Dirichlet边界条件不能保留能量,因此应谨慎使用。
带有各种过滤器半径过滤数据的示例。
现在我们已经过滤了数据,让我们在模型中使用它。我们将考虑2D轴对称材料的瞬时加热,并且过滤的数据将代表裸露的表面上施加的热载荷。由于我们的热模型将在模型中的不同组件中,因此我们需要引入一种将数据从1D组件移动到时间维度中的方法,以在2D轴对称组件中使用。这是通过一般挤压操作员,我们定义一个目的地图为了X- 表达t
。此功能将映射或挤出从1D组件的数据到时轴,并使其在模型中无处可用。
屏幕截图显示一般挤压操作员内的设置。
在2D轴对称组件中的热模型中,我们可以应用热源,如下屏幕截图所示,其中热负载为comp1.genext1(u)[w/m^2]
。请注意,我们为此添加单位你
无量纲。
调用定义的过滤数据组件1从热模型中组件2。
我们可以修改我们的研究以包含两个步骤。第一步是固定步骤,解决过滤方程,第二个是与时间相关步骤,解决热问题。我们将解决更严格的相对公差1E-4
并在求解器采取的所有时间步骤中输出结果,如这个知识库进入。
顺便说一句,还值得注意的是,如果数据相反,如果没有噪音的幅度急剧变化,那么您应该应该使用事件接口通知求解器。
求解滤波半径的不同值,并随着时间的推移绘制域内的峰温度,我们可以看到过滤对热溶液的影响。我们看到,在这种情况下,随着时间的推移,对峰值温度的影响只有很小的影响。
热模型的结果,用不同的滤波施加到瞬态热载荷上。
这里的巨大差异在于解决方案时间。在不过滤的情况下解决模型总共需要大约700个自适应时间步骤,同时求解中等滤波器大小的模型大约需要130个时间步骤,从而导致解决方案时间超过5倍!
总结思想
在这里,我们已经展示了如何使用其他组件和方程来实现我们要输入模型的数据上的Helmholz过滤器。我们不仅可以使用1D数据,还可以使用2D或3D数据来执行此操作,我们可以通过任何任意几何形状和任何任意输入数据密度实现此过滤器。尤其是在2D和3D中,此方法将胜过大多数其他过滤技术,因为它利用了对有限元基函数的局部紧凑支持,并允许非均匀的空间网格离散化。因此,这导致了稀疏的线性矩阵,可以非常有效地求解。
通过任意表面上的Helmholtz滤波器进行空间过滤。过滤数据可以用更粗的网格很好地代表。
在任意表面上未经过滤和过滤场的图像上的图像中可视化2D平滑的示例。请注意,过滤数据将允许使用此数据在相对更粗的网格上求解的模型,从而为我们提供了额外的计算益处。事实证明,我们甚至可以使用此Helmholtz过滤器来设计一个符合输入数据的变化的网格,但这是另一天的主题!
自己尝试
与这些方法相关联的文件可在此处下载:
评论(0)