📄 10-2_1.txt
字号:
finish
multipro,'start',3 ! 生成参数输入提示的对话框
*cset,1,3,begin,'input begin value of circulation',0.0 ! 仪器起始位置
*cset,4,6,end,'input end value of circulation',2.0 ! 仪器终止位置
*cset,7,9,increase,'input increase value of circulation',0.1 ! 移动的步长
*cset,10,12,h,'input thickness value of strata ',2 ! 高阻层厚度
*cset,61,62,'Enter the circulating parameter',',control the position of'
*cset,63,64,'instrument in the logwell'
multipro,'end'
*do,deep,begin,end,increase ! 仪器在井里按步长移动位置测量而进行的循环
/fillname,logwell_Ra
keyw,magelc,1
*do,j,1,3 ! 为求出三个分场进行叠加而进行的循环循环
/prep7
r0=0.0445 ! 仪器半径
k,1,0,-35
k,2,0,(deep-1.8)
k,3,r0,(deep-1.8)
k,4,r0,(deep-0.7)
k,5,r0,(deep-0.5)
k,6,r0,(deep-0.1)
k,7,r0,(deep-0.075)
k,8,r0,(deep+0.075)
k,9,r0,(deep+0.1)
k,10,r0,(deep+0.5)
k,11,r0,(deep+0.7)
k,12,r0,(deep+1.8)
k,13,0,(deep+1.8)
k,14,0,35
k,15,0.1,35
k,16,0.1,-35
a,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 ! 挖去仪器的井眼
rectng,0.1,35,h/2,35
rectng,0.1,35,-h/2,h/2
rectng,0.1,35,-h/2,-35 ! 右边地层
rectng,0.1,50,h/2,(50+h/2)
rectng,35,50,-h/2,h/2
rectng,0.1,50,-h/2,-(50+h/2) ! 右边远场地层
rectng,0,0.1,35,(50+h/2)
rectng,0,0.1,-35,-(50+h/2) ! 上下远场井
aovlap,all
aglue,all ! 布尔操作
nummrg,all
numcmp,all
/pnum,area,1
/replot
et,1,67,,,1 ! 设置单元类型为plane67
mp,rsvx,1,1 ! 地层电阻率Rs
mp,rsvx,2,10 ! 高阻层电阻率Rt
asel,s,area,,1,3,2
asel,a,area,,5,9
aatt,1,,1 ! 给围岩和井内泥浆附属性
allsel
asel,s,area,,2,4,2
aatt,2,,1 ! 给地层附属性
allsel
lesize,1,,,80,0.05,,,,1 ! 设置线单元个数
lesize,2,,,4
lesize,3,,,80
lesize,4,,,15
lesize,5,,,35
lesize,6,,,2
lesize,7,,,12
lesize,8,,,2
lesize,9,,,35
lesize,10,,,15
lesize,11,,,80
lesize,12,,,4
lesize,13,,,80,20,,,,1
lesize,14,,,1
lesize,15,,,1
lesize,24,,,1
lesize,27,,,1
!
lesize,16,,,85,20,,,,0
lesize,28,,,85,0.05,,,,0
lesize,29,,,14,,,,,0
lesize,17,,,14,,,,,0
!
lesize,18,,,85,20,,,,0
lesize,32,,,85,0.05,,,,0
lesize,33,,,14,,,,,0
lesize,34,,,14,,,,,0
!
lesize,30,,,35*h/2,,,,,1
!
lesize,20,,,14,,,,,0
lesize,19,,,14,,,,,0
lesize,21,,,14,,,,,0
lesize,38,,,14,,,,,0
lesize,23,,,7,,,,,0
lesize,35,,,7,,,,,0
lesize,36,,,7,,,,,0
lesize,26,,,7,,,,,0
lccat,19,20
lccat,17,29
lccat,33,34
lccat,21,38
!
mshape,1,2d ! 网格划分
mshkey,2
amesh,3,5,2
mshape,1,2d
mshkey,0
amesh,4
mshape,1,2d
mshkey,1
amesh,7,8
mshape,1,2d
mshkey,1
amesh,6
mshape,1,2d
mshkey,1
amesh,1,2
!
smrtsize,1
mshape,1
mshkey,0
amesh,9
!
lsel,,,,7 ! 主电极上节点电压自由度耦合
nsll,s,1
cp,1,volt,all
allsel
lsel,,,,9 ! 屏蔽电极上节点电压自由度耦合
lsel,a,,,5
nsll,s,1
cp,2,volt,all
allsel
lsel,,,,11 ! 屏蔽电极上节点电压自由度耦合
lsel,a,,,3
nsll,s,1
cp,3,volt,all
allsel
*dim,aa,,3 ! 取出三个电极上关键点同位置处节点号并赋予一个数组
*vget,aa(1),kp,7,attr,node
*vget,aa(2),kp,9,attr,node
*vget,aa(3),kp,11,attr,node
finish
!
/solu
lsel,s,loc,x,50 ! 施加无穷远边界条件
lsel,a,loc,y,-(50+h/2)
lsel,a,loc,y,(50+h/2)
dl,all,,volt,0
allsel,all
*if,j,eq,1,then ! 在相应的分场条件下给相应的关键点施加电流激励
fk,7,amps,1
fk,9,amps,0
fk,11,amps,0
*elseif,j,eq,2
fk,7,amps,0
fk,9,amps,1
fk,11,amps,0
*elseif,j,eq,3
fk,7,amps,0
fk,9,amps,0
fk,11,amps,1
*endif
sbctran
solve ! 求解运算
finish
/post1
set,last
*dim,u3,,3
*vget,u3(1),node,aa(1),volt ! 取出三个电极上的电压值并赋予一个数组
*vget,u3(2),node,aa(2),volt
*vget,u3(3),node,aa(3),volt
*if,j,eq,1,then
*cfopen,u1,txt,d:\ansys\result, ! 按指定路径输出一分场结果
*vwrite,u3(1)
(f10.8)
*cfclos
*elseif,j,eq,2
*cfopen,u2,txt,d:\ansys\result, ! 按指定路径输出二分场结果
*vwrite,u3(1)
(f10.8)
*cfclos
*elseif,j,eq,3
*cfopen,u3,txt,d:\ansys\result, ! 按指定路径输出三分场结果
*vwrite,u3(1)
(f10.8)
*cfclos
*endif
*if,j,eq,3,then
*dim,u1,,3
*dim,u2,,3
*vread,u1(1),u1,txt,d:\ansys\result, ! 三个分场解完,读入前面二个分场的值
(f10.8)
*vread,u2(1),u2,txt,d:\ansys\result,
(f10.8)
*dim,a,,2,2
*dim,b,,2
*dim,c,,2
a(1,1)=u2(1)-u2(2) ! 将三个分场线性组合叠加,求解方程组得比例系数
a(1,2)=u3(1)-u3(2)
a(2,1)=u2(1)-u2(3)
a(2,2)=u3(1)-u3(3)
b(1)=u1(2)-u1(1)
b(2)=u1(3)-u1(1)
*moper,c(1),a(1,1),solve,b(1)
*dim,k,,1
*dim,ra,,1
*dim,v,,1
v(1)=u1(1)+c(1)*u2(1)+c(2)*u3(1) ! 主电极上叠加后获得的电位
*vread,k(1),k,txt,d:\ansys\result,!按路径读入电极系常数(另外程序算得存放的位置)
(f15.10)
ra(1)=k(1)*v(1) ! 求视电阻率
*msg,ui,deep,ra(1) ! 求解过程中实时给出不同位置处视电阻率
the Ra in the deep:%/&
deep=%g %/&
Ra=%g
*cfopen,c,txt,d:\ansys\result,append ! 按累加方式输出比例系数到一个文本文件
*vwrite,c(1)
(2f15.10)
*cfclos
*cfopen,ra,txt,d:\ansys\result, append ! 按累加方式输出视电阻率到一个文本文件
*vwrite,ra(1)
(f15.10)
*cfclos
*endif
finish
parsav,scalar,i,txt ! 将标量参数存入一个文本文件
/clear,start ! 清除数据库
parres,,i,txt ! 取出标量参数,这样才能继续执行循环
*enddo
finish
*enddo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -