邓肯张的理论及其在flac3d里的实现

实现步骤:
促进学习,先放地址:https://github.com/pzp2/d_cmodel.git
首先抄陈育民书第十三章的自定义本构的框架
然后看邓肯张理论
最后在vs2019里面修改生成dll文件
导入flac3d7.0里面查看弹性模量,泊松比或者体积模量和剪切模量的变化情况
这里通过flac自带的python直接导出所有参数
比对理论数值
下面是理论部分以及我主要修改的部分,有些久没看这些东西了。
最重要的修改是陈育民书中的卸载模量表示的中间参数,原本此参数在使用的时候是取百分比数值(判断卸载与否的时候),但是使用flac3d7.0死活弄不成卸载的样子,因此我才用达到最大弹性模量的75%是就判定发生卸载了,此时在flac3d里面运行得到的卸载模量正确。其次有一个大问题没有得到解决:陈育民书中单元测试的应变得不到书中的样子,书中是采用位移除以总长度得到的应变,这样得出来的应力应变曲线斜率是逐渐增大的,这明显违背理论(书中曲线),采用flac3d自带的应变zone.strain.inc.zz得到的应变曲线(应力应变曲线)是逐渐稳定的,既斜率趋于0,这是正常的。
不想写了,要打王者荣耀了,还有些注意点是:flac命令流的边界控制条件,大变形开关与否,三轴试验的加载情况。。。
相关命令流全部在github里。里面vs2019里要是不想编译,可以直接用我编译的dll文件,然后放到.....flac3d_7.0\exe64\plugins\cmodel里面就可以直接运行flac3d7.0里面的p_260_Duncan-Chang.dat文件了,它会自动运行show_prin.py以便直接在flac3d里面显示需要查看的信息(我原先用matlab查看,发现太傻了,因为管理浪费时间,能用自带的就不要用其他的!!!)
运行好如下:
102670262.18831182——理论加载弹性模量
168265303.51945418——理论卸载弹性模量
102837761.62219529——flac弹性模量
_____________
42286033.691056535——理论体积模量
42317008.51123584——flac体积模量
_____________
46867092.862573996——理论剪切模量
46959137.13429132——flac剪切模量
_____________
-1360040.9212515894——z方向应力
-599997.9660351506——x方向应力
-599995.9760701974——y方向应力
#############——循环,下面表示的是正确的卸载时的弹性模量
103588186.0152759
168265304.12230998
168525615.53291294
_____________
42286033.76282022
56175205.177637644
_____________
47442813.003809676
84262807.76645648
_____________
-1339939.9078893024
-599997.9687611009
-599995.9817271639
#############
顺便把理论贴一贴:






