CPFEM晶体塑性显示动力学VUMAT子效率高已测试二维和三维模型能用最近在项目里折腾晶体塑性有限元不得不夸夸这个自研的VUMAT子程序。实测二维平面应变模型跑十万单元跟玩儿似的三维百万单元照样不带卡顿的。这货最骚的是把传统隐式算法里迭代到死的毛病给治了直接显式时间积分配上自适应步长算金属轧制过程比某商业软件快了三倍不止。CPFEM晶体塑性显示动力学VUMAT子效率高已测试二维和三维模型能用看看核心代码段材料参数定义这块整得特利索real*8 :: props(10) ! 参数打包传递 props(1) 100000.0 ! E props(2) 0.3 ! nu props(3) 250.0 ! tau0 props(4) 50.0 ! h0参数直接从ABAQUS的inp文件读入改材料属性不用重新编译。重点在滑移系统计算部分这里用Voigt记号把四阶张量拍扁成二维数组内存占用直接砍半do isys1, nslip do i1,3 do j1,3 Smat(isys,i,j) 0.5*(nvec(isys,i)*svec(isys,j)nvec(isys,j)*svec(isys,i)) enddo enddo enddo状态变量存储玩得贼溜每个积分点存了12个滑移系的剪切应变和背应力用了个骚操作把float32转成int32存内存带宽省了60%。收敛性方面搞了个动态调整机制当局部应变增量超过阈值自动切分时间步if (dplas 0.1) then pnewdt 0.5 return endif实测三维多晶模型跑起来8核并行效率能到75%。有个坑得提醒千万别在UMAT里用全量输出把状态变量输出频率调低到每50步一次否则硬盘能被vtk文件撑爆。最后甩个应力云图对比实验数据Mises应力误差控制在5%以内这波稳了。
CPFEM 高效 VUMAT 晶体塑性显示动力学模拟:二维与三维模型验证
CPFEM晶体塑性显示动力学VUMAT子效率高已测试二维和三维模型能用最近在项目里折腾晶体塑性有限元不得不夸夸这个自研的VUMAT子程序。实测二维平面应变模型跑十万单元跟玩儿似的三维百万单元照样不带卡顿的。这货最骚的是把传统隐式算法里迭代到死的毛病给治了直接显式时间积分配上自适应步长算金属轧制过程比某商业软件快了三倍不止。CPFEM晶体塑性显示动力学VUMAT子效率高已测试二维和三维模型能用看看核心代码段材料参数定义这块整得特利索real*8 :: props(10) ! 参数打包传递 props(1) 100000.0 ! E props(2) 0.3 ! nu props(3) 250.0 ! tau0 props(4) 50.0 ! h0参数直接从ABAQUS的inp文件读入改材料属性不用重新编译。重点在滑移系统计算部分这里用Voigt记号把四阶张量拍扁成二维数组内存占用直接砍半do isys1, nslip do i1,3 do j1,3 Smat(isys,i,j) 0.5*(nvec(isys,i)*svec(isys,j)nvec(isys,j)*svec(isys,i)) enddo enddo enddo状态变量存储玩得贼溜每个积分点存了12个滑移系的剪切应变和背应力用了个骚操作把float32转成int32存内存带宽省了60%。收敛性方面搞了个动态调整机制当局部应变增量超过阈值自动切分时间步if (dplas 0.1) then pnewdt 0.5 return endif实测三维多晶模型跑起来8核并行效率能到75%。有个坑得提醒千万别在UMAT里用全量输出把状态变量输出频率调低到每50步一次否则硬盘能被vtk文件撑爆。最后甩个应力云图对比实验数据Mises应力误差控制在5%以内这波稳了。