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 domain 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 domains.
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 domains 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 by adding the Compute Displacement subfeature to the Elastic Waves, Time Explicit Model. In this model, the displacements are only retrieved 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 space and time functions given by a Gaussian and a Ricker wavelet, respectively.
Analytic 1 (an1)
1
In the Home toolbar, click  Functions and choose Global>Analytic.
2
In the Settings window for Analytic, type G_space 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 table, enter the following settings:
6
In the Function text field, type 1.
7
Locate the Plot Parameters section. In the table, enter the following settings:
8
Analytic 2 (an2)
1
In the Home toolbar, click  Functions and choose Global>Analytic.
2
In the Settings window for Analytic, type G_time 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 table, enter the following settings:
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_time (Pa).
3
Locate the Plot Settings section.
4
Select the y-axis label check box. In the associated text field, type FFT of the signal (Pa).
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 Discrete Fourier transform.
4
From the Show list, choose Frequency spectrum.
5
From the Scale list, choose Multiply by sampling period.
6
In the Impulse Frequency Content toolbar, click  Plot.
7
Select the Frequency range check box.
8
In the Maximum text field, type 1000000.
9
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).
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
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 Material symmetry 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)
Elastic Waves, Time Explicit Model 1
In the Model Builder window, under Component 1 (comp1)>Elastic Waves, Time Explicit (elte) click Elastic Waves, Time Explicit Model 1.
Compute Displacement 1
1
In the Physics toolbar, click  Attributes and choose Compute Displacement.
2
In the Settings window for Compute Displacement, locate the Point Selection section.
3
From the Selection list, choose Probe Points.
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
Define a Point Probe for each of the probe points to measure the vertical displacement.
Definitions
Point Probe 1 (point1)
1
In the Definitions toolbar, click  Probes and choose Point Probe.
2
3
In the Settings window for Point Probe, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Elastic Waves, Time Explicit>Displacement>Displacement - m>elte.uy - Displacement, y-component.
4
Locate the Expression section.
5
Select the Description check box. In the associated text field, type y-displacement at (-10.5 cm, -8 cm).
Point Probe 2 (point2)
1
Right-click Point Probe 1 (point1) and choose Duplicate.
2
3
In the Settings window for Point Probe, locate the Expression section.
4
In the Description text field, type y-displacement at (-3.5 cm, -8 cm).
Point Probe 3 (point3)
1
Right-click Point Probe 2 (point2) and choose Duplicate.
2
3
In the Settings window for Point Probe, locate the Expression section.
4
In the Description text field, type y-displacement at (-1 cm, -8 cm).
Point Probe 4 (point4)
1
Right-click Point Probe 3 (point3) and choose Duplicate.
2
3
In the Settings window for Point Probe, locate the Expression section.
4
In the Description text field, type y-displacement at (10.5 cm, -8 cm).
Create groups to facilitate the navigation through the model.
Point Probe 1 (point1), Point Probe 2 (point2), Point Probe 3 (point3), Point Probe 4 (point4)
1
In the Model Builder window, under Component 1 (comp1)>Definitions, Ctrl-click to select Point Probe 1 (point1), Point Probe 2 (point2), Point Probe 3 (point3), and Point Probe 4 (point4).
2
Mesh 1
In this model, the mesh is set up manually. Proceed by directly adding the desired mesh component.
Use a mapped mesh. This will generate a uniform mesh adequate for time-explicit simulations.
Mapped 1
In the Mesh toolbar, click  Mapped.
Size
1
In the Settings window for Size, locate the Element Size section.
2
Click the Custom button.
3
Locate the Element Size Parameters section. In the Maximum element size text field, type cs_an/(2*f0)/1.5.
4
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, under Results 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
Click  Change Color Table.
4
In the Color Table dialog box, select Linear>GrayScale in the tree.
5
6
In the Settings window for Surface, locate the Coloring and Style section.
7
From the Color table transformation list, choose Reverse.
8
Click to expand the Range section. Select the Manual color range check box.
9
In the Minimum text field, type 0.
10
In the Maximum text field, type 1e-5.
These settings will sharpen the contrast of the velocity profile.
11
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, under Results 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.
4
Locate the Legend section. Clear the Show legends check box.
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 at (-10.5 cm, -8 cm) (m), Point Probe 1.
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 at (-3.5 cm, -8 cm) (m), Point Probe 2.
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 at (-1 cm, -8 cm) (m), Point Probe 3.
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 at (10.5 cm, -8 cm) (m), Point Probe 4.
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.
4
Locate the Color Legend section. Select the Show units check box.
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.