论坛首页    职业区    学术与写作    工程技术区    软件区    资料区    商务合作区    社区办公室
 您好! 欢迎 登录注册 最新帖子 邀请注册 活动聚焦 统计排行 社区服务 帮助
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
  • 1956阅读
  • 1回复

请教彭文斌书——fish语言的问题 [复制链接]

上一主题 下一主题
离线深蓝玺
 

发帖
6
土币
92
威望
3
原创币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2012-12-17

求指教,彭文斌书FLAC3D实用教程P130,关于fish语言的问题:
n
gen zone brick size 10 5 5
mod el
prop shear 1e8 bulk 2e8
fix x y z ran x 0 y 0 5 z 0 5
fix x y z ran x 0 10 y 0 5 z 0
fix x y z ran x 10 y 0 5 z 0 5
table 1
def find_add
head = null
pnt =  gp_head
loop while pnt # null
x_pos = gp_xpos(pnt)
if x_pos = width then
new = get_mem(2)
mem(new) = head
mem(new+1) = pnt
head = new
endif
pnt = gp_next(pnt)
endloop
end
set width = 10.0
find_add
def app_vel
while_stepping
ad = head
loop while ad # null
pnt = mem(ad+1)
gp_xvel(pnt) = vel_max * gp_zpos(pnt) / height
gp_zvel(pnt) = -vel_max * (gp_xpos(pnt) - width) / height
ad = mem(ad)
endloop
end
set large vel_max = 1e-2 height = 5.0
step 100
plot grid black vel red
前一个函数定义了一个链表,自己理解是X=10这个面的所有节点的一个链表,可是下面函数在施加节点速度时,怎么结果
图中显示的是所有节点都有速度矢量,不是只遍历了x=10这个面的节点吗?自己觉得显示的速度矢量图应该只在x=10一
个面上的,况且在
gp_xvel(pnt) = vel_max * gp_zpos(pnt) / height
gp_zvel(pnt) = -vel_max * (gp_xpos(pnt) - width) / height
中gp_xpos不是一直等于10吗,看了很久觉得矛盾,求高人指点下
离线an-yantu

发帖
1838
土币
8651
威望
180
原创币
0
只看该作者 1楼 发表于: 2013-02-01
请问楼主上面的 head=new 什么作用那?
岩土
快速回复
限100 字节
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
 
上一个 下一个

      浙公网安备 33010602003799号 浙ICP备14021682号-1

      工业和信息化部备案管理系统网站