Skip to main content

On the effect of the contact surface definition in the Cartesian grid finite element method


The definition of the surface plays an important role in the solution of contact problems, as the evaluation of the contact force is based on the measure of the gap between the solids. In this work three different methods to define the surface are proposed for the solution of contact problems within the framework of the 3D Cartesian grid finite element method. A stabilized formulation is used to solve the contact problem and details of the kinematic description for each surface definition are provided. The three methods are compared solving some numerical tests involving frictionless contact with finite and small deformations.


In recent years some alternatives to standard Finite Element methods have been developed under the category of immersed boundary methods [1,2,3], also known as fictitious or embedded domain methods. The common idea in these methods is that the FE mesh is obtained by discretizing a simple domain (usually cuboid) which fully embeds the analysis domain, but is independent of the analysis boundaries, which may be complex. Within this category is the Cartesian grid finite element method (cgFEM) for solving elasticity problems in 2D [4] and 3D [5]. The main differentiating features of cgFEM with respect to other immersed boundary methods are that the cgFEM is able to consider the CAD geometry (represented by NURBS) for the numerical integration and the use of a stabilized Lagrange multiplier method for the imposition of Dirichlet boundary conditions (see [5] and [6] for further details).

In order to solve the contact problem with cgFEM we use a stabilized Lagrangian formulation first presented in [7]. The method has similarities with Nitsche-based formulations proposed in [8,9,10,11] with a relevant difference in the stabilizing stress field. In our case we use a smooth field calculated with the Zienkiewicz and Zhu Superconvergent patch recovery (SPR) technique [12,13,14]. In a first approach, the developed contact formulation was applied to cgFEM considering a linear facet discretization of the boundary, based on the intersections between the Cartesian grid with the CAD geometry.

Several attempts to enhance the definition of the contact boundaries have been developed in the framework of body-fitted meshes, usually known as surface smoothing, using diverse techniques such as Hermite, Bezier spline and NURBS interpolations [15,16,17,18], Gregory patches [19] or Nagata patches [20]. It is proven in these works that the enhancement of the contact surfaces results in more accurate solutions and increased robustness of the contact algorithm. A relevant contribution in the consideration of CAD geometries is the isogeometric analysis [21] (and its applications in contact simulation, e.g. [22, 23]), in which the basis functions for the approximation of the solution are the same used for the CAD definition. There are also NURBS-enriched formulations as in [24, 25], where isogeometric basis functions are included only in the contact elements.

As the cgFEM is able to consider the CAD geometry, it seems appropriate to use this surface definition to improve the gap measure. In [26] the deformed surface is defined as a combination of the undeformed CAD geometry and the finite element displacement field. This paper can be considered as an extension of [26], where we study the effect of the surface definition (hence the contact gap) when solving frictionless contact problems with cgFEM. In addition to the previous approaches, linear facets and a combination of FE solution and NURBS surface, in this work we propose a new method in which the deformed configuration is defined as a NURBS surface, i.e., the control points of the original CAD surface are updated such that the new configuration fits the finite element displacement field of the contact surface.

The paper is structured as follows: in “Contact kinematics” section the kinematic variables of the problem are stated. The different alternatives to define the contact surface are presented in “Discretization of contact kinematics” section. The formulation used to solve the contact problem is described in “Stabilized Lagrangian contact formulation” section. Finally the different methods are compared with some numerical tests in “Numerical examples” section.

Contact kinematics

Figure 1 shows the undeformed and deformed configurations of two solids \(\Omega ^{(i)}\) coming in contact. The indexes \(^{(1)}\), \(^{(2)}\) represent the so-called slave and master bodies respectively. \(\Gamma _c^{(i)}\) is the part of body (i) that can interact with the other body. Let \(\mathbf {X}\) be the initial configuration of a given material point in \(\Omega ^{(i)}, i = 1, 2\). We describe the motion of \(\Omega ^{(i)}\) with the mapping \(\varvec{\varphi }:\Omega \longrightarrow \mathbb {R}^3\). Therefore \(\mathbf {x}^{(i)}=\varvec{\varphi }\left( \mathbf {X}^{(i)},t\right) \) for a given point at time t. Since we are solving quasi-static problems, we will omit the time variable and assume that the load increments are small enough. Then, the position vector for any point in \(\Omega ^{(i)}\) is given as

$$\begin{aligned} \mathbf {x}^{(i)}=\varvec{\varphi }\left( \mathbf {X}^{(i)}\right) \end{aligned}$$
Fig. 1
figure 1

Sketch of two deformable solids getting in contact

To enforce the contact constrain, a pair of points \(\mathbf {x}^{(1)}\), \(\mathbf {x}^{(2)}\) is defined such that the following equation is fulfilled:

$$\begin{aligned} \mathbf {x}^{(2)}\left( \varvec{\Theta }^{(2)}\right) = g_N\mathbf {n}^{(1)}+ \mathbf {x}^{(1)}\left( \varvec{\Theta }^{(1)}\right) ; \qquad \mathbf {x}^{(1)}\in \Gamma _c^{(1)}, \ \ \mathbf {x}^{(2)}\in \Gamma _c^{(2)}\end{aligned}$$

where \(\varvec{\Theta }^{(i)}\equiv \left( \xi ,\eta \right) ^{(i)}\) are the convective coordinates of \(\Gamma _c^{(i)}\) and \(g_N\) is the contact normal gap. The normal vector to the surface is obtained from the tangent vectors to the surface \(\mathbf {x}_{,\xi }\) and \(\mathbf {x}_{,\eta }\):

$$\begin{aligned} \mathbf {n}^{(i)}= \frac{\mathbf {x}_{,\xi }^{(i)}\times \mathbf {x}_{,\eta }^{(i)}}{\left\| \mathbf {x}_{,\xi }^{(i)}\times \mathbf {x}_{,\eta }^{(i)}\right\| }; \qquad \mathbf {x}_{,\xi }^{(i)}=\frac{\partial \mathbf {x}^{(i)}}{\partial \xi } , \qquad \mathbf {x}_{,\eta }^{(i)}=\frac{\partial \mathbf {x}^{(i)}}{\partial \eta } \end{aligned}$$

We use a ray-tracing scheme to build the contact pair, so, \(\mathbf {x}^{(1)}\) remains fixed and Eq. (2) has the unknowns \(\varvec{\Theta }^{(2)}\) and \(g_N\). The method for solving this equation depends on the parametric transformation \(\mathbf {x}^{(2)}(\varvec{\Theta }^{(2)})\). Equation (2) can be directly solved for linear facets. However, if the surface is defined using rational transformations (e.g. NURBS) (2) becomes non-linear, so we use a Newton-Raphson scheme.

From now onwards we assume that \(\left( \xi ,\eta \right) ^{(2)}\equiv \left( \xi ,\eta \right) \). We can now take variations in (2):

$$\begin{aligned} \delta \mathbf {x}^{(2)}\left( \xi ,\eta \right) = \delta g_N\mathbf {n}^{(1)}+ g_N\delta \mathbf {n}^{(1)}+ \delta \mathbf {x}^{(1)}\end{aligned}$$

Taking into account that \(\delta \mathbf {n}^{(1)}\cdot \mathbf {n}^{(1)}=0, \mathbf {n}^{(1)}\cdot \mathbf {n}^{(1)}=1\) and projecting Eq. (4) into \(\mathbf {n}^{(1)}\) we obtain the variation of the normal gap:

$$\begin{aligned} \delta g_N = \left( \delta \mathbf {x}^{(2)}\left( \xi ,\eta \right) - \delta \mathbf {x}^{(1)}\right) \cdot \mathbf {n}^{(1)}\end{aligned}$$

Discretization of contact kinematics

The finite element (FE) approximation of these continuum variables introduces two important sources of error. One is related to the discretization of the analysis domain \(\Omega _{\textit{h}}\) which usually differs from the original \(\Omega \). The approximation of the continuum displacement with the FE variable \(\mathbf {u}^{\textit{h}}\) introduces the discretization error. We define this field from the nodal value \(\mathbf {u}\) using linear shape functions, \(\mathbf {u}^{\textit{h}}=N_k \mathbf {u}_k\), where \(\mathbf {u}_k\) is the displacement of node k.

In this work we want to assess the performance of three different alternatives for the definition of \(\varvec{\varphi }\). In the first alternative we will consider a linear approximation of \(\Omega \). The second alternative, first introduced in [7], includes the CAD definition of \(\Gamma _c^{(i)}\) in the reference configuration, combined with the FE approximation of the displacements. Finally we present an alternative in which the CAD surface is deformed such that it fits the FE solution.

Fig. 2
figure 2

Disctretization mesh of a torus in cgFEM. In green, elements internal to the domain. In red, elements cut by the boundary (boundary elements). Elements completely outside the domain are not considered during the analysis. a Phys. domain \(\Omega \). b Discretization \({\Omega }_{h}\). c Internal and boundary elements

Fig. 3
figure 3

Surface and volume discretization using the Marching Cubes algorithm and cgFEM. a Inside-outside test of nodes using intersections data. b Marching Cubes topology. c Volume (green) and surface (red) quadratures considering CAD geometry

Previous considerations regarding cgFEM

Surface topology with the Marching cubes algorithm

In body-fitted contact FEM formulations the discretized domain \(\Omega _{\textit{h}}\) is created so that there are nodes located at \(\Gamma ^{(i)}\) and the surface segments are directly faces of the elements in \(\Omega _{\textit{h}}\). In cgFEM [4, 5] \(\Omega _{\textit{h}}\) is a regular cuboid in which the analysis domain \(\Omega \) is completely embedded. This embedding domain can be easily meshed with a sequence of regular Cartesian grids (Fig. 2b). Thus, there are no nodes located on \(\Gamma ^{(i)}\) and there exist elements cut by the boundary, depicted in red in Fig. 2c. The consideration of the boundary within these elements is implicitly achieved by only integrating the material part of the intersected element. A 2D sketch of the numerical integration construction procedure for an element cut by the boundary is shown in Fig. 3. Given the inside-outside status of the nodes (Fig. 3a), the Marching Cubes algorithm [27] classifies the intersected pattern into 16 unique configurations. Then a tetrahedron (triangles in 2D) topology is created for each configuration. Only the subdomains in the material side are kept (Fig. 3b) for numerical integration. Instead of creating linear surface and volume segments using this topology, cgFEM is able to take into account the NURBS definition of \(\Gamma _c\), as explained in [5], using a technique based on the work of Sevilla et al. [28]. With this procedure the points used for surface numerical integration are located over the actual CAD definition of the boundary (Fig. 3c), and the volume subdomains account for the actual intersected volume in the element. Other specific methods to obtain the volume and surface subdomains and quadratures for particular cases, such as multiple surfaces within a boundary element, can be found in [5].

Fig. 4
figure 4

Convective to local coordinates transformation. A point located at \(\varvec{\Theta }\) in the surface parametric space (a) is mapped to the reference configuration \(\mathbf {X}\left( \varvec{\Theta }\right) \) on the global coordinates system (c) and then to the local element space (b) with coordinates \(\varvec{\zeta }^e\)

Convective to local coordinates transformation

It is worth to remark that for the case of a point lying on \(\Gamma ^{(i)}\) the reference configuration mapping is described using the surface convective coordinates, whereas the FE solution \(\mathbf {u}^{\textit{h}}\) is defined with the shape functions of the elements, which are independent of the geometry. Figure 4 shows the coordinate transformations involved in the evaluation of the displacement field for a surface point with convective coordinates \(\varvec{\Theta }\), where \(\mathbf {B}\left( \varvec{\Theta }\right) \) represents the surface parametric transformation to the global space, \(\mathbf {X}=\mathbf {B}\left( \varvec{\Theta }\right) \). The reference and deformed configurations are shown in the Figure with coordinates \(\mathbf {X}\) and \(\mathbf {x}\), and the reference element used to define the shape functions \(\mathbf {N}(\varvec{\zeta }^e)\) is depicted on the left. As all the elements in cgFEM are regular hexahedrons the backward mapping from the global space to the local element space \(\varvec{\zeta }^e\) is straightforward. For a given point with coordinates \(\mathbf {X}=\mathbf {B}\left( \varvec{\Theta }\right) \) we have:

$$\begin{aligned} \varvec{\zeta }^e=\frac{\mathbf {B}\left( \varvec{\Theta }\right) -\mathbf {X}_e}{h\slash 2} \end{aligned}$$

where \(\mathbf {X}_e\) is the center and h the size of the element. The partial derivatives of this mapping with respect to the convective coordinates are involved in the kinematic variables definition and can be formulated as:

$$\begin{aligned} \frac{\partial \varvec{\zeta }^e}{\partial \xi }=\frac{2}{h}\mathbf {B}_{,\xi } ; \qquad \frac{\partial \varvec{\zeta }^e}{\partial \eta }=\frac{2}{h}\mathbf {B}_{,\eta } \end{aligned}$$

Variation of kinematic variables

In this work we use the exact variation of \(\mathbf {x}^{(1)}\) and \(\mathbf {x}^{(2)}\), which ensures the symmetry of the formulation and the conservation of the angular momentum. Therefore the variation of the position vector for each body is formulated as:

$$\begin{aligned} \begin{array}{l} \delta \mathbf {x}^{(1)}=\mathbf {x}_{,u}^{(1)}\ \delta \mathbf {u}\\ \delta \mathbf {x}^{(2)}=\left( \mathbf {x}_{,\xi }^{(2)}\delta \xi +\mathbf {x}_{,\eta }^{(2)}\delta \eta +\mathbf {x}_{,u}^{(2)}\right) \ \delta \mathbf {u} \end{array} \end{aligned}$$

The variations \(\delta \xi \) and \(\delta \eta \) in Eq. (8) are obtained by projecting Eq. (4) into \(\mathbf {x}_{,\xi }^{(1)}\) and \(\mathbf {x}_{,\eta }^{(1)}\). Considering that \(\mathbf {x}_{,\xi }^{(1)}\cdot \mathbf {n}^{(1)}=0, \mathbf {x}_{,\eta }^{(1)}\cdot \mathbf {n}^{(1)}=0\), the following system is presented:

$$\begin{aligned} \begin{bmatrix}\mathbf {x}_{,\xi }^{(2)}\cdot \mathbf {x}_{,\xi }^{(1)}&\mathbf {x}_{,\eta }^{(2)}\cdot \mathbf {x}_{,\xi }^{(1)}\\ \mathbf {x}_{,\xi }^{(2)}\cdot \mathbf {x}_{,\eta }^{(1)}&\mathbf {x}_{,\eta }^{(2)}\cdot \mathbf {x}_{,\eta }^{(1)}\end{bmatrix}\begin{Bmatrix}\delta \xi \\ \delta \eta \end{Bmatrix}= \begin{Bmatrix}g_N\delta \mathbf {n}^{(1)}\cdot \mathbf {x}_{,\xi }^{(1)}-(\mathbf {x}_{,u}^{(2)}-\mathbf {x}_{,u}^{(1)})\cdot \mathbf {x}_{,\xi }^{(1)}\\ g_N\delta \mathbf {n}^{(1)}\cdot \mathbf {x}_{,\eta }^{(1)}-(\mathbf {x}_{,u}^{(2)}-\mathbf {x}_{,u}^{(1)})\cdot \mathbf {x}_{,\eta }^{(1)}\end{Bmatrix} \end{aligned}$$

where the last term to calculate is the variation of the normal gap. Starting from (3), the variation is evaluated as:

$$\begin{aligned} \begin{aligned} \delta \mathbf {n}^{(1)}&= \mathbf {n}^{(1)}_{,u}\delta \mathbf {u}\\ \mathbf {n}^{(1)}_{,u}&= \frac{\mathbf {x}_{,u,\xi }^{(1)}\times \mathbf {x}_{,\eta }^{(1)}+\mathbf {x}_{,\xi }^{(1)}\times \mathbf {x}_{,u,\eta }^{(1)}}{\left\| \hat{\mathbf {n}}^{(1)}\right\| }-\frac{\mathbf {n}^{(1)}}{\left\| \hat{\mathbf {n}}^{(1)}\right\| }\left[ \mathbf {n}^{(1)}\cdot (\mathbf {x}_{,u,\xi }^{(1)}\times \mathbf {x}_{,\eta }^{(1)}+\mathbf {x}_{,\xi }^{(1)}\times \mathbf {x}_{,u,\eta }^{(1)})\right] \end{aligned} \end{aligned}$$

Surface definition using linear facets

Having the surface segments topology provided by the Marching Cubes algorithm we define a linear mapping \(\mathbf {B}^l(\varvec{\Theta })\) from the unit triangle to the segment in the initial configuration, \(\mathbf {X}=\mathbf {B}^l(\varvec{\Theta })\). Therefore the position vector in the deformed configuration and its derivatives are defined as:

$$\begin{aligned}&\mathbf {x}= \mathbf {B}^l(\varvec{\Theta }) + \mathbf {N}\left( \varvec{\zeta }^e\right) \mathbf {u}, \qquad \mathbf {x}\in \Gamma _c\nonumber \\&\mathbf {x}_{,u}= \mathbf {N}\left( \varvec{\zeta }^e\right) \nonumber \\&\mathbf {x}_{,\xi }= \mathbf {B}^l_{,\xi }(\varvec{\Theta }) + \mathbf {N}_{,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \frac{\partial \varvec{\zeta }^e}{\partial \xi }\mathbf {u} \nonumber \\&\mathbf {x}_{,u,\xi }= \mathbf {N}_{,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \frac{\partial \varvec{\zeta }^e}{\partial \xi } \nonumber \\&\mathbf {x}_{,\xi ,\xi }= \mathbf {N}_{,\varvec{\zeta }^e,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \frac{\partial \varvec{\zeta }^e}{\partial \xi }\frac{\partial \varvec{\zeta }^e}{\partial \xi }\mathbf {u} +\mathbf {N}_{,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \frac{\partial ^2\varvec{\zeta }^e}{\partial \xi ^2}\mathbf {u} \end{aligned}$$

where \(\mathbf {N}\left( \varvec{\zeta }^e\right) \), \(\mathbf {N}_{,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \) and \(\mathbf {N}_{,\varvec{\zeta }^e,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \) are the FE shape functions and its respective derivatives, and \(\varvec{\zeta }^e\) is evaluated as a function of \(\varvec{\Theta }\) from (6). The partial derivatives with respect to \(\eta \) are evaluated similarly to the terms \(\mathbf {x}_{,\xi }\), \(\mathbf {x}_{,u,\xi }\) and \(\mathbf {x}_{,\xi ,\xi }\). As the contact segments are linear, the tangent vectors \(\mathbf {x}_{,\xi }\), \(\mathbf {x}_{,\eta }\) (and consequently the normal vector \(\mathbf {n}^{(1)}\)) are constant in a segment, and discontinuous between adjacent segments. This fact can produce a loss of convergence in the search of the contact active set, especially for coarse discretizations of the solids.

Fig. 5
figure 5

Surface segments of a regular torus in cgFEM using the same approximation mesh. a Linear facets, b NURBS surface segments

Surface definition using NURBS and FE displacements

In the cgFEM framework it is possible to eliminate the geometry discretization error thanks to the independence between the approximation mesh and the analysis domain. The surface and volume subdomains can be created considering the exact geometry of the domain (Fig. 5), provided that it is defined by NURBS surfaces, which is nowadays a standard among the CAD industry. NURBS surfaces are rational functions defined in their own parametric space of coordinates \(\left( \xi ,\eta \right) \) as

$$\begin{aligned} \mathbf {Q}\left( \xi ,\eta \right) =\sum _{i=1}^{n}\sum _{j=1}^{m}\frac{N_i^{\left( p\right) }\left( \xi \right) M_j^{\left( q\right) }\left( \eta \right) w_{i,j}}{\sum _{i=1}^{n}\sum _{j=1}^{m}N_i^{\left( p\right) }\left( \xi \right) M_j^{\left( q\right) }\left( \eta \right) w_{i,j}}\mathbf {P}_{i,j}\end{aligned}$$

where \(N_i^{(p)}\) and \(M_j^{(q)}\) are one-dimensional basis functions of order p and q respectively, each one defined along two knot vectors with n and m control points. \(\mathbf {P}_{i,j}\) are the coordinates of the \(n\times m\) control points of the surface. Equation (12) can be simplified for further developments as:

$$\begin{aligned} \mathbf {Q}\left( \xi ,\eta \right) = \sum _{i=1}^{n}\sum _{j=1}^{m}S_{i,j}\left( \xi ,\eta \right) \mathbf {P}_{i,j}\end{aligned}$$

where the term \(S_{i,j}\left( \xi ,\eta \right) \) is the NURBS basis function associated to the control point (ij):

$$\begin{aligned} S_{i,j}\left( \xi ,\eta \right) = \frac{N_i^{\left( p\right) }\left( \xi \right) M_j^{\left( q\right) }\left( \eta \right) w_{i,j}}{\sum _{i=1}^{n}\sum _{j=1}^{m}N_i^{\left( p\right) }\left( \xi \right) M_j^{\left( q\right) }\left( \eta \right) w_{i,j}} \end{aligned}$$

We can carefully rearrange the indexation of the control points from (ij) to the unique index k , hence, we can rewrite the NURBS surface as a vector-matrix multiplication:

$$\begin{aligned} \mathbf {Q}\left( \xi ,\eta \right) = \sum _{k=1}^{n\times m}S_{k}\left( \xi ,\eta \right) \mathbf {P}_{k} = \mathbf {S}\left( \xi ,\eta \right) \cdot \mathbf {P}\end{aligned}$$

where \(\mathbf {S}\left( \xi ,\eta \right) \) is a row vector containing the \(n\times m\) NURBS basis functions, and \(\mathbf {P}\) is a \((n\times m)\times 3\) matrix with the coordinates of all the control points of the surface. If we use the NURBS to define the reference configuration of \(\Gamma _c^{(i)}\) (1) and its derivatives are rewritten as

$$\begin{aligned}&\mathbf {x}= \mathbf {Q}\left( \xi ,\eta \right) + \mathbf {N}\left( \varvec{\zeta }^e\right) \mathbf {u}, \qquad \mathbf {x}\in \Gamma _c\nonumber \\&\mathbf {x}_{,u}= \mathbf {N}\left( \varvec{\zeta }^e\right) \nonumber \\&\mathbf {x}_{,\xi }= \mathbf {Q}_{,\xi }\left( \xi ,\eta \right) + \mathbf {N}_{,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \frac{\partial \varvec{\zeta }^e}{\partial \xi }\mathbf {u} \nonumber \\&\mathbf {x}_{,u,\xi }= \mathbf {N}_{,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \frac{\partial \varvec{\zeta }^e}{\partial \xi } \nonumber \\&\mathbf {x}_{,\xi ,\xi }= \mathbf {Q}_{,\xi ,\xi }\left( \xi ,\eta \right) + \mathbf {N}_{,\varvec{\zeta }^e,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \frac{\partial \varvec{\zeta }^e}{\partial \xi }\frac{\partial \varvec{\zeta }^e}{\partial \xi }\mathbf {u} +\mathbf {N}_{,\varvec{\zeta }^e}\left( \varvec{\zeta }^e\right) \frac{\partial ^2\varvec{\zeta }^e}{\partial \xi ^2}\mathbf {u} \end{aligned}$$

Differentiating (12) we can obtain the NURBS derivatives:

$$\begin{aligned} \mathbf {Q}_{,\xi } = \frac{\partial \mathbf {S}\left( \xi ,\eta \right) }{\partial \xi }\mathbf {P}; \qquad \mathbf {Q}_{,\eta } = \frac{\partial \mathbf {S}\left( \xi ,\eta \right) }{\partial \eta }\mathbf {P}\end{aligned}$$

Displacement of the NURBS surface matching the FE solution

The last alternative is a step further in the use of NURBS surfaces to define the position of a point laying on \(\Gamma _c\). Let \(\mathbf {u}\) be the FE displacements obtained for the current iteration during the solution process. Then the following least squares problem is proposed to fit the contact surface (Eq. (15)) to the solution \(\mathbf {u}^{\textit{h}}\):

$$\begin{aligned} \min \left[ \frac{1}{2}\int _{\Gamma _c^{(i)}}\left( \mathbf {S}\left( \xi ,\eta \right) \mathbf {V}- \mathbf {N}(\varvec{\zeta }^e)\mathbf {u} \right) ^2 d\xi d\eta \right] \end{aligned}$$

where \(\mathbf {V}\) are the displacements of control points \(\mathbf {P}\) such as the NURBS surface matches the displacement field given by the FE solution. Figure 6 illustrates this idea with a simple example. The boundary \(\Gamma _c\) is represented in Fig. 6a, with the control points net depicted in red. Assuming the solution \(\mathbf {u}^{\textit{h}}\) evaluated over this surface is as in Fig. 6b the NURBS is fitted to that solution (Fig. 6c). It is straightforward that the quality of this fitting will strongly depend on the “flexibility” of the surface, this is, the degree and number of knots of the NURBS. To overcome this issue there exist degree elevation and knot insertion algorithms which increase the degrees of freedom without changing the original surface.

Fig. 6
figure 6

Example of NURBS fitting to the FE solution. a NURBS definition of \(\Gamma _c\). b FE solution \(\mathbf {u}^h\). c NURBS fitting to \(\mathbf {u}^h\)

The least squares problem in (18) can be solved using numerical integration over \(\Gamma _c\):

$$\begin{aligned} \mathbf {V}=\mathbf {M}^{-1}\mathbf {G}\mathbf {u} \end{aligned}$$


$$\begin{aligned} \mathbf {M} = \sum _{i}\mathbf {S}\left( \xi ,\eta \right) _i^T\mathbf {S}\left( \xi ,\eta \right) _i\left| \mathbf {J}\right| _i H_i\ ; \qquad \mathbf {G} = \sum _{i}\mathbf {S}\left( \xi ,\eta \right) _i^T\mathbf {N}(\varvec{\zeta }^e_i)\left| \mathbf {J}\right| _i H_i \end{aligned}$$

If the contact surface is modified such that the FE solution is implicitly included, the position of a given point of \(\Gamma _c\) can be expressed using only the modified NURBS definition:

$$\begin{aligned} \mathbf {x}=\mathbf {S}\left( \xi ,\eta \right) \left( \mathbf {P}+\mathbf {V}\right) =\mathbf {S}\left( \xi ,\eta \right) \left( \mathbf {P}+\mathbf {C}\mathbf {u}\right) , \qquad \mathbf {x}\in \Gamma _c \end{aligned}$$

with \(\mathbf {C}=\mathbf {M}^{-1}\mathbf {G}\). Note that \(\mathbf {C}\) is a constant matrix which is defined for each different NURBS surface in \(\Gamma _c^{(i)}\). These matrices can be calculated once previously and then used during the solving algorithm saving computational cost. For this case the derivatives of the position vector are expressed as:

$$\begin{aligned}&\mathbf {x}_{,u}= \mathbf {S}\left( \xi ,\eta \right) \mathbf {C} \nonumber \\&\mathbf {x}_{,\xi }= \mathbf {S}_{,\xi }\left( \xi ,\eta \right) \left( \mathbf {P}+\mathbf {C}\mathbf {u}\right) \nonumber \\&\mathbf {x}_{,u,\xi }= \mathbf {S}_{,\xi }\left( \xi ,\eta \right) \mathbf {C} \nonumber \\&\mathbf {x}_{,\xi ,\xi }= \mathbf {S}_{,\xi ,\xi }\left( \xi ,\eta \right) \left( \mathbf {P}+\mathbf {C}\mathbf {u}\right) \end{aligned}$$

The evaluations of the position vector and all its derivatives becomes considerably easier thanks to the use of a unique NURBS in comparison with a mixed definition using the NURBS and the FE solution. The intersection procedure is also faster, since only surface evaluations must be computed. However, matrix \(\mathbf {C}\) couples all the elements in the mesh that contain the same surface, making this method non-viable in terms of computational cost for refined meshes.

Note that in both proposed alternatives the NURBS surface is implicitly considered through the numerical integration, and in the last one the nodes of the Cartesian grid are coupled with the control points of the contact NURBS through the gap definition. However, no additional degrees of freedom are included over the boundary and, in contrast with NURBS-enriched contact formulations as [24], the standard FE interpolation is kept inside the domain.

Stabilized Lagrangian contact formulation

This study is focused on the solution of frictionless 3D contact problems using the cgFEM, so we recall the stabilized Lagrange functional presented in [7]. The solution of the contact problem is the displacement field \(\mathbf {u}\) and the Lagrange multipliers field \(\lambda _N\) that optimizes the following stabilized Lagrangian:

$$\begin{aligned} opt\left\{ \Pi (\mathbf {u}) + \frac{1}{2\kappa _1}\int _{\Gamma _c^{(1)}} \left( \left[ \lambda _N+\kappa _1 g_N\right] ^{2}_{-} - \left| \lambda _N\right| ^2\right) \;d\Gamma -\frac{1}{2\kappa _2}\int _{\Gamma _c^{(1)}} \left( \lambda _N- p_N\right) ^2 d\Gamma \right\} \end{aligned}$$

with \(\Pi (\mathbf {u})\) containing all the terms related to the finite strain elasticity, \(\kappa _1, \kappa _2\) are penalty constants, and we use the negative part operator which is defined as:

$$\begin{aligned} \left[ x\right] _{-} = \left\{ \begin{array}{lcl} -x &{} if &{} x \le 0\\ \\ 0 &{} if &{} x > 0\\ \end{array}\right. \end{aligned}$$

We introduce the normal stabilizing stress \(p_N = \mathbf {n}^{(1)}\cdot \varvec{\sigma }^{*}\cdot \mathbf {n}^{(1)}\), where \(\varvec{\sigma }^{*}\) is a smooth field evaluated using the Zienkiewicz and Zhu Superconvergent Patch Recovery (SPR) technique [12, 13]. This term is considered independent of the solution, and an external loop is introduced to re-evaluate it. We experienced that the number of iterations is usually only between 2-4. Taking variations in Eq. (23) we can assume that \(\varvec{\sigma }^{*}\) is constant and we obtain the following system:

$$\begin{aligned} \left\{ \begin{array}{l} \delta \Pi (\mathbf {u},\delta \mathbf {u}) - \displaystyle \int _{\Gamma _c^{(1)}} \left[ \lambda _N+\kappa _1 g_N\right] _{-}\delta g_N \,d\Gamma = 0, \; \forall \delta \mathbf {u}\\ \\ \displaystyle -\frac{1}{\kappa _1}\int _{\Gamma _c^{(1)}} \left( \left[ \lambda _N+ \kappa _1 g_N\right] _{-} + \lambda _N\right) \delta \lambda _N\,d\Gamma -\frac{1}{\kappa _2}\displaystyle \int _{\Gamma _c^{(1)}} \left( \lambda _N- p_N\right) \delta \lambda _N\,d\Gamma = 0, \; \forall \delta \lambda _N\\ \end{array}\right. \end{aligned}$$

The Lagrange multipliers in the second Equation in (25) can be condensed element-wise [7] when considering the numerical integration, obtaining the following result:

$$\begin{aligned} {\lambda _N}_g = \left\{ \begin{array}{lcl} \kappa _2 {g_N}_g + {p_N}_g \; &{}\quad if &{} \; \left( {\lambda _N}_g +\kappa _1 {g_N}_g\right) \le 0\\ \\ 0 \; &{} if &{} \; \left( {\lambda _N}_g +\kappa _1 {g_N}_g\right) > 0\\ \end{array}\right. \end{aligned}$$

This is defined for each quadrature point depicted by sub-index g. The substitution of \(\lambda _N\) in the numerical integration of (25) yields the following equation:

$$\begin{aligned} \begin{array}{rcl} \delta \Pi (\mathbf {u},\delta \mathbf {u}) - \sum _g \left( {p_N}_g + \frac{\kappa E}{h}{g_N}_g\right) \delta {g_N}_g \left| J\right| _g H_g = 0, \; &{} if &{} \; \left( {p_N}_g +\frac{\kappa E}{h}{g_N}_g\right) \le 0\\ \\ \delta \Pi (\mathbf {u},\delta \mathbf {u}) = 0, \; &{} if &{} \; \left( {p_N}_g +\frac{\kappa E}{h}{g_N}_g\right) > 0\\ \end{array} \end{aligned}$$

where \(\frac{\kappa E}{h}=\left( \kappa _1+\kappa _2\right) \) is the penalty term, E is the elastic modulus, h is the mesh size, \(H_g\) is the quadrature weight and, \(\left| J\right| _g\) is the Jacobian of the transformation.

Linearization of kinematic variables

The formulation used above is solved using the Newton-Raphson method, therefore, the linearizations of the kinematic variables in Eq. (27), i.e., \(\Delta g_N\) and \(\Delta \delta g_N\) are needed. The same process performed in (5) can be used to obtain \(\Delta g_N\). For the linearization \(\Delta \delta g_N\) we start from (4) and obtain the following expression:

$$\begin{aligned} \Delta \delta \mathbf {x}^{(2)}\left( \xi ,\eta \right) = \Delta \delta g_N\mathbf {n}^{(1)}+ \delta g_N\Delta \mathbf {n}^{(1)}+ \Delta g_N\delta \mathbf {n}^{(1)}+ g_N\Delta \delta \mathbf {n}^{(1)}+ \Delta \delta \mathbf {x}^{(1)}\end{aligned}$$

which, after multiplying by \(\mathbf {n}^{(1)}\), results in:

$$\begin{aligned} \Delta \delta g_N = \left( \Delta \delta \mathbf {x}^{(2)}\left( \xi ,\eta \right) - \Delta \delta \mathbf {x}^{(1)}\right) \cdot \mathbf {n}^{(1)}- g_N\Delta \delta \mathbf {n}^{(1)}\cdot \mathbf {n}^{(1)}\end{aligned}$$

We can now obtain the linearizations \(\Delta \delta \mathbf {x}^{(1)}\), \(\Delta \delta \mathbf {x}^{(2)}\) from Eq. (8):

$$\begin{aligned} \Delta \delta \mathbf {x}^{(2)}= & {} \delta u\left[ \mathbf {x}_{,\xi ,\xi }^{(2)}\Delta \xi \delta \xi +\mathbf {x}_{,\eta ,\eta }^{(2)}\Delta \eta \delta \eta +\mathbf {x}_{,\xi ,\eta }^{(2)}\left( \Delta \xi \delta \eta +\delta \xi \Delta \eta \right) +\mathbf {x}_{,u,\xi }^{(2)}\delta \xi +\right. \nonumber \\&\left. +\mathbf {x}_{,u,\xi }^{(2)}\Delta \xi +\mathbf {x}_{,u,\eta }^{(2)}\delta \eta +\mathbf {x}_{,u,\eta }^{(2)}\Delta \eta +\mathbf {x}_{,\xi }^{(2)}\Delta \delta \xi +\mathbf {x}_{,\eta }^{(2)}\Delta \delta \eta \right] \Delta u\nonumber \\ \Delta \delta \mathbf {x}^{(1)}= & {} 0 \end{aligned}$$

Finally, multiplying (28) by \(\mathbf {x}_{,\xi }^{(1)}\) and \(\mathbf {x}_{,\eta }^{(1)}\) a system of equations similar to (9) is obtained to compute the variables \(\Delta \delta \xi \) and \(\Delta \delta \eta \).

Numerical examples

Contact between plane surfaces

In this example, similar to [29, 30], a simple analysis of contact between plane surfaces is solved to test the convergence of the FE solution using the different surface definitions described in this paper. The 2D sketch of the solids in contact is depicted in Fig. 7, where x is the out-of-plane direction. Both solids have common elastic material properties, \(E = 115 {\text {GPa}}\) and \(\nu = 0.3\). At the initial configuration, the contact surfaces are overlapping and vertical displacement \(d=-1.6\times 10^{-6}\, {\text {m}}\) is applied on the upper face of the upper body. Displacements along y direction are constrained on the upper face of body 2 and on the lower face of body 1. We use a 2D plane strain overkill solution from [30] as a reference for the discretization error evaluation, so symmetry conditions are applied to the faces parallel to the yz plane. The lateral faces of body 1 are loaded with \(p_y=4\cdot 10^{11}(0.01-z)z\ Pa\) and \(p_z=10\cdot 10^{11}(0.01-z)z\ Pa\).

Fig. 7
figure 7

Example 1. Contact between plane surfaces. Sketch of problem

Fig. 8
figure 8

Example 1. Refinement process for the study of the convergence of the solution. Meshes 1 to 3 are shown from left to right

Fig. 9
figure 9

Example 1: Evolution of the error in energy norm with the element size of the lower body. Convergence of the FE solution

Fig. 10
figure 10

Example 1: FE displacements \(\mathbf {u}^{\textit{h}}\) over the top surface of the lower solid considering linear facets and NURBS fitting definitions. The curve in red depicts the solution of the NURBS fitting problem

Fig. 11
figure 11

Example 2. Contact simulation between curved surfaces. A positive displacement along the y direction is imposed over the purple surfaces. All the DOFs are constrained over the blue surfaces

Fig. 12
figure 12

Example 2. Refinement process for the analysis of contact between curved surfaces. Meshes 1 to 3 are shown from left to right. Both solids are meshed with a similar discretization. a 216 nodes. b 1052 nodes. c 5268 nodes

Fig. 13
figure 13

Example 2. Reaction forces on the Dirichlet constrained surfaces during the load

Fig. 14
figure 14

Example 2. Values of \(\varvec{\sigma }_y\) (Pa) at final load step for all the analyses. *The image in a shows the coarse surface discretization which led to loss of convergence. a Linear, mesh 1*. b Linear, mesh 2. c Linear, mesh 3. d NURBS + FE, 1. e NURBS + FE, 2. f NURBS + FE, 3. g NURBS disp., 1. h NURBS disp., 1

Fig. 15
figure 15

Example 2. Finite deformations with Neo-Hookean material. Deformed shape using a Linear facets, b NURBS + FE solution. The color map represents values of \(||\mathbf {u}^{\textit{h}}||\). c Surface integration points with active contact

Fig. 16
figure 16

Example 3. Small deformations contact between curved surfaces. A positive displacement along the y direction is imposed over the purple surfaces. All the DOFs are constrained over the blue surfaces

Fig. 17
figure 17

Example 3. Small deformations contact between three torus. Von Mises stress for the central torus (Pa) with exact geometry consideration and linear facets. a Facets, 216 nodes. b Facets, 1052 nodes

Non-conforming Cartesian grids are used on both bodies. Figure 8 shows some of the uniformly refined meshes used for the analysis. Starting with the first discretization in Fig. 8 each element is subdivided into 8 new elements to build the following mesh.

The convergence of the relative error in energy norm is shown in Fig. 9 for a sequence of 4 meshes using linear elements, \(\mathscr {H}_8\). The results show that, for all the surface definitions, optimal convergence rate of the error in energy norm (represented by the triangle) is achieved. Only two meshes were solved with the fitting NURBS definition due to the high amounts of nodes coupled in the following meshes.

The original surface definitions consist in linear NURBS for both solids. The degree of the contact surfaces was modified in order to increase the flexibility of the surfaces when performing the NURBS fitting. Figure 10 shows the vertical displacements \(u^h_y\) along a line located on the top surface of the lower solid for the cases of linear facets and fitting NURBS definitions, which are very similar. The line in red represents the NURBS surface resulting from the fitting problem Eq. (18).

When the contact occurs between planar surfaces there is practically no difference in the definition of the surfaces using the three presented methods, and the gap measurement is trivial. Therefore, as expected, all methods have results with a similar precision.

Contact between curved surfaces, finite deformations

The second example considers the contact interaction between elastic solids with a toroidal shape with major radius \(R = 2\,{\text {cm}}\) and minor radius \(r = 0.5\,{\text {cm}}\). Figure 11 shows the initial position of the bodies in contact. A positive displacement is imposed along the y direction over the purple surfaces in 5 incremental steps of 0.1cm. All the DOFs are constrained over the blue surfaces. A Neo-Hookean material is used with \(E = 116 GPa\) and \(\nu = 0.3\).

Three different discretizations have been considered in this case, using the same uniform refinement process described in the previous example. Figure 12 shows the analysis meshes for one of the solids. No results were obtained when using linear facets with the first of the meshes due to loss of convergence caused by the surface discretization being extremely coarse. However, the same coarse mesh had no convergence problems using the other two surface definitions, thanks to the consideration of the exact geometry. The last mesh was not solved using the NURBS displacement method due to the high amount of nodes coupled by each surface, which results in non-viable computational cost.

Figure 13 shows the evolution of the reaction forces over the constrained surfaces during the load for each analysis. Note that although all analyses have similar results, the reaction forces when solving mesh 2 with linear facets is clearly lower than the rest of the analyses, including the results obtained with NURBS+FE and NURBS fitting for the coarse mesh. This is mainly due to the lower precision in the gap measurement with linear facets.

The values of \(\varvec{\sigma }_y\) at the final load step for all the performed analyses is shown in Fig. 14. The results are similar for the different methods, with the maximum stress value increasing with the refinement of the mesh.

The same problem was solved using a Neo-Hookean material with \(E = 7\,{\text {MPa}}\), \(\nu = 0.45\), and 15 displacement increments of 0.1cm along the y direction. Two methods are compared in this test, first the linear facets definition with mesh number 2 (Fig. 12b) and the NURBS + FE method with the coarse mesh (Fig. 12a). The deformed configuration of the solids for the last load step is shown in Fig. 15. It can be seen that despite the use of a coarser discretization, the results with the NURBS + FE method are similar to those obtained with linear facets and a finer mesh.

Contact between curved surfaces, small deformations

The last example consists in a small deformations contact simulation between three torus. The geometric parameters are the same as in the previous example. For this problem a linear elastic material has been considered, with \(E = 115 \,{\text {GPa}}\) and \(\nu = 0.3\), and only one increment of 0.05cm has been applied in the y direction over the purple surfaces, shown in Fig. 16. The problem was solved using linear facets and NURBS + FE definition, with the meshes in Fig. 12a, b respectively.

Figure 17 shows the resulting Von Mises stress at the central solid for both cases. A substantial difference between the maximum stress values can be appreciated in this cases. As the deformations in this problem are small, the stress is mainly due to the contact interaction, and the initial gap measure becomes crucial. With convex contact surfaces the linear facets definition estimates less penetration than the actual geometries have, thus producing lower values of stress, even with a higher number of degrees of freedom than in the case of NURBS contact surfaces.


Three different alternatives have been presented to define the contact surfaces within the Cartesian grid finite element method: a linear facet representation, a combination of NURBS surface and FE displacements and the fitting of a NURBS surface to the FE displacements. The first option, is the most simple and fastest of all three in terms of procedure and implementation. The surface integration quadratures are based on linear triangles whose rules are well known. The ray-tracing algorithm becomes a linear equation, thus having an analytical solution. Therefore the gap is easily computed. In terms of implementation, the normal vector is constant along a surface subdomain (triangle) reducing the number of terms in the calculation of the kinematic variables. On the other hand, this method has lower precision in the gap measure, which can affect the robustness of the method, specially with coarse discretizations.

The use of NURBS surfaces combined with FE solution provides with better results compared with linear facets, as the actual CAD geometry is considered regardless of the used discretization. In all the tests analysed the precision of the solution computed in terms of energy error or stresses is always greater or equal than that obtained with linear facets. This is specially true for coarse discretizations, due to the enhanced gap measure. Some drawbacks of this method are related to the computational cost of the quadrature rules creation [5] and the solution of the ray-tracing algorithm (non-linear equation). In terms of implementation, more terms are involved in the evaluation of the kinematic variables and its variations. However, the total computational cost is not compromised, as the results obtained with NURBS surfaces and coarse meshes have a similar quality as those obtained with finer meshes and linear facets.

From an analytical point of view, the NURBS fitting definition has interesting features with respect to the mixed NURBS and FE definition. The evaluation of the kinematic variables and the ray-tracing solution are simpler as there is only a NURBS involved. However, the high coupling of degrees of freedom for fine discretizations should be addressed, as the computational cost grows exponentially. For these reasons, the combination of NURBS and FE solution seems to be the most versatile and robust option to define the contact surfaces in the framework of the cgFEM.


  1. Düster a, Parvizian J, Yang Z, Rank E. The finite cell method for three-dimensional problems of solid mechanics. Comput Methods Appl Mech Eng. 2008;197(45–48):3768–82.

    Article  MathSciNet  MATH  Google Scholar 

  2. Schillinger D, Ruess M. The finite cell method: a review in the context of higher-order structural analysis of CAD and image-based geometric models. Arch Comput Methods Eng. 2015;22(3):391–455.

    Article  MathSciNet  MATH  Google Scholar 

  3. Burman E, Claus S, Hansbo P, Larson MG, Massing A. CutFEM: discretizing geometry and partial differential equations. Int J Numer Methods Eng. 2015;104(7):472–501.

    Article  MathSciNet  MATH  Google Scholar 

  4. Nadal E, Ródenas JJ, Albelda J, Tur M, Tarancón JE, Fuenmayor FJ. Efficient finite element methodology based on cartesian grids: application to structural shape optimization. Abstr Appl Anal. 2013;2013:1–19.

    Article  MathSciNet  MATH  Google Scholar 

  5. Marco O, Sevilla R, Zhang Y, Ródenas JJ, Tur M. Exact 3D boundary representation in finite element analysis based on Cartesian grids independent of the geometry. Int J Numer Methods Eng. 2015;103(6):445–68.

    Article  MathSciNet  MATH  Google Scholar 

  6. Tur M, Albelda J, Marco O, Ródenas JJ. Stabilized method of imposing Dirichlet boundary conditions using a recovered stress field. Comput Methods Appl Mech Eng. 2015;296:352–75.

    Article  MathSciNet  Google Scholar 

  7. Tur M, Albelda J, Navarro-Jimenez JM, Rodenas JJ. A modified perturbed Lagrangian formulation for contact problems. Comput Mech. 2015;55(4):737–54.

    Article  MathSciNet  MATH  Google Scholar 

  8. Heintz P, Hansbo P. Stabilized Lagrange multiplier methods for bilateral elastic contact with friction. Comput Methods Appl Mech Eng. 2006;195(33–36):4323–33.

    Article  MathSciNet  MATH  Google Scholar 

  9. Annavarapu C, Hautefeuille M, Dolbow JE. A Nitsche stabilized finite element method for frictional sliding on embedded interfaces. Part I: single interface. Comput Methods Appl Mech Eng. 2014;268:417–36.

    Article  MathSciNet  MATH  Google Scholar 

  10. Poulios K, Renard Y. An unconstrained integral approximation of large sliding frictional contact between deformable solids. Comput Struct. 2015;153:75–90.

    Article  Google Scholar 

  11. Mlika R, Renard Y, Chouly F. An unbiased Nitsche’s formulation of large deformation frictional contact and self-contact. Comput Methods Appl Mech Eng. 2017;325:265–88.

    Article  MathSciNet  Google Scholar 

  12. Zienkiewicz OC, Zhu JZ. The superconvergent patch recovery and a posteriori error estimates. Part 1: the recovery technique. Int J Numer Methods Eng. 1992;33:1331–64.

    Article  MATH  Google Scholar 

  13. Ródenas JJ, Tur M, Fuenmayor FJ, Vercher A. Improvement of the superconvergent patch recovery technique by the use of constraint equations: The SPR-C technique. Int J Numer Methods Eng. 2007;70:705–27.

    Article  MATH  Google Scholar 

  14. González-Estrada OA, Ródenas JJ, Bordas SPA, Nadal E, Kerfriden P, Fuenmayor FJ. Locally equilibrated stress recovery for goal oriented error estimation in the extended finite element method. Comput Struct. 2015;152:1–10.

    Article  MATH  Google Scholar 

  15. Wriggers P, Krstulovic-Opara L, Korelc J. Smooth c1-interpolations for two-dimensional frictional contact problems. Int J Numer Methods Eng. 2001;51(12):1469–95.

    Article  MATH  Google Scholar 

  16. Padmanabhan V, Laursen TA. A framework for development of surface smoothing procedures in large deformation frictional contact analysis. Finite Elem Anal Design. 2001;37(3):173–98.

    Article  MATH  Google Scholar 

  17. Tur M, Giner E, Fuenmayor FJ, Wriggers P. 2d contact smooth formulation based on the mortar method. Comput Methods Appl Mech Eng. 2012;247–248:1–14.

    Article  MathSciNet  MATH  Google Scholar 

  18. Stadler M, Holzapfel GA, Korelc J. Cn continuous modelling of smooth contact surfaces using NURBS and application to 2D problems. Int J Numer Methods Eng. 2003;57(15):2177–203.

    Article  MATH  Google Scholar 

  19. Puso MA, Laursen TA. A 3d contact smoothing method using gregory patches. Int J Numer Methods Eng. 2002;54(8):1161–94.

    Article  MathSciNet  MATH  Google Scholar 

  20. Neto DM, Oliveira MC, Menezes LF, Alves JL. A contact smoothing method for arbitrary surface meshes using nagata patches. Comput Methods Appl Mech Eng. 2016;299:283–315.

    Article  MathSciNet  Google Scholar 

  21. Hughes TJR, Cottrell Ja, Bazilevs Y. Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput Methods Appl Mech Eng. 2005;194(39–41):4135–95.

    Article  MathSciNet  MATH  Google Scholar 

  22. De Lorenzis L, Wriggers P, Hughes TJR. Isogeometric contact: a review. GAMM-Mitteilungen. 2014;37(1):85–123.

    Article  MathSciNet  MATH  Google Scholar 

  23. Dittmann M, Franke M, Temizer I, Hesch C. Isogeometric analysis and thermomechanical mortar contact problems. Comput Methods Appl Mech Eng. 2014;274:192–212.

    Article  MathSciNet  MATH  Google Scholar 

  24. Corbett CJ, Sauer RA. NURBS-enriched contact finite elements. Comput Methods Appl Mech Eng. 2014;275:55–75.

    Article  MathSciNet  MATH  Google Scholar 

  25. Corbett CJ, Sauer RA. Three-dimensional isogeometrically enriched finite elements for frictional contact and mixed-mode debonding. Comput Methods Appl Mech Eng. 2015;284:781–806.

    Article  MathSciNet  Google Scholar 

  26. Navarro-Jiménez JM, Tur M, Albelda J, Ródenas JJ. Large deformation frictional contact analysis with immersed boundary method. Computational Mechanics. 2018; 1–18.

  27. Lorensen WE, Cline HE, Lorensen WE, Cline HE. Marching cubes: a high resolution 3D surface construction algorithm. In: Proceedings of the 14th annual conference on computer graphics and interactive techniques—SIGGRAPH ’87, vol. 21. 1987. p. 163–169. New York: ACM Press.

  28. Sevilla R, Fernández-Méndez S, Huerta A. NURBS-enhanced finite element method (NEFEM). Int J Numer Methods Eng. 2008;76:56–83.

    Article  MathSciNet  MATH  Google Scholar 

  29. Hüeber S, Mair M, Wohlmuth BI. A priori error estimates and an inexact primal-dual active set strategy for linear and quadratic finite elements applied to multibody contact problems. Appl Numer Math. 2005;54(3–4):555–76.

    Article  MathSciNet  MATH  Google Scholar 

  30. Tur M, Fuenmayor FJ, Wriggers P. A mortar-based frictional contact formulation for large deformations using Lagrange multipliers. Comput Methods Appl Mech Eng. 2009;198(37–40):2860–73.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author's contributions

MT carried out the theoretical developments and supervised the implementation. JMN implemented the developments, collected data and drafted the manuscript. MT, JJR and FJF revised the manuscript. All authors read and approved the final manuscript.


The authors wish to thank the Spanish Ministerio de Economia y Competitividad the Generalitat Valenciana and the Universitat Politècnica de València for their financial support received through the projects DPI2017-89816-R, Prometeo 2016/007 and the FPI2015 program.

Competing interests

The authors declare that they have no competing interests.

Availability of data and materials

Not applicable.

Ethics approval and consent to participate

Not applicable.


Funded by Spanish Ministerio de Economia y Competitividad (project DPI2017-89816-R), Generalitat Valenciana (project Prometeo 2016/007) and Universitat Politècnica de València (program FPI2015).

Author information

Authors and Affiliations


Corresponding author

Correspondence to José Manuel Navarro-Jiménez.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, 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.

Reprints and Permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Navarro-Jiménez, J.M., Tur, M., Fuenmayor, F.J. et al. On the effect of the contact surface definition in the Cartesian grid finite element method. Adv. Model. and Simul. in Eng. Sci. 5, 12 (2018).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI:


  • Contact
  • Immersed boundary
  • cgFEM