PDF

Isotropic-Anisotropic Sample:
Elastic Wave Propagation
Introduction
This tutorial shows how to use the Elastic Waves, Time Explicit physics interface to model the propagation of elastic waves in heterogeneous anisotropic linear elastic media. The case where the material properties differ from one subdomain to another requires an special handling. Namely, the Material Discontinuity interior boundary condition (or the Continuity pair condition for assemblies) is to be explicitly imposed upon the interface between such subdomains.
In addition, the model demonstrates how to retrieve the displacements at the points of interest from the solution that contains the structural velocity and the strain.
Model Definition
A two-dimensional space is occupied by two linear elastic materials: an anisotropic material to the left of the axis x = 0 and an isotropic material to the right. The material properties are given in Table 1 (kg/m3 for the density and 1010 Pa for the stiffness). The other material parameters are c33 = c22, c13 = c23 = c12, and c44 = c55 = c66.
ρ
c11
c12
c22
c66
The elastic waves are excited by a point force applied in the y direction at the point
x0 = −2 cm, y0 = 0 cm. The source distribution in time is given by a Ricker (also known as Mexican hat) wavelet depicted in Figure 1. It has the dominant frequency f0 = 170 kHz, the time delay t0 = μs, and the amplitude of 1013 N.
The elastic 2D space is modeled as a square with the side length of 2L, L = 20 cm and the center located at (0, 0). The subdomains with the anisotropic and the isotropic properties lie to the left and to the right of the line x = 0, respectively. Four listening points are put to record the seismograms (displacement at points) at the coordinates (10.5 cm, 8 cm), (3.5 cm, 8 cm), (1.0 cm, 8 cm), and (10.5 cm, 8 cm). The model geometry layout is shown in Figure 2.
The propagation of the elastic waves in infinite space is modeled by imposing the Absorbing Layers from all four sides of the square. Combined with the Low-Reflecting Boundary condition that is imposed upon the outer boundary of the square, the Absorbing Layers ensure the reduction of the spuriously reflected waves in the physical domain.
Figure 1: A Ricker wavelet that defines the source distribution in time.
The Elastic Waves, Time Explicit interface solves for the structural velocity and the strain. The displacements can be retrieved from the velocities by solving the corresponding ordinary differential equation
In this model, this ODE is only solved at the probe points.
Figure 2: Model geometry layout.
Results and Discussion
Figure 3 shows the quantitative evolution of the waves propagating from the source at t = 30, 60, and 90 μs. One can see the round profiles of the longitudinal and the shear waves in the isotropic material on the right side. At the same time, the quasilongitudinal and the quasishear waves in the anisotropic material on the right side have the elliptic and the conical profiles, respectively. Note that the absorbing layer domains are not shown in Figure 3.
Figure 4 shows the profiles of the vertical displacement (seismograms) retrieved from the computed velocities at the probe points. The results have a good agreement in their shapes with those given in Ref. 1.
Figure 3: Velocity magnitude profiles at 30, 60, and 90 μs.
Figure 4: Seismograms at the probe points.
Notes About the COMSOL Implementation
The force load at the point (x0, y0) is modeled as a Body Load with a Total force applied to the physical domain. In theory, the load applied on the domain level must have proportional to the Dirac delta to be equivalent to a point load. That is,
One of the Dirac delta representations reads
This fact is used to approximate the point source by a domain source that has the form of a product of the temporal part and the spatial part. Here, the former is the Ricker wavelet depicted in Figure 1 and the latter is a Gaussian pulse with a relatively small extent a.
The default approximation order used in the Elastic Wave, Time Explicit interface is quartic. In this case, the maximum mesh element size that resolves the minimum wavelength λmin must not exceed λmin/1.5. The minimum wavelength is defined by the frequency content of the source, which is the Ricker wavelet here. Its frequency domain representation reads
where f0 is the dominant frequency. Although the upper cutoff frequency of the wavelet is 3f0, λmin is chosen to correspond to 2f0 in this model. This is a compromise that on one hand accounts for the greatest part of the source energy, and on the other hand does not result in a too fine mesh that would slow down the simulation and tremendously increase the model file size.
Reference
1. J. de la Puente, M. Käser, M. Dumbser and H. Igel, “An arbitrary high-order discontinuous Galerkin method for elastic waves on unstructured meshes – IV. Anisotropy”, Geophys. J. Int., vol. 169, issue 3, 2007.
Application Library path: Acoustics_Module/Elastic_Waves/isotropic_anisotropic_sample
Modeling Instructions
From the File menu, choose New.
New
In the New window, click  Model Wizard.
Model Wizard
1
In the Model Wizard window, click  2D.
2
In the Select Physics tree, select Acoustics>Elastic Waves>Elastic Waves, Time Explicit (elte).
3
Click Add.
4
Click  Study.
5
In the Select Study tree, select General Studies>Time Dependent.
6
Global Definitions
Parameters 1
1
In the Model Builder window, under Global Definitions click Parameters 1.
2
In the Settings window for Parameters, locate the Parameters section.
3
Click  Load from File.
4
Create the source time function given by a Ricker wavelet.
Definitions
Analytic 1 (an1)
1
In the Home toolbar, click  Functions and choose Local>Analytic.
2
In the Settings window for Analytic, type A in the Function name text field.
3
Locate the Definition section. In the Expression text field, type (1 - 2*pi^2*f0^2*(t - t0)^2)*exp(-pi^2*f0^2*(t - t0)^2).
4
In the Arguments text field, type t.
5
Locate the Units section. In the Arguments text field, type s.
6
In the Function text field, type N.
7
Locate the Plot Parameters section. In the table, enter the following settings:
8
Click  Create Plot.
The signal should look like the one in Figure 1.
Results
Impulse Frequency Content
1
In the Settings window for 1D Plot Group, type Impulse Frequency Content in the Label text field.
2
Click to expand the Title section. In the Title text area, type FFT of G (Pa).
3
Locate the Plot Settings section. Select the y-axis label check box.
4
Function 1
1
In the Model Builder window, expand the Impulse Frequency Content node, then click Function 1.
2
In the Settings window for Function, locate the Output section.
3
From the Display list, choose Frequency spectrum.
4
In the Impulse Frequency Content toolbar, click  Plot.
5
Select the Frequency range check box.
6
In the Maximum text field, type 1000000.
7
In the Impulse Frequency Content toolbar, click  Plot.
The Fourier transformation of the signal should look like this. The plot indicates that the mesh should resolve frequency content up to 400 to 500 kHz.
Now, create a two-dimensional Gaussian function that will be used to approximate the Dirac delta at (x0,y0).
Definitions
Analytic 2 (an2)
1
In the Home toolbar, click  Functions and choose Local>Analytic.
2
In the Settings window for Analytic, type G in the Function name text field.
3
Locate the Definition section. In the Expression text field, type 1/(pi*dS)*exp(-((x - x0)^2 + (y - y0)^2)/dS).
4
In the Arguments text field, type x, y.
5
Locate the Units section. In the Arguments text field, type m.
6
In the Function text field, type 1.
7
Locate the Plot Parameters section. In the table, enter the following settings:
8
Geometry 1
Square 1 (sq1)
1
In the Geometry toolbar, click  Square.
2
In the Settings window for Square, locate the Size section.
3
In the Side length text field, type 2*L.
4
Locate the Position section. From the Base list, choose Center.
5
Click to expand the Layers section. Select the Layers to the left check box.
6
7
Select the Layers to the right check box.
8
Select the Layers on top check box.
Create a line segment that separates the subdomains with isotropic and anisotropic materials.
Line Segment 1 (ls1)
1
In the Geometry toolbar, click  More Primitives and choose Line Segment.
2
In the Settings window for Line Segment, locate the Starting Point section.
3
From the Specify list, choose Coordinates.
4
In the y text field, type -L.
5
Locate the Endpoint section. From the Specify list, choose Coordinates.
6
In the y text field, type L.
Create four probe points for calculating the seismograms.
Point 1 (pt1)
1
In the Geometry toolbar, click  Point.
2
In the Settings window for Point, locate the Point section.
3
In the x text field, type -10.5[cm] -3.5[cm] -1[cm] 10.5[cm].
4
In the y text field, type -8[cm] -8[cm] -8[cm] -8[cm].
5
Click  Build All Objects.
The geometry should look like the one in Figure 2.
Definitions
In the next steps, create Integration operators that will be used to probe the displacement at the probe points.
Integration 1 (intop1)
1
In the Definitions toolbar, click  Nonlocal Couplings and choose Integration.
2
In the Settings window for Integration, locate the Source Selection section.
3
From the Geometric entity level list, choose Point.
4
Integration 2 (intop2)
1
Right-click Integration 1 (intop1) and choose Duplicate.
2
In the Settings window for Integration, locate the Source Selection section.
3
Click  Clear Selection.
4
Integration 3 (intop3)
1
Right-click Integration 2 (intop2) and choose Duplicate.
2
In the Settings window for Integration, locate the Source Selection section.
3
Click  Clear Selection.
4
Integration 4 (intop4)
1
Right-click Integration 3 (intop3) and choose Duplicate.
2
In the Settings window for Integration, locate the Source Selection section.
3
Click  Clear Selection.
4
Define a Global Variable Probe for each of the probe points. These probes will use the integration operators defined previously to measure uy, a variable that will be defined through an ODE that integrates the vertical velocity to obtain the vertical displacement.
Global Variable Probe 1 (var1)
1
In the Definitions toolbar, click  Probes and choose Global Variable Probe.
2
In the Settings window for Global Variable Probe, locate the Expression section.
3
In the Expression text field, type intop1(uy).
4
Select the Description check box.
5
In the associated text field, type y displacement in (-10.5 cm, -8 cm) (m).
Global Variable Probe 2 (var2)
1
Right-click Global Variable Probe 1 (var1) and choose Duplicate.
2
In the Settings window for Global Variable Probe, locate the Expression section.
3
In the Expression text field, type intop2(uy).
4
In the Description text field, type y displacement in (-3.5 cm, -8 cm) (m).
Global Variable Probe 3 (var3)
1
Right-click Global Variable Probe 2 (var2) and choose Duplicate.
2
In the Settings window for Global Variable Probe, locate the Expression section.
3
In the Expression text field, type intop3(uy).
4
In the Description text field, type y displacement in (-1 cm, -8 cm) (m).
Global Variable Probe 4 (var4)
1
Right-click Global Variable Probe 3 (var3) and choose Duplicate.
2
In the Settings window for Global Variable Probe, locate the Expression section.
3
In the Expression text field, type intop4(uy).
4
In the Description text field, type y displacement in (10.5 cm, -8 cm) (m).
Create groups to facilitate the navigation through the model.
Global Variable Probe 1 (var1), Global Variable Probe 2 (var2), Global Variable Probe 3 (var3), Global Variable Probe 4 (var4)
1
In the Model Builder window, under Component 1 (comp1)>Definitions, Ctrl-click to select Global Variable Probe 1 (var1), Global Variable Probe 2 (var2), Global Variable Probe 3 (var3), and Global Variable Probe 4 (var4).
2
Global Probes
In the Settings window for Group, type Global Probes in the Label text field.
Integration 1 (intop1), Integration 2 (intop2), Integration 3 (intop3), Integration 4 (intop4)
1
In the Model Builder window, under Component 1 (comp1)>Definitions, Ctrl-click to select Integration 1 (intop1), Integration 2 (intop2), Integration 3 (intop3), and Integration 4 (intop4).
2
Integration Operators for the Probes
In the Settings window for Group, type Integration Operators for the Probes in the Label text field.
Probe Points
1
In the Definitions toolbar, click  Explicit.
2
In the Settings window for Explicit, locate the Input Entities section.
3
From the Geometric entity level list, choose Point.
4
5
In the Label text field, type Probe Points.
Now, set up the absorbing layers (sponge layers) used to truncate the computational domain.
Absorbing Layer 1 (ab1)
1
In the Definitions toolbar, click  Absorbing Layer.
2
Setting up the materials is simpler if the correct material model is selected in the physics. Here we want to use an anisotropic material.
Elastic Waves, Time Explicit (elte)
Elastic Waves, Time Explicit Model 1
1
In the Model Builder window, under Component 1 (comp1)>Elastic Waves, Time Explicit (elte) click Elastic Waves, Time Explicit Model 1.
2
In the Settings window for Elastic Waves, Time Explicit Model, locate the Linear Elastic Material section.
3
From the Solid model list, choose Anisotropic.
Materials
Material Isotropic
1
In the Model Builder window, under Component 1 (comp1) right-click Materials and choose Blank Material.
2
In the Settings window for Material, type Material Isotropic in the Label text field.
3
4
Locate the Material Contents section. In the table, enter the following settings:
Material Anisotropic
1
Right-click Materials and choose Blank Material.
2
In the Settings window for Material, type Material Anisotropic in the Label text field.
3
4
Locate the Material Contents section. In the table, enter the following settings:
Elastic Waves, Time Explicit (elte)
Define the force load acting at point (x0,y0) in the y direction.
Body Load 1
1
In the Physics toolbar, click  Domains and choose Body Load.
2
3
In the Settings window for Body Load, locate the Force section.
4
From the Load type list, choose Total force.
5
Specify the Ftot vector as
Low-Reflecting Boundary 1
1
In the Physics toolbar, click  Boundaries and choose Low-Reflecting Boundary.
2
Impose the Material Discontinuity boundary condition upon the interface between the isotropic and anisotropic parts of the computational domain.
Material Discontinuity 1
1
In the Physics toolbar, click  Boundaries and choose Material Discontinuity.
2
Next, add an auxiliary ODE to retrieve the displacements from the velocities computed in the previous study. Here, we will be interested in the y-components of the corresponding vector fields only.
Add Physics
1
In the Physics toolbar, click  Add Physics to open the Add Physics window.
2
Go to the Add Physics window.
3
In the tree, select Mathematics>ODE and DAE Interfaces>Point ODEs and DAEs (pode).
4
Click Add to Selection in the window toolbar.
5
In the Physics toolbar, click  Add Physics to close the Add Physics window.
Point ODEs and DAEs (pode)
1
In the Settings window for Point ODEs and DAEs, locate the Point Selection section.
2
From the Selection list, choose Probe Points.
3
Locate the Units section. Click  Select Dependent Variable Quantity.
4
In the Physical Quantity dialog box, type displacement in the text field.
5
Click  Filter.
6
In the tree, select General>Displacement (m).
7
8
In the Settings window for Point ODEs and DAEs, locate the Units section.
9
Click  Select Source Term Quantity.
10
In the Physical Quantity dialog box, type velocity in the text field.
11
Click  Filter.
12
In the tree, select General>Velocity (m/s).
13
14
In the Settings window for Point ODEs and DAEs, click to expand the Dependent Variables section.
15
In the Field name text field, type uy.
16
In the Dependent variables table, enter the following settings:
Distributed ODE 1
1
In the Model Builder window, under Component 1 (comp1)>Point ODEs and DAEs (pode) click Distributed ODE 1.
2
In the Settings window for Distributed ODE, locate the Source Term section.
3
In the f text field, type vy.
Mesh 1
Use a mapped mesh and convert it to triangles. This will generate a uniform mesh adequate for time-explicit simulations.
Mapped 1
In the Mesh toolbar, click  Mapped.
Convert 1
In the Mesh toolbar, click  Modify and choose Elements>Convert.
Size
1
In the Model Builder window, click Size.
2
In the Settings window for Size, locate the Element Size section.
3
Click the Custom button.
4
Locate the Element Size Parameters section. In the Maximum element size text field, type cs_an/(2*f0)/1.5.
5
Click  Build All.
Study 1 - ELTE (store full solution)
1
In the Model Builder window, click Study 1.
2
In the Settings window for Study, type Study 1 - ELTE (store full solution) in the Label text field.
Step 1: Time Dependent
1
In the Model Builder window, under Study 1 - ELTE (store full solution) click Step 1: Time Dependent.
2
In the Settings window for Time Dependent, locate the Study Settings section.
3
From the Time unit list, choose µs.
4
In the Output times text field, type range(0, 30[us], 90[us]).
This setting saves the solution at 30, 60, and 90 microseconds in the whole computational domain. It only influences the stored solution (and thus the file size). The internal time steps taken by the solver are automatically controlled by COMSOL to fulfill the appropriate CFL condition.
5
In the Home toolbar, click  Compute.
Before plotting the results, process the dataset to display the solution in the physical domains only.
Results
Study 1 - ELTE (store full solution)/Solution 1 (sol1)
In the Model Builder window, expand the Results>Datasets node, then click Study 1 - ELTE (store full solution)/Solution 1 (sol1).
Selection
1
In the Results toolbar, click  Attributes and choose Selection.
2
In the Settings window for Selection, locate the Geometric Entity Selection section.
3
From the Geometric entity level list, choose Domain.
4
Velocity Magnitude (elte)
1
In the Model Builder window, click Velocity Magnitude (elte).
2
In the Settings window for 2D Plot Group, locate the Data section.
3
From the Time (µs) list, choose 30.
Surface 1
1
In the Model Builder window, expand the Velocity Magnitude (elte) node, then click Surface 1.
2
In the Settings window for Surface, locate the Coloring and Style section.
3
From the Color table list, choose GrayScale.
4
Select the Reverse color table check box.
5
Click to expand the Range section. Select the Manual color range check box.
6
In the Minimum text field, type 0.
7
In the Maximum text field, type 1e-5.
These settings will sharpen the contrast of the velocity profile.
8
In the Velocity Magnitude (elte) toolbar, click  Plot.
The structural velocity profiles at the time steps chosen in Study 1 are shown in Figure 3.
Pressure (elte)
1
In the Model Builder window, click Pressure (elte).
2
In the Settings window for 2D Plot Group, locate the Data section.
3
From the Time (µs) list, choose 30.
4
In the Pressure (elte) toolbar, click  Plot.
Displacement in (x,y) = (-10.5 cm, -8 cm)
1
In the Model Builder window, under Results click Probe Plot Group 4.
2
In the Settings window for 1D Plot Group, type Displacement in (x,y) = (-10.5 cm, -8 cm) in the Label text field.
3
Locate the Title section. From the Title type list, choose Label.
Probe Table Graph 1
1
In the Model Builder window, expand the Displacement in (x,y) = (-10.5 cm, -8 cm) node, then click Probe Table Graph 1.
2
In the Settings window for Table Graph, locate the Data section.
3
In the Columns list, select y displacement in (-10.5 cm, -8 cm) (m).
4
In the Displacement in (x,y) = (-10.5 cm, -8 cm) toolbar, click  Plot.
Displacement in (x,y) = (-3.5 cm, -8 cm)
1
In the Model Builder window, right-click Displacement in (x,y) = (-10.5 cm, -8 cm) and choose Duplicate.
2
In the Model Builder window, click Displacement in (x,y) = (-10.5 cm, -8 cm) 1.
3
In the Settings window for 1D Plot Group, type Displacement in (x,y) = (-3.5 cm, -8 cm) in the Label text field.
Probe Table Graph 1
1
In the Model Builder window, click Probe Table Graph 1.
2
In the Settings window for Table Graph, locate the Data section.
3
In the Columns list, select y displacement in (-3.5 cm, -8 cm) (m).
4
In the Displacement in (x,y) = (-3.5 cm, -8 cm) toolbar, click  Plot.
Displacement in (x,y) = (-1 cm, -8 cm)
1
In the Model Builder window, right-click Displacement in (x,y) = (-3.5 cm, -8 cm) and choose Duplicate.
2
In the Model Builder window, click Displacement in (x,y) = (-3.5 cm, -8 cm) 1.
3
In the Settings window for 1D Plot Group, type Displacement in (x,y) = (-1 cm, -8 cm) in the Label text field.
Probe Table Graph 1
1
In the Model Builder window, click Probe Table Graph 1.
2
In the Settings window for Table Graph, locate the Data section.
3
In the Columns list, select y displacement in (-1 cm, -8 cm) (m).
4
In the Displacement in (x,y) = (-1 cm, -8 cm) toolbar, click  Plot.
Displacement in (x,y) = (10.5 cm, -8 cm)
1
In the Model Builder window, right-click Displacement in (x,y) = (-1 cm, -8 cm) and choose Duplicate.
2
In the Model Builder window, click Displacement in (x,y) = (-1 cm, -8 cm)  1.
3
In the Settings window for 1D Plot Group, type Displacement in (x,y) = (10.5 cm, -8 cm) in the Label text field.
Probe Table Graph 1
1
In the Model Builder window, click Probe Table Graph 1.
2
In the Settings window for Table Graph, locate the Data section.
3
In the Columns list, select y displacement in (10.5 cm, -8 cm) (m).
4
In the Displacement in (x,y) = (10.5 cm, -8 cm) toolbar, click  Plot.
Next, inspect the shear and pressure wave speeds in the isotropic material and their equivalents in the anisotropic material.
Apparent Shear Wave Speed
1
In the Home toolbar, click  Add Plot Group and choose 2D Plot Group.
2
In the Settings window for 2D Plot Group, type Apparent Shear Wave Speed in the Label text field.
3
Locate the Data section. From the Time (µs) list, choose 30.
Surface 1
1
Right-click Apparent Shear Wave Speed and choose Surface.
2
In the Settings window for Surface, locate the Expression section.
3
In the Expression text field, type elte.cs.
4
In the Apparent Shear Wave Speed toolbar, click  Plot.
Apparent Pressure Wave Speed
1
In the Model Builder window, right-click Apparent Shear Wave Speed and choose Duplicate.
2
In the Settings window for 2D Plot Group, type Apparent Pressure Wave Speed in the Label text field.
Surface 1
1
In the Model Builder window, expand the Apparent Pressure Wave Speed node, then click Surface 1.
2
In the Settings window for Surface, locate the Expression section.
3
In the Expression text field, type elte.cp.
4
In the Apparent Pressure Wave Speed toolbar, click  Plot.