开源CAE实战系列(四):Code_Aster常用命令汇总
最常用的命令都在这里了,快收藏起来~
1 网格和结果文件格式
Code_Aster支持的网格和结果文件格式常用的为Aster格式或MED格式。
- Code_Aster格式:
mymesh=LIRE_MAILLAGE(FORMAT='ASTER')
- MED格式:
mymesh=LIRE_MAILLAGE()
其他格式网格以命令PRE_***的形式定义,如PRE_GIBI,PRE_IDEAS,PRE_GMSH。
例如:
PRE_***()
mymesh=LIRE_MAILLAGE()
结果文件的命令为IMPR_RESU,以MED格式输出结果为例:
IMPR_RESU(FORMAT='MED',RESU=_F(RESULTAT=myresult,))
2 设置有限单元
有限单元信息包括来自网格的几何描述、形函数和自由度,有限单元决定了求解的方程、离散与积分方法以及计算结果。
mymodel = AFFE_MODELE(MAILLAGE=mymesh,
AFFE=_F(GROUP_MA='ZONE_1',
PHENOMENE='MECANIQUE',
MODELISATIO='C_PLAN'),
)
以力学问题为例,3D单元:

2D/1D/0D单元:

使用多种单元时需要注意不同单元间的连接,这部分我们在上一篇的结构单元中也有详细说明。
其他注意事项:
>> 轴对称单元必须沿Y轴对称,节点的X坐标必须为正。
>> 旋转法向:
(1)命令MODE_MAILLAGE;
(2)确定壳单元的法向与3D单元的边界(线、面)方向;
(3)正确调整接触有限元单元的方向:
- ORIE_NORM_COQUE:调整壳单元法向一致
- ORIE_PEAU_2D,ORIE_PEAU_3D:调整单元的边界方向,使其可以正确的施加载荷(压强)
3 设置材料
材料是由一系列参数定义的,不同物理量的单位需要相匹配,例如:
|
网格结点的坐标 |
mm |
m |
|
弹性模量 |
MPa |
Pa |
|
力载荷 |
N |
N |
|
结果中的应力 |
MPa |
Pa |
同时,材料属性必须与求解设置中的本构匹配。
重复赋值规则:

4 设置结构单元属性
结构单元包括我们上一篇提到的壳单元、板单元、梁单元等。
网格信息不包含这些单元的信息:
- 壳单元:厚度,切平面方向
- 梁单元:截面属性,旋转方向
- 离散单元(弹簧单元、质量单元、阻尼单元):刚度矩阵、质量、阻尼矩阵
- 杆单元:截面属性
- ……
charac=AFFE_CARA_ELEM(MODELE=MODELE,
POUTRE=_F( GROUP_MA='rotor',
SECTION='CERCLE',
CARA='R',
VALE=.05,),
5 设置边界条件与载荷
设置的命令为AFFE_CHAR_***。
5.1 载荷
(1)内部载荷:
- 重力PRSANTEUR
- 旋转离心力ROTATION
- 体积力FORCE_INTERNE
- 结点力FORCE_NODAL
- ……
(2)边界载荷:
- 面分布力FORCE_FACE
- 线分布力FORCE_ARETE
- 边界力FORCE_CONTOUR
- 压强PRES_REP
- ……
(3)结构单元载荷:
- 梁分布力FORCE_POUTRE
- 壳分布力FORCE_COQUE
- 管道力FORCE_TUYAU
- ……
5.2 约束
- DDL_IMPO:节点或节点集的自由度约束
- FACE_IMPO:面上自由度约束(包括切向约束和法向约束)
- LIAISON_SOLIDE:单元或节点的刚性连接
- LIAISON_ELEM:3D单元与梁单元连接、梁壳单元连接等
- LIAISON_COQUE:壳单元连接
- ……
约束的自由度需要与选择的单元类型一致。例如壳、梁单元的转动自由度约束:
char=AFFE_CHAR_MECA( MODELE=MO,
DDL_IMPO=_F( GROUP_NO = 'A',
DX = 0.,
DY = 0.,
DZ = 0.,
DRX = 0.,
DRY = 0.,
DRZ = 0.),
6 设置求解模型
约有15种问题的分析命令,包括:
- 热学:线性热分析THER_LINEAIRE,非线性热分析THER_NON_LINE
- 静力学:线弹性静力分析MECA_STATIQUE,非线性静力分析STAT_NON_LINE
- 动力学:线性动力分析DYNA_VIBRA,非线性动力分析DYNA_NON_LINE
- 模态计算:模态分析CALC_MODES
必须在求解前设置完计算所需的参数:
- 有限元模型:MODELE
- 材料场:CHAM_MATER
- 结构单元属性:CARA_ELEM
- 载荷约束:AFFE_CHAR_MECA
- 时间步(如果需要的话):LIST_INST
7 线性代数求解器的选择
求解器选择命令为SOLVEUR/METHODE。
求解器的选择依赖所求解的问题:
(1)直接法求解器
- MULT_FRONT:默认方法,通用求解器,多种模型混合时不推荐使用
- MUMPS:外部求解器,与MULT_FRONT适用范围一致,可以用于并行计算
(2)迭代法求解器
- GCPC:热学计算推荐
- PETSC:外部求解器,提供多种计算方法,鲁棒性强,可以用于并行计算
一般情况下使用默认的选择即可。
8 计算结果
8.1 物理场
物理场的类型包括位移、应力、加速度、速度等,有多个分量,且为单帧数据(即单个时间或频率的结果)。
数据的命名规则为XXXX_YYYY,其中XXXX表示场的名字如SIGM、EPSI、ERRE(DEPL、VITE、ACCE除外),YYYY表示保存数据的位置如NOEU(节点)、ELGA(积分点)、ELNO(单元节点)、ELEM(单元常数)。

8.2 计算结果
结果数据依赖执行的计算,包含多个物理场,为多帧数据(不同时间步或频率)。
9 设置结果输出
(1)IMPR_RESU:支持网格、场、结果的输出
不同的格式:RESULTAT(文本)、ASTER、MED、GMSH、IDEAS
(2)IMPR_TABLE:输出列表
(3)IMPR_FUNCTION:提取物理场中的具体数据,绘制函数曲线
10 设置后处理计算
(1)CALC_CHAMP:创建新的物理场
- 创建或完善原有数据
- 计算应力、应变、能量、误差等物理场
(2)POST_ELEM:创建表格
- 计算能量(势能、动能、耗散能等)
- 计算积分或平均值
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)