有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元解法。尽管各类商业软件使用方便,但其使用对用户来说往往是一个“黑箱子”。相比而言,开源的有限元程序计算方法透明、计算过程可控,用户可根据自己的需求进行必要的修改,这一点对于科研人员特别重要。然而,长期以来由于有限元开源程序的欠缺、教学方法以介绍理论为主、手把手基于Tutorial的实操欠缺、学员编程基础相对薄弱等原因,开源有限元的使用在国内相对较少。然而,科研领域的很多新的东西很难实现在商业软件中(除非通过复杂的二次开发,而二次开发往往需要具备一些子程序编写的能力,如Abaqus的Umat子程序、Plaxis的UDSM等),如果掌握一些开源有限元的基本流程及相应子程序的编写方法,对基于自己开发程序或者商业软件开发接口的科研等工作将大有益处。
本次主要针对岩土工程中的材料非线性问题(应力变形分析中的各种弹塑性本构模型、渗流分析中的非线性渗透系数等),用两个周末的时间,手把手教大家如何一步一步地搭建自己的模型,包括前处理输入文件的准备、计算可执行文件的编译生成、后处理输出文件的可视化等,其中的编程模块尽可能做到让学员零基础开始,通过提供标准程序库使用搭积木、摆乐高的形式模块化进行,加强学员的易上手、可操作性。学员只需了解简单的编程语句结构即可,甚至都不需要懂某种编程语言的具体语法。
通过本次的学习达到以下目标:学完以后发现不经意间已经学会了某种编程语言(尽管没有进行单独的语言学习),发挥通过实例学习的益处。同时本课程将介绍Paraview等后处理软件的使用及其Fortran/Python等接口程序。实例包括非线性有限元方法在挡土墙、地基稳定、边坡稳定等三大稳定性问题中的应用等。同时现场讲解源程序的修改与重新编译,方便各个领域可以更好地交叉融合、扩展应用。本次培训我们精选模型应用案例,全程干货,让参训学员全面熟悉渗流模型,提高学员模型应用能力、数据分析和图表制作技能。如果你是资深模型爱好者,可以进一步熟悉各个模块的相关算法;如果你是个模入门者,将让你体验一键模拟的乐趣。
非线性有限元:基本理论与算法及基于Python、Fortran程序实现与案例分析实践技术
第一天有限元编程基础知识
第二天非线性有限元常刚度法实现模块
有限元分析数值基础与常刚度法
图1 大型稀疏系数矩阵、方程线性化方法

图2 几种破坏准则(米塞斯、屈雷斯卡、摩尔库伦)


图3 常刚度法(左)、变刚度法(右)示意图
第三天非线性有限元切线刚度法实现模块

图4 应力应变本构积分

图5 CPPM和CPA算法示意
第四天地基稳定性、挡土墙稳定性、边坡稳定性实例应用模块
应用实例

图7 方形基础承载力(三维及其部分剖面)
图8地基土内应变不变量(破坏面)
图9 挡土墙稳定性分析(主动土压力)

图 10 边坡稳定性 (破坏面)