rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
ldg_evaluate.m
1 function res = ldg_evaluate(df, eindices, lcoord)
2 %function res = ldg_evaluate(df, eindices, lcoord)
3 %
4 % method evaluating a ldg function in local coordinates in the point
5 % `\hat x` = lcoord in several elements simultaneously given by
6 % indices eindices.
7 % res is a length(eindices) x dimrange vector
8 
9 % Bernard Haasdonk 28.1.2009
10 
11 % evaluate all reference basis functions in the lcoords,
12 % is a ndofs_per_element x dimrange matrix
13 basis_values = ldg_evaluate_basis(lcoord,df);
14 
15 %res = zeros(params.dimrange,length(eindices));
16 %res = zeros(length(eindices),params.dimrange);
17 % linear combination with DOFS to get function values
18 
19 d = reshape(df.dofs,df.ndofs_per_element,df.nelements);
20 
21 % small loop over basis functions
22 %for i = 1:params.ndofs_per_element
23 %% res = res + basis_values(:,i) * d(i,eindices);
24 % res = res + d(eindices,i)* basis_values(i,:);
25 %end;
26 
27 %res = basis_values' * d(:,eindices);
28 res = d(:,eindices)' * basis_values;
29 
30 %ldg_evaluate_basis([0,0],params)'*dofs(1,:)'
31 %| \docupdate