Skip to main content

Combination of an adaptive remeshing technique with a coupled FEM–DEM approach for analysis of crack propagation problems


This paper presents an enhanced coupled approach between the finite element method (FEM) and the discrete element method (DEM) in which an adaptive remeshing technique has been implemented. The remeshing technique is based on the computation of the Hessian of a selected nodal variable, i.e. the mesh is refined where the curvature of the variable field is greater. Once the Hessian is known, a metric tensor is defined node-wise that serves as input data for the remesher (MmgTools) that creates a new mesh. After remeshing, the mapping of the internal variables and the nodal values is performed and a regeneration of the discrete elements on the crack faces of the new mesh is carried out. Several examples of fracturing problems using the enhanced FEM–DEM formulation are presented. Accurate results in comparison with analytical and experimental solutions are obtained.

This is a preview of subscription content, access via your institution.

Fig. 1

Image from [14]

Fig. 2

Image from [14]

Fig. 3
Fig. 4
Fig. 5

Images from [53]

Fig. 6
Fig. 7
Fig. 8
Fig. 9

Image from [54]

Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26


  1. Zárate F, Oñate E (2015) A simple FEM–DEM technique for fracture prediction in materials and structures. Comput Part Mech 2:301–314

    Article  Google Scholar 

  2. Zárate F, Cornejo A, Oñate E (2018) A three-dimensional FEM–DEM technique for predicting the evolution of fracture in geomaterials and concrete. Comput Part Mech 5:411–420

    Article  Google Scholar 

  3. Shephard MS, Yehia NAB, Burd GS, Weidner TJ (1985) Automatic crack propagation tracking. Comput Struct 20:211–223

    Article  Google Scholar 

  4. Wawrzynek PA, Ingraffea AR (1989) An interactive approach to local remeshing around a propagating crack. Finite Elem Anal Des 5:87–96

    Article  Google Scholar 

  5. Bittencourt TN, Wawrzynek PA, Ingraffea AR, Sousa JL (1996) Quasi-automatic simulation of crack propagation for 2D lefm problems. Eng Fract Mech 55:321–334

    Article  Google Scholar 

  6. Trädegård A, Nilsson F, Östlund S (1998) Fem-remeshing technique applied to crack growth problems. Comput Methods Appl Mech Eng 160:115–131

    MATH  Article  Google Scholar 

  7. Bouchard PO, Bay F, Chastel Y, Tovena I (2000) Crack propagation modelling using an advanced remeshing technique. Comput Methods Appl Mech Eng 189:723–742

    MATH  Article  Google Scholar 

  8. Lubliner J, Oliver J, Oller S, Oñate E (1989) A plastic-damage model for concrete. Int J Solids Struct 25:299–326

    Article  Google Scholar 

  9. Oller S, Oñate E, Oliver J, Lubliner J (1990) Finite element nonlinear analysis of concrete structures using a plastic-damage model. Eng Fract Mech 35:219–231

    Article  Google Scholar 

  10. Zienkiewicz OC, Zhu JZ (1992) The superconvergent patch recovery (SPR) and adaptive finite element refinement. Comput Methods Appl Mech Eng 101:207–224

    MathSciNet  MATH  Article  Google Scholar 

  11. Cervera M, Chiumenti M, Agelet de Saracibar C (2004) Shear band localization via local J2 continuum damage mechanics. Comput Methods Appl Mech Eng 193:849–880

    MATH  Article  Google Scholar 

  12. Cervera M, Chiumenti M, Codina R (2010) Mixed stabilized finite element methods in nonlinear solid mechanics part I: formulation. Comput Methods Appl Mech Eng 199:2559–2570

    MathSciNet  MATH  Article  Google Scholar 

  13. Cervera M, Chiumenti M, Codina R (2010) Mixed stabilized finite element methods in nonlinear solid mechanics part II: strain localization. Comput Methods Appl Mech Eng 199:2571–2589

    MathSciNet  MATH  Article  Google Scholar 

  14. Cervera M (2008) An orthotropic mesh corrected crack model. Comput Methods Appl Mech Eng 197:1603–1619

    MATH  Article  Google Scholar 

  15. Clough RW (1962) The stress distribution of Norfork dam. Technical Report 19, Department of Civil Engineering, University of California, Berkley, California, USA

  16. Ngo D, Scordelis AC (1967) Finite element analysis of reinforced concrete beams. ACI J 64:152–163

    Google Scholar 

  17. Nilson AH (1968) Nonlinear analysis of reinforced concrete by the finite element method. ACI J 65:757–766

    Google Scholar 

  18. Belytschko T, Black T (1999) Elastic crack growth in finite elements with minimal remeshing. Int J Numer Methods Eng 45:601–620

    MATH  Article  Google Scholar 

  19. Moës N, Dolbow J, Belytschko T (1999) A finite element method for crack growth without remeshing. Int J Numer Methods Eng 46:131–150

    MathSciNet  MATH  Article  Google Scholar 

  20. Sukumar N, Moës N, Moran B, Belytschko T (2000) Extended finite element method for three-dimensional crack modelling. Int J Numer Methods Eng 48:1549–1570

    MATH  Article  Google Scholar 

  21. Sukumar N, Chopp DL, Moës N, Belytschko T (2001) Modeling holes and inclusions by level sets in the extended finite-element method. Comput Methods Appl Mech Eng 190:813–833

    MathSciNet  MATH  Article  Google Scholar 

  22. Moës N, Belytschko T (2002) Extended finite element method for cohesive crack growth. Eng Fract Mech 69:813–833

    Article  Google Scholar 

  23. Gasser TC, Holzapfel GA (2006) 3D crack propagation in unreinforced concrete: a two-step algorithm for tracking 3d crack paths. Comput Methods Appl Mech Eng 195:5198–5219

    MathSciNet  MATH  Article  Google Scholar 

  24. Rashid YR (1968) Ultimate strength analysis of prestressed concrete pressure vessels. Nucl Eng Des 7:334–344

    Article  Google Scholar 

  25. Pietruszczak ST, Mroz Z (1981) Finite element analysis of deformation of strain-softening materials. Int J Numer Methods Eng 17:327–334

    MATH  Article  Google Scholar 

  26. Baant ZP, Oh BH (1983) Crack band theory for fracture of concrete. Matériaux et construction 16:155–177

    Article  Google Scholar 

  27. Ladyzhenskaya OA (1958) Solution in the large to the boundary value problem for the Navier–Stokes equations in two space variables. Sov Phys Dokl 123:1128–1131

    MathSciNet  MATH  Google Scholar 

  28. Babuka I (1973) The finite element method with lagrangian multipliers. Numer Math 20:179–192

    MathSciNet  Article  Google Scholar 

  29. Silvester DJ (1994) Optimal low order finite element methods for incompressible flow. Comput Methods Appl Mech Eng 111:357–368

    MathSciNet  MATH  Article  Google Scholar 

  30. Mijuca D (2004) On hexahedral finite element hc8/27 in elasticity. Comput Mech 33:466–480

    MathSciNet  MATH  Article  Google Scholar 

  31. Cundall PA, Strack ODL (1979) A discrete numerical model for granular assemblies. Geotechnique 29:47–65

    Article  Google Scholar 

  32. Labra C, Oñate E (2009) High-density sphere packing for discrete element method simulations. Commun Numer Methods Eng 25:837–849

    MathSciNet  MATH  Article  Google Scholar 

  33. Oñate E, Zárate F, Miquel J, Santasusana M, Celigueta MA, Arrufat F, Gandijota R, Valiullin K, Ring L (2015) A local constitutive model for the discrete element method. Application to geomaterials and concrete. Comput Part Mech 2:139–160

    Article  Google Scholar 

  34. Williams J, O’Connor R (1999) Discrete element simulation and contact problem. Arch Comput Methods Eng 6:279–304

    MathSciNet  Article  Google Scholar 

  35. Celigueta MA, Latorre S, Arrufat F, Oñate E (2017) Accurate modelling of the elastic behavior of a continuum with the discrete element method. Comput Mech 60:997–1010

    MathSciNet  MATH  Article  Google Scholar 

  36. Zienkiewicz OC, Phillips DV (1971) An automatic mesh generation scheme for plane and curved surfaces by isoparametric coordinates. Int J Numer Methods Eng 3:519–528

    MATH  Article  Google Scholar 

  37. Thompson JF, Warsi ZUA (1982) Boundary-fitted coordinate systems for numerical solution of partial differential equations. J Comput Phys 47:1–108

    MathSciNet  MATH  Article  Google Scholar 

  38. Zienkiewicz OC, Zhu JZ, Taylor RL (2005) The finite element method: its basis and fundamentals. ISBN 978-1-85617-633-0

  39. Bowyer A (1981) Computing Dirichlet tessellations. Comput J 24(2):162–166

    MathSciNet  Article  Google Scholar 

  40. Lo SH (1985) A new mesh generation scheme for arbitrary planar domains. Int J Numer Methods Eng 21:1403–1426

    MATH  Article  Google Scholar 

  41. Yerry MA, Shephard MS (1984) Automatic three-dimensional mesh generation by the modified octree technique. Int J Numer Methods Eng 20:1965–1990

    MATH  Article  Google Scholar 

  42. Frey PJ, Alauzet F (2004) Anisotropic mesh adaptation for CFD computations. Comput Methods Appl Mech 194:5068–5082

    MathSciNet  MATH  Article  Google Scholar 

  43. Alauzet, Frédéric, Frey and Pascal, Estimateur d’erreur géométrique et métriques anisotropes pour l’adaptation de maillage. Partie I : aspects théoriques. INRIA RR-4759

  44. Babuka I, Rheinboldt C (1978) A-posteriori error estimates for the finite element method. Int J Numer Methods Eng 12:1597–1615

    MATH  Article  Google Scholar 

  45. Babuka I, Rheinboldt C (1979) Adaptive approaches and reliability estimates in finite element analysis. Comput Methods Appl Mech Eng 17(18):519–540

    Article  Google Scholar 

  46. Wessner W, Ceric H, Heitzinger C, Hössinger A, Selberherr S (2003) Anisotropic mesh adaption governed by a Hessian matrix metric

  47. Oller S (1988) Un modelo de daño continuo para materiales friccionales. Universitat Politècnica de Catalunya, Barcelona

    Google Scholar 

  48. Oliver J, Cervera M, Oller S, Lubliner J (1990) Isotropic damage models and smeared crack analysis of concrete. In: Second international conference on Computer Aided Analysis and Design of Concrete Structures

  49. Martinez X, Oller S, Barbero E (2011) Caracterización de la delaminación en materiales compuestos mediante la teoría de mezclas serie/paralelo. Revista Internacional de Métodos Numéricos para Cálculo y Diseño en Ingeniería 27:189–199

    Article  Google Scholar 

  50. Lee Y, Park KC (2002) Numerically generated tangent stiffness matrices for nonlinear structural analysis. Comput Methods Appl Mech Eng 191:5833–5846

    MATH  Article  Google Scholar 

  51. Casas G, Mukherjee D, Celigueta MA, Zohdi TI, Oñate E (2017) A modular partitioned discrete element framework for industrial grain distribution systems with rotating machinery. Comput Part Mech 4:181–198

    Article  Google Scholar 

  52. Thornton C, Cummins SJ, Cleary PW (2013) An investigation of the comparative behaviour of alternative contact force models during inelastic collisions. Powder Technol 233:30–46

    Article  Google Scholar 

  53. Alauzet F (2007) Metric-based anisotropic mesh adaptation. CEA-EDF-INRIA Schools. Numerical Analysis Summer School, Course material

  54. Jirásek M. Chapter 8 Nonlocal damage models 8.1 basic types of nonlocal damage formulations

  55. Cervera M, Chiumenti M, Codina R (2011) Mesh objective modelling of cracks using continuous linear strain and displacements interpolations. Int J Numer Methods Eng 87:962–987

    MATH  Article  Google Scholar 

  56. Cervera M, Barbat G, Chiumenti M (2017) Finite element modeling of quasi-brittle cracks in 2D and 3D with enhanced strain accuracy. Comput Mech 60:767–796

    MathSciNet  MATH  Article  Google Scholar 

  57. Buchholz F, Chergui A, Richard HA (2004) Analyses and experimental results of crack growth under general mixed mode loading conditions. Eng Fract Mech 71:455–468

    Article  Google Scholar 

  58. Dadvand P, Rossi R, Oñate E (2010) An object-oriented environment for developing finite element codes for multi-disciplinary applications. Comput Methods Eng 17:253–297

    MATH  Article  Google Scholar 

  59. Dobrzynski C (2012) MMG3D: user guide. [Technical Report] RT-0422, INRIA. hal-00681813

  60. Dapogny C, Dobrzynski C, Frey P (2013) Three-dimensional adaptive domain remeshing, implicit domain meshing, and applications to free and moving boundary problems. J Comput Phys 262:358–378

    MathSciNet  MATH  Article  Google Scholar 

  61. Rockafellar RT, Wets RJ-B (2015) Variational analysis. Springer, Berlin, p 117 ISBN 3-540-62772-3

    Google Scholar 

  62. Zienkiewicz OC, Zhu JZ (1987) A simple error estimator and adaptive procedure for practical engineering analysis. Int J Numer Methods Eng 24:337–357

    MathSciNet  MATH  Article  Google Scholar 

  63. Babuka I, Rheinboldt C (1978) A-posteriori error estimates for the finite element method. Int J Numer Methods Eng 12:1597–1615

    MATH  Article  Google Scholar 

  64. Melenk JM, Babuka I (1996) The partition of unity finite element method: basic theory and applications. Comput Methods Appl Mech Eng 139:289–314

    MathSciNet  Article  Google Scholar 

  65. Griebel M, Schweitzer MA (2000) A particle-partition of unity method for the solution of elliptic, parabolic, and hyperbolic pdes. SIAM J Sci Comput 22:289–314

    MathSciNet  MATH  Article  Google Scholar 

  66. Chiaruttini V, Geoffroy D, Riolo V, Bonnet M (2012) An adaptive algorithm for cohesive zone model and arbitrary crack propagation. Revue Européenne de Mécanique Numérique/European Journal of Computational Mechanics 21:208–218

    MATH  Google Scholar 

  67. Tremblay P (2007) 2-D, 3-D and 4-D Anisotropic mesh adaptation for the time-continuous space-time finite element method with applications to the incompressible Navier–Stokes equations. PhD thesis Ottawa-Carleton Institute for Mechanical and Aerospace Engineering, Department of Mechanical Engineering, University of Ottawa

  68. Frey PJ, Alauzet F (2003) Anisotropic mesh adaptation for transient flows simulations

  69. Bellet M (2008) Adaptive mesh technique for thermal-metallurgical numerical simulation of arc welding processes. Int J Numer Methods Eng 73:624–641

    MathSciNet  MATH  Article  Google Scholar 

Download references


This work has been supported by the Spanish Government program FPU: FPU16/02697. The authors gratefully acknowledge the received support.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Alejandro Cornejo.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

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



Kratos multiphysics

The FEM–DEM formulation presented has been implemented in the Kratos multiphysics framework [58] that has been specially designed for helping the development of multi-disciplinary finite element programs. We can summarize the following features:

  • Kernel The kernel and application approach is used to reduce the possible conflicts arising between developers of different fields.

  • Object oriented The modular design, hierarchy and abstraction of these approaches fit to the generality, flexibility and re-usability required for the current and future challenges in numerical methods. The main code is developed in C++ and the Python language is used for scripting

  • Open source The BSD (Berkeley Software Distribution) license allows to use and distribute the existing code without any restriction, but with the possibility to develop new parts of the code on an open or close basis depending on the developers. Additionally, Kratos can be freely used.

Mmg library

What is Mmg and how does it work?

Mmg is an open source software for anisotropic automatic remeshing for unstructured meshes based on Delaunay triangulations. It is licensed under a LGPL license and it has been integrated in Kratos,kratos via the mmg_process.h in the MeshingApplication. It provides three applications and four libraries (Figs. 27, 28):

  • The mmg2d application and the libmmg2d library: adaptation and optimization of a two-dimensional triangulation and generation of a triangulation from a set of points or from given boundary edges.

  • The mmgs application and the libmmgs library: adaptation and optimization of a surface triangulation and isovalue discretization.

  • The mmg3d application and the libmmg3d library: adaptation and optimization of a tetrahedral mesh and implicit domain meshing.

  • The libmmg library gathering the libmmg2d, libmmgs and libmmg3d libraries.

Fig. 27
figure 27

Kratos Multiphysics logo.

Fig. 28
figure 28

Image from Mmg web

Mmg logo

The Mmg remeshing process modifies the mesh [59, 60] iteratively until it is in agreement with the prescribed sizes on the idealized (Fig. 29) contour (and directions in case of anisotropic mesh). The software reads the mesh and the metric; then, the mesh is modified using local mesh modifications of which an intersection procedure based on anisotropic Delaunay kernel.

Fig. 29
figure 29

Image from [60]

Mmg idealized geometry

We can resume the remeshing algorithm in the following steps:

  1. 1.

    Mmg tries to have a good approximation of the surface (with respect to the Hausdorff parameter).

  2. 2.

    It remeshes according to a geometric criterion. Mmg scans the surface tetrahedra and splits the tetrahedra using predefined patterns if the Hausdorff distance [61] between the surface triangle of the tetrahedra and its curve representation does not respect the Hausdorff parameter.

  3. 3.

    The library scans again the surface tetrahedra and collapses all the edges at a Hausdorff distance smaller than a threshold defined in terms of the Hausdorff parameter.

  4. 4.

    Next, it intersects the provided metric and a surface metric computed at each point from the Hausdorff parameter and the curvature tensor at the point.

  5. 5.

    Then, Mmg smooths the metric to respect the gradation parameter. The metrics are iteratively propagated until the respect of the gradation everywhere.

  6. 6.

    Next, it remeshes the surface tetrahedra in order to respect the new metric.

  7. 7.

    Finally, it remeshes both the volume and surface to have edges between 0.6 and 1.3 (in the metric). The long edges are cut and short ones are deleted (collapsed).

Integration between Mmg and Kratos

In order to understand the integration between Kratos and Mmg is important to understand the data structure of Kratos. In Fig. 30 an example of the data structure of the Model can be analysed. The Model stores the whole model to be analysed and manages the different ModePart used on the simulation. The ModelPart holds all data related to an arbitrary part of model. It stores all existing components and data like Nodes, Properties, Elements, Conditions and solution data related to a part of the Model.

Fig. 30
figure 30

Model data structure

Fig. 31
figure 31

Concept of colours

The entities stored on the ModelPart are:

  • Node It is a point with additional facilities. Stores the nodal data, historical nodal data, and list of DoF.

  • Condition encapsulates data and operations necessary for calculating the local contributions of Condition to the global system of equations.

  • Element encapsulates the elemental formulation in one object and provides an interface for calculating the local matrices and vectors necessary for assembling the global system of equations. It holds its geometry that meanwhile is its array of Nodes.

  • Properties encapsulate data shared by different Elements or Conditions. It can store any type of data.

In our implementations, we used a process to set the BC (both Neumann and Dirichlet). In order to preserve that information after remeshing we need to create an identification system, so we are able to create an unique ID that will allow us to reconstruct the submodelpart structure after remeshing, this methodologies are commonly called colour identification. Figure 31 shows the concept of this idea.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Cornejo, A., Mataix, V., Zárate, F. et al. Combination of an adaptive remeshing technique with a coupled FEM–DEM approach for analysis of crack propagation problems. Comp. Part. Mech. 7, 735–752 (2020).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI:


  • Remeshing technique
  • Coupled formulation
  • Fracture mechanics
  • Finite element method
  • Discrete element method