# A hierarchical non-intrusive algorithm for the generalized finite element method

**Part of the following topical collections:**

## Abstract

An algorithm for non-intrusively coupling a commercial finite element software with a research code implementing a hierarchical enrichment of finite element spaces is presented. Examples of hierarchical methods supported by the algorithm are the Generalized or eXtended FEM (GFEM), the scale-bridging GFEM with numerically defined enrichment functions (GFEM\(^\text {gl}\)), and the *p*-version of the FEM. The proposed hierarchical non-intrusive algorithm (HNA) combines the vast library of classical elements available in commercial FEM platforms with the ability of the GFEM\(^\text {gl}\) to analyze localized phenomena like cracks and spot welds, on coarse meshes. The algorithm does not require iterations between the standard and Generalized FEM platforms and is simple to implement. Examples showing the application of the HNA to the coupling of Abaqus with a 3-D GFEM\(^\text {gl}\) software are presented. They also demonstrate the benefits of combining finite elements available only in a commercial platform with a GFEM.

## Keywords

Finite element method Generalized FEM GFEM eXtended FEM XFEM Non-intrusive Global–local## Mathematics Subject Classification

Primary 65N30## Introduction

The finite element method (FEM) is used in the industry, research laboratories and academia for the simulation of a broad class of problems and phenomena. Industrial applications of the method usually rely on implementations provided by commercial software like Abaqus [1], NASTRAN [2], ANSYS [3], Radioss [4], among many others. These finite element analysis (FEA) platforms provide vast libraries of elements and solution algorithms. However, they suffer the inherent limitations of the standard FEM. An example is the analysis of localized phenomena like propagating fractures, spot welds, and localized material non-linearities in large structures. Highly refined meshes that need to change in the course of a simulation are often needed for the simulation of these phenomena. This leads to high computational costs and many times requires user intervention. New discretization methods able to accurately and efficiently simulate these phenomena are currently available in research software developed in academia and research laboratories. However, their implementation in commercial software is often difficult, time-consuming and therefore expensive. In turn, research software that implement these novel methods and algorithms are typically limited in scope of applications. One strategy to address this issue is to couple commercial and research software and thus provide to the end user simulation and modeling capabilities not available in any single software.

This paper presents an algorithm for non-intrusively coupling a commercial (or not) finite element software, with a research code implementing a hierarchical enrichment of finite element spaces. Examples of hierarchical methods supported by the proposed algorithm are the Generalized or eXtended FEM (GFEM) [5, 6, 7, 8, 9] and the GFEM with numerically defined enrichment functions [10, 11]. The only requirement on the FEM software is that it outputs the global FEM stiffness matrix \(\varvec{K}^0\) and load vector \(\varvec{f}^0\) in a format readable by other software. The global FEM stiffness matrix \(\varvec{K}^0\) and load vector \(\varvec{f}^0\) can be assembled from any finite element available in the FEM solver. This includes structural elements like beams and shells, as well as continuum elements for 2-D and 3-D problems. The proposed hierarchical non-intrusive algorithm (HNA), like the non-intrusive algorithm presented in [12, 13], exploits the hierarchic structure of the global matrix and vector in the GFEM: it contains the global FEM stiffness matrix \(\varvec{K}^0\) and load vector \(\varvec{f}^0\) associated with the underlying FEM mesh. This is demonstrated in “Discrete system of equations of the enriched global problem and the hierarchic non-intrusive algorithm” section. The HNA overcomes the memory requirement issues of the static condensation algorithm presented in [12, 13] while not compromising its accuracy and flexibility. The implementation of the HNA is also simpler than the algorithm presented in [12, 13]. The hierarchical non-intrusive algorithm is also related to the approach to embed arbitrary approximation spaces into classical finite element spaces recently proposed by Schweitzer and Ziegenhagel [14]. A brief review of approaches for the implementation of the GFEM in commercial FEA software can be found in [12].

The commercial FEM software adopted for all examples presented in this paper is Abaqus [1] while the research code is the Illinois Scientific and Engineering Toolbox (ISET). ISET implements the Generalized FEM and the GFEM with global–local enrichments (GFEM\(^\text {gl}\)). This method combines the GFEM with a classical global–local or sub-modeling analysis [15, 16]. The enrichment functions in the GFEM\(^\text {gl}\) are the solution of local problems discretized with a GFEM enriched with analytically defined functions and a fine mesh around features of interest like fractures, material interfaces, etc. Further details on this GFEM are presented in “A scale-bridging GFEM for linear elastic fracture mechanics” section. The HNA combines the vast library of classical elements available in commercial FEM platforms with the ability of the GFEM\(^\text {gl}\) to analyze localized phenomena like cracks and spot welds, on coarse meshes. Details of the HNA are presented in “Discrete system of equations of the enriched global problem and the hierarchic non-intrusive algorithm” section.

The proposed Abaqus-ISET coupling is extensively verified in “Numerical experiments with the hierarchical non-intrusive algorithm”. The accuracy of the solution is also assessed using reference solutions for three-dimensional fracture problems.

## Problem definition

We seek to find an approximation to the solution \(\varvec{u}\) of the problem defined by Eqs. (1)–(4) using a FEM implemented in a commercial code like Abaqus [1], and a GFEM implemented in a research code.

## GFEM approximations

A brief review of generalized FEM approximations is given in this section. Further details can be found in [5, 17, 18, 19, 20, 21].

*patch or cloud*\(\omega _\alpha \) is given by the union of the finite elements sharing node \(\varvec{x}_\alpha \). The test/trial space of the GFEM is given by

*enrichment function*, \(\alpha \in I_h^e \subset I_h\) is the index of the node with this enrichment, and \(i = \{1,\ldots , m_\alpha \}\) is the index of the enrichment function at the node with \(m_\alpha \) being the total number of enrichments associated with node \(\varvec{x}_\alpha \). The functions \(E_{\alpha i} \in \chi _\alpha (\omega _\alpha )\) are chosen such that they approximate the unknown solution \(\varvec{u}\) of the problem locally in \(\omega _\alpha \). Examples of enrichment functions are polynomials, the Heaviside function, and numerically generated functions (cf. “A scale-bridging GFEM for linear elastic fracture mechanics” section). The spaces \(\chi _\alpha (\omega _\alpha )\) are called

*patch*approximation spaces, and \(\mathbb {S}^\text {ENR}\) is referred to as the

*global enrichment space*of the GFEM. The functions in \(\mathbb {S}^\text {ENR}\)

In this work, the polynomial degree of a FEM or GFEM shape function is denoted by *p*. In all numerical experiments performed herein, the same polynomial order is adopted for all coordinate directions. Polynomial order \(p=1\) at a node \(\varvec{x}_\alpha \) implies that the node has only the FEM shape function \(\varphi _\alpha \).

Available enrichment functions for linear elastic fracture problems [5, 6, 7, 8, 9] are based on the expansion of the elasticity solution in the neighborhood of a straight crack front in an infinite domain. They also assume a planar fracture surface. These assumptions are not valid in most practical fracture mechanics problems, in particular for the case of 3-D problems. As a result, refinement of the FEM mesh is required for acceptable accuracy. Alternatively, the enrichments can be defined numerically as the solution of auxiliary boundary value problems [10, 11]. This allows the GFEM to use coarse meshes while delivering accurate solutions. This facilitates the non-intrusive implementation of the GFEM in a commercial FEM software as demonstrated in the next section. The so-called GFEM with global–local enrichments (GFEM\(^\text {gl}\)) is reviewed in the next section and used as a basis of the proposed non-intrusive algorithm.

## A scale-bridging GFEM for linear elastic fracture mechanics

The GFEM with global–local enrichment functions (GFEM\(^\text {gl}\)) [10, 11] combines the GFEM and the global–local FEM [15, 16]. The enrichment functions in the GFEM\(^\text {gl}\) are the solution of local problems discretized with a GFEM enriched with analytically defined functions and a fine mesh around features of interest like fractures, material interfaces, etc. The GFEM\(^\text {gl}\) has been formulated and applied to various classes of problems including transient heat transfer [22], linear fracture [23, 24], cohesive fracture [25], local plasticity [26], material heterogeneity [27], and localized thermoplasticity [28]. A GFEM\(^\text {gl}\) for linear elastic fracture mechanics problems and suitable for a non-intrusive implementation of the method is described next.

### Initial global problem of the GFEM\(^\text {gl}\)

*without*cracks. This is hereafter denoted as the

*initial global problem*. The approximation \(\varvec{u}^{0}\) is the solution of the following problem: Find \(\varvec{u}^{0} \in \mathbb {S}^{0}(\Omega )\) such that, \(\forall \ \varvec{v}^{0} \in \mathbb {S}^{0}(\Omega )\)

### Crack-scale local problem

*n*is the number of the spatial dimensions of the problem and \(V_0\) is the volume of the master element. This choice of \(\kappa \) yields a spring stiffness that is proportional to the element stiffness. For further details on the choice of spring stiffness, please refer to [24]. It is noted that an in-depth study of the choice of the spring value (or impedance) in mixed non-intrusive coupling is presented in [30].

The local solution \(\varvec{u}^L\) defined in this section is the same solution provided by the classical global–local or sub-modeling analysis [31] with local solutions computed by a GFEM instead of the standard FEM. As such, the local solution may have large errors due to the use of inexact boundary conditions on \(\partial \Omega ^{L} \backslash (\partial \Omega ^{L}\cap \partial \Omega )\). This is addressed in the GFEM by re-solving the global problem with GFEM shape functions defined using \(\varvec{u}^L\). This is described in the next section.

### Enriched global problem of the GFEM\(^\text {gl}\)

*enriched global problem*. The solution of this problem is denoted \(\varvec{u}^E\). By definition, it belongs to \(\mathbb {S}^E(\Omega )\).

### Overall GFEM\(^\text {gl}\) algorithm

An example with all the steps of a GFEM\(^\text {gl}\) analysis is illustrated in Fig. 3. It shows the domain, mesh, and boundary condition of the initial global, local and enriched global problems on the left side and the solution of each problem on the right side. The domain is a panel with an edge-crack on the left edge, as shown in the local and enriched global problems. It is noted that the crack cuts elements in the global problem. The red arrows represent Neumann boundary conditions, while the blue arrows indicate either face or point Dirichlet boundary conditions. The latter are used to prevent rigid body motions. Seed nodes in the global problem are shown in red. They are enriched with the local solution while blue nodes are not enriched—they have only the standard FEM shape functions for tetrahedron elements. The initial global problem shows a maroon box outlining where the local domain \(\Omega ^L\) is located. The crack is discretized in the local domain and is shown as a dark blue line in the figure. The local domain is subjected to Dirichlet boundary conditions (blue arrows) provided by the solution \(\varvec{u}^{0}\) of the initial global problem. The local problem mesh is refined so that the characteristic length of the elements intersected by the crack front is about 5% of the crack size, unless stated otherwise. The polynomial order of the GFEM shape functions in the local problem is taken as \(p=3\). Singular crack front and discontinuous Heaviside enrichments are used as well. The block arrows shown between problems represent exchange of information: Boundary conditions from global to local problem and enrichments from local to global problem. Note that the enriched global problem solution, \(\varvec{u}^E\), can also be used as boundary conditions for the local problem, leading to *global–local iterations* between these two problems [11, 32]. These iterations are used to improve the quality of the local solutions (global–local enrichments) and in turn, the accuracy of \(\varvec{u}^E\). While the proposed non-intrusive implementation of the GFEM\(^\text {gl}\) supports global–local iterations, they are not used in the problems solved in this paper.

The above presentation assumes that all the steps in a GFEM\(^\text {gl}\) simulation are performed by a single GFEM solver. This does not have to be the case. The hierarchical structure of the enriched global space \(\mathbb {S}^E(\Omega )\) can be used to split the algorithm between two solvers: a classical FEM solver that implements the global space \(\mathbb {S}^0(\Omega )\) and a GFEM solver the implements the global–local GFEM shape functions. Details are provided in the next section.

## Discrete system of equations of the enriched global problem and the hierarchic non-intrusive algorithm

*Static condensation algorithm* The hierarchic structure of \(\varvec{K}^E\) was explored in [12, 13] to solve the system of equations (19) using static condensation of the degrees of freedom \(\, \underline{\tilde{\varvec{u}}} \,^{\text {gl}}\). The algorithm was formulated such that it could be implemented non-intrusively using a commercial software like Abaqus [1] and a GFEM code. It basically involves sending a set of pseudo loads from the GFEM to the FEM solver which solves, using \(\varvec{K}^0\), for a set of pseudo solution vectors. These are sent back to the GFEM solver which then computes solution vectors \(\, \underline{\hat{\varvec{u}}} \,^0\) and \(\, \underline{\tilde{\varvec{u}}} \,^{\text {gl}}\). The procedure is repeated in the case of crack propagation. It provides exactly the same solution as when solving the global system (19) in the GFEM solver and it does not involve iterations between the two solvers. However, the memory requirements of the algorithm can be quite high for large problems. One load and one solution vector is defined for each degree of freedom in \(\, \underline{\tilde{\varvec{u}}} \,^{\text {gl}}\). The dimension of these vectors is equal to the dimension of \(\, \underline{\hat{\varvec{u}}} \,^0\) which is usually high. While the pseudo load vectors are quite sparse, the pseudo solution vectors in general are not, requiring a dense rectangular matrix of dimensions dim(\(\, \underline{\hat{\varvec{u}}} \,^0\)) \(\times \) dim(\(\, \underline{\tilde{\varvec{u}}} \,^{\text {gl}}\)) to store them. Furthermore, when applying the algorithm to heat conduction problems, Abaqus re-factorizes matrix \(\varvec{K}^0\) for every right hand side vector [13]. This makes the algorithm more expensive than if the enriched global problem is solved entirely by a GFEM solver.

*Hirearchical non-intrusive algorithm—basic idea* The proposed HNA algorithm seeks to overcome the memory requirement issues of the static condensation algorithm while not compromising its accuracy and flexibility. The HNA achieves this by utilizing the ability of FEM solvers (commercial or not) to output the FEM stiffness matrix \(\varvec{K}^0\) and load vector \(\varvec{f}^0\) to files readable by other software. These files store \(\varvec{K}^0\) and \(\varvec{f}^0\) in a sparse format and thus \(\varvec{K}^0\) and \(\varvec{f}^0\) can be efficiently loaded into a GFEM solver. Furthermore, since \(\varvec{K}^0\) and \(\varvec{f}^0\) do not change during, for example, the simulation of a fracture propagation problem, they only need to be read once at the beginning of the simulation. A step-by-step description of the HNA algorithm is provided in the next section.

The global FEM stiffness matrix \(\varvec{K}^0\) and load vector \(\varvec{f}^0\) can be assembled from any finite element available in a commercial solver. This includes structural elements like beams and shells, as well as continuum elements for 2-D and 3-D problems. Thus the HNA combines the vast library of classical elements available in a commercial code with the ability of the GFEM\(^\text {gl}\) to analyze localized phenomena like cracks [23, 24], spot welds [33], material heterogeneity [27], high thermal gradients [22], etc., on a coarse mesh provided by the commercial code. One practical requirement of the HNA is that the finite elements adopted over the subdomain \(\Omega ^L \subset \Omega \) must be available in both solvers. I.e., the FEM mesh for the global domain \(\Omega \) must adopt elements over the subdomain \(\Omega ^L \subset \Omega \) that are also implemented in the GFEM solver. Alternatively, user elements implemented in the commercial solver can be used in the subdomain. This type of element is supported by many commercial solvers. This requirement on the type of element is necessary for the computation of the coupling global matrix \(\varvec{K}^{0,\text {gl}}\) which requires knowledge of \(\varvec{B}^0\) by the GFEM solver when integrating \(\varvec{K}^{0,\text {gl}}\). It is noted that any type of element can be used in the local domain \(\Omega ^L\) when solving the local problem. They don’t have to match the type of the element used in the global subdomain \(\Omega ^L \subset \Omega \). One example is presented in [33] where hexahedron elements are used in the global domain while the local problems adopt tetrahedron elements.

The commercial FEM software adopted for all examples in this paper is Abaqus [1]. The GFEM code used in this paper is hereafter called the Illinois Scientific and Engineering Toolbox (ISET). Standard 2-D finite elements implemented in ISET include TRI3, TRI6, QUAD4, and QUAD8. Three-dimensional elements include TET4, TET10, HEX8, HEX20, and HEX27. All elements can be used for linear and material non-linear elasticity and heat conduction. Multi-physics problems like thermo-elasticity, thermo-plasticity and hydraulic fracturing, are also supported.

The HNA algorithm can be used with any method that hierarchically *enriches* a FEM space. However, for many classes of problems, in particular fracture mechanics problems, mesh *refinement* is required for acceptable accuracy. This is also the case of the GFEM with analytically defined enrichment functions. While singular crack tip enrichments significantly improves the accuracy of the solution, a sufficiently fine mesh is still necessary, in particular when solving 3-D problems. In contrast, the GFEM\(^\text {gl}\) can provide accurate solutions using fairly coarse 3-D meshes composed of tetrahedral or hexahedral elements at the global problem. Thus, the GFEM\(^\text {gl}\) is ideally suitable for the HNA since it enables the analysis of fractures of a *coarse* FEM mesh defined in a comercial solver. This allows the *same* FEM mesh to be used for the simulation of fractures anywhere in the domain of interest. ISET implements the GFEM\(^\text {gl}\) described in “A scale-bridging GFEM for linear elastic fracture mechanics” section and the HNA described next.

### Remark

While the ability of FEM solvers of dumping \(\varvec{K}^0\) and \(\varvec{f}^0\) is explored here in the context of the GFEM\(^\text {gl}\), it can also be applied in the implementation of the Iterative Global–Local FEM [34, 35]. This would avoid the potential re-factorization by the commercial solver of the global matrix \(\varvec{K}^0\) at every global–local iteration. By reading \(\varvec{K}^0\) and \(\varvec{f}^0\) at the beginning of the iterative process it needs to be factorized only once. This is particularly appealing when the global problem is assumed to remain linear while still allowing a non-linear material response in the local problem. It is noted that not all implementations of the Iterative Global–Local FEM require re-factorization of the global matrix as shown, for example, in Duval et. al [36].

### Implementation of the hierarchic non-intrusive algorithm

All the steps of the hierarchical non-intrusive algorithm presented in the previous section are listed in Algorithm 1. The algorithm has been implemented and tested with Abaqus [1] but it does not assume a particular FEM solver. The global matrix and load vector in (19) are assembled using \(\varvec{K}^0\) and \(\varvec{f}^0\) provided by the FEM solver and \(\varvec{K}^{\text {gl}}\), \(\varvec{K}^{0,\text {gl}}\), and \(\varvec{f}^{\text {gl}}\) provided by the GFEM solver. Dirichlet boundary conditions are imposed by the GFEM code once \(\varvec{K}^E\) and \(\varvec{f}^E\) are assembled. A suitable sparse solver is used to factorize \(\varvec{K}^E\) and solve for \(\varvec{u}^E\). In the computations presented in this paper, the Pardiso solver [37, 38] is adopted. Therefore, the available factorization of submatrix \(\varvec{K}^0\) is not used when solving (19). There are however several block iterative solvers that have been proposed to solve system (19) in a more efficient manner. Examples are presented in [39, 40, 41].

It is important to state that the HNA supports the any type of enrichment at nodes of a FEM mesh, derived from a local problem or analytically defined. All that it relies on is the hierarchical nature of the enrichment and thus of the global stiffness matrix and global vector.

The post-processing of the problem solution over elements in the subdomain \(\Omega ^L \subset \Omega \) poses no problem since these elements and their enrichments are available in the GFEM solver. Nodal displacement and rotations at nodes in \(\Omega \backslash \Omega ^L\) are available after the GFEM solver solves for the global vector \(\varvec{u}^E\). However, the post-processing of the problem solution over elements which are available only in the FEM solver must be addressed. By assumption, these elements are only in the subdomain \(\Omega \backslash \Omega ^L\). Since the details of the formulation of elements used in \(\Omega \backslash \Omega ^L\) are in general not known, quantities like stress and strain in these elements cannot be computed by the GFEM solver even after it solves for the global vector \(\varvec{u}^E\). The following approach is adopted in this work in order to address this issue. A new job, identical to the original problem, but with additional Dirichlet boundary conditions along the boundary of \(\Omega \backslash \Omega ^L\), is submitted to the FEM solver. Entries from the global solution vector \(\varvec{u}^E\) are used to setup Dirichlet boundary conditions on the boundary of \(\Omega \backslash \Omega ^L\). This FEM solution over \(\Omega \backslash \Omega ^L\) together with the GFEM solution over \(\Omega ^L\) provides the solution of the original problem over the analysis domain \(\Omega \).

For the examples in this paper, Abaqus operates as the FEM code in Algorithm 1 while ISET is the GFEM code. The specific steps where each solver is used are listed in Algorithm 1. A HNA simulation based on these two solvers is denoted hereafter an HNA Abaqus-ISET simulation. If ISET (only) is used to solve a problem, this is denoted an ISET simulation. In both cases, the enrichment may be analycally or numerically defined. They correspond to the GFEM and the GFEM\(^\text {gl}\), respectively.

## Numerical experiments with the hierarchical non-intrusive algorithm

This section presents the solution of 2-D and 3-D fracture mechanics problems using the proposed hierarchical non-intrusive algorithm. The algorithm is used with both the GFEM (analytical enrichments only) and the GFEM\(^\text {gl}\) (numerically defined enrichments).

### Two-dimensional edge crack

#### Verification of HNA with TRI3 elements

In this section, the problem is solved with the FEM mesh of linear triangular elements shown in Fig. 5 and the crack tip enrichments shown in Fig. 5. This triangular element is denoted by TRI3 in Abaqus. The ISET implementation of TRI3 is identical to the one in Abaqus. Thus, the setup shown in Fig. 5 can be used to verify the HNA implementation with Abaqus-ISET against a solution computed with ISET only.

In the case of Abaqus-ISET solver, the mesh shown in Fig. 5 is used by Abaqus to produce \(\varvec{K}^0\) and \(\varvec{f}^0\). ISET then uploads them and computes the additional matrices \(\varvec{K}^{0,gl}\), \(\varvec{K}^{gl}\) and vector \(\varvec{f}^{gl}\) used in (19). This system is then solved for \(\varvec{u}^E\).

### Remark

The notation \(\varvec{K}^{0,gl}\), \(\varvec{K}^{gl}\), and \(\varvec{f}^{gl}\) is adopted here even though in this section these quantities are defined using analytical enrichments, not global–local functions. This is justified since the difference in the type of enrichment is irrelevant for the proposed HNA.

#### Improvement of solution using Abaqus QUAD4 elements

It is noted that the QUAD4 Abaqus element is not available in ISET. Thus, when solving the problem with ISET only, standard bi-linear quadrilateral elements with full integration are used. Therefore, the ISET and the Abaqus-ISET solutions are different.

The strain energy of the solution computed by ISET (only) is equal to 28.63 while in the case of the Abaqus-ISET solver it is equal to 29.24. As expected there is a clear difference between these values because of the difference in quadrilateral elements.

A reference strain energy equal to 36.97 was computed using a much refined mesh of triangles, GFEM shape functions of degree three, and the same crack tip enrichments shown in Fig. 5. Using this reference value, the Abaqus-ISET strain energy has a relative error of 20.9%, while the ISET strain energy has an a relative error of 22.6%, attesting the benefit of using the improved QUAD4 elements available in Abaqus.

The Mode I stress intensity factor extracted from the reference, Abaqus-ISET, and ISET only solutions are \(K_I^\text {ref} = 7.542\), \(K_I^\text {Abaqus-ISET} = 6.573\), and \(K_I^\text {ISET} = 6.534\), respectively. The relative error of \(K_I^\text {Abaqus-ISET}\) and \(K_I^\text {ISET}\) are 12.85 and 13.37%, respectively.

*Post-processing of solution* Here the post-processing strategy described in “Implementation of the hierarchic non-intrusive algorithm” section is necessary since the solution cannot be post-processed by ISET over the QUAD4 elements implemented in Abaqus.

Figure 8a shows the post-processing in Abaqus of the displacement field computed by Abaqus-ISET. Dirichlet boundary conditions provided by the Abaqus-ISET solution are prescribed at the edges between triangular and quadrilateral elements. This allows Abaqus to correctly post-process the solution over all QUAD4 elements. The displacement over triangular elements shown in Fig. 8a are obviously incorrect since Abaqus can not post-process the solution over elements that have GFEM enrichments. The correct displacement is shown in Fig. 8b which was post-processed by ISET. The discontinuous displacement field can be properly visualized. It is noted that the contour plots over quadrilateral elements shown in Fig. 8b are only approximate since they were performed using the quadrilateral elements available in ISET, which as discussed earlier, are not the same as those used by Abaqus in the computation on \(\varvec{K}^0\). However, for this problem and type of elements used in Abaqus and ISET, the difference in the post-processed values are visually identical. This is not always the case. Figure 8c, d show contour plots of von Mises stress computed from the HNA Abaqus-ISET solution. They are analogous to Fig. 8a, b. The only difference is the quantity being post-processed.

### Three-dimensional edge crack

This problem has also been solved in Section 7.1 of [12] using a non-intrusive GFEM\(^\text {gl}\) algorithm based on static condensation of the global–local enrichments as briefly discussed in “Discrete system of equations of the enriched global problem and the hierarchic non-intrusive algorithm” section. The problem and discretization parameters adopted here are the same as in [12].

#### Verification of hierarchical non-intrusive algorithm with 3-D elements

The ISET and Abaqus formulations for TET4, TET10, and HEX20 elements are identical. Therefore the solutions computed using the hierarchical non-intrusive algorithm implemented with Abaqus-ISET and with ISET only should be nearly identical. The only difference between the two solution strategies is that in one case the global matrix \(\varvec{K}^0\) and the global vector \(\varvec{f}^0\) are provided by Abaqus while in the other case they are provided by ISET. Thus, this section provides a verification of the HNA in the case of 3-D fracture problems. This is analogous to the results presented in “Verification of HNA with TRI3 elements” section but here the GFEM\(^\text {gl}\) is adopted instead of the GFEM used in that section.

Strain energy (*U*) and mode I stress intensity factor (\(K_I\)) computed with HNA Abaqus-ISET and ISET only

| | \(\varvec{K_I}\) | \(\varvec{K_I}\) | | |
---|---|---|---|---|---|

ISET only | TET4 | 2.229905 | – | 5.108473 | – |

HNA Abaqus-ISET | TET4 | 2.229903 | \(8.97E-7\) | 5.108471 | \(3.32E-7\) |

ISET only | TET10 | 2.87537 | – | 5.3423454250874 | – |

HNA Abaqus-ISET | TET10 | 2.87537 | 0 | 5.3423454250871 | \(4.97E-14\) |

ISET only | HEX20 | 3.05214 | – | 5.37984 | – |

HNA Abaqus-ISET | HEX20 | 3.05217 | \(7.536E-6\) | 5.37986 | \(3.604E-6\) |

#### Accuracy of the HNA Abaqus-ISET solution

The accuracy of the Abaqus-ISET solution against a reference solution is assessed in this section. A comparison with solutions computed with the non-intrusive GFEM\(^\text {gl}\) algorithm proposed in [12] is also presented. The parameters adopted in this section are the same as Section 7.1 of [12]. Thus, the HNA Abaqus-ISET solution should be very close to the results presented in [12].

Strain energy (*U*) and mode I stress intensity Factor (\(K_I\)) computed with HNA Abaqus-ISET and the non-intrusive static condensation algorithm presented in [12]

| | \(\varvec{K_I}\) | | \(\varvec{e^r(K_I)(\%)}\) | \(\varvec{e^r(U)(\%)}\) |
---|---|---|---|---|---|

Reference | – | 3.0796 | 5.55154 | – | – |

Static Cond. | TET4 | 2.244 | 5.114 | 27.143 | 7.8729 |

HNA Abaqus-ISET | TET4 | 2.230 | 5.108 | 27.59 | 7.981 |

Static Cond. | TET10 | 2.885 | 5.348 | 6.3266 | 3.6659 |

HNA Abaqus-ISET | TET10 | 2.875 | 5.342 | 6.632 | 3.77 |

HNA Abaqus-ISET | HEX20 | 3.052 | 5.380 | 0.891 | 3.093 |

### Three-dimensional surface crack

The surface crack shown in Fig. 13 is solved in this section using the HNA Abaqus-ISET and with ISET only for verification purposes. The HNA Abaqus-ISET solution is also verified against the non-intrusive algorithm of Gupta et al. [12]. The accuracy of the stress intensity factor along the crack front is assessed using the reference values from Walters et al. [42].

Like in the previous section, three element types provided by Abaqus are adopted for the global problem: TET4, TET10 and HEX20. The global meshes with these elements are shown in Fig. 15. The stiffness matrices associated with these meshes are computed by Abaqus when solving the problem with the hierarchical non-intrusive algorithm. The figure also shows the mesh adopted for the local problem. The characteristic length of the elements near the crack front is taken as 2% of the crack radius. The same local discretization is used regardless of the element type adopted in the global problem. The same discretization parameters as in previous section are adopted for the local problem: Cubic GFEM shape functions, singular crack tip and Heaviside enrichment, and spring boundary conditions at the local boundary \(\partial \Omega ^L\backslash (\partial \Omega ^L \cap \partial \Omega )\). The global nodes enriched with the local solution are shown in red in Fig. 15.

#### Verification of hierarchical non-intrusive algorithm with 3-D elements

*U*of the solution, and \(K_I\), the mode I stress intensity factor (SIF) extracted along the curved crack front. The relative difference between Abaqus-ISET and ISET only \(K_I\) and

*U*are computed using

*j*, respectively. In this section, the reference values are taken as those computed with ISET only. Table 3 lists the relative difference between strain energy (\(e^r(U)\)) and stress intensity factor (\(e^r(K_I)\)) computed with HNA Abaqus-ISET and ISET only. Like in the previous problem, the agreement between the HNA Abaqus-ISET and the ISET only quantities is excellent. The relative difference between the strain energy is at most of \(\mathcal {O}(10^{-7})\).

Relative difference between strain energy (*U*) and stress intensity factor (\(K_I\)) computed with HNA Abaqus-ISET and ISET only

| \(\varvec{e^r(K_I)}\) | \(\varvec{e^r(U)}\) |
---|---|---|

TET4 | 0 | \(4.71E-14\) |

TET10 | \(1.37E-4\) | \(1.17E-7\) |

HEX20 | \(9.34E-5\) | \(1.93E-9\) |

Relative error of stress intensity factor \(K_I\) extracted from the HNA Abaqus-ISET solution of the surface crack problem

| \(\varvec{e^r(K_I)\,(\%)}\) |
---|---|

TET4 | 15.5 |

TET10 | 0.445 |

HEX20 | 0.505 |

#### Accuracy of the HNA Abaqus-ISET solution

The accuracy of the stress intensity factor \(K_I\) extracted from the HNA Abaqus-ISET solution is assessed in this section. The cut-off function method (CFM) [43] is used to extract \(K_I\) at several points along the circular crack front. The reference values for \(K_I\) are from Walters et al. [42]. The relative error of the HNA Abaqus-ISET stress intensity factor \(K_I\) is computed using (22). The relative error for each element type used in the initial and enriched global problems are listed in Table 4. Quadratic elements provide significantly more accurate \(K_I\) than linear tetrahedron elements. The relative error for both quadratic elements listed in the table is close to 0.5% even though a very coarse mesh is used in the global problem, attesting the good performance of the GFEM\(^\text {gl}\). The results for TET4 and TET10 elements are very similar to corresponding ones listed in Table 3 of [12].

*r*is the radius of the crack. The SIF extracted from solutions computed with quadratic elements agrees very well with the reference values.

Figure 17 shows contour plots of the von Mises stress computed with Abaqus-ISET and HEX20 elements in the global problems. The plots are shown on the deformed configuration of each problem. The initial global problem shows a constant stress field since the crack is ignored when solving the problem.

## Conclusions

A non-intrusive algorithm for coupling standard and Generalized FEM platforms was presented. The proposed algorithm can be used with any method that hierarchically enriches a finite element space. Examples are the Generalized FEM [5, 17, 18, 19, 20, 21] and the GFEM\(^\text {gl}\) [10, 11]. The advantage of using the latter is that it can deliver accurate solutions using coarse meshes. The proposed hierarchical non-intrusive algorithm (HNA) overcomes the memory requirement issues of the static condensation algorithm presented in [12, 13] while not compromising its accuracy and flexibility. The implementation of the HNA is also simpler than the algorithm presented in [12, 13].

The HNA combines the vast library of classical elements available in commercial FEM platforms with the ability of the GFEM\(^\text {gl}\) to analyze localized phenomena, like cracks and spot welds, on coarse meshes. Examples demonstrating the application of the hierarchical non-intrusive algorithm to 2- and 3-D fracture mechanics problems were presented. They show that the HNA provides the same solution as the GFEM or the GFEM\(^\text {gl}\) implemented in a single software. Furthermore, it does not require iterations between the standard and Generalized FEM platforms. The examples also demonstrate the benefits of combining finite elements available only in a commercial platform with the GFEM.

While the commercial FEM software adopted for the examples presented in this paper is Abaqus, the proposed HNA can be used with other commercial software. The only requirement is that the FEM platform outputs the global matrix and load vector for a problem. Furthermore, while this capability of FEM platforms was explored here in the context of the GFEM and the GFEM\(^\text {gl}\), it can also be applied to the implementation of other non-intrusive algorithms like the Iterative Global–Local FEM [34, 35] and the method proposed by Schweitzer and Ziegenhagel [14].

## Notes

### Author's contributions

CAD proposed the HNA algorithm. TBF implemented the method and conducted the numerical experiments. Both authors read and approved the final manuscript.

### Acknowledgements

The authors gratefully acknowledge the contributions of collaborators at U.S. Air Force Research Laboratory, Wright-Patterson Air Force Base.

### Competing interests

The authors declare that they have no competing interests.

### Availability of data and materials

Not applicable.

### Consent for publication

Not applicable.

### Ethics approval and consent to participate

Not applicable.

### Funding

This work was funded under contract number AF Sub OSU 60038238 provided by the Collaborative Center in Structural Sciences (\(\text {C}^2\text {S}^2\)) at the Ohio State University, supported by the U.S. Air Force Research Laboratory.

## References

- 1.Dassault Systemes Simulia Corporation. Abaqus/CAE user’s manual. Providence: Dassault Systèmes Simulia Corporation; 2016.Google Scholar
- 2.MSC Software Corporation. MSC nastran 2016 reference manual. Newport Beach: MSC Software Corporation; 2016.Google Scholar
- 3.ANSYS, Inc. ANSYS user’s manual. Canonsburg: ANSYS, Inc.; 2010.Google Scholar
- 4.Altair Engineering Inc. Altair RADIOSS reference guide. Troy: Altair Engineering Inc.; 2014.Google Scholar
- 5.Oden JT, Duarte CA. Clouds, cracks and FEMs. In: Reddy BD, editor. Recent developments in computational and applied mechanics. Barcelona: International Center for Numerical Methods in Engineering, CIMNE; 1997. p. 302–21 http://citeseer.ist.psu.edu/17994.html.
- 6.Duarte CA, Babuška I, Oden JT. Generalized finite element methods for three dimensional structural mechanics problems. Comput Struct. 2000;77:215–32. https://doi.org/10.1016/S0045-7949(99)00211-4.MathSciNetCrossRefGoogle Scholar
- 7.Duarte CA, Hamzeh ON, Liszka TJ, Tworzydlo WW. A generalized finite element method for the simulation of three-dimensional dynamic crack propagation. Comput Methods Appl Mech Eng. 2001;190(15–17):2227–62. https://doi.org/10.1016/S0045-7825(00)00233-4.CrossRefMATHGoogle Scholar
- 8.Belytschko T, Black T. Elastic crack growth in finite elements with minimal remeshing. Int J Numer Methods Eng. 1999;45:601–20.CrossRefMATHGoogle Scholar
- 9.Moës N, Dolbow J, Belytschko T. A finite element method for crack growth without remeshing. Int J Numer Methods Eng. 1999;46:131–50.CrossRefMATHGoogle Scholar
- 10.Duarte CA, Kim D-J, Babuška I. A global-local approach for the construction of enrichment functions for the generalized FEM and its application to three-dimensional cracks. In: Leitão VMA, Alves CJS, Duarte CA, editors. Advances in Meshfree techniques. Computational methods in applied sciences, vol. 5. Dordrecht: Springer; 2007. p. 1–26. https://doi.org/10.1007/978-1-4020-6095-3_1.CrossRefGoogle Scholar
- 11.Duarte CA, Kim D-J. Analysis and applications of a generalized finite element method with global-local enrichment functions. Comput Methods Appl Mech Eng. 2008;197(6–8):487–504. https://doi.org/10.1016/j.cma.2007.08.017.MathSciNetCrossRefMATHGoogle Scholar
- 12.Gupta P, Pereira JP, Kim D-J, Duarte CA, Eason T. Analysis of three-dimensional fracture mechanics problems: a non-intrusive approach using a generalized finite element method. Eng Fract Mech. 2012;90:41–64. https://doi.org/10.1016/j.engfracmech.2012.04.014.CrossRefGoogle Scholar
- 13.Plews J, Duarte CA, Eason T. An improved non-intrusive global-local approach for sharp thermal gradients in a standard FEA platform. Int J Numer Methods Eng. 2012;91(4):426–49. https://doi.org/10.1002/nme.4279.CrossRefGoogle Scholar
- 14.Schweitzer MA, Ziegenhagel A. Embedding enriched partition of unity approximations in finite element simulations. In: Griebel M, Schweitzer MA, editors. Meshfree methods for partial differential equations VIII. Lecture notes in computational science and engineering, vol. 115. Berlin: Springer; 2017. p. 199–208. https://doi.org/10.1007/978-3-319-51954-8_10.CrossRefGoogle Scholar
- 15.Noor AK. Global-local methodologies and their applications to nonlinear analysis. Finite Elem Anal Design. 1986;2:333–46.CrossRefGoogle Scholar
- 16.Diamantoudis AT, Labeas GN. Stress intensity factors of semi-elliptical surface cracks in pressure vessels by global-local finite element methodology. Eng Fract Mech. 2005;72:1299–312.CrossRefGoogle Scholar
- 17.Babuška I, Melenk JM. The partition of unity method. Int J Numer Methods Eng. 1997;40:727–58.MathSciNetCrossRefMATHGoogle Scholar
- 18.Melenk JM, Babuška I. The partition of unity finite element method: basic theory and applications. Comput Methods Appl Mech Eng. 1996;139:289–314.MathSciNetCrossRefMATHGoogle Scholar
- 19.Oden JT, Duarte CA, Zienkiewicz OC. A new cloud-based hp finite element method. Comput Methods Appl Mech Eng. 1998;153:117–26. https://doi.org/10.1016/S0045-7825(97)00039-X.MathSciNetCrossRefMATHGoogle Scholar
- 20.Duarte CAM, Oden JT. An
*hp*adaptive method using clouds. Comput Methods Appl Mech Eng. 1996;139:237–62. https://doi.org/10.1016/S0045-7825(96)01085-7.CrossRefMATHGoogle Scholar - 21.Duarte CAM, Oden JT.
*Hp*clouds - An*hp*meshless method. Numer Methods Partial Differ Equ. 1996;12:673–705. https://doi.org/10.1002/(SICI)1098-2426(199611)12:6<673::AID-NUM3>3.0.CO;2-P.Google Scholar - 22.O’Hara P, Duarte CA, Eason T. Transient analysis of sharp thermal gradients using coarse finite element meshes. Comput Methods Appl Mech Eng. 2011;200(5–8):812–29. https://doi.org/10.1016/j.cma.2010.005.MathSciNetCrossRefMATHGoogle Scholar
- 23.Kim D-J, Duarte CA, Pereira JP. Analysis of interacting cracks using the generalized finite element method with global-local enrichment functions. J Appl Mech. 2008;75(5):1–12. https://doi.org/10.1115/1.2936240.Google Scholar
- 24.Kim D-J, Pereira JP, Duarte CA. Analysis of three-dimensional fracture mechanics problems: a two-scale approach using coarse generalized FEM meshes. Int J Numer Methods Eng. 2010;81(3):335–65. https://doi.org/10.1002/nme.2690.MATHGoogle Scholar
- 25.Kim J, Duarte CA. A new generalized finite element method for two-scale simulations of propagating cohesive fractures in 3-D. Int J Numer Methods Eng. 2015;104(13):1139–72. https://doi.org/10.1002/nme.4954.MathSciNetCrossRefMATHGoogle Scholar
- 26.Kim D-J, Duarte CA, Proenca SP. A generalized finite element method with global-local enrichment functions for confined plasticity problems. Comput Mech. 2012;50(5):563–78. https://doi.org/10.1007/s00466-012-0689-7.MathSciNetCrossRefMATHGoogle Scholar
- 27.Plews JA, Duarte CA. Bridging multiple structural scales with a generalized finite element method. Int J Numer Methods Eng. 2015;102(3–4):180–201. https://doi.org/10.1002/nme.4703.MathSciNetCrossRefMATHGoogle Scholar
- 28.Plews JA, Duarte CA. A two-scale generalized finite element approach for modeling localized thermoplasticity. Int J Numer Methods Eng. 2016;108(10):1123–58. https://doi.org/10.1002/nme.5241.MathSciNetCrossRefGoogle Scholar
- 29.Pereira JP, Duarte CA, Guoy D, Jiao X.
*Hp*-Generalized FEM and crack surface representation for non-planar 3-D cracks. Int J Numer Methods Eng. 2009;77(5):601–33. https://doi.org/10.1002/nme.2419.MathSciNetCrossRefMATHGoogle Scholar - 30.Gendre L, Allix O, Gosselet P. A two-scale approximation of the Schur complement and its use for non-intrusive coupling. Int J Numer Methods Eng. 2011;87(9):889–905. https://doi.org/10.1002/nme.3142.MathSciNetCrossRefMATHGoogle Scholar
- 31.Felippa CA. Introduction to finite element methods. Course Notes. Department of Aerospace Engineeing Sciences, University of Colorado at Boulder; 2004. http://www.colorado.edu/engineering/Aerospace/CAS/courses.d/IFEM.d.
- 32.Gupta V, Kim D-J, Duarte CA. Analysis and improvements of global-local enrichments for the generalized finite element method. Comput Methods Appl Mech Eng. 2012;245–246:47–62. https://doi.org/10.1016/j.cma.2012.06.021.MathSciNetCrossRefMATHGoogle Scholar
- 33.Li H, Duarte CA. A two-scale generalized finite element method for parallel simulations of spot welds in large structures. San Diego, CA: ASCE EMI 2017 Conference; 2017.Google Scholar
- 34.Whitcomb JD. Iterative global/local finite element analysis. Comput Struct. 1991;40(4):1027–31. https://doi.org/10.1016/0045-7949(91)90334-I.CrossRefGoogle Scholar
- 35.Gendre L, Allix O, Gosselet P, Comte F. Non-intrusive and exact global/local techniques for structural problems with local plasticity. Comput Mech. 2009;44(2):233–45. https://doi.org/10.1007/s00466-009-0372-9.MathSciNetCrossRefMATHGoogle Scholar
- 36.Duval M, Passieux J-C, Salaün M, Guinard S. Non-intrusive coupling: recent advances and scalable nonlinear domain decomposition. Arch Comput Methods Eng. 2016;23(1):17–38. https://doi.org/10.1007/s11831-014-9132-x.MathSciNetCrossRefMATHGoogle Scholar
- 37.Schenk O, Gärtner K. Two-level dynamic scheduling in pardiso: improved scalability on shared memory multiprocessing systems. Parallel Comput. 2002;28(2):187–97. https://doi.org/10.1016/S0167-8191(01)00135-1.CrossRefMATHGoogle Scholar
- 38.Schenk O, Gärtner K. Solving unsymmetric sparse systems of linear equations with PARDISO. Future Gener Comput Syst. 2004;20(3):475–87. https://doi.org/10.1016/j.future.2003.07.011.CrossRefMATHGoogle Scholar
- 39.Kim D-J, Hong S-G, Duarte CA. Generalized finite element analysis using the preconditioned conjugate gradient method. Appl Math Model. 2015;39(19):5837–48. https://doi.org/10.1016/j.apm.2015.04.002.MathSciNetCrossRefGoogle Scholar
- 40.Fillmore T. Multi-scale problems: an improved non-intrusive algorithm that enhances fea platforms with the generalized finite element method; an improved preconditioned conjugate gradient solver for hierarchical generalized finite element systems of equations. Master’s thesis, Champaign: University of Illinois at Urbana; 2016.Google Scholar
- 41.Kergrene K, Babuska I, Banerjee U. Stable generalized finite element method and associated iterative schemes; application to interface problems. Comput Methods Appl Mech Eng. 1999;305:1–36. https://doi.org/10.1016/j.cma.2016.02.030.MathSciNetCrossRefGoogle Scholar
- 42.Walters MC, Paulino GH, Dodds RH Jr. Stress-intensity factors for surface cracks in functionally graded materials under mode-I thermomechanical loading. Int J Solids Struct. 2004;41:1081–118.CrossRefMATHGoogle Scholar
- 43.Pereira JP, Duarte CA. Extraction of stress intensity factors from generalized finite element solutions. Eng Anal Bound Elem. 2005;29:397–413. https://doi.org/10.1016/j.enganabound.2004.09.007.CrossRefMATHGoogle Scholar
- 44.Dassault Systèmes Simulia Corporation. Abaqus analysis user’s manual, vol. I–V. Providence: Dassault Systèmes Simulia Corporation; 2010.Google Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.