定义单元体能量为微单元体的应变比能,即当应力和应变满足线性关系时,微单元体在三向应力状态下的应变比能为:
下面代码为用户自定义云图显示变量。
Flac3d Code
1 new 2 gen zone brick size 10 10 10 group lay-1 3 mo el 4 prop bulk 3e8 shear 1e8 5 ini den 20e3 6 set gravity 0 0 -9.8 7 fix z range z 0 8 solve 9 config zextra 2 10 def _udf_zextra 11 p_z = zone_head 12 _u=0.3 13 _E=2.7e8 ;_E=9*bulk*shear/(3*bulk+shear) 14 loop while p_z # null 15 if z_group(p_z)='lay-1';只计算在组内的单元体 16 _sig1=z_sig3(p_z) 17 _sig2=z_sig2(p_z) 18 _sig3=z_sig1(p_z) 19 _a=_sig1^2+_sig2^2+_sig3^2 20 _b=2*_u*(_sig1*_sig2+_sig2*_sig3+_sig3*_sig1) 21 z_extra(p_z,1) =(_a-_b)/(2*_E);微单元体应变比能 22 z_extra(p_z,2) = z_sxx(p_z);自定义为单元体sxx应力 23 endif 24 p_z = z_next(p_z) 25 endloop 26 end 27 _udf_zextra 28 plot add axes 29 plot set plane nor 0 1 0 ori 0 5 0 30 plot con zextra 1 plane ;range 5 7,不能加range 31 ;plot add con zextra 2 plane
第二个变量取为sxx只是为了显示在一段代码中如何同时自定义两个变量。多个变量与此类似,不再祥述。
a Szz应力云图 a The szz stress cloud |
b 应变比能应力云图 b Strain specific stress cloud |
图3.3 自定义单元应力有关云图
Fig.3.3 The custom cloud map with zone stress
下面是节点变量:
Flac3d Code
1 new 2 gen zone brick size 10 10 10 group lay-1 3 mo el 4 prop bulk 3e8 shear 1e8 5 ini den 20e3 6 set gravity 0 0 -9.8 7 fix z range z 0 8 solve 9 config gpextra 2 10 def _udf_gpextra 11 p_gp = gp_head 12 loop while p_gp # null 13 gp_extra(p_gp,1) = sqrt((gp_xpos(p_gp)-xc)^ 2+(gp_zpos(p_gp)-zc)^ 2) 14 gp_extra(p_gp,2) = atan2((gp_xpos(p_gp)-xc),(zc-gp_zpos(p_gp))) 15 p_gp = gp_next(p_gp) 16 endloop 17 end 18 set xc=5 zc=5 19 _udf_gpextra 20 plot set background white 21 ;plot block gr 22 plot con gpextra 1 23 plot con gpextra 2
a 自定义节点云图1 a custom node cloud 1 |
b 自定义节点云图2 b custom node cloud 2
|
图3.4 自定义节点运动量有关云图
Fig.3.4 The custom cloud map with gridpoint movement
想看详细的.sav和fish代码请关注下面的二维码(flac3d自定义变量输出云图显示)。