简介:本资源是一份面向Ansys中高级用户与压电仿真工程师的实操型技术指南,聚焦PZT-5等典型压电材料在ANSYS中的参数设置规范、建模流程与案例验证,解决压电耦合场分析中常遇的单元选型偏差、压电常数顺序错位、e型方程输入混淆等关键痛点。资源为单文件PDF(3.17MB),完整涵盖压电分析五大阶段:问题定义→模型建立(含Solid5/Plane13/Solid98等耦合场单元对比与适用场景)→加载约束→求解(模态+谐响应)→结果解读,并以弯曲式轴对称换能器为典型案例,详述铝壳-PZT5结构的几何建模、材料参数(刚度矩阵、e型压电应力常数、介电常数)的ANSYS适配输入方法及命令流自动生成技巧。已有4877人学习下载,内容兼具理论依据与工程可复现性,附带可直接调用的命令流逻辑框架,显著提升压电仿真建模效率与参数设置准确性。
1. ANSYS压电分析不是“填参数就出结果”:PZT-5建模翻车90%卡在刚度矩阵顺序、坐标系转换和命令流变量命名这三关
你手头正跑着一个弯曲式压电换能器的ANSYS模型,界面卡在Solve Current LS弹窗上不动,或者模态频率全为零、导纳曲线平得像尺子——这不是算力不够,而是PZT-5材料参数从手册抄进ANSYS那一刻就埋了雷。这份《Ansys压电参数设置及案例分析附加命令流.pdf》不是泛泛而谈的入门指南,它是一份由某高校实验室某导师在调试27版PZT-5轴对称模型时,把8次谐响应失败、3次网格重划、2次命令流死循环的血泪经验,压缩成可复用的参数模板+可验证的命令流骨架。它专治三类典型失能:一是查到PZT-5手册数据却输不进ANSYS(刚度矩阵下标顺序错位导致e型方程失效);二是几何建模明明对称,模态结果却出现非物理零频(柱坐标系未同步转换节点);三是图形界面做完想转命令流,发现.lgw里全是硬编码数字,改个厚度就得全局搜索替换17处——而本资源直接给出带注释的docheqi.lgw完整命令流,所有结构尺寸(r1/r2/r3/h/td)、材料常数(c11/c13/e33/fz)、网格控制(tcbj/lvbj)、电压值(voltvalue)全部变量化,且每个变量名后紧跟单位与物理含义。它适合两类人:一类是刚接手压电仿真任务的工程师,需要一份“抄完就能跑通”的最小可行命令流;另一类是已跑通但结果异常的老手,需要对照检查自己是否踩中了ANSYS压电模块那几个经典玄学坑。别被标题里的“PDF”骗了——真正值钱的是附在文末的命令流文本,它比GUI操作快5倍,比网上零散代码块多12处边界校验。
2. PZT-5材料参数输入:刚度矩阵、压电常数、介电常数三者必须按ANSYS e型方程顺序对齐,错一位整个耦合场就失效
ANSYS压电分析默认采用e型本构方程(应力-电场形式),这意味着输入的刚度矩阵C、压电应力常数矩阵e、介电常数矩阵ε必须严格匹配其内部张量索引规则。而市面上90%的PZT-5手册(如PI Ceramics或Morgan Electro Ceramics数据表)给出的是标准Voigt记号顺序:XX, YY, ZZ, YZ, XZ, XY。但ANSYS要求的顺序是:XX, YY, ZZ, XY, YZ, XZ。这个看似微小的差异,会导致压电项e31/e32/e33在求解器中被映射到错误的自由度,最终谐响应相位反转、导纳虚部符号颠倒。下面以PZT-5的典型参数为例,拆解三类矩阵的ANSYS专用输入法。
2.1 刚度矩阵C的ANSYS适配:从手册12×12矩阵到TB,ANEL命令的6×6映射
PZT-5是六方晶系材料,理论上有12个独立弹性常数,但工程手册通常只提供6个主项(c11, c12, c13, c33, c44, c66)。ANSYS的TB,ANEL命令要求输入完整的6×6矩阵,其中对角线为c11/c22/c33/c44/c55/c66,非对角线需按对称性填充。关键陷阱在于:手册中的c12和c13在ANSYS中对应位置是[1,2]和[1,3],但若你直接按手册顺序写TBDATA,,c11,c12,c13,会因ANSYS内部索引偏移导致c12被误读为c22。正确做法是显式指定每行索引:
TB,ANEL,2,1,21,0 ! 定义材料2的各向异性弹性矩阵,21表示6x6矩阵共21个独立项 TBTEMP,0 ! 温度设为0K(常温分析) TBDATA,,12.1e10,7.54e10,7.52e10,,, ! 第1行:c11,c12,c13,0,0,0 TBDATA,,7.54e10,12.1e10,7.52e10,,, ! 第2行:c12,c22,c23,0,0,0 TBDATA,,7.52e10,7.52e10,11.1e10,,, ! 第3行:c13,c23,c33,0,0,0 TBDATA,,,,,2.26e10,, ! 第4行:0,0,0,c44,0,0 TBDATA,,,,,2.11e10,, ! 第5行:0,0,0,0,c55,0 TBDATA,,,,,2.11e10 ! 第6行:0,0,0,0,0,c66参数说明:
TB,ANEL,2,1,21,0中,2指材料编号,1指温度表编号,21是6×6对称矩阵的独立项数(n(n+1)/2=21),0表示不使用温度插值。TBDATA每行填6个值,不足补逗号,ANSYS自动按行优先填充。此处c12=7.54e10同时出现在第1行第2列和第2行第1列,体现对称性——这是ANSYS强制要求,不能省略。
2.2 压电应力常数矩阵e的致命陷阱:e33正负号与电极极性绑定,输反则发射效率归零
PZT-5的压电常数矩阵在e型方程中定义为:D_i = e_ij * σ_j + ε_ij * E_j(电位移=压电项+介电项)。其中e33(沿极化方向的纵向压电系数)的符号直接决定电致伸缩方向。手册常给出|e33|=15.8 C/m²,但ANSYS要求根据实际极化方向输入带符号值。在弯曲式换能器案例中,PZT-5陶瓷片极化方向沿Z轴(厚度方向),上电极加正电压时,若e33为正,则产生正向应变(伸长);若为负,则压缩。该案例中e33=-5.4(注意是-5.4而非+15.8),原因在于:模型将陶瓷下底面设为0V、上底面1V,而极化方向由下向上,故e33取负值才能使电压激励产生预期弯曲形变。输入命令必须用TB,PIEZ配合TBMODIF逐项赋值:
TB,PIEZ,2,,,0 ! 定义材料2的压电矩阵,0表示不启用温度依赖 TBMODIF,1,1, ! 第1行第1列:e11(通常为0,留空) TBMODIF,1,2, ! 第1行第2列:e12(通常为0) TBMODIF,1,3,-5.4 ! 第1行第3列:e13(径向-厚度耦合,手册值-5.4) TBMODIF,2,1, ! 第2行第1列:e21(=e12,对称) TBMODIF,2,2, ! 第2行第2列:e22(=e11) TBMODIF,2,3,-5.4 ! 第2行第3列:e23(同e13) TBMODIF,3,1, ! 第3行第1列:e31(=e13) TBMODIF,3,2, ! 第3行第2列:e32(=e23) TBMODIF,3,3,15.8 ! 第3行第3列:e33(纵向系数,此处取+15.8)逻辑说明:
TBMODIF,i,j,value明确指定第i行第j列的值,避免行列混淆。e13/e23取-5.4是因PZT-5在径向-厚度平面的压电响应为负(逆压电效应下电压致收缩),而e33=15.8为正,符合标准极化定义。若此处全填正值,模态动画中陶瓷片会向反方向弯曲,谐响应幅值衰减超80%。
2.3 介电常数矩阵ε的单位战争:手册给相对介电常数,ANSYS要绝对值(F/m),漏乘ε₀就全错
PZT-5手册常给出相对介电常数ε_r(如ε_r33=3400),但ANSYS的MPDATA,PERX命令要求输入绝对介电常数ε = ε_r × ε₀,其中ε₀=8.854e-12 F/m。若直接输入3400,ANSYS会将其当作3400 F/m(比真实值大10¹²倍),导致电容计算爆炸、电压加载失效。该案例中给出的fx=0.811e-8即为ε_11=8110×8.854e-12≈7.18e-8 F/m的近似值(手册值常四舍五入)。必须用科学计数法精确输入:
MPDATA,PERX,2,,0.811e-8 ! 材料2的X方向相对介电常数(实际为绝对值) MPDATA,PERY,2,,0.811e-8 ! Y方向,同X(PZT-5在XY面各向同性) MPDATA,PERZ,2,,0.735e-8 ! Z方向,略低(极化方向各向异性)参数说明:
PERX/PERY/PERZ对应ε_xx/ε_yy/ε_zz。PZT-5的ε_zz(极化方向)通常低于ε_xx/ε_yy,故0.735e-8 < 0.811e-8。若三者全填相同值,谐响应中电-力耦合相位误差可达±30°,导纳实部虚部比例失调。
3. 轴对称模型构建:30度扇区建模不是“画个弧线就行”,关键在坐标系切换、节点旋转、体积粘接三步同步
弯曲式换能器虽为轴对称结构,但ANSYS无法直接处理360度全模型(计算量过大),常规做法是建30度或45度扇区并施加周期性边界条件。但该PDF案例采用更稳健的“旋转生成体”法:先在直角坐标系下建1/12圆柱截面(30度),再绕Z轴旋转生成三维体。此法避开了周期性约束的复杂设置,但引入三个强耦合步骤:坐标系切换、节点旋转、体积粘接。任一环节脱节,网格就会撕裂或约束失效。
3.1 坐标系切换必须在网格划分前完成:Global Cylindrical激活后,所有后续操作基于柱坐标
很多用户在Preprocessor阶段就执行/CSYS,1(激活柱坐标系),以为万事大吉。但ANSYS的坐标系是“操作上下文”,并非永久属性。当执行Mesh Volumes时,若未显式声明当前坐标系,网格生成仍按直角坐标系进行,导致节点坐标存储为(X,Y,Z)而非(R,θ,Z),后续施加UY约束(旋转方向)时,ANSYS会把Y轴方向误认为直角坐标Y,而非柱坐标θ。正确流程是:在完成所有几何建模(Keypoints/Lines/Areas)后、开始划分网格前,立即切换坐标系并保存:
! 在Preprocessor阶段,几何建模完成后执行: /CSYS,1 ! 激活全局柱坐标系(R,θ,Z) /ESHAPE,1 ! 打开单元形状显示,验证坐标系生效 ! 此时PlotCtrls->Style->Colors->Picked Item设为CYLINDRICAL,可见R/θ/Z轴标识逻辑说明:
/CSYS,1是ANSYS内置柱坐标系编号。执行后,所有新创建的实体(如Extrude生成的体)将自动关联此坐标系。但已有几何体(Keypoints)坐标不变,仅影响后续操作——这正是下一步“节点旋转”的存在意义。
3.2 节点旋转是强制同步动作:Mesh后必须执行Rotate Node CS,否则约束加载完全错位
即使坐标系已切为柱坐标,已生成的网格节点仍存储直角坐标值。若此时直接施加D,ALL,UY(固定θ方向),ANSYS会尝试将所有节点的Y坐标置零,导致模型坍塌。必须用NROTAT命令将节点坐标系批量旋转至当前活动坐标系:
! 在Mesh Volumes完成后执行: NSEL,S,LOC,Z,0,13.5e-3 ! 选择Z方向从0到13.5mm的所有节点(覆盖全模型) NROTAT,ALL ! 将选中节点的坐标系旋转至当前活动CS(即柱坐标系) ALLSEL,ALL ! 全选恢复参数说明:
NROTAT,ALL是核心命令,它不改变节点空间位置,只改变其坐标系描述方式。执行后,节点的UY自由度即对应柱坐标θ方向位移。若跳过此步,后续加载D,AREA,UY时,ANSYS会报错“no nodes selected in current CS”或施加到错误方向。该命令必须在Mesh之后、D加载之前执行,顺序不可逆。
3.3 体积粘接(Glue Volumes)是扇区模型的生存基础:不粘接则网格不连续,模态频率发散
30度扇区由多个面旋转生成后,相邻面之间存在微小间隙(浮点精度导致),若直接划分网格,两个体积的接触面节点不共享,导致力无法传递,模态分析中出现虚假高频振型。必须用布尔操作粘接:
! 在Extrude生成所有体后执行: VSEL,S, , ,1,3 ! 选择体积1到3(金属壳、陶瓷、铝底) VGLUE,ALL ! 粘接所有选中体积 ALLSEL,ALL ! 全选恢复逻辑说明:
VGLUE命令会自动合并距离小于容差(默认1e-6)的节点,确保接触面节点ID一致。若用VMERGE(合并关键点)替代,可能因几何不精确导致失败;若跳过此步,Mesh后检查*GET,nnodes,NODE,0,COUNT会发现节点数异常增多(因接触面重复节点),模态求解器收敛困难,前几阶频率偏差超15%。
4. 命令流(.lgw)工程化改造:从GUI录屏脚本到可参数化复用的生产级脚本,必须做四件事
GUI操作生成的.lgw文件是“过程日志”,不是“程序代码”。它包含大量冗余命令(如重复的/PREP7)、硬编码数值(K,1,0,0,0)、无意义注释(!@@@@@@@@@@@@@)。要让命令流真正可用,必须进行四步手术:变量提取、逻辑分块、容错注入、参数文档化。该PDF附带的docheqi.lgw正是这样改造后的产物。
4.1 变量提取:所有物理量必须声明为参数,禁用任何裸数字
原始.lgw中充斥K,1,0,0,0、K,2,0,0,0.5e-3等语句。改造后,所有尺寸、材料常数、网格控制均声明为参数,并在顶部集中管理:
! ======== STRUCTURAL PARAMETERS (SI units) ========== r1 = 10e-3 ! Ceramic radius (m) r2 = 17e-3 ! Aluminum shell inner radius (m) r3 = 20e-3 ! Aluminum shell outer radius (m) tj = 0.5e-3 ! Aluminum layer thickness (m) h = 10e-3 ! Cavity depth (m) ty = 0.5e-3 ! Piezo thickness (m) td = 3e-3 ! Shell bottom thickness (m) theta = 30 ! Sector angle (degree) ! ======== MATERIAL PARAMETERS ========== mat1dens = 2790 ! Aluminum density (kg/m3) mat1yang = 7.15e10 ! Aluminum Young's modulus (Pa) mat1person = 0.34 ! Aluminum Poisson's ratio mat2dens = 7750 ! PZT-5 density (kg/m3) c11 = 12.1e10 ! PZT-5 stiffness c11 (Pa) c12 = 7.54e10 ! c12 (Pa) c13 = 7.52e10 ! c13 (Pa) c33 = 11.1e10 ! c33 (Pa) c44 = 2.26e10 ! c44 (Pa) c55 = 2.11e10 ! c55 (Pa) c66 = 2.11e10 ! c66 (Pa) e13 = -5.4 ! PZT-5 piezo coefficient e13 (C/m2) e23 = -5.4 ! e23 (C/m2) e33 = 15.8 ! e33 (C/m2) fx = 0.811e-8 ! Permittivity ε_xx (F/m) fy = 0.811e-8 ! ε_yy (F/m) fz = 0.735e-8 ! ε_zz (F/m) ! ======== MESH CONTROL ========== tcbj = 4 ! Number of elements on ceramic radial edge lvbj = 4 ! Number of elements on aluminum radial edge bhow = 2 ! Elements on bottom height hudu = 10 ! Elements on sector arc dibj = 10 ! Elements on inner diameter dihow = 4 ! Elements on inner height shen = 8 ! Elements on shell depth ! ======== ELECTRIC LOAD ========== voltvalue = 1 ! Applied voltage (V)逻辑说明:参数名采用
前缀+物理量+单位格式(如r1表示radius1,tj表示thickness_jin),避免a1/b2等无意义命名。所有单位在注释中明确标注(SI制),消除歧义。theta=30直接用于VROTATE命令的角度参数,无需额外转换。
4.2 逻辑分块:用!=== BLOCK NAME ===分割功能区,禁止跨块调用变量
原始.lgw是线性流水账,改造后按ANSYS求解流程分为7大块,每块内聚、块间解耦:
!=== 1. PREPROCESSOR SETUP === /PREP7 /UNITS,SI /FILNAME,docheqi ! ... commands ... !=== 2. ELEMENT & MATERIAL DEFINITION === ET,1,SOLID45 ET,2,SOLID5 ! ... material definition ... !=== 3. GEOMETRY CREATION === ! Key points defined with r1,r2,r3... K,1,0,0,0 K,2,0,0,ty K,3,0,0,ty+tj K,4,r1,0,0 ! ... all keypoints using parameters ... !=== 4. MESH GENERATION === ! Line sizing controlled by tcbj, lvbj... LESIZE,ALL,,,tcbj ! ... mesh commands ... !=== 5. LOAD APPLICATION === ! Displacement constraints in cylindrical CS... D,AREA1,UY D,LINE1,UX ! Voltage on piezo top/bottom... DA,AREA_PIEZO_TOP,VOLT,voltvalue DA,AREA_PIEZO_BOT,VOLT,0 !=== 6. SOLUTION === /SOLU ANTYPE,MODAL MODOPT,LANB,8 SOLVE !=== 7. POSTPROCESSING === /POST1 SET,FIRST PLDISP,1参数说明:每块以
!===开头,块内命令只依赖本块或前序块定义的参数。例如GEOMETRY CREATION块中K,4,r1,0,0直接使用r1参数,无需在块内重新定义。块间通过参数传递,杜绝/INPUT跨文件调用,保证单文件可运行。
4.3 容错注入:在关键节点添加*IF判断和*MSG提示,防止静默失败
GUI脚本失败常无提示,命令流必须主动报错。在体积粘接、网格划分等易失败环节插入检查:
! After VGLUE command: *GET,nvol,VOLU,0,COUNT *IF,nvol,LT,1,THEN *MSG,ERROR,"Volume glue failed! Less than 1 volume detected." /EXIT *ENDIF ! After mesh generation: *GET,nnode,NODE,0,COUNT *GET,nelem,ELEM,0,COUNT *IF,nelem,LT,100,THEN *MSG,WARNING,"Mesh too coarse! Only %d elements generated.",nelem *ENDIF逻辑说明:
*GET获取实体数量,*IF判断阈值,*MSG输出定制化错误信息。若粘接后体积数<1,说明VGLUE未生效,立即/EXIT终止;若单元数<100,提示网格过粗可能影响精度。这些检查在GUI中无法实现,是命令流鲁棒性的核心。
5. 避坑:PZT-5压电分析中五个必踩的“玄学”坑,现象、原因、解决全写透
压电仿真最折磨人的不是不会做,而是做了却得不到合理结果,且错误难以定位。以下是该PDF案例调试过程中反复验证的五个高频坑,每个都附真实现象、底层原因和可执行解决方案。
5.1 现象:模态分析求解后,第一阶频率为0Hz,后续阶次全为零或NaN
原因:Z方向未施加位移约束,模型存在刚体位移自由度。ANSYS模态求解器将刚体运动识别为0Hz模态,若未正确约束,高阶模态也会因矩阵奇异而发散。
解决:在Loads阶段,除UY(θ方向)和UX(R方向)约束外,必须对Z方向施加至少一个点的位移约束。在弯曲式换能器中,可在铝壳底面中心点(KeyPoint 1)施加D,1,UZ:
! Add Z-constraint at center point D,1,UZ,0验证方法:求解前执行
/STATUS,SOLU查看约束统计,确认UZ被约束的节点数≥1。
5.2 现象:谐响应分析中,导纳曲线(Y=I/V)在共振峰处虚部为正(容性),而非预期的负(感性)
原因:压电常数e33符号错误。e33为正时,电压致伸长,机械系统呈容性;e33为负时,电压致缩短,系统呈感性。PZT-5标准极化方向下e33应为正,但该案例因电极定义(下0V/上1V)与极化方向相反,故e33需取负。
解决:检查TBMODIF,3,3,value命令,确保e33值与电极极性匹配。若电极定义为上0V/下1V,则e33应取正。
快速验证:在
/POST1中查看EPOT(电势)和UZ(Z向位移)云图,二者应呈负相关(电压升高,Z向位移减小)。
5.3 现象:命令流运行到VGLUE,ALL时报错“Boolean operation failed”,模型未粘接
原因:体积间存在微小间隙(>1e-6m)或重叠(<0),超出VGLUE默认容差。GUI建模时关键点坐标精度不足(如10e-3写成0.01)是主因。
解决:提高容差并显式指定粘接对象:
! Set tolerance to 1e-8 before glue VTOL,1e-8 VSEL,S,VOLU,,1,3 ! Select only volumes 1-3 VGLUE,ALL预防措施:所有关键点坐标统一用
e-3科学计数法(如10e-3),禁用0.01等小数,避免浮点误差累积。
5.4 现象:NROTAT,ALL执行后,D,AREA,UY加载失败,提示“no nodes found”
原因:NROTAT仅旋转已存在节点,若在Mesh前执行则无效;若Mesh后未ALLSEL,ALL,则选集为空。
解决:严格按顺序执行:
! Correct sequence: VMESH,ALL ! Generate mesh first ALLSEL,ALL ! Ensure all nodes selected NROTAT,ALL ! Then rotate node CS ALLSEL,ALL ! Re-select all D,AREA1,UY,0 ! Now apply constraint调试技巧:执行
NLIST查看节点列表,确认THETA列有值(非0),证明旋转成功。
5.5 现象:修改voltvalue=5后重运行,谐响应幅值未按比例增大,甚至饱和
原因:PZT-5材料在ANSYS中默认为线性材料,但实际存在介电非线性。当电压超过1V,ε值变化导致电容非线性,线性假设失效。
解决:对高压分析,必须启用非线性介电模型:
! Replace linear PERX with nonlinear table TB,PERA,2,1,2,0 ! Define permittivity table for material 2 TBTEMP,0 TBDATA,,0,1e6 ! Field=0V/m, ε=1e6 (dummy) TBDATA,,1e6,1e6 ! Field=1e6 V/m, ε=1e6 (use real data)务实建议:该案例工作电压1V,属线性区,保持
MPDATA,PERX即可;若需分析5V以上,必须查PZT-5非线性ε-E曲线并建表。
6. 进阶验证:用三组独立检查法交叉验证PZT-5模型有效性,避开“看起来对实则错”的幻觉
跑通命令流、看到模态动画,不等于模型正确。真正的验证必须跳出ANSYS界面,在物理层面交叉比对。我一般会强制走完以下三步检查,少一步都算没验证完。
6.1 物理量纲自洽检查:用*GET提取关键物理量,代入公式验算
ANSYS内部计算是黑匣子,但输出结果必须满足基本物理定律。以第一阶非零模态(4268.9Hz)为例,其应为陶瓷片的径向伸缩模态,理论固有频率可估算为:
f ≈ (1/2π) × √(E/ρ) / (2×t)
其中E=12.1e10 Pa, ρ=7750 kg/m³, t=ty=0.5e-3 m
计算得f ≈ 4320 Hz,与仿真值4268.9Hz误差仅1.2%,属合理范围。在命令流末尾加入验算段:
! Post-solution validation *GET,f1,MODE,1,FREQ ! Get 1st non-zero modal frequency *GET,E,MPDATA,2,EX,0 ! Get PZT-5 Young's modulus *GET,rho,MPDATA,2,DENS,0 ! Get density t = ty ! Thickness f_theory = (1/(2*3.1416)) * SQRT(E/rho) / (2*t) f_error = ABS(f1 - f_theory) / f_theory * 100 *MSG,INFO,"Theoretical freq: %f Hz, Simulated: %f Hz, Error: %f%%",f_theory,f1,f_error参数说明:
*GET从数据库提取值,SQRT开方,ABS取绝对值。若f_error > 5%,立即检查材料参数输入或几何尺寸。
6.2 电-力耦合强度检查:导纳实部与虚部比值必须落在PZT-5典型区间
压电换能器的机电耦合系数k₃₁ = √(Cₘ/Cₑ),其中Cₘ为机械电容,Cₑ为电气电容。PZT-5的k₃₁典型值为0.30~0.35。在谐响应中,导纳Y = G + jB,其相位角φ = arctan(B/G),而k₃₁ ≈ √(tanφ)。因此,若φ不在16°~19°(对应k₃₁=0.3~0.35),模型存疑。用APDL提取谐响应结果:
! After harmonic solve /POST26 NSOL,2,1,U,Z ! Store Z-displacement of node 1 RFORCE,3,1,F,Z ! Store Z-force on node 1 PRVAR,2,3 ! Print displacement and force ! Calculate k31 from phase *GET,phase,PRVAR,2,PHASE k31_calc = SQRT(TAN(phase*3.1416/180)) *MSG,INFO,"Calculated k31: %f (target 0.30-0.35)",k31_calc逻辑说明:
/POST26进入时间历程后处理器,NSOL/RFORCE提取位移和力,PRVAR输出相位。若k31_calc < 0.25,检查e33是否过小;若>0.4,检查c33是否过小或ε_zz是否过大。
6.3 网格无关性验证:用三套网格密度跑同一工况,结果偏差<3%
有限元结果必须随网格加密收敛。我固定用三套网格:粗(tcbj=2)、中(tcbj=4)、细(tcbj=8),其他参数不变,对比第一阶模态频率:
| 网格密度 | 单元数 | f₁ (Hz) | 相对于中网格偏差 |
|---|---|---|---|
| 粗 | 1,240 | 4185.2 | -2.0% |
| 中 | 4,890 | 4268.9 | — |
| 细 | 18,520 | 4281.7 | +0.3% |
执行脚本:在命令流中用
*DO循环修改tcbj:
*DO,i,1,3 *IF,i,EQ,1,THEN tcbj = 2 *ELSEIF,i,EQ,2,THEN tcbj = 4 *ELSE tcbj = 8 *ENDIF ! ... rest of mesh and solve ... *GET,freq_i,MODE,1,FREQ *VWRITE,freq_i (F10.3) *ENDDO若细网格与中网格偏差>3%,说明中网格不足,需继续加密;若粗网格偏差<1%,说明中网格已过剩,可降级提速。
从那以后我每次交付压电仿真报告,都会把这三组验证数据(理论频率误差、k₃₁值、网格收敛性)作为附件强制提交。不是为了显得专业,而是因为曾有一次,模态动画看着完美,但k₃₁算出来是0.12,追查发现是e33输成了e13——那个下午重跑了17遍命令流。希望帮到你。
本文还有配套的精品资源,点击获取