An elastic wave forward simulation method, device, equipment, medium and program
By solving the first-order velocity-stress equations using the OpenACC model and the staggered mesh finite difference method, the problem of low computational efficiency of the forward modeling method for elastic waves in complex media is solved, and efficient elastic wave simulation is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA PETROLEUM & CHEMICAL CORP
- Filing Date
- 2024-12-28
- Publication Date
- 2026-06-30
AI Technical Summary
Existing forward modeling methods for elastic waves are computationally inefficient when simulating models containing low-velocity bodies or small-scale anomalies in complex media.
The OpenACC model was used to determine the mesh step size and time step size, and a set of first-order velocity-stress equations was constructed. The staggered mesh finite difference method was used to solve the equations using a graphics processor. The forward modeling of elastic waves was performed by combining the Lebedev staggered mesh finite difference algorithm and the OpenACC compiler intro.
It improves the computational efficiency of elastic wave forward modeling and enhances the simulation accuracy and efficiency for low-velocity bodies or small-scale anomaly models in complex media.
Smart Images

Figure CN122307657A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computational geophysics, and in particular to a method, apparatus, device, medium, and program for forward modeling elastic waves. Background Technology
[0002] Numerical simulation of seismic waves is a fundamental tool for analyzing the propagation patterns of seismic waves in complex media and for imaging subsurface structures. With the continuous development of oil and gas exploration in my country, the focus of development has gradually shifted to exploration areas in the central and western regions, placing higher demands on the accuracy and efficiency of seismic wave propagation simulation in complex surface media. Compared with finite element methods, the finite difference algorithm has advantages such as simple implementation, low requirements for computational grids, ease of large-scale parallel computing, and low computational resource consumption, and is widely used in practical scientific research and production.
[0003] Currently, for models containing low-velocity bodies or small-scale anomalies in complex media, the finite difference method requires setting a small grid to accurately simulate seismic waves, which means consuming more computational resources and having low computational efficiency. Summary of the Invention
[0004] This disclosure provides a method, apparatus, device, medium, and program for elastic wave forward modeling to solve the problem of low computational efficiency in existing elastic wave forward modeling methods when simulating models containing low-velocity bodies or small-scale anomalies in complex media.
[0005] In a first aspect, this disclosure provides a method for forward modeling elastic waves, including:
[0006] The model parameters of the pre-set OpenACC (Open Accelerators) model are determined according to the predetermined seismic wave simulation requirements, and the grid step size is confirmed according to the model parameters.
[0007] The time step is determined based on the stability conditions of the OpenACC model.
[0008] Construct a set of first-order velocity-stress equations;
[0009] Using a graphics processor, within each time step, the first-order velocity-stress equations are solved based on the staggered mesh finite difference method to obtain the velocity component solution results;
[0010] Based on the solution results of the velocity components, a seismic wave simulation is performed to obtain a snapshot of the seismic wave field.
[0011] Calculate the difference between the simulated seismic wave field snapshot and the standard wave field snapshot output by the serially programmed program;
[0012] If the difference value is greater than the preset difference value threshold, the process ends;
[0013] If the difference value is less than or equal to the difference value threshold, then the seismic wave simulation is confirmed to be complete.
[0014] In some embodiments, determining the pre-set model parameters of the OpenACC model according to predetermined seismic wave simulation requirements, and confirming the grid step size based on the model parameters, includes:
[0015] Obtain the minimum velocity, the highest frequency of the source, and the number of grid points per wavelength that effectively suppresses dispersion error in the OpenACC model parameters.
[0016] Calculate the product of the highest frequency and the number of grid points to obtain the product calculation result;
[0017] The grid step size is obtained by calculating the ratio of the minimum speed to the product calculation result.
[0018] In some embodiments, the step of using a graphics processor to solve the first-order velocity-stress equations based on the staggered mesh finite difference method within each time step to obtain the velocity component solution results includes:
[0019] The Lebedev staggered mesh finite difference algorithm is used to generate a loop to solve the first-order velocity-stress equations.
[0020] Add a lead to the loop body;
[0021] The OpenACC model is used to control the loop body to run and solve the problem on the image processor according to the introductory statement, and absorbing boundary conditions are applied to the computational boundary.
[0022] The first-order velocity-stress equations were numerically simulated using an iterative solution method to obtain the velocity component solutions in each direction.
[0023] In some embodiments,
[0024] The construction of the first-order velocity-stress equation set includes:
[0025] The first-order velocity-stress equations are expressed using the following formulas:
[0026] W ,t =AW ,x +CW ,z
[0027] W = [v x v z , σ xx , σ zz , σxz ]
[0028]
[0029] Among them, W ,t W represents the derivative of the wave field component with respect to time t. ,x , representing the derivative of the wave field component in the x-direction, W ,z Let W represent the derivative of the wave field component in the z-direction, and let v represent the wave field component. x and v z Let σ represent the velocity components in the x and z directions, respectively. xx and σ zz Let σ represent the stress components in the x and z directions, respectively. xz c represents the shear stress component in the Cartesian coordinate system, located in the xz plane and perpendicular to both the x and z axes. 11 c 13 c 33 c 44 These represent the elastic constants of the vertical and transverse isotropic medium in different directions.
[0030] In some embodiments, the step of performing seismic wave simulation based on the velocity component solution to obtain a snapshot of the seismic wave simulated wavefield includes:
[0031] The displacement field and stress field are constructed based on the solution results of the velocity components.
[0032] Determine the grid division of the simulation region;
[0033] Based on the grid division of the region and the time step, the displacement field and the stress field are updated with wave fields, and a wave field snapshot at a preset time point is captured.
[0034] In some embodiments, calculating the difference between the simulated seismic wavefield snapshot and the standard wavefield snapshot output by the serially programmed program includes:
[0035] The pixel difference between the simulated seismic wavefield snapshot and the standard wavefield snapshot is calculated to obtain the difference value.
[0036] Secondly, this disclosure provides an elastic wave forward modeling simulation apparatus, comprising:
[0037] The data verification module is used to determine the model parameters of the pre-set OpenACC model according to the predetermined seismic wave simulation requirements, confirm the grid step size according to the model parameters, and determine the time step size according to the stability conditions of the OpenACC model.
[0038] The equation solving module is used to construct a first-order velocity-stress equation system. Using a graphics processor, the first-order velocity-stress equation system is solved based on the staggered mesh finite difference method within each time step to obtain the velocity component solution results.
[0039] The seismic wave simulation module is used to simulate seismic waves based on the velocity component solution results and obtain a snapshot of the simulated seismic wave field.
[0040] The difference value judgment module is used to calculate the difference value between the simulated wavefield snapshot of the seismic wave and the standard wavefield snapshot output by the serially programmed program. If the difference value is greater than the preset difference value threshold, the process ends. If the difference value is less than or equal to the difference value threshold, the seismic wave simulation is confirmed to be complete.
[0041] Thirdly, this disclosure provides a computer device including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method described in the foregoing aspects.
[0042] Fourthly, this disclosure provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of the methods described in the above aspects.
[0043] Fifthly, this disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the methods described in the above aspects.
[0044] This disclosure provides a method, apparatus, device, storage medium, and computer program for elastic wave forward modeling. The method involves determining pre-set model parameters of an OpenACC model based on predetermined seismic wave simulation requirements, confirming the grid step size based on the model parameters, determining the time step size based on the stability conditions of the OpenACC model, constructing a first-order velocity-stress equation set, and using a graphics processor to solve the first-order velocity-stress equation set within each time step using the staggered grid finite difference method to obtain velocity component solutions. Seismic wave simulation is then performed based on the velocity component solutions to obtain a snapshot of the simulated seismic wave field. The difference between the simulated seismic wave field snapshot and a standard wave field snapshot output by a serially programmed program is calculated. If the difference value is greater than a preset difference threshold, the process ends; if the difference value is less than or equal to the difference threshold, the seismic wave simulation is confirmed to be complete. This solves the problem of low computational efficiency in existing elastic wave forward modeling methods when simulating models containing low-velocity bodies or small-scale anomalies in complex media, thus improving the computational efficiency of elastic wave forward modeling. By employing the Lebedev staggered mesh finite difference method and modifying the program with OpenACC, the program can be run on a GPU using compiler directives and sub-languages, thus improving computational efficiency. Attached Figure Description
[0045] The present disclosure will be described in more detail below based on embodiments and with reference to the accompanying drawings:
[0046] Figure 1 A schematic flowchart of an elastic wave forward modeling method provided in this embodiment of the disclosure;
[0047] Figure 2 A schematic diagram illustrating the process of solving a set of first-order velocity-stress equations provided in this embodiment of the present disclosure;
[0048] Figure 3 This is a functional block diagram of an elastic wave forward modeling simulation device provided in an embodiment of the present disclosure.
[0049] In the accompanying drawings, the same parts are referred to by the same reference numerals, and the drawings are not drawn to scale. Detailed Implementation
[0050] To enable those skilled in the art to better understand the technical solutions of this disclosure, and to fully understand and implement the process of how this disclosure applies technical means to solve technical problems and achieve corresponding technical effects, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, not all embodiments. The embodiments of this disclosure and the various features within them can be combined with each other without conflict, and the resulting technical solutions are all within the protection scope of this disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort should fall within the protection scope of this disclosure.
[0051] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0052] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.
[0053] Example 1
[0054] Figure 1 This is a schematic flowchart illustrating an elastic wave forward modeling method provided in an embodiment of this disclosure. Figure 1 As shown, an elastic wave forward modeling method includes:
[0055] S1. Determine the pre-set model parameters of the OpenACC model according to the predetermined seismic wave simulation requirements, and confirm the grid step size according to the model parameters.
[0056] In this embodiment of the invention, the seismic wave simulation is an important field in geophysics, which involves using numerical methods to simulate the propagation of seismic waves inside the Earth.
[0057] In this embodiment of the invention, the OpenACC model is a GPU general-purpose computing parallel programming model that uses an API based on compiler instructions and features high performance, programmability, and cross-platform portability.
[0058] In detail, the parallelization of the OpenACC model is not achieved by rewriting the program, but by adding markers to the serial code, including C / C++ preprocessor statements or special Fortran comments. Compilers that support OpenACC can understand these markers and compile the code into a parallel program based on their meaning.
[0059] In this embodiment of the invention, the model parameters of the OpenACC model include the minimum velocity of the model, the highest frequency of the source, and the number of grid points per wavelength that effectively suppresses dispersion error.
[0060] In this embodiment of the invention, determining the pre-set model parameters of the OpenACC model according to the predetermined seismic wave simulation requirements, and confirming the grid step size based on the model parameters, includes:
[0061] The grid step size is calculated using the following formula:
[0062]
[0063] Where Δh is the grid step size, v min f is the minimum speed of the OpenACC model. max denoted as the highest frequency of the seismic source in the seismic wave simulation, and P is the number of grid points per wavelength to effectively suppress dispersion error.
[0064] In this embodiment of the invention, determining the pre-set model parameters of the OpenACC model according to the predetermined seismic wave simulation requirements, and confirming the grid step size based on the model parameters, includes:
[0065] Obtain the minimum velocity, the highest frequency of the source, and the number of grid points per wavelength that effectively suppresses dispersion error in the OpenACC model parameters.
[0066] Calculate the product of the highest frequency and the number of grid points to obtain the product calculation result;
[0067] The grid step size is obtained by calculating the ratio of the minimum speed to the product calculation result.
[0068] In this embodiment of the invention, the model parameters of the pre-set OpenACC model are determined according to the predetermined seismic wave simulation requirements, and the grid step size is confirmed based on the model parameters, which improves the efficiency of subsequent numerical solution of the equation system.
[0069] S2. Determine the time step based on the stability conditions of the OpenACC model.
[0070] In this embodiment of the invention, the stability condition refers to the constraints imposed when using OpenACC to accelerate the solution of partial differential equations based on the finite difference method. These constraints are on the time step, spatial step, and wave velocity, which can ensure the stability of the numerical solution and avoid problems such as numerical oscillation or divergence.
[0071] In this embodiment of the invention, determining the time step based on the stability conditions of the OpenACC model includes:
[0072] The time step is expressed by the following formula:
[0073]
[0074] Where dt is the time step. For the stability condition, c 11 and c 33 Let represent the elastic constants of the isotropic medium in different directions, ρ be the predetermined medium density, dx represent the spatial step size in the x-direction, and dz represent the spatial step size in the z-direction.
[0075] Specifically, the spatial step size in the x-direction and the spatial step size in the z-direction can be taken as 6.25 * 10. -4 .
[0076] Specifically, the time step can be 5*10. -8
[0077] In this embodiment of the invention, the time step is determined based on the stability conditions of the OpenACC model, which improves the efficiency of subsequent equation solving.
[0078] S3. Construct a set of first-order velocity-stress equations.
[0079] In this embodiment of the invention, the first-order velocity-stress equations are important equations describing the propagation of elastic waves in a medium. They describe the relationship between the rate of change of the velocity component at a point in the medium with time and the spatial rate of change of the stress component around that point, as well as the relationship between the rate of change of the stress component with time and the spatial rate of change of the velocity component.
[0080] In this embodiment of the invention, constructing the first-order velocity-stress equation set includes:
[0081] The first-order velocity-stress equations are expressed using the following formulas:
[0082] W ,t =AW ,x +CW,z
[0083] W = [v x v z , σ xx , σ zz , σ xz ]
[0084]
[0085] Among them, W ,t W represents the derivative of the wave field component with respect to time t. ,x , representing the derivative of the wave field component in the x-direction, W ,z Let W represent the derivative of the wave field component in the z-direction, and let v represent the wave field component. x and v z Let σ represent the velocity components in the x and z directions, respectively. xx and σ zz Let σ represent the stress components in the x and z directions, respectively. xz c represents the shear stress component in the Cartesian coordinate system, located in the xz plane and perpendicular to both the x and z axes. 11 c 13 c 33 c 44 These represent the elastic constants of the vertical and transverse isotropic medium in different directions.
[0086] In this embodiment of the invention, the efficiency of obtaining the solution results of velocity components is improved by constructing a set of first-order velocity-stress equations.
[0087] S4. Using a graphics processor, within each time step, solve the first-order velocity-stress equations based on the staggered mesh finite difference method to obtain the velocity component solution results.
[0088] In this embodiment of the invention, the step of using a graphics processor to solve the first-order velocity-stress equations based on the staggered mesh finite difference method within each time step is to use the Lebedev staggered mesh finite difference algorithm to numerically solve the first-order velocity-stress equations.
[0089] In detail, the Lebedev staggered grid finite difference algorithm is a numerical computation method widely used in fields such as seismic wave simulation. Unlike traditional regular grids, the Lebedev staggered grid defines different physical quantities at grid points at different locations. For example, in the two-dimensional case, different components of velocity may be defined on the edges and corners of grid cells respectively. This arrangement helps to more accurately describe the relationships between physical quantities and the details of physical processes, especially for physical quantities with different directional characteristics, the staggered grid can better capture their variations. The finite difference method is used to approximate the derivatives in partial differential equations. By performing difference operations on the function values at grid points, the partial differential equations are transformed into a set of algebraic equations, which can then be solved numerically. In the Lebedev staggered grid, due to the staggered arrangement of grid points, the form and calculation method of the finite difference approximation need to be adjusted and derived accordingly based on the grid location of the physical quantity.
[0090] In this embodiment of the invention, reference is made to Figure 2 The diagram illustrates a process for solving a first-order velocity-stress equation set according to an embodiment of the present invention. The process involves using a graphics processor to solve the first-order velocity-stress equation set within each time step, based on the staggered mesh finite difference method, to obtain the velocity component solution results. This includes:
[0091] S21. Use the Lebedev staggered mesh finite difference algorithm to generate a loop body to solve the first-order velocity-stress equations;
[0092] S22. Add a lead to the loop body;
[0093] S23. Using the OpenACC model, the loop body is controlled to run and solve on the image processor according to the introductory statement, and absorbing boundary conditions are applied to the computational boundary.
[0094] S24. The first-order velocity-stress equations are numerically simulated using an iterative solution method to obtain the velocity component solution results for velocity components in each direction.
[0095] In detail, the numerical simulation of the first-order velocity-stress equations using an iterative solution method to obtain the velocity component solutions in each direction includes:
[0096] Discretize the spatial derivative terms in the first-order velocity-stress equations according to the grid step size to obtain discrete spatial derivative terms;
[0097] Discretize the time derivative terms in the first-order velocity-stress equations according to the time step to obtain discrete time derivative terms. Substitute the discrete spatial derivative terms and the discrete time derivative terms into the discrete spatial derivative terms to obtain recursive relationships for velocity and stress components at different times.
[0098] The velocity components are solved by using the recursive formula based on the preset initial velocity field and stress field.
[0099] In this embodiment of the invention, the parallel solution of the initial velocity field and stress field based on the recursive formula refers to the use of a graphics processor for parallel processing, which can improve computational efficiency without compromising accuracy.
[0100] In detail, generating a loop body to solve the first-order velocity-stress equations using the Lebedev staggered mesh finite difference algorithm refers to constructing loop code to solve the first-order velocity-stress equations.
[0101] In detail, adding a preamble to the loop body refers to adding an OpenACC preamble to the loop body for marking. During subsequent execution, the loop body will be controlled to run and solve the problem on the image processor according to the preamble, which will utilize the powerful parallel computing capabilities of the GPU to accelerate the computational operations in the loop body and improve the efficiency of the solution.
[0102] In detail, the reason for applying the absorbing boundary condition at the computational boundary is that there will be computational boundaries when solving the equation within a finite range. These computational boundaries will produce non-physical reflections, which will affect the calculation results. Therefore, it is necessary to apply the absorbing boundary condition to eliminate the error.
[0103] In this embodiment of the invention, a graphics processor is used to solve the first-order velocity-stress equations based on the staggered-grid finite-difference method within each time step to obtain the velocity component solution results. This improves the efficiency of obtaining snapshots of the simulated seismic wavefield.
[0104] S5. Perform seismic wave simulation based on the velocity component solution results to obtain a snapshot of the seismic wave simulation wavefield.
[0105] In this embodiment of the invention, the step of performing seismic wave simulation based on the velocity component solution to obtain a seismic wave simulation wavefield snapshot is to use the Lebedev staggered grid finite difference method to simulate the propagation of elastic waves in a uniform transversely isotropic medium based on the velocity component solution results, and capture a wavefield snapshot at a preset time point.
[0106] In this embodiment of the invention, the velocity component solution results include the velocity components and stress components of the elastic wave at different times and in different directions.
[0107] In detail, the process of performing seismic wave simulation based on the velocity component solution to obtain a snapshot of the seismic wave field is based on the Lebedev staggered grid finite difference method to perform two-dimensional seismic wave forward modeling and record the two-dimensional image of the elastic wave.
[0108] In this embodiment of the invention, the step of performing seismic wave simulation based on the velocity component solution results to obtain a snapshot of the seismic wave simulated wavefield includes:
[0109] The displacement field and stress field are constructed based on the solution results of the velocity components.
[0110] Determine the grid division of the simulation region;
[0111] Based on the grid division of the region and the time step, the displacement field and the stress field are updated with wave fields, and a wave field snapshot at a preset time point is captured.
[0112] In detail, the wavefield snapshot is a technique that can comprehensively, clearly and intuitively display the spatiotemporal image of seismic waves propagating in a medium. It is of great help in understanding and studying the response characteristics between seismic waves and various geological factors such as structure, physical properties and lithology under complex conditions.
[0113] In this embodiment of the invention, seismic wave simulation based on the velocity component solution results is used to obtain a snapshot of the simulated seismic wave field, which improves the efficiency of subsequent calculation of difference values.
[0114] S6. Calculate the difference between the simulated seismic wave field snapshot and the standard wave field snapshot output by the serially programmed program.
[0115] In this embodiment of the invention, the standard wave field snapshot output by the serially programmed program refers to the wave field snapshot output by the serial program without using OpenACC.
[0116] In detail, the difference between the standard wavefield snapshot and the seismic wave simulation wavefield snapshot is that, since the standard wavefield snapshot is not run in the graphics processor using the OpenACC model, the running time of the standard wavefield snapshot is longer. The standard wavefield snapshot can be used to verify the accuracy of the seismic wave simulation wavefield snapshot.
[0117] In this embodiment of the invention, calculating the difference between the simulated seismic wavefield snapshot and the standard wavefield snapshot output by the serially programmed program includes:
[0118] The pixel difference between the simulated seismic wavefield snapshot and the standard wavefield snapshot is calculated to obtain the difference value.
[0119] In this embodiment of the invention, by calculating the difference between the simulated seismic wavefield snapshot and the standard wavefield snapshot output by the serially programmed program, the efficiency of subsequently determining whether the difference value is greater than a preset difference value threshold is improved.
[0120] S7. Determine whether the difference value is greater than a preset difference value threshold.
[0121] If the difference value is greater than the preset difference value threshold, then execute S8 and the process ends.
[0122] In this embodiment of the invention, when the difference value is greater than a preset difference value threshold, it indicates that the error of this seismic wave simulation exceeds expectations, and therefore the results of this simulation cannot be used for subsequent research.
[0123] If the difference value is less than or equal to the difference value threshold, then execute S9 to confirm that the seismic wave simulation is complete.
[0124] In this embodiment of the invention, when the difference value is less than or equal to the difference value threshold, it indicates that the error of this seismic wave simulation is within expectations. Therefore, the results of this simulation can be used for subsequent research to confirm that the seismic wave simulation is complete.
[0125] Example 2
[0126] Based on the above embodiments, this embodiment provides an application example.
[0127] This invention provides a finite difference forward modeling method for two-dimensional anisotropic media based on OpenACC.
[0128] The first step of this method is to determine the grid step size based on the model parameters and the dispersion relation, and to determine the time step size based on the stability condition, wherein the time step size satisfies the Courant number being less than 1.
[0129] The second step involves using the Lebedev staggered mesh finite difference algorithm to solve the first-order velocity-stress form of the anisotropic elastic wave equations. During the equation solving process, the program enters a loop controlled by the OpenACC preamble and runs on the GPU.
[0130] The fourth step is to apply absorbing boundary conditions to the computational boundary.
[0131] The fifth step is to output the calculated velocity components in each direction.
[0132] The sixth step is to compare the computational results and efficiency of the parallel programming program using OpenACC with the serial programming program to verify the accuracy and efficiency of the OpenACC method.
[0133] Example 3
[0134] like Figure 3 The diagram shown is a functional block diagram of an elastic wave forward modeling simulation device provided in this embodiment.
[0135] The elastic wave forward modeling simulation device 100 described in this invention can be installed in an electronic device. Depending on the functions implemented, the elastic wave forward modeling simulation device 100 may include a data verification module 101, an equation solving module 102, a seismic wave simulation module 103, and a difference value judgment module 104. The module described in this invention can also be referred to as a unit, which refers to a series of computer program segments that can be executed by the processor of an electronic device and can perform a fixed function, and are stored in the memory of the electronic device.
[0136] In this embodiment, the functions of each module / unit are as follows:
[0137] The data verification module 101 is used to determine the model parameters of the pre-set OpenACC model according to the pre-determined seismic wave simulation requirements, confirm the grid step size according to the model parameters, and determine the time step size according to the stability conditions of the OpenACC model.
[0138] The equation solving module 102 is used to construct a first-order velocity-stress equation system and, using a graphics processor, solve the first-order velocity-stress equation system based on the staggered mesh finite difference method within each time step to obtain the velocity component solution results.
[0139] The seismic wave simulation module 103 is used to perform seismic wave simulation based on the velocity component solution results to obtain a snapshot of the seismic wave simulation wavefield.
[0140] The difference value judgment module 104 is used to calculate the difference value between the simulated seismic wave field snapshot and the standard wave field snapshot output by the serially programmed program. If the difference value is greater than the preset difference value threshold, the process ends. If the difference value is less than or equal to the difference value threshold, the seismic wave simulation is confirmed to be complete.
[0141] Example 4
[0142] Based on the above embodiments, this embodiment provides a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to perform the following steps:
[0143] The model parameters of the pre-set OpenACC model are determined according to the predetermined seismic wave simulation requirements, and the grid step size is confirmed according to the model parameters.
[0144] The time step is determined based on the stability conditions of the OpenACC model.
[0145] Construct a set of first-order velocity-stress equations;
[0146] Using a graphics processor, within each time step, the first-order velocity-stress equations are solved based on the staggered mesh finite difference method to obtain the velocity component solution results;
[0147] Based on the solution results of the velocity components, a seismic wave simulation is performed to obtain a snapshot of the seismic wave field.
[0148] Calculate the difference between the simulated seismic wave field snapshot and the standard wave field snapshot output by the serially programmed program;
[0149] If the difference value is greater than the preset difference value threshold, the process ends;
[0150] If the difference value is less than or equal to the difference value threshold, then the seismic wave simulation is confirmed to be complete.
[0151] In some embodiments of this example, a computer-readable storage medium is provided, on which a computer program is stored, characterized in that the computer program, when executed by a processor, performs the following steps:
[0152] The model parameters of the pre-set OpenACC model are determined according to the predetermined seismic wave simulation requirements, and the grid step size is confirmed according to the model parameters.
[0153] The time step is determined based on the stability conditions of the OpenACC model.
[0154] Construct a set of first-order velocity-stress equations;
[0155] Using a graphics processor, within each time step, the first-order velocity-stress equations are solved based on the staggered mesh finite difference method to obtain the velocity component solution results;
[0156] Based on the solution results of the velocity components, a seismic wave simulation is performed to obtain a snapshot of the seismic wave field.
[0157] Calculate the difference between the simulated seismic wave field snapshot and the standard wave field snapshot output by the serially programmed program;
[0158] If the difference value is greater than the preset difference value threshold, the process ends;
[0159] If the difference value is less than or equal to the difference value threshold, then the seismic wave simulation is confirmed to be complete.
[0160] In some embodiments of this example, a computer program product is provided, including a computer program, characterized in that the computer program, when executed by a processor, implements the steps of the method described in the above embodiments.
[0161] The processor may include, but is not limited to, one or more processors or microprocessors. Each processor may be implemented as an Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), controller, microcontroller, microprocessor, or other electronic component, for executing the methods in the above embodiments.
[0162] Computer-readable storage media can be implemented by any type of volatile or non-volatile storage device or a combination thereof. Computer-readable storage media may include, but are not limited to, random access memory (RAM), read-only memory (ROM), flash memory, EPROM memory, EEPROM memory, registers, and computer storage media (e.g., hard disks, floppy disks, solid-state drives, removable disks, Blu-ray discs, etc.).
[0163] Computer-readable storage media may also store at least one computer-executable program, such as computer-readable instructions. Computer-readable storage media include, but are not limited to, volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Computer-readable storage media may include, for example, read-only memory (ROM), hard disk, flash memory, etc. For example, a non-transitory computer-readable storage medium may be connected to a computing device such as a computer, and then, when the computing device executes the computer-readable instructions stored on the computer-readable storage medium, the various methods described above can be performed.
[0164] In addition, the computer device may include (but is not limited to) a data bus, an input / output (I / O) bus, a display, and input / output devices (e.g., keyboard, mouse, speakers, etc.).
[0165] The processor can communicate with external devices via the I / O bus through wired or wireless networks.
[0166] In one embodiment, the at least one computer-executable instruction may also be compiled into or comprise a software product / computer program product, wherein one or more computer-executable instructions are executed by a processor to perform the steps of the various functions and / or methods in the embodiments described herein.
[0167] In the embodiments provided in this disclosure, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0168] It should be noted that, in this disclosure, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element limited by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0169] While the embodiments disclosed herein are as described above, the foregoing content is merely for the purpose of facilitating understanding of this disclosure and is not intended to limit this disclosure. Any person skilled in the art to which this disclosure pertains may make any modifications and changes in form and detail of the implementation without departing from the spirit and scope of this disclosure; however, the scope of patent protection of this disclosure shall still be determined by the scope defined in the appended claims.
Claims
1. A forward modeling method for elastic waves, characterized in that, include: The model parameters of the pre-set OpenACC model are determined according to the predetermined seismic wave simulation requirements, and the grid step size is confirmed according to the model parameters. The time step is determined based on the stability conditions of the OpenACC model. Construct a set of first-order velocity-stress equations; Using a graphics processor, within each time step, the first-order velocity-stress equations are solved based on the staggered mesh finite difference method to obtain the velocity component solution results; Based on the solution results of the velocity components, a seismic wave simulation is performed to obtain a snapshot of the seismic wave field. Calculate the difference between the simulated seismic wave field snapshot and the standard wave field snapshot output by the serially programmed program; If the difference value is greater than the preset difference value threshold, the process ends; If the difference value is less than or equal to the difference value threshold, then the seismic wave simulation is confirmed to be complete.
2. The method according to claim 1, characterized in that, The process of determining the pre-set model parameters of the OpenACC model based on predetermined seismic wave simulation requirements, and confirming the grid step size based on the model parameters, includes: Obtain the minimum velocity, the highest frequency of the source, and the number of grid points per wavelength that effectively suppresses dispersion error in the OpenACC model parameters. Calculate the product of the highest frequency and the number of grid points to obtain the product calculation result; The grid step size is obtained by calculating the ratio of the minimum speed to the product calculation result.
3. The method according to claim 1, characterized in that, The method utilizes a graphics processor to solve the first-order velocity-stress equations based on the staggered mesh finite difference method within each time step, obtaining the velocity component solution results, including: The Lebedev staggered mesh finite difference algorithm is used to generate a loop to solve the first-order velocity-stress equations. Add a lead to the loop body; The OpenACC model is used to control the loop body to run and solve the problem on the image processor according to the introductory statement, and absorbing boundary conditions are applied to the computational boundary. The first-order velocity-stress equations were numerically simulated using an iterative solution method to obtain the velocity component solutions in each direction.
4. The method according to claim 3, characterized in that, The construction of the first-order velocity-stress equation set includes: The first-order velocity-stress equations are expressed using the following formulas: W ,t =AW ,x +CW ,z W=[v x ,v z ,s xx ,s zz ,s xz ] Among them, W ,t W represents the derivative of the wave field component with respect to time t. ,x , representing the derivative of the wave field component in the x-direction, W ,z Let W represent the derivative of the wave field component in the z-direction, and let v represent the wave field component. x and v z Let σ represent the velocity components in the x and z directions, respectively. xx and σ zz Let σ represent the stress components in the x and z directions, respectively. xz c represents the shear stress component in the Cartesian coordinate system, located in the xz plane and perpendicular to both the x and z axes. 11 c 13 c 33 c 44 These represent the elastic constants of the vertical and transverse isotropic medium in different directions.
5. The method according to claim 1, characterized in that, The step of performing seismic wave simulation based on the velocity component solution to obtain a snapshot of the seismic wave field includes: The displacement field and stress field are constructed based on the solution results of the velocity components. Determine the grid division of the simulation region; Based on the grid division of the region and the time step, the displacement field and the stress field are updated with wave fields, and a wave field snapshot at a preset time point is captured.
6. The method according to claim 1, characterized in that, The calculation of the difference between the simulated seismic wavefield snapshot and the standard wavefield snapshot output by the serially programmed program includes: The pixel difference between the simulated seismic wavefield snapshot and the standard wavefield snapshot is calculated to obtain the difference value.
7. An elastic wave forward modeling simulation device, characterized in that, include: The data verification module is used to determine the model parameters of the pre-set OpenACC model according to the predetermined seismic wave simulation requirements, confirm the grid step size according to the model parameters, and determine the time step size according to the stability conditions of the OpenACC model. The equation solving module is used to construct a first-order velocity-stress equation system. Using a graphics processor, the first-order velocity-stress equation system is solved based on the staggered mesh finite difference method within each time step to obtain the velocity component solution results. The seismic wave simulation module is used to simulate seismic waves based on the velocity component solution results and obtain a snapshot of the simulated seismic wave field. The difference value judgment module is used to calculate the difference value between the simulated wavefield snapshot of the seismic wave and the standard wavefield snapshot output by the serially programmed program. If the difference value is greater than the preset difference value threshold, the process ends. If the difference value is less than or equal to the difference value threshold, the seismic wave simulation is confirmed to be complete.
8. A computer device, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 6.