Three dimensional (3D) geological models are commonly used in the petroleum, mining and groundwater sectors for examining structural relationships, volumes and the distribution of properties. These models are built from irregularly spaced data that define fault surfaces or the top, bottom and sides of structural units (formations, period boundaries etc.). Geological data can be collated as lists, making these data amenable to manipulation using functional programming algorithms. Scripts written in functional languages are concise and resemble more closely traditional mathematical notation (Goldberg 1996, Hudak 1989). When the functional programming style is used in a symbolic mathematical program with 3D graphics short scripts can be written for constructing 3D geological models. When teaching the fundamentals of 3D geological model construction symbolic mathematical programs allow students with little or no programming experience to learn how to sort the data, interpolate/extrapolate surfaces over the domain, and build 3D geological models using a set of logical expressions that dictate how the surfaces intersect to represent geological units. Exposing the students to the mathematics and scripting steps provides insights into the exactness and limitations of the models and introduces them to an open ended modelling environment. Two algorithms are presented. The first script projects point measurements (x, y, z, inclination, azimuth) from field or map data along an inclined line to extend the data to form a series of points that define a surface which can subsequently be gridded. The second script performs inverse distance gridding (Yamamoto 1998). These scripts are written using the symbolic programming and visualisation software Mathematica (Wolfram Research, Inc., 2008), which is probably the most widely used functional programming language (Hinsen 2009). The application of the algorithms is demonstrated by constructing a 3D geological structural model of the Maules Creek catchment in NSW, Australia. The data sets consist of a digital elevation model (DEM), borehole bedrock picks, period geological boundaries digitised from the 1:250000 geological map (the top of the Permian, and Triassic, and the digitised limit of the Tertiary basalt . Inclination and azimuth details were inferred from the geological map. Elevations were assigned to the digitised map values by defining an approximate function for the DEM (using the Mathematica function Interpolation) and then applying this function to the list of points. This process is described in more detail below.

### Functional Programming Algorithms for Constructing 3D Geological Models

#### Abstract

Three dimensional (3D) geological models are commonly used in the petroleum, mining and groundwater sectors for examining structural relationships, volumes and the distribution of properties. These models are built from irregularly spaced data that define fault surfaces or the top, bottom and sides of structural units (formations, period boundaries etc.). Geological data can be collated as lists, making these data amenable to manipulation using functional programming algorithms. Scripts written in functional languages are concise and resemble more closely traditional mathematical notation (Goldberg 1996, Hudak 1989). When the functional programming style is used in a symbolic mathematical program with 3D graphics short scripts can be written for constructing 3D geological models. When teaching the fundamentals of 3D geological model construction symbolic mathematical programs allow students with little or no programming experience to learn how to sort the data, interpolate/extrapolate surfaces over the domain, and build 3D geological models using a set of logical expressions that dictate how the surfaces intersect to represent geological units. Exposing the students to the mathematics and scripting steps provides insights into the exactness and limitations of the models and introduces them to an open ended modelling environment. Two algorithms are presented. The first script projects point measurements (x, y, z, inclination, azimuth) from field or map data along an inclined line to extend the data to form a series of points that define a surface which can subsequently be gridded. The second script performs inverse distance gridding (Yamamoto 1998). These scripts are written using the symbolic programming and visualisation software Mathematica (Wolfram Research, Inc., 2008), which is probably the most widely used functional programming language (Hinsen 2009). The application of the algorithms is demonstrated by constructing a 3D geological structural model of the Maules Creek catchment in NSW, Australia. The data sets consist of a digital elevation model (DEM), borehole bedrock picks, period geological boundaries digitised from the 1:250000 geological map (the top of the Permian, and Triassic, and the digitised limit of the Tertiary basalt . Inclination and azimuth details were inferred from the geological map. Elevations were assigned to the digitised map values by defining an approximate function for the DEM (using the Mathematica function Interpolation) and then applying this function to the list of points. This process is described in more detail below.
##### Scheda breve Scheda completa Scheda completa (DC)
2009
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in SFERA sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: `https://hdl.handle.net/11392/1687911`
##### Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

• ND
• ND
• ND