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