Presentation is loading. Please wait.

Presentation is loading. Please wait.

Our task is to estimate the axial displacement u at any section x

Similar presentations


Presentation on theme: "Our task is to estimate the axial displacement u at any section x"— Presentation transcript:

1 Our task is to estimate the axial displacement u at any section x
1-D ELASTICITY Our first practical application of FE will be an elastic rod subjected to a distributed axial load F(x) along its length. The rod may also have a variable stiffness. x dx EA(x) F(x) Our task is to estimate the axial displacement u at any section x We need a differential equation to describe this system, together with boundary conditions. Once we have these, we can then attempt to solve the problem by FE.

2 Consider a thin strip of the rod of length
Area A 1) EQUILIBRIUM 2) CONSTITUTIVE 3) STRAIN/ DISPLACEMENT “small strain”

3 DIFFERENTIAL EQUATION
These three equation can be simplified as follows: GOVERNING EQUATION Now we will attempt to solve the equation by FE

4 with one spatial dimension.
The 1-d Rod Element This is the simplest 1-d finite element suitable for solving differential equations with one spatial dimension. Original problem 1 2 3 4 5 Element number Node number Finite element discretization x L u1 u2 A typical 1-d element Let the nodal displacements be u1 and u2. Assume a linear variation of from one end to the other.

5 Consider the following TRIAL SOLUTION across the element:
1 where c1 and c2 are the “undetermined parameters”, and y1 (x) = 1 and y2 (x) = x are the “trial functions” The Trial Solution must satisfy the boundary conditions corresponding to the displacement at each node of the element, thus: 2 3 Eliminate c1 and c2 from equations and to give: 2 1 3 or where “Shape Functions” and “Undetermined parameters”

6 FINITE ELEMENT SOLUTION
Governing differential Equation Trial solution Matrix version Substitute the Trial Solution into the governing equation Residual

7 Galerkin weighting functions
Weight the Residual using Galerkin’s method Assume EA and F are constant over each element. They can vary from one element to the next of course! Galerkin weighting functions After integration by parts and the elimination of “boundary terms”, this can be written as, or in matrix form as

8 This is the “ELEMENT STIFFNESS RELATIONSHIP”
where Element stiffness matrix Element nodal displacements Element nodal forces The Galerkin Finite Element Method has turned the DIFFERENTIAL EQUATION into the MATRIX EQUATION

9 Note how the distributed force on the element has been interpreted
as two forces “lumped” at the nodes: L F Uniform distributed load FL/2 Equivalent nodal loads This always happens in FE analysis Another example: F(x)=Px/L Linear distributed load L P PL/6 PL/3 Equivalent nodal loads So far, everything has been performed at the “element level”. Now we must discuss attaching elements together and ASSEMBLY

10 ANOTHER TYPE OF ELEMENT MATRIX: THE MASS MATRIX
Consider a rod vibrating along its axis Area A 1) EQUILIBRIUM 2) CONSTITUTIVE 3) STRAIN/ DISPLACEMENT “small strain”

11 DIFFERENTIAL EQUATION
These three equation can be simplified as follows: WAVE EQUATION Now we will attempt to solve the equation by FE

12 FINITE ELEMENT SOLUTION
Governing differential equation Trial solution Substitute the Trial Solution into the governing equation Residual

13 Weight the Residual using Galerkin’s method
Assume EA and rA are constant over each element. Galerkin weighting functions This term leads to the stiffness matrix as we saw previously This term can be written as: or in matrix form as

14 This is the “ELEMENT DYNAMIC EQUATION OF MOTION”
where Element stiffness matrix Element mass matrix Element nodal accelerations Element nodal displacements The Galerkin Finite Element Method has turned the DIFFERENTIAL EQUATION into the MATRIX EQUATION

15 DIFFERENT FORMS OF THE MASS MATRIX
“Consistent Mass Matrix” an alternative form is: “Lumped Mass Matrix” Lumped mass is sometimes preferred on account of its simplicity. When assembled into [M], this form is easily inverted and can be stored very efficiently.

16 ASSEMBLY Once the element stiffness matrices have been found, we can assemble them into a “global stiffness matrix” The element force vectors must also be assembled in a “global force vector” “Assembly” collects the contribution from each ELEMENT matrix to form the GLOBAL matrix for the whole finite element mesh. “Assembly” involves mapping the freedom numbering at the element level onto the freedom numbering at the global level. “Assembly” is easily automated in computer codes provided the “connectivity” information is available. Connectivity information involves knowledge of: Which node belongs to which element (a typical node will be attached to several elements) 2) Which freedom belongs to which node (a typical node will have more than one “degree of freedom” e.g. u, v, w, p, etc….)

17 degrees-of-freedom at each node.
Assembly of a string of 1-d rod element with one degee-of-freedom per node is very simple and can be performed by hand, however the logic of assembly is exactly the same as it would be for a 3-d analysis involving multiple degrees-of-freedom at each node. Example: Element numbering Global freedom numbering Node numbering 1 1 2 2 3 3 4 4 1 2 3 4 5 Which node belongs to which element? This information is held in the g_num array g_num= Element 1 Element 2 etc. Which freedom belongs to which node? This information is held in the nf array nf= Node 1 etc. Node 2

18 Local element freedom numbering
1 2 3 4 x L 1 2 ith element Local element freedom numbering x EA assumed EA distribution (step) actual EA distribution Each element has a different stiffness matrix: e.g. for the ith element:

19 The assembled global stiffness relationship will be of the form:
Store half the “band” In general: Note the symmetry and banding of This has major implications for storage-saving strategies. This system of linear equations can be solved using any appropriate method e.g. Gaussian elimination, preconditioned conjugate gradient.

20 Once the global displacements have been found, strains and stresses
POSTPROCESSING The method described so far is sometimes referred to as the “displacement finite element method” since the fundamental dependent variable is the nodal displacement. Once the global displacements have been found, strains and stresses can be retrieved by performing a final scan through all the elements. For example in the 1-d rod problem, 1 2 3 4 in element 3, hence

21 It is a “do nothing” boundary condition.
BOUNDARY CONDITIONS A solution to a differential equations needs boundary conditions. For example in the rod analysis: L x The boundary condition was handled explicitly via the data, however the boundary condition was obtained by default at the mesh boundary. The derivative boundary condition where is the dependent variable and is normal to the mesh boundary, is obtained automatically in finite element analysis. It is a “do nothing” boundary condition.

22 FIXED VALUES OF THE DEPENDENT VARIABLE
A nodal value can be fixed using the “stiff spring” or “penalty” method. First the global stiffness matrix [K] is assembled in the conventional way treating all nodal variables as unknowns. Assume we have 5 equations: We wish to fix the following displacements:

23 STIFF SPRING METHOD Add a “big” number to the diagonal(s) corresponding to the freedoms to be fixed (in this example K22 and K55). 2) Modify the RHS vector (in this example F2 and F5) such that the forces corresponding to the freedoms to be fixed are set equal to the augmented diagonal term multiplied by the prescribed value. modified stiffness modified rhs modified stiffness modified rhs Large numbers “swamp” the smaller ones giving the desired result:

24 holds the locations of the diagonals
EFFICIENT STORAGE OF SYMMETRIC BANDED MATRICES In nearly all finite element analyses, the global matrices are banded, And symmetrical. The most efficient storage strategy is called the “skyline” method. Consider a system of 6 equations: Extra vector kdiag=[ ] holds the locations of the diagonals

25 EA(x)=300 F(x)=5 WORKED EXAMPLE 2.0
1 2 3 4 Each element has the same EA=300 and L=0.5, hence all elements have the same stiffness matrix given by: Loading is uniform, so each element has the same force vector given by:

26 After assembly of [K] and {F} we have:
Solution by Gaussian elimination gives:

27 Alternative approach in which all freedoms are numbered (whether we know them or not).
2.0 EA(x)=300 F(x)=5 2 3 4 5 1 Assemble all five equations to give:

28 Computer programs would use the “stiff spring” approach to fix U1=0
For hand calculation purposes, its easier to enter the known value(s) and remove the row(s) in [K] and {F} corresponding to the fixed freedoms, thus: Initial assembled System: Same equations and solution as before with different freedom numbering. Modified system: Rearrange the remaining 4 equations:

29 We rarely have the luxury of an analytical option in FE analysis……..
Analytical check We rarely have the luxury of an analytical option in FE analysis…….. …..but in this case we do. Governing equation: Integrate once: hence Integrate again: hence x u (analytical) u(FE) 0.0 0.5 0.0146 1.0 0.025 1.5 0.0313 2.0 0.033 FE solution is exact at the nodes but not between the nodes

30 Postprocessing Element 1: Element 2: Element 3: Element 4: 8.75 6.25
3.75 Element 3: 1.25 Element 4:

31 Next, if the applied loading involved the use of “equivalent nodal loads”
they must be subtracted from the “actions” for each element, e.g. 8.75 “actions” Element 1: - 1.25 “equivalent nodal loads” = 10.0 7.50 “actual end forces” Similarly for elements 2,3 and 4 Element 2: 7.50 5.00 “actual end forces” Element 3: 5.00 2.50 “actual end forces” Element 4: 2.50 0.00 “actual end forces”

32 Note internal and external equilibrium satisfied.
….FINALLY… Reaction forces: 10.0 7.5 5 Element 1 0.5 5 5.0 Element 2 2.5 5 Element 3 0.0 5 Element 4 Note internal and external equilibrium satisfied.

33 Program 4.1 One dimensional analysis of axially loaded elastic rods
using 2-node rod elements. Structure Chart for Program 4.1

34 PROGRAM p41 ! ! Program 4.1 One dimensional analysis of axially loaded elastic rods ! using 2-node rod elements. USE main; IMPLICIT NONE INTEGER,PARAMETER::iwp=SELECTED_REAL_KIND(15) INTEGER::fixed_freedoms,i,iel,k,loaded_nodes,ndof=2,nels,neq,nod=2, & nodof=1,nn,nprops=1,np_types,nr REAL(iwp)::penalty=1.0e20_iwp,zero=0.0_iwp ! dynamic arrays INTEGER,ALLOCATABLE::etype(:),g(:),g_g(:,:),kdiag(:),nf(:,:),no(:), & node(:),num(:) REAL(iwp),ALLOCATABLE::action(:),eld(:),ell(:),km(:,:),kv(:),loads(:), & prop(:,:),value(:) ! input and initialisation OPEN(10,FILE='fe95.dat'); OPEN(11,FILE='fe95.res') READ(10,*)nels,np_types; nn=nels+1 ALLOCATE(g(ndof),num(nod),nf(nodof,nn),etype(nels),ell(nels),eld(ndof), & km(ndof,ndof),action(ndof),g_g(ndof,nels),prop(nprops,np_types)) READ(10,*)prop; etype=1; IF(np_types>1)READ(10,*)etype; READ(10,*)ell nf=1; READ(10,*)nr,(k,nf(:,k),i=1,nr); CALL formnf(nf); neq=MAXVAL(nf) ALLOCATE(kdiag(neq),loads(0:neq)); kdiag=0 ! loop the elements to find global arrays sizes----- elements_1: DO iel=1,nels num=(/iel,iel+1/); CALL num_to_g(num,nf,g); g_g(:,iel)=g; CALL fkdiag(kdiag,g) END DO elements_1 DO i=2,neq; kdiag(i)=kdiag(i)+kdiag(i-1); END DO; ALLOCATE(kv(kdiag(neq))) WRITE(11,'(2(A,I5))') & " There are",neq," equations and the skyline storage is",kdiag(neq)

35 !-----------------------global stiffness matrix assembly------------------
kv=zero elements_2: DO iel=1,nels CALL rod_km(km,prop(1,etype(iel)),ell(iel)); g=g_g(:,iel) CALL fsparv(kv,km,g,kdiag) END DO elements_2 ! read loads and/or displacements loads=zero; READ(10,*)loaded_nodes,(k,loads(nf(:,k)),i=1,loaded_nodes) READ(10,*)fixed_freedoms IF(fixed_freedoms/=0)THEN ALLOCATE(node(fixed_freedoms),no(fixed_freedoms),value(fixed_freedoms)) READ(10,*)(node(i),value(i),i=1,fixed_freedoms) DO i=1,fixed_freedoms; no(i)=nf(1,node(i)); END DO kv(kdiag(no))=kv(kdiag(no))+penalty; loads(no)=kv(kdiag(no))*value END IF ! equation solution CALL sparin(kv,kdiag); CALL spabac(kv,loads,kdiag); loads(0)=zero WRITE(11,'(/A)')" Node Disp" DO k=1,nn; WRITE(11,'(I5,2E12.4)')k,loads(nf(:,k)); END DO ! retrieve element end actions WRITE(11,'(/A)')" Element Actions" elements_3: DO iel=1,nels CALL rod_km(km,prop(1,etype(iel)),ell(iel)); g=g_g(:,iel); eld=loads(g) action=MATMUL(km,eld); WRITE(11,'(I5,2E12.4)')iel,action END DO elements_3 STOP END PROGRAM p41

36 4 1 1 5 0 5 Data file

37 There are 4 equations and the skyline storage is 7
Node Disp E-04 E-04 E-04 E-04 E+00 Element Actions E E+00 E E+01 E E+01 E E+01

38 4 2 1 1 0 Data file

39 There are 4 equations and the skyline storage is 7
Node Disp E+00 E-01 E-01 E-01 E-01 Element Actions E E+02 E E+02 E E+02 E E+02


Download ppt "Our task is to estimate the axial displacement u at any section x"

Similar presentations


Ads by Google