1、FLAC3D 资料1网上 FLAC3D 学习笔记1. 请问在圆柱体四周如何施加约束条件?可以用 fix . ran cylinder end1 end2 radius r1 cylinder end1 end2 radius r2 not,其中 r20 thencommand; primitive right of inner primitive - near - lowergen zone brick size nxr ny1 nz1 ratio 1.0 1.0 1.0 group g7 primitive right of inner primitive - far - lowergen
2、zone brick size nxr ny2 nz1 ratio 1.0 raty 1.0 group g7 primitive right of inner primitive - near - uppergen zone brick size nxr ny1 nx ratio 1.0 1.0 1.0 group g7 primitive right of inner primitive - far - uppergen zone brick size nxr ny2 nx ratio 1.0 raty 1.0 group g7 primitive above inner primitiv
3、e - neargen zone brick size nx ny1 nzt p0 x0,y1,z2 p1 x2,y1,z2 p2 x0,y2,z2 p3 x0 y1 zt primitive above inner primitive - fargen zone brick size nx ny2 nzt p0 x0,y2,z2 p1 x2,y2,z2 p2 x0,y3,z2 p3 x0 y2 zt primitive above right lower primitive - nearend_commandif nxr0 thencommandgen zone brick size nxr
4、 ny1 nzt p0 x2 y1 z2 p1 xr y1 z2 p2 x2 y2 z2 p3 x2 y1 zt primitive above right lower primitive - fargen zone brick size nxr ny2 nzt p0 x2 y2 z2 p1 xr y2 z2 p2 x2 y3 z2 p3 x2 y2 zt below tunnel center (Correct need for initial points to matchkx=(x3-x0)/(x7-x0)FLAC3D 资料27p_gp=gp_headloop while p_gp#nu
5、ll; if p_gp in group g6, apply delta-x transformation from line to circleif gp_group(p_gp,1)=g6 thenxx=gp_xpos(p_gp)-x0zz=z0-gp_zpos(p_gp)mu=zz/heightx37=x3*mu+x7*(1-mu)kk=x3/x37gp_xpos(p_gp)=x0+xx*kkend_ifp_gp=gp_next(p_gp)end_loopenddef map1 ; below tunnel centertanmax=height/(base-(x4-x0)maxang=a
6、tan(tanmax)kk=maxang/tanmaxcosmaxang=cos(maxang)p_gp=gp_headloop while p_gp#null; if p_gp in group g6, apply delta-r transformation from line to circleif gp_group(p_gp,1)=g6 thenxx=gp_xpos(p_gp)-x4if xx0 thenzz=z0-gp_zpos(p_gp)zx=zz/xxFLAC3D 资料28if zxzz thenang2=angmax*zz/xx ; remap direction from u
7、niform lengths to uniform anglesrr=xx*sqrt2gp_xpos(p_gp)=x0+rr*cos(ang2)gp_zpos(p_gp)=z0+rr*sin(ang2)elseFLAC3D 资料29if zzxx thenang2=angmax*xx/zz ; remap direction from uniform lengths to uniform anglesrr=zz*sqrt2gp_xpos(p_gp)=x0+rr*sin(ang2)gp_zpos(p_gp)=z0+rr*cos(ang2)end_ifend_ifend_ifp_gp=gp_nex
8、t(p_gp)end_loopenddef makealltunnel_datamake1 ; outside topmake2 ; outside lower-rightmake3 ; outside bottommake4 ; outside bottom-rightmake5 ; inside bottom (call make5 before make6 so common points mapped with map2)make6 ; inside topmake7 ; far top and right; remap inner tunnel walls into outer ar
9、csmap1a ; inside bottom (adjust right side to vertical)map1 ; inside bottom (adjust right side to sector)map2 ; inside topendmakeallgen merge 1e-4FLAC3D 资料30; gen zone reflect orig x0 y1 z0 norm 1 0 0plo crea qqqplo add block groupplo shopausegroup top heading range group g5group invert range group
10、g6group rock range group top heading not group invert notpause14.我的例子,出了问题,但不知道原因;梯形溶洞 y 方向 范围 2 10 ;create gong dinggen zone radcyl size 1 12 10 10 p0 0 0 0 p1 7 0 0 p2 0 12 0 p3 0 0 7p4 7 12 0 p5 0 12 7 p6 7 0 7 p7 7 12 7 p8 5 0 0 p9 0 0 5 p10 5 12 0 p11 0 12 5 fill gen zone reflect norm 1 0 0 ori
11、 0 0 0gen zone reflect norm 0 0 1 ori 0 0 0 group 2 range cyl end1 0 0 0 end2 0 12 0 ra 5 group 1 range x -7 7 y 0 12 z -7 7 group 2 not;create rongdonggen zone brick size 13 12 10 p0 7 0 -7 p1 20 0 -7 p2 7 12 -7 p3 7 0 7 group 3gen zone brick size 16 12 3 p0 -7 0 7 p1 9 0 7 p2 -7 12 7 p3 -7 0 10 p4 9 12 7 p5 -7 12 10 p6 12 0 10 p7 12 12 10 group 4;rongdong positiongen zone brick size 10 2 3 p0 9 0 7 p1 19 0 7 p2 9 2 7 p3 12 0 10 p4 19 2 7 p5 12 2 10 p6 16 0 10 p7 16 2 10 group 7