找回密码
 注册
Simdroid-非首页
查看: 244|回复: 3

[工程实例] 关于PFC3.1版本加卸载的几点见解

[复制链接]
发表于 2017-1-9 17:56:42 | 显示全部楼层 |阅读模式 来自 河南洛阳
  看到好多人发帖问在PFC中如何实现加卸载,这里我说一下自己的几点见解,有错误的地方请大家指出。  首先PFC中实现加卸载很难与物理时间联系到一块,PFC中采用稳态时步的方式计算,时间步很小,这样实现一秒的时间就可能需要上百万步,曾经见过老外做过一个加载到10S左右的模拟,但是本人没研究出是怎么做的。个人认为在这个方面实现很困难。所以如果做加卸载尽量不要考虑加载的时间问题,可以与加载次数联系到一起。
      加卸载的实现可以通过PFCFIshtank带有的伺服控制加载。具体实现方式如下:
      深入研究过fishtank的人知道,在进行单轴压缩或者是多轴压缩时,PFC中_btw.DVR文件,提供函数的运行顺序。
SET echo off   ; load support functions
call fishcall.FIS
call crk.FIS
SET echo on
;以上调用了裂隙监测
; ===================================================================
; Specify in calling routine:
; SET et2_knxfac=  et2_knyfac=
; SET et2_ucs=  et2_wsxx_req=  et2_wsyy_req=  et2_ws_tol=  p_vel=
et2_wallstiff;重新确认墙的刚度
et2_seatbiax;预加载
et2_sample_dimensions;
crk_init
; ===================================================================
大家可以注意到存在一个预加载的过程,在这个过程中,我们需要输入上边的参数
et2_wsxx_req=  x方向的预加载压力
et2_wsyy_req=  y方向的预加载压力
那么我就可以控制整个预加载压力来实现循环加卸载。这里举一个例子:
def cyc_load
    et2_wsyy_req = -1.0e6
    loop n(1,10)
          et2_wsyy_req = et2_wsyy_req - 5.0e6
          et2_seatbiax
          if et2_wsyy_req < -50.0e6 then
                 et2_wsyy_req = et2_wsyy_req + 5.0e6
                 et2_seatbiax
                 if  et2_wsyy_req > -1.0e6 then
                       et2_wsyy_req = -1.0e6
                endif
          endif
    end_loop
end
临时写了一个,可能不太对,但是重在大家的理解。

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-20 00:31 , Processed in 0.037146 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表