值得关注的问题:直接生成Trans126和EMTGEN生成得出的结果相差很大的原因
我用126单元做力电耦合分析,结果发现直接生成的TRANS126和用EMTGEN生成得出的结果相差很大,因此发上来和大家讨论下,共同研究研究原因在哪里?到底我的建模和求解的问题,还是这两个方法中某一个有BUG?先描述下我的问题:就是一个极板面积40*40(um*um)的电容,上板可动(四边有固定的支点),下板固定。
第一次,网格划分好后,我将上板的表面节点选出来,用EMTGEN生成了一系列的TRANS126
第二次,我想用一个126模拟这个平行板电容,于是就将整个板的面积Area*per0(空气介电常数)作为126实常数C0输入
其余的极板间距和最小距离都完全一样,结果同一电压下变形情况相差很大,如图
由图可以看出,直接生成的TRANS126得出的结果比EMTGEN生成得出的结果大得多
我想了两个原因
一:我看了EMTGEN的说明,它生成的每个126的面积是用ARNODE(即取的是每个点周围的面积)取值的,是不是这样导致取得的面积 比直接算得的面积 小,使得电容变小,从而导致其变形变小,由此说明直接生成的126得出的结果更准确?
二:极板变形是二次型的,即模拟过程中每个节点的间距是不一样的,这样的话,显然用EMTGEN生成的系列126更符合这种情况,那是不是意味着EMTGEN生成得出的结果更准确?
上面两个想法得出的是相反的结果,正在考虑怎么检验。大家有兴趣的话有参与进来,想想?
附上 APDL
!!!Single Trans126 element/prep7
mwidth=40! square membrane
melectrode=40
height=0.85 !
Al_height=0.53
bracelength=10
bracewidth=2
k_sio=3.9
d_sio=1.7
hgap=0.53
vlt=42!Bias voltage
deta=3.9968e-14
et,1,solid45
r,1
et,2,trans126,,2
c0=8.854e-6*mwidth*mwidth ! C0/x constant for Capacitance equation
r,2,0,0,(hgap+d_sio/k_sio),0.05,.1
rmore,c0 ! Real constant C0
mp,ex,1,0.69e5 !SiO2 Membrane
mp,nuxy,1,0.17
mp,dens,1,2.2e-15
mp,ex,2,0.7e5 !Al electrode
mp,nuxy,2,0.36
mp,dens,2,2.7e-15
k,1,mwidth/2-bracewidth,0,mwidth/2
k,2,mwidth/2,0,mwidth/2
k,3,mwidth/2+bracelength,0,mwidth/2+bracelength
k,4,mwidth/2-bracewidth+bracelength,0,mwidth/2+bracelength
k,5,mwidth/2-bracewidth,-(height+Al_height),mwidth/2
k,6,mwidth/2,-(height+Al_height),mwidth/2
k,7,mwidth/2+bracelength,-(height+Al_height),mwidth/2+bracelength
k,8,mwidth/2-bracewidth+bracelength,-(height+Al_height),mwidth/2+bracelength
v,1,2,3,4,5,6,7,8
k,9,mwidth/2,0,mwidth/2-bracewidth
k,10,mwidth/2+bracelength,0,mwidth/2+bracelength-bracewidth
k,11,mwidth/2,-(height+Al_height),mwidth/2-bracewidth
k,12,mwidth/2+bracelength,-(height+Al_height),mwidth/2+bracelength-bracewidth
v,2,9,10,3,6,11,12,7
vsymm,x,all,,1,0,0
vsel,all
vsymm,z,all,,4,0,0
block,-mwidth/2,mwidth/2,0,-(height+Al_height),-mwidth/2,mwidth/2
vsel,all
wprota,,-90
wpoffs,,,-Al_height
rect,-60,60,-60,60
vsba,all,51!51 is the rectng's number
wpoffs,,,Al_height
wprota,,90
vglue,all
nummrg,all
numcmp,all
vsel,all
vsel,s,loc,y,-height-Al_height,-Al_height
vatt,1,1,1
vsel,s,loc,y,-Al_height,0
vatt,2,1,1
vsel,all
vsel,u,volu,,1
vsel,u,volu,,2
cm,BRACE_VOLU,volu
cmsel,s,BRACE_VOLU
cmplots
lsel,s,loc,y,-height/2-Al_height
lesize,all,,,height
lsel,s,loc,y,-Al_height/2
lesize,all,,,Al_height
asel,s,loc,y,0
asel,a,loc,y,-height-Al_height
asel,a,loc,y,-Al_height
lsla,s
lesize,all,bracewidth/2
mshape,0,3D
mshkey,1
vmesh,BRACE_VOLU
!Must ccat area firstly,then ccat line
asel,s,loc,x,-mwidth/2,-mwidth/2
asel,r,loc,y,-height-Al_height,-Al_height
accat,all
asel,s,loc,x,-mwidth/2,-mwidth/2
asel,r,loc,y,-Al_height,0
accat,all
asel,s,loc,z,-mwidth/2,-mwidth/2
asel,r,loc,y,-height-Al_height,-Al_height
accat,all
asel,s,loc,z,-mwidth/2,-mwidth/2
asel,r,loc,y,-Al_height,0
accat,all
asel,s,loc,x,mwidth/2,mwidth/2
asel,r,loc,y,-height-Al_height,-Al_height
accat,all
asel,s,loc,x,mwidth/2,mwidth/2
asel,r,loc,y,-Al_height,0
accat,all
asel,s,loc,z,mwidth/2,mwidth/2
asel,r,loc,y,-height-Al_height,-Al_height
accat,all
asel,s,loc,z,mwidth/2,mwidth/2
asel,r,loc,y,-Al_height,0
accat,all
lsel,s,loc,y,0,0
lsel,r,loc,x,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,0,0
lsel,r,loc,z,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,0,0
lsel,r,loc,x,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,0,0
lsel,r,loc,z,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,-Al_height,-Al_height
lsel,r,loc,x,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,-Al_height,-Al_height
lsel,r,loc,z,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,-Al_height,-Al_height
lsel,r,loc,x,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,-Al_height,-Al_height
lsel,r,loc,z,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,-height-Al_height,-height-Al_height
lsel,r,loc,x,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,-height-Al_height,-height-Al_height
lsel,r,loc,z,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,-height-Al_height,-height-Al_height
lsel,r,loc,x,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,-height-Al_height,-height-Al_height
lsel,r,loc,z,mwidth/2,mwidth/2
lccat,all
vsel,s,volu,,1
vsel,a,volu,,2
cm,MEM_VOLU,volu
cmsel,s,MEM_VOLU
cmplot
lsel,s,loc,y,-height/2-Al_height
lesize,all,,,height
lsel,s,loc,y,-Al_height/2
lesize,all,,,Al_height
asel,s,loc,y,0
asel,a,loc,y,-height-Al_height
asel,a,loc,y,-Al_height
lsla,s
lesize,all,bracewidth/2
mshape,0,3D
mshkey,1
vmesh,MEM_VOLU
nummrg,all
numcmp,all
asel,s,loc,x,-(mwidth/2+bracelength)
asel,a,loc,x,(mwidth/2+bracelength)
asel,a,loc,z,-(mwidth/2+bracelength)
asel,a,loc,z,(mwidth/2+bracelength)
lsla,s,1
nsll,s
d,all,ux
d,all,uy
d,all,uz !constraintion
n,50000,-deta,-(height+Al_height)-(hgap+d_sio/k_sio),-deta
type,2
real,2
e,50000,5183
nsel,s,NODE,,50000
d,50000,ux
d,50000,uy
d,50000,uz
d,50000,volt,0
nsel,s,NODE,,5183
d,5183,volt,vlt
allsel,all
/solu
antype,static ! Static analysis
pstres,on ! turn on prestress effects
solve
save
finish
/post1
!===get the average uy of the Membrane nodes
nsel,s,loc,y,-(height+Al_height)
nsel,r,loc,x,-mwidth/2,mwidth/2
nsel,r,loc,z,-mwidth/2,mwidth/2
*GET, nnodemin, NODE, 0, num, min
*GET, nnodecount, NODE, 0, count
*DIM,nuy,,nnodecount
*vget,nuy,node,nnodemin,u,y
ynodesum=0
*do,i,1,nnodecount
ynodesum=ynodesum+nuy(i)
!k_y(i)=nsy(i)/nuy(i)
*enddo
ynodeavg=ynodesum/nnodecount
ynodeavgperv=ynodeavg/vlt
yobj=1+ynodeavgperv
!get the max von mise stress
nsel,all
NSORT, S, EQV
*GET, SMAX, SORT,, MAX
PLNSOL,UY
finish
附上APDL
!!!!EMTGEN generates trans126 elemen/prep7
et,1,solid45
mp,ex,1,0.69e5 !SiO2 Membrane
mp,nuxy,1,0.17
mp,dens,1,2.2e-15
mp,ex,2,0.7e5 !Al electrode
mp,nuxy,2,0.36
mp,dens,2,2.7e-15
per0=8.854e-6
mwidth=40
melectrode=40
height=0.85
Al_height=0.53
bracelength=10
bracewidth=2
k_sio=3.9
d_sio=1.7
hgap=0.53
vlt=42!Bias voltage
k,1,mwidth/2-bracewidth,0,mwidth/2
k,2,mwidth/2,0,mwidth/2
k,3,mwidth/2+bracelength,0,mwidth/2+bracelength
k,4,mwidth/2-bracewidth+bracelength,0,mwidth/2+bracelength
k,5,mwidth/2-bracewidth,-(height+Al_height),mwidth/2
k,6,mwidth/2,-(height+Al_height),mwidth/2
k,7,mwidth/2+bracelength,-(height+Al_height),mwidth/2+bracelength
k,8,mwidth/2-bracewidth+bracelength,-(height+Al_height),mwidth/2+bracelength
v,1,2,3,4,5,6,7,8
k,9,mwidth/2,0,mwidth/2-bracewidth
k,10,mwidth/2+bracelength,0,mwidth/2+bracelength-bracewidth
k,11,mwidth/2,-(height+Al_height),mwidth/2-bracewidth
k,12,mwidth/2+bracelength,-(height+Al_height),mwidth/2+bracelength-bracewidth
v,2,9,10,3,6,11,12,7
vsymm,x,all,,1,0,0
vsel,all
vsymm,z,all,,4,0,0
block,-mwidth/2,mwidth/2,0,-(height+Al_height),-mwidth/2,mwidth/2
vsel,all
wprota,,-90
wpoffs,,,-Al_height
rect,-60,60,-60,60
vsba,all,51!51 is the rectng's number
wpoffs,,,Al_height
wprota,,90
vglue,all
nummrg,all
numcmp,all
vsel,all
vsel,s,loc,y,-height-Al_height,-Al_height
vatt,1,,1
vsel,s,loc,y,-Al_height,0
vatt,2,,1
vsel,all
vsel,u,volu,,1
vsel,u,volu,,2
cm,BRACE_VOLU,volu
cmsel,s,BRACE_VOLU
cmplots
lsel,s,loc,y,-height/2-Al_height
lesize,all,,,height
lsel,s,loc,y,-Al_height/2
lesize,all,,,Al_height
asel,s,loc,y,0
asel,a,loc,y,-height-Al_height
asel,a,loc,y,-Al_height
lsla,s
lesize,all,bracewidth/2
mshape,0,3D
mshkey,1
vmesh,BRACE_VOLU
!Must ccat area firstly,then ccat line
asel,s,loc,x,-mwidth/2,-mwidth/2
asel,r,loc,y,-height-Al_height,-Al_height
accat,all
asel,s,loc,x,-mwidth/2,-mwidth/2
asel,r,loc,y,-Al_height,0
accat,all
asel,s,loc,z,-mwidth/2,-mwidth/2
asel,r,loc,y,-height-Al_height,-Al_height
accat,all
asel,s,loc,z,-mwidth/2,-mwidth/2
asel,r,loc,y,-Al_height,0
accat,all
asel,s,loc,x,mwidth/2,mwidth/2
asel,r,loc,y,-height-Al_height,-Al_height
accat,all
asel,s,loc,x,mwidth/2,mwidth/2
asel,r,loc,y,-Al_height,0
accat,all
asel,s,loc,z,mwidth/2,mwidth/2
asel,r,loc,y,-height-Al_height,-Al_height
accat,all
asel,s,loc,z,mwidth/2,mwidth/2
asel,r,loc,y,-Al_height,0
accat,all
lsel,s,loc,y,0,0
lsel,r,loc,x,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,0,0
lsel,r,loc,z,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,0,0
lsel,r,loc,x,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,0,0
lsel,r,loc,z,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,-Al_height,-Al_height
lsel,r,loc,x,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,-Al_height,-Al_height
lsel,r,loc,z,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,-Al_height,-Al_height
lsel,r,loc,x,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,-Al_height,-Al_height
lsel,r,loc,z,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,-height-Al_height,-height-Al_height
lsel,r,loc,x,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,-height-Al_height,-height-Al_height
lsel,r,loc,z,-mwidth/2,-mwidth/2
lccat,all
lsel,s,loc,y,-height-Al_height,-height-Al_height
lsel,r,loc,x,mwidth/2,mwidth/2
lccat,all
lsel,s,loc,y,-height-Al_height,-height-Al_height
lsel,r,loc,z,mwidth/2,mwidth/2
lccat,all
vsel,s,volu,,1
vsel,a,volu,,2
cm,MEM_VOLU,volu
cmsel,s,MEM_VOLU
cmplot
lsel,s,loc,y,-height/2-Al_height
lesize,all,,,height
lsel,s,loc,y,-Al_height/2
lesize,all,,,Al_height
asel,s,loc,y,0
asel,a,loc,y,-height-Al_height
asel,a,loc,y,-Al_height
lsla,s
lesize,all,bracewidth/2
mshape,0,3D
mshkey,1
vmesh,MEM_VOLU
nummrg,all
numcmp,all
asel,s,loc,x,-(mwidth/2+bracelength)
asel,a,loc,x,(mwidth/2+bracelength)
asel,a,loc,z,-(mwidth/2+bracelength)
asel,a,loc,z,(mwidth/2+bracelength)
nsla,s,1
d,all,ux
d,all,uy
d,all,uz !constraintion
allsel,all
asel,s,loc,y,-height-Al_height
nsla,s,1
nsel,r,loc,x,-mwidth/2,mwidth/2
nsel,r,loc,z,-mwidth/2,mwidth/2
CM,CM_Surf,NODE
EMTGEN,'CM_Surf','EMTELM','CM_Plane','UY',-(hgap+d_sio/k_sio),0.0,0.1,per0cmsel,s,CM_Plane
d,all,uy !generating trans126 element
cmsel,s,CM_Surf
d,CM_Surf,volt,vlt
cmsel,s,CM_Plane
d,CM_Plane,volt,0
allsel,all !voltage for capa
/solu
antype,static ! Static analysis
pstres,on ! turn on prestress effects
solve
save
finish
/post1
!===get the average uy of the Membrane nodes
nsel,s,loc,y,-(height+Al_height)
nsel,r,loc,x,-mwidth/2,mwidth/2
nsel,r,loc,z,-mwidth/2,mwidth/2
*GET, nnodemin, NODE, 0, num, min
*GET, nnodecount, NODE, 0, count
*DIM,nuy,,nnodecount
*vget,nuy,node,nnodemin,u,y
ynodesum=0
*do,i,1,nnodecount
ynodesum=ynodesum+nuy(i)
*enddo
ynodeavg=ynodesum/nnodecount
ynodeavgperv=ynodeavg/vlt
yobj=1+ynodeavgperv
!get the max von mise stress
nsel,all
NSORT, S, EQV
*GET, SMAX, SORT,, MAX
plnsol,uy
finish
自问自答吧
根据有限元的思想,它是先把模型或者系统离散成一个一个的小单元,然后再将这些小单元集成在一起进行求解。显然,每个小单元能更好地模拟其附近位置的物理环境。因此,在上述问题中,EMTGEN生成系列126的情况更接近正解。请各位指正~ 有机会还是做实验来验证:@D
回复 地板 lukingstrong 的帖子
我现在也要做MEMS机电耦合的分析,能否向你请教一下,加下我QQ278777086,现在在做设计,比较急。。 好贴!学习了!
页:
[1]