Ronald Spencer and Professor Michael Scott, Civil Engineering
Introduction
Achieving accurate numerical solutions to demanding problems in science and engineering requires robust, accurate, and adaptive numerical technology. Adaptivity, in the context of numerical methods, is the process of tailoring a numerical solution to “fit” the physical solution. This is generally achieved by increasing or decreasing the resolution of the computational mesh. IGA, a recently introduced numerical framework, makes it possible to achieve superior accuracy and robustness while preserving the exact CAD geometry [1]. IGA can be viewed as a generalization of finite element analysis. In IGA, the geometric representation is adopted as the basis for analysis. In contrast, traditional finite element analysis uses only an approximation to the exact CAD geometry. A hierarchical B-spline basis can be leveraged to devise powerful new approaches for locally adaptive isogeometric numerical methods. In this project, h- and p-refinement of hierarchical B-splines were explored. In h-refinement the elements are subdivided, and in p-refinement, the number of elements in the mesh remains fixed while the polynomial degree of the basis is increased. Hierarchical B-splines provide an efficient framework for multi-resolution analysis due to their multilevel structure. The framework devised in this project provides a footing for the exploration of powerful isogeometric adaptive solution routines.
Methodology
This project focused on the creation of a one-dimensional hierarchical B-spline framework capable of exploring h- and p-refinement for isogeometric analysis. Research efforts over the past seven months have been focused on the implementation of a simple, one-dimensional research code capable of exploring h- and p-refinement. Creation of this research code included the development of basic algorithms for coupled h- and p-refinement. Finally, in order to interface with finite element codes, Bézier extraction of the mesh parameters was to be implemented.
Results
The primary result of this project is a fully functional hierarchical B-spline code written in C++. The code is capable of basic h-refinement, newly developed p-refinement, as well as combinations of the two. The code stores the information for a multi-level structure capable of representing mesh geometry on level one, and a higher resolution analysissuitable space on subsequently refined levels. The refinement strategies for hrefinement were well defined [2][3], but p-refinement had to be developed from scratch.
In order to construct this framework, a hierarchical data structure was devised. This data structure stores information necessary to represent each level of the hierarchy individually. Information in this regime includes which portions a given level are active. By storing an activity status for each level it is possible to refine locally by activating a specified region. In addition the data structure must store information about how each level in the hierarchy is related. This includes linear dependencies between basis functions on each level, as well as which portions of each level will be used to represent the final hierarchical basis. This hierarchical data structure is general enough to support the refinement algorithms for an h-refined level, a p-refined level, and subsequent levels involving combinations of the two.
Once the data structure was devised to store the necessary information pertaining to the hierarchy, Bézier extraction capabilities were added to allow for an interface with finite element routines. Bézier extraction converts a complex hierarchical B-spline into a standard finite element mesh. Bézier extraction is standard practice in IGA and algorithms for its implementation are well established [4].
Discussion
The one dimensional research code provides a good framework for future investigation of the behavior of these local refinement techniques. With its current capabilities, the code can construct a fully defined hierarchy, which can then be represented in an acceptable form for isogeometric analysis. Using this one-dimensional implementation it is now convenient to explore further possibilities of powerful isogeometric adaptive routines that can be constructed based on these hierarchies. These routines are geometrically exact, more accurate per degree-of-freedom than traditional finite element analysis, and adapted to the problem at hand.
Conclusion
Research over the course of this project explored local h- and local p-refinement strategies for isogeometric analysis. The purpose of local refinement in a numerical simulation is to improve solution accuracy and resolve local solution features efficiently. A one-dimensional framework for the creation and refinement of hierarchical B-splines was implemented in C++. The code has full refinement capabilities for coupled h- and prefinement, and can interface with standard finite element routines. The code is a good foundation for further investigation of these refinement techniques.
Sources
- J.A. Cottrell, T.J.R. Hughes, Y. Bazilevs, Isogeometric Analysis: Toward Integration of CAD and FEA, John Wiley & Sons, 2009.
- D. Schillinger, L. Dede, M. A. Scott et al, 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. Engrg. 200 (49-52) (2012) 116-150.
- A.-V. Vuong, C. Giannelli, B. Juttler, B. Simeon, A hierarchical approach to adaptive local refinement in isogeometric analysis, Comput. Methods Appl. Mech. Engrg. 200 (2011) 3554-3567.
- M.J. Borden, M.A. Scott, J.A. Evans, T.J.R. Hughes, Isogeometric finite elements data structures based on Bezier extraction of NURBS, Int. J. Numer. Meth. Engng 2011 87:15-47.