0
|
5759 Views
|
2 Replies
|
0 Total Likes
View groups...
Share
GROUPS:

# 1-dim acoustic wave equation in layered media

Posted 10 years ago
 Hi, Wolfram mathgroup. I am trying to simulate the acoustic wave propagation to different media in one dimension, but it does not work. The initial pulse starts in layer 1 and this pulse propagates to the layer 2. For this, I used the interface condition between two layers as follows: i) continuity in pressure. ii) continuity in velocity. To see how the acoustic pulse is transmitted into layer 2, I think that two acoustic wave equation should be set in each layer and be solved independently. I am not sure about this. Is there anyone who can help me, please ? Thank you in advance. Here is the code. Attachments:
2 Replies
Sort By:
Posted 10 years ago
 Hi PolarI can't see the code, however you do not have to solve two wave equations separately. There is only one solution in each layer. The solution is made of one downward wave and an upward wave. In each layer you have to find, from boundary conditions, just two coefficients. If the layer two is semi-infinity it will not have upward solution because there is no reflection, so you have to find just one coefficient.
Posted 10 years ago
 Sorry for the inconvenience.Here is the code. Of you can download the attachments Thank you for the help. Really. Remove["Global*"]; L=10.0;T=3.0; (* L : boundary, T : time *) \[Rho]1=5;\[Rho]2=4; (* mass density of each layer *) v1=5;v2=4; (* speed of sound of each layer *) (* For interface conditions, Pressure : \[Rho]1 v1^2 (D[u1[x,t],x]/.x->0)== \[Rho]2 v2^2 (D[u2[x,t],x]/.x->0), Velocity : (D[u1[x,t],t]/.x->0)==(D[u2[x,t],t]/.x->0) *) Sol=NDSolve[{D[u1[x,t],t,t]== v1^2 D[u1[x,t],x,x],D[u2[x,t],t,t]== v2^2 D[u2[x,t],x,x],(D[u1[x,t],x]/.x->L)==0,(D[u2[x,t],x]/.x->-L)==0,\[Rho]1 v1^2 (D[u1[x,t],x]/.x->0)== \[Rho]2 v2^2 (D[u2[x,t],x]/.x->0),(D[u1[x,t],t]/.x->0)==(D[u2[x,t],t]/.x->0),(D[u1[x,t],t]/.t->-1)==0,(D[u2[x,t],t]/.t->-1)==0,u1[x,-1]==Exp[-20 (x-L/2)^2],u2[x,-1]==0},{u1,u2},{x,-L,L},{t,-1,T},MaxSteps->Infinity,Method->{"MethodOfLines","SpatialDiscretization"->{"TensorProductGrid"}}][[1]] Plot3D[u1[x,t]/.Sol,{x,-L,L},{t,-1,T},PlotRange->All] `