This invention relates to computer techniques for performing finite element analysis, and more particularly to novel computer techniques for performing finite element analysis of thin-shell models using subdivision surfaces.
The Kirchhoff theory of thin plates and the Kirchhoff-Love theory of thin shells are characterized by energy functionals which depend on curvature, consequently they contain second-order derivatives of displacement. The resulting Euler-Lagrange—or equilibrium—equations in turn take the form of fourth-order partial differential equations. It is well-known from approximation theory that in this context, the convergence of finite-element solutions requires so-called C1 interpolation. More precisely, in order to ensure that the bending energy is finite, the test functions have to be H2, or square-integrable functions whose first- and second-order derivatives are themselves square-integrable. Unfortunately, for general unstructured meshes it is not possible to ensure C1 continuity in the conventional sense of strict slope continuity across finite elements when the elements are endowed with purely local polynomial shape functions and the nodal degrees of freedom consist of displacements and slopes only. Inclusion of higher-order derivatives among the nodal variables leads to well-known difficulties, e.g., the inability to account for stress and strain discontinuities in shells whose properties vary discontinuously across element boundaries, and, owing to the high order of the polynomial interpolation required, the presence of spurious oscillations in the solution.
The difficulties inherent in C1 interpolation have motivated a number of alternative approaches, all of which endeavor to “bear” the C1 continuity requirement. Examples are: quasi-conforming elements obtained by relaxing the strict Kirchhoff constraint; the use of Reissner-Mindlin theories for thick plates and shells (which requires conventional C0 interpolation only); reduced-integration penalty methods; mixed formulations; degenerate solid elements; and many others known from the literature. C0 elements often exhibit poor performance in the thin-shell limit—especially in the presence of severe element distortion. Such distortion may be due to a variety of pathologies such as shear and membrane locking. The proliferation of approaches and the rapid growth of the specialized literature attest to the inherent, perhaps insurmountable, difficulties in vanquishing the C1 continuity requirement.
The invention includes a method, system, and computer program for performing finite element analysis on a shell based on the use of subdivision surfaces for: (1) describing the geometry of a shell in its undeformed configuration, and (2) generating smooth interpolated displacement fields possessing bounded energy within the strict framework of the Kirchhoff-Love theory of thin shells. The preferred subdivision strategy is Loop's scheme, with extensions to account for creases and displacement boundary conditions. The displacement fields obtained by subdivision are H2 and, consequently, have a finite Kirchhoff-Love energy. The resulting finite elements contain three nodes and element integrals are computer by a one-point quadrature. The displacement field of the shell is interpolated from nodal displacements only. In particular, no nodal rotations are used in the interpolation. The interpolation scheme induced by subdivision is nonlocal, i.e., the displacement field over one element depends on the nodal displacements of the element nodes and all nodes of immediately neighboring elements. However, the use of subdivision surfaces ensures that all the local displacement fields thus constructed combine conformingly to define one single limit surface. Numerical tests, including known obstacle courses of benchmark problems, demonstrate the high accuracy and optimal convergence of the method.
More particular, in one aspect, the invention includes a method, system, and computer program for performing finite element analysis on a shell by the following steps:
A specific embodiment of the inventive method for performing finite element analysis using subdivision basis functions can be summarized as follows:
This procedure can be implemented by programming the relevant equations set forth below in light of known techniques for finite element analysis.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, object, and advantages of the invention will be apparent from the description and drawings, and from the claims.
a is a diagram showing a simple one-dimensional example of an approximating subdivision scheme.
b is a diagram showing an interpolating subdivision scheme.
a is a diagram showing a subdivision mask for computing x01.
b is a diagram showing a subdivision mask for computing x11, . . . x61.
a is a diagram showing a limit position mask.
b and 7c are diagrams showing two tangent masks corresponding to the limit position mask shown in
a, and 11b, and 11c are diagrams showing various boundary conditions for the cases of displacements and rotations fixed (
a and 15b are diagrams respectively showing the computed limit surfaces of the simply-supported plate of FIG. 14 and the clamped plate of
a and 16b are graphs respectively showing the convergence of the computed maximum-displacement and energy-norm errors as a function of the number of degrees of freedom for the plate of
a and 18b are diagrams respectively showing the undeformed control mesh and the deformed limit surface for the shell of FIG. 17.
a is a diagram showing an example of a cylindrical shell.
b is a diagram showing a typical control mesh for the cylinder of
c is a diagram showing the computed deformed limit surface for the cylinder of
a and 21b are graphs respectively showing displacement-convergence results for the rigid diaphragm case and the free-end case for the cylinder of
a is a diagram showing an example of a hemispherical shell.
b and 22c are diagrams respectively showing a typical control mesh and the corresponding deformed limit surface for the hemispherical shell of
Like reference numbers and designations in the various drawings indicate like elements.
Introduction
Simultaneously with the development of C0 plate and shell elements, and for the most part unbeknownst to mechanicians, the field of computer aided geometric design has taken considerable strides towards the efficient generation and representation of smooth surfaces. In particular, the use of subdivision surfaces provides a powerful tool for generating smooth surfaces which either interpolate or approximate an arbitrary collection of points or “nodes”. Here, smoothness is understood in the sense of H2 surfaces, i.e., surfaces whose curvature tensor is L2, or square summable. Subdivision surfaces follow as the limit of a recursive refinement of the triangulation of the nodal point set, e.g., by recourse to the classical Loop scheme. Within this framework, the treatment of complex geometries with intersections or curved boundaries is straightforward. Subdivision surfaces obtained by the Loop scheme are guaranteed to be H2, i.e., to have finite bending energy, and are therefore ideally suited as test functions for plate and shell analyses. The smoothness of the limit surface may also be suitably relaxes in the presence of thickness or material discontinuities. The method of subdivision surfaces thus effectively solves the elusive and long-standing C1-interpolation problem which has traditionally plagues plate and shell finite-element analyses. The ready availability of smooth approximating surfaces for arbitrary geometries and triangulations enables a return to the “basic” finite-element method, e.g., the Rayleigh-Ritz method, with the attendant guarantee of optimal convergence.
We teach the subdivision-surface concept as a new paradigm for plate and shell C1 finite-element analyses. We rely on subdivision to generate smooth deformed surfaces from a triangulation of an arbitrary nodal point set. This nodal point set is displaced from that which defines the reference configuration of the shell according to an array of nodal displacements. The nodal displacements are determined as follows. The energy of the deformed plate or shell is given by a direct evaluation of the Kirchhoff or Kirchhoff-Love energy functional. The requisite boundedness of the bending energy is ensured by the H2 property of the test deformed geometries. The equilibrium displacements then follow simply by recourse to energy minimization. Within the framework of linear theories, this process of energy minimization leads to a symmetric and banded system of linear equations for the nodal displacements.
The triangles in the triangulation of the nodal point set may be regarded as three-node finite elements. In particular, the total energy of the shell is the sum of the local energies of the elements. These local energies in turn follow by integration over the domain of the element. However, the interpolation scheme to which the subdivision paradigm leads differs from conventional finite-element interpolation in a crucial respect: the displacement field within an element depends not only on the displacements of the nodes attached to the element but also on the displacements of all the immediately adjacent nodes in the triangulation. Thus, the displacement field within an element is determined by the nodal displacements of a “link” or “patch” of adjacent elements. (However, special rules are required for elements which about on an edge of the shell.) Our approach shares some aspects in common with the finite-volume approach recently proposed by J. Rojek, E. Oriate, and E. Postek, “Application of explicit fe codes to simulation of sheet and bulk metal forming processes,” J. Mater. Process. Techn., 80:620-627, 1998 For instance, the patches corresponding to neighboring elements may overlap. However, when the displacement field is constructed by subdivision, as in our approach the displacement representations within the intersection of two patches coincide exactly. Thus, subdivision leads to a unique and well-defined surface over the complete finite-element triangulation, as opposed to a collection of non-conforming local interpolations.
An additional advantage afforded by the present approach is that the geometrical modeling and the finite-element analysis are based on an identical representational paradigm, that is, both the undeformed and the deformed geometries of the plates and shells are described by recourse to subdivision. The prior art has stressed the necessity of a unique framework for both geometric design and mechanical analysis. In contrast, the unification of the geometrical and finite-element representations in accordance with the present invention offers a robust environment which effectively sidesteps many of the difficulties inherent in the currently available software tools, which suffer from heterogeneous and, therefore, error-prone interfaces.
Concisely stated, the invention includes a method, system, and computer program for performing finite element analysis on a shell by the following steps:
In this section we summarize the field equations for the classical stress-resultant shell model. Here we follow the elegant formulation by Simo et a.l (J. C. Simo and D. D. Fox, “On a stress resultant geometrically exact shell model part i: Formulation and optimal parameterization,” Comput. Methods Appl. Mech. Engrg., 72:267-304, 1989; J. C. Simo, D. D. Fox, and M. S. Rifai, “On a stress resultant geometrically exact shell model part ii: The linear theory; computational aspects,” Comput. Methods Appl. Mech. Engrf., 73:53-92, 1989) of the Reissner-Mindlin theory, which we specialize to Kirchhoff-Love theory by explicitly constraining the shell director to remain normal to the deformed middle surface of the shell. Throughout the present work we confine our attention to the linear theory of shells under static loading. In Sections below we briefly summarize the relevant aspects of the standard finite-element discretization of the Kirchhoff-Love thin-shell theory.
Kinematics of Deformation
The position vectors {overscore (r)} and r of a material point in the reference 12 and deformed configurations 14 of the shell may be parameterized in terms of a system {θ1, θ2,θ3} of curvilinear coordinates as:
The functions {overscore (x)}(θ1,θ2) and x(θ1,θ2) furnish a parametric representation of the middle surface in the reference 12 configuration and deformed configuration 14. The corresponding surface basis vectors are:
{overscore (α)}α={overscore (x)}1α, αα=x1a (3)
where here and henceforth Greek indices take the values 1 and 2, and a comma is used to denote partial differentiation. The covariant components of the surface metric tensors in turn follow as:
{overscore (α)}αβ={overscore (α)}α·{overscore (α)}β, ααβ=αα·αβ (4)
whereas the covariant components of curvature tensors are:
{overscore (κ)}αβ={overscore (α)}α·{overscore (α)}3,β, καβ=αα·α3,β (5)
For later reference we also introduce the contravariant components of the undeformed and deformed surface metric tensors, {overscore (α)}αβ and ααβ, respectively. The defining property of these components is:
{overscore (α)}αγ{overscore (α)}γβ=δβα, ααγαγβ=δβα (6)
We also note that the element of area over follows as
d{overscore (Ω)}=√{square root over({overscore (α)})}dθ1dθ2 (7)
where
√{square root over({overscore (α)})}=|{overscore (α)}1×{overscore (α)}2| (8)
is the jacobian of the surface coordinates {θ1, θ2}.
The shell director {overscore (α)}3 in the reference configuration 12 coincides with the normal to the undeformed middle surface of the shell and hence has the properties:
{overscore (α)}α·{overscore (α)}3=0, |{overscore (α)}3|=1 (9)
which give {overscore (α)}3 explicitly in the form:
For the moment we allow the director α3 on the deformed configuration 14 of the shell to be an arbitrary vector field.
The covariant base vectors in the reference and the current configuration 12, 14 follow simply as:
The corresponding covariant components of the metric tensors in both configurations are:
{overscore (g)}ij={overscore (g)}i·{overscore (g)}j, gij=gi·gj (13)
where here and henceforth lowercase Latin indices take the values 1, 2, and 3.
The Green-Lagrange strain tensor is defined as the difference between the metric tensors on the deformed and undeformed configurations of the shell, i.e.,
Using Eqs. 11, 12, and 13, the Green-Lagrange strain of the shell is found to be of the form:
Eij=αij+θ3βij (15)
to first order in the shell thickness h. The nonzero components of the tensors αij and βij are in turn related to the deformation of the shell as follows:
βαβ=αα·α3,β−{overscore (α)}α·{overscore (α)}3,β (17)
In particular, the in-plane components ααβ, or membrane strains, measure the straining of the surface; the components αα3 measure the shearing of the director {overscore (α)}3; the component α33 measures the stretching of the director; and the components βαβ, or bending strains, measure the bending or change in curvature of the shell, respectively.
The above kinematic relations allow for finite deformations as well as for shearing and stretching of the shell director. In the remainder of this description, we restrict our attention to the Kirchhoff-Love theory of thin shells and, accordingly, we constrain the deformed director α3 to coincide with the unit normal to the deformed middle surface of the shell, i.e.,
αα·α3=0, |α3|=1 (18)
which yields:
Owing to these constraints, the shear strains αα3 vanish identically and the bending strains simplify to:
βα,β={overscore (α)}α,β·{overscore (α)}3−αα,β·α3 (20)
It follows from these relations that, by virtue of the assumed Kirchhoff-Love kinematics, all the strain measures of interest may be deduced from the deformation of the middle surface of the shell.
For simplicity, we restrict the scope of subsequent discussions to linearized kinematics. To this end, we begin by writing
x(θ1,θ2)={overscore (x)}(θ1,θ2)+u(θ1,θ2) (21)
where u(θ1,θ2) is the displacement field of the middle surface of the shell. To first order in u the membrane and bending strains then follows as:
It is clear from these expressions that the displacement field u of the middle surface furnishes a complete description of the deformation of the shell and may therefore be regarded as the primary unknown of the analysis. It also follows that the deformed and undeformed domains Ω and are indistinguishable to within the order of approximation of the linearized theory and, in consequence, we drop the distinction between the two domains throughout the remainder of this description.
Equilibrium Deformations of Elastic Shells
Next, we seek to characterize the equilibrium configurations of the shell by recourse to energy principles. For simplicity, we shall assume throughout that the shell is linear elastic with a strain energy density per unit area of the form:
where E is Young's modulus, v is Poisson's ratio, and
In Eq. 24, the first term is the membrane strain energy density and the second term is the bending strain energy density. The membrane and bending stresses follow from Eq. 24 by work conjugacy, with the result:
The membrane and bending stress tensors nαβ and mαβ may be given a direct mechanistic interpretation as force and moment resultants.
The shell is subject to a system of external dead loads consisting of distributed loads q per unit area of Ω and axial forces N per unit length of Γ. Under these conditions the potential energy of the shell takes the form:
Φ[u]=Φint[u]+Φext[u] (28)
where
is the elastic potential energy and
is the potential energy of the applied loads.
The stable equilibrium configurations of the shell now follow from the principle of minimum potential energy:
where V is the space of solutions consisting of all trial displacement fields v with finite energy Φ[v]. It is clear from the form of the elastic energy of the shell that such trial displacement fields must necessarily have square integrable first and second derivatives. Within the context of the linear theory, and under suitable technical restrictions on the domain Ω and the applied loads, it therefore follows that V may be identified with the Sobolev space of functions H2(Ω, R3). In particular, an acceptable finite-element interpolation method must guarantee that all trial finite element interpolants belong to this space.
The Euler-Lagrange equations corresponding to the minimum principle (Eq. 31) may be expressed in weak form as:
which is a statement of the principle of virtual work. Here <DΦ[u],δu> denotes the first variation of Φ at u in the direction of the virtual displacements δu.
in the internal virtual work and
is the external virtual work. The minimum principle (Eq. 31) or, equivalently, the virtual work principle (Eq. 32) are subsequently taken as a basis for formulating finite-element approximations to the equilibrium configuration of the shell.
Finite-Element Discretization
We now turn to the finite-element discretization of the potential energy of the shell (Eq. 28) or, equivalently, its first variation (Eq. 32). To this end, it proves convenient to adopt Voigt's notation and map symmetric second-order tensors into arrays by recourse to the conventions:
The constitutive relations, Eqs. 26 and 27, may similarly be written in the form:
where we write:
which replaces Eq. 25 within the Voigt formalism. Using these conventions, the internal virtual work (Eq. 33) may be recast in the convenient form
Next we proceed to partition the domain Ω of the shell into a finite element mesh, the precise nature of which will remain unspecified for now. The collection of element domains in the mesh is {ΩK, K=1, . . . ,NEL}, where ΩK denotes the domain of element K and NEL is the total number of elements in the mesh. The finite-element mesh may be taken as a basis for introducing a displacement interpolation of the general form:
where {N1, I=1, . . . ,N} are the shape functions, {u1, I=1, . . . ,N} are the corresponding nodal displacements, and N is the number of nodes in the mesh. Owing to the linearity of the dependence of the finite-element interpolant uh on the nodal displacements, an application of Eq. 22 and Eqs. 23 to 40 gives the finite-element membrane and bending strains in the form:
for some matrices M1 and B1. The precise form of these matrices is given in Appendix A.0.3 below. Finally, the introduction of Eqs. 40, 41, and 42 into the principle of virtual work (Eq. 32) yields the equations of equilibrium for the nodal displacements:
Khuh=fh (43)
where, by a slight abuse of notation, we take uh to signify the array of nodal displacements,
is the stiffness matrix, and
is the nodal force array. It should be carefully noted that, as expected, the global stiffness and force arrays just defined follow by the assembly of low-dimensionality element stiffness and force arrays KKIJ and fki, respectively, as is standard in the finite-element method.
The computation of element arrays requires the evaluation of integrals extended to the domain of each element, cf. Eqs. 44, 45. These integrals may efficiently be evaluated by recourse to numerical quadrature without compromising the order of convergence. For instance, the application of a quadrature rule to the calculation of the element stiffness matrices leads to the expression:
where (θG1, θG2) are the quadrature points, wG are the corresponding quadrature weights, and NQ is the number of quadrature points in the rule. The element force arrays fkI may be computed likewise.
Sufficient conditions for the quadrature rule to preserve the order of convergence of the finite-element method may be found in G. Strang and G. J. Fix, An Analysis of the Finite Element Method, Prentice-Hall, Englewood Cliffs, N.J., 1973. In general, this conditions demand that certain shape function derivatives be computed exactly and, consequently, place a lower bound on the order NQ of the quadrature rule. These theoretical considerations and our numerical tests show that a one-point quadrature rule is sufficient to compute all element arrays of interest.
Subdivision Surfaces and Finite-Element Interpolation
It is clear from the preceding developments that the central problem in thin-shell finite-element analysis is the formulation of shape functions N1 which are H2 (or “C1” in the usual finite-element terminology), as this property ensures the finiteness of the energy of the trial displacement fields. In this section we develop one such interpolation scheme based on the notion of subdivision surface.
Subdivision Surfaces
We begin by reviewing the essential ideas behind subdivision surfaces using one-dimensional examples first, then moving to the two-dimensional manifold (with boundary) setting relevant to shells. Here we limit ourselves to reviewing various elementary properties of subdivision.
Throughout this discussion the term vertex will be used to refer to nodes in the mesh. For example, a vertex has associated with it a particular nodal position. A vertex has a topological neighborhood defined by the structure of the mesh. For example, its l-ring neighbors are all those vertices which share an edge with it (and recursively for its k-ring). This distinction between vertices and nodal positions is typically not needed when dealing with finite elements, but it is important to keep these distinctions in mind when dealing with smooth subdivision.
At the highest level of description we may say that subdivision schemes construct smooth surfaces through a limiting procedure of repeated refinement starting from an initial mesh. This initial mesh will also be referred to as the control mesh of the surface. Generally, subdivision schemes consist of two steps. First the mesh is refined, e.g., all faces are quadrisected, followed by the computation of new nodal positions. These positions are simple, linear functions of the nodal positions of the coarser mesh. See
Many subdivision schemes have been proposed and studied extensively in the mathematical geometric modeling literature. The methods can be separated into two groups.
Interpolating Schemes: The nodal positions of the coarser mesh are fixed, while only the nodal positions of new vertices are computed when going from a coarser to a finer mesh. Consequently, the nodal positions of the initial mesh, as well as any nodes produced during subdivision, interpolate the limit surface. Interpolating schemes exist for quadrilateral meshes and for triangular meshes. In both cases, the limit surfaces are C1 but their curvatures do not exist. Therefore, these schemes are not suitable for the special application of thin-shell analysis.
Approximating Schemes: These schemes compute both new nodal positions for the newly created vertices, as well as for the vertices inherited from the coarser mesh, i.e., those which already carried nodal positions. Consequently, the nodal positions of the initial mesh are not samples of the final surface. The schemes of Catmull-Clark (E. Catmull and J. Clark, “Recursively generated b-spline surfaces on arbitrary topological meshes,” Comput. Aided Design, 10(6):350-355, 1978) and Doo-Sabin (D. Doo and M. Sabin, “Behaviour of recursive division surfaces near extraordinary points,” Comput. Aided Design, 10(6):356-360, 1978) fall into this class and operate on quadrilateral meshes. An approximating scheme for triangular meshes introduced by Loop (C. Loop, “Smooth subdivision surfaces based on triangles,” Master's thesis, University of Utah, Department of Mathematics, 1987) is used in the present work. Loop's scheme produces limit surfaces which are globally C2 except at a number of isolated points where they are only C1. However, their principal curvatures are square integrable, making them good candidates for thin-shall analysis.
a shows a simple one-dimensional example of an approximating scheme 30.
The nodal positions of the existing vertices are recomputed as
Since throughout the subdivision process all nodal positions are recomputed as weighted averages of nearby vertices, the resulting scheme does not interpolate the nodal positions of the control mesh, but rather approximates them.
In contrast, the interpolating scheme 32 does not modify the coordinates of nodes existing at the previous refinement level:
Only the newly generated vertices receive new nodal coordinates:
Repeating this process ad infinitum leads to smooth curves. In the case of the approximating scheme 30, these curves are actually cubic splines which are C2 continuous. On the other hand, the interpolating scheme 32 is known as the 4pt scheme, and it can be shown that the resulting curves are C2-6 continuous. Since the entire subdivision process is linear, the resulting limit curves (or surfaces) are linear combinations of basis functions (sometimes referred to as “fundamental solutions” of the subdivision process). The compact support of the subdivision rules ensures that the basis functions are compactly supported as well. For the approximating scheme 30, this support extends two vertices to the left and two vertices to the right (and hence is a 2-ring), while the 4pt scheme has a support covering three vertices to each of the left and right (and hence is a 3-ring). Both schemes belong to the class of regular subdivision schemes since the weights are the same for every vertex and every level. In the two-dimensional case, we will see that the weights will depend on the valence, i.e., the number of edges attached to a vertex, but are otherwise the same from level to level. These rules are also referred to as semi-regular. Similarly one can adapt the rules to non-smooth features such as boundaries or creases, as well as other boundary conditions, using known techniques.
In the one-dimensional case, subdivision schemes do not offer an important advantage since curves of the desired smoothness are easy to construct with traditional approaches such as Hermitian interpolation. In the two-dimensional, arbitrary-topology manifold setting, by contrast, subdivision methods offer significant advantages over other methods of smooth-surface construction. In fact, their original invention was motivated by the difficulties of constructing smooth-surface models of arbitrary-topology. For example, it is well known that C2 arbitrary-topology surfaces built with traditional patches require up to sixth-order polynomials, leading to cumbersome computations and difficult-to-manage cross-patch continuity conditions. Additionally, the resulting degrees of freedom often lack physical meaning. However, in the subdivision setting, the only degrees of freedom are the nodal positions and the resulting surfaces are guaranteed to be smooth without the need to enforce cross-patch continuity conditions.
In the following sections we introduce the refinement rules used in Loop's subdivision scheme for surfaces, and, based on the concept of the subdivision matrix, briefly discuss the basic ideas behind the scheme's smoothness analysis. This discussion will serve to prepare the way for the parameterization of subdivision surfaces needed for the evaluation of positions, tangents, and curvatures. In particular, it is possible to evaluate these quantities exactly through the use of eigenanalysis without going to the limit. While we focus on Loop's scheme, the basic ideas and machinery apply equally well to other subdivision schemes. In particular, the Catmull-Clark scheme, with quadrilateral elements, is a promising alternative for finite-element computations, since quadrilateral elements generally perform relatively better for very coarse meshes.
Refinement Rules
In Loop's subdivision scheme, the control mesh and all refined meshes consist of triangles only. These are preferably refined by quadrisection (see FIG. 2). After the refinement step, the nodal positions of the refined mesh are computed as weighted averages of the nodal positions of the unrefined mesh. We distinguish two cases: new vertices associated with the edges of the coarser mesh, and old vertices of the coarse mesh.
The coordinates of the newly generated nodes x1I, x2I, x3I, . . . on the edges of the previous mesh are computed as:
whereby index I is to be understood in modulo arithmetic. The old vertices get new nodal positions according to:
x0k+1=(1−Nw)x0k+wx1k+ . . . +wxNk (52)
where xk are the nodal positions of the mesh at level k and xk+1 are the respective positions for the mesh k+1. The valence of the vertex, i.e., the number of edges incident on it, is denoted by N. Note that all newly generated vertices have valence 6 while only the vertices of the original mesh may have valence other than 6. We will refer to the former case (valence=6) as regular and to the latter case as irregular. Equations 51 and 52 are depicted in symbolic forms in
As this stage it is not obvious how to choose the parameter w for the subdivision mask 40 to get C1 continuous surfaces. In the original scheme Loop proposed
As it turns out, other values for w also give smooth surfaces. For example, Warren's (J. Warren, “Subdivision methods for geometric design,” Unpublished manuscript, Department of Computer Science, Rice University, November 1995) choice for w is simpler to evaluate than that of Equation 53:
Although the choice for the weights appears somewhat arbitrary, the motivation for this choice will be discussed in the next section. In any case, the weights used by the subdivision scheme depend only on the connectivity of the mesh and are independent of the nodal positions.
So far we have ignored the boundary of the mesh, where the subdivision rules need to be modified. Two choices are possible here. The first method considers the boundary as a one-dimensional curve and applies the rules of Eqs. 47 and 48 to any vertices on the boundary. Another method for the treatment of boundaries, which we employ in our implementation, was proposed by Schweitzer (J. E. Schweitzer, Analysis and Application of Subdivision Surfaces, Ph.D. dissertation, Department of Computer Science and Engineering, University of Washington, Seattle, 1996). For each boundary edge, one temporary or artificial vertex is defined, after which the ordinary rules are applied.
x30=x00+x20−x10 and x40=x00+x50−x60. (55)
This particular choice of temporary vertices effectively reproduces the one-dimensional subdivision rules.
This simplified boundary treatment with temporary vertices leads to approximation errors for corners and boundary vertices with valence other than 4. However, these errors do not inhibit the convergence of the finite-element method. For modeling surfaces with creases or shell intersections, the edge rules can also be applied within the mesh on appropriately tagged edges.
Convergence and Smoothness
Subdivision methods for arbitrary-topology surfaces were introduced more than 20 years ago, but not widely used in applications until the early 1990s when theoretical breakthroughs put their convergence and smoothness analysis on a solid mathematical foundation. If all vertices are regular (valence 6 for triangles or valence 4 for rectangular schemes), powerful Fourier methods can be used to establish smoothness properties. However, these techniques do not apply in the arbitrary-topology manifold setting, in which irregular vertices cannot be avoided. The critical question in this setting concerns the smoothness properties around irregular vertices. The key tool in this analysis is the local subdivision matrix and its structure. The fact that the analysis of these schemes can be reduced to the analysis of a local matrix is due to the local support of the basis functions. In other words, the behavior of the surface in a neighborhood of a node depends only on those basis functions whose support overlaps a neighborhood of the node.
For Loop's scheme, the relevant neighborhood around a vertex is a 2-ring, i.e., all vertices which can be reached by traversing no more than two edges. The subdivision matrix expresses the linear relationship between the nodal positions in a 2-ring around a given vertex at level k and the nodal positions around the same vertex in the 2-ring at level k+1. This 2-ring analysis is required to establish smoothness. Details of this approach, including necessary and sufficient conditions, can be found in the literature. Once the analytic properties have been established, quantities at a point, such as position or tangents, can be computed using an even smaller subdivision matrix which relates 1-rings at level k to those at level k+1. In the following we will discuss only this simpler setting since it is the one which is needed for actual computations.
Let Xk be the vector of nodal positions of a vertex with valence N and its 1-ring neighbors at level k, Xk=(x0k, x1k, . . . , xNk). Note that in the surface case we treat this vector as an N+1 vector of three-dimensional vectors, while in the functional setting it would be an N+1 vector of scalars. We can now express the linear relationship between the nodal positions at level k and k+1 with an (N+1)×(N+1) matrix S:
Xk+1=SXk (56)
The entries of the matrix S are given by the subdivision rules (Eqs. 52 and 51). The study of the limit surface then amounts to examining
From this it immediately follows that the limit surface cannot exist if S has an eigenvalue of modulus larger than 1. Furthermore, it can be shown that it must have a single eigenvalue 1 and all other eigenvalues must have modulus strictly smaller than 1. This property also implies that subdivision schemes are affinely invariant, i.e., an affine transformation applied to the nodal positions of the control mesh results in a limit surface having undergone the same affine transformation, which is a desirable property in practical applications. The associated right eigenvector is easily seen to be the vector of all 1's.
In the following we summarize the main results as needed for our finite-element setting. Assume that the subdivision matrix has a complete set of eigenvectors (this property holds for all schemes of practical interest, although it is not necessary for the analysis). Since the subdivision matrix S is not self-adjoint, let RI and LJ be the right and left eigenvectors of S respectively,
LJ·RI=δIJ (58)
and let λ1 be the associated eigenvalues in non-increasing magnitude order, with λ0=1. Using the eigenvalue decomposition, the nodal vector X0 can be written as
with a01=L1·X0. Choosing this basis, Eq. 57 takes the simple form:
From this representation and the facts that λ0=1 and |λ1|<1 for I=1, . . . ,N, it follows immediately that the center nodal position as well as all nodal positions in the 1-ring converge to
X∞=a00R0 (61)
Since R0 has the form R0=(1, 1, . . . , 1) all the nodal positions in the 1-ring neighborhood actually converge to a single position:
a00=L0·X0 (62)
For the original Loop subdivision scheme, L0 is given as:
In practical terms this means that we can evaluate the limit position of the surface given at any finite subdivision level by simply applying the position mask 70 shown in
indicating that the nodal positions in the 1-ring all converge to a common plane spanned by the vectors a01 and a02. While these vectors are not necessarily orthogonal, they do span a plane for almost all initial configurations. An explicit formula for two tangent vectors to the limit surface is:
t1=L1·X0 t2=L2·X0 (65)
whence the shell director follows as:
In certain settings we may have λ1≧λ2>λ3. The above equations for tangent vectors continue to hold, requiring an argument only slightly more involved than the one above. For Loop's scheme, L1,L2 are given by
L1=(0, c1, c2, . . . , cN) L2=(0, s1, s2, . . . , sN) (67)
with
Again we find that a very simple computation allows us to compute the limit surface normal given the subdivision mesh at any level k.
So far we have only discussed the evaluation of position and tangents of the limit surface at parametric locations corresponding to control vertices. For numerical evaluation of the Kirchhoff-Love energy functional we need to evaluate these quantities—and curvature quantities—at quadrature points. This is particularly simple in the case of Loop's scheme (and similarly so for Catmull-Clark's scheme) since Loop's scheme actually generalizes quartic box splines (Catmull-Clark's scheme generalizes bi-cubic splines). If the valencies of the vertices of a given triangle are all equal to 6, the resulting piece of limit surface is exactly described by a single quartic box-spline patch, for which very efficient evaluation schemes exist at arbitrary parameter locations. We call such a patch regular.
Function Evaluation for Arbitrary Parameter Values
In this section we discuss the evaluation of function values and derivatives for Loop subdivision surfaces at arbitrary parameter locations. These function evaluations arise during the computation of element stiffness and force arrays by numerical quadrature, Eq. 46. Despite early attempts, the proper parameterization of subdivision surfaces has been until recently an unsolved problem in the vicinity of irregular vertices. Stam (J. Stam, “Fast evaluation of catmull-clark subdivision surfaces at arbitrary parameter values,” in Computer Graphics (SIGGRAPH '98 Proceedings), 1998; J. Stam, “Fast evaluation of loop triangular subdivision surfaces at arbitrary parameter values,” in Computer Graphics (SIGGRAPH '98 Proceedings, CD-ROM supplement), 1998) presented an elegant solution to this problem based on the eigendecomposition of the subdivision matrix.
A conventional local parameterization of the limit surface may be obtained as follows. For each triangle in the control mesh we choose (θ1, θ2) as two of its barycentric coordinates within their natural range
T={(θ1,θ2), s, t, θa ε[0, 1]} (68)
The triangle T in the (θ1, θ2)-plane may be regarded as a master or standard element domain. It should be emphasized that this parameterization is defined locally for each element in the mesh. The entire discussion of parameterization and function evaluation may therefore be couched in local terms.
Consequently we proceed to consider a generic element in the mesh and introduce a local numbering of the nodes lying in its immediate 1-neighborhood. For regular patches such as depicted in
where now the label I refers to the local numbering of the nodes. The precise form of the shape functions NI(θ1, θ2) is given in Appendix A.0.1. The surface within the shaded triangle in
The parameterization in Equation 69 may also be used for the displacement field. Locally one then has
For function evaluation on irregular patches the mesh has to be subdivided until the parameter value of interest is interior to a regular patch. At that point the regular box-spline parameterization applies once again. It should be noted that the refinement is performed for parameter evaluation only. For simplicity we assume that irregular patches have one irregular vertex only. This restriction can always be met for arbitrary initial meshes through one step of subdivision, which has the effect of separating all irregular vertices.
The action of the subdivision operator for the entire neighborhood defined by the sub-patches 93-96 can again be described by a matrix:
X1=AX0 (71)
The matrix A now has dimension (N+12, N+6) and its entries can be derived from the subdivision rules as presented above. For the proposed shell element with one-point quadrature at the barycenter of the element, a single subdivision step is sufficient, since the sampling point lies in sub-patch 94. We define 12 selection vectors PI, I=1, . . . 12 of dimension (N+12) which extract the 12 box-spline control points for sub-patch 94 from the N+12 points of the refined mesh. The entries of PI are zeros and one depending on the indices of the initial and refined meshes. To evaluate the function values in the three triangles 93-95 with the box-spline shape functions Nj, a coordinate transformation must be performed. The relation between the coordinates (θ1, θ2) of the original triangles and the coordinates ({tilde over (θ)}1, {tilde over (θ)}2) of the refined triangles can be established from the refinement pattern shown in FIG. 10. For the center of sub-patch 94 we have the following relation:
{tilde over (θ)}1=1−2θ1 {tilde over (θ)}2=1−2θ2 (72)
The function values and derivatives for sub-patch 94 can now be evaluated using the interpolation rule:
Differentiation of the above equation yields the partial derivatives of x at the desired location. In these calculations, the jacobian matrix of the simple mapping (Eq. 73) between the coordinates (θ1, θ2) and ({tilde over (θ)}1, {tilde over (θ)}2) has to be included. The result is:
The jacobian of the embedding required in the quadrature rule (Eq. 46) can in turn be computed directly from aa through Eq. 8. Second-order derivatives such as required for the computation of bending strains follow simply by direct differentiation of the interpolation rule (Eq. 74).
The evaluation procedure just described is a simplified version of the scheme presented by Stam, cited above, for function evaluation at arbitrary parameter values. Since we are only interested in a one-point quadrature rule, a single subdivision step is sufficient. For other rules one may need to subdivided further. Stam describes the general case in which the eigendecomposition of A is exploited to perform the implied subdivision steps through suitable powers of A in the eigenbasis, a simple and efficient procedure.
Boundary Conditions
Due to the local support of the subdivision scheme, the boundary displacements are influenced only by the nodal positions in the 1-neighborhood of the boundary, i.e., the first layer of vertices inside the domain as well as a collection of artificial or “ghost” vertices just outside the domain. For example, for built-in boundary conditions the displacements of the nodes inside, outside, and on the boundary must be zero. The deformation of the boundary computed with the limit formula as described above shows that this results in zero displacements and in fixed tangents. Other boundary conditions can be accommodated in a similar way.
The enforcement of prescribed boundary displacements is equally straightforward. General displacement boundary conditions may be formulated with the aid of a local reference frame defined by the surface normal and the tangent to the boundary of the shell.
The prescribed displacement boundary conditions may be regarded as linear constraints on the displacement field and treated accordingly during the solution process. Such linear constraints may be enforced by a variety of known methods. In all the calculations discussed in the examples presented here, the displacement boundary conditions are enforced by the penalty method, with a penalty stiffness equal to 100 times the maximum diagonal component of the stiffness matrix.
Computer Implementation of Subdivision-Based Shell Elements
The current implementation of subdivision-based shell elements in accordance with the invention requires a few data structures in addition to those typical of conventional finite element methods. For example, tables of element adjacencies are used for the computation of element arrays. In our particular implementation, we use a Triangle C-structure which stores the following information for each element of the mesh:
The preferred method for performing finite element analysis using subdivision basis functions can be summarized functionally as follows, referring to FIG. 12:
This procedure can be implemented by programming the relevant equations set forth above in light of known techniques for finite element analysis. In more detail, referring to
The elements under consideration here have three nodes and three displacement degrees of freedom per node. In a preferably embodiment, we use one-point quadrature with the sole quadrature point in the rule located at the barycenter of the element, i.e., at θG1=⅓ and θG2=⅓. The corresponding weight is w=½, which, evidently, is the area of the standard triangle T.
In sum, the preceding developments lead to the definition of a class of fully conforming “CJ” triangular elements containing three nodes and one quadrature point. This combination of attributes, namely, the low order of interpolation and quadrature required, render the element particularly attractive from the standpoint of computational efficiency. As mentioned earlier, subdivision surfaces may also be used to define four-node square shell elements. The finite element analysis preferably uses subdivision basis functions as shape functions, but may in general use any suitably smooth shape function.
The invention may be implemented in hardware or software, or a combination of both (e.g., programmable logic arrays). Unless otherwise specified, the algorithms included as part of the invention are not inherently related to any particular computer or other apparatus. In particular, various general purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct more specialized apparatus to perform the required method steps. However, preferably, the invention is implemented in one or more computer programs executing on programmable systems each comprising at least one processor, at least one data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. The program code is executed on the processors to perform the functions described herein.
Each such program may be implemented in any desired computer language (including machine, assembly, or high level procedural, logical, or object oriented programming languages) to communicate with a computer system. In any case, the language may be a compiled or interpreted language.
Each such computer program is preferably stored on a storage media or device (e.g., solid state, magnetic, or optical media) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. The inventive system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
We proceed to establish the convergence characteristics of the inventive method by running the obstacle course of test cases proposed by Belytschko et al. (T. Belytschko, H. Stolarski, W. K. Liu, N. Carpenter, and J. S. J. Ong, “Stress projection for membrane and shear locking in shell finite-elements,” Comput. Methods Appl. Mech. Engrg., 51:221-258, 1985). The shells in these tests cases take simple spherical or cylindrical shapes which can be readily described analytically. A preliminary step in the calculations is to approximate the exact surface of the shell by a subdivision surface in accordance with the invention. Several methods of approximation are possible, including (1) least-squares approximation of the exact surface by the limit surface, and (2) placement of the control-mesh nodes on the exact surface.
However, theoretical consideration and our own numerical tests show that the error incurred in the approximation of the shell geometry is of higher order than the finite-element error, and consequently both methods of approximation result in the same convergence rates asymptotically. It should also be noted that the question of geometrical approximation is rendered moot within an integrated computer-aided geometrical design (CAGD)—finite-element analysis framework. In this environment, the subdivision surface generated by the CAGD module becomes the true shell surface to be analyzed by the finite-element analysis module.
We note for further reference that a strictly C1 finite-element method for Kirchhoff-Love shell theory containing the complete set of third-order polynomials within its interpolation satisfies the error bound:
where u is the exact solution, uh is the finite-element solution, C is a constant, N is the number of nodes in the mesh, ∥ ∥2,Ω is the standard norm over H2(Ω; R3), or “energy norm,” and | |3,Ω is the standard semi-norm over H3(Ω; R3).
The central question to be ascertained now is whether the method developed in the foregoing exhibits the optimal convergence rate implied by the bound (Eq. 75). All the calculations described subsequently are carried out with one-point quadrature. The successive mesh refinements considered in convergence studies are obtained by regular refinement.
We additionally compare the performance of the proposed approach with that of two other shell elements:
ASM: The assumed-strain four-node shell element of Simo et al. (J. C. Simo, D. D. Fox, and M. S. Rifai, “On a stress resultant geometrically exact shell model. part ii: The linear theory; computational aspects,” Comput. Methods Appl. Mech. Engrg., 73:53-92, 1989).
DKT-CST: A flat 3-node element with no membrane/bending coupling. In this element the discrete Kirchhoff triangle (DKT) formulation of Batoz (J. L. Batoz, “An explicit formulation for an efficient triangular plate-bending element”, Internat. J. Numer. Methods Engrg., 18:1077-1089, 1982) is utilized for the bending response, and standard constant strain interpolation is used for the membrane response. The resulting element has six degrees of freedom per node.
Rectangular Plate
As a first example, we consider the simple case of a square plate under uniform loading p=1.
a and 15b respectively show the computed limit surfaces of the simply-supported plate 150 and the clamped plate 152 following deformation (deflections are scaled differently in both cases). The high degree of smoothness of these deflected shapes is noteworthy. An appealing feature of the problem under consideration is that it is amenable to an exact analytical solution. For instance, the maximum displacement at the center of the plate is found to be: umax≈0.487 for the simply-supported plate 150, and umax≈0.151 for the clamped plate 152. It therefore follows that the solution error can be computed exactly for this problem.
Scordelis-Lo Roof
The Scordelis-Lo Roof is a membrane-stress dominated problem and, as such, it provides a useful test of the ability of the finite-element element method to represent complex states of membrane strain. The problem concerns an open cylindrical shell loaded by gravity forces.
a and 18b respectively show the undeformed control mesh 180 and the deformed limit surface 182.
Pinched Cylinder
The pinched-cylinder problem tests the inventive method's ability to deal with inextensional bending modes and complex membrane states. The problem concerns a cylindrical shell pinched under the action of two diametrically opposite unit loads located within the middle section of the shell. We consider two cases: free-end boundary conditions; and ends constrained by two rigid diaphragms.
A control-mesh node is placed at the point of application of the loads. It is interesting to note, however, that, owing to the nonlocal character of the shape functions, the point load is spread over several nodes. This is in contrast to other methods, e.g., those based on Hermitian interpolation. It should be carefully noted that the shape functions developed here possess the requisite partition-of-unity property and, in consequence, the resultant of all nodal forces exactly matches the applied load.
b shows a typical control mesh 202 for the cylinder of
Hemispherical Shell
The case of a spherical shell provides an example of a surface which cannot be triangulated without the inclusion of irregular nodes, or nodes of valence different from 6. Under these conditions, a naive implementation of a box-spline-based finite-element method necessarily breaks down, which illustrates the need for the more general treatment developed here. We consider a shell of hemispherical shape deforming under the action of four point loads acting on its edge.
b and 22c respectively show a typical control mesh 222 and the corresponding deformed limit surface 224. The presence of irregular nodes in the control mesh 222 should be carefully noted.
We have presented a new paradigm for thin-shell finite-element analysis based on the use of subdivision surfaces for (1) describing the geometry of the shell in its undeformed configuration, and (2) generating smooth interpolated displacement fields possessing bounded energy within the strict framework of the Kirchhoff-Love theory of thin shells. Several salient attributes of the inventive interpolation scheme bear emphasis:
In sum, subdivision surfaces enable the finite-element analysis of thin shells within the strict confines of Kirchhoff-Love theory while meeting all the convergence requirements of the displacement finite-element method. In particular the ability to couch the analysis within the framework of Kirchhoff-Love theory entirely sidesteps the difficulties associated with the use of C0 methods in the limit of very thin shells. In a particularly pleasing way, subdivision surfaces enable the return to the most basic-and fundamental-of finite element approaches, namely, constrained energy minimization over a suitable subspace of interpolated displacement fields, or Rayleigh-Ritz approximation. Finite-element methods formulated in accordance with this prescription satisfy the orthogonality property, i.e., the error function is orthogonal to the space of finite-element interpolants; and possess the best-approximation property, i.e., the energy norm of the error is minimized by the finite-element solution. These properties render the basic finite-element method exceedingly robust and account for much of its success. Our numerical experiments show that the approach proposed here does indeed lead to the optimal convergence rate predicted by finite-element theory.
Another key advantage afforded by the approach developed here is that subdivision surfaces provide a common representation paradigm for both solid modeling and shell analysis, with the attendant unification of traditionally heterogeneous software tools. By virtue of this unification, surface geometries generated by a computer-aided geometry design (CAGD) module can be directly utilized by the shell-analysis module without the need for any intervening geometrical manipulation. As a consequence, high-level algorithms developed in the field of computer aided geometric design can be integrated simply into the shell analysis software.
A number of possible extensions of the theory and applications of the theory are worth mentioning. Firstly, recursive subdivision provides an effective basis for mesh adaptation. By retaining the hierarchy of finite-element representations generated by subdivision, the application of multiresolution methods and related techniques, such as wavelets, becomes straightforward. Indeed, the application of wavelet methods to the description of complex and intricate geometries has already been extensively pursued within the field of computer graphics. Finally, the extension of the proposed approach to the nonlinear range appears straightforward. In this particular context, the sole use of nodal displacements in the interpolation is expected to simplify the solution procedure by eliminating the need for introducing complex schemes for the nonsingular parameterization of the shell director.
A number of embodiments of the present invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, while the discussion above has focused applied forces as the loading condition, the loading conditions may include thermal loading. Accordingly, other embodiments are within the scope of the following claims.
Appendix
A.0.1 Regular Patches
For regular patches the shape functions are given by the 12 box-spline basis functions. The local numbering of the nodes adopted here is as in FIG. 8.
where the barycentric coordinates (u, v, w) are subject to the constraint:
u+v+w=1 (77)
The local curvilinear coordinates (θ1, θ2) for the element may be identified with the barycentric coordinates (v, w).
A.0.2 Irregular Patches
As discussed above, a closed-form representation for the shape functions is not available at irregular vertices. The shell surface within each element is, however, completely described by the nodal positions of the element and its 1-ring. For the one-point quadrature rule used in calculations, the regular patch configuration is recovered after the application of one single subdivision step. In the following we give a more general version of the function evaluation scheme for arbitrary parameter values. The number of subdivision steps required and the attendant coordinate transformations can be computed by the following algorithm due to Stam (J. Stam, “Fast evaluation of loop triangular subdivision surfaces at arbitrary parameter values,” in Computer Graphics (SIGGRAPH '98 Proceedings, CD-ROM supplement), 1998):
The function value at any parameter value is given by:
which generalizes Eq. 73. Here again, the vectors P1 extract the control nodes of the box-spline patch. The variable whpa in the above code gives the number of the subpatch, which contains the coordinates (v, w), and the variable k the power of the matrix A. For Loop's scheme, the subdivision matrix A has the following form:
It should be noted that the dimensions of the matrices S11 and S21 depend on the valence of the irregular vertex.
A.0.3 Membrane and Bending Strain Matrices
The membrane and bending-strain matrices take the form:
respectively. In the above expression, (e1,e2,e3) are the basis vectors of an orthonormal-coordinate reference frame, and
This application claims priority under 35 USC §119(e) to U.S. patent application Ser. No. 60/151,618, filed Aug. 31, 1999, the entire text of which is hereby incorporated by reference.
The U.S. Government may have certain rights in this invention pursuant to Grant Nos. ACI-9624957, ACI-9721349, ASC-8920219 awarded by the National Science Foundation; Grant No. DMS-9875042 awarded to Caltech's OPAAL Project by DARPA and NSF.
Number | Name | Date | Kind |
---|---|---|---|
5581489 | Groothuis et al. | Dec 1996 | A |
5602979 | Loop | Feb 1997 | A |
6037949 | DeRose et al. | Mar 2000 | A |
6356263 | Migdal et al. | Mar 2002 | B2 |
Number | Date | Country | |
---|---|---|---|
60151618 | Aug 1999 | US |