ANSYS应用——m法计算桩基时模拟桩与土作用的命令流

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ANSYS应用——m法计算桩基时模拟桩与土作用的命令流

!z1spring1.mac

/PREP7

WPCSYS,-1 !工作平面恢复到默认状态

CSYS,0

dpile1=1.5!桩直径*****

allsel,all

cmsel,s,z

nsll,s,1

NSEL,r,LOC,Z,-5-5-5.36,-6-5-5.36!建立泥面以下桩的节点集合

CM,SPNODE1,NODE

allsel,all,all

cmsel,s,z

nsll,s,1

NSEL,r,LOC,Z,-6-5-5.36,-20-5-5.36

CM,SPNODE2,NODE

allsel,all,all

cmsel,s,z

nsll,s,1

NSEL,r,LOC,Z,-20-5-5.36,-25-5-5.36

CM,SPNODE3,NODE

allsel,all,all

cmsel,s,z

nsll,s,1

NSEL,r,LOC,Z,-25-5-5.36,-27-5-5.36

CM,SPNODE4,NODE

allsel,all,all

cmsel,s,z

nsll,s,1

NSEL,r,LOC,Z,-27-5-5.36,-31-5-5.36

CM,SPNODE5,NODE

allsel,all,all

spring1

/PREP7

CMSEL,S,SPNODE1 !选择泥面以下,桩的节点集合

*GET,enum,ELEM,,COUNT, , , ,

*GET, NNUM, NODE, 0, COUNT,

*GET, nmin, NODE, 0, num, min,

*DiM,AA1,ARRAY,NNUM

*DiM,AA2,ARRAY,NNUM

*DiM,AA3,ARRAY,NNUM

CMSEL,S,SPNODE1

*do,i,1,nnum

AA1(i)=NMIN

nmin=ndnext(nmin)

*enddo !给集合AA1赋值

*do,i,1,nnum

NSEL,S,,,AA1(i)

ESLN,S

*GET,emin,ELEM,0,num,min !获取最小的单元编号

n1=NELEM(emin,1)

n2=NELEM(emin,2)

Z12=NZ(N1)-NZ(N2)

X12=NX(N1)-NX(N2)

*IF,(Z12*X12),GE,0,THEN

SIG=1

*ELSE

SIG=-1

*ENDIF

Z12=ABS(Z12)

L12=DISTND(N1,N2)

CLI=TAN(ACOS(Z12/L12))

NGEN,2,100000,AA1(I), , ,-1,,1*CLI*SIG

NGEN,2,200000,AA1(I), , ,,1

AA2(i)=AA1(i)+100000

AA3(i)=AA1(i)+200000

TYPE,3 !将单元赋为弹簧单元,为etsp单元类型,见begin

!MAT,mpsp !mpsp为材料号,见begin

ESYS,0

R,enum+i,8000*(-10-5.36-NZ(AA1(I)))*(L12)*dpile1, !根据M法给弹簧赋予刚度,其中zlsize为桩单元长!!

REAL,enum+i

e,AA1(I),AA2(I)

e,AA1(I),AA3(I)

*enddo

/SOL

ALLSEL,ALL

*do,i,1,NNUM

D,AA2(i),all

D,AA3(i),all

*ENDDO

spring1

spring2

/PREP7

CMSEL,S,SPNODE2 !选择泥面以下,桩的节点集合*GET,enum,ELEM,,COUNT, , , ,

*GET, NNUM, NODE, 0, COUNT,

*GET, nmin, NODE, 0, num, min,

*DiM,AA1,ARRAY,NNUM

*DiM,AA2,ARRAY,NNUM

*DiM,AA3,ARRAY,NNUM

CMSEL,S,SPNODE2

*do,i,1,nnum

AA1(i)=NMIN

nmin=ndnext(nmin)

*enddo !给集合AA1赋值

*do,i,1,nnum

NSEL,S,,,AA1(i)

ESLN,S

*GET,emin,ELEM,0,num,min !获取最小的单元编号n1=NELEM(emin,1)

n2=NELEM(emin,2)

Z12=NZ(N1)-NZ(N2)

X12=NX(N1)-NX(N2)

*IF,(Z12*X12),GE,0,THEN

SIG=1

*ELSE

SIG=-1

*ENDIF

Z12=ABS(Z12)

L12=DISTND(N1,N2)

CLI=TAN(ACOS(Z12/L12))

NGEN,2,100000,AA1(I), , ,-1,,1*CLI*SIG

NGEN,2,200000,AA1(I), , ,,1

AA2(i)=AA1(i)+100000

AA3(i)=AA1(i)+200000

TYPE,3 !将单元赋为弹簧单元,为etsp单元类型,见begin

!MAT,mpsp !mpsp为材料号,见begin

ESYS,0

R,enum+i,4500*(-10-5.36-NZ(AA1(I)))*(L12)*dpile1, !根据M法给弹簧赋予刚度,其中zlsize为桩单元长!!

REAL,enum+i

e,AA1(I),AA2(I)

e,AA1(I),AA3(I)

*enddo

/SOL

ALLSEL,ALL

*do,i,1,NNUM

D,AA2(i),all

D,AA3(i),all

*ENDDO

spring2

spring3

/PREP7

CMSEL,S,SPNODE3 !选择泥面以下,桩的节点集合

*GET,enum,ELEM,,COUNT, , , ,

*GET, NNUM, NODE, 0, COUNT,

*GET, nmin, NODE, 0, num, min,

*DiM,AA1,ARRAY,NNUM

*DiM,AA2,ARRAY,NNUM

*DiM,AA3,ARRAY,NNUM

CMSEL,S,SPNODE3

*do,i,1,nnum

AA1(i)=NMIN

nmin=ndnext(nmin)

*enddo !给集合AA1赋值

相关文档
最新文档