很长时间没有继续做这个问题,在忙别的事,现在把我看到的得到的一些结论说一下,算是解决这个问题吧
![[呵呵]](/static/emoticons/u5475u5475.png)
其实声波在时域的数值仿真,在Mathematica的帮助中已经讲的很详细了(请参考帮助文档“Acoustics in the Frequency Domain”),其中介绍了各种边界条件,包括DirichletCondition,NeumannValue和PeriodicBoundaryCondition,这里我只用到了前两种,更具体点说,更改边界条件只用到了NeumannValue
声场边界条件(大致上)包括硬声场边界条件、辐射边界条件、压力源边界条件、吸收边界条件、阻抗边界条件。但是这些边界条件相互之间有关系,比如,在文档给出的例子中,我所考虑的辐射边界条件实际上是压力源边界条件和吸收边界条件的结合,因为考虑实际情况,有向内辐射声波的边界,那么在这个边界上有声波入射时,一定不会是完全再反射回来(也就是硬声场边界的情况)。
那么,如果硬要改成先辐射,然后再切换成硬声场边界条件,只需要去掉其中的吸收边界条件项,只用压力源边界条件即可。
最后附上一张简单的仿真图,


这是一维的仿真,左端为压力源边界,右端为硬边界,绘制出右端边界处的波形图如上图,可以看到,在无损传播的情况下,从压力源发出的一个脉冲不停地在其中来回传播
这个边界切换问题有点脱离实际,不过也算是得到了解决,对我来讲已经够用了。
对于更一般的边界切换,比如从硬边界切换到辐射边界,好像没法通过上面这种方法处理,这样的情况,嗯...有缘再想吧