声波模拟实验

最近用COMSOL按照网上视频做了一个实验,中间建模过程很复杂,花了不少时间。效果还是有的。最后,按照COMSOL自动输出PRESENTATION规则,得到英文版的PRESENTATION.pptx.将大部分内容粘贴出来。作为后期波场模参考。

Soundwei

Global Definitions

Parameters

Parameters 1
NameExpressionValueDescription
alpha28[deg]0.48869 rad
H10[mm]0.01 m
L16[mm]0.016 m
D14[mm]0.014 m
W_ts100[mm]0.1 m
H_ts15[mm]0.015 m
f01.5[MHz]1.5E6 Hz
T01/f06.6667E−7 s
cp_plast2080[m/s]2080 m/s
cs_plast1000[m/s]1000 m/s
cp_al6200[m/s]6200 m/s
cs_al3120[m/s]3120 m/s

Component 1

Definitions

Analytic 1

Function namef1
Function typeAnalytic

Analytic 1

Definition
DescriptionValue
Expressionexp(-((t - 2*T0)/(T0/2))^2)*sin(2*pi*f0*t)
Argumentst
Units
DescriptionValue
Functionm/s
Units
ArgumentUnit
ts

图1 汉宁窗函数子波

Identity Boundary Pair 1

Pair typeIdentity pair
Pair namep1

图2 一致对

Source selection

Destination selection

Geometry 1

Geometry 1

Units
Length unitm
Angular unitdeg
Geometry statistics
DescriptionValue
Space dimension2
Number of domains4
Number of boundaries25
Number of vertices28

Materials

Acrylic plastic

crylic plastic

Selection
Geometric entity levelDomain
SelectionGeometry geom1: Dimension 2: Domain 4
Material parameters
NameValueUnit
Density1190[kg/m^3]kg/m³
Young's modulus3.2e9[Pa]Pa
Poisson's ratio0.351

Aluminum [solid,bulk]

Aluminum [solid,bulk]

Selection
Geometric entity levelDomain
SelectionGeometry geom1: Dimension 2: Domains 1–3
Material parameters
NameValueUnit
Densityrho_solid_1(T)kg/m³
Young's modulusE(T)Pa
Poisson's rationu(T)1

Elastic Waves, Time Explicit

Elastic Waves, Time Explicit

Selection
Geometric entity levelDomain
SelectionGeometry geom1: Dimension 2: All domains

Equations

通过创建EQUATION VIEW节点,可以显示COMSOL物理场方程实际编程过程中内部使用的每个变量名字,以便直接对内存进行操作。这个直接显示并操作内存变量的功能非常重要。

Features

NameLevel
Elastic Waves, Time Explicit Model 1Domain
Free 1Boundary
Initial Values 1Domain
Continuity 1Boundary
Low-Reflecting Boundary 1Boundary
Prescribed Velocity 1Boundary

Mesh 1

Mesh 1

Mesh statistics
DescriptionValue
StatusMesh with unmeshed edges
Mesh vertices1924
Triangles3541
Edge elements327
Vertex elements20
Number of elements3541
Minimum element quality0.5926
Average element quality0.9224
Element area ratio0.036403
Mesh area0.001598 m²

Results

Datasets

Study 1/Solution 1

Solution
DescriptionValue
SolutionSolution 1
ComponentComponent 1 (comp1)

Dataset: Study 1/Solution 1

Plot Groups

Velocity Magnitude (elte)

Surface: Velocity magnitude (m/s)

Pressure (elte)

Surface: Pressure (Pa)

最后是调用COMSOL LIVE LINK WITH MATLAB

参考前面我写过的帖子,注意comsolstartup.m脚本中文件路径的双引号规则,不能是单引号。成功配置后,在MATLAB一连贯的输入如下:

1.调用模型 :weimod=mphload("路径\soundwei.mph");

我电脑上的路径weimod=mphload("C:\tunnel\FD\soundwei.mph");

2.插值定义好的检波点位置,得到地震记录。

weige=mphinterp(weimod,'comp1.vy','coord',[0.02:0.01:0.08;zeros(size(0.02:0.01:0.08))]);

3.显示记录

wiggle(weige)%wiggle是matsgy函数库中的函数

图3最终Matlab livelink插值得到的地震记录

重要说明:上面这些做完,不是为了科研,而是为了测试自己大脑是不是老化了。以上关键是能看懂网上视频,记下不明白的地方,然后思考。

最终,看到COMSOL还可以把做好的MODEL打包成APPBUILDER。因而,急忙做了一个。

主要是新建FORM->basic->添加一系列先要的参数,绘图区,和按钮。

这个最终的APP可以给其他人看,让别人观摩一下。谢谢关注!后面发现自己建立的模型存在一些瑕疵。上部楔形结构探头部件边界上边的编号存在两套编号23-25,另一套是18-20.

(a) 几何模型编号1

(b)速度加载时边24显示成另一个编号(左上角的19)

以上两个编号和边的方向可以在左侧树形结构图中通过创建视图(view)节点,然后定义属性菜单来实现。这个地方我思考良久,一开始很懵,总觉得速度波加载边界24是对的,后面觉悟了,对边24(几何边界,无网格)加子波源在软件中是not applicable的;而19(有网格,网格化之后的编号)是适合子波加载的,是可以被选择的。原因是,有限元积分依赖单元网格,子波需要加载到网格上或者网格对应的边上,否则COMSOL会提出警告,即是有些地方作用到几何边号上(与网格边号不一致),也会强行变为位置重合的网格边号上去。

另外总结一下,用DG-FEM可以处理两个部件的非一致网格大小情况。如下图:

DG-FEM两个部件的非一致网格问题

混合网格

1个重合边2个边号,imprints成多个独立的三角边

COMSOL dip-beam demo中的非一致带悬挂点的网格

由于这里采用DG-FEM,模型构建最后一步需要使用装配体而不是联合体。装配体里面可以指定保留一致对和脚印之类的。装配体允许两个相邻单元边界不共享节点,相邻单元同一条边的场是不连续的,所以后续需要一致对连续性处理。而联合体必须共享边和节点,场必须默认连续。装配体还允许公共边或者某些多次处理用的边有2个边号出现,而联合体貌似一条边只能一个边号出现。这也解释了前面图(b)的一条边对应两个边号的问题。

探头和铝板接触部分的边是17和7需要在component中定义出一致对,然后在弹性波complie中需要将这个一致对定义为continuity(场的连续性)条件(这里我想到了SEISSOL2D软件有个non-conforming-102边界,其作用与此类似)。所以对于这个模型,COMSOL适合这个模式的处理:

Assembly + Identity Pairs  + Continuity       

由于模拟采用DG-FEM,速度在网格边界上不连续(单元边界点自由度翻倍了),COMSOL提供一个nonlocal coupling-average 功能,可以从24或19所在边作为source,采用nonlocal coupling operator为 average integration之类的算子,以全局几何模型为distination进行逐个运算,可以得到连续的速度场,以便后处理显示。 其它间断有限元后处理软件,很少有逐个单元显示出边界间断波场的情况,即使有,也需要笔者自己开发相应模块。比如TECPLOT都没有这种功能。所以对于间断有限元DG-FEM后处理,需要nonlocal coupling operator。这个用SEISSOL(ADER-DG)处理平台时,最后的显示处理,也需要多个单元节点速度和应力场的average。但其它连续有限元方法应该不需要这个non-local coupling算子。该算子的具体情况参考网址[1].【1】https://doc.comsol.com/5.5/doc/com.comsol.help.comsol/comsol_ref_definitions.12.069.html

【2】Assembly (Identity Pairs + Continuity) and Compose Geometry (/Union): Do they represent the same problem?

如你有其它问题需要沟通请以书面方式联系:weiyiwen1982@126.com

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weiyiwen1982

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值