Oct 6, 2008 - The general case of diagonally implicit Runge-Kuttta methods can be ..... diagonally implicit Range-Kutta methods (DIRK) is applied to solve equation (10), we ..... packages, which are written in C++ using this concept of OOP ...
th
The 12 International Conference of International Association for Computer Methods and Advances in Geomechanics (IACMAG) 1-6 October, 2008 Goa, India
On Finite Element Implementation for Cam Clay Model Dipika Devi Research Scholar, Dept. of Civil Engineering, Indian Institute of Technology Guwahati, Guwahati, India
Arbind K. Singh Dept. of Civil Engineering, Indian Institute of Technology Guwahati, Guwahati -781 039, India Keywords: cam clay model, differential algebraic equation, object oriented programming ABSTRACT: Cam clay models are one of the popularly used soil plasticity models. Finite element implementation of these models requires integration of constitutive relations and load stepping scheme. There have been considerable advances in the integration of constitutive relations. These methods can be grouped as explicit and implicit methods. The superiority of one over the other lies in the context of convergence, accuracy, stability, consistency and simplicity of implementation. In this paper these issues have been addressed in the context of solution of algebraic-differential equations. This approach is extension of the work of Ellsiepen and Hartmaan to modified Cam clay model. Treating nonlinear problem of Cam clay plasticity in this way facilitates to apply all the numerical algorithm of mathematics for the solution of algebraic differential equations. Numerical analysis of this approach gives the better proof for convergence and stability. This approach combines the time integration method of differential-algebraic equation and a multi-level Newton method to solve nonlinear system of algebraic equations. Consistent tangent operator can be better explained which provides the quadratic rate of convergence of multi-level Newton method. The general case of diagonally implicit Runge-Kuttta methods can be applied which is stiffly accurate and has better stability property. Also, adaptive time steps can be better implemented which is more efficient than backward Euler method. Some of the issues of concern are integration in stress space, strain driven and eigen space. The finite element programs developed in academic institutions as well as in industries are based on procedural programming. The procedural programming has its inherent limitation with respect to code reuse, maintainability, extendibility and modification. Object oriented programming has its superiority over the procedural programming in terms of encapsulation of data, inheritance, and polymorphism. By defining appropriate classes, modified Cam clay model has been implemented in the finite element framework using object-oriented programming. The class hierarchy has been identified in a manner such that the method which is used repeatedly will remain at the top of the class tree. This abstraction allows the code re-usability. Thus the framework has been developed which exploits the commonalities in the methodology between different analysis, constraints and equation solving algorithms. Also, the framework ensures that no modifications are required to previously implemented functions and classes when the code is extended. The object-oriented implementation for plane strain case has been carried out. The implemented code has been verified using various test problems and some practical problems such as footing, have been solved.
1
Introduction
For reliable numerical predictions of performance of practical geotechnical problems, constitutive equations, which can model accurately the behaviour of soils, are essential. The most widely used generalized models for soil behaviour are Cam clay models and Modified Cam clay models which are formulated using the conceptual framework of critical state soil mechanics. In order to implement these models in non-linear finite element analysis for solution of boundary value problems, the constitutive equations must be integrated numerically over finite time steps. These methods used to integrate the constitutive equations have direct impact on the overall performance of the non-linear finite element analysis and has been active area of research currently (Simo and Taylor, 1985; Simo and Taylor, 1986; Wang and Atluri, 1994; Nazem et al., 2006; Clausen et al., 2006). There have been considerable advances in the methods of integration and superiority of one over the other lies in the context of convergence, accuracy, stability, consistency and simplicity of performance. These integration algorithms can be grouped as explicit and implicit methods. Both explicit and implicit methods have been used to integrate many advanced constitutive models in soil mechanics (Sloan et al., 2001; Wang et al., 2004; Borja and Lee, 1990; Borja, 1991; Luccioni et al., 2000; Luccioni et al., 2001; Kojic et al., 2002; Borja et al., 2003; Zhao et al., 2005; Simo and Hughes, 1998; Singh and Pandey, 1999; Simo and Taylor, 1986; Zhang 1995).
462
Application of the variational principle to the equilibrium equations and their spatial discretization lead to a system of non-linear algebraic equations. The solution of these resulting equations is generally computed on the global level. The evolution equations, which are ordinary differential equations (ODEs) of first order, are included in the solution by integrating them on element level, which is carried out by performing time integration at quadrature points of the numerical integration. Furthermore, the yield condition has to be incorporated in to the solution which also defines an algebraic equations occurring in case of elasto-plasticity (Crisfield, 1991; Simo and Hughes, 1998). The resulting non-linear system of algebraic equations of the descretized variational principle has to be solved iteratively and consistent tangent operator has to be derived, which is necessary to achieve quadratic convergence in the context of Newton’s method. However, it is only possible to derive consistent tangent operator effectively in case of simple implicit time-integration procedures, which are usually of low order (Ellsiepen and Hartmann, 2001). The combination of the integration procedure with the descretization of variational principle and the notion of the consistent tangent operator are incoherent in most of the older proposals (Ellsiepen and Hartmann, 2001). In this paper the discretized form of the principle of virtual displacement and the ODEs of the constitutive model defined locally at an integration point are interpreted together as a system of differential-algebraic equations (DAE). This interpretation enables the application of step-size controlled time integration procedures for the resulting system of DAEs. Again, the time integration methods of the DAEs can be combined with a multi-level Newton method to solve the non-linear system of algebraic equations. This approach is extension of the work of Ellsiepen and Hartmaan (2001) to modified Cam clay model. Numerical analysis of this approach gives the better proof for convergence and stability. Consistent tangent operator can be better explained which provides the quadratic rate of convergence of multi-level Newton method. The general case of diagonally implicit Runge-Kuttta methods can be applied which is stiffly accurate and has better stability property. Object-oriented programming technique is the most recent among all programming concepts. Its application to finite element method has several advantages. Object oriented programming has its superiority over the procedural programming in terms of encapsulation of data, inheritance, and polymorphism (Miller, 1991; Duboisperlin and Zimmermann, 1993; Madan, 2004) and detail discussion of this technique can be found many of the published literature (Forde et al., 1990; Baugh and Rehak, 1992; Kong and Chen, 1995; Mackie, 1998; Yu and Kumar, 2001). In this paper, modified Cam clay model has been implemented in the finite element framework using object-oriented programming. The class hierarchy has been identified with different class interfaces depending on the type of the problem being solved. The template has been developed in such a way that it utilizes the commonalities in the methodology between different analysis, constraints and equation solving algorithms. The object-oriented implementation for plane strain case has been carried out and bearing capacity problem for a strip footing is solved.
2
Description of the Material Model
The material model used for the investigation is Modified Cam clay model which describes non-linear rateindependent elasto-plasticity for small strains. For this model the evolution equations can be described by a DAEsystem on the element level with the yield condition as the algebraic constraint. Table 1. Structure of Modified cam clay model Sl No
Modified Cam-clay Model
1 Yield Function: 2 Stress-strain relation:
q2 + p ′( p ′ − p c′ ) = 0 M2 σ& = f (ε& , q& m ) = C e : ε& e F ( p ′, q, p c′ ) =
ε& = ε&
e
+ ε&
p
(1) (2) (3)
Plastic strain:
∂F (σ, p c′ ) ε& p = φ& ∂σ
(4)
Hardening parameters:
∂f p& c = f1 (ε&vp ) = ϑp c′φ& ∂p ′
(5)
3
4
Table 1 describes the structure of this model. The stresses depend on strains and further internal variables, which are defined by the evolution equations of first order, i.e., equations (4) and (5). The internal variables in this p p model are: {qm}={ε , pc}, where ε is the plastic strain rate tensor, pc is the isotropic hardening parameter called as pre-consolidation pressure. In Table 1, p and q denote volumetric stress and deviator stress respectively. They are defined as: p=(1/3)tr(σ) and q=√(3/2)||S||. Here σ is the Cauchy stress tensor and S is the deviator stress tensor given as S=σ - pl. Here M is the slope of the critical state line (CSL) in p-q plane, ε& and ε& e are the
463
total and elastic strain rate tensors respectively. Ce is the fourth order elasticity tensor, φ& is the plastic multiplier,
λ and κ is the virgin compression index and swelling index respectively. ϑ = v/(λ-κ), v is the specific volume.
3
Global Algorithm
The evolution equations (4) and (5) can be written in more general form as follows. For more details one can refer Ellsiepen and Hartmann (2001).
q& m − r (u, q m ) = 0
(6)
The variational formulation of the basic momentum balance equation for mathematical description of a material body is given by:
π ( u , δu , q m ) ≡ ∫ gradδu . σ . dΩ − ∫ δu . ρ . b . dΩ − ∫ δu . t . dΓ = 0 Ω
Ω
Γ
(7)
By finite element descretization of equation (6) and (7) using Galerkin’s method, and assembling all evolution equations of all internal variables into a system of ODE, we arrive at:
q& m ( t ) − r ( u ( t ), q m ( t )) = 0 g (t , u(t ), q m (t )) ≡
(8)
ni
∑ wk B T ( x k ) f ( B( x k )u(t ), q m (t )) − T (t ) = 0
(9)
k =1
Where u(t) is the vector of all nodal displacements. The spatially discrete stresses and strains have the representation respectively, σ(x, t) = f( ε(x, t), qm(x, t) ) and ε(x,t)=B(x)u(t). T(t) is the external nodal force vector, depending explicitly on the time t. The sum indicates the Quadrature rule in space with the weighing factors wk, k=1 to ni, where ni is the number of total integration points. Equations (8) and (9), which define a system of semiexplicit non-linear differential-algebraic equations of first order, can be written in the following form:
⎧⎪ g (t, u(t ) , q m (t )) ⎫ Ft (t, y (t ) , y& (t )) ≡ ⎨ ⎬ =0 ⎪⎩q& m (t ) − r (u(t ) , q m (t )) ⎭
(10)
With the function y(t) and initial conditions at time t0:
⎧ u(t 0 ) ⎫ ⎧ u0 ⎫ y (t 0 ) ≡ ⎨ ⎬=⎨ ⎬ ≡ y0 ⎩q m (t 0 )⎭ ⎩q m 0 ⎭
⎧ u(t ) ⎫ y (t ) = ⎨ ⎬ initial conditions ⎩q m (t )⎭
(11)
Different methods of solving a DAE-system of type equation (10) have been proposed. If stiffly accurate diagonally implicit Range-Kutta methods (DIRK) is applied to solve equation (10), we can apply high-order methods and very efficient time-adaptive procedure (Ellsiepen and Hartmann, 2001; Hartmann, 2005). In this method, we assume that the solution of equation (10) at a point tn is known and we are looking for a solution at tn+1. Then we have to solve, at each stage, Tni = tn +ci Δtn, i=1,…..,s, with Tns = tn+1 and 0≤ ci ≤1, the coupled system of non-linear equations obtained from time descretization of equation (10):
⎧ G ( U ni ,Q ni ) ⎫ R ni ( Y ni ) = ⎨ ni ⎬=0 ⎩ L ni ( U ni ,Q ni ) ⎭
(12)
With
G ni ( U ni , Q ni ) ≡ g ( T ni ,U ni , Q ni )
With starting value of qm as
⎛ Q − S qm ni ⎜ ni L ni ( U ni ,Q ni ) ≡ ⎜ ⎜ Δt n a ii ⎝ i −1 qm S = Q + Δt a Q& ni
n
n
∑ j =1
464
ij
nj
and
⎞ ⎟ ⎟⎟ − r ( U ni ,Q ni ) ⎠
(13)
(14)
(15)
4
Solution of coupled systems of equations using Multilevel Newton Method
Different solution schemes have been developed for solving system of non-linear equations, such as in equation (12), and Newton-Raphson Method is the one mostly used so far. In this method the notion of the consistent tangent operator has been proven by purely numerical considerations. Again, by applying this method to solve the system of equations in (12), the advantage of band-structured sparse tangential stiffness matrix is lost. To overcome these, multilevel-Newton method can be applied, which is based on the implicit function theorem. For details of this method one can refer Ellsiepen and Hartmann (2001), and in Table 2 the described solution procedure is shown. Table 2. Multilevel-Newton iteration at stage i of time-step
n a n + 1 . (Ellsiepen and Hartmann, 2001)
Iteration step (k) of global Newton iteration k
1. Local Newton iteration (given: fixed Uni ): (k)
L ( U ni
Solve iteratively
(k)
,Q ni
(k) a Q ni
)=0
k
k ni
2. Consistent linearization ( argument vector z:= Uni ,Q ) :
(16)
dQ dU z
⎡ ∂L ⎤ dQ ∂L = ⎢ ⎥ ⎣⎢ ∂Q z ⎦⎥ dU ∂U z
a
⎡ ∂G ∂G dQ ⎤ + ⎢ ⎥ ΔU = − G ( z ) ⎢⎣ ∂U z ∂Q z dU z ⎥⎦
a ΔU ni
(18)
( k +1 ) a U ni
(19)
(17)
3. Global Newton step:
( k +1 )
U ni
Update global variables:
(k)
← U ni
+ ΔU ni
4. Convergence check: Residual and/or update criterion with relative/absolute tolerance(s).
In view of the equation (18), in Table 2, we can derive the tangential stiffness matrix from the differentiation of p p equation (9), where σ=f(ε,ε ), i.e., qm=ε (for brevity the indices symbolizing the time-step or stage are removed): ∂G ∂G dQ + = ∂U ∂Q dU
5
ni
⎡ ∂g ∂σ ∂ε ∂g ∂σ dε p ∂ε ⎤ + ⎥ ∂ ∂ ∂ ε U σ ∂ε p dε ∂U ⎦⎥ ⎣
∑ w k ⎢⎢ ∂σ k =1
x= x k
=
ni
⎡
∑ w k ⎢⎢ B T k =1
⎣
⎡ ∂σ ∂σ dε p ⎤ ⎤ + ⎢ ⎥B⎥ ε ε p dε ⎥⎦ ⎥ ∂ ∂ ⎣⎢ ⎦
x= x k
(20)
Application to Cam clay model
In the following, we apply the integration steps depicted in Table 2 to the Modified Cam clay model. The structure of this model is given in Table 1. As this model exhibits hypo-elasticity, we need to integrate equation (2) in the elastic region too. Now we have to integrate the stress-strain relation (2) along with the evolution equations (4) and (5), which is called as stress integration algorithm. According to the Multilevel-Newton method, the (k) (k) displacements Uni of the current stage ni are known and thus, the total strain εni at the integration points are also known. For brevity we write the incremental stress-strain relation (2) in the following form:
σ& = KCˆ e : ε& e
(21)
Where
(
)
Cˆ e = l ⊗ l + 2 r I − 1 l ⊗ l , 3
r = 3(1 − 2 μ ) / 2 (1 + μ ) ,
I = 1 / 2 ( l ik l
jl
+ l il l
jk
)
(22)
ˆ is constant. In modified Cam clay model, the elastic In equation (22) the Poisson’s ration μ and the tensor C moduli K and hence G are not constant, and K is a function of p′ via the relation K=(v/κ)p′. The stage value of K, i.e., Kni is obtained by integrating equation (21) in time interval (tn-Tni) as explained in Borja (1991): e
K ni =
⎤ pn ⎡ ⎛v e ⎞ exp⎜ Δε vni ⎟ − 1⎥ e ⎢ κ Δε vni ⎝ ⎠ ⎣ ⎦
(23)
e e e e e Where Δε vni = ε vni − ε vn and ε v = ε ii . Now integrating equations (21), (4) and (5) using DIRK method with S their known starting values as (.), we arrive at the following equations:
465
(
⎡ p σ ni = S σ ni + Δt n aii ⎢ K ni Cˆ e : Δε vni − Δε vni ⎣ p
p
ε ni = S ε ni + Δt n a ii φ ni N ni
where
p c′ ni = S p c ni + Δt n a ii φ ni N ni
where
)
⎤ ⎥ ⎦
(24)
N ni =
∂F ∂σ
(25)
N ni =
∂F ∂p ′
(26)
With starting values as: S
( ∗ ) ni = ( ∗ ) n + Δt n
∑ j =0 a ij ( ∗& ) nj i −1
(27)
S ( ∗ ) n 0 = S ( ∗ ) n and aij are the weighting factors. Now let us consider a trial value of Where ( ∗& ) n 0 = ( ∗& ) n , stress, called as ‘elastic predictor’:
T
p
p
(
⎡ p S ˆ e : Δε σ ni = S σ ni + Δt n a ii ⎢ K ni C vni − Δ ε vni ⎣
) ⎤⎥
(28)
⎦
p
With Δ S ε vni = S ε vni − ε vn . In equation (28) all quantities are known where Kni to be calculated from equation (23), using Δε evni = Δ S ε evni = S ε evni − ε evn . If F
(
T
)
′ ≤ 0 holds, the stress state lies inside the yield σ ni , S p cni
T
surface. Then the new stresses σ ni = σ ni , plastic strains ε nip = S ε nip , and pre-consolidation pressure
(
)
′ ′ = S p cni ′ are known. Otherwise if F T σ ni , S p cni > 0 we have to solve equations (24), (25) and (26) for p cni ′ σ ni , ε ni , p cni with the constraint equation: ′ )= 0 F ( σ ni , p cni
(29)
To reduce the computational cost, this system of equations is solved using the method given by Borja and Lee (1990), with Backward Euler method, which is the simplest DIRK method with i=j=aij=1. To incorporate the more general DIRK methods into the resulting equations, only two changes are required: (i) the starting values to be calculated using equation (27), whereas in the Backward Euler method they are simply defined as the quantities at the previous time step, tn. and (ii) all occurrences of the time step-size Δtn have to be replaced by Δtn aii. The ′ +1 , with ni=n+1, which are function of ξ=φniΔtn, are given below. resulting equations for σn+1, εn+1, pcn
p n′ +1 ( ξ ) = T p n′ +1 − K n ξ ( 2 p ′ − p c′ ) n +1 ) −1
(31)
⎡v ⎤ p c′ n +1 ( ξ ) = p c′ n exp ⎢ ξ ( 2 p ′ − p c′ ) n +1 ⎥ κ ⎣ ⎦
(32)
q n +1 ( ξ ) = T q n +1 ( 1 + 6 G n ξ / M
⎡ q2 F n +1 ( ξ ) = ⎢ + p ′ ( p ′ − p c′ ⎢⎣ M 2 With
(30)
σ = p ′l + σ D , p ′ = σ ii 3 , σ
D
2
⎤ )⎥ ⎥⎦ n +1
= σ − p ′l , q =
(33)
3 2
σ
D
:σ
D
Equations (30), (31), (32) and (33), which are scalar functions of ξ can be solved iteratively for the unknowns (Borja and Lee, 1990). Now calculation of the consistent tangent operator i.e. equation (18), which is utilized in equation (20), can be done in formal way of solving the linear system of equation (18). However, it can also be calculated by exploitation of the problem adopted algorithm, utilizing equations (30), (31), and (32), as done in Borja and Lee (1990). The result is summarized below:
C n +1 = [ t 0 I + t 1 l ⊗ l + t 2 l ⊗ nˆ + t 3 nˆ ⊗ l + t 4 nˆ ⊗ nˆ ] n +1 (k )
466
(34)
Where
2 t 1 = K ( a 1 + a 2 b 1 ) − Gψ , 3
t 0 = 2 Gψ ,
t 4 = 2G ⎡
2
⎢⎣ 3
a4 =ϑ
p ′c K
a = 1 + 2 Kξ + p ′c ϑξ ,
b = −2 G
M
2
t 3 = 2G
2 ( a 6 b1 ) , 3
( a 5 + a 6 b 2 ) − ψ ⎤ , a 1 = ( 1 + p ′c ϑξ ) / a , a 2 = − ( 2 p ′ − p ′c ) / a , a 3 = 2 p c ϑξ / a , ⎥⎦
( 2 p ′ − p ′c ) / a ,
2q
t 2 = Ka 2 b 2
a5 =
2⎛
ξ ⎜1 + 6G ⎜ 2 3⎝ M
⎞ ⎟ ⎟ ⎠
−1
,
b 1 = − K [( a 3 − 2 a 1 ) p ′ + a 1 p ′c ] / b ,
3q ⎛
ξ ⎜ 1+ 6G a6 = − 2 ⎜ 2 M ⎝ M b2 = 2G
2q M
2
⎞ ⎟ ⎟ ⎠
−1
,
a5 /b,
σD a 6 − K [( 2 a 2 − a 4 ) p ′ − a 2 p ′c ] ,
K = Kn ,
G = Gn , ψ =
T σ D
Equation (34) generally yields a non-symmetric tangent operator although the flow rule is associative.
6
Fundamental concepts in OOP
The most recent concept among all programming paradigms is the Object-oriented programming (OOP) technique as the application of OOP design to the finite element method has several advantages. The FE packages, which are written in C++ using this concept of OOP technique, have been shown to have comparable performance to their procedure oriented language counterparts. Abstraction of the essential immutable quantities of the components of the finite element method has rendered the primary advantage of application of objectoriented concept in finite element. These form the definition of objects and these objects become the building blocks of the software. Classes are defined as the collection of objects of similar type, which encapsulate both the data and the operation on the data, and provide an interface for communicating with the object (Das, 2002). Inheritance and polymorphism are the other important concepts of object-orientated paradigm. Inheritance allows the creation of hierarchically structured class systems, and polymorphism allows the same operation to behave differently in different classes. In this paper these concepts of OOP are implemented for FE analysis of modified Cam clay model and abstraction of different classes are discussed in brief in the following section. The framework presented here ensures reusability and extendibility of the previously implemented functions and classes.
7
Modelling finite element through OOP concept: Implementation of the modified Cam-clay model
Designing FEM using OOP concept is the creation and documentation of the internal architecture of the FE system. It must be started with the identification of the classes, which has to be done on the basis of the interrelationship and interaction among the different components of a FE system. Then the implementation of the class interfaces and their member functions are to be done using a suitable programming language, after the classes are being arranged into hierarchies. In the present work some abstraction of classes have been identified and modified Cam clay model is implemented extending the object oriented code of linear analysis (Das, 2002) for non-linear analysis. The classes which are being identified for the proposed paradigm are Modelling class, Finite element model class, and Analysis class.
467
Figure 1: Overall framework of the object oriented FEM (i)
The Modelling classes are used to create the finite element model for a given problem. The class, which comes under this category, is the Input Class, which responsible for reading all the information for modelling a finite element problem. (ii) The Finite element model classes are used to describe the finite element model and the classes that have been identified in this category are FE_Modeling class, Geometry class, and Physical class. FE_Modeling class is the base class for modelling an entire FEM problem and serves as the interface of the input file and the FEM program itself. Geometry class and Physical class are subclasses of the FE_Modelling class. The Geometry class contains information about the geometric properties of the element, the Gauss integration points and the interpolation functions. The Physical class contains the information regarding the elastic constitutive relation for different types of analysis such as plane stress, plane strain, etc. (iii) The Analysis classes are used to perform the analysis, i.e. forming and solving the governing equations of the finite element model. The classes identified in this category are Problem_Type class and Solver class. The Problem_Type class contains information about the nature of the analysis, corresponding strain displacement relations and the associated data. Lastly, a solver class is defined, which is categorized into subclasses for defining specific equation solving algorithm. The overall framework for the implementation is shown in Figure 1.
In the framework an element is defined as the composition of Problem_Type class, Geometry class, and Mat_Model class (sub-class of Solver class). The separation of these three aspects of an element promotes software reusability and extendibility of the finite element code. 8
Numerical example
To validate the proposed framework plane strain analysis of strip footings using modified Cam-clay model is done. It focuses on the performance of the overall implementation technique into the nonlinear finite element code. The global Newton iteration is controlled by the residual force convergence criterion: || r k ||≤ TOL || r 0 || , where r k = ( FEXT ) n +1 − FINT (σ nk +1 ) , FEXT is the external force vector, FINT is the internal force vector, which is a k
function of the internal stress σ n +1 , ||.|| denotes an L2 -vector norm, TOL is the force threshold value set at -6
k
TOL=10 , and ‘ ’ is the iteration counter. In this example, we consider the plane strain problem of a vertically loaded strip footing of width B on a ‘finite’ deposit of clay, which is assumed to be overconsolidated to 50 kPa at the ground surface. The simulated soil is considered to have modified Cam-clay parameters are: κ = 0.05, λ = 3 0.25, M = 0.898, vcr = 2.6(specific volume at critical state), μ = 0.3, and γ′=6kN/m .
468
(a)
(b)
Figure 2. (a) Finite element mesh, (b) Footing load vs Footing displacement for modified Cam-clay model (MCC). The finite element mesh used in the analysis is shown in Figure 2(a), with half width of the footing (B/2) as 1 unit. The domain of the foundation soil (5B×5B) is divided into 121 quadrilateral, eight-noded, isoparametric elements with a 2 x 2 Gaussian integration rule employed for each element. The soil profile is assumed to be underlain by rigid and rough bedrock and so restrained in both the directions, while left and right boundaries are restrained in horizontal direction only. The load is applied vertically in 50 equal steps. In Figure 2(b) the load-settlement curve of this problem is plotted for the node lying directly below the footing at its centre line. The plotted load is the total vertical load applied and is in kN/m. The Figure 2(b) also compares the results with that of Sheng, Sloan and Yu (2000). The results from both algorithms are in good agreement near the failure load.
9
Conclusion
Interpretation of non-linear finite element analysis as algebraic-differential equations and their solution strategies are discussed in this paper. The approach combines the time integration method of differential-algebraic equation with a multi-level Newton method to solve nonlinear system of algebraic equations. The notion of the consistent tangent operator can be better explained by this approach, which provides the quadratic rate of convergence of the Newton method. Using the same interpretation approach the modified Cam clay model is integrated by Backward Euler method, which is a special case of stiffly accurate diagonally implicit Runge-Kutta (DIRK) method as it has the advantage of reducing the computational cost. By defining appropriate classes, the integration algorithm for modified Cam clay model has been implemented in a finite element framework developed using Object Oriented programming (OOP) technique. Advantages of the OOP approach over procedural programming approach are discussed. The class hierarchy has been identified in a manner such that the method which is used repeatedly will remain at the top of the class tree. This abstraction allows the code re-usability. Thus the framework has been developed which exploits the commonalities in the methodology between different analysis, constraints and equation solving algorithms. Also, the framework ensures that no modifications are required to previously implemented functions and classes when the code is extended. The object-oriented implementation for plane strain case has been carried out. The implemented code can be verified using test problems and some practical problems and a footing problem has been solved in this paper. 10 References Baugh J. W., Rehak D. E. 1992. Data abstraction in engineering software development. Journal of Computing in Civil Engineering, 6(3) Borja R. I., Lee R. S. 1990. Cam-clay plasticity, Part I: Implicit integration of elasto-plastic constitutive relations. Computer Methods in Applied Mechanics and Engineering, 78, 49–72. Borja R. I. 1991. Cam-clay plasticity, Part II, Implicit integration of constitutive equations based on a nonlinear stress predictor. Computer Methods in Applied Mechanics and Engineering, 88, 225–240. Borja R. I., Sarma K. M., Sanz P. F. 2003. On the numerical integration of three-invariant elstoplastic constitutive models. Computer Methods in Applied Mechanics and Engineering, 192, 1227–1258.
469
Clausen J., Damkilde L., Anderson L. 2006. Efficient return algorithms for associated plasticity with multiple yield planes. International Journal for Numerical Methods in Engineering, 66, 1036-1059. Das S. 2002. Object-oriented finite element programming: A framework for implementation of plane stress and plate bending. M. Tech. Project Report, Indian Institute of Technology Guwahati, India. Dubois-perlin Y., Zimmermann T. 1993. Object-oriented Finite Element Programming: III An Efficient Implementation in C++. Computers Methods in Applied Mechanics and Engineering, 108, 165-183. Ellsiepen P., Hartmann S. 2001. Remarks on the interpretation of current non-linear finite element analysis as differentialalgebraic equations. International Journal for Numerical Methods in Engineering, 51, 679–707. Forde B. W. R., Foschi R. 0., Stiemer S. F. 1990. Object-oriented finite element analysis. Computers & Structures, 34(3), 355374. Kong X. A., Chen D. P. 1995. An object-oriented design of fem programs. Cmputers and Structures, vol. 57(1), pp. 157-166. Luccioni L. X., Pestana J. M., Rodriguez-Marek A. 2000. An implicit integration algorithm for the finite element implementation of a nonlinear anisotropic material model including hysteretic nonlinearity. Computer Methods in Applied Mechanics and Engineering, 190, 1827–1844. Luccioni L. X., Pestana J. M., Taylor R. L. 2001. Finite element implementation of non-linear elastoplastic constitutive laws using local and global explicit algorithms with automatic error control. International Journal for Numerical Methods in Engineering, 50, 1191–1212. Mackie R. I. 1998. Object-oriented finite element programming-the importance of data modelling. Advances in Engineering Software, vol. 30, pp. 775-782. Madan A. 2004. Object-oriented paradigm in programming for computer-aided analysis. Journal of Computing in Civil Engineering, 18(3), 226-236. Miller G. R. 1991. Object-oriented approach to structural analysis and design. Computers and Structures, 40, 75-82. Nazem M., Sheng D., Carter J. P. 2006. Stress integration and mesh refinement for large deformation in geomechanics. International Journal for Numerical Methods in Engineering, 65, 1002-1027. Sheng D., Sloan S. W., Yu H. S. 2000. Aspects of Finite Element Implementation of Critical State Models. Computational Mechanics, vol. 26, pp. 185-196. Simo J. C., Hughes T. J. R. 1998. Computational Inelasticity, Springer Verlag. Simo J. C., Taylor R. L. 1985. Consistent tangent operators for rate-independent elastoplasticity. Computer Methods in Applied Mechanics and Engineering, 48, 101–118. Simo J. C., Taylor R. L. 1986. A return mapping algorithm for plane stress elastoplasticity. International Journal for Numerical Methods in Engineering, 22, 649-670. Singh A. K., Pandey P. C. 1999. An implicit integration algorithm for plane stress damage coupled elastoplastcity. Mechanics Research Communications, vol. 26(6), pp. 693-70. Sloan S. W., Abbo A. J., Sheng D. 2001. Refine explicit integration of elastoplastic models with automatic error control. Engineering Computations, 18, 121–154. Wang L. H. Atluri S. N. 1994. An analysis of an explicit algorithm and the radial return algorithm, and a proposed modification, in finite plasticity. Computational Mechanics, 3, 380-389. Wang X., Wang L. B., Xu L. M. 2004. Formulation of the return mapping algorithm for elastoplastic soil models. Computers and Geotechnics, 31,315–338. Wood D. M. 1994. Soil Behaviour and Critical State Soil Mechanics, Cambridge University Press, Cambridge. Yu L., Kumar A. V. 2001. An object-oriented modular framework for implementing the finite element method. Computers and Structures, 79, 919-928. Zabaras N., Srikanth A. 1999. An object-oriented programming approach to the lagrangian fem analysis of large inelastic deformations and metal-forming process. International Journal for Numerical Methods in Engineering, 45, 399-445. Zhang Z. L. 1995. Explicit consistent tangent moduli with a return mapping algorithm for pressure-dependent elastoplasticity models. Computer Methods in Applied Mechanics and Engineering, 121, 29–44. Zhao J., Sheng D., Rouainia M., Sloan S. W. 2005. Explicit stress integration of complex soil models. International Journal for Numerical and Analytical Methods in Geomechanics, 29, 1209–1229. Zimmermann T., Eyheramendy D. 1994. Object-oriented finite elements: I and II Principles of symbolic derivations and automatic programming. Computers Methods in Applied Mechanics and Engineering, 132, 259-304.
470