浅谈数值模拟中的二次开发问题二次开发问题的分类1改变软件初始环境变量2创建新的图形用户界面3子程序开发1.1改变软件初始环境变量软件差异较大不具有通用意义1.2创建新的图形用户界面1.2.1前后处理小插件(例:1\1.2.1.doc)1.2.2创建的方式①软件脚本语言(上例)②面向对象语言,如C++,java等③bat文件(例:1\1.2.2.3.doc)1.3子程序开发1.3.1定义复杂边界条件1.3.2用户自定义单元子程序(UEL)1.3.3用户自定义材料子程序(UMAT)1.3.4其他(VMAT、URDFIL…)1.3.1定义复杂边界条件例1移动载荷(例:dload\例1移动载荷\dz.avi,dload\例1移动载荷\移动载荷.doc)例2边界条件与时间和坐标相关(例:dload\例2水位变化\up-down.avi,dload\例2水位变化\边界条件.doc)例3非均布载荷(例:dload\例3非均布载荷\非均布载荷.doc)例4载荷随分析步变化(例:dload\例4不同step不同载荷\载荷随分析步变化.doc)1.3.2用户自定义单元子程序(UEL)功能:提供用户编写软件本身不具有的单元功能(只有静力分析支持UEL,动力分析不支持)例子:比较ABAQUS自带的弹簧单元和自己定义的弹簧单元(例:uel\uel.doc)1.3.3用户自定义材料子程序(UMAT)功能:定义软件本身没有的材料本构方程例子:DP准则和延性损伤本构联合(例:umat\DP和延性损伤.doc)例子:一个基于J2理论的针对大变形弹塑性材料的本构方程(例:umat\umat.doc)1.3.4其他(VMAT、URDFIL…)功能:比如VMAT是指动力学计算中的用户自定义材料本构,通过URDFIL可以把计算数据写入指定文件,USDFLD可以定义场变量(一个场变量对应一个参数值)为状态变量(位移、应力)的函数等。2结语数值模拟没有以前理解中的那么局限,好好研究一下,会发现是自己局限了自己。谢谢大家!