separated constant part in module_w_assembly.f90
[wrf-fire-matlab.git] / femwind / gradbfs.m
blobeec32e74c52b567c187465c42205d1b575798abd
1 function g=gradbfs(x)  
2 % gradients of basis functions
3 % in:
4 %   x   vector size 3
5 % out:
6 %   g   matrix with each row gradient of one basis function
7     Nb=8;
8     ib =[  % coordinates of basis functions
9     -1    -1    -1
10      1    -1    -1
11     -1     1    -1
12      1     1    -1
13     -1    -1     1
14      1    -1     1
15     -1     1     1
16      1     1     1];
17     g=zeros(Nb,3);
18     for k=1:Nb
19         % b(k) = (1+ib(k,1)*x(1))*(1+ib(k,2)*x(2))*(1+ib(k,3)*x(3)); % basis functions
20         g(k,:)= [ib(k,1)*(1+ib(k,2)*x(2))*(1+ib(k,3)*x(3)),... % d/d(x(1))
21                 (1+ib(k,1)*x(1))*ib(k,2)*(1+ib(k,3)*x(3)),... % d/d(x(2))
22                 (1+ib(k,1)*x(1))*(1+ib(k,2)*x(2))*ib(k,3)]/8; % d/d(x(3))
23     end
24 end