Tensorbased matrices in geometrically nonlinear FEM

Author
vvchekhov 
Category
Documents

view
226 
download
1
Embed Size (px)
Transcript of Tensorbased matrices in geometrically nonlinear FEM

INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERINGInt. J. Numer. Meth. Engng 2005; 63:20862101Published online 3 May 2005 in Wiley InterScience (www.interscience.wiley.com). DOI: 10.1002/nme.1343
Tensorbased matrices in geometrically nonlinear FEM
V. V. Chekhov,
Yalta Management University, 8, vul. Rudanskogo, Yalta, 98600 Crimea, Ukraine
SUMMARY
In the framework of the objectoriented paradigm, advantages of using the indexfree tensor notationin combination with the concept of generalized tensorbased matrix are considered as being the mostcorresponding to the paradigm. The advantages reveal itself in the disappearance of a semantic gapbetween various stages of creation of FEM applications (theoretical inferences, use of the numericalmethods, objectoriented software implementation) and, as a result, use of the unied object modelin all the stages, as well as simplication of theoretical transformations. Based on the consideredapproach, a new FEM equation for large strain analysis is developed and its solution technique isoutlined. Copyright 2005 John Wiley & Sons, Ltd.
KEY WORDS: FEM equation; large strain; objectoriented approach; tensorbased approach
INTRODUCTION
The objectoriented (OO) approach [1], intended for investigation, modelling and developmentof complex systems, has found numerous realizations in the theory and practice of the niteelement method (FEM) at present time. In particular, the use of OO approach proves to be ratherefcient in the eld of structural analysis for the geometrically nonlinear computations [29],when complexity of the FEM concept is intensied by the complexity of nonlinear mechanicalformulations. A semantic gap between tensor form (natural for nonlinear solid mechanics) andthe matrix one (conventional for FEM and convenient for manipulation by standard techniquesof matrix algebra) represents rather vexed problem (in comparison with linear analysis). Inthe majority of publications (where the subject is obviously mentioned) this gap is overcomeby introducing a transformation between the tensor and matrix forms. Such transformationcan be made in deducing of equations (then only matrix objects are available in the objectmodel and tensors are presented implicitly by their components, e.g. in Reference [4]), or inthe program implementation when the object model contains both matrix and tensor layouts,e.g. in Reference [8]. Both methods need major intellectual and/or computational effort since,
Correspondence to: V. V. Chekhov, 1411, vul. Shpolyanskoy, Simferopol 95034, Ukraine.Email: [email protected]
Received 23 May 2004Revised 26 September 2004
Copyright 2005 John Wiley & Sons, Ltd. Accepted 31 December 2004

TENSORBASED MATRICES IN GEOMETRICALLY NONLINEAR FEM 2087
actually, they do not remove the gap. In Reference [5] tensor and matrix classes are declared(by means of inheritance) as kinds of the concept of a multidimensional array; as a result, thegap is removed. The presented paper is also devoted to elimination of the abovementioned gapby introducing for tensors a uniform representation to be used both for theoretical developmentand for practical implementation. An approach similar to the one used in References [10, 11] isapplied. In particular, its advantages, expressing in simplication of deducing new theoreticalresults for nonlinear FEM, are demonstrated in this work.
INVARIANT TENSOR OBJECTS
Though, practically each research devoted to the OO FEM implementation introduces its ownobject model distinguished from other models developed by other authors (since the choiceof what components in a system are primitive is relatively arbitrary and is largely up to thediscretion of the observer of the system [1]), nevertheless it is possible to pick out a numberof the standard objects that belong to the problem domain (nite elements, nodes, matrices,etc.), which are present practically in all its OO implementations. In particular, ones that belongto the most important objects for geometrically nonlinear consideration are tensors.
Besides matrix form which is especially popular and present practically everywhere in FEMapplications, there are two more forms for representation of tensors in the stateofthearttensor calculus [12]. Component form, which looks like a value having indices, is used, e.g.in References [46]; moreover, in the latter two this form is the base of the overall objectmodel. In the indexfree form, which is developed later than others, tensor has no free indicesand, nominally, it is a contraction of its components with corresponding vectors of a basis (e.g.A=Asteset ). This fact allows us to write down mechanical relations in highly compact andindependent from basis form [13, 14], then indices do not occult physical essence of laws.Such form is used in References [79] (alongside with matrix one) as a part of the objectmodel for nonlinear FEM.
For comparison of the abovementioned forms from the OO point of view, it is necessaryto note that, conceptually, tensor is an invariant object in the space, which does not dependon selection of a coordinate frame and basis. Though, this is valid in all formulations, forthe component form, only a part of a tensor (components in some concrete basis), which isnot invariant, is formally used as the tensor. At the same time we have to keep inwardly theinvariance of the tensor, and the responsibility for its correct treatment is up to the user. The OOapproach must unload the person and shift the responsibility for implementation of an object tothe object. From this viewpoint, the matrix form is more convenient. However, in the theory, itis used as auxiliary one and does not quite meet the tensor paradigm: tensor is not a matrix yetsince it contains innitely many matrices (co and contravariant components for all possiblecoordinate frames). A matrix or a multidimensional array may be internal implementation ofa tensor (the tensor may be asked for it) but it must not represent the interface of the tensor.The mentioned drawbacks are absent in the indexfree form where all indices and basis vectorsare hidden within the object and, actually, are details of its internal implementation. This justcorresponds to the OO paradigm. Due to extension of mathematical functions, the differentialand integral operator [12] handling of tensor objects becomes as evident as that with scalarreal quantities. Such objects are used as the unied representation of tensors and as the basefor the object model in References [10, 11]. Although these papers are not devoted solely to
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

2088 V. V. CHEKHOV
the nonlinear FEM, they justly assert that benets of the used approach can also be utilizedfor nonlinear problems. In this manner, the presented work can be considered as an extensionof this approach to the area of geometrical nonlinearity.
Nonlinear theory of elasticity in indexfree form is very compactly stated in Reference [14].The present paper in notations bases substantially in this source together with References [13, 15].For example, such tensors as position vector, Hamiltons nabla operator (rstrank tensors),identity (metric) tensor (secondrank tensor) look like
r= r(qs), = es qs
, 1= st eset = eses = eses
where qs are coordinates, es = rqs are vectors of a current basis, es are vectors of the reciprocalone. First and second order tensors are denoted by bold face, higher order tensorsby boldface with explicitly indicated order at left superscript. Scalar product, double scalar product,etc. are denoted by appropriate number of dots. Direct product is denoted by no characters.For example, double dot product for secondorder tensors has the next behaviour
p q=q p=pT qT =qT pT (1)
Extraction of a scalar from a tensor is a standard technique to achieve commutativity in longformulae
a= 1 a= eses a= es(es a) (2)
Based on the denition of derivation of tensors with respect to a tensor argument [12, 14],rules for derivation of composite functions with respect to a rstorder tensor can be written as
(p)a = pa + pa(p q)a = (pa es) qes + p qa(p q)a = (pa es) qes + p qa(p1)a = p1 (pa es) p1es
(3)
Indexfree form of mechanical formulationsWhile considering geometrical nonlinearity, it is necessary to distinguish an initial congurationof a body and the current conguration. Therefore all quantities relating to the former aredenoted with zero above. Tensors of the second and higher orders whose different indicescorrespond to different congurations (socalled double tensors [15]), are denoted by sequencesof 0 and t . These sequences indicate which conguration respective index refers to (0initial,tdeformed). Quantities relating to the local frame of a nite element are denoted with above. Below the required values and formulations of the theory of elasticity are given in theindexfree form.
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

TENSORBASED MATRICES IN GEOMETRICALLY NONLINEAR FEM 2089
Deformed state of a continuum is determined by the displacement vector u= r 0r and thetensor
0r= 0eses = 1 +0u. Polar decomposition of the deformation gradient
0r= 0 0tO= 0tO (4)
denes an orthogonal tensor0tO specifying rotation of a material particle, and tensors
0=
0r ( 0r)T and = 0tOT 0 0tOleft (Lagranges) and right (Eulers) stretch tensors, respec
tively.Strain measures: the linear strain tensor
0= 12 (
0u + ( 0u)T)= 12 (0r + ( 0r)T) 1 (5)
the Green (Lagrange) strain tensor0E= 0 + 12
0u ( 0u)T = 12 (0r ( 0r)T 1)= 12 (
02 1) (6)
the Green strain tensor increment after cutting terms of higher order of smallness [16]
0E= 12 (
0u (1 + 0u)T + (1 + 0u) ( 0u)T) (7)the Finger [14] (CauchyEuler [15]) strain measure
b= ( 0r)T 0r=2 (8)From conjugated (by Hill) energetic pairs composing elementary work = (in
Reference [15] existence of 11 such pairs is described, in Reference [12] the approach isspecied with introducing quasienergetic pairs) let us consider three pairs: a pair
= 0tP (0r)T (9)
consisting of the deformation gradient and the Piola stress tensor
0tP = J (
0r)1T T (10)
where J = dv/d0v is the cubic invariant of the deformation gradient, T is the Cauchy stresstensor; a pair
= 0T 0E (11)consisting of the second PiolaKirchhoff stress tensor
0T= J (
0r)1T T ( 0r)1 (12)
Tensor (0r)T is known as the deformation gradient.
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

2090 V. V. CHEKHOV
and the Green strain tensor (6); and, for geometrically linear case, the pair consisting of theCauchy stress tensor and the linear strain one (5)
=T 0=T 0u=T 0r (13)Constitutive equations: the Hooks law
T= 4C 0 (14)where 4C is elasticity tensor of the material (which formally would be more correctly designatedby
t t004C since contracted indices must belong to the same conguration); an analog of the Hooks
law for increments (7), (12)
0T= 4 0C 0E (15)
the Finger constitutive equation for isotropic elastic body [14]T= 2J1(01 + 1b + 2b2) (16)
where 0, 1 and 2 are functions of invariants of b which are specied by used model ofmaterial.
The variational principle of stationarity of potential energy for a deformed elastic body underdead loading [14] (total Lagrangian formulation is chosen)
0v
d0v
0v
0k r d0v
f0
0f r d0= 0 (17)
where k and0f are, respectively, vectors of external body forces and dead external surface
forces given on a part of surface denoted as f0. Linearization of this principle for the total
Lagrangian formulation [16] looks like
0v
(0T (
0u (1 + 0u)T) + 0T (0u ( 0u)T)) d0v
0v
0k u d0v
f0
0f
u d0 +[
0v
0T ((
0u) (1 + 0u)T) d0v
0v
0k u d0v
f0
0f u d0
]= 0
(18)
Generalized matrices and FEM approximation
As it was said in Reference [17], in FEM matrix notation is a modication of direct tensornotation in which everything is placed in matrix form, with some trickery used if need be.It is to say that for carrying out complicated symbolic transformations the matrix form doesnot possesses the userfriendly interface and from the OO point of view this looks like the
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

TENSORBASED MATRICES IN GEOMETRICALLY NONLINEAR FEM 2091
interaction with the object via one of its possible implementations and ignoring its interface.Possibly, before appearance of OOP, this form was optimum for FEM software implementation(since it closely connected with the concept of a numerical array, which is sufciently closeto interior organization of computers, whereas other abstractions, which are not related to thisdomain, were unimplementable at that time); however now it does not meet the current stateof software tools.
The use of more general concept of the matrix allows avoiding inconsistency between matrixform of FEM and tensor form of mechanical formulations. Such matrices should allow usingnot only numbers but also tensors as their components and selfcontained objects. Possibilityof using such matrices was asserted as early as in Reference [10], however rather few researchers are still developing this approach. For example, the subject was slightly mentioned inReference [5], the tensorbased stiffness matrices for some nite element (FE) types was formulated in Reference [11]. In the presented work, the use of tensorbased matrices is appliedto a structure as a whole having abstracted from the FE types used. With the tensorbasedmatrices being used there is no mixing of interfaces of tensors and matrices that are objects ofdifferent nature. Therefore, although in References [5, 11] all indices are reduced to tensorialones, it is most convenient for matrix and tensor indices to explicitly use the different spaceshaving inherent properties (e.g. in matrices indices are not subdivided into subscripts and superscripts, as well as it is not accepted to omit a summation sign). To distinguish these spacesthe matrix indices (node and FE numbers) will be enclosed in square brackets. On writingFEM approximation in the tensorbased form, basis functions become secondorder tensors.In this case approximation of an unknown vector of position of the deformed congurationlooks like
r(0r)=
i
(
V[i](0r)
)R[i] (19)
Here tensor V[i] is basis function (shape function) pertaining to the th FE and the ith gridnode (which is supposed to be identically equal to zero when the ith node does not belong tothe th FE), R[i] is radiusvector of the ith node, outer summation comprises all nodal pointsof the structure, inner oneall FEs. By analogy with the matrix form of FEM, the shapefunction can be determined in more detail as a spherical tensor:
V[i](0r)=N[i](
qj )1 (20)
where N[i] is a scalar shape function depending on local coordinates of the elementqj
. Theapproximation (19) covers all FE types having translational degrees of freedom.
Similar approximation is if displacement vector is chosen as unknown function
u=i
(V[i]
)U[i] (21)
where U[i] =0R[i] R[i] are nodal displacements. Based on (19) virtual displacement equals
r= u=i
(
V[i])
R[i] (22)
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

2092 V. V. CHEKHOV
TENSORBASED MATRIX FORM OF FEM EQUATIONS
The above formulations allow building FEM equations in the ordinary way. For example, inlinearelastic case based on (17), (22), (14), (1), and symmetric property of the tensor 4C inthe last pair of indices, the system of equations looks like
j
0v[]
(0V[i] 0es) 4C[]
0V[j ] 0et d0v 0es 0et U[j ] = f[i]
where i runs over numbers of all nodes of the structure, and
f[i] =
(0v[]
0k V[i] d0v +
f0[]
0f V[i] d0
)(23)
reects physical meaning of total vector of external load acting at ith node. In matrix notationthis is
[K] {U}= {f}Here, the dot product operator refers to components of matrices and vectors, while matricesand vectors by itself obey the rules of common matrix multiplication. Stiffness matrix ofthe structure is given by assembling of appropriate element matrices [K]=
[K[]], and its
components are secondorder tensors:
K[ij ] =
0v[]
(0V[i] 0es) 4C[] (
0V[j ] 0et ) d0v 0es 0et =Kst[ij ]0es
0et (24)
and components of column vectors of the righthand side and the unknown are rstordertensors, respectively, f[i] (23) and U[j ].
Similarly, for a geometrically nonlinear analysis, use of the total Lagrangian on basis ofthe linearized variational principle (18) taking into account (22), (21), (15), and the symmetryof
0T and of the tensor 4
0C in the last pair of indices, results in a system of equations
([01K] + [2K]) {U}= {f} + {} (25)where [2K] is the matrix of inuence of initial stress
2K[ij ] =
0v[]
0T ((
0V[j ] 0et ) (0V[i] 0es)T) d0v 0es 0et
and the matrix [01K]
01K[ij ] =
0v[]
((0V[i] 0es) (1 +
0u)T) 4 0C [] ((0V[j ] 0et ) (1 +
0u)T) d0v 0es 0et
is usually represented as the sum of the incremental stiffness matrix and the matrix of inuenceof initial strains.
After assembly of the system of equations it is possible already to specify the basis and toconsider tensors in matrices as submatrices (having eliminated basic vectors from both parts of
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

TENSORBASED MATRICES IN GEOMETRICALLY NONLINEAR FEM 2093
the system). Thus the system can be considered as an ordinary matrix equation accessible forstandard methods of matrix algebra. In contrast to the purely matrix approach this one requiresno induced transformations of tensors to form extrinsic for them (such as column vector forstress tensor or rectangular matrix for nabla operator) and does not depend on kind of selectedcoordinate frame.
In addition, commutativity of the double dot product for secondorder tensors (1) allowsus to move elasticity tensor to the left border of the integrand in calculation of the stiffnessmatrix. Thus in many cases (when used material is isotropic or axes of anisotropy are uniformthroughout the FE) elasticity tensor can be moved beyond the integral sign. Thanks to that,numerical integration expenses should be reduced considerably, and software efciency shouldbe improved. In the case of purely matrix notation of FEM ([K]= [B]T[D][B] dv) suchcommutativity is absent.
Conversion to local coordinates
Operation of integration throughout each FE is performed generally with change of variables andconversion to its local coordinates. It is easy to write down this conversion in tensorbased form
by means of relation0= 0r = ( 0r)1 (its prototypes can be found in Reference [14]).
For example, an expression for the stiffness matrix of linearelastic analysis (24) with alsotaking into account sphericity of shape functions (20) take the form which can be expressedby one of two ways
K[ij ] =
0v[]
234C[] (
0r N[j ]0r N[i]) d0v
=
0v[]
4C[]11
32(0r N[i]
0r N[j ]) d0v (26)
where 234C is an isomer of the tensor 4C being derived by swap the second and the third indices,and operator 1
1
32represents double dot product with explicitly specied numbers of contracted
indices (being counted in both directions from the operator, in this case usual operator look like 1
1
22). Introducing of such operator is more advantageous then use of the isomer from
viewpoint of software implementation efciency.
DEDUCTION OF NEW EQUATIONS USING TENSORBASED MATRICES
The basic purpose and the mechanism of application of the OO approach is to distributecomplexity of the system among levels of abstraction. Achievement of this goal is known toresult in lightening of programming as well as analysis, modelling and design of systems. Inapplication to FEM formulations it is expressed in simplication of handling with them. As aresult, nding of new theoretical results requires considerably smaller efforts since it allows todistract from redundant details.
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

2094 V. V. CHEKHOV
An example: deduction of FEM equations for large strainsAs an example let us consider analysis with taking into account large strains. Incrementalequations such as (25) in the general case does not t for large strains. This is because of bothlinearization of increments and approximateness of the law (15): when rotations are consideredas innitesimals of order 1, strains are innitesimals of order 2, hence the deformation gradient
according to (4) can be approximately regarded as the rotation tensor [15]: 0r 0tO. In this casethe second PiolaKirchhoff tensor (12) turns out to be the actual stress tensor turned to theaxes of the initial conguration:
0T 0tO T 0tOT. This justies the use of (15). In Reference [15]
the admissible domain is referred to as small strains under moderate rotations. Even thougha signicant part of engineering problems allows such linearization, there are problems wherethis approach is practically unusable (e.g. determination of state of a thickwalled hollow bodywhich has been turned inside out). In this case it is rational to try to consider general nonlinearformulations describing a nal state of the loaded body.
Similarly to the linearelastic case, substitution of the FEM approximation (22) to the expression of the variational principle (17) with taking into account the elementary work (9) aswell as the identity (1) gives a system of equilibrium equations:
0v[]
0tPT
0V[i] d0v = f[i]
where f[i] are the load vectors (23). It is fairly easy to derive the system of FEM algebraicequations if to be limited to consideration of isotropic materials. In this case the sought systemis obtained as a result of consecutive substitution expressions (10), (16), and (19)
2
0v[]
(0(
m
0V[m] R[m])1 + 1
j
(0V[j ] R[j ])T
+ 2l
k
j
(0V[l] R[l])T (
0V[k] R[k]) (0V[j ] R[j ])T
) 0V[i] d0v = f[i]
or in the matrix notation:
{F({R})}= {0} (27)where {F} is nonlinear vectorfunction of vector of unknowns {R} being a sum of 4 terms
{F({R})}= {K({R})} + [L] {R} + (([4][4M] {R}) {R}) {R} {f}The terms are: {K} is a nonlinear member being columnvector of rstorder tensors
K[i] = 2
0v[]
0(
m
0V[m] R[m])1 0V[i] d0v
[L] is a matrix of secondorder tensors
L[ij ] = 2
0v[]
1(0V[j ] 0es)T
0V[i]0es d0v
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

TENSORBASED MATRICES IN GEOMETRICALLY NONLINEAR FEM 2095
[4][4M] is a fourdimensional matrix (array) of fourthorder tensors
4M[ijkl] = 2
0v[]
2((0V[l] 0es)T (
0V[k] 0et ) (0V[j ] 0ep)T)
0V[i]0ep0et 0es d0v
{f} is the external load vector (23).
Solution technique
If the built system (27) is solved based on the NewtonRaphsons method
{R}(k+1) ={R}(k) [FR({R}(k))]1 {F({R}(k))} (28)
then we should know the matrixderivative [FR] or approximate it by nite differences. The lattersignicantly raises computational costs for problems having large size. In the case in questionthe function {F} can be differentiated explicitly, by use of the apparatus of tensor argumentdifferentiation [12]. Use of the formulae (3) after carrying out necessary transformations yields
[FR]= [1D] + [2D] + [3D]where
1D[in] = K[i]R[n] = 2
0v[]
0R[n]
(m
0V[m] R[m])1 0V[i] d0v
2
0v[]
0
((m
0V[m] R[m])1 ( 0V[n] 0es)
(
m
0V[m] R[m])1) 0V[i]0es d0v
2D[in] = R[n] ([L][] {R})[i] = 2
0v[]
1R[n](0V[n] R[n])T
0V[i] d0v
+ 2
0v[]
1(0V[n] 0es)T
0V[i]0es d0v
3D[in] = R[n] ((([4][4M][] {R}) {R}) {R})[i]
= 2
0v[]
2R[n]((0V[l] R[l])T
( 0V[k] R[k]) (0V[j ] R[j ])T)
0V[i] d0vCopyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

2096 V. V. CHEKHOV
+ 2
0v[]
2((0V[n] 0es)T (
0V[n] R[n]) (0V[n] R[n])T
+ ( 0V[n] R[n])T (0V[n] 0es) (
0V[n] R[n])T
+ ( 0V[n] R[n])T (0V[n] R[n]) (
0V[n] 0es)T) 0V[i]0es d0v
It is possible to see, that with the NewtonRaphsons method being used it is the mostconvenient to forgo the conversion to the componentwise representation of tensors and toregard all matrices as tensorbased ones as before. Otherwise it would be fairly problematicalto obtain a result, since the compact formulae (3) would be inapplicable.
The FEM equation (27) has been obtained with considering only effect of dead externalloads. However, this equation enables to easily take into account some kinds of a followerload. For example, the variational principle (17) allows to add the term [14], which takes intoaccount the acting of constant pressure. Equation (27) can be updated in order to consider thisclass of a load.
ON PROGRAM IMPLEMENTATION
Program implementation of the indexfree tensors and the relations based on them is in essencesubdivided into two casessymbolic and numerical computations. Although combination ofthese techniques has certain advantages (in particular, availability for an user to determine hisown computational methods [18, 19]), in terms of increase in computational efciency it isbetter to realize them separately, since their requirements are opposite each other.
Symbolic computations
Tensorbased mechanical symbolic computations with using standard facilities available in computer algebra systems (e.g. References [20, 21]) at present restricts us to the component or matrixrepresentation of tensors. To have an opportunity to manipulate tensors in indexfree form, it isnecessary to combine collections of components and basis vectors into a single data structure.And program implementation of tensor formulae should take into account organization of thisstructure, i.e. as a matter of fact, it is necessary to create a class containing necessary eldsand methods. It is possible to do this, for example, with using last versions of Maple (bymeans of the builtin concept of the module [22]), or Prolog or Lisplike languages thateasily enable to implement symbolic computations with using arbitrary concepts.
Program implementation of symbolic computations has the following features: (i) Dimension of problems is not large, requirement of computation speed is not critical; (ii) Formulaebeing handled are previously unknown, and objects can essentially vary during computation(in particular, tensors can change their basis and order). On this basis, high degree of polymorphism is required for implementation, and the tensor class should contain all informationabout indexfree representation (components, a basis, covariance property). For embodying this,structure of the class shown on the Figure 1 may be offered. Here size of arrays basis andsuperscripts is equal to the order of the tensor, and the array components has recursive
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

TENSORBASED MATRICES IN GEOMETRICALLY NONLINEAR FEM 2097
Figure 1. Internal implementation of tensor class for symbolic computations.
Figure 2. Internal implementation of tensor classes for numerical calculations.
nesting. Depth of this nesting equals to the order of the tensor: for a rstorder tensor this isan array of 3 numbers, for the secondorder this is the array of 3 arrays of 3 numbers, etc.Elements of the array basis may be symbolic variables or rstorder tensors. Accordingly,tensor operations, such as dot product, now take sense of methods for the class. Tensorbasedmatrices can be implemented through the common matrices/arrays due to absence of strongtyping in symbolic computations.
Numerical calculations
Features of a program implementation of the numerical calculations are: (i) large dimensionsof problems, high requirements to computational efciency; (ii) formulations under implementation are preset and constant, there is no need to change an internal structure of tensors duringcomputation. Hence, it is better to depart from redundant polymorphism and to create separateclasses for tensors of different orders. Besides, owing to (ii), the basis vectors and the information about covariance property now can be eliminated from the implementation of tensorclasses, since actually all this is required only for carrying out the symbolic transformations, i.e.tensor classes under adaptation to numerical calculations on the inside become more similar tomatrices. Thus, usage of advantages of the matrix approach here is not rejected, it is just movedto the implementation level. An example of the framework of the tensor classes is given on theFigure 2 (higher order tensors are implemented in a similar manner). It is good for componentsof any tensor to be internally implemented by onedimensional array. This improves efciencyof algorithms such as copying, multiplication by a number, etc. For other algorithms this arraycan be easily treated as a multidimensional one (by means of address arithmetic). It should benoted that such implementation of the symmetric tensor of the secondorder coincides with itsrepresentation in purely matrix FEM. In turn, internal implementation of the fourthorder tensorwith the symmetric property on the rst and the last pairs of indices (such as the elasticitytensor) should be symmetric matrix 6 6 coinciding with the matrix of elastic constants fromanisotropic theory of elasticity. At that, the internal implementation of the double dot productof these tensors (used in the Hooks law) proves to be ordinary matrix multiplication, whichrequires distinctly smaller number of computing operations.
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

2098 V. V. CHEKHOV
Use of selfcontained tensor objects also gives other opportunities for increase of performance. Some of them are displayed in Reference [11]. The problem consists in optimal selection of the most suitable data structures and algorithms at the level of internal implementationof the object model. For example, in some cases evaluation of tensor quantity (that is substantially more expensive than for scalar one) can be effectively replaced by return of oneof results of previous calls (such technique is common in the eld of symbolic computations). For this purpose it is possible to use a binary tree or other data structure intendedfor the fastaccess retrieval. A good example for this is shown in Figure 3: a case when amaterial is asked for its elasticity tensor is shown. Here the implementation of the methodgetElasticityTensor in the class StrainIndependentMaterial returns referenceto the single available tensor of elasticity. At the same time the implementation of this methodfor the class StrainDependentMaterial rst of all looks for required result by the keysearch (here the key is the strain level) in the binary tree, and in case of success the methodreturns it. Only if the search fails, a new tensor object is evaluated, pushed to the tree, andthe result is returned. Optimal selection of feasible accuracy is capable of considerable raisingof efciency (since after a sufcient number of calls failure of the search becomes improbable), growth of number of nite elements in the model should increase useful effect of thealgorithm.
Program implementation of tensor matrices fundamentally does not differ from commonmatrices and can be generalized with use of templates.
To illustrate possibility of the program implementation of the given methodology, a sample ofan actual program code is demonstrated. For example, a subroutine implementing the integrand(26) looks as follows (in form of a C++ functional object):class tLinearElasticAnalysis: public t1stepAnalysis{ . . .struct fIntegrand{mutable tNodalTensor2 Result;const tFinitElement &FE;fIntegrand(const tFinitElement &fe_, const tNodalTensor2& t_): Result(), FE(fe_)
{Result.LinkNodes(t_);}fIntegrand(const fIntegrand &i_): Result(), FE(i_.FE)
{Result.LinkNodes(i_.Result);}tNodalTensor2& operator()(const Tensor1& localCoord_)
{tTensor2 jacoby = FE.JacobyTensor(localCoord_);const real_t J = jacoby.Det();jacoby.Invert();tTensor1 grad1 = FE.DisplShapeGrad(result_.Node(1),localCoord_),
grad2 = FE.DisplShapeGrad(result_.Node(2),localCoord_);grad1.DotMultiply_left(jacoby);grad2.DotMultiply_left(jacoby);(Result = grad1.DirectProduct(grad2)) *= J;if (!FE.Material().isIsotropic())
Result.DotDotMultiply(FE.MaterialElasTensor(localCoord_),1,3);return Result;
}. . .
};
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

TENSORBASED MATRICES IN GEOMETRICALLY NONLINEAR FEM 2099
Figure 3. Schema of using of previous results for evaluation of elasticity tensor.
Here the type name of the functional object has prex f, names of other classes have prext, tNodalTensor2 is an auxiliary class derived from tTensor2 with addition of addresses of two grid nodes. This class is introduced for convenience of interaction with thestiffness matrix. Sense of other types and objects is clear from their names and the context.The given fragment quite meets to the theoretical source to within syntax of the language.At that, direct implementation of formulae allows to be combined with effective numericalalgorithms. In particular, the above functional object is intended for use by any FE type inoperation of numerical integration (the code of an integrand is beyond the scope of FE classes,since the object model used here supposes that a FE does not know what type of analysis uses him). For example, in case of onedimensional FE the integration procedure looksas follows:template inline Tres& t1D_FE::Integrate (Tfun function_, Tres& result_) const{fMultiply integrand(function_,fCrossSecArea(*this));return Integrate1D(integrand,result_);}//template Tres& t1D_FE::Integrate1D (Tfun function_, Tres& result_) const{tTensor1 localCoord(0.); result_ = 0.;for (vector::const_iterator p = GaussCoeffs.begin();
p < GaussCoeffs.end(); ++p){localCoord.SetComponent(1,p>Coord);result_ += (function_(localCoord) *= (p>Weight * Jacobian(localCoord)));}
return result_;}
Template generalization of procedures similar to this allows to integrate by identical way bothtensorfunctions and functions of other suitable types (up to arrays of tensors). Efciency ofthe last sample can be increased by use of the C++ Standard Template Library (STL; thus thecycle should be replaced by the algorithm for_each and one more functional object [23]).Though this decreases clearness of the code (more precisely speaking, algorithmic clearnesstransforms into functional one), STLbased functional style of programming combines a high
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

2100 V. V. CHEKHOV
degree of abstraction with efciency, and it rather promotes effective program implementationof the complicated tensor formulae.
The nonlinear equations (27)(28) can be implemented with use of the above methodology.In this case, relatively unusual feature is the presence of the fourdimensional matrix withoperation of threefold multiplication. Evidently, implementation of these equations should revealmany other interesting features.
CONCLUSION
The indexfree form for tensors used in combination with the concept of tensorbased matricesas a basic model for FEM representation is the most meeting OO paradigm that allows unifyingall development stages of FEM applications. As a consequence,
semantic gap between theoretical formulation of a problem and its software implementation is eliminated, the need for conversion between tensor and matrix representations iseliminated;
semantic gap between tensor form of equations and numerical methods for their solutionis eliminated, compactness of the indexfree form of mechanical formulations and thematrix one of numerical methods are combined. Some of the methods turn out to bemore convenient for the immediate use in a tensorbased matrix form. For the rest: aftercompletion of the stage of matrix assembly, equations to be solved can be naturally treatedas purely matric;
in generating FEM matrices, elasticity tensors of a material can be moved beyond theintegral sign. This fact raises efciency of computing;
theoretical formulations take a compact form, which is available for efcient implementation by moving matrix form of tensors to the level of internal implementation. Besides,this form simplies symbolic calculations and derivation of new analysis methods, that isespecially useful for nonlinear problems. In particular,
one equation, derived in the presented research, can be used for solving nonlinear problems under large strains beyond the reach of other methods.
REFERENCES
1. Booch G. ObjectOriented Analysis and Design with Applications. AddisonWesley Longman Inc.: Amsterdam,1994.
2. DuboisPelerin Y, Pegon P. Objectoriented programming in nonlinear nite element analysis. Computersand Structures 1998; 67:225241.
3. Menetrey Ph, Zimmerman Th. Objectoriented nonlinear nite element analysis: application to J2 plasticity.Computers and Structures 1993; 49(5):767777.
4. Commend S, Zimmermann Th. Objectoriented nonlinear nite element programming: a primer. Advancesin Engineering Software 2001; 32(8):611628.
5. Jeremic B, Sture S. Tensor objects in nite element programming. International Journal for NumericalMethods in Engineering 1998; 41:113126.
6. Jeremic B, Runesson K, Sture S. Object oriented approach to hyperelasticity. Engineering with Computers1999; 15:212.
7. Lages EN, Paulino GH, Menezes IFM, Silva RR. Nonlinear nite element analysis using an objectorientedphilosophyapplication to beam elements and to the cosserat continuum. Engineering with Computers 1999;15:7389.
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101

TENSORBASED MATRICES IN GEOMETRICALLY NONLINEAR FEM 2101
8. Zabaras N, Srikanth A. Using objects to model nite deformation plasticity. Engineering with Computers1999; 15:3760.
9. Zabaras N, Srikanth A. An objectoriented programming approach to the Lagrangian FEM analysis oflarge inelastic deformations and metalforming processes. International Journal for Numerical Methods inEngineering 1999; 45:399445.
10. Miller GR. Coordinatefree isoparametric elements. Computers and Structures 1993; 49(6):10271035.11. Miller GR, Arduino P, Jang J, Choi C. Localized tensorbased solvers for interactive nite element applications
using C++ and Java. Computers and Structures 2003; 81:423437.12. Dimitrienko JuI. Tensor Calculus. Vysshaya Shkola Publ.: Moscow, 2001 (in Russian).13. Simmonds JG. A Brief on Tensor Analysis. Springer: Berlin, 1997.14. Lurie AI. NonLinear Theory of Elasticity. NorthHolland: Amsterdam, 1990.15. Chernykh KF, Litvinenkova ZN. Theory of Large Elastic Strains. LGU Publ.: Leningrad, 1988 (in Russian).16. Washizu K. Variational Methods in Elasticity and Plasticity (3rd edn). Pergamon Press: Oxford, 1982.17. Felippa CA. Advanced nite element methods (ASEN 5367) Course Material. http://caswww.colorado.edu/
courses.d/AFEM.d/ (11 September 2004).18. Eyheramendy D, Zimmermann Th. Objectoriented symbolic derivation and automatic programming of nite
elements in mechanics. Engineering with Computers 1999; 15:1236.19. Gomenyuk SI, Tolok AV, Tolok VA. Principles of a building of the instrumental system of the mechanics
problems analysis FORTURANOK. 20th CADFEM Users Meeting 2002. International Congress on FEMTechnology. Conference Proceedings, Friedrichshafen, 2002; 2:216.4.1216.4.10.
20. Lindgren LE. Tensor analysis of deformation. Part 1coordinates, motion and deformation gradient.http://www.mapleapps.com/categories/mathematics/tensors/html/deformation11.html (11 September 2004).
21. Yew CK, Boyle JT, Mackenzie D. A computer algebra based nite element development environment.Advances in Engineering Software 2001; 32:913925.
22. ObjectOriented Programming, Polymorphism, and More in Maple 9.5. http://www.maple8.com/demo/Programming/Programming.html (11 September 2004).
23. Meyers S. Effective STL. AddisonWesley Longman Inc.: Amsterdam, 2001.
Copyright 2005 John Wiley & Sons, Ltd. Int. J. Numer. Meth. Engng 2005; 63:20862101