xiwangxiaoxue1的个人博客分享 http://blog.sciencenet.cn/u/xiwangxiaoxue1 像我这样笨拙的生活,我只赞美那些一面哭泣一面追求的人!

留言板

facelist

您需要登录后才可以留言 登录 | 注册


IP: 222.178.10.*   [2671]张海权   2017-12-21 09:46
看手册theory and background第二章出现了一个elastic guess,这个参数具体代表的是什么,有什么物理意义?
弹性猜想,即先按照弹性理论计算变形下的应力。在弹塑性模型中往往先进行弹性猜想再判断所得的应力是否超过屈服面,如果超过了就进行塑性修正。可以参照修正剑桥模型。
IP: 222.178.10.*   [2670]张海权   2017-12-21 09:10
在进行计算时,ratio 是指在flac/flac3d计算中,所设定的最大不平衡力,一般默认为1e-5,也可以称为计算精度。
但是,一般无法得知,一个模型究竟要取多高的精度才好。而且,有时候,计算无法收敛,也根本找不到原因之所在。
所以,后来我在每次计算前,都在命令流里加入:plo con zdis ou on magf 1,
plo con zdis (或者szz 或者其他你关心的参数),这样一来,就可以一边计算,一边看着flac所绘出的动画,因而对计算过程就有了一个直观的感受。这样一来,当你发现图上动画不再变化时(再结合左边zdis列表的变化幅度),便可知道,计算已经差不多。通过这个办法,就可以找出合适的计算精度ratio。
magf 1的作用是,网格的变形比例设置成1,如果不设置,那么默认为0(就不会随着计算一起变形),这样的话,就看不到网格在受力过程中的变形,通过设置好变形比例,就可清晰看到网格在一步步变形,这对计算过程的掌控非常有帮助!
在计算时,不要再呆呆得看着命令框左下角的step和ratio 了。。
我的回复(2017-12-21 09:24):治鯹 关于设置计算精度ratio 和 计算收敛 的一点经验!
IP: 222.178.10.*   [2669]张海权   2017-12-20 23:22
1.首先把纸上的建模图形,在autocad中建立由点线弧线组成的模型,注意线和线加在一起,
2.使用autocad to ansys 转换软件,将autocad的图形转换为ansys命令流后。保存为文本文件.txt。
3.在ansys中建模
①导入命令流:read
②建立面:通过create-area-by key points ,依次选择四个角点,建立面。
③分离线和面:operate(操作)-divide(分开)-area by line-参数全选pick alls。
④划分线:使用mesh tool 工具,将模型的每条边线进行划分,划分过程中要注意线与线的对应关系。一般划分的断数为偶数,如6、8、10等。
⑤拷贝点并连线:使用copy(拷贝)命令,将四个角点中的一个沿Z方向上拷贝生成一个新的点。拷贝的距离视个人计算情况来确定,一般二维选择1个单位。使用create-lines-by key points将⑤中的两点连起来,建立线,并划分成1个单元。
⑥拉伸面成体:operate(操作)-extrude(拉伸)-area along lines-area参数全选, lines 选择⑤生成的线。
⑦设置不同体、不同材料属性参数。调用vatt.txt文件来设定。vatt.txt文件内容如下:
*do,i,1,154
vsel,s,,,i
vatt,i,,
*enddo
alls
⑧设置单元类型,在命令行键入“et,1,45” 。
⑨划分体单元, ...
IP: 222.178.10.*   [2668]张海权   2017-12-20 23:09
不平衡力是节点的内力与外力之差,最大不平衡力是所有节点的外力与内力之差的最大值,最大不平衡力可以理解为在所有节点中其合力最大的那个节点的合力值,这个合力不仅仅是x,y,z三个方向的合力值,他包括无数个方向,这无数个方向的合力值构成不平衡力,这个合力是很难用fish计算出来的,关于计算不平衡力的fish变量很少,用fish编写不平衡力缺少语法支持,个人理解难免有失偏颇,欢迎讨论。
我的回复(2017-12-20 23:09):言直接有一个内部函数 unbal,不需要再进行计算得到了。
IP: 222.178.10.*   [2667]张海权   2017-12-20 23:03
hist write 1 file 1.txt没数据
hist write 1 file 1.txt 位置不对,你放在solve或者step后面看看,要是还没数据那就是你的hist有问题
IP: 222.178.10.*   [2666]张海权   2017-12-20 22:58
FLAC单元是线性单元,边界处节点fix以后,可以将边界看成是刚性边界,因此apply对网格是不产生任何作用的,但会增加fix住节点的节点反力,也就是说fix的支撑力变化了
IP: 222.178.10.*   [2665]张海权   2017-12-20 22:49
这个ini state=0 是什么意思  有什么作用  一般用在什么地方 ,我查资料的时候发现说他的意思是初始化单元为弹性,为什么要把单元初始化为弹性呢?
IP: 222.178.10.*   [2664]张海权   2017-12-20 22:42
flac3D里面的时间都是步数,已步数来代表时间
同时记录动力时间和计算结果
例如:
hist id=1 dytime
hist id=2 gp xvel 0 0 0
计算结束后:
plot hist 2 vs 1
IP: 222.178.10.*   [2663]张海权   2017-12-20 22:38
今天用FLAC时遇到“zero stiffness in grid-point xxx”,一直无法解决
通过查看各种资料,最终解决了。现将问题总结一下,希望对比我还新手的新手有所帮助
    出现这种情况就是点上的刚度为零,可能的原因为
1:模型问题。
    这是指建立有限元模型时,疏忽了,多建了模型,多了某个或某些单元,而没有包括在赋单元属性的那些组里,可以查看一下,认真检查一下单元。方法很多,比如找到刚度为零的那个点的位置,看一下周围是否有问题。
2:赋值问题
   a:单元漏选了,有不在所有组里的单元
   b:赋值语句有问题
   c:本构模型选择时有冲突。我做的是基坑问题,先赋予了混凝土结构弹性本构模型,又赋予土体摩尔库伦模型,结果在计算时混凝土结构的体积模量就是零。我的理解是本构模型有包含关系,一次计算时只允许赋予一种本构,(高级包含低级,弹塑性比塑性高级,弹塑性的参数包含了弹性的参数)。如果分别赋予,那赋予弹性模型的那些组里的单元就缺失了比如内聚力摩擦角等等参数,这时那些弹性组里德混凝土单元的刚度就为零。
    我的解决办法是只定义一个摩尔库伦本构,把混凝土弹性本构的材料参数复制进去,不用再添加其他的参数了(我猜测其他参数使用了此 ...
我的回复(2017-12-20 22:39):lock prop bulk 赋参后真的很有必要检查下,我也分享一个初学时候同样遇到的一个问题,用group赋参的时候它的xyz最好大于单元的最小参数
IP: 222.178.10.*   [2662]张海权   2017-12-20 22:30
在FLAC 中,不能显示等值线,只有采用其他的后处理~!!!
tecplot 该软件来实现!!
IP: 222.178.10.*   [2661]张海权   2017-12-20 22:29
用户接触到的最小几何单位应该是zone
通常说的element也是指zone
subzone和FLAC3d的 Mixed Discretization算法有关
比如说一个brick
计算时又自动划分为 2套overlay
每套overlay中各有5个tetra
即subzone
据说这样可以更好地模拟材料的塑性变形
IP: 222.178.10.*   [2660]张海权   2017-12-20 21:58
这个命令set echo off是什么意思?答案是
关闭log文件对一些细节的记录
IP: 222.178.10.*   [2659]张海权   2017-12-20 21:56
在flac3d中一般都是用摩尔库伦模型作为本构模型,采用这种本构模型的前提是把这个岩体假设成理想的无限的弹性体。但是,现实中地下岩体在经过反复的开挖加载卸载后,当超过其极限承载能力时材料会产生塑性破坏(破坏后的岩石仍有一定的强度和支撑力),随着应力的增加,破坏后的材料变形会进一步增大,应用应变软化本构模型能较为准确地模拟岩石的后破坏行为,那么,在设置应变软化模型中的参数:如粘聚力、内摩擦角、膨胀角的硬化和软化特性,由用户以表格的形式予以给出,每个表格包含一对值:一个表示参数,另外一个表示对应的特性值。它假定特性变量在表格中的两个连续的参数目之间是线性的。命令如下:
;泥岩1m
model ss range group bufen3
pro density 2500 bulk 2432.292e6 shear 1978.814e6 ftab 5 ctab 6 ten 0.33e6 dil 10 &
range group bufen3
pro coh 0.75e6 fric 31 range group bufen3

table 5  0,31        0.0005,30   0.0370,29         0.1,29
table 6  0,0.75e6  0.0005,0.75e6  0.06892,0.075e6  0.1,0.075e6
那么,这个ftable、ctable、ttable、dtable中的参数是如何得到的?或者是怎样取值的?
对于不同的岩石类型(粉砂岩、细沙岩、泥 ...
IP: 222.178.10.*   [2658]张海权   2017-12-20 21:54
应变软化模型中     ctable、dtable、ftable、ttable什么意思??怎么赋值?
ctable塑性切应变-内聚力的标号、dtable塑性切应变-剪胀角的标号、ftable塑性切应变-摩擦角的标号、ttable塑性切应变-抗拉强度的标号。他们是一种table形式赋值的形式,对材料软化、硬化特性进行赋值
IP: 222.178.10.*   [2657]张海权   2017-12-20 21:52
pointer即指针,翻译成:指针。就是某内存单元的地址。指针的问题呗,包括逻辑性的和书写性的。
我在调用一个fish的时候一直出现bad pointer conversion这样一个警告,我修改了很多次可还是有哦。这句话表面意思是错误的指示器转换,这个pointer到底是指什么?我查了手册可还是不大明白。
请各位大侠帮忙,现在正在编程序写论文,非常着急,感激涕零。。。。。
IP: 222.178.10.*   [2656]张海权   2017-12-20 21:41
一个小问题的解决,跟大家分享一下。最近在做一个模型分析的时候,总是求解不了,并总是显示zero stiffness in grid-point ****。在用plot block prop bulk 命令查看体积模量时发现有部分模型没有被赋予材料参数(尽管有赋值命令流)。花了好长时间找问题的根源,最终发现是自己在建模的时候,有一部分节点重合了,当解决了节点重合的问题后,之前的问题也就解决了,求解可以顺利进行下去了!
若无接触面,算之前最好先用 gen merge 来焊接网格;
IP: 222.178.10.*   [2655]张海权   2017-12-20 21:39
DEF _querystate
my_query = shearnow + tensionpast
; define output
my_output = ' Shear-now and Tension-past '
;
pnt = zone_head
loop while pnt # NULL
curr_state = z_state(pnt, 0) ; 0- any; 1-average;
result_and_op = and(curr_state, my_query)
if result_and_op # 0 then
ii = out('zone ' + string(z_id(pnt)) + ': ' + my_output )
else
_zId = string(z_id(pnt))
_res = string(result_and_op)
ii = out('zone'+_zId+':'+'result_and_op '+ _res )
end_if
pnt = z_next(pnt)
endloop
END
_querystate
标红部分的作用,求高人指点
我的回复(2017-12-20 21:39):and_op = and(curr_state, my_query);result_and_op 是bool类型,值是false、true,用来判断,and是并逻辑运算,curr_state, my_query都不为零或者null,那result_and_op=true
IP: 222.178.10.*   [2654]张海权   2017-12-20 21:35
water table face 的命令是这样的 water table face x1 y1 z1 .....xn,yn,zn
他是主要通过n个点然后连接成的凸形曲面。

water table orig  norm 命令本身就已经指定了水面的,所以就已经形成了孔压!!
我的回复(2017-12-20 21:36):都不能上网,还是我自己解答一下吧!
water table face的用法:
     后面跟的点围成的面一定是个任意凸多边形(三角形四边形等等),其他形状不行
     点的顺序必须服从右手定则,大拇指指向下
     任意形状的水平面都可以由任意个water table face 组合而成,换句话说分成几个凸多边形
IP: 222.178.10.*   [2653]张海权   2017-12-20 21:31
FLAC2D默认存储容量只有8MPa
当然你的单元就很少了
找到flac_sp文件,右键,选择在visual studio中编辑,在flacw_sp后面填写“+64 MPa”后即可
如下:
set PATH=%giic%jre1.2binclassic
%giic%flacexeflacw_sp +64 MB %1 giic
IP: 222.178.10.*   [2652]张海权   2017-12-20 21:25
table 1 12 0 18.25 12.5 25 17 35 21 50 24 75 25 150 25
def aux1
loop n(1,nptab1)
  rr=xtable(1,n)
  zz=ytable(1,n)
    loop k(1,nprof)
      case_of k
        alfa=0.5*(pi+.1)*float(k-2)/float(nprof-2)
        xtable(n+10,k)=rr*cos(alfa)
        ytable(n+10,k)=rr*sin(alfa)
        case 1
        xtable(n+10,k)=rr
        ytable(n+10,k)=-40.0
        case 2
        xtable(n+10,k)=rr
        ytable(n+10,k)=0.0
      end_case
     end_loop
end_loop
end
不能理解Table表示的意思,哪问仁兄给小弟说明一下。
我的回复(2017-12-20 21:27):f="http://forum.simwe.com/thread-370563-1-72.html" target="_blank">http://forum.simwe.com/thread-370563-1-72.html
我的回复(2017-12-20 21:26):且桓隽搅械谋
table 1
x y
12 0
18.25 12.5
25 17
35 21
50 24
75 25
150 25
xtable是第一列
ytable是第二列
从上面的fish来看
你应该还有table 11,table 12,table 13 等
我的回复(2017-12-20 21:25):长的Fish没有仔细看,但就
table 1 12 0 18.25 12.5 25 17 35 21 50 24 75 25 150 25
而言,是建立一个表格,其中table 1 表示的是Table的ID,后面的数字应该是建立表格的 X 和 Y,后面的Fish语言中 xtable 和 ytable就是这两个数据,

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2026-2-20 18:41

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部