Skip to main content
Log in

An efficient automatic mesh generation algorithm for planar isogeometric analysis using high-order rational Bézier triangles

  • Original Article
  • Published:
Engineering with Computers Aims and scope Submit manuscript

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

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
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
Fig. 27

Similar content being viewed by others

References

  1. 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

    Article  MathSciNet  MATH  Google Scholar 

  2. Piegl L, Tiller W (1995) The NURBS book. Monographs in visual communications. Springer, Berlin. https://doi.org/10.1007/978-3-642-97385-7

    Book  MATH  Google Scholar 

  3. 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

    Article  MathSciNet  MATH  Google Scholar 

  4. 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

    Article  MathSciNet  MATH  Google Scholar 

  5. Cook Robert D, Malkus David S, Plesha Michael E, Witt Robert J (2001) Concepts and applications of finite element analysis, 4th edn. Wiley, Hoboken

    MATH  Google Scholar 

  6. 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

    Article  MATH  Google Scholar 

  7. 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

    Article  MathSciNet  MATH  Google Scholar 

  8. 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

    Article  MATH  Google Scholar 

  9. 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

    Article  MathSciNet  MATH  Google Scholar 

  10. 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

    Article  Google Scholar 

  11. 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

    Article  MathSciNet  MATH  Google Scholar 

  12. 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

    Article  Google Scholar 

  13. 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

    Article  MathSciNet  MATH  Google Scholar 

  14. 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

    Article  MathSciNet  MATH  Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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

    Article  Google Scholar 

  17. 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

    Article  Google Scholar 

  18. 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

    Article  MathSciNet  MATH  Google Scholar 

  19. 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

    Article  MathSciNet  MATH  Google Scholar 

  20. Mäntylä M (1988) Introduction to solid modeling. Computer Science Press Inc., New York

    Google Scholar 

  21. Stroud I (2006) Boundary representation modelling techniques. Springer, London. https://doi.org/10.1007/978-1-84628-616-2

    Book  MATH  Google Scholar 

  22. 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

    Article  MathSciNet  Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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

    Article  MathSciNet  Google Scholar 

  25. 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

    Article  Google Scholar 

  26. 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

    Article  Google Scholar 

  27. 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

    Article  MathSciNet  MATH  Google Scholar 

  28. 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

    Article  MathSciNet  MATH  Google Scholar 

  29. 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

    Article  MathSciNet  MATH  Google Scholar 

  30. 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

    Article  MATH  Google Scholar 

  31. 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

    Article  MATH  Google Scholar 

  32. 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

    Article  MathSciNet  Google Scholar 

  33. 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

    Article  MATH  Google Scholar 

  34. 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

    Article  MathSciNet  MATH  Google Scholar 

  35. 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

    Article  Google Scholar 

  36. 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

    Article  Google Scholar 

  37. Engvall L (2018) Geometrically exact and analysis suitable mesh generation using rational Bernstein-Bezier elements. PhD thesis, University of Colorado

  38. 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

    Article  MATH  Google Scholar 

  39. 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

    Article  Google Scholar 

  40. 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

    Article  Google Scholar 

  41. 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

    Article  Google Scholar 

  42. 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

  43. 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

    Article  MathSciNet  MATH  Google Scholar 

  44. 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

    Article  MathSciNet  Google Scholar 

  45. 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

    Article  MATH  Google Scholar 

  46. 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

    Article  MathSciNet  Google Scholar 

  47. 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

    Article  Google Scholar 

  48. 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

    Article  MathSciNet  Google Scholar 

  49. 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

  50. 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

    Article  MathSciNet  Google Scholar 

  51. 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

    Article  Google Scholar 

  52. 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

    Article  Google Scholar 

  53. Piegl L (1991) On NURBS: a survey. IEEE Comput Graph Appl 11(1):55–71. https://doi.org/10.1109/38.67702

    Article  Google Scholar 

  54. Cottrell JA, Hughes TJR, Bazilevs Y (2009) Isogeometric analysis: toward integration of CAD and FEA. Wiley, Chichester. https://doi.org/10.1002/9780470749081

    Book  MATH  Google Scholar 

  55. 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

    Article  MATH  Google Scholar 

  56. 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

    Article  MATH  Google Scholar 

  57. Farin G (2002) Curves and surfaces for CAGD a practical guide, vol 3, 5th edn. Morgan Kaufmann Publishers Inc., San Francisco

    Google Scholar 

  58. 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

    Article  MathSciNet  MATH  Google Scholar 

  59. 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

    Chapter  Google Scholar 

  60. 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

  61. 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

    Article  MATH  Google Scholar 

  62. 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

    Article  MathSciNet  MATH  Google Scholar 

  63. 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

    Article  Google Scholar 

  64. 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

    Article  MathSciNet  MATH  Google Scholar 

  65. 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

  66. 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

    Article  Google Scholar 

  67. 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

    Article  MathSciNet  MATH  Google Scholar 

  68. 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

    Article  MathSciNet  Google Scholar 

  69. 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

    Article  MathSciNet  MATH  Google Scholar 

  70. 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

    Article  MathSciNet  MATH  Google Scholar 

  71. 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

  72. 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

    Article  Google Scholar 

  73. Cormen TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to algorithms. The MIT Press, 3rd edn, https://doi.org/10.2307/2583667

  74. 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

  75. 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

    Article  MATH  Google Scholar 

  76. 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

    Article  MathSciNet  MATH  Google Scholar 

  77. Engvall L (2015) TriGA: triangular IGA

  78. 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

    Article  Google Scholar 

  79. 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

    Article  MathSciNet  MATH  Google Scholar 

  80. Zienkiewicz OC, Taylor RL (2000) The finite element method. Butterworth-Heinemann

Download references

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

Authors

Corresponding author

Correspondence to Elias Saraiva Barroso.

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.

Fig. 28
figure 28

Bézier triangle basis function code

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}\)).

Fig. 29
figure 29

Bivariate Bernstein polynomials first derivative code

1.2 B—Gmsh parameters

See Fig. 29, Table 8.

Table 8 Gmsh (version 4.4.1) parameters used in Example 5.2

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00366-022-01613-w

Keywords

Navigation