OptFEM3DP1 Toolbox  20130618_070730
Matlab/Octave Optimized P1-Lagrange Finite Element Method in 3D
 All Files Functions Variables Pages
ElemStiffElasMat3DBaP1.m
Go to the documentation of this file.
1 function [Elem]=ElemStiffElasMat3DBaP1(ql,V,H)
2 % NAME
3 % [Elem]=ElemStiffElasMat3DBaP1(ql,V,H)
4 % INPUTS
5 % area : double (element volume)
6 % ql : matrix 3x4
7 % ql(:,il) ...
8 % H : Hooke matrix (6x6)
9 % OUTPUTS
10 % Elem : matrix 12x12
11 % DESCRIPTION
12 % Compute P1-Lagrange elementary Stiff matrix.
13 % Numbering of local points in reference element is :
14 % P=[(0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1)]
15 %----------------------------------------
16 % Automatic generation with sage
17 % (c) Cuvelier F. email:cuvelier@math.univ-paris13.fr
18 % Copyright:
19 % See \ref license
20 D12=ql(:,1)-ql(:,2);
21 D13=ql(:,1)-ql(:,3);
22 D14=ql(:,1)-ql(:,4);
23 D23=ql(:,2)-ql(:,3);
24 D24=ql(:,2)-ql(:,4);
25 D34=ql(:,3)-ql(:,4);
26 M=zeros(3,4);
27 M(1,1)=-D23(2)*D24(3) + D23(3)*D24(2);
28 M(2,1)=D23(1)*D24(3) - D23(3)*D24(1);
29 M(3,1)=-D23(1)*D24(2) + D23(2)*D24(1);
30 M(1,2)=D13(2)*D14(3) - D13(3)*D14(2);
31 M(2,2)=-D13(1)*D14(3) + D13(3)*D14(1);
32 M(3,2)=D13(1)*D14(2) - D13(2)*D14(1);
33 M(1,3)=-D12(2)*D14(3) + D12(3)*D14(2);
34 M(2,3)=D12(1)*D14(3) - D12(3)*D14(1);
35 M(3,3)=-D12(1)*D14(2) + D12(2)*D14(1);
36 M(1,4)=D12(2)*D13(3) - D12(3)*D13(2);
37 M(2,4)=-D12(1)*D13(3) + D12(3)*D13(1);
38 M(3,4)=D12(1)*D13(2) - D12(2)*D13(1);
39 B=zeros(12,6);
40 k=0;
41 for il=1:4
42  B(1+k,[1,4,5])=M(:,il);
43  B(2+k,[4,2,6])=M(:,il);
44  B(3+k,[5,6,3])=M(:,il);
45  k=k+3;
46 end
47 
48 Elem=B*H*B'/(36*V);