language-icon Old Web
English
Sign In

Isogeometric analysis

Isogeometric analysis is a computational approach that offers the possibility of integrating finite element analysis (FEA) into conventional NURBS-based CAD design tools. Currently, it is necessary to convert data between CAD and FEA packages to analyse new designs during development, a difficult task since the two computational geometric approaches are different. Isogeometric analysis employs complex NURBS geometry (the basis of most CAD packages) in the FEA application directly. This allows models to be designed, tested and adjusted in one go, using a common data set. Isogeometric analysis is a computational approach that offers the possibility of integrating finite element analysis (FEA) into conventional NURBS-based CAD design tools. Currently, it is necessary to convert data between CAD and FEA packages to analyse new designs during development, a difficult task since the two computational geometric approaches are different. Isogeometric analysis employs complex NURBS geometry (the basis of most CAD packages) in the FEA application directly. This allows models to be designed, tested and adjusted in one go, using a common data set. The pioneers of this technique are Tom Hughes and his group at The University of Texas at Austin. A reference free software implementation of some isogeometric analysis methods is GeoPDEs. Likewise, other implementations can be found online. For instance, PetIGA is an open framework for high performance isogeometric analysis heavily based on PETSc. In addition, MIGFEM is another IGA code which is implemented in Matlab and supports Partition of Unity enrichment IGA for 2D and 3D fracture. Furthermore, G+Smo is an open C++ library for isogeometric analysis. In particular, FEAP is a finite element analysis program which includes an Isogeometric analysis library FEAP IsoGeometric (Version FEAP84 & Version FEAP85). Isogeometric analysis presents two main advantages with respect to the finite element method: In the framework of IGA, the notions of both control mesh and physical mesh are defined. A control mesh is made by the so called control points and it is obtained by a piecewise linear interpolation of them. Control points play also the role of degrees of freedom (DOFs). The physical mesh lays directly on the geometry and it consists of patches and knot spans. According to the number of patches that are used in a specific physical mesh, a single-patch or a multi-patch approach is effectively employed. A patch is mapped from a reference rectangle in two dimensions and from a reference cuboid in three dimensions: it can be seen as the entire computational domain or a smaller portion of it. Each patch can be decomposed into knot spans, which are points, lines and surfaces in 1D, 2D and 3D, respectively. Knots are inserted inside knot spans and define the elements. Basis functions are C p − m {displaystyle C^{p-m}} across the knots, with p {displaystyle p} degree of the polynomial and m {displaystyle m} multiplicity of a specific knot, and C ∞ {displaystyle C^{infty }} between a certain knot and the next or preceding one. A knot vector, normally indicated as Ξ = { ξ 1 , ξ 2 , . . . , ξ n + p + 1 } {displaystyle Xi ={xi _{1},xi _{2},...,xi _{n+p+1}}} , is a set of non-descending points. ξ i ∈ R {displaystyle xi _{i}in mathbb {R} } is the i t h {displaystyle i^{th}} knot, n {displaystyle n} is the number of functions, p {displaystyle p} refers to the basis functions order. A knot divides the knot span into elements. A knot vector is uniform or non-uniform according to the fact that its knots, once their multiplicity is not taken into account, are equidistant or not. If the first and the last knots appear p + 1 {displaystyle p+1} times, the knot vector is said to be open. Once a definition of knot vector is provided, several types of basis functions can be introduced in this context, such as B-splines, NURBS and T-splines. B-splines can be derived recursively from a piecewise constant function with p = 0 {displaystyle p=0} :

[ "Basis function", "Finite element method" ]
Parent Topic
Child Topic
    No Parent Topic