Craig-Bampton法 — CAE术语解说
Craig-Bampton法
老师,我听说Craig-Bampton法是子结构法的一种,它是用来做什么的呢?
Craig-Bampton法的理论基础
基本概念和支配方程
Craig-Bampton法是一种模式缩约法,但具体「缩约」的是什么呢?
很好的问题。它缩约的是自由度(DOF)的数量。例如,整个汽车车身的有限元模型可能有数百万个自由度。Craig-Bampton法用「固定界面模式」和「约束模式」两种基底向量来表示,能把自由度压缩到例如1000个以下。这就是「缩约」的本质。
「固定界面」和「约束模式」有什么区别?界面指的是什么?
界面是指部件相互连接的边界面,或外部施加力的点(施力点)。例如,发动机与车体通过4个螺栓孔连接,这4个位置周围就是界面。「固定界面模式」是指在界面完全固定的状态下计算的部件自身固有振动模式。而「约束模式」是指将界面的每个自由度逐一施加单位位移时所产生的静态变形形状。
那么,在Craig-Bampton法的定式中,运动方程是如何改写的呢?
原始物理坐标
固定界面模式要取多少个才够?20个是经验法则吗?
经验法则起一定作用,但主要由关注的频率范围决定。汽车车体振动分析中,路面输入的主要频率通常不超过50 Hz,所以更高频率的模式贡献较小。一般来说,要包含到目标最高频率的1.5倍以上的模式。如果要看到100 Hz以内的现象,就需要计算到150 Hz的模式。对于钢制部件,下面20个模式通常能达到100~200 Hz。
Craig-Bampton法的数值计算手法
FEM离散化和求解器设置
在有限元软件中实际使用Craig-Bampton法时,界面定义有什么要注意的?
最重要的是让接合对象的界面自由度完全一致。在Abaqus中,用「Tie」约束或「Coupling」来定义接合面的节点群,在输出子结构时要确保这些节点作为「保持节点自由度」(Retained Nodal DOFs)被保留。通常保持全部6个自由度(3个平动、3个转动),但可根据实际接合情况(例如销钉接合只有转动自由)进行选择。
在计算固定界面模式时,用Lanczos法和AMS(自动多级子结构法)哪个比较合适?
这取决于模型规模和所需模式数。对于100万自由度以下的模型,如果只需要下面50个模式,标准Lanczos法就足够了。但像Nastran这样的求解器实现了AMS,在处理1000万自由度以上的大规模模型且需要数百个模式的情况下,AMS在内存效率和计算速度上明显优越。AMS内部自动进行部件分割和缩约,作为Craig-Bampton法的前处理是理想选择。
缩约后的质量矩阵和刚度矩阵是完全正确的吗?如何评估近似误差?
并非「完全正确」。由于固定界面模式数量有限而导致的截断误差会产生误差。有两种评估方法。一是在关注的频率范围内,将缩约后的模型和原始完整模型的模式保证图(MAC:模态保证准则)进行比较,MAC值以0.9以上为目标。二是进行静荷载工况解析,比较接口以外部位的变形和应力,误差应控制在许可范围内(例如5%以内)。
Craig-Bampton法的实务应用
工作流程和检查清单
飞机的机翼和机身由不同的团队分别建模,之后用Craig-Bampton法组合,最初应该统一规定哪些规格?
首先,要让接合界面的几何定义和节点位置完全一致。从共同的CAD数据中提取界面面,并规定网格尺寸(例如10 mm)。其次,统一所用的有限元软件和版本(例如MSC Nastran 2024),以及输出子结构的格式(如.op2文件)。最后,编制检查清单确认机翼侧保持的界面自由度与机身侧完全兼容,涵盖全部6个自由度。
子结构(缩约模型)的文件大小比预期要大。可能的原因是什么,应该怎样对策?
主要原因有三个。一是保留的界面自由度太多——应该只保留真正必要的接合点。二是固定界面模式计算得太多——应该根据频率范围重新评估,减少模式数。三是输出选项中包含了不必要的数据(如全节点变形形状)——Craig-Bampton法只需要输出广义质量/刚度矩阵和变换矩阵。在Ansys中,可用「CMSOPT」命令细致控制这些输出。
多个子结构组合进行全体分析时计算发散了。调试的步骤是什么?
要系统地逐步排查。首先,逐个验证每个子结构,在界面完全固定的状态下单独运行。执行特征值分析,确保不存在刚体模式(接近0 Hz的模式)。如果存在,说明界面固定不完全或内部有自由部件。接下来,尝试只组合两个子结构进行最小规模测试。如果还是发散,很可能是界面自由度定义或接合单元(如Nastran的RBE2、RBE3)设置错误。质量矩阵或刚度矩阵的奇异性是常见原因。
Craig-Bampton法的软件比较
Ansys/Abaqus/COMSOL等
Ansys Mechanical和Abaqus/Standard在Craig-Bampton法的功能和易用性上有很大差异吗?
差异主要体现在子结构工作流上。Ansys中称为「CMS(分量模式合成)」,可在前处理器内相对直观地设置。而Abaqus中的「子结构」生成和使用几乎完全由输入文件(.inp)的关键字(*SUBSTRUCTURE GENERATE, *SUBSTRUCTURE PROPERTY)控制。灵活性高,但学习难度也大。另外Ansys提供更多特征值求解器选项(Lanczos、PCG Lanczos、AMS)可在CMS中选择。
我听说MSC Nastran是这个领域的老牌,现在还有优势吗?
有明显优势。首先,它是航空航天业的事实标准,供应商间交换Craig-Bampton子结构(.op2文件)时的兼容性最好。其次,其AMS求解器在超大规模模型的高速模式抽取上领先业界。而且提供精细控制,例如用「RESVEC」卡添加残差向量以减少截断误差等高级功能。在汽车车身刚度耦合分析中也广泛应用。
COMSOL Multiphysics也能做分量模式合成吗?
从COMSOL 6.0开始增加了「分量模式合成」功能。但与Ansys或Nastran不同,它不是针对大规模结构振动分析这样的工业标准应用,而是作为多物理场模型(结构-声学耦合等)的一部分来缩约特定部件。从图形界面可以设置,但目前输出模式数和界面管理的功能仍比专门的结构分析软件有限。适用于研发和小规模多物理场模型,但大规模实际应用案例(如整车NVH分析)还不多见。
Craig-Bampton法的故障排除
常见错误和对策
用Craig-Bampton缩约模型进行瞬态响应分析时,高频域出现「发散」一样的不稳定振动。原因是什么?
这是典型的「模式截断误差」引起的不稳定性。未被固定界面模式表示的高阶模式能量会「折叠」到低阶模式上,表现为不稳定振动。有两个对策。一是将模式范围从最高频率的1.5倍扩大到2倍以上,重新缩约。二是施加适当的结构阻尼,特别是用频率相关的阻尼(如Nastran的TABDMP1)来反映高频阻尼较大的现实。
组合子结构时出现「自由度不兼容」的错误。应该检查什么?
首先检查要接合的两个界面节点的坐标系是否一致。都是在全局坐标系(基本坐标系)还是同一局部坐标系。其次检查自由度编号。大多数求解器规定1、2、3为平动,4、5、6为转动。如果子结构A保持自由度1、2、3、4,而子结构B保持1、2、3、5,那么自由度4和5「不兼容」会报错。必须让定义完全一致。
用缩约模型进行静力分析时,离界面较远的部位的应力与完整模型相差很大。可能的原因是什么?
关键在于「约束模式」是否能准确表示静态变形。当对界面施加集中力时,如果该施力点本身未被定义为界面节点,就不会产生对应该点单位位移的约束模式,结果变形形状无法由基底向量表示,应力无法再现。对策是将所有施力点明确地重新定义为界面节点。
大规模模型做Craig-Bampton缩约计算本身因内存不足而失败。求解设置中应该改进什么?
首先重新检查特征值求解器。将默认的Lanczos法改为内存更高效的求解器。在Ansys中选「PCG Lanczos」,在Nastran中选「AMS」。其次,把计算的固定界面模式数减少到必要最小限度。还可以考虑「物理上」进行子结构分割。例如将车身分为前、中、后三部分,先分别缩约成Craig-Bampton模型,再将三个子模型进行再次组合,这就是「多级子结构分割」,Nastran的「Superelement」功能可实现这一点。
相关主题
更详细
报告