开源CAE实战系列(六):Code_Aster结构动力学应用
1 瞬态分析 & 频响分析
1.1 静力学与结构动力学
静力学:寻求系统达到平衡状态

![]()
结构动力学:寻求系统随时间的变化

![]()
1.2 有限元方法
可以将一维的动态方程拓展成三维的动态方程:

1.3 瞬态分析的基本原理
运动方程:

>> 分离时间和空间相关的变量
![]()
>> 与时间相关的变量
![]()
>> 时间的数值积分
- 力矩和惯性矩的平衡方程
![]()
- 例子:一阶精度的Euler方法

1.4 瞬态分析的计算
(1)必要的参数:
- 矩阵 M(质量),C(阻尼),K(刚度)
- 激励 E 和 与时间相关的函数u(t)
(2)需要的命令:
- 计算模型的定义 AFFE_MODELE
- 材料的定义和装配 AFFE_MATERIAU
- 边界条件 AFFE_CHAR_MECA
- 结构单元的特征(例如梁单元…) AFFE_CARA_ELEM
- 载荷 AFFE_CHAR_MECA
(3)模型的装配:
- 矩阵 M, C, K; 激励 E → ASSEMBLAGE
- 时间相关的函数 → FORMULE / DEFI_FONCTION
(4)求解器:
DYNA_VIBRA(TYPE_CALCUL='TRAN', BASE_CALCUL='PHYS')
(5)后处理:
- 转化为其他物理场:CALC_CHAMP, POST_CHAMP, POST_ELEM …
- 输出结果:IMPR_RESU
1.5 频响/谐响分析的基本原理
频响/谐响分析的目的是为了计算稳态响应的结果。稳态响应是系统在稳态振荡激励下,瞬态过程衰减后留下的稳定部分,因此它与瞬态分析的基础密不可分。
![]()
为了高效求解这类问题,我们采用稳态计算的一种方法:

接着,逐一频率进行计算(即扫频法),通过对不同频率的激励依次求解,最终得到系统在各频率下的稳态响应结果。

1.6 频响/谐响分析的计算
(1)必要的参数:
- 矩阵 M(质量),C(阻尼),K(刚度)
- 激励 E 和 与频率相关的函数u(ω)
(2)装配步骤:
同瞬态分析。
(3)求解器:
DYNA_VIBRA(TYPE_CALCUL='HARM', BASE_CALCUL='PHYS')
(4)后处理:
- 转化为其他物理场:CALC_CHAMP, POST_CHAMP, POST_ELEM …
- 输出结果:IMPR_RESU

2 模态空间求解振动问题
2.1 特征频率&模态振型
特征频率和模态振型能够表示动能和势能间的转换。从数学上,
![]()
对于一维问题,

特征频率&模态振型取决于边界条件,与外加载荷无关。
- 特征频率:每秒内振荡的次数
- 模态振型:几何形变

2.2 模态的计算
方法一:Assistant
- Salome_meca中运行
- 振动瞬态和谐响分析的快捷第一步
方法二:CALC_MODES
- 矩阵装配需要质量M和刚度K(可能需要阻尼C)
- 在大多数情况下,默认配置便已足够
如果分析前20阶模态,
modes = CALC_MODES ( MATR_RIGI= matrigi,
MATR_MASS= matmass,
OPTION='PLUS_PETITE',
CALC_FREQ=_F(NMAX_FREQ= 20))
如果分析(0, 60Hz)带宽的模态,
modes = CALC_MODES ( MATR_RIGI= matrigi,
MATR_MASS= matmass,
OPTION='BANDE',
CALC_FREQ=_F(FREQ=(0.,60.))
2.3 模态叠加 & 模态缩减
所有的运动都能在模态空间中表征,即模态叠加法:
![]()
使用有限阶数的模态表征研究对象的运动,能够极大地降低分析成本(包括未知数的数量,自由度),即模态缩减:
![]()
经验准则:一般研究的最大特征频率只需要取激励频率的2倍。
我们还可以从模态基底的角度优化结果,例如增加使用的模态阶数、静态修正。
2.4 模态缩减的计算
(1)必要的参数:
- 矩阵 M(质量),C(阻尼),K(刚度)
- 激励 E 和 与频率相关的函数u(ω)
(2)装配步骤:
同瞬态分析。
(3)计算模态,投影到模态空间:
- CALC_MODES
- PROJ_BASE
(4)求解器:
瞬态
DYNA_VIBRA(TYPE_CALCUL='TRAN',BASE_CALCUL='GENE')
谐响
DYNA_VIBRA(TYPE_CALCUL='HARM',BASE_CALCUL='GENE')
(5)后处理:
- 将整个模型从模态空间投影回物理场 REST_GENE_PHYS
- 将某些点从模态空间投影回物理场 POST_GENE_PHYS(输出结果为table)
- 转化为其他物理场:CALC_CHAMP, POST_CHAMP, POST_ELEM …
- 输出结果:IMPR_RESU
3 阻尼问题和可视化处理
3.1 阻尼的计算
(1)黏性阻尼
隔振方程:
![]()
Rayleigh阻尼:
![]()
- DEFI_MATERIAU: AMOR_ALPHA & AMOR_BETA
- ASSEMBLAGE (OPTION = 'AMOR_MECA') ——阻尼矩阵C
(2)结构阻尼
![]()
常使用于频响分析
- ASSEMBLAGE(OPTION= 'RIGI_MECA_HYST') ——阻尼矩阵C
(3)比例阻尼
- DYNA_VIBRA(TYPE_CALCUL = 'TRAN', BASE_CALCUL='GENE')
AMOR_REDUIT = 0.01
3.2 文件输出和可视化处理
在Salome_meca的ParaViS模块中选择菜单栏Filters > Mechanics > Normal modes animation,
无尺度量纲。
显示模态振型的流程:
- 在Properties选项卡中,将“Time”选项切换到“Mode”选项
- 勾选“GenerateVectors”选项
- 点击“Apply”
- 从下拉列表中选择要显示的模式
- 点击菜单栏filter>Common>Warp by Vector,以显示当前模型的形变
- 显示动画: 点击Animation View选项卡中的“+”
- 点击“Play”,播放动画

4 其他问题
(1)模态分析的局限性:
- 线性力学问题
- 不能分析点接触 (in DYNA_VIBRA(TYPE_CALCUL=‘TRAN’,BASE_CALCUL=‘GENE’))
(2)非线性力学问题:
使用DYNA_NON_LINE
(3)模态分析常见场景:
- 流固耦合结构:声波,势流,面波……
- 随机问题
- 地震分析
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)