各位好:
小弟目前在用FLAC2D7.0模拟加筋地基,用strip结构单元来模拟土工条带。现在遇到一个问题,想通过指针,监测strip各个单元部分(segment)的轴力情况,将轴力最大处的segment的轴力和ID号输出。目前小弟对指针不甚熟悉,手册中有一例子可供参考,但小弟怎么修改都达不到目的。请各位指点!
手册中的类似算例如下。个人理解是指针分层次,里面的ip/ii/ispt分别代表不同层级的指针。但具体还是不懂。请各位高人指点,多谢!
g 10 11
m e
prop dens 2000 sh 1e8 bu 2e8
m n j=6
ini x add 2.5 y add -0.9 j=7,12
int 4 aside from 1,6 to 11,6 bside from 1,7 to 11,7
int 4 kn 5e8 ks 2.5e8 fric 10
set grav 10,5 large
fix x y j=1
step 1
def make_list
ip = int_pnt
loop while ip # 0
imem (ip+1) = get_mem(3) ; get storage buffer
ip = imem(ip)
endloop
end
make_list
def save_data
while_stepping
ip = int_pnt
loop while ip # 0 ;scan interfaces
ii = imem(ip+1)
loop nside (2,3) ;scan 2 sides
ispt = imem(ip+nside)
loop while ispt # 0 ; scan nodes on one side
if abs(fmem(ispt+5)) > fmem(ii) then
fmem(ii) = abs(fmem(ispt+5))
imem(ii+1) = ispt
imem(ii+2) = step
end_if
ispt = imem(ispt)
end_loop
end_loop
ip = imem(ip)
end_loop
end
def sho_data
ip = int_pnt
loop while ip # 0
ii = imem(ip+1)
s1 = ' max-Fn = '+string(fmem(ii))+', '
ig = imem(imem(ii+1)+2)
jg = imem(imem(ii+1)+3)
s2 = ' g.p.('+string(ig)+','+string(jg)+')'
s3 = ' at step '+string(imem(ii+2))
xx = out(s1+s2+s3)
ip = imem(ip)
end_loop
end
step 500
sho_data