APP下载

基于ANSYS二次开发的水声换能器参数反演软件设计

2019-05-14李涛耿鹏飞原晓娟田杜养

数字技术与应用 2019年2期

李涛 耿鹏飞 原晓娟 田杜养

摘要:设计了软件的主要工作流程和功能,研究了VS与ANSYS的接口技术、ANSYS宏封装技术,实现了ANSYS二次开发;通过弦截法完成了仿真声场与实测声场的匹配,实现了水声换能器参数反演功能,为水声换能器的设计与测试提供了理论依据与技术支持。

关键词:ANSYS二次开发;弦截法;水声换能器;参数反演

中图分类号:TB559 文献标识码:A 文章编号:1007-9416(2019)02-0171-03

0 引言

水声换能器研究涉及材料、电子、结构、机械等综合领域。国内外分别从功能材料、几何机构、制作工艺等方面进行研究,以期提高换能器的性能[1]。但是水声换能器的研制工艺复杂,建模难度大,分析数据量不足,而且在进行声场仿真时,有限元分析软件ANSYS [2]的熟练掌握也需要长时间的摸索。

在水声换能器的研制中由于制备工艺、测试技术等问题,会导致其仿真声场与实测声场存在差异。本文以ANSYS的二次开发为基础[3-4],设计了一种换能器参数反演软件,给定的水声换能器的实测声场为匹配目标,通过迭代算法的应用,不断调整换能器的相关参数,使仿真声场在一定误差范围内与实测声场相匹配[5],分析水声换能器各个部件参数与实测声场之间的内在关联,以便为水声换能器及基阵的研制提供支持。

1 软件设计

软件将ANSYS的APDL和VS结合起来,利用前者参数化设计和后者友好交互界面的特点,共同进行ANSYS的二次开发。软件以给定的水声换能器的实测声场参数为匹配目标,通过迭代算法不断调整换能器自身的相关参数,达到仿真声场在一定误差范围内与实测声场相匹配的目的。

1.1 工作流程

水声换能器参数反演软件的工作流程如图1所示,具体的流程如下:

数据输入:通过软件数据输入窗口,人工输入或自动导入有关水声换能器的几何参数、材料参数及实测声场等数据。

实体建模:根据数据输入所提供的参数,调用有限元软件建立水声换能器的三维实体模型,并进行网格划分。

误差设置:根据操作人员的需求,设置实测声场与仿真声场之间的误差值,用以控制迭代算法的收敛范围。

数据仿真:根据所建立的模型,软件与有限元软件进行通讯,自动调用有限元软件完成相应的数据仿真工作,并将相关数据存储于数据库中。

性能分析:软件通过相应的算法将实测数据与仿真数据进行对比,根据误差范围,确定收敛与否,并将对比结果存储于数据库中。

结果输出:软件通过数据表格、曲线及动画等形式将对比数据输出,以供操作人员参考。

1.2 模块设计

根据软件的主要功能及需求,所设计的模块主要包括:

数据接口模块:该模块主要与数据库、ANSYS软件及EXCEL软件进行通信,通过数据接口可以访问数据库,提取相应的有限元模型与计算结果等,为参数的反演提供初始数据。

参数设置模块:该模块从数据库中读取(人工输入)各部件的几何尺寸和材料参数,并调用有限元程序完成换能器的3D实体建模和网格划分。

误差设置模块:该模块主要用于实测声场与仿真声场匹配时的误差控制,以调整匹配时的精度。

分析求解模塊:该模块自动加载换能器的工作条件,经选定求解环境后(空气中、水中),可进行模态分析(振型、谐振频率计算),据此确定分析的频率范围并进行谐响应分析(导纳计算、发射电压响应计算)。

结果显示模块:该模块以曲线、动画等形式显示换能器的分析结果,能与实测数据进行对比并将计算结果、动画以及对比结果以图、表等形式输出。

根据软件的功能模块,设计了软件的功能按钮(如图2所示),各功能按钮以树状图的形式呈现,共分为三级菜单,每一级菜单对应不同的功能。

2 功能实现

2.1 VS与ANSYS的接口

实际应用中,Visual Studio调用的是ANSYS的APDL宏文件,具体实现的关键技术是VS如何调用ANSYS的APDL宏文件。本软件将多个换能器的各种分析一次性进行完毕,无需人为进行较为繁琐的操作,在程序设计方面考虑将两软件的接口设计为子函数形式,后台每进行一次分析调用即可,减少无意义的代码量。子函数部分代码如下所示:

//全局函数

int CTASApp::f(char *y1, CString y2) //全局函数定义

{ char y4[200];

strcpy(y4, y1);

char* str2 = (LPSTR)y4;

char y3[200];

strcpy(y3, "-p ane3flds -j file14 -s read -l en-us -b -i ");

strcat(y3, y1);strcat(y3, y2);strcat(y3, ".txt  -o ");

strcat(y3, y1);strcat(y3, y2);strcat(y3, "_out.txt");

char* str1 = (LPSTR)y3;

CString cmdline(str1);

CStringm_FluentDir("C:\\ProgramFiles\\ANSYS Inc\\v145\\ansys\\bin\\winx64\\ANSYS145.exe");

此全局函数需要两个输入参数,一个是APDL文件所在的文件夹,一个是APDL文件的文件名。通过读取该APDL文件获得换能器的参数和分析指令,接下来后台调用ANSYS软件进行指令执行,执行结束后可以得到ANSYS软件生成的各类结果文件。此全局函数中包括了ANSYS的exe文件所在路径,路径发生更改时需要及时对其更改,否则将无法调用ANSYS软件进行分析。

2.2 ANSYS宏的封装

利用VS软件对ANSYS软件进行后台时需要读写APDL语言进行操作,因此将APDL宏封装在VS软件可读的文件中是很有必要的,以下是VS语言对APDL宏的封装过程。

根据现有的分析类别新建一个txt类型的文件用于存储APDL宏。ANSYS分析软件在对换能器进行分析时,首先需要将换能器参数输入,接下来需要进行一系列的操作才可以得到分析结果。与此相对应,将APDL语言分为数据部分和指令部分两大模块,这两个模块都需要存储在APDL宏文件中。在进行相应的分析类型时,分别将换能器的各个参数与对应的变量名相对应,并写入APDL宏文件数据部分和指令部分两大模块中去。部分代码如下:

CString filename, s, str_analy, test;

double number;

char strnum[500];

char y1[200], y2[200], y3[200];

char yair[200], ywater[200], ysvl[200];

char *str;

int i;

str_analy.Format(_T("%d"), analy_num + 1);//将分析序号转化为字符串

2.3 参数迭代算法

软件在进行参数迭代时,选用的是弦截法。弦截法是一种不必进行导数运算的求根方法,在计算机编程中常用。为避免计算函数的导数f(xk),使用(f(xk)-f(x(k-1)))/((xk-x(k-1)))来替代牛顿公式中的导数f(xk),便得到迭代公式:

xk+1=xk-(xk-xk-1)  (k=1,2,…)

弦截法的思路为:任取两个数x0、x1,求得对应的函数值f(x0)、f(x1)。如果两函数值同号,则重新取数,直到这两个函数值异号为止。连接(x0,f(x0))与(x1,f(x1))这两点形成的直线与x轴相交于一点x2,求得对应的f(x2),判断其与f(x0)、f(x1)中的哪个值同号。如f(x2)与f(x0)同号,则f(x2)为新的f(x0),将新的f(x0)与f(x1)连接,如此循环(如图3所示)。弦截法在迭代过程中不仅用到前一步xk的函数值,而且还使用x(k-1)处的函数值来构造迭代函数,这样做能够提高迭代的收敛速度。

3 仿真计算

打开软件进入计算分析界面(图4),点击菜单栏中的开始按钮,并选择换能器基本参数导入中的自动导入。EXCEL文件中的数据为发射电压相应曲线(以表1所示的发射电压响应为匹配目标),数据导入成功后,界面中的信息提示区将会显示该EXCEL文件的文件名和存储路径和相应的进度提示信息。

数据导入成功后,进行分析参数设置,将分析的中的模态扩展阶数设为20,频率范围为11kHz—20kHz,步长为1kHz,并将此次需要调整的参数设置为换能器的前辐射头密度,点击“开始分析”按钮,软件将自动完成分析并将结果显示在软件界面中(如图5所示)。通过软件界面中的“振形图阶数”按钮也可显示在各个振动模态下的振速分布云纹图及形变图。

4 结语

本文针对水声换能器制备与测试过程中的声场匹配及参数反演等问题,利用VS完成了对ANSYS的二次开发,设计并实现了一种水声换能器参数反演软件。在以换能器某个参数为考察对象的前提下,通过该软件在一定误差范围内可快速地完成仿真声场与实测声场之间的匹配,并给出换能器参数的最佳值。软件界面友好、性能可靠,為水声换能器的设计与测试提供了理论依据和技术支持。

参考文献

[1] 代伟.基于有限元仿真的水声换能器声学性能研究[J].舰船电子工程,2018,38(8):170-172.

[2] 周瑜,涂其捷,杨荣耀,唐建生.压电水声换能器宽带匹配特性研究[J].声学技术,2018,37(3):286-281.

[3] 汪建新,郑小伟,吴启明.基于VB W型辐射管参数化建模与仿真的ANSYS二次开发[J].农业开发与装备,2014(2):58-59.

[4] 西宇.基于弦截法的NURBS曲线插补参数计算[J].自动化与仪器仪表,2018,186(4):191-193.

Design of Parameter Inversion Software Based on ANSYS Secondary Development for Underwater Acoustic Transducer

LI Tao,GENG Peng-fei,YUAN Xiao-juan,TIAN Du-yang

(CSIC Xian Dong Yi Science Technology & Industry Group Co., Ltd., Xian Shaanxi  710072)

Abstract:The work flow and functions of the software are designed, and the secondary development of ANSYS is realized by research of the interface technology between VS and ANSYS and the macro encapsulation technology of ANSYS. The matching of simulated sound field and measured sound field is completed by chord truncation method, and the parameter inversion function of underwater acoustic transducer is realized, which provides theoretical basis and technical support for the design and test of underwater acoustic transducer.

Key words:the secondary development of ANSYS;chord truncation method;acoustic underwater transducer;parameter inversion