有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元解法。尽管各类商业软件使用方便,但其使用对用户来说往往是一个“黑箱子”。相比而言,开源的有限元程序计算方法透明、计算过程可控,用户可根据自己的需求进行必要的修改,这一点对于科研人员特别重要。长期以来由于有限元开源程序的欠缺,开源有限元的使用在国内相对较少。然而,科研领域的很多新的东西很难实现在商业软件中(除非通过复杂的二次开发,而二次开发往往需要具备一些子程序编写的能力,如Abaqus的Umat子程序、Plaxis的UDSM等),如果掌握一些开源有限元的基本流程及相应子程序的编写方法,对基于自己开发程序或者商业软件开发接口的科研等工作将大有益处。通过主要针对岩土工程中的材料非线性问题(应力变形分析中的各种弹塑性本构模型、渗流分析中的非线性渗透系数等),手把手教大家如何一步一步地搭建自己的模型,包括前处理输入文件的准备、计算可执行文件的编译生成、后处理输出文件的可视化等,其中的编程模块尽可能做到零基础开始,通过提供标准程序库使用搭积木、摆乐高的形式模块化进行,加强学员的易上手、可操作性。只需了解简单的编程语句结构即可,甚至都不需要懂某种编程语言的具体语法。通过本次的学习达到以下目标:学完以后发现不经意间已经学会了某种编程语言(尽管没有进行单独的语言学习),发挥通过实例学习的益处。同时将介绍Paraview等后处理软件的使用及其Fortran/Python等接口程序。实例包括非线性有限元方法在挡土墙、地基稳定、边坡稳定等三大稳定性问题中的应用等。同时讲解源程序的修改与重新编译,方便各个领域可以更好地交叉融合、扩展应用。
阅读全文点击《非线性有限元:基本理论与算法及基于Python、Fortran程序实现与案例分析实践技术》
一、有限元编程基础知识
1.有限单元法基础简介(离散化、存储策略及方程解法、边界条件的处理)
2.编程语言Fortran及编译工具Intel Visual Fortran(IVF)简介、Python开发环境Spyder简介
3.Fortran/Matlab/Julia/Python等开源代码及程序库(geomlib/femlib)简介
4.非线性有限元模型相关模块及计算流程
5.岩土工程材料非线性问题介绍
二、非线性有限元常刚度法实现模块
有限元分析数值基础与常刚度法
- 天际线法等整体系数矩阵存储与方程直接求解方法
- 整体系数矩阵免组装(预条件)共轭梯度法方程求解方法
- 牛顿(-拉夫森)迭代求解基本原理与数值实现
- 应力不变量、屈服函数、塑性势函数、几种典型的破坏准则及未定义的奇异点处理
- 初应变常刚度法的实现方法(虚拟粘塑性算法)、初应力常刚度法的实现方法
三、非线性有限元切线刚度法实现模块
- 弹塑性应力应变关系的本构积分(前向欧拉法、后向欧拉法)
- 塑性流动准则、切线刚度法中的非一致和一致切线模量
- 应力积分算法之最近点投影法CPPM (Closest Point Projection Method) 实现
- 应力积分算法之切平面法CPA (Cutting Plane Algorithm) 实现
- 应力积分算法之径向返回法RR (Radial Return)与各算法的收敛准则
四、地基稳定性、挡土墙稳定性、边坡稳定性实例应用模块
应用实例
1.地基承载力问题(位移控制、力控制)
2.挡土墙稳定性问题(初应力法改进)
3.边坡稳定性问题(强度折减法及安全系数自动搜索)
4.输入文件准备、输出文件IrfanView、Paraview可视化(手把手操作与讲解)
5.Pyhton/Fortran90源代码按需修改与重新编译(应用于随空间变异的岩土体参数)