声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4065|回复: 10

[Virtual.Lab] ATV输出与读取问题

[复制链接]
发表于 2007-11-20 10:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
几个站友都问过这个问题,计算时几个细节如下:
1.间接边界元和直接边界元(单元类型)可以进行ATV分析,而直接边界元(节点类型)不能进行ATV分析;
2.计算ATV前必须设定场点,因为ATV的物理意义为单元单独振动时指定场点的声压响应,步骤见1,2;
3.输出ATV时,可以选择txt文件格式,读取程序如下(matlab)


%%%读取sysnoise生成的ATV文件,并转存
filename = ['D:\Sysnoise\unitsphere\ATV.txt'];   %%% Sysnoise输出的ATV文件
fid  = fopen(filename,'r');
if fid == -1,    disp('Invalid datafile');    return;  end
while 1,
    dataline1 = fgetl(fid);
    if ~ischar(dataline1),        fclose(fid);        break;     end;
    if isequal(dataline1, 'ATV              FREQUENCY          FIELD POINT'),        
        dataline1 = fgetl(fid);
        temp = str2num(dataline1);
        filename1 = ['C:\MATLAB6p5\work\unitsphere\ATV',num2str(temp(2)),'Hz.txt'];  %%% 转存的Mat文件
        fid1  = fopen(filename1,'w');
        for ii = 1:length(nodedata(:,1)),  
            dataline1 = fgetl(fid);  
            dataline2 = fgetl(fid);
            fprintf(fid1,'%s \n',[dataline1,'    ',dataline2]);            
        end
        fclose(fid1);  
    end        
end

%%%load读取指定频率的ATV矩阵,每个节点对应的ATV元素为:
sysnoiseATV = (ATV(:,3)+i*ATV(:,4)).*normvect(:,1)+(ATV(:,5)+i*ATV(:,6)).*normvect(:,2)+(ATV(:,7)+i*ATV(:,8)).*normvect(:,3);


其中normvect为[N,3]法向量矩阵,N表示节点总数。

111.JPG
222.JPG

点评

赞成: 5.0
赞成: 5
  发表于 2016-1-26 19:32

评分

2

查看全部评分

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2007-11-22 04:47 | 显示全部楼层
谢版主。
发表于 2007-11-22 04:57 | 显示全部楼层
还有几个疑问, 请教版主及dlchen同学
1。ATV的格式为(Xreal,Ximag,Yreal,Yimag,Zreal,Zimag),表面速度的格式为(Xreal,Ximag,Yreal,Yimag,Zreal,Zimag),那么如何得到声压?
2。版主为何要自己算出法向ATV和法向速度?
3。版主可曾在复杂一点的模型上(除简单的板子以外)验算过ATV的可靠性?
4。版主的接口程序最后一行没看懂,可否解释一下?
 楼主| 发表于 2007-11-22 09:26 | 显示全部楼层

回复 #3 ningxia 的帖子

1.sum(sysnoiseATV.*Vn);    其中sysnoiseATV为程序末给出的结果,Vn为每个节点法向振速。
2.计算法向ATV和法向速度的原因是由于我做的工作不是用sysnoise计算结果,只是作为参考结果而已,呵呵。
3.我验证过球的,其他复杂模型多数是没有解析解的,是无法验证的。但是可以这样说,除了局部不光滑区域,ATV的计算结果随着面元数的增大而提高。
4.实质上就是复ATV在法线方向的投影

点评

赞成: 4.0
赞成: 4
  发表于 2016-1-26 19:34

评分

1

查看全部评分

发表于 2007-11-27 18:01 | 显示全部楼层
斑竹已回答:)
发表于 2008-3-16 22:38 | 显示全部楼层
太感激您的分享 太好了 解决我的燃眉之急
发表于 2008-4-9 13:35 | 显示全部楼层
非常感谢
发表于 2012-6-14 10:44 | 显示全部楼层
请教一下版主,数组normvect是如何得到的呢?
发表于 2015-2-1 18:52 | 显示全部楼层
newshopping 发表于 2012-6-14 10:44
请教一下版主,数组normvect是如何得到的呢?

同问,麻烦版主有时间解释下,谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-13 15:43 , Processed in 0.110583 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表