1 function M = ldg_mass_matrix(df,grid,params)
2 %
function M = ldg_mass_matrix(df,grid,params)
4 %
function computing the sparse mass matrix of a discrete ldg
5 %
function on grid with quadrature of degree params.qdeg.
6 % df can be a
ldgdiscfunc or a structure with fields pdeg and dimrange
8 % Bernard Haasdonk 31.8.2009
10 Mref = ldg_reference_mass_matrix(df,qdeg);
11 Mref = reshape(Mref,[size(Mref),1]);
15 M = spblkdiag(Mseq); % my own
function... 1000 times faster than builtin
16 diagvals = repmat(grid.
A(:)
'*2,size(Mref,1),1);
17 diagvals = diagvals(:);
18 D = spdiags(diagvals,0,n,n);
21 %Mref = sparse(ldg_reference_mass_matrix(df,qdeg));
22 %n = size(Mref,1)*grid.nelements;
23 %Mseq = cell(1,grid.nelements);
24 %[Mseq{:}] = deal(Mref);
25 %M = blkdiag(Mseq{:});
26 %diagvals = repmat(grid.A(:)'*2,size(Mref,1),1);
27 %diagvals = diagvals(:);
28 %D = spdiags(diagvals,0,n,n);
29 %M = M * D;%| \docupdate
an ldg shape functions implementation
nelements
number of overall elements (leaf + nonleaf)