Introduction

For the realistic analysis of certain problems of the earth systems science such as seismicity, fault mechanics, geodynamics, and ground instability, we have to use three-dimensional finite elements. Mesh generation is a critical step before finite element analysis could be carried out, which is defined as a process of dividing a continuous physical domain into a grids (elements) for the further numerical solution (Xing et al. 2009). In 3D finite element (FE) modeling, solid meshing is required. These meshes mainly include tetrahedrons and hexahedrons. Unstructured tetrahedral meshes are used in numerous applications, including finite element analysis (Allik and Hughes 1970; Caendish et al. 1985; Garimella 2002), interpolation of samples (Sambridge et al. 1995), shape reconstruction (Boissonnat 1988), and description the topography of the measurement area with high accuracy (Günther and Rücker 2005). Affecting a stress direction and stress field of a study area to one structural feature needs to consider the feature as a solid part (Sadeghi et al. 2015). The method used for numerical analysis of the solid part depends on study dimension.

Both finite difference (FD) and FE methods are used to solve model equations. FE is advantageous at irregular geometry in two and three-dimensional domains. In one dimension, FD is advantageous because it needs no mass lumping to prevent oscillations and is relatively easy to conceive and to implement in numerical routines (Kadaverugu 2015).

The hypothetical analytical target in this study is definition of solid meshes for 3D model considering topography that is able to process topographic loads besides the dynamical analysis. This study deals to 3D building geological block diagram and solid meshing with considering the topography loads. Definition of shape functions in this research is about linear elements.

Some studies have considered solid meshing methods for geological block based on Geocomputing (Xing et al. 2009) or LiDAR (Hu et al. 2012). In some numerical analyses such as stress distribution estimating (Zhang et al. 2011), the meshing basis is commonly from major to a regional scale. The triangulated irregular network (TIN) is widely applied for the surface modeling (Baker 1989; Huang and Chen 2002). The spatial partition of volumetric model makes a 3D object construction. However, other scholars have tried to fill the real three dimension space with regular or irregular 3D volumes, and the representative volume is irregular tetrahedron network (TEN) (Chen and Kozo 1994; Pilouk et al. 1994). The systematic processes began with transforming geologic model into numerical model (Li et al. 2008).

One of the major difficulties associated with the use of three-dimensional elements (e.g., tetrahedra, hexahedra, and rectangular parallelepiped elements) is that a large number of elements have to be used for obtaining reasonably accurate results (Rao 2011). This will result in a very large number of simultaneous equations to be solved in static analyses. A geological block diagram including topographic surface has many complexities for definition of solid meshes in studies based FEA. Because of loads derived by inverse and direct isostasy (Mareschal and Kuang 1986; Abd-Elmotaal 2013), topography removing gives less accurate results. In the other hand, Stress–strain and dynamic analysis often focuses on the upper part of the crust including topography (Ameen 1995; Boschi et al. 2010 Dhingra et al. 2013; Trifonov 2014; Becker et al. 2014) and ignoring the topographic surface in many numerical studies is because of geometry complexities. The solid meshing of such geometries meshing is often with misfits and consumes much time and high CPU usage (Pain et al. 2002). Therefore, we want to idealize the meshing method and try to consume less time while the results are more accurate. To fix these issues, we consider whether we can use meshes that are useful to static numerical calculations while response the dynamical analysis. This issue has more importance in active zones in which topography is closely related to active faults.

In this research, we improve geological block diagram meshing by considering topographic surface through linear tetrahedron elements and build a 3D shell block of study area from topographic surface and other five sides of the block. In the other words, we unlike the previous studies first create a shell analytical model and then improve it to a solid meshed model. Simply, shell meshing from linear triangles makes the geological block diagram ready to take the linear solid meshes. A partitioning is required to the model for definition the meshes. Finally, by definition the shape functions for solid meshes from plane meshes, we gradually fill whole volume of the block. In this way, misfits are in minimum and nodes connect rightly to each other.

We choose East Azerbaijan (EA) as the study area because include most important active faults and elevations that is suitable for creating and solid meshing a complex block diagram including topographic surface. The main process of our methodology includes creating shell finite element model based on interpolation functions, meshing shell model, and changing it to a solid meshed model. The result model has capability of being validated in analytical applications.

Case study

The study area include western Alborz-Azerbaijan structural zone (Nabavi 1976) in northwestern Iran. However, some scholars consider most of Azerbaijan as belonging to Central Iran (Stöcklin 1968) or consider northern part of Azerbaijan as including Caucasus and Pontus Mountains in Turkey (Innocenti et al. 1982). The latitude and longitude of the area on the digital elevation map (DEM) is 37°30′–38°45′N and 45°–48°E respectively (Fig. 1). This area includes main active faults such as Tabriz, North Bozghush, sought Bozghush, Arasbaran, Ahar, and sufian faults in EA (Nazari et al. 2013). The area with a history of destructive earthquakes (Vasheghani-Farahani and Zaré 2014) also includes many important elevations that are suitable to creating 3D geological block diagram. Therefore, an ideal solid meshed related to such geological block diagram can be responsive for loads about topographic variations.

Fig. 1
figure 1

The Study area in East Azerbaijan including active faults and important volcanoes

Shell finite element modeling

Since an analytical shell model is prerequisite in our process, we first create a meshed shell model based on topography. Created topographic surface through much software has no any analytical potential for the next improvements. The output of most of them is usually useless for numerical formulations. Therefore, we semi-manually create required database and topographic surface for numerical analysis purpose. By having elevation data, we can create topographic surface through extraction of control points. The main steps in this procedure include:

  • Selecting the study area

  • Creating contour lines

  • Exporting the 3D coordinates of each control points

  • Locating each control points in the related software such as GOCAD

  • 2D Structured meshing of topographic surface

  • Validating

Unstructured meshing of topographic surface (e.g. Ren and Tang 2010; Deng et al. 2012) has usually misfits that give errors in analytical results. Removing the bad meshes can decrease the geometry degree in analytical software. This means, it can convert solid to shell and shell to line. Therefore, the effort is to building topography with structured meshes. To reduce the complexities of the interpolation functions, we apply linear quadrilateral elements to the surface and then divide each of them into triangular. However, we perform meshing by downloading and reading generate mesh.m. as a modification of the MILAMIN wrapper for triangle. Triangle is a 2-D triangular mesh generator that was written by Shewchuk (2002). This work is freely available as C source code and a flexible, production quality “Delaunay” mesh generator. Delaunay mesh means that all nodes are connected by elements such that any circle, which is drawn through the three nodes of an element, has no other nodes within its circumference. Typically, meshers like triangle will allow us to refine the mesh (i.e. add more nodes) for a given boundary structure and overall domain by enforcing minimum area and/or angle constraints (Becker and Kaus 2010). The meshed topographic surface (Fig. 2) has potentially analytical characteristics.

Fig. 2
figure 2

Structured meshing of topographic surface by divided rectangular elements. The axis of Y indicates north direction

By projecting of edge-points onto wanted depth and sticking the points, we build a 3D shell block to apply initial meshing. Exported control points from much software such as Surpac, Micromine, and GOCAD have excessive coordinates. Therefore, using interpolation methods is useful to handle data. There are powerful functions for this performance in some applications such as Surfer. It is notable that creating topographic surface in unusual methods would make some errors about mesh definition in the next section. This is due to the lack of control point database about the created topographic surface.

The final step in this procedure is validating. In the literature, a valid mesh can be also named as a regular mesh (Luboz et al. 2001). The finite element method (FEM) can be seen as an integration problem in a system of Partial Differential Equations (PDE). The computation of this integration is produced over the elements that describe the domain. When an element is invalid, its described area or volume is malformed. The malformed mesh can be presented in two types (Lobos et al. 2010):

  • Edge inversion: this involves several elements and it is produced when the intersection of neighbor elements has a positive volume.

  • Concave element: this is a local problem and it is produced when one or more faces of the element are concave (this problem cannot be produced in triangle faces).

In both cases, the described area or volume of the elements is artificially increased and do not represents the current state of the domain causing an integration over a “phantom” sub-domain (Lobos et al. 2010). In the case of “edge inversion” presented in 2D (Fig. 3), the domain is represented by two triangles \(a1\) and \(a2\). Node A, belongs only to \(a1\) is dragged into the region defined by \(a2\). In this new scenario, the domain corresponds to the shaded area. If the mesh defined by \(a1\) and \(a2\) is used to represent this new state of the domain, the integration should be over \(a2 - a1\), however, it occurs over \(a2 + a1\) (Lobos et al. 2010).

Fig. 3
figure 3

A valid 2D mesh (left) and an invalid mesh (right) where blue triangles have a negative area

Meshing the 3D shell model

After creating a 3D shell block diagram from projecting the edge-points of topographic surface onto given depth and sticking them to one another, the block takes the early finite meshes. For this porous, the control points are useful as the reference nodes for new meshes. By definition of the linear meshes based reference nodes and generalization them to the other sides of block, the model takes the linear meshes.

According to interpolation functions (e.g. Liu 2010; Rao 2011), since the meshing is about a shell model, the field variable \(\emptyset \left( {\text{x}} \right)\) in 2D finite elements for a polynomial type of variation can be expressed as

$$\emptyset \left( {{\text{x}},{\text{y}}} \right) =\upalpha_{1} +\upalpha_{2} {\text{x}} +\upalpha_{3} {\text{y}} +\upalpha_{4} {\text{x}}^{2} +\upalpha_{5} {\text{y}}^{2} +\upalpha_{6} {\text{xy}} + \cdots +\upalpha_{\text{m}} {\text{y}}^{\text{n}}$$
(1)

where \(\upalpha_{1} ,\upalpha_{2} , \ldots ,\upalpha_{\text{m}}\) are the coefficients of the polynomial, also known as generalized coordinates; \({\text{n}}\) is the degree of the polynomial; and \({\text{m}}\) is the number of polynomial coefficients that is given by

$${\text{m}} = \sum\limits_{{{\text{j}} = 1}}^{{{\text{n}} + 1}} {\text{j}}$$
(2)

where \({\text{j}}\) is the degree of derivative of \(\emptyset\).

To simplify the equation and reduce the nodes number, we use a linear model. Thus, Eq. (1) reduces to the equation for \({\text{n}} = 1\) as

$$\emptyset \left( {{\text{x}},{\text{y}}} \right) = \alpha_{1} + \alpha_{2} {\text{x}} + \alpha_{3} {\text{y}}$$
(3)

For each line of projected node, we can find a reference node. These points have same elective elevation that depends to our study accuracy. For regional studies about surface such as stress analysis related to topographic loading, the low distance from source nodes is suitable. For a quadrilateral element about two independent coordinates, the nodal conditions are from taking the interpolation model. Therefore, for the normalized or local r, s (natural) coordinate system, the interpolation model from Eq. (3) is

$$\emptyset \left( {{\text{x}},{\text{y}}} \right) = \left[ {\text{N}} \right]{\vec{\varPhi }}^{{\left( {\text{e}} \right)}} = \left[ {{\text{N}}_{1} {\text{N}}_{2} {\text{N}}_{3} {\text{N}}_{4} } \right]{\vec{\varPhi }}^{{\left( {\text{e}} \right)}}$$
(4)

where

$${\text{N}}_{\text{i}} = \frac{1}{4}\left( {1 + {\text{rr}}_{\text{i}} } \right)\left( {1 + {\text{ss}}_{\text{i}} } \right)$$
(5)

and

$${\vec{\varPhi }}^{{\left( {\text{e}} \right)}} = \left\{ {\begin{array}{*{20}c} {\Phi _{1} } \\ {\Phi _{2} } \\ {\begin{array}{*{20}c} {\Phi _{3} } \\ {\Phi _{4} } \\ \end{array} } \\ \end{array} } \right\}^{{\left( {\text{e}} \right)}} = \left\{ {\begin{array}{*{20}c} {\emptyset \left( {{\text{x}}_{1} ,{\text{y}}_{1} } \right)} \\ {\emptyset \left( {{\text{x}}_{2} ,{\text{y}}_{2} } \right)} \\ {\begin{array}{*{20}c} {\emptyset \left( {{\text{x}}_{3} ,{\text{y}}_{3} } \right)} \\ {\emptyset \left( {{\text{x}}_{4} ,{\text{y}}_{4} } \right)} \\ \end{array} } \\ \end{array} } \right\}^{{\left( {\text{e}} \right)}}$$
(6)

where \({\text{N}}_{\text{i}}\) is the shape function associated with node \({\text{i}}\); \({\text{r}}\) and \({\text{s}}\) are local (natural) coordinate system; and \({\vec{\varPhi }}^{{\left( {\text{e}} \right)}}\) is the vector of nodal values for the related field variable of element \({\text{e}}\).

In this work, the upper node elevation of each reference node found on topographic surface is the linear variation of the field variable and the nodal conditions are the result of solving the Eq. (4). This solving continues for all of four nodes and the new created nodes between them to reach a minimum defined mesh space. By having a minimum of shape functions and discretization of the domain, the automatic mesh generation of the most analytical software gives the meshed shell model (Fig. 4).

Fig. 4
figure 4

Implementation of automatic mesh generation and discretization of the domain by having a minimum of shape functions in order to create meshed shell model

Solid mesh modeling

Similar to previous section we define shape functions for the volume of study block diagram. The main steps in this procedure include:

  • Projecting important topographic nodes onto wanted depth

  • Locating reference nodes on the lines created from projection

  • Automatic mesh generation by having appropriate elements for the whole volume of the block.

  • Definition of nodal conditions and global coordinate

  • Creating tetrahedron meshes

  • validating

A very important work over model deformations has been done from the mechanical point of view (Benzley et al. 1995). This work showed the difference results of using tetrahedral or hexahedral meshes are due to incompressibility and plasticity abilities of each type of element. Two options are possible to consider tetrahedra, pyramid, prism (wedge) and hexahedra meshes (Lobos et al. 2010):

  • A better approximation of the domain in a given region of it. This is the case for meshes that are governed by one type of element, but that prefer in some very specific configurations, to replace bad quality elements with another type of elements.

  • Transitions between different levels of refinement. Even though this can be achieved by using just one type of element, some works prefer to include different types of elements during transitions between coarse and refined regions.

Tetrahedron elements have performance for static analysis (Liu 2009) and most meshing works well with them in complex structures (Oberst and Lai 2010). Furthermore, tetrahedron meshes are able to represent the geometrical data more or less independently of the resolution (Versteeg and Malalasekera 2007). These characteristics make them suitable for topographic related analysis. However, the “locking effect” could be a drawback to the use of tetrahedra for quasi-incompressible materials (Hughes1987) but we use tetrahedrons according to the study instance. The primary nodes of meshed shell are as reference nodes for definition of secondary solid meshes. This means, for the values of the field variable of \(\Phi _{1}\),\(\Phi _{2}\),\(\Phi _{3}\), and \(\Phi _{4}\) the global coordinates are \(\left( {{\text{x}}_{\text{i}} ,{\text{y}}_{\text{i}} ,{\text{z}}_{\text{i}} } \right),\) \(\left( {{\text{x}}_{\text{j}} ,{\text{y}}_{\text{j}} ,{\text{z}}_{\text{j}} } \right),\) \(\left( {{\text{x}}_{\text{k}} ,{\text{y}}_{\text{k}} ,{\text{z}}_{\text{k}} } \right),\) and \(\left( {{\text{x}}_{\text{l}} ,{\text{y}}_{\text{l}} ,{\text{z}}_{\text{l}} } \right)\) at nodes i, j, k, and l, respectively. Therefore, the nodal conditions produce the system of equations

$$\begin{array} {l} \hfill \\ \Phi _{\text{i}} =\upalpha_{1} +\upalpha_{2} {\text{x}}_{\text{i}} +\upalpha_{3} {\text{y}}_{\text{i}} +\upalpha_{4} {\text{z}}_{\text{i}} \hfill \\ \Phi _{\text{j}} =\upalpha_{1} +\upalpha_{2} {\text{x}}_{\text{j}} +\upalpha_{3} {\text{y}}_{\text{j}} +\upalpha_{4} {\text{z}}_{\text{j}} \hfill \\ \Phi _{\text{k}} =\upalpha_{1} +\upalpha_{2} {\text{x}}_{\text{k}} +\upalpha_{3} {\text{y}}_{\text{k}} +\upalpha_{4} {\text{z}}_{\text{k}} \hfill \\ \Phi _{\text{l}} =\upalpha_{1} +\upalpha_{2} {\text{x}}_{\text{l}} +\upalpha_{3} {\text{y}}_{\text{l}} +\upalpha_{4} {\text{z}}_{\text{l}} \end{array}$$
(7)

The related tetrahedron meshes from the nodal conditions follow the topographic variations. Therefore, a lattice of nodes can have inhomogeneous distribution throughout the volume of the block diagram (Fig. 5). This lattice is the base of solid model in analytical software and however needs some corrections for element faces of solids that are mismatched. A repairing in analytical software can fix some probably misfits and validation of the model suggest that the final solid model is ready for finite element analysis (Fig. 6).

Fig. 5
figure 5

Inhomogeneous distributed nodes throughout the block volume. Tetrahedron meshes from the nodal conditions are in relating to the topographic variations

Fig. 6
figure 6

The modified model of solid meshes from view the misfit elements and mismatched element faces

Results and discussion

The case study includes main active faults and consequently distinct topographic variations due to deformed quaternary sequences. A meshed shell model based on this topography generally showed that unstructured meshing had usually misfits that give errors in analytical results. In return, applying linear quadrilateral elements to the surface and then dividing each of them into triangular elements reduced the complexities of the interpolation functions. The output of reading the generate mesh.m. by MATLAB allowed us to refine the mesh for our for a given boundary structure. By projecting of edge-points onto wanted depth and sticking the points, we built a 3D shell block (Fig. 2) to apply initial sell meshing. The validated shell model confirmed for having analytical characteristics for this meshed topographic block diagram. The early finite meshes for the shell model were the results of definition of the linear meshes based control points as reference nodes and generalization them to the other sides of block. The Eq. (1) represent field variable in 2D finite elements for a polynomial type of variation. For the normalized or local r, s (natural) coordinate system, the interpolation model changed to Eq. (4). By solving this equation for all nodes of a mesh, the new nodes were created between them to reach a minimum defined mesh space. The output of discretization of the domain as well as the automatic mesh generation throughout most analytical software offered the final meshed shell model (Fig. 4).

In a similar way, shape functions were defined for the volume of the study block diagram to create solid meshes. The difference results of using tetrahedral or hexahedral meshes due to incompressibility and plasticity abilities of each type of element (Benzley et al. 1995) made us to mesh the model based in tetrahedron elements. The primary nodes of meshed shell were as reference nodes for definition of secondary solid meshes. Therefore, according to Eq. (7) the nodal conditions were obtained from the system of equations of the field variable of \(\Phi _{1} ,\) \(\Phi _{2} ,\) \(\Phi _{3} ,\) and \(\Phi _{4}\) based on global coordinates \(\left( {{\text{x}}_{\text{i}} ,{\text{y}}_{\text{i}} ,{\text{z}}_{\text{i}} } \right),\) \(( {{\text{x}}_{\text{j}} ,{\text{y}}_{\text{j}} ,{\text{z}}_{\text{j}} } ),\) \(\left( {{\text{x}}_{\text{k}} ,{\text{y}}_{\text{k}} ,{\text{z}}_{\text{k}} } \right),\) and \(\left( {{\text{x}}_{\text{l}} ,{\text{y}}_{\text{l}} ,{\text{z}}_{\text{l}} } \right)\) at nodes i, j, k, and l, respectively. With inhomogeneous distribution nodes throughout the volume of the block diagram as well as automatic mesh generation, the output represented the solid meshed model that had the capability of validating in analytical software (Fig. 6).

Conclusions

The solid meshed model of the study area in EA based on primary shell meshes suggests the reference nodes as important items that relates to the topographic surface. It also showed the relation of mesh spacing of shell model and topographic variations. Creating topography through extraction of control points could fix the problems of outputs from most topography software for numerical formulations to analysis. In addition, interpolation and definition of the linear meshes based reference nodes suggest that nodal conditions are the result of solving the interpolation functions. Considering upper node elevation of each reference node found on topographic surface as the field variable, allow us to use minimum of shape functions. In this way, discretization of the domain and automatic mesh generation takes minimum mismatched elements. By repairing the solid model in analytical software, probably misfits can be fixed. Validation of the model suggests that the final solid model is ready for finite element analysis. However, 3D meshed model is related to the elevation data (i.e. topography) and more works is required to consider other items for creating 3D analytical modal. We have not investigated mass density of the heights in these estimations. Appling a more range of topography data to determine mesh spacing is one of the future works.