定义单元体能量为微单元体的应变比能,即当应力和应变满足线性关系时,微单元体在三向应力状态下的应变比能为:
(3.1)
下面代码为用户自定义云图显示变量。
Flac3d Code
new
gen zone brick size group lay-
mo el
prop bulk 3e8 shear 1e8
ini den 20e3
set gravity -9.8
fix z range z
solve
config zextra
def _udf_zextra
p_z = zone_head
_u=0.3
_E=2.7e8 ;_E=*bulk*shear/(*bulk+shear)
loop while p_z # null
if z_group(p_z)='lay-1';只计算在组内的单元体
_sig1=z_sig3(p_z)
_sig2=z_sig2(p_z)
_sig3=z_sig1(p_z)
_a=_sig1^+_sig2^+_sig3^
_b=*_u*(_sig1*_sig2+_sig2*_sig3+_sig3*_sig1)
z_extra(p_z,) =(_a-_b)/(*_E);微单元体应变比能
z_extra(p_z,) = z_sxx(p_z);自定义为单元体sxx应力
endif
p_z = z_next(p_z)
endloop
end
_udf_zextra
plot add axes
plot set plane nor ori
plot con zextra plane ;range ,不能加range
;plot add con zextra 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
new
gen zone brick size group lay-
mo el
prop bulk 3e8 shear 1e8
ini den 20e3
set gravity -9.8
fix z range z
solve
config gpextra
def _udf_gpextra
p_gp = gp_head
loop while p_gp # null
gp_extra(p_gp,) = sqrt((gp_xpos(p_gp)-xc)^ +(gp_zpos(p_gp)-zc)^ )
gp_extra(p_gp,) = atan2((gp_xpos(p_gp)-xc),(zc-gp_zpos(p_gp)))
p_gp = gp_next(p_gp)
endloop
end
set xc= zc=
_udf_gpextra
plot set background white
;plot block gr
plot con gpextra
plot con gpextra
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自定义变量输出云图显示)。