⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diffusion.txt

📁 ansys.com上的ansys命令流,主要为热,流体,接触分析方面的内容
💻 TXT
字号:
!*********************************************************************
!  MST Moisture Soak (Diffusion Simulation)
!  Reference: Ee Hua Wong (IME Singapore, eehua@ime.org.sg)
!  Compare moisture weight gain predictions for PBGA packages against 
!  J.Galloway's experimental data
!  30OCT01
!*********************************************************************
!
/batch,list
/clear,start
!
!  Isometric view
!
/vup,1,z
/view,1,-1,-1,1
!
!  Switches for solving & post-processing
!
solve=1
post=1
!
!  Level of moisture exposure
!  level = 1 (85C/85%RH)
!  level = 2 (30C/60%RH)
!
level=1
!
/filname,mst%level%
!
!  Define geometry and material parameters
!
!  Total analysis time = 168 hours (604,800 sec.)
!
T=6.048e5
!
!  Estimated dry mass of package (gm)
!
Mp = 0.607
!
!  Define geometry dimension parameters (all units in cm)
!
L1=0.008 	$L2=0.03	$L3=0.035	! z dimension
L4=0.041	$L5=0.081	$L6=0.156
x1=0.31		$x2=0.47	$x3=0.525	! x dimension
y1=0.375	$y2=0.675	$y3=0.75	! y dimension
!
*if,level,eq,1,then
!
/title,Moisture Soak: 85C/85RH
!
!  Define material properties  @ 85C/85RH condition
!  D: diffusivity (cm2/s)
!  C: saturated concentration (g/cc)
!  K: conductivity (g/cm-s)
!
D1=8.558e-9	$c1=0.02408	$K1=D1*C1	!(BT=BT Laminate)
D2=1.521e-8	$c2=0.02676	$K2=D2*C2	!(DA=Die Attach)
D3=2.851e-8	$c3=0.01227	$K3=D3*C3	!(MC=Mold compound)
D4=2.471e-8	$c4=0.03881	$K4=D4*C4	!(SR=Solder resist)
D5=1e-10	$c5=1e-3	$K5=D5*C5	!(DIE,Cu)
*elseif,level,eq,2,then
!
/title,Moisture Soak: 30C/60RH	
!
!  Define material properties  @ 30C/60RH condition
!  D: diffusivity (cm2/s)
!  C: saturated concentration (g/cc)
!  K: conductivity (g/cm-s)
!
D1=1.512e-9	$c1=0.00653	$K1=D1*C1	!(BT=BT Laminate)
D2=9.39e-10	$c2=0.01468	$K2=D2*C2	!(DA=Die Attach)
D3=3.13e-9	$c3=0.00780	$K3=D3*C3	!(MC=Mold compound)
D4=9.263e-9	$c4=0.01654	$K4=D4*C4	!(SR=Solder resist)
D5=1e-11	$c5=1e-4	$K5=D5*C5	!(DIE,Cu)
*endif
!
Keyw,pr_therm,1	 
!
/PREP7  
!
!  Element types
!  Define thermal element type: Plane55=2D / Solid70=3D
!
ET,1,PLANE55	$ET,2,SOLID70
!
!  Assign material properties to respective layers  
!
UIMP,1,DENS, , ,1	$UIMP,1,KXX, , ,k1	$UIMP,1,C, , ,c1 	
UIMP,2,DENS, , ,1	$UIMP,2,KXX, , ,k2	$UIMP,2,C, , ,c2	 
UIMP,3,DENS, , ,1	$UIMP,3,KXX, , ,k3	$UIMP,3,C, , ,c3 	
UIMP,4,DENS, , ,1	$UIMP,4,KXX, , ,k4	$UIMP,4,C, , ,c4	 
UIMP,5,DENS, , ,1	$UIMP,5,KXX, , ,k5	$UIMP,5,C, , ,c5	 
!
! Construction of geometry (Quarter Model)
!
k,1,0,0		$k,2,x1,0 	$k,3,x1,y1 	$k,4,0,y1
k,5,x2,0	$k,6,x2,y1	$k,7,x2,y2	$k,8,x1,y2   	
k,9,0,y2	$k,10,x3,0	$k,11,x3,y1	$k,12,x3,y2	
k,13,x3,y3	$k,14,x2,y3	$k,15,x1,y3	$k,16,0,y3  
A,1,2,3,4	$A,2,5,6,3 	$A,3,6,7,8	$A,4,3,8,9
A,5,10,11,6 	$A,6,11,12,7 	$A,7,12,13,14
A,8,7,14,15 	$A,9,8,15,16
!
! Meshing construction from 2D element to 3D element
!
! Create marco Extru.mac for extrusion
!
*creat,extru,mac
	Asel,s,loc,z,arg1
	Type,1	$Esize, x2/10	$Amesh,all
	Type,2	$mat,arg2	$Esize,,arg3
	Vext,all,,,0,0,arg4		$aclear,all
*end
!
! Macro Usage: Extru, plane, material no, element division, extrusion distance
!
! Extrude layer 1 - SR
!
Extru,0,4,1,L1
!
! Extrude layer 2 - BT
!
Extru,L1,1,2,L2-L1
!
! Extrude layer 3 - Cu + MC
!
Asel,s,loc,z,L2	$Asel,r,loc,x,0,x2	$Asel,r,loc,y,0,y2
Type,1	$Amesh,all  	$Type,2	$mat,3	$Esize,,1
Vext,all,,,0,0,L3-L2	$aclear,all
!
! Extrude layer 4 - DA + MC
!
Extru,L3,3,1,L4-L3
!
! Extrude layer 5 - Die + MC
!
Extru,L4,3,3,L5-L4
!
! Extrude layer 6 - MC
!
Extru,L5,3,5,L6-L5
!
! Change material number attribute of the elements
! Layer 3 - change MC to Cu
!
Vsel,s,loc,z,L2,L3	$Vsel,r,loc,x,0,x1	
Vsel,r,loc,y,0,y1	$Eslv,s	$Mpchg,5,all
!
! Layer 4 - change MC to DA
!
Vsel,s,loc,z,L3,L4	$Vsel,r,loc,x,0,x1	
Vsel,r,loc,y,0,y1	$Eslv,s	$Mpchg,2,all
!
! Layer 5 - change MC to Die
!
Vsel,s,loc,z,L4,L5	$Vsel,r,loc,x,0,x1	
Vsel,r,loc,y,0,y1	$Eslv,s	$Mpchg,5,all
allsel,all
!
/num,1   
/pnum,MAT,1
eplot
finish
!
*if,solve,eq,1,then
!
!  Solution
!
/SOLU
!
!  Transient Analysis
!
Antype,4	
!
!  Iterative solver
!
Eqslv,ITER,5 
!
!  Boundary condition
!
!  Set outer layer (less symmetry planes) to w=1 (i.e., saturated)
!
Asel,S,EXT 	$Asel,u,loc,x,0	$Asel,u,loc,y,0	
Nsla,s,1 	$D,all,TEMP,1, 
!
!  Initial condition
!
!  Set interior nodes to w=0 (i.e., dry)
!
Nsel,inve	$IC,all,temp,0	$allsel,all
!
!  Time stepping and solution control 
!
!  End time = 604800 sec. = 168 hours
!
Time,T	
Autots,on	
!
!  Starting time step = T/500
!  Minimum time step  = T/1000
!  Maximum time step  = T/100
!
DELTIM,T/500,T/1000,T/10
!
!  Linearly ramp boundary conditions
!
KBC,1	
Outres,nsol,all	
Solve	
Finish
!
*if,post,eq,1,then
!
!  Post-processing
!
/Post1
!
set,last
!
/PLOPTS,INFO,2
/PLOPTS,LEG2,0  
!
! ** Define output parameters and arrays
!
N=10
S=2
P=2+(N-1)*S
!
!  No. of experimental data points
!  Source: J. Galloway, Motorola
!
*if,level,eq,1,then
E=6
*elseif,level,eq,2,then
E=5
*endif
!
!  Define tabular & experimental data
!
!  MR = Mt/Mp=mass of moisture/dry package (%)
!  TM = Time (hours)
!  EXPG = J. Galloway's experimental data
!  TM1 = Time associated w/ EXPG (hours)
!
*del,MR		$ *del,TM	$ *del,EXPG	$ *del,TM1
*Dim,MR,table,N
*Dim,TM,table,N
*Dim,EXPG,table,E
*Dim,TM1,table,E
!
!  **************************************
!  The following is the experimental data
!  **************************************
!
!  85C/85%RH Experimental Data
!
*if,level,eq,1,then
expg(0)=0.0	$expg(1)=0.254	$expg(2)=0.406
expg(3)=0.467	$expg(4)=0.492	$expg(5)=0.492
expg(6)=0.500
tm1(0)=0	$tm1(1)=7.0	$tm1(2)=20.0
tm1(3)=106.0	$tm1(4)=120.0	$tm1(5)=144.0
tm1(6)=168.0
yrng=0.60
!
!  30C/60%RH Experimental Data
!
*elseif,level,eq,2,then
expg(0)=0.0	$expg(1)=0.061	$expg(2)=0.101
expg(3)=0.122	$expg(4)=0.149	$expg(5)=0.181
tm1(0)=0	$tm1(1)=7.0	$tm1(2)=24.2
tm1(3)=50.0	$tm1(4)=96.0	$tm1(5)=168.0
yrng=0.20
*endif
!
!  Display wetness and concentration contour
!  Generate wetness (w=temp) and concentration table (C = Csat * w)
!
Esel,s,mat,,1	$Etable,wet,temp	$Sadd,cw,wet,,c1	
Esel,s,mat,,2	$Etable,wet,temp	$Sadd,cw,wet,,c2
Esel,s,mat,,3	$Etable,wet,temp	$Sadd,cw,wet,,c3
Esel,s,mat,,4	$Etable,wet,temp	$Sadd,cw,wet,,c4
Esel,s,mat,,5	$Etable,wet,temp	$Sadd,cw,wet,,c5
Esel,all
/ui,raise
/VIEW, 1 ,,-1 
/ANNOT,ON
/TLAB,-0.650, 0.830,Wetness
/TLAB, 0.350, 0.830,Concentration
!
!  Plot wetness contour
!
/title,Level(%level%): Wetness & Concentration
/window,1,left	$Plnsol,temp
/noerase
!
!  Plot concentration contour
!
/window,1,right	$pletab,cw
/ui,copy,save,png,graph,color,reverse,portrait,yes
/erase
/anno,dele
!
!  Constructs the graph of Mt/Msat Vs Time
!  Calculate Msat (saturation mass of moisture)
!  Generate Csat*Vol table for each element
!
Esel,s,mat,,1	$Etable,volu,volu	$Sadd,cv,volu,,c1
Esel,s,mat,,2	$Etable,volu,volu	$Sadd,cv,volu,,c2
Esel,s,mat,,3	$Etable,volu,volu	$Sadd,cv,volu,,c3
Esel,s,mat,,4	$Etable,volu,volu	$Sadd,cv,volu,,c4
Esel,all	$Esel,u,mat,,5		$Ssum
!
!  Msat=sum(Vol x Csat)
!
*Get,Msat,ssum,0,item,cv
!	
!  Calculate mass ratio at each desired time
!
*Do,j,p,2,-s
	Scale=1-log(j-1)/log(p)
	Time=Scale*T
	set,,,1,,Time
!
!  Generate (C * Vol) table for each element
!
	Esel,s,mat,,1	$Etable,wet,temp 	$Smult,cvw,cv,wet
	Esel,s,mat,,2	$Etable,wet,temp 	$Smult,cvw,cv,wet
	Esel,s,mat,,3	$Etable,wet,temp 	$Smult,cvw,cv,wet
	Esel,s,mat,,4	$Etable,wet,temp 	$Smult,cvw,cv,wet
	Esel,all	$Esel,u,mat,,5		$Ssum
!
!  Mt = sum(Vol x Csat x W)
!
	*Get,Mt,ssum,0,item,cvw
!
!  MR = mass of moisture/mass of dry package (%)
!
	MR(n-(j-s)/s)=(Mt*4/Mp)*100
	TM(n-(j-s)/s)=Time/3600
*enddo
!
!  Plot Mt/Mp Vs Time
!
/PLOPTS,INFO,0  
MR(0,1) =0		$TM(0,1)=0
/ANNOT,ON
/TLAB,-0.650, 0.830,Calculated Absorption
/TLAB, 0.750, 0.830,Galloway Expt. Absorption   
/title,Level(%level%): Graph of Mt/Mp Vs. Time	
/axlab,x,Time (Hr)		$/axlab,y,M/Mdry (%)
$/xrange,0,170	$/yrange,0,yrng	$/gropt,dig2,2
!
!  Graph FEA solution on left window
!
/window,1,left	$*vplot,TM(0),MR(0)
/noerase
!
!  Graph Galloway experiment data on right window
!
/window,1,right	$*vplot,tm1(0),expg(0)
/ui,copy,save,png,graph,color,reverse,portrait,yes
/erase
/WIND,ALL,OFF   
/WIND,1,FULL
/anno,dele
finish
!
! ******************** End ********************
*endif		! end post option
*endif		! end solve option

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -