lchylinchy 发表于 2010-11-2 22:05:43

求助:请各位大侠看看错在哪里

我要做一个加力后得到电压的分析,但是程序做出来没有电压,请各位大侠看看,谢谢
finish
/clear nostart
/prep7
et,1,solid226,1001
et,2,42
press=1e-5   !力的大小
E1=2.0e9                        ! Young's modulus, N/m^2
NU12=0.29                     ! Poisson's ratio
G12=0.775e9                     ! Shear modulus, N/m^2
d31=2.2e-11                     ! Piezoelectric strain coefficients, C/N
d32=0.3e-11
d33=-3.0e-11
ept33=12                        ! Relative permittivity at constant stress
tb,ANEL,1,,,1               ! Elastic compliance matrix(tb定义非线性材料单元表,同tbdata一起连用)
!最后一个1表示输入的弹性矩阵为弹性形式,如果是0表示输入的弹性矩阵为刚度形式
tbda,1,1/E1,-NU12/E1,-NU12/E1
tbda,7,1/E1,-NU12/E1
tbda,12,1/E1
tbda,16,1/G12
tbdata,19,2.09e10
tbdata,21,2.09e10
tb,PIEZ,1,,,1                  ! Piezoelectric strain matrix
tbda,2,d31
tbda,5,d33
tbda,8,d32
tb,DPER,1,,,1                   ! Permittivity(介电常数) at constant stress
tbdata,1,ept33,ept33
k,1,0,0
k,2,2.5e-3,0
k,3,6.5e-3,0
k,4,6.5e-3,0.35e-3
k,5,2.5e-3,0.35e-3
k,6,2.5e-3,0.65e-3
k,7,6.5e-3,0.65e-3
k,8,6.5e-3,1e-3
k,9,2.5e-3,1e-3
k,10,0,1e-3
l,1,2
l,2,3
l,3,4
l,4,5
l,5,6
l,6,7
l,7,8
l,8,9
l,9,10
l,10,1
a,1,2,5,6,9,10
a,2,3,4,5
a,6,7,8,9
type,2
esize,all,0.25e-3
amesh,all!映射划分面单元
!通过拉伸生成体单元
type,1
extopt,ESIZE,5   !指定拉伸方向划分数为15
extopt,ACLEAR,1    !拉伸完毕后,清除面单元
vext,all,,,,,0.5e-3   !z方向拉伸0.5e-3m
!以下耦合面结点电压,定义电压值为0
nsel,s,loc,x,0
d,all,ux,0,,,uy,uz
nsel,s,loc,y,0 !选择下底边的所有点
cp,1,volt,all
d,all,volt,0
nsel,s,loc,y,1.0e-3
cp,2,volt,all
d,all,volt,0
!耦合平面14和16上的点,并定义为高电位
asel,s,area,,14,16,2
nsla,s
cp,3,volt,all
!在面14和16上加载随坐标变换的力
et,500,shell63 !定义63号单元,用于施加载荷
type,500
asel,s,area,,14,16,2!选择要加载的面
amesh,all
esla,s,   !选择与面相关的所有单元
nsla,s ,1!选择面上的所有节点
*get,enmax,elem,0,num,max !取得一组值并保存在enmax中
*get,enmin,elem,0,num,min
dofsel,s,fx,fy,fz   !选择集中载荷标识
fcum,add !将力的施加方式设置为”累加“,而非缺省时的”替代“
*do,i,enmin,enmax   !以i为循环变量,循环范围从enmin到enmax
*if,esel(i),eq,1,then   !选择语句,判断当前单元是否在选择集中
*get,ae,elem,i,area!得到单元真实面面积
xe=centrx(i)!单元中心x坐标(用于求解压力值)
ye=centry(i)!单元中心y坐标(用于求解压力值)
ze=centrz(i)!单元中心z坐标(用于求解压力值)
!下面输入压力随坐标变化的公式
p_e=press*(0.15e-3/((xe**2+0.175e-3**2+ze**2)**0.5))
f_tot=p_e*ae
esel,s,elem,,i!选择第i个单元
nsle,s,corner!选择单元角点上的节点
*get,nn,node,,count !得到当前选择集中节点的个数
f_n=f_tot/nn!得到每个节点上需要施加的力
*do,j,1,nn!此循环对第i个单元上的每个节点施加集中力
f,nelem(i,j),fy,f_n
*enddo
*endif
esln,s!重复选择面上的所有单元
*enddo
aclear,all!清除面上的shell63单元
fcum,repl!将力的施加方式还原为缺省时的“替代”
dofsel,all!还原所有自由度
sflist
!耦合平面10和14上的点,并定义为高电位
fini
/solu
solv
finish

Longzou 发表于 2012-8-20 11:15:37

能力有限,初学者看不懂啊:(
页: [1]
查看完整版本: 求助:请各位大侠看看错在哪里