Skip to main content
Log in

A new method for T-spline parameterization of complex 2D geometries

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

Abstract

We present a new strategy, based on the idea of the meccano method and a novel T-mesh optimization procedure, to construct a T-spline parameterization of 2D geometries for the application of isogeometric analysis. The proposed method only demands a boundary representation of the geometry as input data. The algorithm obtains, as a result, high quality parametric transformation between 2D objects and the parametric domain, the unit square. First, we define a parametric mapping between the input boundary of the object and the boundary of the parametric domain. Then, we build a T-mesh adapted to the geometric singularities of the domain to preserve the features of the object boundary with a desired tolerance. The key of the method lies in defining an isomorphic transformation between the parametric and physical T-mesh finding the optimal position of the interior nodes by applying a new T-mesh untangling and smoothing procedure. Bivariate T-spline representation is calculated by imposing the interpolation conditions on points sited both in the interior and on the boundary of the geometry. The efficacy of the proposed technique is shown in several examples. Also we present some results of the application of isogeometric analysis in a geometry parameterized with this technique.

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

Similar content being viewed by others

References

  1. Bazilevs Y, Calo VM, Cottrell JA, Evans JA, Hughes TJR, Lipton S, Scott MA, Sederberg TW (2008) Isogeometric analysis: toward unification of computer aided design and finite element analysis. In: Trends in engineering computational technology. Saxe-Coburg Publications, Stirling, pp 1–16

  2. Bazilevs Y, Calo VM, Cottrell JA, Evans JA, Hughes TJR, Lipton S, Scott MA, Sederberg TW (2010) Isogeometric analysis using T-splines. Comput Methods Appl Mech Eng 199:229–263

    Article  MathSciNet  MATH  Google Scholar 

  3. Bornemann PB, Cirak F (2013) A subdivision-based implementation of the hierarchical B-spline finite element method. Comput Methods Appl Mech Eng 253:584–598

    Article  MathSciNet  Google Scholar 

  4. Cascón JM, Montenegro R, Escobar JM, Rodríguez E, Montero G (2007) A new meccano technique for adaptive 3-D triangulation. In: Proceedings of the 16th international meshing roundtable. Springer, Berlin, pp 103–120

  5. Cascón JM, Montenegro R, Escobar JM, Rodríguez E, Montero G (2009) The meccano method for automatic tetrahedral mesh generation of complex genus-zero solids. In: Proceedings of the 18th international meshing roundtable. Springer, Berlin, pp 463–480

  6. Coons SA (1964) Surfaces for computer aided design. Springfield, Western New England

    Google Scholar 

  7. Cottrell JA, Hughes TJR, Bazilevs Y (2009) Isogeometric Analysis: Toward Integration of CAD and FEA. Wiley, Chichester

    Book  Google Scholar 

  8. Dennis J, Schnabel R (1983) Numerical Methods for unconstrained optimization and nonlinear equations. Classics in Applied Mathematics. Society for Industrial and Applied Mathematics, Englewood Cliffs http://books.google.es/books?id=RtxcWd0eBD0C

  9. Escobar JM, Rodríguez E, Montenegro R, Montero G, González-Yuste JM (2003) Simultaneous untangling and smoothing of tetrahedral meshes. Comput Methods Appl Mech Eng 192:2775–2787

    Article  MATH  Google Scholar 

  10. Escobar JM, Montenegro R, Montero G, Rodríguez E, González-Yuste JM (2005) Smoothing and local refinement techniques for improving tetrahedral mesh quality. Comput Struct 83:2423–2430

    Article  Google Scholar 

  11. Escobar JM, Rodríguez E, Montenegro R, Montero G, González-Yuste JM (2010) SUS Code: Simultaneous mesh untangling and smoothing code. http://www.dca.iusiani.ulpgc.es/proyecto2012-2014/html/Software.html

  12. Escobar JM, Cascón JM, Rodríguez E, Montenegro R (2011a) A new approach to solid modeling with trivariate T-splines based on mesh optimization. Comput Methods Appl Mech Eng 200:3210–3222

    Article  MATH  Google Scholar 

  13. Escobar JM, Montenegro R, Rodríguez E, Montero G (2011b) Simultaneous aligning and smoothing of surface triangulations. Eng Comput 27:17–29

    Article  Google Scholar 

  14. Escobar JM, Montenegro R, Rodríguez E, Cascón JM (2012) The meccano method for isogeometric solid modeling and applications. In: Engineering with computers, pp 1–13. doi:10.1007/s00366-012-0300-z

  15. Farin G, Hansford D (1999) Discrete Coons patches. Comput Aid Geom Design 16:691–700

    Article  MathSciNet  MATH  Google Scholar 

  16. Freitag LA, Knupp PM (2002) Tetrahedral mesh improvement via optimization of the element condition number. Int J Num Methods Eng 53:1377–1391

    Article  MathSciNet  MATH  Google Scholar 

  17. Freitag LA, Plassmann P (2000) Local optimization-based simplicial mesh untangling and improvement. Int J Num Methods Eng 49:109–125

    Article  MATH  Google Scholar 

  18. Knupp PM (2001) Algebraic mesh quality metrics. SIAM J Sci Comput 23:193–218

    Article  MathSciNet  MATH  Google Scholar 

  19. Knupp PM (2003) A method for hexahedral mesh shape optimization. Int J Num Methods Eng 58(2):319–332

    Article  MATH  Google Scholar 

  20. Li B, Li X, Wang K (2010) Generalized polycube trivariate splines. In: SMI 2010, international conference of shape modeling and applications, pp 261–265

  21. Li X, Guo X, Wang H, He Y, Gu X, Qin H (2007) Harmonic volumetric mapping for solid modeling applications. In: Proceedings of ACM solid and physical modeling symposium. Association for Computing Machinery, Inc., Pennsylvania, pp 109–120

  22. Martin T, Cohen E, Kirby R (2009) Volumetric parameterization and trivariate b-spline fitting using harmonic functions. Comput Aid Geom Design 26:648–664

    Article  MathSciNet  MATH  Google Scholar 

  23. Montenegro R, Cascón JM, Escobar JM, Rodríguez E, Montero G (2009) An automatic strategy for adaptive tetrahedral mesh generation. Appl Numer Math 59:2203–2217

    Article  MathSciNet  MATH  Google Scholar 

  24. Montenegro R, Cascón JM, Rodríguez E, Escobar JM, Montero G (2010) The meccano method for automatic three-dimensional triangulation and volume parametrization of complex solids. In: Developments and applications in engineering computational technology, Saxe-Coburg Publications, Stirling, pp 19–48

  25. Piegl L, Tiller W (1997) The NURBS book. Springer, New York

    Book  Google Scholar 

  26. Samet H (2006) Foundations of multidimensional and metric data structures. Morgan Kaufmann Publishers, Burlington

    MATH  Google Scholar 

  27. Schillinger D, Debé L, Scott M, Evans JA, Borden MJ, Rank E, Hughes TJR (2012) An isogeometric design-through-analysis methodology based on adaptive hierarchical refinement of nurbs, immersed boundary methods, and T-spline cad surfaces. Comput Methods Appl Mech Eng

  28. Scott MA, Li X, Sederberg TW, Hughes TJR (2012) Local refinement of analysis-suitable T-splines. Comput Methods Appl Mech Eng 213-216:206–222

    Article  MathSciNet  Google Scholar 

  29. Verfürth R (1996) A review of a posteriori error estimation and adaptive mesh-refinement technique. Wiley-Teubner, Chichester

    Google Scholar 

  30. Vuong AV, Giannelli C, Juttler B, Simeon B (2011) A hierarchical approach to adaptive local refinement in isogeometric analysis. Comput Methods Appl Mech Eng 200:3554–3567

    Article  MathSciNet  MATH  Google Scholar 

  31. Wang W, Zhang Y, Liu L, Hughes TJR (2013) Trivariate solid T-spline construction from boundary triangulations with arbitrary genus topology. Comput Aid Des 45:351–360

    Article  MathSciNet  Google Scholar 

  32. Xu G, Mourrain B, Duvigneau R, Galligo A (2011a) Parametrization of computational domain in isogeometric analysis: methods and comparison. Comput Methods Appl Mech Eng 200:2021–2031

    Article  MathSciNet  MATH  Google Scholar 

  33. Xu G, Mourrain B, Duvigneau R, Galligo A (2011b) Variational harmonic method for parameterization of computational domain in 2D isogeometric analysis. In: 12th International conference on computer-aided design and computer graphics. IEEE, Jinan, pp 223–228

  34. Zhang Y, Wang W, Hughes TJR (2012) Solid T-spline construction from boundary representations for genus-zero geometry. Comput Methods Appl Mech Eng 249–252:185–197

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

This work has been supported by the Spanish Government, “Secretaría de Estado de Universidades e Investigación,” “Ministerio de Economía y Competitividad,” and FEDER, Grant contracts: CGL2011-29396-C03-01 and CGL2011-29396-C03-03; “Junta Castilla León,” Grant contract: SA266A12-2. It has been also supported by CONACYT-SENER (“Fondo Sectorial CONACYT SENER HIDROCARBUROS,” Grant contract: 163723).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to R. Montenegro.

Appendices

Appendix

Regular node case

Here we explain and proof the election of the weights of the objective function for a regular node.

Let us consider the objective function for the conformal local submesh, as shown in Fig. 18a

$$ \begin{aligned} K({\mathbf{x}})&=\sum\limits_{i=1}^M\eta_i({\mathbf{x}}).\\ \eta_i({\mathbf{x}}) &=\eta({S}_i({\mathbf{x}}))=\frac{1}{q(S_i({\mathbf{x}}))}, \quad S_i({\mathbf{x}})=A_i({\mathbf{x}}){W}^{-1}, \end{aligned} $$

where q(S i ) is any algebraic scale-invariant quality metric for the triangle T i . In this work, we have used mean ratio quality metric \(q(S_i({\mathbf{x}}))=\frac{2\det(S_i({\mathbf{x}}))}{\|S_i({\mathbf{x}})\|^2}.\)

Fig. 18
figure 18

a Conformal local submesh with optimal position (x 0,y 0), b non-conformal local submesh with the same optimal position (x 0,y 0) due to modification of objective function

Note that, according to the definition of an algebraic scale-invariant quality metric

$$ \eta(\tau\;S_i({\mathbf{x}}))=\eta(S_i({\mathbf{x}})),\quad \tau \in {\mathbb{R}}^+. $$
(11)

If we consider that \({\mathbf{x}}_{0}=(x_0,y_0)\) is the optimal position of the free node, then

$$ \left\{ \begin{array}{l} \partial_x K(x_0,y_0)=\sum\limits_{i=1}^M\partial_x\eta_i({x_0,y_0})=0\\ \partial_y K(x_0,y_0)=\sum\limits_{i=1}^M\partial_y\eta_i({x_0,y_0})=0.\\ \end{array} \right. $$
(12)

Let us suppose that, for the conformal case (see Fig. 18a), the matrix A i is given by

$$ A_i({\mathbf{x}})=\left( \begin{array}{ll} x_1-x& x_2-x \\ y_1-y&y_2-y \end{array} \right). $$

Let us consider now the non-conformal case (Fig. 18b), where each triangle \(\bar{T}_i\) is a scaled version of the triangle T i when the free node is sited in its optimal position \({\mathbf{x}}_{0}\). That is, the triangle T i is transformed into \(\bar{T}_i\) by means of the affine mapping \(\bar{\mathbf{x}}={\mathbf{x}}_0+\tau_i({\mathbf{x}}-{\mathbf{x}}_0)\). The objective function \(\bar{K}\) for the non-conformal case is defined as

$$ \begin{aligned} \bar{K}({\mathbf{x}})&=\sum\limits_{i=1}^M\bar{\eta}(S_i({\mathbf{x}})) =\sum\limits_{i=1}^M\eta(\bar{S}_i({\mathbf{x}})), \quad \hbox {where}\\ \bar{S}_i({\mathbf{x}})&=\bar{A}_i({\mathbf{x}}){W}^{-1}\quad \hbox{and}\\ \bar{A}_i({\mathbf{x}})&=\left( \begin{array}{ll} \bar{x}_1-x &\bar{x}_2-x \\ \bar{y}_1-y&\bar{y}_2-y \end{array} \right). \end{aligned} $$

In general, the optimal position obtained by minimizing \(\bar{K}\) is different from the one obtained by minimizing K. The goal is to modify the objective function \(\bar{K}\) to the optimal position of the free node be the same as in the conformal case, as illustrated in Fig. 18.

The matrix \(\bar{A}_i({\mathbf{x}})\) is such that \(\bar{A}_i({\mathbf{x}}_0)=\tau_i\;A_i({\mathbf{x}}_0)\), where τ i is the scale factor for the triangle \(\bar{T}_i\). Let us consider the following transformation of the matrix \(\bar{A}_i({\mathbf{x}})\):

$$ \begin{aligned} \bar{A}_i({\mathbf{x}})&=\left( \begin{array}{ll} \bar{x}_1-x&\qquad \bar{x}_2-x \\ \bar{y}_1-y&\qquad \bar{y}_2-y \end{array} \right)\\ &=\left( \begin{array}{ll} x_0+\tau_i (x_1-x_0)-x&\qquad x_0+\tau_i (x_2-x_0)-x \\ y_0+\tau_i (y_1-y_0)-y&\qquad y_0+\tau_i (y_2-y_0)-y \end{array} \right)\\ &=\tau_i \left( \begin{array}{ll} x_1-(x_0+\frac{1}{\tau_i}(x-x_0))&\quad x_2-(x_0+\frac{1}{\tau_i}(x-x_0)) \\ y_1-(y_0+\frac{1}{\tau_i}(y-y_0))&\quad y_2-(y_0+\frac{1}{\tau_i}(y-y_0)) \end{array} \right)\\ &=\tau_i \left( \begin{array}{ll} x_1-\hat x&\qquad x_2-\hat x \\ y_1-\hat y&\qquad y_2-\hat y \end{array} \right)= \tau_i A_i(\hat x,\hat y)=\tau_i A_i(\hat{{\mathbf{x}}}), \end{aligned} $$

where \(\hat{{\mathbf{x}}}=\hat{ {\mathbf{x}}}({\mathbf{x}})={\mathbf{x}}_0+ \frac{1}{\tau_i}({\mathbf{x}}-{\mathbf{x}}_0). \) Note that

$$ \hat {{\mathbf{x}}}({\mathbf{x}}_0)={\mathbf{x}}_0. $$
(13)

From the previous transformation we have:

$$ \begin{aligned} \bar{S}_i({\mathbf{x}})&=\tau_i\;S_i(\hat{{\mathbf{x}}})\quad \hbox{and}\\ \bar{\eta}_i({\mathbf{x}})&=\eta(\bar{S}_i({\mathbf{x}}))= \eta(\tau_i\;S_i(\hat{{\mathbf{x}}}))\overset{\hbox {{(11)}}}=\eta(S_i(\hat{{\mathbf{x}}}))=\eta_i(\hat{{\mathbf{x}}}). \end{aligned} $$

Deriving with respect to variable x we obtain

$$ \frac{\partial\bar{\eta}_i({\mathbf{x}}) }{\partial x}= \frac{\partial\eta_i(\hat{{\mathbf{x}}}) }{\partial x}= \frac{\partial\eta_i(\hat{{\mathbf{x}}})}{\partial \hat x} \; \frac{\partial \hat x}{\partial x}= \frac{1}{\tau_i}\;\frac{\partial\eta_i(\hat{{\mathbf{x}}}) }{\partial \hat x}, $$
(14)

and evaluating at \({\mathbf{x}}_0\) we have

$$ \begin{aligned} &\frac{\partial\bar{\eta}_i({\mathbf{x}}) }{\partial x}\Bigr|_{{\mathbf{x}}={\mathbf{x}}_0}\overset{\hbox {{(14)}}}= \frac{1}{\tau_i}\;\frac{\partial\eta_i(\hat{{\mathbf{x}}}) }{\partial \hat x}\Bigr|_{\hat{{\mathbf{x}}}=\hat{ {\mathbf{x}}}({\mathbf{x}}_0)}\overset{\hbox {{(13)}}}= \frac{1}{\tau_i}\;\frac{\partial\eta_i(\hat{{\mathbf{x}}}) }{\partial \hat x}\Bigr|_{\hat{{\mathbf{x}}}={\mathbf{x}}_0}\\ &\quad =\frac{1}{\tau_i}\;\frac{\partial\eta_i({\mathbf{x}}) }{\partial x}\Bigr|_{{\mathbf{x}}={\mathbf{x}}_0}. \end{aligned} $$

Therefore, the derivatives of the objective function \(\bar{K}\) at the point (x 0,y 0) satisfy

$$ \left\{ \begin{array}{l} \partial_x \bar{K}(x_0,y_0)=\sum\limits_{i=1}^M\partial_x\bar{\eta}_i({x_0,y_0})= \sum\limits_{i=1}^M \frac{1}{\tau_i}\;\partial_x\eta_i({x_0,y_0})\\ \partial_y \bar{K}(x_0,y_0)=\sum\limits_{i=1}^M\partial_y\bar{\eta}_i({x_0,y_0})= \sum\limits_{i=1}^M \frac{1}{\tau_i}\;\partial_y\eta_i({x_0,y_0}),\\\end{array} \right. $$

and

$$ \left\{ \begin{array}{l} \sum\limits_{i=1}^M\tau_i\;\partial_x\bar{\eta}_i({x_0,y_0})= \sum\limits_{i=1}^M\partial_x\eta_i({x_0,y_0})\overset{\hbox {{(12)}}}=0\\ \sum\limits_{i=1}^M\tau_i\;\partial_y\bar{\eta}_i({x_0,y_0})= \sum\limits_{i=1}^M \partial_y\eta_i({x_0,y_0})\overset{\hbox {{(12)}}}=0.\\\end{array} \right. $$

So we have that (x 0,y 0) is the minimum for the weighted objective function defined as \(\bar{K}_{\tau}(x,y)=\sum\nolimits_{i=1}^M\tau_i\;\bar{\eta}_i(x,y).\)

This result is valid for a local submesh formed by any number of triangles and for any algebraic scale-invariant quality metric.

Applying the result to a T-mesh (see Fig. 19), and taking into account that all triangles of a cell have the same scale factor, we have that the weighted objective function \(\bar{K}_{\tau}\) is

$$ \bar{K}_{\tau}(x,y)=\tau_1\sum\limits_{i=1}^3\bar{\eta}_i(x,y)+\tau_2\sum\limits_{i=4}^6\bar{\eta}_i(x,y) +\tau_3\sum\limits_{i=7}^9\bar{\eta}_i(x,y)+\tau_4\sum\limits_{i=10}^{12}\bar{\eta}_i(x,y). $$
Fig. 19
figure 19

An example of T-mesh and its scale factors for each cell. a Conformal local submesh with optimal position (x 0,y 0); b T-mesh with different cell size surrounding the free node and the same optimal position (x 0,y 0) obtained from the weighted objective function

Note that for our quadtree-structured balanced T-mesh all possible scale factors for a free node have relation 1:2:4.

Thus, the definition of the weighted objective function given by Eq. 4 is justified, where the weights τ 1τ 2τ 3 and τ 4 take values 1, 2 or 4.

Hanging node case

To determine the weights of the objective function for the hanging node case, we pose the following problem. For the given physical local submesh, as shown in Fig. 20a, we have to find the appropriate weights τ 1 and τ 2 such that the optimal position of free node, according to the weighted objective function K τ , will produce an orthogonal local mesh, as shown in Fig. 20b. To do that, we evaluate the derivatives of the objective function K τ and force these derivatives to be equal to zero at (x 0,y 0). Objective function K τ is defined as

$$ K_{\tau}(x,y)=\tau_1\sum\limits_{i=1}^3\eta_i(x,y)+\tau_1\sum\limits_{i=4}^6\eta_i(x,y)+ \tau_2\sum\limits_{i=7}^{11}\eta_i(x,y). $$

The derivatives of the function \(\eta({\bf S}(x,y))=\frac{\|S\|^2}{2\det(S)}\) are

$$ \begin{aligned} \partial_x\eta &= \eta(S)\left[ \frac{\langle\partial_xS, S \rangle}{\|S\|^2} -\frac{\partial_x \det(S)}{2\det(S)}\right],\\ \partial_y\eta &= \eta(S)\left[ \frac{\langle\partial_yS, S \rangle}{\|S\|^2} -\frac{\partial_y \det(S)}{2\det(S)}\right], \end{aligned} $$

where the inner product \(\langle\cdot,\cdot\rangle\) is defined as \(\langle A,B\rangle={\rm Tr}(A^{\rm T},B)\).

Fig. 20
figure 20

Modification of the objective function to obtain, when possible, the orthogonality of the physical local submesh with hanging node. a Physical mesh and the optimal position of free node for the unweighted objective function. b The optimal position (x 0,y 0) of free node for the weighted objective function

The derivative at (x 0,y 0) with respect to y is equal to zero due to the symmetry of the problem, and the derivative with respect to x is given by \(\partial_x\eta(x_0,y_0)=\frac{(b^2-a^2)(5 \tau_2-8 \tau_1)}{2a^2 b}\).

Thus, the point (x 0,y 0) will be the minimum, independently of values a and b, if \(\tau_2=\frac{8}{5} \tau_1\). The weights we have used in this work are τ 1 = 1 and \(\tau_2=\frac{8}{5}\).

It should be pointed out that the case of hanging node is a bit specific and its treatment is not completely analogous to the treatment of the regular node case.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Brovka, M., López, J.I., Escobar, J.M. et al. A new method for T-spline parameterization of complex 2D geometries. Engineering with Computers 30, 457–473 (2014). https://doi.org/10.1007/s00366-013-0336-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00366-013-0336-8

Keywords

Navigation