rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
l2project.m
1 function U = l2project(func,qdeg,grid,params)
2 %function U = l2project(func,qdeg,grid,params)
3 %
4 % function performing an l2 projection of an analytical function
5 % func to the discrete function space space. A quadrature of degree
6 % qdeg is used. params.pdeg specify the degree of the discrete fv function.
7 % the params.evaluate_basis must be set to the correct basis
8 % evaluation algorithm. params.element_quadrature is assumed to
9 % point to the correct element quadrature rule, i.e. triagrid, etc.
10 %
11 % result is U the column vector of dofs
12 
13 % Bernard Haasdonk 3.9.2009
14 
15 % result is a grid.nelements x params.ndofs_per_element matrix
16 
17 params.grid = grid;
18 U = params.element_quadrature(qdeg,@func_phi_product,func, ...
19  params);
20 
21 % multiply locally with inverse reference mass matrix
22 %Utmp = reshape(U,params.ndofs_per_element,grid.nelements);
23 M = params.local_mass_matrix(qdeg,params);
24 U = U * inv(M)';
25 U = U(:);
26 %| \docupdate
A triangular conforming grid in two dimensions.
Definition: triagrid.m:17
nelements
number of overall elements (leaf + nonleaf)
Definition: gridbase.m:30