首页/文章/ 详情

FEM之求解器(11)---利用C 开发动力学求解器

3年前浏览1792

FasDyna 主要用来解决碰撞问题,本文介绍开发 FasDyna 一些相关内容:

1. 碰撞运动方程

2. 显式积分算法

3. Nastran/LsDyna 

4. 性能问题 

5. 矩阵运算

6. 面向对象方法


1. 动力学方程为:M*U'' C*U' K*U=P, (其中M为质量矩阵, C为阻尼矩阵,U''为位移二阶导数,为加速度;U'为位移一阶导数,U为位移向量,P为包括碰撞力在内的外力向量)令 

 {F(in)} = C*U' K*U ,{F(re)} = {F(ex)} -{F(in)}即外力减内力,则方程可以写为 MU'' = {F(re)} ,若使用集中质量,则各个自由度的方程是相互独立的。


2. 显示积分算法是相对隐式积分而言,显式算法,采用中心差分显式时间积分,由于方程是非耦合形式,可以直接求解,不像隐式方程那样求解刚度矩阵,之所以采用这样的算法思路主要是为解决瞬态动力学服务的,它最本质的算法是中心差分,因此它的求解效率高,但精度不高,而且必须设定非常小的时间步求解以保证稳定状态。而隐式算法,采用的是newmark等隐式时间积分,引入了微量代替,需要转换刚度矩阵,对于非线性,需要采用多种数值计算方法,比如用于线性逼近的牛顿-拉夫逊迭代公式等,这种算法多用于静力问题,结构分析,低频率动力学问题等等。因为这类问题时间历程较长,可以采用较大的时间步,也能保证一定的精度要求。隐式算法是指对于每一增量步,时间积分必须满足平衡方程,反复迭代求解,结果准确,但是求解时间长,而且有时会发散。显式算法求解时不需要迭代,避免了不收敛问题,但是时间步长的选择必须非常小心。


3. Nastran/LS-Dyna 

Nastran SOL 700 集成了 LS-DYNA的结构分析功能,可进行各种高度瞬态非线性时间的仿真分析。SOL 700 模块支持160多种材料模型,具有50多种接触类型,接触类型齐全。并具有并行计算能力。

LS-Dyna 是世界上最著名的通用显式动力分析程序,能够模拟真实世界的 各种复杂问题,特别适合求解各种二维、三维非线性结构的高速碰撞、爆炸和金属成型等非线性动力冲击问题,同时可以求解传热、流体及流固耦合问题。在工程应用领域被广泛认可为最佳的分析软件包。与实验的无数次对比证实了其计算的可靠性。LS-Dyna有自己的前后处理程序,Ansys 和 Nastran中都集成了LS-Dyna

FasDyna所有的benchmark 都以Nastran和LS-Dyna 为标准。


4. 对于高速瞬态碰撞,时间步长需要选取很小,这会导致巨大的计算量,但由于自由度方程独立的特点,可以容易的采用并行计算:多核,分布式,利用GPU。FasDyna 引入了GPU计算,在笔者普通的PC机上 可以平均加速5倍以上,效率提高相当可观。


5. 矩阵运算

求解需要用到矩阵运算,笔者封装了目前比较简洁的矩阵操作类 Eigen,Eigne提供了很多矩阵运算方法,包括常用运算,求逆,转置,特征值,特征向量,LU分解等。Eigen 包含了头文件,不需要lib文件。


6. 面向对象方法

FasDyna 支持单元类型有 杆,shell,四面体和六面体(以后还会根据需要扩展)。面向对象方法在代码实现中体现出了很大的优势。定义所有单元的基类和虚方法,然后每种单元类型继承于基类,每种单元类型有不同的实现(比如积分点,应力计算,位移计算等),在进行整体计算的时候,只需要调用接口,不必再为面向过程方法中判断单元类型头疼。

图片

声明:原创文章,欢迎留言与我讨论,如需转载留言


科普仿真体系求解技术其他软件
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-01-26
最近编辑:3年前
多物理场仿真技术
www.cae-sim.com
获赞 126粉丝 323文章 220课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈