Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Isogeometric analysis

From Wikipedia, the free encyclopedia
Computer-aided design approach

Isogeometric analysis is a computational approach that offers the possibility of integratingfinite element analysis (FEA) into conventionalNURBS-basedCAD 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.[1]

The pioneers of this technique areTom Hughes and his group atThe University of Texas at Austin. A referencefree software implementation of some isogeometric analysis methods is GeoPDEs.[2][3] Likewise, other implementations can be found online. For instance, PetIGA[4] is an open framework for high performance isogeometric analysis heavily based onPETSc. In addition, MIGFEM is another IGA code which is implemented inMatlab and supports Partition of Unity enrichment IGA for 2D and 3D fracture. Furthermore, G+Smo[5] is an open C++ library for isogeometric analysis. In particular, FEAP[6] is a finite element analysis program which includes an Isogeometric analysis library FEAP IsoGeometric (Version FEAP84 & Version FEAP85).

Advantages of IGA with respect to FEA

[edit]

Isogeometric analysis presents two main advantages with respect to the finite element method:[1][7]

Meshes

[edit]

In the framework of IGA, the notions of both controlmesh and physical mesh are defined.[1]

A control mesh is made by the so-called control points and it is obtained by a piecewiselinear interpolation of them. Control points play also the role ofdegrees of freedom (DOFs).[1]

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 referencerectangle in two dimensions and from a referencecuboid 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 arepoints,lines andsurfaces in 1D, 2D and 3D, respectively. Knots are inserted inside knot spans and define the elements.Basis functions areCpm{\displaystyle C^{p-m}} across the knots, withp{\displaystyle p} degree of thepolynomial andm{\displaystyle m} multiplicity of a specific knot, andC{\displaystyle C^{\infty }} between a certain knot and the next or preceding one.[1]

Knot vector

[edit]

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.ξiR{\displaystyle \xi _{i}\in \mathbb {R} } is theith{\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 appearp+1{\displaystyle p+1} times, the knot vector is said to be open.[1][7]

Basis functions

[edit]

Once a definition of knot vector is provided, several types of basis functions can be introduced in this context, such asB-splines,NURBS andT-splines.[1]

B-splines

[edit]

B-splines can be derived recursively from a piecewise constant function withp=0{\displaystyle p=0}:[1]

Ni,0(ξ)=I[ξi,ξi+1)(s)1in{\displaystyle N_{i,0}(\xi )={\mathcal {I}}_{[\xi _{i},\xi _{i+1})}(s)\quad 1\leq i\leq n}

UsingDe Boor's algorithm, it is possible to generate B-splines of arbitrary orderp{\displaystyle p}:[1]

Ni,p(ξ)=ξξiξi+pξiNi,p1(ξ)+ξi+p+1ξξi+p+1ξi+1Ni+1,p1(ξ)1in{\displaystyle N_{i,p}(\xi )={\frac {\xi -\xi _{i}}{\xi _{i+p}-\xi _{i}}}N_{i,p-1}(\xi )+{\frac {\xi _{i+p+1}-\xi }{\xi _{i+p+1}-\xi _{i+1}}}N_{i+1,p-1}(\xi )\quad 1\leq i\leq n}

valid for both uniform and non-uniform knot vectors. For the previous formula to work properly, let the division of twozeros to be equal to zero, i.e.00:=0{\displaystyle {\dfrac {0}{0}}:=0}.

B-splines that are generated in this way own both thepartition of unity and positivity properties, i.e.:[1]

i=1nNi,p(ξ)=1ξ{\displaystyle \sum _{i=1}^{n}N_{i,p}(\xi )=1\quad \forall \xi }

Ni,p(ξ)0ξ{\displaystyle N_{i,p}(\xi )\geq 0\quad \forall \xi }

So as to calculatederivatives or orderk{\displaystyle k} of theith{\displaystyle i^{th}} B-splines of degreep{\displaystyle p}, another recursive formula can be employed:[1]

dkdkξNi,p(ξ)=p!(pk)!j=0kαk,jNi+j,pk(ξ){\displaystyle {\frac {d^{k}}{d^{k}\xi }}N_{i,p}(\xi )={\frac {p!}{(p-k)!}}\sum _{j=0}^{k}\alpha _{k,j}N_{i+j,p-k}(\xi )}

where:

α0,0=1{\displaystyle \alpha _{0,0}=1}

αk,0=αk1,0ξi+pk+1ξi,{\displaystyle \alpha _{k,0}={\frac {\alpha _{k-1,0}}{\xi _{i+p-k+1}-\xi _{i}}},}

αk,j=αk1,jαk1,j1ξi+p+jk+1ξi+jj=1,...,k1,{\displaystyle \alpha _{k,j}={\frac {\alpha _{k-1,j}-\alpha _{k-1,j-1}}{\xi _{i+p+j-k+1}-\xi _{i+j}}}\quad j=1,...,k-1,}

αk,k=αk1,j1ξi+p+1ξi+k.{\displaystyle \alpha _{k,k}={\frac {-\alpha _{k-1,j-1}}{\xi _{i+p+1}-\xi _{i+k}}}.}

whenever the denominator of anαj,j{\displaystyle \alpha _{j,j}} coefficient is zero, the entire coefficient is forced to be zero as well.

A B-spline curve can be written in the following way:[7]

C(ξ)=i=1nNi,p(ξ)Bi{\displaystyle {\textbf {C}}(\xi )=\sum _{i=1}^{n}N_{i,p}(\xi ){\textbf {B}}_{i}}

wheren{\displaystyle n} is the number of basis functionsNi,p{\displaystyle N_{i,p}}, andBiRd{\displaystyle {\textbf {B}}_{i}\in \mathbb {R} ^{d}} is theith{\displaystyle i^{th}} control point, withd{\displaystyle d} dimension of the space in which the curve is immersed.

An extension to the two dimensional case can be easily obtained from B-splines curves.[7] In particular B-spline surfaces are introduced as:[7]

S(ξ,η)=i=1nj=1mNi,p(ξ)Mj,q(η)Bi,j{\displaystyle {\textbf {S}}(\xi ,\eta )=\sum _{i=1}^{n}\sum _{j=1}^{m}N_{i,p}(\xi )M_{j,q}(\eta ){\textbf {B}}_{i,j}}

wheren{\displaystyle n} andm{\displaystyle m} are the numbers of basis functionsNi,p{\displaystyle N_{i,p}} andMj,q{\displaystyle M_{j,q}} defined on two different knot vectorsΞ={ξ1,ξ2,...,ξn+p+1}{\displaystyle \Xi =\{\xi _{1},\xi _{2},...,\xi _{n+p+1}\}},H={η1,η2,...,ηm+q+1}{\displaystyle {\mathcal {H}}=\{\eta _{1},\eta _{2},...,\eta _{m+q+1}\}},Bi,j{\displaystyle {\textbf {B}}_{i,j}} represents now a matrix of control points (also called control net).

Finally, B-splines solids, that need three sets of B-splines basis functions and a tensor of control points, can be defined as:[7]

S(ξ,η,ζ)=i=1nj=1mk=1lNi,p(ξ)Mj,q(η)Lk,r(ζ)Bi,j,k{\displaystyle {\textbf {S}}(\xi ,\eta ,\zeta )=\sum _{i=1}^{n}\sum _{j=1}^{m}\sum _{k=1}^{l}N_{i,p}(\xi )M_{j,q}(\eta )L_{k,r}(\zeta ){\textbf {B}}_{i,j,k}}

NURBS

[edit]

In IGA basis functions are also employed to develop the computational domain and not only for representing the numerical solution. For this reason they should have all the properties that permit to represent the geometry in an exact way. B-splines, due to their intrinsic structure, are not able to generate properly circular shapes for instance.[1] In order to circumvent this issue, non-uniform rational B-splines, also known as NURBS, are introduced in the following way:[1]

Rip(s)=Ni,p(s)ωiW(s){\displaystyle R_{i}^{p}(s)={\frac {N_{i,p}(s)\omega _{i}}{W(s)}}}

whereNi,p{\displaystyle N_{i,p}} is a one dimensional B-spline,W(s)=i=1nNi,p(s)ωi{\displaystyle W(s)=\sum _{i=1}^{n}N_{i,p}(s)\omega _{i}} is referred to asweighting function, and finallyωi{\displaystyle \omega _{i}} is theith{\displaystyle i^{th}} weight.

Following the idea developed in the subsection about B-splines, NURBS curve are generated as follows:[1]

C(s)=i=1nRip(s)Bi{\displaystyle {\textbf {C}}(s)=\sum _{i=1}^{n}R_{i}^{p}(s){\textbf {B}}_{i}}

withBi{\displaystyle {\textbf {B}}_{i}}ith{\displaystyle i^{th}} vector of control points.

The extension of NURBS basis functions to manifolds of higher dimensions (for instance 2 and 3) is given by:[1]

Ri,jp,q(s,t)=Ni,p(s)Mj,q(t)ωi,ja=1nb=1mNa,p(s)Mb,q(t)ωa,b{\displaystyle R_{i,j}^{p,q}(s,t)={\frac {N_{i,p}(s)M_{j,q}(t)\omega _{i,j}}{\sum _{a=1}^{n}\sum _{b=1}^{m}N_{a,p}(s)M_{b,q}(t)\omega _{a,b}}}}

Ri,j,kp,q,r(s,t,w)=Ni,p(s)Mj,q(t)Lk,r(w)ωi,j,ka=1nb=1mc=1lNa,p(s)Mb,q(t)Lc,r(w)ωa,b,c{\displaystyle R_{i,j,k}^{p,q,r}(s,t,w)={\frac {N_{i,p}(s)M_{j,q}(t)L_{k,r}(w)\omega _{i,j,k}}{\sum _{a=1}^{n}\sum _{b=1}^{m}\sum _{c=1}^{l}N_{a,p}(s)M_{b,q}(t)L_{c,r}(w)\omega _{a,b,c}}}}

hpk-refinements

[edit]

There are three techniques in IGA that permit to enlarge the space of basis functions without touching the geometry and its parametrization.[1]

The first one is known as knot insertion (or h-refinement in the FEA framework), whereΞ¯={ξ1¯=ξ1,ξ2¯,...,ξn+m+p+1¯=ξn+p+1}{\displaystyle {\overline {\Xi }}=\{{\overline {\xi _{1}}}=\xi _{1},{\overline {\xi _{2}}},...,{\overline {\xi _{n+m+p+1}}}=\xi _{n+p+1}\}} is obtained fromΞ={ξ1,ξ2,...,ξn+p+1}{\displaystyle \Xi =\{\xi _{1},\xi _{2},...,\xi _{n+p+1}\}} with the addition of more knots, which implies an increment of both the number of basis functions and control points.[1]

The second one is called degree elevation (or p-refinement in the FEA context), which permits to increase the polynomial order of the basis functions.[1]

Finally the third method, known as k-refinement (without a counterpart in FEA), derives from the preceding two techniques, i.e. combines the order elevation with the insertion of a unique knot inΞ{\displaystyle \Xi }.[1]

References

[edit]
  1. ^abcdefghijklmnopqrstCottrell, J. Austin; Hughes, Thomas J.R.; Bazilevs, Yuri (October 2009).Isogeometric Analysis: Toward Integration of CAD and FEA.John Wiley & Sons.ISBN 978-0-470-74873-2. Retrieved2026-02-11.
  2. ^"GeoPDEs: a free software tool for isogeometric analysis of PDEs". 2010. RetrievedNovember 7, 2010.
  3. ^de Falco, C.; A. Reali; R. Vázquez (2011). "GeoPDEs: a research tool for Isogeometric Analysis of PDEs".Adv. Eng. Softw.42 (12):1020–1034.doi:10.1016/j.advengsoft.2011.06.010.
  4. ^"PetIGA: A framework for high performance Isogeometric Analysis". 2012. Archived fromthe original on July 14, 2014. RetrievedAugust 7, 2012.
  5. ^"G+Smo: a C++ library for isogeometric analysis, developed at RICAM, Linz". 2017. RetrievedJuly 9, 2017.
  6. ^"FEAP: FEAP is a general purpose finite element analysis program which is designed for research and educational use, developed at University of California, Berkeley". 2018. RetrievedApril 21, 2018.
  7. ^abcdefgPegolotti, Luca; Dedè, Luca;Quarteroni, Alfio (January 2019)."Isogeometric Analysis of the electrophysiology in the human heart: Numerical simulation of the bidomain equations on the atria"(PDF).Computer Methods in Applied Mechanics and Engineering.343:52–73.Bibcode:2019CMAME.343...52P.doi:10.1016/j.cma.2018.08.032.hdl:11311/1066014.S2CID 53613848.

External links

[edit]
Authority control databases: NationalEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Isogeometric_analysis&oldid=1337769869"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp