Abstract
Isogeometric analysis (IGA) is a numerical method that is receiving increasing attention in the last decade. The main goal of IGA is to closely couple geometric modeling with numerical analysis. To that end, in IGA both components use the same geometric representation, e.g., Bézier and NURBS curves and surfaces. However, in many cases, the geometric representation in a CAD system cannot be directly employed in numerical simulation, as only the boundary of the geometry is parametrized. In these cases, an interior parametrization must be constructed before performing isogeometric analysis. This paper presents an algorithm for generation of unstructured geometrically exact meshes composed of rational Bézier triangles of arbitrary degree, and applies it to plane models described by NURBS curves in a Boundary-Representation (B-Rep) scheme. The proposed algorithm respects input discretization and is capable of generating high quality coarse meshes even when high curvature segments are considered. An efficient high-order smoothing step is employed to avoid tangled elements and to improve element quality. The proposed algorithm attains superior performance when compared to a well-known algorithm in the literature, and performs well in the case of complex geometries. High quality meshes were obtained in all examples analyzed. Furthermore, our implementation is efficient, written in C++, and is available as an open-source software



























Similar content being viewed by others
References
Hughes TJRR, Cottrell JA, Bazilevs Y (2005) Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput Methods Appl Mech Eng 194(39–41):4135–4195. https://doi.org/10.1016/j.cma.2004.10.008
Piegl L, Tiller W (1995) The NURBS book. Monographs in visual communications. Springer, Berlin. https://doi.org/10.1007/978-3-642-97385-7
Auricchio F, Beirão da Veiga L, Buffa A, Lovadina C, Reali A, Sangalli G (2007) A fully “locking-free’’ isogeometric approach for plane linear elasticity problems: a stream function formulation. Comput Methods Appl Mech Eng 197(1–4):160–172. https://doi.org/10.1016/J.CMA.2007.07.005
Benson DJ, Bazilevs Y, Hsu MC, Hughes TJR (2010) Isogeometric shell analysis: the Reissner-Mindlin shell. Comput Methods Appl Mech Eng 199(5–8):276–289. https://doi.org/10.1016/j.cma.2009.05.011
Cook Robert D, Malkus David S, Plesha Michael E, Witt Robert J (2001) Concepts and applications of finite element analysis, 4th edn. Wiley, Hoboken
Cottrell JA, Hughes TJR, Reali A (2007) Studies of refinement and continuity in isogeometric structural analysis. Comput Methods Appl Mech Eng 196(41–44):4160–4183. https://doi.org/10.1016/j.cma.2007.04.007
Vuong A-V, Giannelli C, Jüttler B, Simeon B (2011) A hierarchical approach to adaptive local refinement in isogeometric analysis. Comput Methods Appl Mech Eng 200(49–52):3554–3567. https://doi.org/10.1016/J.CMA.2011.09.004
Schillinger D, Dedè L, Scott Michael A, Evans John A, Borden Michael J, Rank E, Hughes Thomas JR (2012) Anisogeometric design-through-analysis methodology based on adaptivehierarchical refinement of NURBS, immersed boundary methods, and T-spline CAD surfaces. Comput Methods Appl Mech Eng 249–252:116–150. https://doi.org/10.1016/j.cma.2012.03.017
Garau EM, Vázquez R (2018) Algorithms for the implementation of adaptive isogeometric methods using hierarchical B-splines. Appl Numer Math 123:58–87. https://doi.org/10.1016/J.APNUM.2017.08.006
Sederberg TW, Zheng J, Bakenov A, Nasri A (2003) T-splines and T-NURCCs. ACM Trans Graph 22(3):477. https://doi.org/10.1145/882262.882295
Cottrell JAA, Evans JAA, Lipton S, Scott MAA, Sederberg TWW (2010) Isogeometric analysis using T-splines. Comput Methods Appl Mech Eng 199(5–8):229–263. https://doi.org/10.1016/J.CMA.2009.02.036
Liu Zhenyu, Cheng Jin, Yang Minglong, Yuan Pei, Qiu Chan, Gao Wei, Tan Jianrong (2019) Isogeometric analysis of large thin shell structures based on weak coupling of substructures with unstructured T-splines patches. Adv Eng Softw 135:102692. https://doi.org/10.1016/J.ADVENGSOFT.2019.102692
Dokken T, Lyche T, Pettersen KF (2013) Polynomial splines over locally refined box-partitions. Comput Aided Geom Des 30(3):331–356. https://doi.org/10.1016/J.CAGD.2012.12.005
Johannessen KA, Kvamsdal T, Dokken T (2014) Isogeometric analysis using LR B-splines. Comput Methods Appl Mech Eng 269:471–514. https://doi.org/10.1016/J.CMA.2013.09.014
Occelli M, Elguedj T, Bouabdallah S, Morançay L (2019) LR B-Splines implementation in the Altair RadiossTM solver for explicit dynamics Iso geometric analysis. Adv Eng Softw 131:166–185. https://doi.org/10.1016/J.ADVENGSOFT.2019.01.002
Deng J, Chen F, Li X, Changqi H, Tong W, Yang Z, Feng Y (2008) Polynomial splines over hierarchical T-meshes. Graph Models 70(4):76–86. https://doi.org/10.1016/J.GMOD.2008.03.001
Wang P, Jinlan X, Deng J, Chen F (2011) Adaptive isogeometric analysis using rational PHT-splines. Comput Aided Des 43(11):1438–1448. https://doi.org/10.1016/J.CAD.2011.08.026
Giannelli C, Jüttler B, Speleers H (2012) THB-splines: the truncated basis for hierarchical splines. Comput Aided Geom Des 29(7):485–498. https://doi.org/10.1016/J.CAGD.2012.03.025
Giannelli C, Jüttler B, Kleiss SK, Mantzaflaris A, Simeon B, Špeh J (2016) THB-splines: an effective mathematical technology for adaptive refinement in geometric design and isogeometric analysis. Comput Methods Appl Mech Eng 299:337–365. https://doi.org/10.1016/J.CMA.2015.11.002
Mäntylä M (1988) Introduction to solid modeling. Computer Science Press Inc., New York
Stroud I (2006) Boundary representation modelling techniques. Springer, London. https://doi.org/10.1007/978-1-84628-616-2
Kang P, Kie Youn S (2015) Isogeometric analysis of topologically complex shell structures. Finite Elem Anal Des 99:68–81. https://doi.org/10.1016/j.finel.2015.02.002
Brovka M, López JI, Escobar JM, Cascón JM, Montenegro R (2014) A new method for T-spline parameterization of complex 2D geometries. Eng Comput 30(4):457–473. https://doi.org/10.1007/s00366-013-0336-8
Wang W, Zhang Y, Liu L, Hughes TJRR (2013) Trivariate solid T-spline construction from boundary triangulations with arbitrary genus topology. CAD Comput Aided Des 45(2):351–360. https://doi.org/10.1016/j.cad.2012.10.018
Liu L, Zhang Y, Hughes TJRR, Scott MA, Sederberg TW (2013) Volumetric T-spline construction using Boolean operations. Eng Comput 30(4):425–439. https://doi.org/10.1007/s00366-013-0346-6
Escobar JM, Montenegro R, Rodríguez E, Cascón JM (2014) The meccano method for isogeometric solid modeling and applications. Eng Comput 30(3):331–343. https://doi.org/10.1007/s00366-012-0300-z
Akhras HA, Elguedj T, Gravouil A, Rochette M (2016) Isogeometric analysis-suitable trivariate NURBS models from standard B-Rep models. Comput Methods Appl Mech Eng 307:256–274. https://doi.org/10.1016/j.cma.2016.04.028
López JII, Brovka M, Escobar JMM, Montenegro R, Socorro GVV (2017) Spline parameterization method for 2D and 3D geometries based on T-mesh optimization. Comput Methods Appl Mech Eng 322:460–482. https://doi.org/10.1016/J.CMA.2017.05.005
Shamanskiy A, Gfrerer MH, Hinz J, Simeon B (2020) Isogeometric parametrization inspired by large elastic deformation. Comput Methods Appl Mech Eng 363:112920. https://doi.org/10.1016/J.CMA.2020.112920
Engvall L, Evans JA (2016) Isogeometric triangular Bernstein-Bézier discretizations: automatic mesh generation and geometrically exact finite element analysis. Comput Methods Appl Mech Eng 304:378–407. https://doi.org/10.1016/j.cma.2016.02.012
Engvall L, Evans JA (2017) Isogeometric unstructured tetrahedral and mixed-element Bernstein-Bézier discretizations. Comput Methods Appl Mech Eng 319:83–123. https://doi.org/10.1016/j.cma.2017.02.017
Jaxon N, Qian X (2014) Isogeometric analysis on triangulations. CAD Comput Aided Des 46(1):45–57. https://doi.org/10.1016/j.cad.2013.08.017
Xia S, Qian X (2017) Isogeometric analysis with Bézier tetrahedra. Comput Methods Appl Mech Eng 316:782–816. https://doi.org/10.1016/j.cma.2016.09.045
Zareh M, Qian X (2019) Kirchhoff-Love shell formulation based on triangular isogeometric analysis. Comput Methods Appl Mech Eng 347:853–873. https://doi.org/10.1016/J.CMA.2018.12.034
Liu N, Jeffers AE (2018) A geometrically exact isogeometric Kirchhoff plate: feature-preserving automatic meshing and C1 rational triangular Bézier spline discretizations. Int J Numer Methods Eng 115(3):395–409. https://doi.org/10.1002/nme.5809
Jorge L, Cosmin A, Navid V, Naif RTA (2019) Structural shape optimization using Bézier triangles and a CAD-compatible boundary representation. Eng Comput. https://doi.org/10.1007/s00366-019-00788-z
Engvall L (2018) Geometrically exact and analysis suitable mesh generation using rational Bernstein-Bezier elements. PhD thesis, University of Colorado
Engvall L, Evans JA (2020) Mesh quality metrics for isogeometric Bernstein-Bézier discretizations. Comput Methods Appl Mech Eng 371:113305. https://doi.org/10.1016/j.cma.2020.113305
Dey S, O’Bara RM, Shephard MS (2001) Towards curvilinear meshing in 3D: the case of quadratic simplices. CAD Comput Aided Des 33(3):199–209. https://doi.org/10.1016/S0010-4485(00)00120-2
Qiukai L, Shephard MS, Tendulkar S, Beall MW (2014) Parallel mesh adaptation for high-order finite element methods with curved element geometry. Eng Comput 30(2):271–286. https://doi.org/10.1007/s00366-013-0329-7
Geuzaine C, Johnen A, Lambrechts J, Remacle JF, Toulorge T (2015) The generation of valid curvilinear meshes. Notes Numer Fluid Mech Multidiscip Des 128:15–39. https://doi.org/10.1007/978-3-319-12886-3_2
Roca X, Gargallo-Peiro A, Sarrate J (2011) Defining qualitymeasures for high-order planar triangles and curved mesh generation. In: Proceedings of the 20th international meshing roundtable,IMR 2011, p. 365–383. Springer, Berlin, Heidelberg.https://doi.org/10.1007/978-3-642-24734-7-20
Toulorge T, Geuzaine C, Remacle JF, Lambrechts J (2013) Robust untangling of curvilinear meshes. J Comput Phys 254:8–26. https://doi.org/10.1016/j.jcp.2013.07.022
Johnen A, Remacle JF, Geuzaine C (2013) Geometrical validity of curvilinear finite elements. J Comput Phys 233(1):359–372. https://doi.org/10.1016/j.jcp.2012.08.051
Gargallo-Peiró A, Roca X, Peraire J, Sarrate J (2015) Distortion and quality measures for validating and generating high-order tetrahedral meshes. Eng Comput 31(3):423–437. https://doi.org/10.1007/s00366-014-0370-1
Johnen A, Geuzaine C, Toulorge T, Remacle JF (2018) Efficient computation of the minimum of shape quality measures on curvilinear finite elements. CAD Comput Aided Des 103:24–33. https://doi.org/10.1016/j.cad.2018.03.001
Luo XJ, Shephard MS, Lee LQ, Ge L, Ng C (2011) Moving curved mesh adaptation for higher-order finite element simulations. Eng Comput 27(1):41–50. https://doi.org/10.1007/s00366-010-0179-5
Ruiz-Gironés E, Gargallo-Peiró A, Sarrate J, Roca X (2019) Automatically imposing incremental boundary displacements for valid mesh morphing and curving. Comput Aided Des 112:47–62. https://doi.org/10.1016/J.CAD.2019.01.001
Cardoze D, Cunha A, Miller GL, Phillips T, Walkington N (2004) A bézier-based approach to unstructured movingmeshes. In: Proceedings of the twentieth annual symposium oncomputational geometry—SCG ’04, p. 310, New York, USA, ACM Press. https://doi.org/10.1145/997817.997864
Kadapa C (2019) Novel quadratic Bézier triangular and tetrahedral elements using existing mesh generators: applications to linear nearly incompressible elastostatics and implicit and explicit elastodynamics. Int J Numer Methods Eng 117(5):543–573. https://doi.org/10.1002/nme.5967
Manish M, Marcel C (2020) Bézier guarding: precise higher-order meshing of curved 2D domains. ACM Trans Graph (TOG). https://doi.org/10.1145/3386569.3392372
Miranda ACO, Meggiolaro MA, Castro JTP, Martha LF, Bittencourt TN (2003) Fatigue life and crack path predictions in generic 2D structural components. Eng Fract Mech 70(10):1259–1279. https://doi.org/10.1016/S0013-7944(02)00099-1
Piegl L (1991) On NURBS: a survey. IEEE Comput Graph Appl 11(1):55–71. https://doi.org/10.1109/38.67702
Cottrell JA, Hughes TJR, Bazilevs Y (2009) Isogeometric analysis: toward integration of CAD and FEA. Wiley, Chichester. https://doi.org/10.1002/9780470749081
Scott MA, Borden MJ, Verhoosel CV, Sederberg TW, Hughes TJRR (2011) Isogeometric finite element data structures based on Bézier extraction of T-splines. Int J Numer Methods Eng 88(2):126–156. https://doi.org/10.1002/nme.3167
Thomas DC, Scott MA, Evans JA, Tew K, Evans EJ (2015) Bézier projection: a unified approach for local projection and quadrature-free refinement and coarsening of NURBS and T-splines with particular application to isogeometric design and analysis. Comput Methods Appl Mech Eng 284:55–105. https://doi.org/10.1016/j.cma.2014.07.014
Farin G (2002) Curves and surfaces for CAGD a practical guide, vol 3, 5th edn. Morgan Kaufmann Publishers Inc., San Francisco
Mainar E, Peña JM (2006) Evaluation algorithms for multivariate polynomials in Bernstein-Bézier form. J Approx Theory 143(1):44–61. https://doi.org/10.1016/j.jat.2006.05.007
Hansford D (2002) Chapter 4–Bézier techniques. In: Gerald F, Josef H, Myung-Soo K (eds) Handbook of computer aided geometric design. Amsterdam, North-Holland, pp 75–109. https://doi.org/10.1016/B978-044451104-1/50005-8
Barroso ES, Evans JA, Cavalcante-Neto JB, Vidal CA, Parente JE (2019) An algorithm for automatic discretization of isogeometric plane models. In: XL Iberian Latin-American congress on computational methods in engineering, Natal
Haber R, Shephard MS, Abel JF, Gallagher RH, Greenberg DP (1981) A general two-dimensional, graphical finite element preprocessor utilizing discrete transfinite mappings. Int J Numer Methods Eng 17(7):1015–1044. https://doi.org/10.1002/nme.1620170706
Hinz J, Möller M, Vuik C (2018) Elliptic grid generation techniques in the framework of isogeometric analysis applications. Comput Aided Geom Des 65:48–75. https://doi.org/10.1016/j.cagd.2018.03.023
Gondegaon S, Voruganti HK (2018) An efficient parametrization of planar domain for isogeometric analysis using harmonic functions. J Braz Soc Mech Sci Eng 40(10):493. https://doi.org/10.1007/s40430-018-1414-z
Shephard MS, Flaherty JE, Jansen KE, Li X, Luo X, Chevaugeon N, Remacle JF, Beall MW, O’Bara RM (2005) Adaptive mesh generation for curved domains. Appl Numer Math 52(2–3 SPEC. ISS):251–271. https://doi.org/10.1016/j.apnum.2004.08.040
Miranda ACOO, Cavalcante-Neto JB, Martha LF (1999) An algorithm for two-dimensional mesh generation for arbitrary regions with cracks. In: Proceedings 2th Brazilian symposium on computer graphics and image processing, SIBGRAPI 1999, p. 29–38. IEEE Comput Soc, https://doi.org/10.1109/SIBGRA.1999.805605
Freitas MO, Wawrzynek PA, Cavalcante-Neto JB, Vidal CA, Martha LF, Ingraffea AR (2013) A distributed-memory parallel technique for two-dimensional mesh generation for arbitrary domains. Adv Eng Softw 59:38–52. https://doi.org/10.1016/j.advengsoft.2013.03.005
Bazilevs Y, Beirão Da Veiga L, Cottrell JA, Hughes TJR, Sangalli G (2006) Isogeometric analysis: approximation, stability and error estimates for h-refined meshes. Math Models Methods Appl Sci 16(7):1031–1090. https://doi.org/10.1142/S0218202506001455
Xie ZQ, Sevilla R, Hassan O, Morgan K (2013) The generation of arbitrary order curved meshes for 3D finite element analysis. Comput Mech 51(3):361–374. https://doi.org/10.1007/s00466-012-0736-4
Abgrall R, Dobrzynski C, Froehly A (2014) A method for computing curved meshes via the linear elasticity analogy, application to fluid dynamics problems. Int J Numer Methods Fluids 76(4):246–266. https://doi.org/10.1002/fld.3932
Poya R, Sevilla R, Gil AJ (2016) A unified approach for a posteriori high-order curved mesh generation using solid mechanics. Comput Mech 58(3):457–490. https://doi.org/10.1007/s00466-016-1302-2
Persson P-O, Peraire J (2013) Curved mesh generation and mesh refinement using lagrangian solid mechanics. In: 47th AIAA aerospace sciences meeting including The New Horizons Forum and Aerospace Exposition, Reston, Virigina, American Institute of Aeronautics and Astronautics. https://doi.org/10.2514/6.2009-949
Moxey D, Ekelschot D, Keskin U, Sherwin SJ, Peiró J (2016) High-order curvilinear meshing using a thermo-elastic analogy. CAD Comput Aided Des 72:130–139. https://doi.org/10.1016/j.cad.2015.09.007
Cormen TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to algorithms. The MIT Press, 3rd edn, https://doi.org/10.2307/2583667
Knupp P (2009) Label-invariant mesh quality metrics. In: Proceedings of the 18th international meshing roundtable, IMR 2009, p. 139–155. Springer, Berlin Heidelberg. https://doi.org/10.1007/978-3-642-04319-2_9
Knupp PM (2003) Algebraic mesh quality metrics for unstructured initial meshes. Finite Elem Anal Des 39(3):217–241. https://doi.org/10.1016/S0168-874X(02)00070-7
Dunavant DA (1985) High degree efficient symmetrical Gaussian quadrature rules for the triangle. Int J Numer Methods Eng 21(6):1129–1148. https://doi.org/10.1002/nme.1620210612
Engvall L (2015) TriGA: triangular IGA
Persson PO (2006) Mesh size functions for implicit geometries and PDE-based gradient limiting. Eng Comput 22(2):95–109. https://doi.org/10.1007/s00366-006-0014-1
Geuzaine C, Remacle JF (2009) Gmsh: a 3-D finite element mesh generator with built-in pre- and post-processing facilities. Int J Numer Methods Eng 79(11):1309–1331. https://doi.org/10.1002/nme.2579
Zienkiewicz OC, Taylor RL (2000) The finite element method. Butterworth-Heinemann
Acknowledgements
The authors acknowledge the financial support provided by CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior) in PDSE (Programa de Doutorado Sanduíche no Exterior) process 88881.190187/2018-01, and by CNPq (Conselho Nacional de DesenvolvimentoCientífico e Tecnológico).
Author information
Authors and Affiliations
Corresponding author
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.
Appendix
Appendix
1.1 A—Bivariate Bernstein polynomials and derivatives
The dynamic programming concept is used to define an efficient algorithm to evaluate all basis functions appearing in Eq. (12), avoiding waste of resources. The array indexing scheme used to store basis functions is shown in Fig. 3b.
During the evaluation of \(B^{p}\) basis, the terms \(B^{p-1}_{i-1,j,k}\), \(B^{p-1}_{i,j-1,k}\) and \(B^{p-1}_{i,j,k-1}\) vanish, respectively, when \(i = 0\), \(j = 0\) and \(k = 0\). These terms are located in the \(i^{th}\) column, where \(B^{p-1}_{i-1,j,k}\) is in the same position of the current element, and in the \((i+1){th}\) column, where \(B^{p-1}_{i, j,k-1}\) and \(B^{p-1}_{i,j-1,k}\) are to the right of the current element. Hence, for each intermediary degree, processing the evaluation of the basis functions in reverse order (i from 0 to p) does not require auxiliary memory. These considerations guide the evaluation of basis functions in the algorithm presented in Fig. 28. The inputs are a triangle of degree p and barycentric coordinates r and s and the output are the basis functions stored in the \(\mathbf {b}\) array.
The algorithm for the evaluation of the first derivatives is presented in Fig. 29, where the derivatives are stored in dr and ds arrays. The same considerations used to construct the former algorithm are used here. Note that the same memory used to store partial derivatives in the s direction (array ds) can be used to store and access basis functions (array \(\mathbf {b}\)).
1.2 B—Gmsh parameters
Rights and permissions
About this article
Cite this article
Barroso, E.S., Evans, J.A., Cavalcante-Neto, J.B. et al. An efficient automatic mesh generation algorithm for planar isogeometric analysis using high-order rational Bézier triangles. Engineering with Computers 38, 4387–4408 (2022). https://doi.org/10.1007/s00366-022-01613-w
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00366-022-01613-w