标签: finite-element-analysis

Sage中的有限元分析

可以在Sage中进行有限元分析吗?如果是这样,它是静态的还是动态的?

如果没有,有人可以提出替代申请吗?我尝试过Impact,但它不符合我的需求.Matlab是一个选项,但我宁愿不必购买许可证.

sage finite-element-analysis

3
推荐指数
1
解决办法
1064
查看次数

有什么方法可以让gmsh在材质边界的两边使用相同的顶点集?

我试图对由3种材料组成的复杂几何进行网格划分,如下所示:

在此输入图像描述

几何从*.stp文件导入.

我在地理文件中定义了几个物理表面和3个物理域:

Physical Surface("air-case", 1) = {50, 42, 41, 40, 48};
Physical Surface("case-thermal", 2) = {32, 15, 22, 21, 25};
Physical Surface("thermal-grain", 3) = {2, 7, 6};
Physical Surface("thermal-fluid", 4) = {30, 27};
Physical Surface("burning", 5) = {3, 4, 5, 10, 13, 9, 11, 12};

Physical Surface("case-sym", 11) = {49, 51, 34, 43, 44, 47};
Physical Surface("thermal-sym", 12) = {24, 28, 14, 23, 29, 33};
Physical Surface("grain-sym", 13) = {8, 1};

Physical Volume("case", 1) = {6, 5, 7};
Physical …
Run Code Online (Sandbox Code Playgroud)

numeric mesh numerical-methods finite-element-analysis

3
推荐指数
1
解决办法
788
查看次数

CAD中的自动化设计,FEA分析和优化

我想通过让优化器对CAD文件进行更改来优化设计,然后在FEM中进行分析,并将结果反馈到优化器中,根据FEM对设计进行更改,直到解决方案收敛到最佳(质量,刚度,否则).

这就是我想象的:

  • 在CAD软件(例如CATIA)中创建零件的蓝图.
  • 从编程语言(例如Python)中运行优化器代码(例如fmincon).优化器的参数是CAD模型的参数(角度,长度,厚度等).
  • 优化器评估某个设计(参数集).编程语言调用CAD软件并相应地修改设计.
  • 编程语言提取一些信息(例如质量).
  • 然后编程语言提取STEP文件并将其传递给FEA求解器(例如Abaqus),在那里执行预定义的分析.
  • 编程语言读取结果(例如max van Mises stress).
  • CAD和FEM的结果(例如质量和应力)被输入优化器,从而相应地改变设计.
  • 直到它收敛.

我知道这存在于一个封闭的架构(例如isight)中,但我想使用一个开放式架构,其中优化器是在开放式编程语言(理想情况下是Python)中调用的.

最后,这是我的问题:

  • 可以这样做,正如我所描述的那样吗?
  • 参考,教程好吗?
  • 您推荐哪些软件用于编程,CAD和FEM?

scripting optimization automation cad finite-element-analysis

2
推荐指数
1
解决办法
964
查看次数

在 Python 中创建二维非矩形形状的三角形网格

假设我有一组点定义二维平面中非矩形形状的周长。

我需要一个函数来创建三角形网格划分,在其中可以修改三角形单元的数量并返回每个单元的 (x,y) 坐标。

谢谢。

python mesh finite-element-analysis pymesh

2
推荐指数
1
解决办法
4130
查看次数

gmsh中如何保证节点点?

我正在尝试构建一个非常简单的网格。我有一个盒子:

box_size = 50;
lb = 10.;
Point(1) = {-box_size/2, -box_size/2, -box_size/2, lb};
Point(2) = {box_size/2, -box_size/2, -box_size/2, lb};
Point(3) = {box_size/2, box_size/2, -box_size/2, lb};
Point(4) = {-box_size/2, box_size/2, -box_size/2, lb};
Line(1) = {1, 2};
Line(2) = {2, 3};
Line(3) = {3, 4};
Line(4) = {4, 1};
Line Loop(5) = {1, 2, 3, 4};
Plane Surface(6) = {5};
Extrude {0, 0, box_size} {
  Surface{6};
}
Run Code Online (Sandbox Code Playgroud)

这工作得很好,gmsh 很乐意对其进行 (3D) 网格划分。问题是我要确保盒子内的某些点是节点。所以我的问题是,我如何确保这些点,比如这些

lc = 10;
Point(5) = {7.150548, 1.000000,  -6.990684, lc};
Point(6) = …
Run Code Online (Sandbox Code Playgroud)

numeric mesh numerical-methods finite-element-analysis gmsh

1
推荐指数
1
解决办法
3484
查看次数

Calloced内存似乎为NULL

有哪些可能的情况可以使以下代码执行if以下代码段中的条件?就我而言,我无法将任何原因if与执行语句联系起来.

#include <stdio.h>
#include <stdlib.h>
void main(void){
int Nod = 1024 * 8; //Nod contains the number of nodes
double *MM; //MM is a square matrix it can contain very large number of data 10^10
MM = calloc(8 * Nod * 8 * Nod, sizeof(double));
if (MM == NULL)exit(0);
//then MM will then be passed to some other functions say
eigenvalue(MM);}
Run Code Online (Sandbox Code Playgroud)

我正在使用一个FEM代码,它在一个非常大的程序中间进行了这项检查.有趣的是,当我运行代码时,它会显示异常行为.有时程序会在这里停止.有时它只是工作正常.值得一提的是,当程序以粗网格运行时,即当Nod计算节点数量较少时,程序运行正常.但是当使用精细网格时,程序崩溃不幸.该程序在具有128GB Ram的迷你工作站中运行.该程序占用1GB(左右)的RAM.

c calloc finite-element-analysis dynamic-allocation

1
推荐指数
1
解决办法
109
查看次数

Haskell 中缺乏有限元方法实现 - 有什么具体原因吗?

我很好奇为什么 Haskell 或任何函数式语言中似乎缺乏有限元方法 (FEM) 实现。鉴于 Haskell 的纯函数性质,我期望找到大量数值方法的实现。

我在 GitHub 和 Google Scholar 上快速搜索并没有找到很多相关参考文献。我遇到了一个关于 Haskell 在处理大型矩阵中的应用的 Quora 问题,但没有一个答案提到稀疏矩阵或 FEM。Haskell 社区内是否有关于缺乏 FEM 实施的具体讨论或原因?我希望对此事有见解或参考。

问题!

haskell functional-programming numerical-methods finite-element-analysis

0
推荐指数
1
解决办法
127
查看次数