Elsevier

Computer-Aided Design

Volume 46, January 2014, Pages 179-191
Computer-Aided Design

An optimization approach for constructing trivariate B-spline solids

https://doi.org/10.1016/j.cad.2013.08.030Get rights and content

Highlights

  • Automatically construct a trivariate tensor-product B-spline solid.

  • The minimal Jacobian of the resulting solid is positive.

  • A volumetric functional is minimized to improve parametrization quality.

  • Deformation, constraint aggregation, and divide-and-conquer techniques combined.

Abstract

In this paper, we present an approach that automatically constructs a trivariate tensor-product B-spline solid via a gradient-based optimization approach. Given six boundary B-spline surfaces for a solid, this approach finds the internal control points so that the resulting trivariate B-spline solid is valid in the sense the minimal Jacobian of the solid is positive. It further minimizes a volumetric functional to improve resulting parametrization quality.

For a trivariate B-spline solid even with moderate shape complexity, direct optimization of the Jacobian of the B-spline solid is computationally prohibitive since it would involve thousands of design variables and hundreds of thousands of constraints. We developed several techniques to address this challenge. First, we develop initialization methods that can rapidly generate initial parametrization that are valid or near-valid. We then use a divide-and-conquer approach to partition the large optimization problem into a set of separable sub-problems. For each sub-problem, we group the B-spline coefficients of the Jacobian determinant into different blocks and make one constraint for each block of coefficients. This is achieved by taking an aggregate function, the Kreisselmeier–Steinhauser function value of the elements in each block. With block aggregation, it reduces the dimension of the problem dramatically. In order to further reduce the computing time at each iteration, a hierarchical optimization approach is used where the input boundary surfaces are coarsened to difference levels. We optimize the distribution of internal control points for the coarse representation first, then use the result as initial parametrization for optimization at the next level. The resulting parametrization can then be further optimized to improve the mesh quality.

Optimized trivariate parametrization from various boundary surfaces and the corresponding parametrization metric are given to illustrate the effectiveness of the approach.

Introduction

Isogeometric analysis is a numerical analysis technique where CAD basis functions are used to represent both geometry and the approximate physical field  [1]. It has emerged as an important numerical analysis technique and offers the potential to bridge CAD and finite element analysis. A prerequisite in isogeometric analysis is the availability of CAD basis based volumetric parametrization of the physical domain since a geometric representation in CAD systems provides only boundary definitions. Towards this end, this paper provides an approach that can automatically construct a trivariate B-spline solid from a given set of six boundary surfaces or from a boundary triangulation. A trivariate B-spline solid establishes a mapping that maps a cubic parametric domain to a 3D physical domain. A mapping that is useful for many practical applications such as finite element or isogeometric analysis is one that does not involve self-intersection or folding. One way to ensure that the mapping is free from self-intersection is to ensure that the Jacobian of the mapping does not change sign. In this paper, we find the internal control points to maximize the minimal Jacobian of the B-spline solid. When the minimal Jacobian is positive, the mapping is free from self-intersection. This approach further minimizes a volumetric functional to improve resulting parametrization quality.

Fig. 1 gives an example of constructing a B-spline solid from a boundary triangulation. Fig. 1(a) shows the input triangles and Fig. 1(b) shows the reconstructed 6 compatible B-spline surfaces. Fig. 1(c), (d), and (e) are respectively the initial constructed B-spline solids, the optimized valid B-spline solid, and the solid with improved parametrization. The colour represents the Jacobians. Bézier patches with negative Bézier coefficients of detJ are shown in shaded colours and the control points that affect them are shown in blue points. It can be seen that the Bézier patches on the neck intersect each other. In Fig. 1(d) the mesh is valid. The Bezier patches in Fig. 1(d) now have all positive Bézier coefficients of detJ except the zero coefficients on the boundary edges. It can be seen that the elements on the neck no longer intersect each other (see the boxed area in Fig. 1(c) and (d)). After mesh quality improvement, in Fig. 1(e) the mesh becomes much smoother than that in Fig. 1(d) (see the circled areas in Fig. 1(d) and (e)).

Our basic approach is as follows. From the boundary triangulations we reconstruct simultaneously six valid and compatible boundary B-spline surfaces with optional G1 smoothness across the boundary curves and corners. From the boundary B-spline surfaces, we use deformation techniques to create an initial B-spline solid that is valid or near-valid. We then maximize the minimal B-spline coefficient of detJ until a valid B-spline solid is obtained. This is possible since the Jacobian of a B-spline solid is a high order trivariate B-spline. The minimal Jacobian is thus bounded by the minimal B-spline coefficient of detJ.

For a trivariate B-spline solid even with moderate shape complexity, direct optimization of the Jacobian of the B-spline solid is computationally prohibitive since it would involve thousands of design variables and hundreds of thousands of constraints. We have thus developed several techniques to address this challenge. We use a divide-and-conquer approach to partition the large optimization problem into a set of separable sub-problems. For each sub-problem, we group the B-spline coefficients of detJ into different blocks and make one constraint for each block of coefficients. This is achieved by taking an aggregate function, the Kreisselmeier–Steinhauser function value of the elements in each block. With block aggregation, the dimension of the problem reduces dramatically. In order to further reduce the computing time at each iteration, a hierarchical optimization approach is used where the input boundary surfaces are coarsened to difference levels. We optimize the distribution of internal control points for the coarse representation first, then use the result as initial parametrization for optimization at the next level. At last, we further improve the mesh quality by minimizing a volumetric functional and several parametrization metrics are used to evaluate the mesh quality.

Our approach extends earlier work in 2D parametrization where minimal Jacobians of B-spline surfaces are maximized  [2], [3]. Optimization approaches to 3D parametrization have been attempted. In  [4], a variational approach for generating NURBS parametrization of swept volumes is presented. In  [5] an optimization based approach for generating trivariate B-spline solids is also presented. However, as shown in this paper, direct optimization is only applicable to small scale problems. Other approaches to volumetric parametrization for isogeometric analysis have also been developed. In  [6], a tetrahedral mesh was parametrized based on discrete volumetric harmonic functions and then fitted to a single skeleton based trivariate B-spline solid. Instead of having six exterior surfaces, it only has one exterior surface with singularities on the inner skeleton axis. In  [7], a method of converting an unstructured quadrilateral and hexahedral mesh to a rational T-spline was proposed. Based on the method in  [7], in  [8], solid T-splines were constructed from the triangular boundary representations for genus-zero geometry. Further, in  [9], a method of constructing solid T-splines from boundary triangulations with arbitrary genus topology is given.

Thus far few of the above approaches have addressed the quality of the parametrization. Even though isogeometric analysis is shown to be robust even under severe mesh distortion  [10], the statistics in  [11] suggests that the mesh quality influences the accuracy and convergence of the analysis solutions. In this paper, besides the Jacobian, we evaluate the resulting mesh metrics such as orthogonality, Oddy metric and condition number.

Section snippets

B-spline solid and Jacobian

A trivariate B-spline solid can be defined as T(u,v,w)=i=0mj=0nk=0lNi,p(u)Nj,q(v)Nk,r(w)Pi,j,k, where Pi,j,k,i=0,1,,m,j=0,1,,n,k=0,1,,l are control points in the u,v and w directions and Ni,p(u),Nj,q(v),Nk,r(w) are B-splines of degree p in the u, degree q in the v and degree r in the w directions. A B-spline solid can be decomposed to Bézier volumes. A trivariate Bézier volume can be defined as TB(u,v,w)=i=0pj=0qk=0rBi,p(u)Bj,q(v)Bk,r(w)Pi,j,k, where Pi,j,k are control points and Bi,p(u

Optimization formulation

The inputs for the optimization are six boundary B-spline surfaces, based on which we first create an initial B-spline solid and then maximize the minimal B-spline coefficient of detJ to obtain a valid B-spline solid. Mathematically this can be noted as maxXj,Yj,ZjminiJi,i=1,,M where Ji,i=1,,M are the B-spline coefficients of detJ and Xj,Yj,Zj,j=1,,N are the coordinates of the internal control points. N is the number of the internal control points of the B-spline solid. Eq. (4) itself is not

Mesh quality

By applying the above optimization approach, we can efficiently obtain a valid B-spline solid. In this paper, we also demonstrate how the overall mesh quality can be further improved via minimizing a volumetric functional.

B-spline boundary surfaces

The inputs for the optimization is six compatible B-spline boundary surfaces, based on which the B-spline solid initialization, mesh rectification and quality improvement are conducted. We can obtain B-spline boundary surfaces directly from CAD systems, or from free-form sweeping  [22], or from boundary triangulations. We briefly describe below how we fit B-spline boundary surfaces from the boundary triangulations.

As shown in Fig. 7, the input is a closed boundary triangulation. We partition

Numerical examples

We demonstrate below the effect of our optimization approach on four sets of data as shown in Fig. 8. The inputs are boundary triangles. We reconstruct six boundary B-spline surfaces for each of the models, where G1 constraints are imposed for the first three models (where G1 edges are shown in red). We then obtain theB-spline solid models from the initialization methods. Table 1 compares the statistics of the resulting B-spline solids. Through optimization, we obtain valid B-spline solids with

Conclusion

In this paper, we have presented an optimization approach with a set of techniques that can efficiently create a valid trivariate tensor-product B-spline solid from different boundary inputs. Our study finds that deforming a cuboid to a given boundary shape through elasticity leads to good initialization in the sense that it generates a near-valid B-spline solid. Such a near-valid solid leads to fewer invalid Bézier patches (with negative minimal Bézier coefficient of detJ) scattered throughout

Acknowledgement

We would like to acknowledge Dr. Long Chen for his help in providing the tooth boundary model.

References (24)

Cited by (83)

  • Sufficient condition for injectivity of NURBS volumes by tangent cones

    2023, Journal of Computational and Applied Mathematics
View all citing articles on Scopus
View full text