由于小女子刚学flac,有点儿不懂下面这个程序,不懂的内容主要有一下几点:
1、table 1在这里表示什么意思?
2、define find_add程序在这里有什么用?尤其是其中的if语句。
3、define apply_vel也不是很懂。。。
求flac高手指点,感激不尽。
new
gen zone brick size 10 5 5
mod el
prop shear 1e8 bulk 2e8
fix x y z range x -.1 .1 y 0 5 z 0 5
fix x y z range x 0 10 y 0 5 z -.1 .1
fix x y z range x 9.9 10.1 y 0 5 z 0 5
table 1
def find_add
head = null
p_gp = gp_head
loop while p_gp # null
x_pos = gp_xpos(p_gp)
if x_pos = width then
new = get_mem(2)
mem(new) = head
mem(new+1) = p_gp
head = new
endif
p_gp = gp_next(p_gp)
endloop
end
set width=10.0
find_add
def apply_vel
while_stepping
ad = head
loop while ad # null
p_gp = mem(ad+1)
gp_xvel(p_gp) = vel_max * gp_zpos(p_gp) / height
gp_zvel(p_gp) = -vel_max * (gp_xpos(p_gp) - width) / height
ad = mem(ad)
endloop
end
set large vel_max=1e-2 height=5.0
step 100