Questions tagged «finite-element»

一种求解常微分方程和偏微分方程的方法。问题的领域被分解成要素,并且在功能的基础上扩展了每个要素中的解决方案。有限元方法非常适合于自适应细化,不规则几何形状和良好的误差估计。

2
FeniCS:可视化高阶元素
我才刚刚开始使用FEniCS。我正在用三阶元素求解泊松,并想将结果可视化。但是,当我使用plot(u)时,可视化只是结果的线性插值。当输出到VTK时,我会得到相同的结果。在我正在使用的另一个代码中,我编写了一个VTK输出器,该输出器将对高阶元素进行升采样,以使它们实际上在Paraview中看起来较高阶。FEniCS中是否有类似(或更好)的东西?

3
数值通量在DG-FEM中的作用
我正在使用Hesthaven / Warburton的书学习DG-FEM方法背后的理论,并对“数值通量”的作用有些困惑。对于这是一个基本问题,我深表歉意,但是我已经找到了,但没有找到满意的答案。 考虑线性标量波动方程: 其中线性通量给定为˚F(Ú)=一个ü。∂u∂t+∂f(u)∂x=0∂u∂t+∂f(u)∂x=0\frac{\partial u}{\partial t} + \frac{\partial f(u)}{\partial x} = 0f(u)=auf(u)=auf(u) = au 正如Hesthaven的书中所介绍的,对于每个元素,我们最终得到N个方程,每个基函数一个,强制残差几乎消失:kkkNNN Rh(x,t)=∂uh∂t+∂auh∂xRh(x,t)=∂uh∂t+∂auh∂xR_h(x,t) = \frac{\partial u_h}{\partial t} + \frac{\partial au_h}{\partial x} ∫DkRh(x,t)ψn(x)dx=0∫DkRh(x,t)ψn(x)dx=0\int_{D^k} R_h(x,t) \psi_n(x) \, dx = 0 精细。因此,我们要进行一次部分集成以得出“弱形式”(1),然后进行两次部分集成以获得“强形式”(2)。我将在1D中采用Hesthaven的过大但容易推广的曲面积分形式: (1)∫Dk(∂ukh∂tψn−aukhdψndx)dx=−∫∂Dkn^⋅(auh)∗ψndx1≤n≤N∫Dk(∂uhk∂tψn−auhkdψndx)dx=−∫∂Dkn^⋅(auh)∗ψndx1≤n≤N \int_{D^k} \left( \frac{\partial u_h^k}{\partial t} \psi_n-au_h^k\frac{d \psi_n}{d x} \right)\, dx = - \int_{\partial D^k} \hat{n}\cdot(au_h)^*\psi_n \,dx …


2
特征值问题中的验证
让我们从形式问题开始 (L+k2)u=0(L+k2)u=0(\mathcal{L} + k^2) u=0 带有一组给定的边界条件(Dirichlet,Neumann,Robin,Periodic,Bloch-Periodic)。这对应于在某些几何和边界条件下找到某个算子的特征值和特征向量LL\mathcal{L}。例如,可以在声学,电磁学,弹性力学,量子力学等方面获得这样的问题。 我知道可以使用不同的方法(例如,有限差分方法)离散化运算符 [A]{U}=k2{U}[A]{U}=k2{U}[A]\{U\} = k^2 \{U\} 或使用有限元方法获得 [ K] { U} = k2[ M] { U}。[K]{U}=k2[M]{U}.[K]\{U\} = k^2 [M]\{U\} \enspace . 在一种情况下,得到一个特征值问题,而在另一种情况下得到一个广义的特征值问题。在获得问题的离散版本后,人们使用求解器来解决特征值问题。 一些想法 在这种情况下,“人造溶液”的方法无用,因为没有源项可以平衡方程。 [ K][K][K][M][M][M] [∇2+ω2/c2]u(ω)=f(ω),∀ω∈[ωmin,ωmax][∇2+ω2/c2]u(ω)=f(ω),∀ω∈[ωmin,ωmax][\nabla^2 + \omega^2/c^2] u(\omega) = f(\omega) \enspace ,\quad \forall \omega \in [\omega_\min, \omega_\max] 代替 [∇2+k2]u=0.[∇2+k2]u=0.[\nabla^2 + k^2] u = …

2
有限元分析中测试功能的目的是什么?
在波动方程中: c2∇⋅∇u(x,t)−∂2u(x,t)∂t2=f(x,t)c2∇⋅∇u(x,t)−∂2u(x,t)∂t2=f(x,t)c^2 \nabla \cdot \nabla u(x,t) - \frac{\partial^2 u(x,t)}{\partial t^2} = f(x,t) 为什么在积分之前先乘以测试函数v (x ,t )v(x,t)v(x,t)?

5
有限元矩阵稀疏结构的计算
问题:有哪些方法可以准确有效地计算有限元矩阵的稀疏结构? 信息:我正在使用Poerson压力方程求解器,使用Galerkin方法和二次Lagrange基础(用C编写),并使用PETSc进行稀疏矩阵存储和KSP例程。为了有效地使用PETSc,我需要为全局刚度矩阵预先分配内存。 目前,我正在做一个模拟程序集,以估计每行非零的数量,如下所示(伪代码) int nnz[global_dim] for E=1 to NUM_ELTS for i=1 to 6 gi = global index of i if node gi is free for j=1 to 6 gj = global index of j if node gj is free nnz[i]++ 但是,这会高估nnz,因为某些节点之间的交互可能会在多个元素中发生。 我已经考虑过尝试跟踪发现的i,j交互,但是我不确定如何在不使用大量内存的情况下执行此操作。我还可以遍历节点,并找到以该节点为中心的基本功能的支持,但是随后我必须搜索每个节点的所有元素,这似乎效率很低。 我发现了这个最近的问题,其中包含一些有用的信息,特别是来自Stefano M的,他写了 我的建议是应用一些图论概念,以python或C语言实现它,即将矩阵中的元素视为图的边并计算邻接矩阵的稀疏结构。列表列表或键字典是常见的选择。 我正在寻找有关此的更多详细信息和资源。我承认我不太了解图论,而且我对所有可能有用的CS技巧都不熟悉(我从数学的角度出发)。 谢谢!

2
在Stokes方程中施加混合有限元方法的相容条件
\newcommand{\v}[1]{\boldsymbol{#1}} 假设我们有以下斯托克斯流模型方程: ,其中粘度ν(x)是一个函数,对于标准的混合有限元,假设我们使用稳定对:Crouzeix-Raviart空间Vh表示速度u,元素方向恒定空间Sh表示压力p,我们有以下变体形式:{ − d i v(ν∇ ù )+ ∇ pd 我v ü= f= 0{−div(ν∇u)+∇p=fdivu=0 \tag{1} \left\{ \begin{aligned} -\mathrm{div}(\nu \nabla \v{u}) + \nabla p &= \v{f} \\ \mathrm{div} \v{u} &= 0 \end{aligned} \right.ν(x )ν(x)\nu(x)VHVh\v{V}_huu\v{u}ShShS_hppp L([u,p],[v,q])=∫Ων∇u:∇v−∫Ωqdivu−∫Ωpdivv=∫Ωf⋅v∀v×q∈Vh×ShL([u,p],[v,q])=∫Ων∇u:∇v−∫Ωqdivu−∫Ωpdivv=∫Ωf⋅v∀v×q∈Vh×Sh \mathcal{L}([\v{u},p],[\v{v},q]) = \int_{\Omega} \nu \nabla\v{u}:\nabla \v{v} -\int_{\Omega} q\mathrm{div} \v{u} -\int_{\Omega} p\mathrm{div} \v{v} =\int_{\Omega} \v{f}\cdot \v{v} …

1
有什么方法可以解决可压缩的欧拉方程
我想为可压缩的Euler方程编写自己的求解器,最重要的是,我希望它在所有情况下均能正常运行。我希望它是基于FE的(DG可以)。有哪些可能的方法? 我知道要进行零阶DG(有限体积)处理,并且应该非常可靠。我已经实现了基本的FVM求解器,并且效果很好,但是收敛速度很慢。但是,这绝对是一种选择。 我为线性化的Euler方程实现了FE解算器(适用于任何网格和任何元素的多项式阶数),但是我得到了虚假的振荡(最终爆炸了,因此无法使用它来解决我的问题),我在文献中读到,需要稳定它。如果我实施某种稳定化处理,那么对所有问题(边界条件和几何形状)都可以有效地发挥作用吗?收敛速度是多少? 除此之外,欧拉方程还有其他健壮的方法(即具有一定稳定性的高阶DG)吗? 我知道许多人在研究代码中尝试了许多不同的方法,但是我对一种适用于所有几何形状和边界条件的健壮方法感兴趣(编辑:在2D和3D中)。

3
在数学上,为什么质量矩阵/载荷矢量集总起作用?
我知道人们经常用集总的对角矩阵代替一致的质量矩阵。在过去,我还实现了一个代码,其中负载矢量以集总方式而不是FEM一致方式进行组装。但是我从来没有研究过为什么我们首先被允许这样做。 集总背后的直觉是什么,它允许将其应用于质量和载荷矢量?它的数学依据是什么?在什么情况下不允许集总/不是质量和载荷矢量的良好近似?

3
Comsol多物理场的替代方案
这可能是一个更适合SE的软件建议方面的问题,但是我确实相信,经常使用SE的这一部分的人更有可能回答这个问题。 我正在寻找Comsol Multiphysics的免费(不仅在自由方面)替代方案。这是一个棘手的问题:我不仅在寻找包含负载的建模和仿真程序包,还在寻找一种免费的解决方案,该解决方案应具有与Comsol尽可能相似的语法。也许有些程序包可以与Octave一起运行?如果是这样,我还没有找到。任何帮助将不胜感激! 谢谢! [编辑]我需要用于数值建模和仿真的软件。各种容器之间的流体流动,热传导等。简而言之,模拟各种PDE的解决方案。我正在寻找要模仿的其他软件的主要功能是Comsols Model Wizard。

2
对于不确定的对称系统,我应该使用PETSc中的哪些预处理器(和求解器)?
我的系统是带有拉格朗日乘子的对称有限元问题(例如不可压缩的斯托克斯流): (ABBTC)(ABTBC)\begin{pmatrix}A & B^T \\ B & C\end{pmatrix} 其中是典型情况(我什至已确保方程式已编号,以便拉格朗日乘数出现在最后)。该系统非常大(+ 100k行)。C=0C=0C = 0 阅读了这个问题的答案后,给我的印象是,有合适的预处理器可用于混合有限元问题。 -ksp_type minres -pc_type none -mat_type sbaij尽管精度不高(使用线性问题会导致多次牛顿迭代),但我使用PETSc设法用MINRES()解决了系统。预调节器和ksp-solver的其他组合似乎没有用。 是否有PETSc标志的组合可以比仅使用MINRES更快地解决此系统?

2
有限元奇摄动反应扩散问题的振动性
当FEM-离散和解决的反应-扩散问题,例如, 与 0 < ε « 1(奇异扰动),离散问题的解决方案将典型地显示出振荡层与边界邻近的。与 Ω = (0 ,1 ), ε = 10 - 5和线性有限元素,将溶液 û ħ模样- ε Δ Ü + Ü = 1 上 Ωu = 0 在 ∂Ω−εΔu+u=1 on Ωu=0 on ∂Ω - \varepsilon \Delta u + u = 1 \text{ on } \Omega\\ u = …

1
如何在3D 4节点元素上集成多项式表达式?
我想在3D的4节点元素上集成多项式表达式。关于FEA的几本书介绍了在任意平坦的4位元素上执行积分的情况。在这种情况下,通常的过程是找到Jacobi矩阵,并使用其行列式将积分基础更改为归一化的矩阵,在该规范中,我的积分极限更简单[-1; 1],并且易于使用高斯-勒根德勒正交技术。 换句话说, 被简化为∫Sf(x,y) dxdy∫Sf(x,y) dxdy\displaystyle\int_S f(x,y)\ \mathrm{d}x\,\mathrm{d}y\,∫−11∫−11f~(e,n) |det(J)|dedn∫1−1∫1−1f~(e,n) |det(J)|dedn\displaystyle\int^{-1}_{1}\int^{-1}_{1} \tilde{f}(e,n)\ \left|\det(J)\right|\,\mathrm{d}e\,\mathrm{d}n 但是在2D情况下,我将平面任意元素更改为平面1但形状良好的正方形2乘以2。 3D 4节点元素通常并不平坦,但我想它仍然可以使用2D坐标系进行映射,而2D坐标系与笛卡尔坐标系有关。我无法弄清楚如何用{e,n}来表达{x,y,z}以及在这种情况下Jacobi矩阵的大小是多少(应该是正方形的)。

1
对于具有各向异性边界网格的不可压缩流,哪些空间离散化有效?
高雷诺数流产生非常薄的边界层。如果在“大涡流模拟”中使用了壁分辨率,则宽高比可能约为10610610^6。在这种情况下,许多方法变得不稳定,因为insup常数会随着长宽比的平方根或更差而降低。insup常数很重要,因为它会影响线性系统的条件数和离散解的逼近性质。尤其是,以下关于离散误差保持的先验界限(Brezzi和Fortin 1991) μ∥u−uh∥H1≤C[μβinfv∈V∥u−v∥H1+infq∈Q∥p−q∥L2]∥p−ph∥L2≤Cβ[μβinfv∈V∥u−v∥H1+infq∈Q∥p−q∥L2]μ‖u−uh‖H1≤C[μβinfv∈V‖u−v‖H1+infq∈Q‖p−q‖L2]‖p−ph‖L2≤Cβ[μβinfv∈V‖u−v‖H1+infq∈Q‖p−q‖L2]\begin{split} \mu \lVert {\mathbf u} - \mathbf u_h \rVert_{H^1} \le C \left[ \frac{\mu}{\beta} \inf_{\mathbf v \in \mathcal V} \lVert{\mathbf u - \mathbf v}\rVert_{H^1} + \inf_{q \in \mathcal Q} \lVert p-q \rVert_{L^2} \right] \\ \lVert{p - p_h}\rVert_{L^2} \le \frac{C}{\beta} \left[ \frac{\mu}{\beta} \inf_{\mathbf v \in \mathcal V} \lVert{\mathbf u - …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.