codes for one-dimensional interval finite element, viz. spring, linear bar, and quadratic bar elements. A systematic procedure is followed to develop the MATLAB.
CHAPTER 5
MATLAB® Code for One-Dimensional Interval Finite Element In this chapter, we include MATLAB® codes for one-dimensional interval finite element, viz. spring, linear bar, and quadratic bar elements. A systematic procedure is followed to develop the MATLAB® codes. A set of MATLAB® functions are created first and then these are executed to investigate the example problems.
5.1 MATLAB® CODE FOR SPRING ELEMENT Spring element is a one-dimensional finite element that has two degrees of freedom at each end. The spring constant has been taken as an interval and, for simplicity, the interval spring constant kI is written further as k only. The interval constant k is written as kI ¼ ½a, b ¼ k ¼ a + w ½0, 1
(5.1)
where a and b are the left and the right bounds of the interval spring constant k and w ¼ b a is the width of the interval. Interval (Eq. 5.1) can be represented in the following parametric form k ¼ a + wα
(5.2)
where α ¼ [0, 1]. This generic form is used in further discussion. Considering this symbolic form for spring constant, the interval elemental stiffness matrix is written as k k K¼ (5.3) k k Since the spring element has two degrees of freedom, the interval elemental stiffness matrix is of order 2 2. Hence, for a system of n 1 elements (n nodes), the size of the global stiffness matrix KG will be of order n n. Interval Finite Element Method with MATLAB® https://doi.org/10.1016/B978-0-12-812973-9.00005-9
© 2018 Elsevier Inc. All rights reserved.
47
Interval Finite Element Method with MATLAB®
48
Here, the global stiffness matrix KG is obtained by assembling the element stiffness matrices Ki , i ¼ 1 , 2 , … , n, using the procedure given in Section 4.1 of Chapter 4. After the formation of global stiffness matrix KG, we get the following system of equations ½KGfU g ¼ fF g
(5.4)
where U and F are called the global nodal displacement and global nodal force vectors, respectively. Next, the boundary conditions are implemented to the vectors U and F, and then Eq. (5.4) may be solved by any standard methods for the system of equations. In the following, we develop various MATLAB® functions that may be used for the spring element (Kattan, 2007; Chakraverty and Nayak, 2012).
5.1.1 MATLAB® Functions for Spring Element 1. SpringElementStiffness (a, b, alpha) This MATLAB® function calculates the element stiffness matrix for a spring with stiffness k. Here, a and b are the left and the right bounds of interval spring constant k, whereas alpha belongs to [0, 1]. The size of the element stiffness matrix is 2 2. function y = SpringElementStiffness (a,b,alpha) %SpringElementStiffness
This function returns the element stiffness
%
matrix for a spring with stiffness K. Here, a
%
and b are the left and right bound of interval
%
spring constant; alpha belongs to [0, 1]. The
%
size of the element stiffness matrix is 2 by 2.
k= a+(b-a)*alpha; y=[k -k;-k k];
2. SpringElementAssemble (KG, K, i, j) This MATLAB® function is used to assemble the elemental stiffness matrix K of the spring whose nodes are i (left-end node) and j (right-end node) into the global stiffness matrix KG. This function gives n n global stiffness matrix KG. function y = SpringElementAssemble (KG,K,i,j) % SpringElementAssemble
This function gives global stiffness
%
matrix KG after the elemental stiffness matrix
%
K is assembled.
%
It assembles the element stiffness matrix K
%
of the spring with nodes i and j into
%
the global stiffness matrix KG.
MATLAB® Code for One-Dimensional Interval Finite Element
49
KG(i,i) = KG(i,i)+K(1,1); KG(i,j) = KG(i,j)+K(1,2); KG(j,i) = KG(j,i)+K(2,1); KG(j,j) = KG(j,j)+K(2,2); y=KG;
3. SpringElementForces (K, u) This MATLAB® function is used to calculate the element force vector and it returns 2 1 vector. function y = SpringElementForces (K,u) % SpringElementForces
This function returns the elemental nodal force
%
vector for the element stiffness matrix K and
%
the elemental nodal displacement vector u.
y=K*u;
Let us now introduce the algorithm to write the program of spring element using these MATLAB® functions. Step 1: Discretization of the domain The domain is discretized into a finite number of elements. Then, the element connectivity table is obtained. Step 2: Evaluation of element stiffness matrices Element stiffness matrices Ki , i ¼ 1 , 2 , … , n are obtained by using the MATLAB® function “SpringElementStiffness.” Step 3: Evaluation of global stiffness matrix Element stiffness matrices are assembled by using the MATLAB® function “SpringElementAssemble” and global stiffness matrix is generated. Step 4: Application of boundary conditions Boundary conditions are applied to the global stiffness matrix and a global system of equations are formed. Step 5: Solution of system of equations A system of equations (after applying boundary conditions to the global system of equations) are solved. The unknown variables are obtained using the MATLAB® function “SpringElementForces.” Example 5.1 Let us consider a system of three spring elements shown in Fig. 5.1. Here, the interval spring constants are taken as k1 ¼ k3 ¼ [90, 100] kN/m, k2 ¼ [190, 200] kN/m, and the force is considered as P ¼ 25 kN. Displacements at nodes 2, 3, and 4 are investigated. The spring system (Fig. 5.1) is discretized into three elements, which are connected end to end. In view of the discretized elements, the element
50
Interval Finite Element Method with MATLAB®
Fig. 5.1 System of spring elements. Table 5.1 Element connectivity for spring system Element number Node i Node j
1 2 3
1 2 3
2 3 4
connectivity is presented in Table 5.1. The first and the last nodes of the element are represented by i and j, respectively. In Fig. 5.1, the first node (node 1) is fixed; hence, the displacement at node 1 is zero. However, a force P ¼ 25 kN is subjected at node 4. So, we need to investigate only the nodal displacements at nodes 2, 3, and 4. Considering the architecture of the elements and the MATLAB® functions, Code 5.1 is developed to investigate the displacements. The Code 5.1 is given only for the alpha (α) value of zero.
Code 5.1: Spring Element % – –––– ––– –––– ––– –––– – – – – – – – – – – % Stiffness matrices of the elements % – –––– ––– –––– ––– –––– – – – – – – – – – – K1= SpringElementStiffness(90,100,0); K2= SpringElementStiffness(190,200,0); K3= SpringElementStiffness(90,100,0); % – –––– ––– –––– ––– –––– – – – – – – – – – – % Assembling of the stiffness matrices % – –––– ––– –––– ––– –––– – – – – – – – – – – KG= zeros(4,4); KG= SpringElementAssemble (KG,K1,1,2); KG= SpringElementAssemble (KG,K2,2,3); KG= SpringElementAssemble (KG,K3,3,4); % – –––– ––– –––– ––– –––– – – – – – – – – – – % Boundary conditions % – –––– ––– –––– ––– –––– – – – – – – – – – – K=KG(2:4,2:4); f=[0;0;25]; % – –––– ––– –––– ––– –––– – – – – – – – – – – % Nodal displacements % – –––– ––– –––– ––– –––– – – – – – – – – – – u=inv(K)*f
MATLAB® Code for One-Dimensional Interval Finite Element
51
Table 5.2 Nodal displacements of spring system for different α values α50 α 5 0.2 α 5 0.4 α 5 0.6 α 5 0.8
α51
u2 u3 u4
0.2500 0.3750 0.6250
0.2778 0.4094 0.6871
0.2717 0.4019 0.6737
0.2660 0.3948 0.6608
0.2604 0.3880 0.6484
0.2551 0.3814 0.6365
Table 5.3 United solution for spring system
u2 u3 u4
[0.25, 0.2778] [0.3750, 0.4094] [0.6250, 0.6871]
Using Code 5.1 for different values of alpha (α), nodal displacements for the same systems are obtained, which are given in Table 5.2. The union of these displacements generates the united solution (displacements) of the system. Considering the various displacements in Table 5.2, we get the following interval solution (united solution) for the system depicted in Table 5.3.
5.2 MATLAB® CODE FOR LINEAR BAR ELEMENT Linear bar element is a one-dimensional finite element and it has two degrees of freedom each at one end. In this case, the stiffness is not given directly like spring element but it has to be calculated. Consider a linear bar element having interval modulus of elasticity EI, length l, and cross-section area as A. For simplicity, the interval modulus of elasticity EI is considered as E and the same is defined as E I ¼ ½a, b ¼ E ¼ a + w ½0, 1
(5.5)
where a and b are the left and the right bounds of the interval modulus of elasticity E; w ¼ b a is the width of the interval. Interval (Eq. 5.5) can be represented in the parametric form E I ¼ ½a, b ¼ E ¼ a + wα
(5.6)
where α ¼ [0, 1]. The interval elemental stiffness matrix for linear bar element is defined as k k K¼ (5.7) k k
Interval Finite Element Method with MATLAB®
52
where k ¼ EA l . The interval elemental stiffness matrix is of order 2 2 due to the two degrees of freedom at two nodes. If we consider a generalized system of n 1 elements (n nodes), then the size of the global stiffness matrix KG will be of order n n. The global stiffness matrix KG is obtained by assembling all the element stiffness matrices Ki , i ¼ 1 , 2 , … , n, using the procedure mentioned in Section 4.2 of Chapter 4. Then, the force vectors are assembled and a global system of equations (Eq. 5.4) are obtained. Further, the boundary conditions are applied to Eq. (5.4) and unknown field variables are investigated by using any standard methods for the system of equations. Next, we will discuss various MATLAB® functions developed for the linear bar element (Kattan, 2007; Chakraverty and Nayak, 2013).
5.2.1 MATLAB® Functions for Linear Bar Element 1. LinearBarElementStiffness (a, b, alpha, A, l) This MATLAB® function calculates the element stiffness matrix for a linear bar element with interval modulus of elasticity E, cross-section area A, and length l. Here, a and b are the left and the right bounds of interval modulus of elasticity, and alpha belongs to [0, 1]. This function returns element stiffness matrix of size 2 2. function y = LinearBarElementStiffness (a,b,alpha,A,l) %
LinearBarElementStiffness This function stiffness
gives
the
element
%
matrix for a linear bar having modulus of
%
elasticity E, cross sectional area A, and
%
length l.
E= a+(b-a)*alpha; k= E*A/l; y=[k -k;-k k];
2. LinearBarElementAssemble (KG, K, i, j) The MATLAB® function is used to assemble the elemental stiffness matrix K of the linear bar element whose nodes are i (left-end node) and j (right-end node) into the global stiffness matrix KG. This function gives n n global stiffness matrix KG. function y = LinearBarElementAssemble (KG,K,i,j) % LinearBarElementAssemble
This function gives global stiffness matrix
%
KG after the element stiffness matrix K is
%
assembled with nodes i and j.
KG(i,i) = KG(i,i)+K(1,1);
MATLAB® Code for One-Dimensional Interval Finite Element
53
KG(i,j) = KG(i,j)+K(1,2); KG(j,i) = KG(j,i)+K(2,1); KG(j,j) = KG(j,j)+K(2,2); y=KG;
3. LinearBarElementForces (K, u) This MATLAB® function is used to calculate the element force vector and it returns 2 1 vector. function y = LinearBarElementForces (K,u) % LinearBarElementForces This function returns the element nodal force %
vector given the element stiffness matrix K and
%
the element nodal displacement vector u.
y=K*u;
4. LinearBarElementStresses (K, u, A) The titled MATLAB® function is used to obtain the element nodal stress vector when the stiffness matrix K, nodal displacement u, and cross-sectional area A are given. function y = LinearBarElementStresses (K,u,A) % LinearBarElementStresses
This function gives the element nodal
%
stress vector when the element stiffness
%
matrix K, the element nodal displacement
%
vector u and the cross sectional area A is given.
y=K*u/A;
In the following, we introduce the algorithm to write the program for linear bar element using these MATLAB® functions. Step 1: Discretization of the domain The domain is discretized into a finite number of elements and the element connectivity table is obtained. Step 2: Evaluation of element stiffness matrices Element stiffness matrices Ki , i ¼ 1 , 2 , … , n are generated by using the MATLAB® function “LinearBarElementStiffness.” Step 3: Evaluation of global stiffness matrix The element stiffness matrices are assembled by using the MATLAB® function “LinearBarElementAssemble” and global stiffness matrix is formed. Step 4: Application of boundary conditions The boundary conditions are applied to the global stiffness matrix and global system of equations.
54
Interval Finite Element Method with MATLAB®
Step 5: Solution of system of equations The system of equations (after applying boundary conditions to the global system of equations) are solved. The unknown variables are obtained using the MATLAB® function “LinearBarElementForces.” Step 6: Evaluation of element nodal stress vector The element nodal stresses are found by using the MATLAB® function “LinearBarElementStresses” when element stiffness matrix K, nodal displacement vector u, and cross-sectional area A are given. Example 5.2 Let us consider a bar structure problem, which is composed of three linear bars shown in Fig. 5.2. Here, the interval modulus of elasticity is E ¼ [200, 220] Pa, area of each linear bar element is A ¼ 0.005 m2, and the external force is P ¼ 15 kN. We will then investigate the displacements at each node. The linear bar element structure (Fig. 5.2) is discretized into three elements, which are connected end to end. In view of the discretized elements, the element connectivity in Table 5.4 is presented where the nodes i and j represent the first and the last node of each element, respectively. In Fig. 5.2, the first node (node 1) is fixed; hence, the displacement at node 1 is zero. However, a force P ¼ 15 kN is subjected at node 3. So, we have to investigate only the nodal displacements at nodes 2, 3, and 4. Considering the architecture of elements and these MATLAB® functions, Code 5.2 is developed to investigate the unknown displacements. Code 5.2 is given only for the alpha (α) value of zero.
Fig. 5.2 System of linear bar elements. Table 5.4 Element connectivity for linear bar system Element number Node i Node j
1 2 3
1 2 3
2 3 4
MATLAB® Code for One-Dimensional Interval Finite Element
55
Code 5.2: Linear Bar Element A=0.005; l1=1.5; l2=1; l3=1.5; % –– –––– ––– –––– ––– ––– – – – – – – – – – – % Stiffness matrices of the elements % –– –––– ––– –––– ––– ––– – – – – – – – – – – K1=LinearBarElementStiffness (200,220,0,A,l1); K2=LinearBarElementStiffness (200,220,0,A,l2); K3=LinearBarElementStiffness (200,220,0,A,l3); % –– –––– ––– –––– ––– ––– – – – – – – – – – – % Assembling of the stiffness matrices % –– –––– ––– –––– ––– ––– – – – – – – – – – – KG=zeros(4,4); KG=LinearBarElementAssemble (KG,K1,1,2); KG=LinearBarElementAssemble (KG,K2,2,3); KG=LinearBarElementAssemble (KG,K3,3,4); % –– –––– ––– –––– ––– ––– – – – – – – – – – – % Boundary conditions % –– –––– ––– –––– ––– ––– – – – – – – – – – – K=KG(2:4,2:4); f=[0;15;20]; % –– –––– ––– –––– ––– ––– – – – – – – – – – – % Nodal displacements % –– –––– ––– –––– ––– ––– – – – – – – – – – – u=inv(K)*f
Code 5.2 can be simulated for different values of alpha (α) and the displacements are obtained. Nodal displacements of the linear bar system for various α values are given in Table 5.5. The union of these displacements generates the united solution (displacements) of the system. Now, taking the displacements presented in Table 5.5, we have the following interval solution (united solution) for the linear bar system, which are presented in Table 5.6.
5.3 MATLAB® CODE FOR QUADRATIC BAR ELEMENT The quadratic bar element is also a one-dimensional finite element, which has three nodes where the third node is situated in the middle of the element
56
Interval Finite Element Method with MATLAB®
Table 5.5 Nodal displacements of linear bar system for different α values α50 α 5 0.2 α 5 0.4 α 5 0.6 α 5 0.8
α51
u2 u3 u4
20.4545 34.0909 34.0909
22.5 37.5 37.5
22.0588 36.7647 36.7647
21.6346 36.0577 36.0577
21.2264 35.3774 35.3774
20.8333 34.7222 34.7222
Table 5.6 United solution for linear bar system
u2 u3 u4
[20.4545, 22.5] [34.0909, 37.5] [34.0909, 37.5]
and it has three degrees of freedom at each node. The quadratic bar element is characterized by quadratic shape functions, which has length l, crosssectional area A, and interval modulus of elasticity EI. For simplicity, the interval modulus of elasticity EI is again considered as E. The interval modulus of elasticity E and its parametric form are defined in Eqs. (5.5), (5.6), respectively. The element stiffness matrix for quadratic bar element may be written as 2 3 7 1 8 (5.8) K ¼ k4 1 7 8 5 8 8 16 where k ¼ EA 3l . The interval elemental stiffness matrix is of order 3 3 due to the three degrees of freedom, one at each node. For a structure or domain with n nodes, we obtain a global stiffness matrix KG of size n n. Here, the order of the node plays an important role. The first node is at the left end, the second node is at the right end, and the third node lies in the middle of the element. The elemental stiffness matrices are assembled and the global stiffness matrix KG is obtained. Considering the global stiffness matrix along with the global displacement vectors and global force vectors, we get the global elemental equation (5.4). Finally, the boundary conditions are applied to Eq. (5.4) and unknown field variables are investigated by using standard methods for the system of equations. Next, we will discuss various MATLAB® functions developed for the quadratic bar element (Pratap, 2005; Chakraverty and Nayak, 2012).
MATLAB® Code for One-Dimensional Interval Finite Element
57
5.3.1 MATLAB® Functions for Quadratic Bar Element 1. QuadraticBarElementStiffness (a, b, alpha, A, l) This MATLAB® function calculates the element stiffness matrix for a quadratic bar element with interval modulus of elasticity E, cross-section area A, and length l. Here, a and b are the left and the right bound of interval modulus of elasticity, and alpha belongs to [0, 1]. This function returns element stiffness matrix of size 3 3. function y = QuadraticBarElementStiffness(a,b,alpha,A,l) % QuadraticBarElementStiffness
This function gives the element
%
stiffness matrix for a quadratic bar
%
element with modulus of elasticity E,
%
cross-sectional area A and length l.
E=a +(b-a)*alpha; k=(E*A/(3*l)); y=k*[7 1 -8;1 7 -8;-8 -8 16];
2. QuadraticBarElementAssemble (KG, K, i, j, m) The titled MATLAB® function is used to assemble the elemental stiffness matrix K of the quadratic bar element whose nodes are i (left-end node), j (right-end node), and m (middle node) into the global stiffness matrix KG. This function gives n n global stiffness matrix KG. function y = QuadraticBarElementAssemble (KG, K, i, j, m) %
QuadraticBarElementAssemble This function stiffness
%
gives
the
global
matrix KG after the element stiffness
%
matrix K is assembled with nodes i, j,
%
and m.
KG(i,i)=KG(i,i)+K(1,1); KG(i,j)=KG(i,j)+K(1,2); KG(i,m)=KG(i,m)+K(1,3); KG(j,i)=KG(j,i)+K(2,1); KG(j,j)=KG(j,j)+K(2,2); KG(j,m)=KG(j,m)+K(2,3); KG(m,i)=KG(m,i)+K(3,1); KG(m,j)=KG(m,j)+K(3,2); KG(m,m)=KG(m,m)+K(3,3); y=KG;
3. QuadraticBarElementForces (K, u) This MATLAB® function is used to calculate the element force vector, which returns 3 1 vector.
Interval Finite Element Method with MATLAB®
58
function y = QuadraticBarElementForces (K, u) % QuadraticBarElementForces
This function gives the element nodal
%
force vector where the element stiffness
%
matrix K and the element nodal displacement
%
vector u are given.
y= K*u;
4. QudraticBarElementStresses (K, u, A) It is used to obtain the element nodal stress vector when the stiffness matrix K, nodal displacement u, and cross-sectional area A are given. function y = QudraticBarElementStresses (K, u, A) % QudraticBarElementStresses This function gives the element nodal %
stress vector when the element stiffness
%
matrix K, the element nodal displacement
%
vector u and the cross-sectional area A are given.
y= K*u/A;
In the following, we have included the algorithm to write the program for quadratic bar element using the MATLAB® functions for quadratic bar element. Step 1: Discretization of the domain The domain is discretized into a finite number of elements and the element connectivity table is obtained. Step 2: Evaluation element stiffness matrices Element stiffness matrices Ki , i ¼ 1 , 2 , … , n are formed by using the MATLAB® function “QuadraticBarElementStiffness.” Step 3: Evaluation global stiffness matrix. The element stiffness matrices are assembled by using the MATLAB® function “QuadraticBarElementAssemble” and global stiffness matrix is generated. Step 4: Application of boundary conditions The boundary conditions are applied to the global stiffness matrix and the global system of equations. Step 5: Solution of system of equations The system of equations (after applying boundary conditions to the global system of equations) are solved. Unknown variables are found by using the MATLAB® function “QuadraticBarElementForces.” Step 6: Evaluation of element nodal stress vector The element nodal stresses are obtained by using the MATLAB® function “QuadraticBarElementStresses” when element stiffness matrix K, nodal displacement vector u, and cross-sectional area A are given.
MATLAB® Code for One-Dimensional Interval Finite Element
59
Example 5.3 Consider a system composed of two quadratic bar elements as shown in Fig. 5.3. Given the interval modulus of elasticity E ¼ [200, 220] GPa, area of each element A ¼ 0.005 m2, the external force P ¼ 15 kN, and node 5 is displaced to the right by 0.005 m. Next, let us investigate the displacements at each node. The quadratic bar element system (Fig. 5.3) is discretized into two elements having three nodes each, which are connected end to end. In view of the discretized elements for quadratic bar element, the element connectivity in Table 5.7 is presented. The nodes i and j represent the first and the last nodes of the element, whereas node m lies in center of the element. In Fig. 5.3, the first node (node 1) and the last node (node 5) are fixed; hence, the displacements at nodes 1 and 5 are zero. A force P ¼ 15 kN is subjected at node 3. So, we need to investigate only the nodal displacements at nodes 2, 3, and 4. In view of the architecture of elements shown in Fig. 5.3 and the MATLAB® functions for quadratic bar element, Code 5.3 is developed to investigate the nodal displacements. Code 5.3 is given only for the alpha (α) value of zero.
Fig. 5.3 System of quadratic bar elements.
Table 5.7 Element connectivity for quadratic bar system Element number Node i Node m
Node j
1 2
3 5
1 3
2 4
60
Interval Finite Element Method with MATLAB®
Code 5.3: Quadratic Bar Element A=0.005; l1= 1; l2= 0.75; u5= 0.005; % – –––– ––– –––– ––– –––– – – – – – – – – – – % Stiffness matrices of the elements % – –––– ––– –––– ––– –––– – – – – – – – – – – K1= QuadraticBarElementStiffness (200,220,0,A,l1); K2= QuadraticBarElementStiffness (200,220,0,A,l2); % – –––– ––– –––– ––– –––– – – – – – – – – – – % Assembling of the stiffness matrices % – –––– ––– –––– ––– –––– – – – – – – – – – – KG= zeros(5,5); KG= QuadraticBarElementAssemble (KG,K1,1,3,2); KG= QuadraticBarElementAssemble (KG,K2,3,5,4); % – –––– ––– –––– ––– –––– – – – – – – – – – – % Boundary conditions % – –––– ––– –––– ––– –––– – – – – – – – – – – K=KG(2:4,2:4); K0=[KG(5,2);KG(5,3);KG(5,4)]; f=[0;15;0]; f0= f-K0*u5 % – –––– ––– –––– ––– –––– – – – – – – – – – – % Nodal displacements % – –––– ––– –––– ––– –––– – – – – – – – – – – u=inv(K)*f0
Code 5.3 can be simulated by taking different values for alpha (α) and the displacements are obtained. Nodal displacements of the linear bar system for various α values are given in Table 5.8. The union of these displacements generates the united solution (displacements) of the system.
Table 5.8 Nodal displacements of quadratic bar system for different α values α50 α 5 0.2 α 5 0.4 α 5 0.6 α 5 0.8 α51
u2 u3 u4
3.2157 6.4314 3.2182
3.1527 6.3054 3.1552
3.0921 6.1842 3.0946
3.0338 6.0675 3.0363
2.9776 5.9552 2.9801
2.9235 5.8470 2.9260
MATLAB® Code for One-Dimensional Interval Finite Element
61
Table 5.9 United solution for quadratic bar system
u2 u3 u4
[2.9235, 3.2157] [5.8470, 6.4314] [2.9260, 3.2182]
Now, considering the displacements presented in Table 5.8, we have the interval solution (united solution) for the quadratic bar system, which are presented in Table 5.9.
REFERENCES Chakraverty, S., Nayak, S., 2012. Fuzzy finite element method for solving uncertain heat conduction problems. Coupled Syst. Mech. 1 (4), 345–360. Chakraverty, S., Nayak, S., 2013. Fuzzy finite element method in diffusion problems. In: Mathematics of Uncertainty Modeling in the Analysis of Engineering and Science Problems. IGI Publication, USA. Kattan, P.I., 2007. MATLAB Guide to Finite Elements: An Interactive Approach, second ed. Springer, New York. Pratap, R., 2005. Getting Started With MATLAB 7: A Quick Introduction for Scientists and Engineers (The Oxford Series in Electrical and Computer Engineering). Oxford University Press, New York.