开源CAE实战系列(三):Code_Aster结构单元全解析
预告一下,下一篇我们会非常详细地介绍Code_Aster的命令怎么写,完全实用的操作指导。在此之前,先来理解什么是结构单元,这对于之后的计算设置而言也是一块重要的知识基础。
1 结构单元的定义

1.1 定义原则
- 模拟有中性轴和中性面的结构
- 突出主要的物理现象(弯曲、扭转、膜应力等)
- 保证精度同时减小模型的规模
- 针对某些特定结构有专用模型
1.2 分类
1.2.1 离散单元(0D或1D)
模拟弹簧、质量点、阻尼器等。
支持的单元:POI1 或 SEG2
Code_Aster中的模型:DIS_T, DIS_TR, 2D_DIS_T, 2D_DIS_TR

使用离散单元模拟燃料棒
1.2.2 梁单元、杆单元、索单元(1D)

模拟有中性轴的细长结构,例如直梁或曲梁、桁架,具体到应用场景例如使用梁模型进行蒸汽管的非线性模态分析。
尺寸:L1, L2<<L
支持的单元:SEG2, SEG3
Code_Aster中的模型:
- 直梁:POU_D_E, POU_D_T, POU_D_TG
- 多纤维梁:POU_D_EM, POU_D_TGM
- 杆:2D_BARRE, BARRE
- 索:CABLE
选择合理的模型:
- Euler梁 (POU_D_E*):细长梁
- Timoshenko梁 (POU_D_T*):深梁
- 翘曲梁(POU_D_TG*):薄壁截面 (I, H, L型截面)
- 多纤维梁 (POU_D_*M) : 模拟材料的非线性
- 杆: 钢筋、承受拉压,如钢筋等
- 索: 只能承拉

1.2.3 管道单元(1D)
用于模拟直管和弯管。管道单元是在一个模型中集成梁理论和壳理论的结构单元类型,只适用于环形截面。

支持的网格:SEG3或SEG4(弯管)
Code_Aster中的模型:
- TUYAU_3M (直管和弯管)
- TUYAU_6M (直管)
混合模型:
- Euler-Bernoulli 理论描述纤维的变形
- Love-Kirchoff 描述截面的变形
如何选择合理的模型,我们需要借助梁+壳混合公式,使用Fourier级数表示壳位移:
- TUYAU_3M : 3个Fourier模态
- TUYAU_6M : 6个Fourier模态
此外:
- 薄壁管: 截面厚度-半径比< 0.1 : TUYAU_6M
- 考虑塑性: TUYAU_6M
1.2.4 板壳单元(2D)

模拟存在中性面的细长结构,包括平面中性面(板模型)和曲面中性面(壳模型),e << L1, L2。
支持的网格:
- TRIA3, QUAD4
- TRIA7, QUAD9 (COQUE_3D)
Code_Aster中的模型:
- 板单元 : DKT, DST, Q4G, DKTG, Q4GG
- 壳单元:COQUE_3D
选择正确的模型:
- 平面结构:DKT, DST, Q4G
- 曲面结构:COQUE_3D
- 厚板、厚壳 (厚度-长度比达到1/10时) : DST, Q4G
- 非线性材料:DKT, COQUE_3D
- 考虑大位移:COQUE_3D
2 结构单元的属性
2.1 基本属性
结构单元的属性使用AFFE_CARA_ELE 命令定义,不同的结构单元需要指定的属性。
- 离散单元 (弹簧、质量点、阻尼):刚度、质量、阻尼矩阵,朝向
- 梁单元:截面几何信息,惯性主轴朝向,曲梁单元的曲率,总体特征
- 杆单元和索单元:截面面积
- 管道单元: 截面信息,环向段数,厚度上的层数
- 板壳单元:厚度,切平面中的坐标系,层数,朝向
2.2 离散单元
使用命令AFFE_CARA_ELEM / DISCRET

2.3 梁单元
使用命令AFFE_CARA_ELEM / POUTRE

2.4 杆单元和索单元
使用命令AFFE_CARA_ELEM / BARRE

2.5 管道单元
使用命令AFFE_CARA_ELEM / POUTRE

2.6 板壳单元
使用命令AFFE_CARA_ELEM / COQUE

>> 注意 !
板壳单元中多层(multi-layers)的概念不同于多材料(multi-material)的概念
multi-layers == 厚度方向上有多个积分点
multi-material == 复合材料(一层为一种材料)
3 不同类型单元间的连接
同时使用多种单元可以节省时间和内存,此时我们需要连接不同的单元,定义线性关系,使用的命令是AFFE_CHAR_MECA(使用文档[u4.44.01])。
注意必须设置出自由度之间的运动学联系。

3.1 梁单元模型的连接
使用命令AFFE_CHAR_MECA / LIAISON_ELEM
- 三维单元与梁单元连接:3D_POU
- 平面单元与梁单元连接:2D_POU
- 板壳单元与梁单元连接:COQ_POU
char=AFFE_CHAR_MECA(
MODELE=model,
LIAISON_ELEM=_F(OPTION='COQ_POU',
CARA_ELEM=CAREL,
AXE_POUTRE=(1.,0.,0.,),
GROUP_MA_1='C1C2',
GROUP_NO_2='C'),);
3.2 板壳单元模型的连接
使用命令AFFE_CHAR_MECA / LIAISON_MAIL
- COQUE
- MASSIF_COQUE
- COQUE_MASSIF
char=AFFE_CHAR_MECA(MODELE=model,
LIAISON_MAIL=_F(
TYPE_RACCORD='MASSIF_COQUE',
GROUP_MA_ESCL='AB',
GROUP_MA_MAIT='M1M2M3M4'),);
3.3 管道单元模型的连接
使用命令AFFE_CHAR_MECA / LIAISON_ELEM
- COQ_TUYAU
- 3D_TUYAU

char=AFFE_CHAR_MECA(
MODELE=model,
LIAISON_ELEM=_F(
OPTION='COQ_TUYAU',
GROUP_MA_1='CERCL2',
GROUP_NO_2='NOPOU1',
CARA_ELEM=CAREL1,
AXE_POUTRE=(COS30,0.5,0.0,),
),);
4 结构单元的后处理
4.1 “子点”
子点是结构单元厚度方向上的积分点。
对于板壳单元,每层3个子点;对于多纤维梁单元,每个纤维和每个截面网格1个子点;对于管道单元,每层和每个环向段3个子点。




4.2 结构单元后处理
后处理命令(CALC_CHAMP / IMPR_RESU)注意事项:
- 场为用户坐标系上的场
- *_ELGA场定义在所有的子点上
- *_ELNO场由*_ELGA场计算得到(不适用于梁单元和管道单元)
- *_NOEU场定义在一层上,在一个点上,由*_ELNO 场计算得到(不适用于梁单元和管道单元)
使用MODI_REPERE命令可进行坐标系变换。
4.3 结果可视化
子点上场的可视化:
# Post-treatment
IMPR_RESU(FORMAT='MED', UNITE=41,
RESU=_F(RESULTAT=RESU, CARA_ELEM=CAEL,
NOM_CHAM =("SIEF_ELGA","EPSI_ELGA"),),
)
IMPR_RESU(FORMAT='MED', UNITE=42,
RESU=_F(RESULTAT=RESU, CARA_ELEM=CAEL,
NOM_CHAM ="VARI_ELGA", IMPR_NOM_VARI="NON" ),
)
在ParaVis中显示模式为Point Gaussian。

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)