rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
fem_interpol_global.m
1 function df = fem_interpol_global(f, df, params)
2 %function df = fem_interpol_global(f, df, params)
3 %
4 % function interpolating the given analytical function with
5 % global evaluation f(glob,params) into the allocated discrete
6 % function df
7 
8 % B. Haasdonk 12.1.2011
9 
10 % for all lagrange nodes evaluate f and set as dof
11 
12 if nargin<3
13  params = [];
14 end;
15 
16 lagrange_nodes = lagrange_nodes_lcoord(df.pdeg);
17 
18 % possibly multiple evaluation in edge nodes, accept for now.
19 for i = 1:size(lagrange_nodes,1);
20  gids = df.df_info.global_dof_index(1:df.grid.nelements, i);
21  glob = local2global(df.grid, 1:df.grid.nelements, lagrange_nodes(i,:));
22  fs = f(glob,params);
23  df.dofs(gids) = fs;
24 end;
25