找回密码
 注册
Simdroid-非首页
楼主: lmmcnn

[复合材料] 求ANSYS复合材料损伤分析实例

[复制链接]
发表于 2012-4-18 08:45:23 | 显示全部楼层 来自 江苏南京
同求,希望能尽快收到信息
回复 不支持

使用道具 举报

发表于 2012-4-20 09:58:46 | 显示全部楼层 来自 山东青岛
Simdroid开发平台
我也需要啊
回复 不支持

使用道具 举报

发表于 2012-5-9 10:17:17 | 显示全部楼层 来自 陕西西安
这个ansys的帮助文件的实例分析中有你们可以看看
回复 不支持

使用道具 举报

发表于 2012-5-9 21:57:17 | 显示全部楼层 来自 广西南宁
不懂,学习中
回复 不支持

使用道具 举报

发表于 2012-7-9 08:23:38 | 显示全部楼层 来自 湖北武汉
我也在学习这方面的,望高手能多提供点资料哦
回复 不支持

使用道具 举报

发表于 2012-8-25 15:49:06 | 显示全部楼层 来自 陕西西安
这个问题怎么还没解决啊。。。
回复 不支持

使用道具 举报

发表于 2013-4-16 17:12:12 | 显示全部楼层 来自 吉林长春
如果你会做复合材料分析,在material props-failure criterial -add/edit添加失效强度,也就是最大应力什么的,然后在后处理节点或单元云图那里可以看蔡吴等几个失效准则。
回复 不支持

使用道具 举报

发表于 2013-4-17 09:01:25 | 显示全部楼层 来自 黑龙江哈尔滨
精华帖中有的。
  /prep7
*AFUN,DEG              !参数定义为角度
OVER=1                 !定义控制结束的参数,OVER=0,循环结束
N=8                    !定义总层数
H=1                    !定义总厚度
TK=H/N                 !定义每层的厚度
PX=100                 !定义x方向外载荷
PY=0                   !定义y方向外载荷
PXY=0                  !定义xy方向剪切载荷
*dim,ARG,array,N       !定义铺层的角度
ARG(1)=0
ARG(2)=45
ARG(3)=-45
ARG(4)=90
ARG(5)=90
ARG(6)=-45
ARG(7)=45
ARG(8)=0     
Strainx=0                  !定义中面x方向应变
strainy=0                  !定义中面y方向应变
strainxy=0                 !定义中面xy方向应变
*dim,strainSTEP,array,2*N  !定义各个阶段的应变
*dim,pxstep,array,2*N      !定义各个阶段的应力   
*dim,strain1,array,N       !定义各层x方向主应变
*DIM,Strain2,array,N       !定义各层y方向主应变
*dim,Strain12,array,N      !定义各层xy方向主应变
*dim,s1,array,N            !定义各层X方向主应力
*dim,s2,array,N            !定义各层Y方向主应力
*dim,s12,array,N           !定义各层XY方向的剪应力
!****************************************************************
!*Define     the    strength     parameter     of       lamia        
!****************************************************************
XT=2250                    !定义纤维方向拉伸强度
XC=1600                    !定义纤维方向压缩强度
YT=34.5                    !定义基体方向拉伸强度
YC=200                     !定义基体方向压缩强度
s=110                      !定义剪切强度
F1=1/XT-1/XC
F2=1/YT-1/YC
F11=1/(XT*XC)
F22=1/(YT*YC)
F66=1/(S**2)
F12=(-1/2)*sqrt(F11*F22)
*dim,a,array,N             !定义系数a
*Dim,b,array,N             !定义系数b
*dim,R,array,N             !定义各层的强度比
Rmin=1000000               !定义最小强度比
RminN=0                    !定义最小强度比层号    
!****************************************************************
!*Define      the     parameter         of       lamia        
!****************************************************************
E1=1.35E5           
E2=0.8E4  
V21=0.34  
V12=E2*V21/E1  
G12=4.5E3  
VV=1/(1.0-V21*V12)
*dim,Q11,array,N           !定义退化刚度系数
*dim,Q22,array,N
*dim,Q12,array,N
*dim,Q66,array,N
*dim,HQ11,array,N          !定义偏轴刚度系数
*dim,HQ12,array,n              
*dim,HQ16,array,n
*dim,HQ22,array,n
*dim,HQ26,array,n
*dim,HQ66,array,n
*dim,z,array,N+1
*do,i,1,nint(N/2+1-0.5)
z(i)=-H/2+(i-1)*Tk
z(N+2-i)=-z(i)
*enddo
*do,i,1,n                  !给退化刚度系数赋初值
Q11(i)=VV*E1   
Q22(i)=VV*E2  
Q12(i)=V21*VV*E2   
Q66(i)=G12
*enddo
!*****************************************************************
!***********************进入循环计算层合板强度********************
!*****************************************************************
*do,J,1,2*n+1
*if,over,NE,0,then         !判断层合板是否失效
*do,i,1,n  
RM=COS(ARG(i))  
RN=SIN(ARG(i))  
RM2=RM*RM  
RM4=RM2*RM2  
RN2=RN*RN  
RN4=RN2*RN2  
RMN=RM*RN  
RMN2=RMN*RMN  
HQ11(i)=Q11(i)*RM4+2.0*(Q12(i)+2.0*Q66(i))*RMN2+Q22(i)*RN4  
HQ12(i)=(Q11(i)+Q22(i)-4.0*Q66(i))*RMN2+Q12(i)*(RM4+RN4)  
HQ16(i)=-RMN*RN2*Q22(i)+RM2*RMN*Q11(i)-RMN*(RM2-RN2)*(Q12(i)+2.0*Q66(i))  
HQ22(i)=Q11(i)*RN4+2.0*(Q12(i)+2.0*Q66(i))*RMN2+Q22(i)*RM4  
HQ26(i)=-RMN*RM2*Q22(i)+RMN*RN2*Q11(i)+RMN*(RM2-RN2)*(Q12(i)+2.0*Q66(i))  
HQ66(i)=(Q11(i)+Q22(i)-2*Q12(i))*RMN2+Q66(i)*(RM2-RN2)*(RM2-RN2)  
*enddo
!*****************************************************************
!*Dedine     Z    Coordinate       of    Each    Lamia
!*****************************************************************
A11=0
A12=0  
A22=0  
A26=0  
A66=0  
A16=0
B11=0
B12=0
B22=0
B26=0  
B66=0
B16=0
D11=0  
D12=0  
D22=0  
D26=0  
D66=0  
D16=0
!*****************************************************************
!*  Define       The       Stiffness        of         Laminate
!*****************************************************************
*Do,i,1,N                                   !积分求解层合板的刚度系数
A11=A11+HQ11(i)*(z(i+1)-z(i))  
A12=A12+HQ12(i)*(z(i+1)-z(i))
A22=A22+HQ22(i)*(z(i+1)-z(i))
A26=A26+HQ26(i)*(z(i+1)-z(i))
A16=A16+HQ16(i)*(z(i+1)-z(i))
A66=A66+HQ66(i)*(z(i+1)-z(i))
B11=B11+0.5*HQ11(i)*(Z(i+1)**2-z(i)**2)
B12=B12+0.5*HQ12(i)*(Z(i+1)**2-z(i)**2)
B22=B22+0.5*HQ22(i)*(Z(i+1)**2-z(i)**2)
B26=B26+0.5*HQ26(i)*(Z(i+1)**2-z(i)**2)
B16=B16+0.5*HQ16(i)*(Z(i+1)**2-z(i)**2)
B66=B66+0.5*HQ66(i)*(Z(i+1)**2-z(i)**2)
D11=D11+1/3*HQ11(i)*(z(i+1)**3-z(i)**3)
D12=D12+1/3*HQ12(i)*(z(i+1)**3-z(i)**3)
D22=D22+1/3*HQ22(i)*(z(i+1)**3-z(i)**3)
D16=D16+1/3*HQ16(i)*(z(i+1)**3-z(i)**3)
D26=D26+1/3*HQ11(i)*(z(i+1)**3-z(i)**3)
D66=D11+1/3*HQ11(i)*(z(i+1)**3-z(i)**3)
*enddo
!*****************************************************************
!*  Define       The       roughness      of         Laminate
!*****************************************************************
DA=(A11*A22*A66+2*A12*A26*A16-A16**2*A22)  !求解层合板的柔度系数
DA=DA-A11*A26**2-A12**2*A66
HA11=(A22*A66-A26**2)/DA
HA12=(A16*A26-A12*A66)/DA
HA22=(A11*A66-A16**2)/DA
HA66=(A11*A22-A12**2)/DA
HA16=(A12*A26-A12*A16)/DA
HA26=(A12*A16-A11*A26)/DA
!*****************************************************************
!*  Caculate   The   Strain and  stress    of each     Lamina
!*****************************************************************
STRAINX=HA11*PX+HA12*PY+HA16*PXY  !计算层合板的应变
STRAINY=HA12*PX+HA22*PY+HA26*PXY
STRAINXY=HA16*PX+HA26*PY+HA66*PXY
  
strainstep(j)=STRAINX             !记录下各个阶段的应变
pxstep(j)=PX                      !记录下各个阶段的应力
  
*Do,i,1,N                         !计算各层的主应变
RM=COS(ARG(i))  
RN=SIN(ARG(i))  
RMN=RM*RN  
RM2=RM*RM  
RN2=RN*RN  
strain1(i)=RM2*STRAINX+RN2*STRAINY+(RMN)*STRAINXY
Strain2(i)=RN2*STRAINX+RM2*STRAINY+(-RMN)*STRAINXY
STrain12(i)=-2*RMN*STRAINX+2*RMN*STRAINY+(RM2-RN2)*STRAINXY
S1(i)=strain1(i)*Q11(i)+strain2(i)*Q12(i)  !计算各层的主应力
S2(i)=STrain1(i)*Q12(i)+STRAIN2(i)*Q22(i)
s12(i)=strain12(i)*Q66(i)
a(i)=F11*(s1(i)**2)+F22*(S2(i)**2)
a(i)=a(i)+2*F12*s1(i)*s2(i)+F66*(S12(i)**2)
b(i)=F1*S1(i)+F2*S2(i)
R(i)=-b(i)/(2*a(i))+sqrt(b(i)**2+4*a(i))/(2*a(i))
*enddo
  
*Vscfun,Rmin,min,R(1)             !求出最小强度比
*Vscfun,RminN,lmin,R(1)           !求出最小强度所在的层号
                       
*if,s1(RminN)*(Rmin),gt,0,then    !判断破坏层的失效模式
*if,s1(RminN)*(Rmin),lt,xt,then   !并进行刚度退化
Q22(RminN)=Q22(RminN)*(10e-14)
Q12(RminN)=Q12(RminN)*(10e-14)
Q66(RminN)=Q66(RminN)*(10e-14)
*else
Q22(RminN)=Q22(RminN)*(10e-14)
Q12(RminN)=Q12(RminN)*(10e-14)
Q66(RminN)=Q66(RminN)*(10e-14)
Q11(RminN)=Q11(RminN)*(10e-14)
*ENDIF
  
*ELSEIF,s1(RminN)*(Rmin),le,0,then
*if,(-1)*s1(RminN)*(Rmin),lt,xc,then
Q22(RminN)=Q22(RminN)*(10e-14)  
Q12(RminN)=Q12(RminN)*(10e-14)  
Q66(RminN)=Q66(RminN)*(10e-14)  
*else
Q22(RminN)=Q22(RminN)*(10e-14)  
Q12(RminN)=Q12(RminN)*(10e-14)  
Q66(RminN)=Q66(RminN)*(10e-14)  
Q11(RminN)=Q11(RminN)*(10e-14)  
*endIF
*endif
  
*do,i,1,n                         !检查是否还有其他层破坏
*if,R(i),eq,Rmin,then
Q11(i)=Q11(RminN)
Q22(i)=Q22(RminN)
Q12(i)=Q12(RminN)
Q66(i)=Q66(RminN)
*Endif
*Enddo
  
PX=PX*(RMIN)                      !外载荷按比例增加继续加载
PY=PY*(RMIN)
PXY=PXY*(RMIN)
  
*IF,Rmin,lt,1,THEN                !判断层合板是否能继续承载
over=0
*endif
  
*else                             !全部单层完全破坏,退去循环
*ENDIF
*enddo  
回复 2 不支持 0

使用道具 举报

发表于 2013-4-17 09:05:15 | 显示全部楼层 来自 黑龙江哈尔滨
如果应力值是在ANSYS模型中算出的,需要用*GET命令将结果读取,找出破坏的单元号、层号,进入前处理,修改破坏单元的材料属性,用重启动,继续计算。

祝顺利!
回复 不支持

使用道具 举报

发表于 2013-8-28 15:45:24 | 显示全部楼层 来自 山东威海
正好在做这方面的东西 留作参考
回复 不支持

使用道具 举报

发表于 2013-9-27 21:04:09 | 显示全部楼层 来自 陕西西安
szk8617 发表于 2011-8-14 08:43
我有比较全的损伤准则总结。

还行吧!
回复 不支持

使用道具 举报

发表于 2014-8-7 03:51:14 | 显示全部楼层 来自 云南昆明
要实例板块中有个雷达探洞的算例,可以看看去
回复 不支持

使用道具 举报

发表于 2014-8-7 03:56:18 | 显示全部楼层 来自 云南昆明
/BATCH,LIST
/VERIFY,EV129-1S
/CONFIG,NRES,5000
*CFOPEN,disp,dat
*dim,vp,,3
*dim,vS,,3
! 表土层深度OH1LAM=0.4 $ 异常体埋深Odlam=2 $异常体直径 ORTlam=0.5 $ 异常体与表土层弹模比EX13=0.8 ! OXY=0.9
OH1LAM=0 $ Odlam=1 $ ORTlam=0.2 $ EX13=0.8 ! OXY=0.9
/PREP7
/TITLE,AMA,EV129-1S,FLUID129,TRANS ANALYSIS
ET,1,PLANE42 ! structural element
ET,2,SURF153 ! acoustic infinite line element
ET,3,PLANE42! structural element
! material properties
!*dim,UX1,array,1200 ! Create array parameter
!*dim,Uy1,array,1200 ! Create array parameter
dx=1

a=40
ENDTIME=0.2 $ DST=0.0005

!nt=1

absorblayer=2

lamda=10!地震波基长
XDEPTHlam=1.5!研究区深度与基长之比
XDEPTH=XDEPTHlam*lamda!研究区深度
YWIDTHlam=20!研究区长度与基长之比
YWIDTH=YWIDTHlam*lamda!研究区长度

OYYCH=YWIDTH/2!洞穴Y坐标

EX12=17926/224
DENS12=2600/1930
NUXY12=0.306/0.421
EX13=1.4/2.24
DENS13=1500/1930
NUXY13=0.421/0.421
mu13=10000/38000
DAMP12=0.8
DAMP13=1.5

EX1=2.24e8!介质一为表层介质
DENS1=1930
NUXY1=0.421
!SONC1=860
mu1=38000
DAMP1=0.0001

EX2=EX1*EX12!介质二为基岩
DENS2=DENS1*DENS12
NUXY2=NUXY1*NUXY12
DAMP2=DAMP12*DAMP1
!SONC2=1460
EX3=EX1*EX13!介质三为岩溶洞穴
DENS3=DENS1*DENS13
NUXY3=NUXY1*NUXY13
mu3=MU1*MU13
DAMP3=DAMP13*DAMP1

EX4=ex1!边界高吸收介质,对应于表层介质
DENS4=dens1
NUXY4=nuxy1
!SONC4=860
mu4=mu1
DAMP4=DAMP1

EX5=EX2!边界高吸收介质,对应于基岩
DENS5=DENS2
NUXY5=NUXY2
DAMP5=DAMP2

!计算各种介质的P、S波速度

lame1=Ex1*nuxy1/(1+nuxy1)/(1-2*nuxy1) $ lame2=EX1/2/(1+NUXY1) $ vp(1)=((lame1+lame2)/dens1)**.5 $ vs(1)=(lame2/dens1)**.5
lame1=Ex2*nuxy2/(1+nuxy2)/(1-2*nuxy2) $ lame2=EX2/2/(1+NUXY2) $ vp(2)=((lame1+lame2)/dens2)**.5 $ vs(2)=(lame2/dens2)**.5
lame1=Ex1*nuxy3/(1+nuxy3)/(1-2*nuxy3) $ lame2=EX3/2/(1+NUXY3) $ vp(3)=((lame1+lame2)/dens3)**.5 $ vs(3)=(lame2/dens3)**.5

*VSCFUN,vMAX,MAX,VP

DT=DX/VMAX/3

*IF,DT,GE,DST,THEN
DT=DST
*ENDIF

totalnt=ENDTIME/dt $ t0=1/a/2 $ f=600*a
*IF,DST/DT,LT,NINT(DST/DT),THEN
RECORDSTEP=NINT(DST/DT)-1
*ELSE
recordstep=NINT(DST/DT)
*ENDIF
nt=1/a/dt

MP,EX,1,EX1
MP,DENS,1,DENS1
MP,NUXY,1,NUXY1
MP,MU,1,mu1
mp,damp,1,damp1
MP,DENS,2,DENS2
MP,EX,2,EX2
MP,NUXY,2,NUXY2
MP,DENS,3,DENS3
!MP,EX,3,EX3
MP,NUXY,3,NUXY3
MP,MU,3,mu3
MP,EX,4,EX4
MP,DENS,4,DENS4
MP,NUXY,4,NUXY4
MP,MU,4,mu4
mp,damp,4,damp4
MP,DENS,5,DENS5
MP,EX,5,EX5
MP,NUXY,5,NUXY5
mp,damp,5,damp5
! create square
RECTNG,0,XDEPTH,0,YWIDTH,!生成研究区
ESIZE,dx,0,!单元尺寸为2*2
MSHAPE,0,2D
MSHKEY,1
amesh,all

!检波器位置

bounodemin=node(0,0,0) $ bounodemax=node(dx,YWIDTH,0)

!设定表土层和岩溶洞穴的位置与大小
!在此考虑洞穴埋深变化的影响

!OH1LAM=0.4 $ Odlam=2 $ ORTlam=0.5 $ EX13=0.8 ! OXY=0.9

esel,all
mat,1 $ real,1 $ type 1
emodify,all

OH1O=OH1lam*lamda!表土层厚度

BURY=ODlam*lamda!洞穴埋深

ORTO=ORTlam*lamda!洞穴直径

MP,EX,3,EX1*EX13!设定洞穴充填介质的弹模

NSEL,S,LOC,x,OH1O+dx,XDEPTH !选择下伏岩层对应的节点
esln
TYPE,3
MAT,2!下伏岩层为介质2
emodif,all !确认修改

ALLSEL,ALL
NSEL,S,LOC,Y,YWIDTH
NSEL,A,LOC,X,0!选择边界节点
NSEL,A,LOC,X,XDEPTH
NSEL,A,LOC,Y,0
ESLN,S !边界节点单元
!TYPE, 2 !边界节点单元
!MAT, 2
!REAL, 3
!ESURF !边界节点单元定义为无限超声边界
ALLSEL,ALL
!边界节点单元
NSEL,S,LOC,Y,YWIDTH-absorblayer,YWIDTH
NSEL,A,LOC,Y,0,absorblayer
NSEL,R,LOC,X,oh1o,XDEPTH
nsel,a,loc,x,XDEPTH-absorblayer,XDEPTH
ESLN,S !边界节点单元
MAT,5
EMODIFY,ALL
*if,oh1o,gt,0,then
NSEL,S,LOC,Y,YWIDTH-absorblayer,YWIDTH
NSEL,A,LOC,Y,0,absorblayer
NSEL,r,LOC,X,0,oh1o-dx
esln,s
mat,4
EMODIFY,ALL
*endif

*if,orto,gt,0,then
LOCAL, 11, 1, BURY, OYYCH!定义局部坐标系,柱体
CsYS,11
NSEL,S,LOC,x,0,ORTO/2!选择岩溶洞穴对应的节点
ESLN!岩溶洞穴对应单元
MAT,3!岩溶洞穴为介质三
EMODIFY,ALL!确认修改
CSYS,0
*endif

ALLSEL,ALL

!*DO,OYX,1.5,0,-0.3
/prep7
!OYX溶洞到炮点的距离与地震波基长之比
!OY=OYYCH-OYX*LAMDA!!炮点的Y坐标
!RY1=OYych+OYX/2!检波点1的Y坐标
!ry2=oyych-oyx/2
oxlam=0.1!炮点的埋深与基长之比
OXO=oxlam*lamda!炮点和检波点的埋深,X坐标
!EXPLONODE=NODE(OXO,OY,0)
!RECEINODEZ=NODE(OXO,RY1,0)
!RECEINODER=NODE(0,RY1,0)
FINISH

!定义边界UX、UY数组,用于存放临近边界两层节点数据
*dim,UXL,ARRAY,2,XDEPTH/DX+1
*DIM,UXR,ARRAY,2,XDEPTH/DX+1
*DIM,UXB,ARRAY,2,YWIDTH/DX+1
*dim,UYL,ARRAY,2,XDEPTH/DX+1
*DIM,UYR,ARRAY,2,XDEPTH/DX+1
*DIM,UYB,ARRAY,2,YWIDTH/DX+1

/SOLU
!定义和读入时程曲线
NSUBST,1, , ,1 !1个子步
!OUTRES,NSOL,100 !输出每个子步的结果
!OUTPR,BASIC,recordstep,
ANTYPE,TRANS !时程分析
!TRNOPT,REDUC
LUMPM,0
!*
ALLSEL,ALL
EPLOT

*do,i,1,TOTALNT

*if,i,gt,1,then!获得临近边界的两层节点的UX、UY,输入到相应的数组中
*DO,LRX,1,XDEPTH/DX+1
XLR=(LRX-1)*DX
BNODE1=NODE(XLR,0,0) $ BNODE2=NODE(XLR,DX,0) $ BNODE3=NODE(XLR,DX*2,0)
TNODE1=NODE(XLR,YWIDTH,0) $ TNODE2=NODE(XLR,YWIDTH-DX,0) $ TNODE3=NODE(XLR,YWIDTH-DX*2,0)
*GET,UXL(1,LRX),NODE,BNODE2,U,X $ *GET,UYL(1,LRX),NODE,BNODE2,U,Y
*GET,UXL(2,LRX),NODE,BNODE3,U,X $ *GET,UYL(2,LRX),NODE,BNODE3,U,Y
*GET,UXR(1,LRX),NODE,TNODE2,U,X $ *GET,UYR(1,LRX),NODE,TNODE2,U,Y
*GET,UXR(2,LRX),NODE,TNODE3,U,X $ *GET,UYR(2,LRX),NODE,TNODE3,U,Y
*ENDDO
*DO,LRX,1,YWIDTH/DX+1
XLR=(LRX-1)*DX
BNODE1=NODE(XDEPTH,XLR,0) $ BNODE2=NODE(XDEPTH-DX,XLR,0) $ BNODE3=NODE(XDEPTH-DX*2,XLR,0)
*GET,UXB(1,LRX),NODE,BNODE2,U,X $ *GET,UYB(1,LRX),NODE,BNODE2,U,Y
*GET,UXB(2,LRX),NODE,BNODE3,U,X $ *GET,UYB(2,LRX),NODE,BNODE3,U,Y
*ENDDO
*ENDIF

*if,i,le,nt+1,then!在NT时间前延续脉冲子波
*DO,LRX,1,YWIDTH/DX+1 !施加边界条件
XLR=(LRX-1)*DX
explonode=NODE(0,XLR,0)
ac=-2*0.0001*(i*dt-t0)*exp(-f*(i*dt-t0)**2)!脉冲子波,马在田P22
D,EXPLONODE,Ux, ac
*if,i,eq,nt+1,then!在NT+1时刻,删除作用在节点上的位移
DDELE,EXPLONODE,Ux
*endif
*enddo
*endif

TIME,i*DT
solve

*DO,LRX,1,XDEPTH/DX+1 !施加边界条件
XLR=(LRX-1)*DX
BNODE1=NODE(XLR,0,0) $ BNODE2=NODE(XLR,DX,0) $ BNODE3=NODE(XLR,DX*2,0)
TNODE1=NODE(XLR,YWIDTH,0) $ TNODE2=NODE(XLR,YWIDTH-DX,0) $ TNODE3=NODE(XLR,YWIDTH-DX*2,0)
*GET,UXL1,NODE,BNODE1,U,X $ *GET,UYL1,NODE,BNODE1,U,Y
*GET,UXL2,NODE,BNODE2,U,X $ *GET,UYL2,NODE,BNODE2,U,Y
*GET,UXL3,NODE,BNODE3,U,X $ *GET,UYL3,NODE,BNODE3,U,Y
*GET,UXR1,NODE,TNODE1,U,X $ *GET,UYR1,NODE,TNODE1,U,Y
*GET,UXR2,NODE,TNODE2,U,X $ *GET,UYR2,NODE,TNODE2,U,Y
*GET,UXR3,NODE,TNODE3,U,X $ *GET,UYR3,NODE,TNODE3,U,Y

*IF,XLR,GT,OH1O,THEN
CUX=VP(2) $ CVY=VS(2)
*ELSE IF,XLR,EQ,OH1O,THEN
CUX=(VP(2)+VP(1))/2 $ CVY=(VS(1)+VS(2))/2
*ELSE
CUX=VP(1) $ CVY=VS(1)
*ENDIF

UXL1=UXL1+UXL2-UXL(1,LRX)+CUX*DT/DX*((UXL2-UXL1)-(UXL(2,LRX)-UXL(1,LRX)))
UYL1=UYL1+UYL2-UYL(1,LRX)+CVY*DT/DX*((UYL2-UYL1)-(UYL(2,LRX)-UYL(1,LRX)))

D,BNODE1,Ux,UXL1 $ D,BNODE1,UY,UYL1

UXR1=UXR1+UXR2-UXR(1,LRX)-CUX*DT/DX*((UXR1-UXR2)-(UXR(1,LRX)-UXR(2,LRX)))
UYR1=UYR1+UYR2-UYR(1,LRX)-CVY*DT/DX*((UYR1-UYR2)-(UYR(1,LRX)-UYR(2,LRX)))

D,TNODE1,Ux,UXR1 $ D,TNODE1,UY,UYR1
*ENDDO

*DO,LRX,1,YWIDTH/DX+1
XLR=(LRX-1)*DX
BNODE1=NODE(XDEPTH,XLR,0) $ BNODE2=NODE(XDEPTH-DX,XLR,0) $ BNODE3=NODE(XDEPTH-DX*2,XLR,0)
*GET,UXB1,NODE,BNODE1,U,X $ *GET,UYB1,NODE,BNODE1,U,Y
*GET,UXB2,NODE,BNODE2,U,X $ *GET,UYB2,NODE,BNODE2,U,Y
*GET,UXB3,NODE,BNODE3,U,X $ *GET,UYB3,NODE,BNODE3,U,Y
CUX=VP(2) $ CVY=VS(2)
UXB1=UXB1+UXB2-UXB(1,LRX)-CUX*DT/DX*((UXB1-UXB2)-(UXB(1,LRX)-UXB(2,LRX)))
UYB1=UYB1+UYB2-UYB(1,LRX)-CVY*DT/DX*((UYB1-UYB2)-(UYB(1,LRX)-UYB(2,LRX)))

D,BNODE1,Ux,UXB1 $ D,BNODE1,UY,UYB1
*ENDDO

*if,mod(i,recordstep),eq,0,then
*DO,LRX,1,YWIDTH/DX+1 !在每一时间步读出检波点UX、UY输入到DISP.DAT文件中
XLR=(LRX-1)*DX
Nnode=NODE(0,XLR,0)
*GET,ury,node,nnode,u,y
*GET,urx,node,NNODE,u,x
*VWRITE,nnode,i,Urx,ury
(2f6.0,2e15.6)
*enddo

*DO,LRX,1,YWIDTH/DX+1 !在每一时间步读出检波点UX、UY输入到DISP.DAT文件中
XLR=(LRX-1)*DX
Nnode=NODE(DX,XLR,0)
*GET,uzy,node,NNODE,u,y
*GET,uzx,node,NNODE,u,x
*VWRITE,nnode,i,Uzx,uzy
(2f6.0,2e15.6)
*enddo

*DO,LRX,1,YWIDTH/DX+1 !在每一时间步读出检波点UX、UY输入到DISP.DAT文件中
XLR=(LRX-1)*DX
Nnode=NODE(OH1O,XLR,0)
*GET,uzy,node,NNODE,u,y
*GET,uzx,node,NNODE,u,x
*VWRITE,nnode,i,Uzx,uzy
(2f6.0,2e15.6)
*enddo

*DO,LRX,1,YWIDTH/DX+1 !在每一时间步读出检波点UX、UY输入到DISP.DAT文件中
XLR=(LRX-1)*DX
Nnode=NODE(BURY,XLR,0)
*GET,uzy,node,NNODE,u,y
*GET,uzx,node,NNODE,u,x
*VWRITE,nnode,i,Uzx,uzy
(2f6.0,2e15.6)
*enddo
*endif

*enddo !进入下一时间步
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 08:12 , Processed in 0.039049 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表