![]() |
OptFEM2DP1 Toolbox
1.2b4
Matlab/Octave Optimized P1-Lagrange Finite Element Method in 2D
|
00001 function [Elem]=ElemStiffElasMatP1Bb(q1,q2,q3,area,lambda,mu) 00002 % function [Elem]=ElemStiffElasMatP1Bb(q1,q2,q3,area,lambda,mu) 00003 % Computation of the element stiffness elasticity matrix for 00004 % `P_1`-Lagrange method. 00005 % The method for numbering the degrees of freedom is local block numbering 00006 % 00007 % The elasticity matrix obtained from Hooke's law is given by: 00008 % ``C=\left\{\begin{array}[ccc] 00009 % &\lambda+2\mu &\lambda &0\\ 00010 % &\lambda &\lambda+2\mu &0\\ 00011 % &0 &0 &\mu 00012 % \end{array} 00013 % \right.`` 00014 % 00015 00016 % C=[L + 2*M L 0] 00017 % [ L L + 2*M 0] 00018 % [ 0 0 M] 00019 % Numbering of local points in reference element is : 00020 % P=[(0, 0), (1, 0), (0, 1)] 00021 % 00022 % Parameters: 00023 % q1 : array of coordinates of the first point of the triangle 00024 % q2 : array of coordinates of the second point of the triangle 00025 % q3 : array of coordinates of the third point of the triangle 00026 % area : triangle area 00027 % lambda : first Lame coefficient in Hooke's law 00028 % mu : second Lame coefficient in Hooke's law 00029 % 00030 % Return values: 00031 % Elem : element stiffness elasticity matrix, 6-by-6 matrix 00032 % 00033 % Example: 00034 % @verbatim 00035 % q1=[0;0];q2=[1;0];q3=[0;1]; 00036 % area=1/2.; 00037 % lambda=1.; mu=1.; 00038 % KElem=ElemStiffElasMatP1Bb(q1,q2,q3,area,lambda,mu); 00039 % @endverbatim 00040 00041 % Copyright: 00042 % See \ref license 00043 00044 u=q2-q3; 00045 v=q3-q1; 00046 w=q1-q2; 00047 % Matrice de Hooke 00048 C=[lambda+2*mu,lambda,0;lambda,lambda+2*mu,0;0,0,mu]; 00049 % Matrice des déformations (x par 2*area) 00050 B=[u(2),v(2),w(2),0,0,0; ... 00051 0,0,0,-u(1),-v(1),-w(1); ... 00052 -u(1),-v(1),-w(1),u(2),v(2),w(2)]; 00053 Elem=B'*C*B/(4*area);