专栏/有限元分析(3)-网格

有限元分析(3)-网格

2022年05月29日 09:42--浏览 · --点赞 · --评论
粉丝:62文章:12

一、前沿

根据有限元分析(1)构建的长方形,我们继续研究网格划分问题。

根据有限元分析(2)我们知道了【挤压】命令

Extrude {0,0,0.12} { Surface{my_new_surfs[1]}; }

本节我们继续深入探索,网格划分细节

二、细节

1. 几何体(有限元分析(1)


图1 几何形状 (Include "t1.geo";)

2. 挤压成型---网格控制

图2 挤压成型

【代码】

Include "t1.geo";
h = 0.1;

Extrude {0,0,h} { Surface{1}; }

此时网格分析

图3 自动划分的网格

控制网格划分:分层控制

图4 控制后,网格划分结果

【代码】

Include "t1.geo";
h = 0.1;

Extrude {0,0,h} { Surface{1}; Layers{ {8,2}, {0.5,1} }; }

3. 旋转挤压成型

旋转要素:旋转轴;旋转中心;旋转角度


图5 挤压旋转成体

【代码】

Include "t1.geo";
h = 0.1;

Extrude {0,0,h} { Surface{1}; Layers{ {8,2}, {0.5,1} }; }

Extrude { {0,1,0} , {-0.1,0,0.1} , -Pi/2 } {
  Surface{28}; Layers{7}; Recombine;
}

网格探究

图6 网格探究7层 Layers{7}

4. 引入新语法:定义参数

DefineConstant[ angle = {90, Min 0, Max 120, Step 1,
                         Name "Parameters/Twisting angle"} ];

解释:定义角度常数列表;范围0-120;

图7 定义参数解释图

5. 移动与旋转同时挤压

Extrude { {-2*h,0,0}, {1,0,0} , {0,0.15,0.25} , angle * Pi / 180 } {
  Surface{50}; Layers{10}; Recombine;
}


图8 移动与旋转同时挤压前解释

旋转角度探究

图9 旋转0度;只有移动效果
图10 旋转120度;扭曲效果
图11 扭曲33度,网格划分效果

三、代码

Include "t1.geo";
h = 0.1;

Extrude {0,0,h} { Surface{1}; Layers{ {8,2}, {0.5,1} }; }

Extrude { {0,1,0} , {-0.1,0,0.1} , -Pi/2 } {
  Surface{28}; Layers{7}; Recombine;
}

DefineConstant[ angle = {100, Min 0, Max 120, Step 1,
                         Name "Parameters/Twisting angle"} ];

out[] = Extrude { {-2*h,0,0}, {1,0,0} , {0,0.15,0.25} , angle * Pi / 180 } {
  Surface{50}; Layers{10}; Recombine;
};

Physical Volume(101) = {1, 2, out[1]};

Geometry.PointNumbers = 1;
Geometry.Color.Points = Orange;
General.Color.Text = White;
Mesh.Color.Points = {255, 0, 0};
图12 构建的几何体
图13 网格划分结果

四、总结

我们在构建模型的时候,对网格进行了控制,以及参数的定义。这些新的知识使建模更加灵活,但是一次同时,增加我们的理解难度,只要我们一步一步的对代码剖析,总会发现背后的规律。

(1)挤压成型;可以沿着x,y,z挤压成型

(2)挤压成型:可以旋转成型

(3)挤压成型:既可以移动+旋转成型(如图13)

参考文献

  1. 有限元分析(1)

  2. 有限元分析(2)

  3. Gmsh官方文档的代码"t3.geo" 


投诉或建议