rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
edge_quad_eval.m
1 function F = edge_quad_eval(grid,elids,edgeids,degree,FF)
2 %function F = edge_quad_eval(grid,elids,edgeids,degree,FF)
3 % Compute an edge integral of a scalar function in various edges
4 % simultaneously. Approximation by Gauss-quadratures are performed.
5 %
6 % Computes quadratures approximating integrals
7 % `` \int_{e(i_k,j_k)} f(s) ds ``
8 % over edges `e(i_k, j_k)` for `k=1,...,K`, where `i_k` are cell indices and
9 % `j_k` denotes local edge numbers.
10 %
11 % Parameters:
12 % elids: vector of length `K` of cell indices `i_k`.
13 % edgeids: vector of length `K` of local edge indices `j_k`.
14 % degree: scalar defining the degree of the quadrature rule.
15 % FF: matrix of size 'degree x grid.nedges' holding evaluations of a
16 % function `f:\mathbb{R} \to \mathbb{R}` in quadrature points. This
17 % is usually obtained by a call @code FF=f(edge_quad_points(elids,
18 % edgeids, degree) @endcode
19 %
20 % Return values:
21 % F: vector of length `K` holding the quadrature evaluations on edges
22 % `e(i_k, j_k)`.
23 %
24 % See also: edge_quad_point() for construction of quadrature points.
25 
26 % Bernard Haasdonk 13.5.2007
27 
28 F = edge_quad_eval_mean(grid,elids,edgeids,degree,FF);
29 li = sub2ind(size(grid.ECX),elids(:),edgeids(:));
30 F = F(:).*grid.EL(li);
31