问题标签 [finite-element-analysis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
optimization - 在材料标定中,Abaqus模型无法收敛等情况应该怎么办?
我在 Abaqus 中构建模型时的一个常见做法是拟合材料属性。例如,我尝试了所有可能的材料属性,并查看模型给出的表面变形,然后找出最符合我们实验观察的那个。实际上,我将该值与模型输出和实验数据进行比较,得到一个 R 平方值并尝试最小化 -1 的值。* R2。
我一直在使用 scipy 优化工具箱在 Abaqus 中执行此操作。但是,有一个问题:在某些情况下,模型不会与优化器尝试的某些给定参数收敛。在这些情况下,我应该为 R2 设置什么值?我应该将其设置为-1。* numpy.inf 或 -1。* numpy.nan(假设将 numpy 导入为 np)?
此外,在某些情况下,我使用不支持一般约束的优化函数,例如模数_1 > 模数_2;如果它要求我提交模数_1 <=模数_2的工作,我可以只返回-1。* np.inf 或 -1。* np.nan 作为惩罚?
问题的发生是因为没有办法知道模型在参数空间中无法收敛的先验位置。任何帮助将不胜感激。太感谢了!
arrays - 具有动力学反应的隐式有限差分热方程的 Matlab 解
我正在尝试使用隐式有限差分方法对木缸内的热传导进行建模。我用于圆柱形和球形的一般热方程是:
其中 p 是形状因子,圆柱体 p = 1,球体 p = 2。边界条件包括表面的对流。有关模型的更多详细信息,请参见下面 Matlab 代码中的注释。
主要的m文件是:
函数 m 文件 funcACbar 用于创建要求解的方程组:
最后,处理动力学反应的函数 funcY 是:
运行上面的代码给出了木圆柱中心和表面的温度分布:
从该图中可以看出,由于某种原因,中心温度和表面温度在 2 分钟标记处迅速收敛,这是不正确的。
有关如何解决此问题或创建更有效的方法来解决问题的任何建议?
python - 用于求解一些积分微分方程的 Python 库?
我有一大套耦合非线性积分偏微分方程。经过很长一段时间试图简化方程并至少以半解析的方式求解它们后,我得出结论,除了一种有效的数值方法外,我别无选择。有限元似乎最适合,因为它基于给出弱形式解的 Galerkin 方法,因此非常希望它最终可以解决方程。但与此同时,我对这个领域很陌生,从头开始编写代码:
是否有任何可用的 Python 库可以有效地进行有限元分析?
我也很感兴趣,如果像 FEniCS/Dolphin 这样的软件也可以解决积分微分方程?
python - 使用python搜索带有列的文本文档
我们是一些工程师学生,他们必须使用有限元来计算模拟 - 我们的项目是找到对象边缘的所有节点,并将它们与定义的线进行比较我们没有 python 经验,一直在阅读关于一周,但没有运气,所以现在我们正在尝试写这篇文章。我们的原始日期看起来像这样
我们需要做的是搜索在第 3 到第 6 列中出现 2 或 3 次的数字,并将它们打印到单独的文本文档中。然后我们需要在同一个文本文档中找到这些节点的坐标,它们看起来像这样
现在有了所有的边缘坐标,我们可以将模拟的边缘与所需的边缘进行比较。
我们不想要最终的解决方案,因为我们想学习用 python 编程,并且我们必须能够在考试中解释这一点,我们希望有人能指导我们找到正确的文献或我们可以玩的基本脚本周围,因为我们在这个论坛上没有找到任何符合我们需求的东西
先感谢您
python - 在 Abaqus 6.12 中使用 matplotlib(用于 python 2.6)
我想知道你们中是否有人将 matplotlib 用于与 ABAQUS 结合的 python 代码。我真的很想将 matplotlib 加载到 abaqus-python 界面上。我正在使用具有 python 2.6 的 ABAQUS 6.12。另外,我使用的是 Windows 64 位。
但是,当我下载适用于 python 2.6 的 matplotlib 时,它无法安装并说
“需要 Python 2.6,在注册表中找不到。”
谁能帮帮我?有谁知道安装 matplotlib 以使其适用于 Abaqus 6.12 的分步方法?
任何帮助,将不胜感激!谢谢
注意:对于不熟悉 FEA 软件的人,Abaqus 脚本接口是 Python 面向对象编程语言的扩展,随 ABAQUS/CAE 一起提供。
python - 尝试将 matplotlib 与 ABAQUS 一起使用。出现涉及 dateutil 的错误
我想知道你们中是否有人将 matplotlib 用于与 ABAQUS 结合的 python 代码。我正在使用具有 python 2.6 的 ABAQUS 6.12。另外,我使用的是 Windows 64 位。
我已经下载了 matplotlib,但是当我将 matplotlib 导入 ABAQUS-Python 脚本界面时,我收到以下错误:
ImportError:matplotlib 需要 dateutil
谁能帮帮我?我该如何解决?
任何帮助,将不胜感激!谢谢
注意:对于不熟悉 FEA 软件的人,Abaqus 脚本接口是 Python 面向对象编程语言的扩展,随 ABAQUS/CAE 一起提供。
matlab - Matlab使用闭包降低性能
我正在使用有限元在二维矩形上编写泊松方程的解决方案。为了简化代码,我将基函数的句柄存储在一个数组中,然后遍历这些基函数以创建我的矩阵和右手边。这样做的问题是,即使对于非常粗糙的网格,它也非常慢。对于 9x9 网格(使用 Dirichlet BC,有 49 个节点需要求解),大约需要 20 秒。使用配置文件我注意到大约一半的时间用于访问(而不是执行)我的基本功能。
分析器说matrix_assembly>@(x,y)bilinearBasisFunction(x,y,xc(k-1),xc(k),xc(k+1),yc(j-1),yc(j),yc(j+1)) (156800 calls, 11.558 sec)
,自身时间(不执行双线性基代码)超过 9 秒。关于为什么这可能如此缓慢的任何想法?
这是一些代码,如果需要,我可以发布更多:
python - 即时编写多列列表
嗨,我正在写一个如下列表:
正如您从第 3 行中看到的那样,列表的第一项被重复,我想要实现的是,一旦循环达到 maxCount,它不会继续追加到列表的底部,而是追加到右侧。我理想地想要获得的是:
有任何想法吗?
我想出了一个解决方案,但我觉得有点有限,我现在正在使用列表生成器的列表,像这样
我想给你一个字典生成器,但无法让它工作,任何帮助或者如果你有更好的解决方案。
python - 如何在 matplotlib 中找到给定三角形的所有点以进行精细的三角剖分?
给你一些背景信息(如果你根本不感兴趣,你可以跳过整个下一段):
我正在写我的论文,从“零开始”为泊松方程构建一个 2D-FEM 求解器。基本思想是将一个区域划分为三角形(“有限元”)并将 PDE 重写为某种积分方程,这基本上将问题简化为这些三角形上的一些数值积分,因此是一个(巨大的)线性系统方程(Ax = b)。
对于编码,我使用的是 python/numpy/matplotlib。我试图通过使用来获得三角测量matplotlib.tri
。这工作正常,但问题来了:
为了绘制解决方案,我需要在每个三角形上评估一些函数(我们称之为 phi)。因此我考虑使用matplitlib.tri.UniformTriRefiner.refine_triangulation
将每个三角形划分为几个子三角形。现在我想在每个子三角形的每个节点上调用 phi,但我需要知道我当前正在处理的原始三角形(以确定正确的 phi)。refine_triangulation
根据文档[1],有一个可选的返回值found_index
,它应该包含原始三角形的点(在细分之前)。
不幸的是,如果你在这个数组中搜索给定索引的所有子节点,你只会得到原始三角形包含的一些子节点,因为大多数节点属于几个三角形,它们只被添加到其中一个。
图片显示了原始三角剖分(黑色)和子三角形(红色)。黑点显示为 triangle 返回的所有节点113
,在这种情况下,6 个中有 3 个丢失(我在最后添加了代码)。
有谁知道获取给定三角形的每个子三角形的所有节点的方法或更好的方法来绘制这个?
谢谢!:)
[1] http://matplotlib.org/dev/api/tri_api.html
代码转储:
python - 安装 Cgal 绑定 Python 时出错
无论我尝试什么方法,Cgal-bindigs 的安装都会停止并给我下一个问题:
我确定我安装了所有先决条件。我不明白错误:S。如果它有用,我将粘贴“make VERBOSE=1”输出: http: //pastebin.com/V1e9knAh 请帮助我需要将它用于生物医学调查,四面体化是有限元分析的基础。