Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
GEOLOGIC MODELING FRAMEWORK
Document Type and Number:
WIPO Patent Application WO/2024/064657
Kind Code:
A1
Abstract:
A method can include accessing a finite element cell grid in a depositional space for a geologic environment, where finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; processing the finite element topological cells using one or more scalar fields to generate depositional grid cells, where each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assigning one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment.

Inventors:
BENABBOU AZEDDINE (FR)
VIARD THOMAS (FR)
LAVERNE THOMAS (FR)
MALVESIN EMMANUEL (FR)
Application Number:
PCT/US2023/074546
Publication Date:
March 28, 2024
Filing Date:
September 19, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SCHLUMBERGER TECHNOLOGY CORP (US)
SCHLUMBERGER CA LTD (CA)
SERVICES PETROLIERS SCHLUMBERGER (FR)
GEOQUEST SYSTEMS BV (NL)
International Classes:
G06F30/23; E21B41/00; E21B49/00; G01V1/28; G01V1/48; G06T17/05; G06T17/20; G09B23/40
Attorney, Agent or Firm:
MOONEY, Christopher M. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1 . A method comprising: accessing a finite element cell grid in a depositional space for a geologic environment, finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; processing the finite element topological cells using one or more scalar fields to generate depositional grid cells, each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assigning one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment.

2. The method of claim 1 , wherein the finite element cell grid includes hexahedral cells and the finite element topological cells include hexahedral cells.

3. The method of claim 1 , wherein the one or more scalar fields represent one or more horizons.

4. The method of claim 3, wherein the one or more scalar fields include isovalues.

5. The method of claim 1 , wherein the processing explicitly cuts the finite element topological cells.

6. The method of claim 5, wherein the processing triangulates cuts to the finite element topological cells.

7. The method of claim 1 , wherein the processing implements a hybrid technique that explicitly cuts the finite element topological cells and implicitly cuts the finite element topological cells.

8. The method of claim 7, wherein the hybrid technique performs explicit cuts in one of the depositional space dimensions and performs implicit cuts in another one of the depositional space dimensions.

9. The method of claim 1 , wherein the processing includes implementing a marching cube technique to cut the finite element topological cells.

10. The method of claim 1 , wherein the processing includes extracting a horizon represented by one of the one or more scalar fields in a number of the finite element topological cells.

11 . The method of claim 10, comprising clipping and discarding a portion of the extracted horizon in one or more of the number of the finite element topological cells using the discontinuity.

12. The method of claim 10, comprising interpolating values of the horizon in one or more dimensions of the depositional space.

13. The method of claim 1 , wherein the processing includes removing internal faces of a number of the finite element topological cells to generate the depositional grid cells.

14. The method of claim 13, wherein the depositional grid cells include faces defined by one or more of the discontinuity, at least one of the one or more scalar fields and one or more spatial borders of a depositional grid formed by the depositional grid cells.

15. The method of claim 1 , wherein the discontinuity is a fault.

16. The method of claim 1 , comprising generating the computational model by transforming the depositional grid cells to a real space that corresponds to a physical domain of the geological environment.

17. The method of claim 16, comprising performing a fluid flow simulation using the computational model and a reservoir simulator to generate a fluid production rate.

18. The method of claim 17, comprising performing a comparison of the fluid production rate to an actual fluid production rate and based on the comparison, revising at least one of the scalar fields and re-processing the finite element topological cells.

19. A system comprising: one or more processors; memory accessible to at least one of the one or more processors; processor-executable instructions stored in the memory and executable to instruct the system to: access a finite element cell grid in a depositional space for a geologic environment, finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; process the finite element topological cells using one or more scalar fields to generate depositional grid cells, each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assign one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment.

20. One or more computer-readable storage media comprising processorexecutable instructions to instruct a computing system to: access a finite element cell grid in a depositional space for a geologic environment, finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; process the finite element topological cells using one or more scalar fields to generate depositional grid cells, each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assign one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment.

Description:
GEOLOGIC MODELING FRAMEWORK

RELATED APPLICATIONS

[0001] This application claims priority to and the benefit of a US Provisional Application having Serial No. 63/407,780, filed 19 September 2022, which is incorporated by reference herein in its entirety.

BACKGROUND

[0002] A reservoir can be a subsurface formation that can be characterized at least in part by its porosity and fluid permeability. As an example, a reservoir may be part of a basin such as a sedimentary basin. A basin can be a depression (e.g., caused by plate tectonic activity, subsidence, etc.) in which sediments accumulate. As an example, where hydrocarbon source rocks occur in combination with appropriate depth and duration of burial, a petroleum system may develop within a basin, which may form a reservoir that includes hydrocarbon fluids (e.g., oil, gas, etc.).

[0003] In oil and gas exploration, geoscientists and engineers may acquire and analyze data to identify and locate various subsurface structures (e.g., horizons, faults, geobodies, etc.) in a geologic environment. Various types of structures (e.g., stratigraphic formations) may be indicative of hydrocarbon traps or flow channels, as may be associated with one or more reservoirs (e.g., fluid reservoirs). In the field of resource extraction, enhancements to interpretation can allow for construction of a more accurate model of a subsurface region, which, in turn, may improve characterization of the subsurface region for purposes of resource extraction. Characterization of one or more subsurface regions in a geologic environment can guide, for example, performance of one or more operations (e.g., field operations, etc.). As an example, a more accurate model of a subsurface region may make a drilling operation more accurate as to a borehole’s trajectory where the borehole is to have a trajectory that penetrates a reservoir, etc.

SUMMARY

[0004] A method can include accessing a finite element cell grid in a depositional space for a geologic environment, where finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; processing the finite element topological cells using one or more scalar fields to generate depositional grid cells, where each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assigning one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment. A system can include one or more processors; memory accessible to at least one of the one or more processors; processor-executable instructions stored in the memory and executable to instruct the system to: access a finite element cell grid in a depositional space for a geologic environment, where finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; process the finite element topological cells using one or more scalar fields to generate depositional grid cells, where each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assign one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment. One or more computer-readable storage media can include processorexecutable instructions to instruct a computing system to: access a finite element cell grid in a depositional space for a geologic environment, where finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; process the finite element topological cells using one or more scalar fields to generate depositional grid cells, where each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assign one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment. Various other apparatuses, systems, methods, etc., are also disclosed.

[0005] This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Features and advantages of the described implementations can be more readily understood by reference to the following description taken in conjunction with the accompanying drawings.

[0007] Fig. 1 illustrates an example system that includes various framework components associated with one or more geologic environments;

[0008] Fig. 2 illustrates examples of a basin, a convention and a system;

[0009] Fig. 3 illustrates an example of a system;

[0010] Fig. 4 illustrates examples of representations of a geologic environment and implicit function equations;

[0011] Fig. 5 illustrates an example of a model and an example of a mesh;

[0012] Fig. 6 illustrates an example of a stratigraphic units in a computational space and an example of grid cells in the computational space;

[0013] Fig. 7 illustrates an example of a 3D visualization of a model in a real space and an example of a 3D visualization of a model in a depositional space;

[0014] Fig. 8 illustrates an example of a horizon in a real space and in a depositional space;

[0015] Fig. 9 illustrates an example of a method for representing a geologic environment using a grid;

[0016] Fig. 10 illustrates an example of a hexahedral cell grid cut by discontinuities;

[0017] Fig. 11 illustrates an example of a hexahedral cell cut by a discontinuity to generate two cut cells with two associated topological cells;

[0018] Fig. 12 illustrates an example of a method for extracting a horizon in a topological cell;

[0019] Fig. 13 illustrates an example of a method for interpolating values of a horizon in a topological cells;

[0020] Fig. 14 illustrates an example of a method for extracting another horizon in a topological cell;

[0021] Fig. 15 illustrates an example of a method for extraction of isolines and an example of a method for reconstruction of a depogrid cell;

[0022] Fig. 16 illustrates an example of a workflow; [0023] Fig. 17 illustrates an example of a method and an example of a system;

[0024] Fig. 18 illustrates examples of computer and network equipment; and

[0025] Fig. 19 illustrates example components of a system and a networked system.

DETAILED DESCRIPTION

[0026] This description is not to be taken in a limiting sense, but rather is made merely for the purpose of describing the general principles of the implementations. The scope of the described implementations should be ascertained with reference to the issued claims.

[0027] Fig. 1 shows an example of a system 100 that includes a workspace framework 110 that can provide for instantiation of, rendering of, interactions with, etc., a graphical user interface (GUI) 120. In the example of Fig. 1 , the GUI 120 can include graphical controls for computational frameworks (e.g., applications) 121 , projects 122, visualization 123, one or more other features 124, data access 125, and data storage 126.

[0028] In the example of Fig. 1 , the workspace framework 110 may be tailored to a particular geologic environment such as an example geologic environment 150. For example, the geologic environment 150 may include layers (e.g., stratification) that include a reservoir 151 and that may be intersected by a fault 153. As an example, the geologic environment 150 may be outfitted with a variety of sensors, detectors, actuators, etc. For example, equipment 152 may include communication circuitry to receive and to transmit information with respect to one or more networks 155. Such information may include information associated with downhole equipment 154, which may be equipment to acquire information, to assist with resource recovery, etc. Other equipment 156 may be located remote from a wellsite and include sensing, detecting, emitting or other circuitry. Such equipment may include storage and communication circuitry to store and to communicate data, instructions, etc. As an example, one or more satellites may be provided for purposes of communications, data acquisition, etc. For example, Fig. 1 shows a satellite in communication with the network 155 that may be configured for communications, noting that the satellite may additionally or alternatively include circuitry for imagery (e.g., spatial, spectral, temporal, radiometric, etc.).

[0029] Fig. 1 also shows the geologic environment 150 as optionally including equipment 157 and 158 associated with a well that includes a substantially horizontal portion that may intersect with one or more fractures 159. For example, consider a well in a shale formation that may include natural fractures, artificial fractures (e.g., hydraulic fractures) or a combination of natural and artificial fractures. As an example, a well may be drilled for a reservoir that is laterally extensive. In such an example, lateral variations in properties, stresses, etc. may exist where an assessment of such variations may assist with planning, operations, etc. to develop a laterally extensive reservoir (e.g., via fracturing, injecting, extracting, etc.). As an example, the equipment 157 and/or 158 may include components, a system, systems, etc. for fracturing, seismic sensing, analysis of seismic data, assessment of one or more fractures, etc.

[0030] In the example of Fig. 1 , the GUI 120 shows some examples of computational frameworks, including the DRILLPLAN, PETREL, TECHLOG, PETROMOD, ECLIPSE, and INTERSECT frameworks (SLB, Houston, Texas). [0031] The DRILLPLAN framework provides for digital well construction planning and includes features for automation of repetitive tasks and validation workflows, enabling improved quality drilling programs (e.g., digital drilling plans, etc.) to be produced quickly with assured coherency.

[0032] The PETREL framework can be part of the DELFI cognitive E&P environment (SLB, Houston, Texas) for utilization in geosciences and geoengineering, for example, to analyze subsurface data from exploration to production of fluid from a reservoir.

[0033] The TECHLOG framework can handle and process field and laboratory data for a variety of geologic environments (e.g., deepwater exploration, shale, etc.). The TECHLOG framework can structure wellbore data for analyses, planning, etc.

[0034] The PETROMOD framework provides petroleum systems modeling capabilities that can combine one or more of seismic, well, and geological information to model the evolution of a sedimentary basin. The PETROMOD framework can predict if, and how, a reservoir has been charged with hydrocarbons, including the source and timing of hydrocarbon generation, migration routes, quantities, and hydrocarbon type in the subsurface or at surface conditions. [0035] The ECLIPSE framework provides a reservoir simulator (e.g., as a computational framework) with numerical solutions for fast and accurate prediction of dynamic behavior for various types of reservoirs and development schemes.

[0036] The INTERSECT framework provides a high-resolution reservoir simulator for simulation of detailed geological features and quantification of uncertainties, for example, by creating accurate production scenarios and, with the integration of precise models of the surface facilities and field operations, the INTERSECT framework can produce reliable results, which may be continuously updated by real-time data exchanges (e.g., from one or more types of data acquisition equipment in the field that can acquire data during one or more types of field operations, etc.). The INTERSECT framework can provide completion configurations for complex wells where such configurations can be built in the field, can provide detailed chemical-enhanced-oil-recovery (EOR) formulations where such formulations can be implemented in the field, can analyze application of steam injection and other thermal EOR techniques for implementation in the field, advanced production controls in terms of reservoir coupling and flexible field management, and flexibility to script customized solutions for improved modeling and field management control. The INTERSECT framework, as with the other example frameworks, may be utilized as part of the DELFI cognitive E&P environment, for example, for rapid simulation of multiple concurrent cases. For example, a workflow may utilize one or more of the DELFI on demand reservoir simulation features.

[0037] The aforementioned DELFI environment provides various features for workflows as to subsurface analysis, planning, construction and production, for example, as illustrated in the workspace framework 110. As shown in Fig. 1 , outputs from the workspace framework 110 can be utilized for directing, controlling, etc., one or more processes in the geologic environment 150 and, feedback 160, can be received via one or more interfaces in one or more forms (e.g., acquired data as to operational conditions, equipment conditions, environment conditions, etc.).

[0038] In the example of Fig. 1 , the visualization features 123 may be implemented via the workspace framework 110, for example, to perform tasks as associated with one or more of subsurface regions, planning operations, constructing wells and/or surface fluid networks, and producing from a reservoir.

[0039] As an example, visualization features can provide for visualization of various earth models, properties, etc., in one or more dimensions. As an example, visualization features can provide for rendering of information in multiple dimensions, which may optionally include multiple resolution rendering. In such an example, information being rendered may be associated with one or more frameworks and/or one or more data stores. As an example, visualization features may include one or more control features for control of equipment, which can include, for example, field equipment that can perform one or more field operations. As an example, a workflow may utilize one or more frameworks to generate information that can be utilized to control one or more types of field equipment (e.g., drilling equipment, wireline equipment, fracturing equipment, etc.).

[0040] As to a reservoir model that may be suitable for utilization by a simulator, consider acquisition of seismic data as acquired via reflection seismology, which finds use in geophysics, for example, to estimate properties of subsurface formations. As an example, reflection seismology may provide seismic data representing waves of elastic energy (e.g., as transmitted by P-waves and S-waves, in a frequency range of approximately 1 Hz to approximately 100 Hz). Seismic data may be processed and interpreted, for example, to understand better composition, fluid content, extent and geometry of subsurface rocks. Such interpretation results can be utilized to plan, simulate, perform, etc., one or more operations for production of fluid from a reservoir (e.g., reservoir rock, etc.).

[0041] Field acquisition equipment may be utilized to acquire seismic data, which may be in the form of traces where a trace can include values organized with respect to time and/or depth (e.g., consider 1 D, 2D, 3D or 4D seismic data). For example, consider acquisition equipment that acquires digital samples at a rate of one sample per approximately 4 ms. Given a speed of sound in a medium or media, a sample rate may be converted to an approximate distance. For example, the speed of sound in rock may be on the order of around 5 km per second. Thus, a sample time spacing of approximately 4 ms would correspond to a sample “depth” spacing of about 10 meters (e.g., assuming a path length from source to boundary and boundary to sensor). As an example, a trace may be about 4 seconds in duration; thus, for a sampling rate of one sample at about 4 ms intervals, such a trace would include about 1000 samples where latter acquired samples correspond to deeper reflection boundaries. If the 4 second trace duration of the foregoing example is divided by two (e.g., to account for reflection), for a vertically aligned source and sensor, a deepest boundary depth may be estimated to be about 10 km (e.g., assuming a speed of sound of about 5 km per second).

[0042] As an example, a model may be a simulated version of a geologic environment. As an example, a simulator may include features for simulating physical phenomena in a geologic environment based at least in part on a model or models. A simulator, such as a reservoir simulator, can simulate fluid flow in a geologic environment based at least in part on a model that can be generated via a framework that receives seismic data. A simulator can be a computerized system (e.g., a computing system) that can execute instructions using one or more processors to solve a system of equations that describe physical phenomena subject to various constraints. In such an example, the system of equations may be spatially defined (e.g., numerically discretized) according to a spatial model that that includes layers of rock, geobodies, etc., that have corresponding positions that can be based on interpretation of seismic and/or other data. A spatial model may be a cell-based model where cells are defined by a grid (e.g., a mesh). A cell in a cell-based model can represent a physical area or volume in a geologic environment where the cell can be assigned physical properties (e.g., permeability, fluid properties, etc.) that may be germane to one or more physical phenomena (e.g., fluid volume, fluid flow, pressure, etc.). A reservoir simulation model can be a spatial model that may be cell-based.

[0043] A simulator can be utilized to simulate the exploitation of a real reservoir, for example, to examine different productions scenarios to find an optimal one before production or further production occurs. A reservoir simulator does not provide an exact replica of flow in and production from a reservoir at least in part because the description of the reservoir and the boundary conditions for the equations for flow in a porous rock are generally known with an amount of uncertainty. Certain types of physical phenomena occur at a spatial scale that can be relatively small compared to size of a field. A balance can be struck between model scale and computational resources that results in model cell sizes being of the order of meters; rather than a lesser size (e.g., a level of detail of pores). A modeling and simulation workflow for multiphase flow in porous media (e.g., reservoir rock, etc.) can include generalizing real micro-scale data from macro scale observations (e.g., seismic data and well data) and upscaling to a manageable scale and problem size. Uncertainties can exist in input data and solution procedure such that simulation results too are to some extent uncertain. A process known as history matching can involve comparing simulation results to actual field data acquired during production of fluid from a field. Information gleaned from history matching, can provide for adjustments to a model, data, etc., which can help to increase accuracy of simulation.

[0044] As an example, a simulator may utilize an object-based software framework, which may include entities based on pre-defined classes to facilitate modeling and simulation. As an example, an object class can encapsulate reusable code and associated data structures. Object classes can be used to instantiate object instances for use by a program, script, etc. For example, borehole classes may define objects for representing boreholes based on well data. A model of a basin, a reservoir, etc. may include one or more boreholes where a borehole may be, for example, for measurements, injection, production, etc. As an example, a borehole may be a wellbore of a well, which may be a completed well (e.g., for production of a resource from a reservoir, for injection of material, etc.).

[0045] While several simulators are illustrated in the example of Fig. 1 , one or more other simulators may be utilized, additionally or alternatively. For example, consider the VISAGE geomechanics simulator (SLB, Houston Texas), which includes finite element numerical solvers that may provide simulation results such as, for example, results as to compaction and subsidence of a geologic environment, well and completion integrity in a geologic environment, cap-rock and fault-seal integrity in a geologic environment, fracture behavior in a geologic environment, thermal recovery in a geologic environment, CO2 disposal, etc.

[0046] As mentioned, a framework may be implemented within or in a manner operatively coupled to the DELFI environment, which is a secure, cognitive, cloudbased collaborative environment that integrates data and workflows with digital technologies, such as artificial intelligence and machine learning. As an example, such an environment can provide for operations that involve one or more frameworks. The DELFI environment may be referred to as the DELFI framework, which may be a framework of frameworks. As an example, the DELFI framework can include various other frameworks, which can include, for example, one or more types of models (e.g., simulation models, etc.).

[0047] Fig. 2 shows an example of a sedimentary basin 210 (e.g., a geologic environment), an example of a method 220 for model building (e.g., for a simulator, etc.), an example of a formation 230, an example of a borehole 235 in a formation, an example of a convention 240 and an example of a system 250.

[0048] As an example, data acquisition, reservoir simulation, petroleum systems modeling, etc. may be applied to characterize various types of subsurface environments, including environments such as those of Fig. 1.

[0049] In Fig. 2, the sedimentary basin 210, which is a geologic environment, includes horizons, faults, one or more geobodies and facies formed over some period of geologic time. These features are distributed in two or three dimensions in space, for example, with respect to a Cartesian coordinate system (e.g., x, y and z) or other coordinate system (e.g., cylindrical, spherical, etc.). As shown, the model building method 220 includes a data acquisition block 224 and a model geometry block 228. Some data may be involved in building an initial model and, thereafter, the model may optionally be updated in response to model output, changes in time, physical phenomena, additional data, etc. As an example, data for modeling may include one or more of the following: depth or thickness maps and fault geometries and timing from seismic, remote-sensing, electromagnetic, gravity, outcrop and well log data. Furthermore, data may include depth and thickness maps stemming from facies variations (e.g., due to seismic unconformities) assumed to following geological events (“iso” times) and data may include lateral facies variations (e.g., due to lateral variation in sedimentation characteristics).

[0050] To proceed to modeling of geological processes, data may be provided, for example, data such as geochemical data (e.g., temperature, kerogen type, organic richness, etc.), timing data (e.g., from paleontology, radiometric dating, magnetic reversals, rock and fluid properties, etc.) and boundary condition data (e.g., heat-flow history, surface temperature, paleowater depth, etc.).

[0051] In basin and petroleum systems modeling, quantities such as temperature, pressure and porosity distributions within the sediments may be modeled, for example, by solving partial differential equations (PDEs) using one or more numerical techniques. Modeling may also model geometry with respect to time, for example, to account for changes stemming from geological events (e.g., deposition of material, erosion of material, shifting of material, etc.).

[0052] As shown in Fig. 2, the formation 230 includes a horizontal surface and various subsurface layers. As an example, a borehole may be vertical. As another example, a borehole may be deviated. In the example of Fig. 2, the borehole 235 may be considered a vertical borehole, for example, where the z-axis extends downwardly normal to the horizontal surface of the formation 230. As an example, a tool 237 may be positioned in a borehole, for example, to acquire information. As mentioned, a borehole tool can include one or more sensors that can acquire borehole images via one or more imaging techniques. A data acquisition sequence for such a tool can include running the tool into a borehole with acquisition pads closed, opening and pressing the pads against a wall of the borehole, delivering electrical current into the material defining the borehole while translating the tool in the borehole, and sensing current remotely, which is altered by interactions with the material.

[0053] As to the convention 240 for dip, as shown in Fig. 2, the three dimensional orientation of a plane can be defined by its dip and strike. Dip is the angle of slope of a plane from a horizontal plane (e.g., an imaginary plane) measured in a vertical plane in a specific direction. Dip may be defined by magnitude (e.g., also known as angle or amount) and azimuth (e.g., also known as direction). As shown in the convention 240 of Fig. 2, various angles <j> indicate angle of slope downwards, for example, from an imaginary horizontal plane (e.g., flat upper surface); whereas, dip refers to the direction towards which a dipping plane slopes (e.g., which may be given with respect to degrees, compass directions, etc.). Another feature shown in the convention of Fig. 2 is strike, which is the orientation of the line created by the intersection of a dipping plane and a horizontal plane (e.g., consider the flat upper surface as being an imaginary horizontal plane).

[0054] Some additional terms related to dip and strike may apply to an analysis, for example, depending on circumstances, orientation of collected data, etc. One term is “true dip” (see, e.g., Dip? in the convention 240 of Fig. 2). True dip is the dip of a plane measured directly perpendicular to strike (see, e.g., line directed northwardly and labeled “strike” and angle afa) and also the maximum possible value of dip magnitude. Another term is “apparent dip” (see, e.g., DipA in the convention 240 of Fig. 2). Apparent dip may be the dip of a plane as measured in any other direction except in the direction of true dip (see, e.g., fa as DipA for angle a); however, it is possible that the apparent dip is equal to the true dip (see, e.g., ^ as DipA = Dip? for angle a 9 o with respect to the strike). In other words, where the term apparent dip is used (e.g., in a method, analysis, algorithm, etc.), for a particular dipping plane, a value for “apparent dip” may be equivalent to the true dip of that particular dipping plane.

[0055] As shown in the convention 240 of Fig. 2, the dip of a plane as seen in a cross-section perpendicular to the strike is true dip (see, e.g., the surface with ^ as DipA = Dip? for angle ago with respect to the strike). As indicated, dip observed in a cross-section in any other direction is apparent dip (see, e.g., surfaces labeled DipA). Further, as shown in the convention 240 of Fig. 2, apparent dip may be approximately 0 degrees (e.g., parallel to a horizontal surface where an edge of a cutting plane runs along a strike direction).

[0056] In terms of observing dip in wellbores, true dip is observed in wells drilled vertically. In wells drilled in any other orientation (or deviation), the dips observed are apparent dips (e.g., which are referred to by some as relative dips). In order to determine true dip values for planes observed in such boreholes, as an example, a vector computation (e.g., based on the borehole deviation) may be applied to one or more apparent dip values.

[0057] As mentioned, another term that finds use in sedimentological interpretations from borehole images is “relative dip” (e.g., Dipp). A value of true dip measured from borehole images in rocks deposited in very calm environments may be subtracted (e.g., using vector-subtraction) from dips in a sand body. In such an example, the resulting dips are called relative dips and may find use in interpreting sand body orientation.

[0058] A convention such as the convention 240 may be used with respect to an analysis, an interpretation, an attribute, etc. As an example, various types of features may be described, in part, by dip (e.g., sedimentary bedding, faults and fractures, cuestas, igneous dikes and sills, metamorphic foliation, etc.). As an example, dip may change spatially as a layer approaches a geobody. For example, consider a salt body that may rise due to various forces (e.g., buoyancy, etc.). In such an example, dip may trend upward as a salt body moves upward.

[0059] Seismic interpretation may aim to identify and/or classify one or more subsurface boundaries based at least in part on one or more dip parameters (e.g., angle or magnitude, azimuth, etc.). As an example, various types of features (e.g., sedimentary bedding, faults and fractures, cuestas, igneous dikes and sills, metamorphic foliation, etc.) may be described at least in part by angle, at least in part by azimuth, etc.

[0060] As shown in Fig. 2, the system 250 includes one or more information storage devices 252, one or more computers 254, one or more networks 260 and instructions 270. As to the one or more computers 254, each computer may include one or more processors (e.g., or processing cores) 256 and memory 258 for storing instructions, for example, consider the instructions 270 as including instructions executable by at least one of the one or more processors. As an example, a computer may include one or more network interfaces (e.g., wired or wireless), one or more graphics cards (e.g., one or more GPUs, etc.), a display interface (e.g., wired or wireless), etc. As an example, imagery such as surface imagery (e.g., satellite, geological, geophysical, etc.) may be stored, processed, communicated, etc. As an example, data may include SAR data, GPS data, etc. and may be stored, for example, in one or more of the storage devices 252. As an example, the system 250 may be local, remote or in part local and in part remote. As to remote resources, consider one or more cloud-based resources (e.g., as part of a cloud platform, etc.).

[0061] As an example, the instructions 270 may include instructions (e.g., stored in memory) executable by one or more processors to instruct the system 250 to perform various actions. As an example, the system 250 may be configured such that the instructions 270 provide for establishing one or more aspects of the workspace framework 110 of Fig. 1 . As an example, one or more methods, techniques, etc. may be performed at least in part via instructions, which may be, for example, instructions of the instructions 270 of Fig. 2.

[0062] Fig. 3 shows an example of a system 300 that includes a geological/geophysical data block 310, a surface models block 320 (e.g., for one or more structural models), a volume modules block 330, an applications block 340, a numerical processing block 350 and an operational decision block 360. As shown in the example of Fig. 3, the geological/geophysical data block 310 can include data from well tops or drill holes 312, data from seismic interpretation 314, data from outcrop interpretation and optionally data from geological knowledge. As to the surface models block 320, it may provide for creation, editing, etc. of one or more surface models based on, for example, one or more of fault surfaces 322, horizon surfaces 324 and optionally topological relationships 326. As to the volume models block 330, it may provide for creation, editing, etc. of one or more volume models based on, for example, one or more of boundary representations 332 (e.g., to form a watertight model), structured grids 334 and unstructured meshes 336.

[0063] As shown in the example of Fig. 3, the system 300 may allow for implementing one or more workflows, for example, where data of the data block 310 are used to create, edit, etc. one or more surface models of the surface models block 320, which may be used to create, edit, etc. one or more volume models of the volume models block 330. As indicated in the example of Fig. 3, the surface models block 320 may provide one or more structural models, which may be input to the applications block 340. For example, such a structural model may be provided to one or more applications, optionally without performing one or more processes of the volume models block 330 (e.g., for purposes of numerical processing by the numerical processing block 350). Accordingly, the system 300 may be suitable for one or more workflows for structural modeling (e.g., optionally without performing numerical processing per the numerical processing block 350).

[0064] As to the applications block 340, it may include applications such as a well prognosis application 342, a reserve calculation application 344 and a well stability assessment application 346. As to the numerical processing block 350, it may include a process for seismic velocity modeling 351 followed by seismic processing 352, a process for facies and petrophysical property interpolation 353 followed by flow simulation 354, and a process for geomechanical simulation 355 followed by geochemical simulation 356. As indicated, as an example, a workflow may proceed from the volume models block 330 to the numerical processing block 350 and then to the applications block 340 and/or to the operational decision block 360. As another example, a workflow may proceed from the surface models block 320 to the applications block 340 and then to the operational decisions block 360 (e.g., consider an application that operates using a structural model).

[0065] In the example of Fig. 3, the operational decisions block 360 may include a seismic survey design process 361 , a well rate adjustment process 352, a well trajectory planning process 363, a well completion planning process 364 and a process for one or more prospects, for example, to decide whether to explore, develop, abandon, etc. a prospect.

[0066] Referring again to the data block 310, the well tops or drill hole data 312 may include spatial localization, and optionally surface dip, of an interface between two geological formations or of a subsurface discontinuity such as a geological fault; the seismic interpretation data 314 may include a set of points, lines or surface patches interpreted from seismic reflection data, and representing interfaces between media (e.g., geological formations in which seismic wave velocity differs) or subsurface discontinuities; the outcrop interpretation data 316 may include a set of lines or points, optionally associated with measured dip, representing boundaries between geological formations or geological faults, as interpreted on the earth surface; and the geological knowledge data 318 may include, for example knowledge of the paleo-tectonic and sedimentary evolution of a region.

[0067] As to a structural model, it may be, for example, a set of gridded or meshed surfaces representing one or more interfaces between geological formations (e.g., horizon surfaces) or mechanical discontinuities (fault surfaces) in the subsurface. As an example, a structural model may include some information about one or more topological relationships between surfaces (e.g. fault A truncates fault B, fault B intersects fault C, etc.).

[0068] As to the one or more boundary representations 332, they may include a numerical representation in which a subsurface model is partitioned into various closed units representing geological layers and fault blocks where an individual unit may be defined by its boundary and, optionally, by a set of internal boundaries such as fault surfaces.

[0069] As to the one or more structured grids 334, it may include a grid that partitions a volume of interest into different elementary volumes (cells), for example, that may be indexed according to a pre-defined, repeating pattern. As to the one or more unstructured meshes 336, it may include a mesh that partitions a volume of interest into different elementary volumes, for example, that may not be readily indexed following a pre-defined, repeating pattern (e.g., consider a Cartesian cube with indexes I, J, and K, along x, y, and z axes).

[0070] As to the seismic velocity modeling 351 , it may include calculation of velocity of propagation of seismic waves (e.g., where seismic velocity depends on type of seismic wave and on direction of propagation of the wave). As to the seismic processing 352, it may include a set of processes allowing identification of localization of seismic reflectors in space, physical characteristics of the rocks in between these reflectors, etc.

[0071] As to the facies and petrophysical property interpolation 353, it may include an assessment of type of rocks and of their petrophysical properties (e.g. porosity, permeability), for example, optionally in areas not sampled by well logs or coring. As an example, such an interpolation may be constrained by interpretations from log and core data, and by prior geological knowledge.

[0072] As to the flow simulation 354, as an example, it may include simulation of flow of hydro-carbons in the subsurface, for example, through geological times (e.g., in the context of petroleum systems modeling, when trying to predict the presence and quality of oil in an un-drilled formation) or during the exploitation of a hydrocarbon reservoir (e.g., when some fluids are pumped from or into the reservoir).

[0073] As to geomechanical simulation 355, it may include simulation of the deformation of rocks under boundary conditions. Such a simulation may be used, for example, to assess compaction of a reservoir (e.g., associated with its depletion, when hydrocarbons are pumped from the porous and deformable rock that composes the reservoir). As an example a geomechanical simulation may be used for a variety of purposes such as, for example, prediction of fracturing, reconstruction of the paleo-geometries of the reservoir as they were prior to tectonic deformations, etc.

[0074] As to geochemical simulation 356, such a simulation may simulate evolution of hydrocarbon formation and composition through geological history (e.g., to assess the likelihood of oil accumulation in a particular subterranean formation while exploring new prospects). [0075] As to the various applications of the applications block 340, the well prognosis application 342 may include predicting type and characteristics of geological formations that may be encountered by a drill-bit, and location where such rocks may be encountered (e.g., before a well is drilled); the reserve calculations application 344 may include assessing total amount of hydrocarbons or ore material present in a subsurface environment (e.g., and estimates of which proportion can be recovered, given a set of economic and technical constraints); and the well stability assessment application 346 may include estimating risk that a well, already drilled or to-be-drilled, will collapse or be damaged due underground stress.

[0076] As to the operational decision block 360, the seismic survey design process 361 may include deciding where to place seismic sources and receivers to optimize the coverage and quality of the collected seismic information while minimizing cost of acquisition; the well rate adjustment process 362 may include controlling injection and production well schedules and rates (e.g., to maximize recovery and production); the well trajectory planning process 363 may include designing a well trajectory to maximize potential recovery and production while minimizing drilling risks and costs; the well trajectory planning process 364 may include selecting proper well tubing, casing and completion (e.g., to meet expected production or injection targets in specified reservoir formations); and the prospect process 365 may include decision making, in an exploration context, to continue exploring, start producing or abandon prospects (e.g., based on an integrated assessment of technical and financial risks against expected benefits).

[0077] Fig. 4 shows an example of a plot of a geologic environment 400 that may be represented in part by the convention 240 of Fig. 2. As an example, a method may employ implicit modeling to analyze the geologic environment, for example, as shown in the plots 402, 403, 404 and 405. Fig. 4 also shows an example of a control point constraints formulation 410 and an example of a linear system of equations formulation 430, which pertain to an implicit function (<p).

[0078] In Fig. 4, the plot of the geologic environment 400 may be based at least in part on input data, for example, related to one or more fault surfaces, horizon points, etc. As an example, one or more features in such a geologic environment may be characterized in part by dip. [0079] Referring to the plots 402, 403, 404 and 405 of Fig. 4, these may represent portions of a method that can generate a model of a geologic environment such as the geologic environment represented in the plot 210 of Fig. 2.

[0080] As an example, a volume based modeling (VBM) method may include receiving input data (see, e.g., the plot 400); generating a volume mesh, which may be, for example, an unstructured tetrahedral mesh (see, e.g., the plot 402); calculating implicit function values, which may represent stratigraphy and which may be optionally rendered using a periodic map (see, e.g., the plot 403 and the implicit function cp as represented using periodic mapping); extracting one or more horizon surfaces as iso-surfaces of the implicit function (see, e.g., the plot 404); and generating a watertight model of geological layers, which may optionally be obtained by subdividing a model at least in part via implicit function values (see, e.g., the plot 405).

[0081] As an example, an implicit function calculated for a geologic environment includes isovalues that may represent stratigraphy of modeled layers. For example, depositional interfaces identified via interpretations of seismic data (e.g., signals, reflectors, etc.) and/or on borehole data (e.g., well tops, etc.) may correspond to iso-surfaces of the implicit function. As an example, where reflectors correspond to isochronous geological sequence boundaries, an implicit function may be a monotonous function of stratigraphic age of geologic formations.

[0082] As an example, a process for creating a geological model may include: building an unstructured faulted 2D mesh (e.g., if a goal is to build a cross section of a model) or a 3D mesh from a watertight representation of a fault network; representing, according to an implicit function-based volume attribute, stratigraphy by performing interpolations on the built mesh; and cutting the built mesh based at least in part on iso-surfaces of the attribute to generate a volume representation of geological layers. Such a process may include outputting one or more portions of the volume representation of the geological layers (e.g., for a particular layer, a portion of a layer, etc.).

[0083] As an example, to represent complex depositional patterns, sequences that may be separated by one or more geological unconformities may optionally be modeled using one or more volume attributes. As an example, a method may include accounting for timing of fault activity (e.g., optionally in relationship to deposition) during construction of a model, for example, by locally editing a mesh on which interpolation is performed (e.g., between processing of two consecutive conformable sequences).

[0084] Referring to the control point constraints formulation 410, a tetrahedral cell 412 is shown as including a control point 414. As an example, an implicit function may be a scalar field. As an example, an implicit function may be represented as a property or an attribute, for example, for a volume (e.g., a volume of interest). As an example, the aforementioned PETREL framework may include a volume attribute that includes spatially defined values that represent values of an implicit function.

[0085] As an example, as shown with respect to the linear system of equations formulation 430, a function “F” may be defined for coordinates (x, y, z) and equated with an implicit function denoted cp. As to constraint values, the function F may be such that each input horizon surface “I” corresponds to a known constant value hi of cp. For example, Fig. 4 shows nodes (e.g., vertices) of the cell 412 as including ao, ai , a2 and as as well as corresponding values of cp (see column vector). As to the values value hi of cp, if a horizon I is younger than horizon J, then hi > hj and, if one denotes T_ij* as an average thickness between horizons I and J, then (hk - hi)/(hj - hi) ~ T_ik*/Tij* , for which a method can include estimating values of T_ij* before an interpolation is performed. Note that such a method may, as an example, accept lower values hi of c for younger horizons, where, for example, a constraint being that, within each conformal sequence, the values hi of cp vary monotonously with respect to the age of the horizons.

[0086] As to interpolation of “F”, as an example, cp may be interpolated on nodes of a background mesh (e.g., a triangulated surface in 2D, a tetrahedral mesh in 3D, a regular structured grid, quad/octrees, etc.) according to several constraints that may be honored in a least squares sense. In such an example, as the background mesh may be discontinuous along faults, interpolation may be discontinuous as well; noting that “regularization constraints” may be included, for example, for constraining smoothness of interpolated values.

[0087] As an example, a method may include using fuzzy control point constraints. For example, at a location of interpretation points, hi of cp (see, e.g. point a* in Fig. 4). As an example, an interpretation point may be located at a location other than that of a node of a mesh onto which an interpolation is performed, for example, as a numerical constraint may be expressed as a linear combination of values of cp at nodes of a mesh element (e.g. a tetrahedron, tetrahedral cell, etc.) that includes the interpretation point (e.g., coefficients of a sum being barycentric coordinates of the interpretation point within the element or cell).

[0088] For example, for an interpretation point p of a horizon I located inside a tetrahedron which includes vertices are ao, ai , a2 and as and which barycentric coordinates are bo, bi , b2 and bs (e.g., such that the sum of the barycentric coordinates is approximately equal to 1 ) in the tetrahedron, an equation may be formulated as follows: bo cp(ao) + bi cp(ai) + b2 <p(a2) + bs cp(as) = hi where unknowns in the equation are cp(ao), <p(ai), cp(a2) and cp(as). For example, refer to the control point <p(a*), labeled 414 in the cell 412 of the control point constraints formulation 410 of Fig. 4, with corresponding coordinates (x*,y*, z*); noting a matrix “M” for coordinates of the nodes or vertices for ao, ai , a2 and as, (e.g., xo, yo, zo to xs, ys, zs).

[0089] As an example, a number of such constraints of the foregoing type may be based on a number of interpretation points where, for example, interpretation points may be for decimated interpretation (e.g., for improving performance).

[0090] As mentioned, a process may include implementing various regularization constraints, for example, for constraining smoothness of interpolated values, of various orders (e.g., constraining smoothness of cp or of its gradient Vcp), which may be combined, for example, through a weighted least squares scheme.

[0091] As an example, a method can include constraining the gradient Vcp in a mesh element (e.g. a tetrahedron, a tetrahedral cell, etc.) to take an arithmetic average of values of the gradients of cp (e.g., a weighted average) with respect to its neighbors (e.g., topological neighbors). As an example, one or more weighting schemes may be applied (e.g. by volume of an element) that may, for example, include defining of a topological neighborhood (e.g., by face adjacency). As an example, two geometrically “touching” mesh elements that are located on different sides of a fault may be deemed not topological neighbors, for example, as a mesh may be “unsewn” along fault surfaces (e.g., to define a set of elements or a mesh on one side of the fault and another set of elements or a mesh on the other side of the fault).

[0092] As an example, within a mesh, if one considers a mesh element mi that has n neighbors rrij (e.g., for a tetrahedron), one may formulate an equation of an example of a regularization constraint as follows:

[0093] In such an example of a regularization constraint, solutions for which isovalues of the implicit function would form a “flat layer cake” or “nesting balls” geometries may be considered “perfectly smooth” (i.e. not violating the regularization constraint), it may be that a first one is targeted.

[0094] As an example, one or more constraints may be incorporated into a system in linear form. For example, hard constraints may be provided on nodes of a mesh (e.g., a control node). In such an example, data may be from force values at the location of well tops. As an example, a control gradient, or control gradient orientation, approach may be implemented to impose dip constraints.

[0095] Referring again to Fig. 4, the linear system of equations formulation 330 includes various types of constraints. For example, a formulation may include harmonic equation constraints, control point equation constraints (see, e.g., the control point constraints formulation 410), gradient equation constraints, constant gradient equation constraints, etc. As shown in Fig. 4, a matrix A may include a column for each node and a row for each constraint. Such a matrix may be multiplied by a column vector such as the column vector <p(as) (e.g., or <p), for example, where the index “i” corresponds to a number of nodes, vertices, etc. for a mesh (e.g., a double index may be used, for example, aij, where j represents an element or cell index). As shown in the example of Fig. 4, the product of A and the vector cp may be equated to a column vector F (e.g., including non-zero entries where appropriate, for example, consider ^control point and ^gradient). [0096] Fig. 4 shows an example of a harmonic constraint graphic 434 and an example of a constant gradient constraint graphic 438. As shown per the graphic 434, nodes may be constrained by a linear equation of a harmonic constraint (e.g., by topological neighbors of a common node). As shown per the graphic 438, two tetrahedra may share a common face (cross-hatched), which is constrained to share a common value of a gradient of the implicit function <p, which, in the example of Fig. 4, constrains the value of cp at the 5 nodes of the two tetrahedra.

[0097] As an example, regularization constraints may be used to control interpolation of an implicit function, for example, by constraining variations of a gradient of the implicit function. As an example, constraints may be implemented by specifying (e.g., as a linear least square constraint) that the gradient should be similar in two co-incident elements of a mesh or, for example, by specifying that, for individual elements of a mesh, that a gradient of the implicit function should be an average of the gradients of the neighboring elements. In geological terms, such constraints may translate to (1 ) minimization of variations of dip and thickness of individual layers, horizontally, and (2) to minimization of the change of relative layer thicknesses, vertically.

[0098] As explained with respect to Fig. 4, a model may utilize an unstructured grid such as a tetrahedral grid as in the plot 402 where the faults are explicitly modeled. If a change is to be made to a position of a fault, the model may demand re-gridding (e.g., re-meshing), which can be computationally demanding. As an example, a method can include utilizing a hexahedral grid where one or more discontinuities are embedded in the hexahedral grid in a manner that results in relatively flexible gridding that can be readily adapted to one or more changes.

[0099] As an example, a method can include computing a depositional space using a hexahedral grid, which may be referred to as a hexcell representation as the hexahedral grid includes hexahedral cells.

[0100] Accurate subsurface modeling can demand adequate representations of discontinuities such as faults and erosions. As an example, a hexcell approach can provide efficient data structures and can implement various algorithms to handle such discontinuities and to build structural model representations. As mentioned, a structural model built using a hexcell approach can be used as a base model to generate a depositional space model, which may be referred to as a model or representation in a depositional space.

[0101] Fig. 5 shows an example of a geological model 510 in a real space where the geological model 510 can include stratigraphic units, horizons and faults where layers between horizons can be characterized with properties (e.g., facies, etc.). As shown, a mesh 540 can be utilized to discretize the geological model 510. In the example of Fig. 5, the mesh 540 is an unstructured mesh that can be composed of triangular elements in 2D and tetrahedra in 3D.

[0102] FIG. 6 shows an example of a computational space 600 (e.g., a depositional domain or depositional space) that includes the four stratigraphic units of Fig. 5. In the example of Fig. 6, the four stratigraphic units are shown with respect to two dimensions (W, U) of a coordinate system for the depositional domain. As shown, in each of the stratigraphic units, horizons align with the U coordinate (e.g., as mentioned, a depositional domain may be characterized as including isochrons that tend to be planar and parallel). Thus, the four stratigraphic units in the computational space 600 (e.g., a depositional domain) include horizons that are unfolded and unfaulted (see, e.g., horizontal lines intersecting thick lines that may represent discontinuities such as geological faults). As to limits of a stratigraphic unit, as shown in the example of Fig 6, each of the units includes at least one “limit” that does not conform to an “isochron”. For example, a limit or limits of a stratigraphic unit may be an unconformal or an “unconformity” (e.g., erosions, baselaps, discontinuities, etc.), for example, it may correspond to a gap in a geological record. Again, as shown in the units of Figs. 5 and 6, such particular “horizons” are not flat in the computational space 600 (e.g., a depositional domain), for example, see the upper portion of Unit 4. Depending on its geological type (baselap, erosion, discontinuity), an “unconformity” may be conformal to the stratigraphic unit below it while not being conformal to the unit above it (“baselap”, see, e.g., top of unit 3 in Fig. 6), non-conformal to both units above and below (“discontinuity”, see, e.g., top of unit 4 in Fig. 6) or conformal to the unit above but not to the unit below (“erosion”, not shown in Fig. 6). As an example, an unconformity surface being represented by two different surfaces in a depositional space (e.g., one for a stratigraphic unit above and one for a stratigraphic unit below), the surface (if any) representing a conformable boundary can be flat. Moreover, due to lateral variation in sedimentation characteristics, the geological type of an horizon may vary laterally (e.g., an horizon may be fully conformable in part of the area of interest and non-conformal to at least one of the two stratigraphic unit it is limiting in another part of the model). As an example, such horizon may be flat on part of a VOI in a depositional space (e.g., computational space).

[0103] Given some examples of a geological model in a real space (e.g., a geological domain), a conformal mesh in a real space (e.g., a geological domain) and stratigraphic units in a computational space (e.g., a depositional domain), various examples of aspects of building a grid are described.

[0104] As an example, given a computational space (e.g., a depositional domain), an initial, at least vertically structured grid may be created that covers at least a portion of the computational space. For example, the initial at least vertically structured grid may cover a portion of the computational space that includes one or more stratigraphic units. To create the initial at least vertically structured grid, a mesh defined by nodes in a real space (e.g., a geological domain) may be provided that includes computational space coordinates associated with each of the nodes. For example, for the mesh 540 of Fig. 5, each of the nodes in the real space may include or otherwise be associated with coordinates for the computational space 600 of Fig. 6. Thus, in such an example, a mapping may occur for a node of the mesh 540 to a position in the computational space 600. As the mesh 540 is a conformal mesh, the stratigraphic units and geological discontinuities of the geological model 510 may be mapped to the computational space 600. Accordingly, the mesh 540 may serve as a reference for features that exist in the geological model 510. As an example, a mesh, a grid, nodes, grid cells, etc., may be represented by one or more data structures populated with various information (e.g., coordinates of one or more coordinate systems, etc.). As an example, such a data structure may be stored in a data store (e.g., a data storage device).

[0105] Fig. 6 also shows an example of initial grid cells 630 in a three dimensional computational space (U, V, W). In this example, the initial grid cells are defined by an initial grid that is at least vertically structured (e.g., vertically and horizontally structured or vertically structured). As an example, in the three spatial dimensions, to create an initial at least vertically structured grid, it is possible to loop over nodes of a conformal mesh (e.g., on which computational space coordinates are stored), and to record minimum and maximum values of each of the computational space coordinates (e.g., for U, V and W: min u , min v , min w , maxu, max v and maxw, respectively).

[0106] As an example, in the three-dimensional computational space (U, V, W) eight points defined as (minu, min v , min w ), (max u , min v , min w ), (max u , max v , min w ), (min u , maxv, min w ), (minu, min v , max w ), (maxu, min v , max w ), (maxu, max v , max w ), and (min u , maxv, max w ) define a cuboid in which a produced grid may fit (e.g., that includes grid cells and optionally sub cells). As an example, assuming a grid is defined by i, j, k indices in an indexical coordinate system (I, J, K) and that a number of grid cells in each of the indexical coordinate system directions I, J and K may be referred to as Ni, Nj and Nk, respectively, then former points may be respectively associated with grid nodes with indices (0, 0, 0), (Ni, 0, 0), (Ni, Nj, 0), (0, Nj, 0), (0, 0, Nk), (Ni, 0, Nk), (Ni, Nj, Nk), and (0, Nj, Nk). In such an example, the I and J directions align with the U and V directions, respectively; noting that as a general case, I and J directions may be oriented in any of a variety of orientations in a computational space. To facilitate grid building, however, the K direction of the indexical coordinate system may be aligned with the W direction of the computational space coordinate system (e.g., as a height or depth dimension as in a pillar grid).

[0107] As shown in the example of Fig. 6, for the initial grid cells 630, where the K direction is oriented vertically, a k value may be assigned to each horizon identified between the top (k = Nk by convention) and the bottom (k = 0 by convention) of a geological model. Such a k value, “ks”, depends of a number of grid cells m for each layer Li of a model (e.g., which may be assumed to be known): ki = sum (j = 1 to i) nj. The w coordinates attached to the k values may be known where they correspond to horizons in the computational space (see, e.g., example horizons in the computational space 600 of Fig. 6). For w coordinates attached to remaining k values, these may be computed using, for example, a linear interpolation inside a layer to which they belong. As to u and v coordinates of grid nodes, these may be computed as follows for examples where grid geometry is regular with respect to their directions: u(i, j, k) = min u + i((max u - min u )/Ni), and v(i, j, k) = min v + j((max v - min v )/Nj). In the example of Fig. 6, the computational space geometry of an at least vertically structured grid may be defined where grid nodes may optionally include consistent computational space coordinates (u, v, w). As shown in the example of Fig. 6, the initial grid cells 630 may be regular cuboids that may be specified according to grid cell indices (e.g., in the indexical coordinate system I, J, K). In the example of Fig. 6, initial grid cells may include shapes other than regular cuboids (e.g., where they are at least vertically structured).

[0108] As an example, consider a method where the initial grid cells 630 of Fig. 6 may correspond to a provision block that provides a grid in a computational space that includes nodes that define grid cells. In the example of Fig. 6, the initial grid cells 630, as well as the nodes that define these cells, are structured and horizons (e.g., iso-w, as in the example of Fig. 5) may be assigned to specific k coordinates according to a number of layers (e.g., three layers) and a number of desired cells in each of the layers (e.g., 4, 2, and 7, respectively). In the example of Fig. 6, the grid of the initial grid cells 630 is regular in the I and J directions, which are aligned respectively with the U and V directions, noting again that these axes of the grid may have another orientation in a computational space.

[0109] Fig. 7 shows an example of a process 730 for transforming a model in a real space 710 to a model in a depositional space 750. As explained, a method can include building a grid that accounts for one or more faults in a manner where an indexical structure of the grid is preserved (e.g., a structured grid that accounts for one or more faults). Such a method may include use of multiple coordinate systems, which may be referred to at times, for example, as “domains” or “spaces”. For example, a method may include use of a “real” space or domain and a “computational” space or domain. As to a real space or domain, it may be referred to at times, for example, as a geological space or domain. As to a computational space or domain, it may be referred to at times, for example, as a depositional space or domain. Again, a space or domain may be defined using a coordinate system, which may be Cartesian or any another form.

[0110] For a sedimentary basin, a computational space (e.g., or depositional domain) may be characterized, for example, as a space: (i) where isochrons (conformable horizons) identified within a real space (e.g., a geological domain) tend to be planar and parallel, (ii) where each point of the computational space located inside a stratigraphic sequence may include a corresponding location in a later-day real space (e.g., a present-day space), and (iii) where geometry of a real space tends to be physically relevant (e.g., representative of actual physical features). [0111] In the example of Fig. 7, the model in the real space 710 includes a fault 711 as well as various layers 712, 714, 716 and 718. As shown, the layers 712 and 714 correspond to a common event and the layers 716 and 718 correspond to a common event, for example, where on one side of the fault 711 , the layer 718 is exposed, for example, due to erosion (e.g., or non-deposited material). As to the model in the computational space 750, a corresponding fault 751 exists along with corresponding layers exist 752, 754, 756 and 758. For the model in the computational space 750, geological unconformities have not been flattened and eroded or non-deposited material is represented by a gap between layers 752 and 756 and layers 754 and 758 in the computational space.

[0112] As explained, a depositional space is a space in which each geological layer has been flattened which allows a simple mapping between each horizontal slice and a depositional property. In particular, the depositional space is well-suited for generation of a simulation grid because a horizontal layer of cells will share the same deposition age and property.

[0113] In contrast to method that computes a depositional space on top of a structural model represented by a tetrahedral mesh (see, e.g., the mesh 540), a method can include computing a depositional space on to of a hexcell representation. Such a depositional space may be referred to as a H-depositional space where “H” indicates that it is computed using a hexcell representation rather than a tetrahedral mesh.

[0114] A depositional space can be utilized to generate a depositional grid. For example, a workflow may commence with a structural model to compute a depositional space that can be utilized to generate a depositional grid where assigned properties in the depositional grid can be transformed back to a current day geometry. In such an example, the current day geometry with the assigned properties can be utilized as a basis for one or more simulations, analyses, etc.

[0115] As mentioned, a hexcell approach may be utilized where a method can consume a structural model built with a hexcell representation to compute a depositional space.

[0116] A depositional space can be computed by deforming an underlying mesh made of hexahedral cells. While computation of deformation can be relatively straightforward because hexahedral cells can be handled as finite elements, a method can take various considerations into account to generate a valid depositional space. In particular, a method can handle scenarios where hexahedral cells overlap in zones containing discontinuities, which makes the hexcell approach different from a standard volume-based approach that does not include overlaps.

[0117] As an example, a framework can include one or more components for computation of a depositional space. For example, consider a framework that includes components for different options to compute a depositional space where the different options include at least one explicit option and include at least one implicit option.

[0118] As to an explicit option, each horizon can be explicitly included in a representation. Such an approach implies that each cell containing a horizon surface is divided such that two cells exist within a common space where one cell represents a zone below the horizon and another cell represents a zone above the horizon. While such an explicit option increases the number of hexahedral cells to represent a model, each zone can be represented independently (e.g., as a subset of cut cells and associated hexahedral cells), which allows for greater flexibility. For instance, a framework can set a particular material property to each layer and/or introduce sliding constraints between two layers separated by a horizon. Such an approach may help to facilitate a workflow that includes, for example, restoration. [0119] As to an implicit option, consider a scenario where horizons are not explicitly in a hexcell representation and where horizons can be represented as isovalues of a stratigraphic function (e.g., an implicit function). Such an option may suffice for early developments in a depositional space for one or more conformable sequences. Where an implicit representation of horizons is implemented, a framework may operate without using an algorithm that introduces horizons in a hexcell representation. Such an approach may help to maintain a moderate number of hexahedral cells in a model while still allowing for computation of a depositional space.

[0120] A depositional space computation can include assigning a target depth value to each node of a grid which will flatten geological layers. For example, consider a framework that includes one or more components for computing a mapping between a stratigraphic attribute computed in a hexcell representation and horizontal depth (e.g., z-value) using linear regression. Such a mapping allows for assignment of a unique depth to each point. Iso-values (e.g., points that are located on the same geological horizon) can be assigned to the same depth and therefore will be flat. In such an approach, the z displacement of each node is known explicitly such that a reduction in the number of degrees of freedom can occur from 3n to 2n where n is the number of nodes. For example, consider a framework that can compute the displacement in x and y directions while z displacement of nodes is known. In such an example, a formulated problem is smaller, which can demand lesser computational resources and/or allow for expedited computing (e.g., a solution in lesser time).

[0121] As mentioned, a finite element approach may be utilized. For example, consider a framework that computes deformation using a finite element method (FEM). In such an example, a framework can set a number of boundary conditions. For instance, for faults, during deformation, there is to be zero gap. Hence, this condition can be enforced by adding specific constraints on hexcell grid nodes displacement. As faults may be discretized as triangulated surfaces, a gap between two sides of a surface can be discretized either as a nodal gap or a surface gap. As to a surface gap, consider a surface to surface discretization. In such an example, a framework can compute a single point quadrature per fault triangle and find its closest projection on the other side of the same fault. A constraint for a zero gap between the quadrature point and its projection can introduce a specific constraint between the displacement of the involved nodes.

[0122] As explained, natural resources can exist in a geologic environment where the geologic environment can be modeled, for example, to locate natural resources, to assess natural resources, to perform one or more simulations as to physical phenomena that may be relevant to accessing natural resources, producing natural resources, etc. As an example, a geologic environment may be suitable for storage of fluid. For example, consider a reservoir that may be suitable to store water, oil, gas, etc.

[0123] Modeling of a geologic environment can include model generation where a grid (e.g., a mesh), a meshless approach and/or a hybrid grid and meshless approach may be utilized. In modeling, model building can aim to represent structures that exist in a geologic environment, particularly structures that may impact flow of fluid, seismic imaging, etc. Representation of structures (e.g., objects) in a model can increase model complexity, which, in turn, may increase complexity of one or more tasks such as discretization, simulation, etc. In various instances, a simulator may rely on systems of equations that are spatially discretized by a grid. If a grid includes grid cells that may be of undesirable shapes, the ability of the simulator to solve a system of equations may be hindered. For example, a grid cell with a high aspect ratio (e.g., 100 to 1 ) may present issues during simulation, especially where such a grid cell relates to a subsurface object, which may result in high gradients as to flow, heat transfer, seismic velocity, etc. In the field of numerical experimentation, discretization may be finer in a region where high gradients exist such that a simulator can more accurately compute a high gradient over smaller intervals.

[0124] As explained, a model can aim to accurately represent objects in a physical space such that simulations using the model can generate better results or, in some instances, merely generate results. A model that does not accurately represent a physical reality can experience issues as systems of equations, such as partial differential equations, aim to represent physical realities, for example, based on first principles (e.g., conservation of mass, conservation of momentum, conservation of energy, etc.). Where a model does not match physical reality, systems of equations that aim to represent physical reality can be more difficult to solve. Where an iterative solver is implemented, convergence to a solution occurs over a number of iterations. In general, fewer iterations are better along with convergence to a global solution, rather than a local solution (e.g., local minimum, etc.). Where a model lacks accuracy, number of iterations can increase along with a risk of failure to converge, which can waste time and computational resources. Additionally, as number of iterations increases, numerical errors can increase, which may accumulate and degrade accuracy, ability to converge and/or ability to converge to a global solution.

[0125] As an example, where a geologic environment includes a reservoir, a reservoir simulator may be utilized to simulate fluid flow. In such an example, a simulation grid can be generated that can, as faithfully as possible, represent geological structures of the reservoir to be exploited.

[0126] As mentioned, a grid with hexahedral cells (e.g., a hexcell grid) may be utilized, which, when representing subsurface structures, can be an unstructured grid formed of polyhedra with arbitrary topology. The ability to model structures using arbitrary topology is a feature of a hexcell grid that allows for generation of a grid with precise representations of one or more complex geological structures.

[0127] As explained, a grid can be generated in a depositional space (e.g., a computational domain or depositional domain). A so-called H-depogrid (e.g., a depositional grid in a H-depositional space where “H” indicates that it is computed using a hexcell representation rather than a tetrahedral mesh), can be generated using a hexahedral grid where one or more structures cut hexahedral cells where cut cells can spawn additional hexahedral cells, which may occupy a space of an existing hexahedral cell. For example, where a hexahedral cell is cut into two pieces, each of the pieces can be represented by its own, corresponding hexahedral cell where two hexahedral cells overlap such that they may be defined by the same corner node coordinates (e.g., effectively occupy a common space).

[0128] As an example, an H-depogrid can be generated from a cut cell grid in which the depospace coordinates have been computed. In such an example, the cut cell grid can possess an interesting property of separating physical cells (e.g., representing complex structures, cut cells) from computational cells (e.g., hexahedra). To define a mapping between a physical cell and a computational cell, a so-called topological cell can be utilized. Thus, a method may include use of physical cells (e.g., real space cells), computational cells (e.g., deposition space cells) and topological cells that provide for mapping between physical cells and computational cells. As explained, a depositional space or depositional domain can be a computational space or computational domain. A topological cell can provide for representation of “cells” for purposes of representing a structure, assignment of a property, simulation, etc., as two topological cells can “occupy” a common space to provide for appropriate mappings, for example, where a structure cuts the common space. As mentioned, to generate an H-depogrid, a method can determine depospace coordinates in various computational cells (e.g., computation of a depositional space using a hexcell representation).

[0129] Fig. 8 shows an example of a horizon (e.g., a surface) in a real space 810 and in a depositional space 820. As shown, the horizon in the real space 810 (e.g., present day) has various 3D features, including separations or gaps between various portions of the horizon. In contrast, the horizon in the depositional space 820 is flatter with lesser separations or gaps. In the example of Fig. 8, the triangles are artefacts of a visualization process, noting that a hexcell approach represents a geologic environment using hexahedral cells.

[0130] Fig. 9 shows an example of a real space 910 with various subsurface structures (e.g., discontinuities, etc.) and an example of a hexahedral cell grid 920 that can be utilized to represent the subsurface structures of the real space 910. [0131] Fig. 10 shows an example of the hexahedral cell grid 920 of Fig. 9 as representing the real space 910 along with an enlarged view of a hexahedral cell 1010 that is cut by one of the subsurface structures of the real space 910 (e.g., cut by a discontinuity). While the example of Fig. 10 shows a single hexahedral cell 1010, the hexahedral cell grid 920, as representing the real space 910, actually includes two hexahedral cells that overlap. As mentioned, a hexahedral cell grid can provide for arbitrary topology, for example, two cells can occupy the same coordinate space. In the example of Fig. 10, the two hexahedral cells that overlap can be two topological cells, which, as mentioned, can provide for appropriate mappings. In such an approach, one or more of modeling, generation of realizations, sensitivity analysis, history matching, simulation, visualization, etc., may be expedited.

[0132] As an example, a method can include generating an H-depogrid using a hexcell representation with topological cells. In such an example, a computational cell may be associated with one or more topological cells where the computational cell may be a finite element cell suitable for use in a finite element method. In various examples, cells are shown as regular hexahedral cells; noting that one or more methods may be applied for one or more other types of finite element cells (e.g., tetrahedron, pyramid, prism, etc.).

[0133] As mentioned, a topological cell can provide a mapping between a physical cell (cut cell) and a computational cell (e.g., a hexahedral cell). For hexahedral cells, each hexahedral cell includes 8 nodes, one at each corner, which may be referred to as corner nodes. For each node of each computational cell, a method can have, as input, values of depositional space coordinates (e.g., scalar float values). While depositional space coordinates are mentioned, they are an example of a scalar field, noting that one or more other scalar fields may be utilized (e.g., values of coordinates other than depositional space coordinates). [0134] As explained, values of depositional space coordinates can be values of a scalar field. As an example, a method can include, for each scalar field, extracting a triangulation corresponding desired iso-values in each computational cell. As an example, a method can include using marching cubes, which is an approach suited to cells that are hexahedra.

[0135] Fig. 11 shows an example of a method 1100 where a discontinuity, as represented by a discretized surface, cuts a hexahedral cell into two cut cells, shown as cut cell A and cut cell B. As an example, the discontinuity may be discretized using triangular elements where, for example, it can leave corresponding shapes on the cut cells A and B.

[0136] As shown in the example of Fig. 11 , each of the cut cells A and B can have an associated topological cell A and B, respectively. As shown, the topological cells A and B are both hexahedral cells that can occupy a common space or otherwise reference a common space such as the space of the original hexahedral cell that is cut by the discontinuity. As an example, as to a common space, the topological cells A and B may be referred to as overlapping. While cut cells are shown with respect to a discontinuity that cuts a cell to make the cut cells, other cells that are not cut by a discontinuity can also be represented by associated topological cells (e.g., where each cell has an associated topological cell).

[0137] Fig. 12 shows an example of a method 1200 that includes horizon extraction 1210 in a topological cell, which may be performed using marching cubes or another technique, horizon face clipping at a discontinuity 1220 and discarding one or more portions of a horizon 1230 that are outside of a cut cell as associated with the topological cell. In the example of Fig. 12, the horizon is not a discontinuity but a different type of feature of a geologic environment, which, for example, may be represented by a scalar field.

[0138] As shown in the example of Fig. 12, the method 1200 can include cutting the extracted triangles with the faces of the corresponding cut cell (e.g., as embedded within the topological cell). In the example of Fig. 12, the result of the last cut can be a polygonal patch. For example, as shown in Fig. 12, a polygonal patch includes two polygons that may be formed by cutting elements of a horizon (e.g., a discretized horizon). By introducing this last patch, the cut cell can be split into several cut cells. For example, as shown in Fig. 12, the cut cell embedded in the topological cell can be cut into two portions, one above the horizon as represented by the polygonal patch and one below the horizon as represented by the polygonal patch. The generated cut cells can then be added to a list of cut cells to cut (e.g., with cut cells in the topological cell being represented by the topological cell without introducing additional topological cells as performed for discontinuities). As an example, once cutting actions are completed, a method can proceed to the reconstruction of depogrid cells.

[0139] As an example, a framework can provide for utilization of one or more components for implementation of one or more techniques within a method or methods. As an example, a method can utilize a full explicit technique in which explicit triangle-triangle intersection can be used or, for example, a method can utilize a hybrid technique in which, for one or more scalar fields, explicit intersections can be utilized while, for one or more other scalar fields, an implicit extraction based on interpolation (e.g., linear and/or nonlinear) can be utilized.

[0140] As to clipping, a method can include receiving input, including a hexcell grid (e.g., with topological cells and associated information), three scalar fields representing a depositional space U, V and W known at nodes of computational cells, and isovalues of the scalar fields to extract. In such an example, output can be generated that includes the hexcell grid where cut cells are cut/split with the isosurfaces of the isovalues.

[0141] As to an example of implementation of an explicit technique, consider a method that includes, for each topological cell, computing crossing isovalues of each of the scalar fields and, for each isovalue: extracting triangles (e.g., discretized elements) of the isosurface in the computational cell (e.g., using marching cubes); computing triangle-triangle intersection between the extracted triangles and the faces of the cut cell; retaining the part of the intersected triangles that is inside the cut cell; triangulating the kept polygonal patch; inserting the resulting triangulated patch into the current cut cell, which splits the cut cell into a number of new cut cells (e.g., two or more); adding an embedding to the inserted faces (e.g., a unique key that can allow for knowing if it is a U or V or W isovalue and which value); and adding the newly created cut cells to the corresponding topological cell (e.g., in order to cut them, if appropriate, by remaining isovalues). In such an example, a loop exists for each topological cell and a loop exists for each isovalue where the loop for each isovalue can be an inner loop and where the loop for each topological cell can be an outer loop.

[0142] As an example, a method may be implemented in a serial and/or a parallel manner. For example, each isovalue may be handled independently for a topological cell in a parallel manner such that a method performs isovalue actions in parallel for a number of isovalues.

[0143] Fig. 13, Fig. 14 and Fig. 15 show example graphics as to an example of implementation of a hybrid technique 1300 and reconstruction of a depogrid cell 1500. As shown in Fig. 13, a topological cell can be accessed that includes coordinates in U, V and W for each of its corner nodes. As an example, a method may aim to extract a surface at W = 1 via use of a marching cubes technique and via interpolation of the U and V values at newly created sub-nodes, which can be defined to reside on lines between corner nodes. Each of the newly created subnodes can be assigned appropriate U, V and W values, where, as mentioned for the example hybrid technique, W = 1 , such that each of the newly created sub-nodes has W = 1.

[0144] Fig. 13 also shows an example of an equation pertaining to the coordinates U, V and W, along with a parameter alpha that can provide for appropriate interpolation. For example, in the example of Fig. 13, the interpolation is illustrated for the newly created sub-node at U = 0.1 , V = 1 .6 and W = 1 , which is located on a line between the corner node at U = 0.1 , V = 1.6 and W = 2.1 and the corner node at U = 0.1 , V = 1 .6 and W = 0.1. As shown, the newly created sub-node has W = 1 , which corresponds to the surface to be extracted, along with U = 0.1 and V = 1 .6, which corresponds to the line segment between the two corner nodes.

[0145] Fig. 14 shows additional example graphics of the hybrid technique 1300 that includes extraction of a surface at W = 2 via marching cubes and interpolation of the U and V values at newly created sub-nodes. As shown in Fig. 14, the surface at W = 2 is above the surface at W = 1 . In the example of Fig. 14, the hybrid technique 1300 can also provide for extraction of the isolines at U = 1 and U = 2 and interpolation of the V values at the newly created sub-nodes.

[0146] Fig. 15 shows additional example graphics of the hybrid technique 1300 that includes extraction of the isolines at V = 1 and V = 2 along with the reconstruction of the depogrid cell 1500. [0147] As an example, a hybrid technique can use W as explicit and U, V as implicit as shown in Fig. 13, Fig. 14 and Fig. 15. Such a technique can include, for each topological cell computing crossing isovalues of the scalar fields and, for each explicit isovalue: extracting the triangles of the isosurface in the computational cell (e.g., using marching cubes); computing triangle-triangle intersection between the extracted triangles and the faces of the cut cell; retaining the part of the intersected triangles that is inside the cut cell; triangulating the retained polygonal patch; interpolating the implicit isovalues on the intersection nodes of the current triangulated patch; inserting the resulting triangulated patch into the current cut cell (e.g., to split the cut cell into several new cut cells); adding an embedding to the inserted faces (e.g., using a unique key that allows for knowing that it is a W isovalue and which value); and adding the newly created cut cells to the topological cell (e.g., in order to cut them by one or more remaining isovalues, as appropriate).

[0148] The foregoing loop for each explicit value can be followed by another loop for each implicit isovalue, where both loops can be within a loop for each topological cell.

[0149] As to an implicit isovalue loop, it can include internal loops for each cut cell of a current topological cell that nests a loop for each triangle of the current cell. For example, for each implicit isovalue, a technique can include, for each cut cell of the current topological cell and for each triangle of the current cut cell: extracting the isoline corresponding the isovalue; and interpolating the values of remaining implicit isovalues on the extracted nodes. Once those loops are completed, the hybrid technique can continue for an implicit isovalue outer loop by: assessing the extracted isolines as to formation of connected components (e.g., may be 1) where each component can be considered as an outlier of a polygon that is to be triangulated (e.g., may be non-trivial as triangulation may be a 3D polygon); inserting the resulting triangulated polygons into the current cut cell (e.g., to split the cut cell into new cut cells (e.g., two or more); and adding the newly created cut cells to the topological cell (e.g., in order to be cut by one or more remaining isovalues, as appropriate).

[0150] Below, a pseudo-code example of the hybrid approach is presented: for each topological cell o compute crossing isovalues of the scalar fields o for each explicit isovalue

■ extract the triangles of the isosurface in the computational cell

■ compute triangle-triangle intersection between the extracted triangles and the faces of the cut cell

■ keep the part of the intersected triangles that is inside the cut cell

■ triangulate the kept polygonal patch

■ interpolate the implicit isovalues on the intersection nodes of the current triangulated patch

■ insert the resulting triangulated patch into the current cut cell: this will split the cut cell into several new cut cells (e.g., usually 2)

■ add an embedding to the inserted faces (e.g., a unique key allows to know that it is W isovalue and which value)

■ add the newly created cut cells to the topological cell (e.g., in order to cut them by remaining isovalues) o end for o for each implicit isovalue:

■ for each cut cell of the current topological cell

• for each triangle of the current cut cell o extract the isoline corresponding the isovalue o interpolate the values of remaining implicit isovalues on the extracted nodes

• end for

■ end for

■ the extracted isolines may form one or more connected components (e.g., usually 1) where each component is an outlier of a polygon that is to be triangulated

■ insert the resulting triangulated polygons into the current cut cell, which will split the cut cell into new cut cells (e.g., usually 2)

■ add the newly created cut cells to the topological cell (e.g., in order to be cut by remaining isovalues) o end for

- end for

[0151] As mentioned, a method can include reconstruction of a depogrid cell, for example, as shown in Fig. 15. In the example of Fig. 15, note that the cut cell as shown in Fig. 12 as existing within the topological cell, can be subdivided into multiple depogrid cells via cutting. For example, in Fig. 12, the topological cell in the lower right, given the horizon, can represent the cut cell as itself being cut into a portion that is above the horizon and another portion that is below the horizon. And, as shown in Fig. 13, by addition of another horizon, further cutting occurs. In the example of Fig. 15, the depogrid cell is a result of two horizons, specifically a portion of a geological environment that exists between the two horizons. The cutting in the depositional space as to the horizons can provide for multiple cut cells represented by a single topological cell. In such an approach, the horizon is not a discontinuity such that a demand for addition of another topological cell does not exist. For example, properties such as permeability, porosity, etc., may be assigned to the depogrid cell where such properties can be transformed back to a real space for a grid that can be a simulation grid for purposes of fluid flow simulation.

[0152] The hybrid technique illustrated in Fig. 13 and Fig. 14 can result in a hexcell grid with newly created cut cells due to recursive clipping with different isovalues. A method can continue using the result to construct depogrid cells. In such an example, each depogrid cell can be delimited by U, V, W, fault or boundary faces, which means that internal faces existing in the original cut cells are to be removed from the resulting hexcell grid. Such a method of reconstruction of a depogrid cell can be performed using various actions, which can include 3D merge actions, 2D merge actions and 1 D merge actions.

[0153] Below is an example of pseudo-code for a 3D merge:

- o 3d merge o for UVW cell (use the embedding computed in the clipping phase)

■ collect the cut cells

■ for each cut cell

• remove any face that is not U, V or W or on fault or on boundary

• removing this face results in merging the current cut cell with its adjacent cell (via the removed face)

■ end for o end for o each UVW cell will correspond to 1 or more depogrid cells (can depend on presence of a fault or boundary in the current UVW cell).

- end

[0154] Below is an example of pseudo-code for a 2D merge:

- 2d merge o for U, V, or W polygon (use the embedding computed in the last phase)

■ collect the cut faces

■ for each of cut face

• remove any edge that is shared with a cut face with the same embedding

• removing this edge results in merging the current cut face with its adjacent face (via the removed edge)

■ end for o end for

- end [0155] Below is an example of pseudo-code for a 1 D merge:

- 1d merge o for edge between U, V and W faces (UV, VW or Wil)

■ remove any node that is not an extremity of the edge (e.g., a node between segments that is with the same embeddings: either UV or VW or WU)

■ some nodes are not to be removed (e.g., well tops)

■ removing this node results in merging the current edge with its adjacent by edge (via the removed node) o end for

[0156] As shown in the example of Fig. 15, a depogrid cell can be reconstructed within the space of a topological cell where the topological cell corresponds to a hexahedral cell grid. In the example approach of Fig. 13, Fig. 14 and Fig. 15, the depogrid cell is defined by a discontinuity and a number of scalar fields (e.g., horizons, etc.).

[0157] As explained, a hexcell grid (e.g., a hexahedral cell grid) can include hexahedral topological cells where two hexahedra topological cells can occupy the same space in a spatial domain. The topological cells can provide mappings for transforming structures represented by hexahedral cells in a real space (e.g., a physical space) to a computational space (e.g., a computational domain), which can be a depositional space (e.g., a depositional domain).

[0158] Fig. 16 shows an example of a workflow 1600 that includes providing a structural model in a real space 1610, transforming the model in the real space to a depositional space 1620, slicing the model in the depositional space 1630 to generate a depositional space grid (e.g., a depogrid) and transforming the depositional space grid to the real space 1640, which may be a mapping of properties assigned in the depositional space grid to the real space.

[0159] As explained, a hexcell approach may be utilized for representing a structural model where cut cells can represent complex structures in a geologic environment and where each cut cell can be represented by a hexahedral cell such that two hexahedral cells can overlap in a common space. A so-called H-depogrid is generated from a cut cell grid in which depospace coordinates have been computed. The cut cell grid can provide for separating physical cells (e.g., representing complex structures, cut cells) from computational cells (e.g., hexahedra). To define the mapping between a physical cell and a computational cell, a topological cell can be defined that includes information. To generate an H-depogrid, depospace coordinates are provided in the computational cells, which can be via a process referred to as computing depositional space using a structural model built using a hexcell representation. For example, a method can include consuming a structural model built with a hexcell representation to compute a depositional space.

[0160] As an example, a depositional space can be computed by deforming an underlying mesh, which is, in the case of a hexcell grid, is made of hexahedral cells. The computation of the deformation is relatively straightforward because hexahedral cells can be finite elements as utilized in a finite element method; however, various constraints can be imposed to provide for proper representation of structures. For example, hexahedral cells overlap in zones containing discontinuities. Such overlap of hexahedral cells makes a hexahedral cell approach different from a standard volume-based approach which does not provide for such overlaps.

[0161] As explained, a topological cell can be a type of hexahedral cell that can overlap another topological cell. After cutting, as shown in the example of Fig. 11 , a topological cell can include a portion that represents a cut cell while the remaining portion of the topological cell provides for ease in computation, storage, etc. Also shown in Fig. 11 is the discontinuity, as discretized, that cuts a hexahedral cell into two cut cells.

[0162] As shown in Fig. 12, a horizon can be represented in a depositional space as a scalar field. As explained, a horizon can be represented explicitly using a marching cube technique that acts upon a topological cell. In such an approach, the extracted horizon from the marching cube technique can extract the horizon in the portion of the topological cell that represents a cut cell; however, such a technique will also act in the portion of the topological cell that does not have a corresponding physical structure. As such, part of the extracted horizon does not have physical meaning and can therefore be discarded. For example, at a discontinuity such as a fault, a throw can exist that shifts a horizon such that the horizon on one side of the fault is at a level that is different from the horizon on the other side of the fault. For instance, the topological cell that represents the other cut cell may not include the horizon shown in the example of Fig. 12 or, for example, it may include a different horizon or horizons. While a horizon is mentioned as an example of a scalar field represented by scalar field values, one or more other features may be represented by a scalar field (e.g., in values in U, V and W).

[0163] As explained with respect to Fig. 15, a depogrid cell can be formed from cutting in a topological cell. In the example of Fig. 15, the depogrid cell represents an actual, physical portion of a geologic environment in a depositional space where the depogrid cell is defined by faces that correspond to the discontinuity and to the scalar fields. As an example, an inverse transform can be performed to transition a depogrid cell from a depositional space to a real space, which may be a present day space. Such an approach may provide for assigning properties, which have been assigned in the depositional space to a H-depogrid, to a grid in a real space (e.g., a present day space), for example, to provide for simulation, etc.

[0164] As an example, a workflow may include one or more of computation of velocity models, structural modeling, geomechanics, flow simulation, etc.

[0165] Fig. 17 shows an example of a method 1700 that includes an access block 1710 for accessing a finite element cell grid in a depositional space for a geologic environment, where finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; a process block 1720 for processing the finite element topological cells using one or more scalar fields to generate depositional grid cells, where each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and an assignment block 1730 for assigning one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment.

[0166] As an example, the method 1700 can include performing interpolating geological rock types using at least a portion of the depositional space grid and/or interpolating petrophysical properties using at least a portion of the depositional space grid. As explained, a method can include assigning properties to a depositional space grid and then transforming the properties to a present day representation of a geologic environment. In such an example, the present day representation may be a model suitable for performing a simulation (e.g., fluid flow, etc.) where property assignments can be more accurate, more expeditious, etc., which can improve simulation of one or more physical phenomena. Such an approach can facilitate planning for production of hydrocarbons, equipment operations using equipment to access hydrocarbons and/or actual production of hydrocarbons.

[0167] The method 1700 is shown in Fig. 17 in association with various computer-readable media (CRM) blocks 1711 , 1721 and 1731. Such blocks generally include instructions suitable for execution by one or more processors (or processor cores) to instruct a computing device or system to perform one or more actions. While various blocks are shown, a single medium may be configured with instructions to allow for, at least in part, performance of various actions of the method 1700. As an example, a computer-readable medium (CRM) may be a computer-readable storage medium that is non-transitory and that is not a carrier wave. As an example, one or more of the blocks 1711 , 1721 and 1731 may be in the form processor-executable instructions, for example, consider the one or more sets of instructions 270 of the system 250 of Fig. 2, etc.

[0168] In the example of Fig. 17, the system 1790 includes one or more information storage devices 1791 , one or more computers 1792, one or more networks 1795 and instructions 1796. As to the one or more computers 1792, each computer may include one or more processors (e.g., or processing cores) 1793 and memory 1794 for storing the instructions 1796, for example, executable by at least one of the one or more processors 1793 (see, e.g., the blocks 1711 , 1721 and 1731 ). As an example, a computer may include one or more network interfaces (e.g., wired or wireless), one or more graphics cards, a display interface (e.g., wired or wireless), etc.

[0169] As an example, a method may employ a grid that includes six-face cells that are defined in a cylindrical coordinate system. In such an example, an object may cut the grid to generate cut cells where the cut cells and associated faces can provide for topology information. In such an example, the generation of the cut cells may be handled akin to a hexahedral grid, for example, utilizing one or more spatial transforms (e.g., consider a transform from a hexahedral Cartesian grid to a six-face cell cylindrical grid). [0170] As explained, a method can include generating topology information that can be utilized with a regular grid. In such an example, the regular grid may be refined, for example, using an octree approach while accounting for the topology information.

[0171] As explained, different representations may be used for subsurface representation and computation. For example, regular grids (e.g., for seismic inversion and interpretation), pillar grids, stair-step grids and tetrahedral meshes, etc. In various instances, a geologic environment can include one or more discontinuities, which may demand representation in a model to appropriately characterize the geologic environment. A discontinuity may be, for example, a structural feature that is inherent to the geologic environment (e.g., faults, erosions, etc.).

[0172] As to the various types of grids, regular grids and stair-step representations of discontinuities tend to be voxelated (e.g., in 3D), and therefore of limited resolution. As to pillar grids, they can be limited as to configurations of faults; while tetrahedral meshes tend to be computationally demanding (e.g., time consuming) to produce without guarantees as to suitably matching discontinuities. [0173] In various workflows, a domain transition may be performed. For example, consider moving from a seismic domain of a regular grid to a structural domain of a tetrahedral grid. Such transitions complicate workflows, which can demand processes of mapping or/and interpolation from one representation to another.

[0174] As explained, a hexahedral approach may be utilized for one or more types of workflows where various types of equations may be solved using a common grid. Such a grid can be flexible and relatively rapid to compute. As explained, a method can include embedding and cutting.

[0175] As an example, a hexcell approach may utilize a suite of computational components and data structures that provide for an efficient (e.g., run-time, access, etc.) and memory compact representation of relatively complex subsurface structures. As explained with respect to Fig. 4, tetrahedral representations can be unstructured and inherently complicate computations, especially as a geologic environment becomes more complex. As explained, a 3D representation of space which can include discontinuities (e.g., such as faults or erosions) and can serve as a support for various different types of scientific and numerical computations such as, for example, one or more of stratigraphic function computation, geo-mechanical deformation, flow simulation, and sound wave inversion. As an example, a hexcell approach using a hexcell framework can facilitate workflows and collaboration between workflows. Further, various tools of a framework may be applicable to one or more workflows and hence reduce burden in user transitions from one task to another (e.g., subsurface modeling, simulation, etc.).

[0176] As explained, a method can include representations of cut cells, which are the result of intersection of a discontinuity with a regular grid (e.g., Cartesian, cylindrical, etc.). As an example, cutting can generate polyhedral cells which are part of hexahedral cells. Cutting may make a single cell into two or more cells that are polyhedral and/or polygonal cells (e.g., polyhedral in 3D or polygonal in 2D) and represent a new domain of computation which embeds one or more discontinuities. [0177] In terms of a data structure, a structured grid approach is inherently more compact than an unstructured grid approach. In an embed and cut approach, some additional accounting can be provided without introducing overhead equivalent to an unstructured approach. As explained, a framework can include various components to handle one or more of embedding and cutting and/or one or more other actions. A data structure can allow a representation of subsurface structures (e.g., faults, stratigraphic horizons, layers of rocks, etc.) and, for example, enables simulation in the subsurface that takes advantage of a more precise description of the computational domain which embeds one or more discontinuities.

[0178] As an example, the DELFI computational environment can include one or more features for a hexcell approach. For example, a hexcell framework may be included that can be interoperable with multiple other frameworks. In such an example, a model may be shared and utilized for one or more workflows, optionally being progressed in one or more aspects to characterize a geologic environment. As an example, a common data structure can allow for faster communication between workflows, removing the annoying step of interpolation from one representation to another.

[0179] In various instances, constructing a representation with a hexcell approach can be 10 to 100 times faster than using a tetrahedral mesh. Further, a hexcell approach can represent various types of structures and optionally include local grid refinement (e.g. octree, etc.). Yet further, a hexcell approach can be scalable.

[0180] As explained, a hexcell approach can provide versatility in representation of features, a relatively small memory footprint (cut cells are generated on demand, otherwise the representation stays simple with the hexahedral grid), and there can be ease of communication between workflows sharing a common representation.

[0181] As an example, a framework can provide for a depositional space approach that uses a mapping between a stratigraphic function (e.g., implicit function) and z coordinates to define depositional space z coordinates of each point. In such an example, a mapping may be defined with respect to hexahedral cells, which, as explained, can be topological cells. As an example, one or more other approaches may be utilized, whether implicit, explicit or hybrid in that an approach includes use of an implicit technique(s) and an explicit technique(s). As an example, an explicit technique can involve assigning a specific z value to one or many horizons followed by implementation of a computational solver that can generate an optimal solution, which may be in the form of a map or maps (e.g., a mapping, etc.). In such an example, a method can include explicitly introducing horizons on which a z value has been assigned, using cut cells and duplication of hexahedral cells in cells including one or more horizons. Such an approach can utilize a mechanism to introduce one or more horizons as interfaces in a hexcell grid.

[0182] As an example, a method can include accessing a finite element cell grid in a depositional space for a geologic environment, where finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; processing the finite element topological cells using one or more scalar fields to generate depositional grid cells, where each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assigning one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment. In such an example, the finite element cell grid can be or include hexahedral cells and the finite element topological cells can be or include hexahedral cells. [0183] As an example, one or more scalar fields can represent one or more horizons. In such an example, one or more scalar fields can include one or more isovalues.

[0184] As an example, a method can include processing that explicitly cuts finite element topological cells. For example, consider processing that triangulates cuts to the finite element topological cells.

[0185] As an example, a method can include processing that implements a hybrid technique that explicitly cuts finite element topological cells and implicitly cuts finite element topological cells. In such an example, the hybrid technique can perform explicit cuts in one of multiple depositional space dimensions and can perform implicit cuts in another one of the multiple depositional space dimensions. [0186] As an example, a method can include processing that includes implementing a marching cube technique to cut finite element topological cells.

[0187] As an example, a method can include processing that includes extracting a horizon represented by one of the one or more scalar fields in a number of the finite element topological cells. In such an example, the method can include clipping and discarding a portion of the extracted horizon in one or more of the number of the finite element topological cells using a discontinuity. As an example, a method can include interpolating values of a horizon in one or more dimensions of a depositional space.

[0188] As an example, a method can include processing that includes removing internal faces of a number of finite element topological cells to generate depositional grid cells. In such an example, the depositional grid cells can include faces defined by one or more of a discontinuity, at least one of the one or more scalar fields and one or more spatial borders of a depositional grid formed by the depositional grid cells.

[0189] As an example, a discontinuity can be a fault. As an example, cut cells can be at a fault where, for example, a cell is cut by the fault to generate two cut cells where each of the cut cells can be represented by a corresponding topological cell such that two topological cells may occupy a common space (e.g., overlap).

[0190] As an example, a method can include generating a computational model by transforming depositional grid cells to a real space that corresponds to a physical domain of a geological environment. In such an example, a method can include performing a fluid flow simulation using the computational model and a reservoir simulator to generate a fluid production rate and, for example, performing a comparison of the fluid production rate to an actual fluid production rate and based on the comparison, revising at least one scalar field and re-processing finite element topological cells.

[0191] As an example, a system can include one or more processors; memory accessible to at least one of the one or more processors; processor-executable instructions stored in the memory and executable to instruct the system to: access a finite element cell grid in a depositional space for a geologic environment, where finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; process the finite element topological cells using one or more scalar fields to generate depositional grid cells, where each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assign one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment.

[0192] As an example, one or more computer-readable storage media can include processor-executable instructions to instruct a computing system to: access a finite element cell grid in a depositional space for a geologic environment, where finite element topological cells spatially overlap in a region of the depositional space that includes a discontinuity; process the finite element topological cells using one or more scalar fields to generate depositional grid cells, where each of the depositional grid cells includes a surface defined by the discontinuity and at least one surface defined by at least one of the one or more scalar fields; and assign one or more physical properties to each of the depositional grid cells to generate a computational model that characterizes the geological environment.

[0193] As explained, a method can include using topological cells that represent cut cells resulting from a discontinuity and can include topological cells that represent other cells that are not cut by a discontinuity. In such a method, various topological cells can be utilized in combination with one or more scalar fields, which may result in cutting of topological cells, whether each topological cell represents a cut cell or an uncut cell. For example, a horizon can be represented using a scalar field where the horizon can provide for cutting a number of topological cells corresponding to a number of uncut cells and for cutting a number of topological cells corresponding to a number of cut cells.

[0194] As an example, a computer program product can include computerexecutable instructions to instruct a computing system to perform one or more methods such as, for example, the method 1700 of Fig. 17, etc.

[0195] As an example, a computer program product can include one or more computer-readable storage media that can include processor-executable instructions to instruct a computing system to perform one or more methods and/or one or more portions of a method.

[0196] In some embodiments, a method or methods may be executed by a computing system. Fig. 18 shows an example of a system 1800 that can include one or more computing systems 1801 -1 , 1801 -2, 1801 -3 and 1801 -4, which may be operatively coupled via one or more networks 1809, which may include wired and/or wireless networks. As shown, one or more other components 1808 may be included in a computing system.

[0197] As an example, a system can include an individual computer system or an arrangement of distributed computer systems. In the example of Fig. 18, the computer system 1801 -1 can include one or more modules 1802, which may be or include processor-executable instructions, for example, executable to perform various tasks (e.g., receiving information, requesting information, processing information, simulation, outputting information, etc.).

[0198] As an example, a module may be executed independently, or in coordination with, one or more processors 1804, which is (or are) operatively coupled to one or more storage media 1806 (e.g., via wire, wirelessly, etc.). As an example, one or more of the one or more processors 1804 can be operatively coupled to at least one of one or more network interface 1807. In such an example, the computer system 1801 -1 can transmit and/or receive information, for example, via the one or more networks 1809 (e.g., consider one or more of the Internet, a private network, a cellular network, a satellite network, etc.).

[0199] As an example, the computer system 1801 -1 may receive from and/or transmit information to one or more other devices, which may be or include, for example, one or more of the computer systems 1801 -2, etc. A device may be located in a physical location that differs from that of the computer system 1801 -1 . As an example, a location may be, for example, a processing facility location, a data center location (e.g., server farm, etc.), a rig location, a wellsite location, a downhole location, etc.

[0200] As an example, a processor may be or include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device.

[0201] As an example, the storage media 1806 may be implemented as one or more computer-readable or machine-readable storage media. As an example, storage may be distributed within and/or across multiple internal and/or external enclosures of a computing system and/or additional computing systems.

[0202] As an example, a storage medium or storage media may include one or more different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories, magnetic disks such as fixed, floppy and removable disks, other magnetic media including tape, optical media such as compact disks (CDs) or digital video disks (DVDs), BLUERAY disks, or other types of optical storage, or other types of storage devices.

[0203] As an example, a storage medium or media may be located in a machine running machine-readable instructions, or located at a remote site from which machine-readable instructions may be downloaded over a network for execution.

[0204] As an example, various components of a system such as, for example, a computer system, may be implemented in hardware, software, or a combination of both hardware and software (e.g., including firmware), including one or more signal processing and/or application specific integrated circuits.

[0205] As an example, a system may include a processing apparatus that may be or include a general purpose processors or application specific chips (e.g., or chipsets), such as ASICs, FPGAs, PLDs, or other appropriate devices.

[0206] Fig. 19 shows components of an example of a computing system 1900 and an example of a networked system 1910 with a network 1920. The system 1900 includes one or more processors 1902, memory and/or storage components 1904, one or more input and/or output devices 1906 and a bus 1908. In an example embodiment, instructions may be stored in one or more computer-readable media (e.g., memory/storage components 1904). Such instructions may be read by one or more processors (e.g., the processor(s) 1902) via a communication bus (e.g., the bus 1908), which may be wired or wireless. The one or more processors may execute such instructions to implement (wholly or in part) one or more attributes (e.g., as part of a method). A user may view output from and interact with a process via an I/O device (e.g., the device 1906). In an example embodiment, a computer- readable medium may be a storage component such as a physical memory storage device, for example, a chip, a chip on a package, a memory card, etc. (e.g., a computer-readable storage medium).

[0207] In an example embodiment, components may be distributed, such as in the network system 1910. The network system 1910 includes components 1922-1 , 1922-2, 1922-3, . . . 1922-N. For example, the components 1922-1 may include the processor(s) 1902 while the component(s) 1922-3 may include memory accessible by the processor(s) 1902. Further, the component(s) 1922-2 may include an I/O device for display and optionally interaction with a method. A network 1920 may be or include the Internet, an intranet, a cellular network, a satellite network, etc.

[0208] As an example, a device may be a mobile device that includes one or more network interfaces for communication of information. For example, a mobile device may include a wireless network interface (e.g., operable via IEEE 802.11 , ETSI GSM, BLUETOOTH, satellite, etc.). As an example, a mobile device may include components such as a main processor, memory, a display, display graphics circuitry (e.g., optionally including touch and gesture circuitry), a SIM slot, audio/video circuitry, motion processing circuitry (e.g., accelerometer, gyroscope), wireless LAN circuitry, smart card circuitry, transmitter circuitry, GPS circuitry, and a battery. As an example, a mobile device may be configured as a cell phone, a tablet, etc. As an example, a method may be implemented (e.g., wholly or in part) using a mobile device. As an example, a system may include one or more mobile devices.

[0209] As an example, a system may be a distributed environment, for example, a so-called “cloud” environment where various devices, components, etc. interact for purposes of data storage, communications, computing, etc. As an example, a device or a system may include one or more components for communication of information via one or more of the Internet (e.g., where communication occurs via one or more Internet protocols), a cellular network, a satellite network, etc. As an example, a method may be implemented in a distributed environment (e.g., wholly or in part as a cloud-based service).

[0210] As an example, information may be input from a display (e.g., consider a touchscreen), output to a display or both. As an example, information may be output to a projector, a laser device, a printer, etc. such that the information may be viewed. As an example, information may be output stereographically or holographically. As to a printer, consider a 2D or a 3D printer. As an example, a 3D printer may include one or more substances that can be output to construct a 3D object. For example, data may be provided to a 3D printer to construct a 3D representation of a subterranean formation. As an example, layers may be constructed in 3D (e.g., horizons, etc.), geobodies constructed in 3D, etc. As an example, holes, fractures, etc., may be constructed in 3D (e.g., as positive structures, as negative structures, etc.).

[0211] Although only a few example embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments. Accordingly, all such modifications are intended to be included within the scope of this disclosure as defined in the following claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures. Thus, although a nail and a screw may not be structural equivalents in that a nail employs a cylindrical surface to secure wooden parts together, whereas a screw employs a helical surface, in the environment of fastening wooden parts, a nail and a screw may be equivalent structures.