PFC利用UDTensor绘制应力十字架

shizijia.png

当发生大变形的时候我们往往需要知道内部的应力状态,这时候张量的可视化就是一个比较好的方法。

这里利用PFC中的UDTensor来显示直剪试验中的应力状态。

直剪试验产生的位移场为:

weiyi.png

上部的盒子右移,产生位移场。

我们首先需要用测量圆来记录试样中的数据:


[meas_radius=yy*0.2]
[meas_x_chongdie=meas_radius*0.5]
[meas_y_chongdie=meas_radius*0.5]
def create_measure
    x_pos=-wlx*0.5+meas_radius*1.2
    y_pos=-wly*0.5+meas_radius
   
    loop while x_pos+meas_radius<wlx*0.5
        y_pos=-wly*0.5+meas_radius
        loop while y_pos+meas_radius<wly*0.5
            command
                measure create position [x_pos] [y_pos] radius [meas_radius]
               
            endcommand
            y_pos+=2*meas_radius-meas_y_chongdie
        endloop
      
        x_pos+=2*meas_radius-meas_x_chongdie
      
    endloop
   
end
@create_measure


测量圆分布如图:

celiangyuan.png

这里没有完全分布满,读者可以自己再调一下参数得到一个比较满的测量圆分布。

得到UDTensor的代码:


def get_stress    array stress(133)
    count=1
    loop foreach mp measure.list
        tessor_stress=user.tensor.create(measure.pos.x(mp),measure.pos.y(mp))
       
        user.tensor.value(tessor_stress)=measure.stress(mp)
       
        stress(count)=tessor_stress
        count+=1
    endloop
   
end
@get_stress


主要是两个要素,一个是UDTensor的位置,一个是大小。

可视化效果如图:

shizijia.png
默认 最新
当前暂无评论,小编等你评论哦!
点赞 20 评论 收藏 7
关注