44 template<
unsigned int dim,
unsigned int spacedim>
49 template<
unsigned int dim,
unsigned int spacedim>
65 for (
unsigned int i=0; i<dim; i++)
75 vec::fixed<dim+1> basis;
77 for (
unsigned int i=0; i<q.
size(); i++)
80 for (
unsigned int j=0; j<dim; j++)
82 basis[0] -= q.
point(i)[j];
83 basis[j+1] = q.
point(i)[j];
94 template<
unsigned int dim,
unsigned int spacedim>
111 template<
unsigned int dim,
unsigned int spacedim>
117 mat::fixed<spacedim,dim+1> coords;
118 mat::fixed<spacedim,dim> jac;
127 for (
unsigned int n=0; n<dim+1; n++)
128 for (
unsigned int c=0; c<spacedim; c++)
129 coords(c,n) = cell->node[n]->point()[c];
142 for (
unsigned int i=0; i<q.
size(); i++)
152 for (
unsigned int i=0; i<q.
size(); i++)
157 for (
unsigned int i=0; i<q.
size(); i++)
164 mat::fixed<dim,spacedim> ijac;
173 for (
unsigned int i=0; i<q.
size(); i++)
181 vec::fixed<dim+1> basis;
182 for (
unsigned int i=0; i<q.
size(); i++)
187 template<
unsigned int dim,
unsigned int spacedim>
194 mat::fixed<spacedim,dim+1> coords;
203 for (
unsigned int n=0; n<dim+1; n++)
204 for (
unsigned int c=0; c<spacedim; c++)
205 coords(c,n) = cell->node[n]->point()[c];
214 mat::fixed<spacedim,dim> jac = coords*grad;
218 for (
unsigned int i=0; i<q.
size(); i++)
225 for (
unsigned int i=0; i<q.
size(); i++)
232 mat::fixed<dim,spacedim> ijac;
241 for (
unsigned int i=0; i<q.
size(); i++)
247 vec::fixed<spacedim> n_cell;
249 n_cell = n_cell/norm(n_cell,2);
250 for (
unsigned int i=0; i<q.
size(); i++)
260 for (
unsigned int i=0; i<q.
size(); i++)
273 mat::fixed<spacedim,dim> side_coords;
274 mat::fixed<spacedim, MatrixSizes<dim>::dim_minus_one > side_jac;
278 for (
unsigned int n=0; n<dim; n++)
279 for (
unsigned int c=0; c<spacedim; c++)
280 side_coords(c,n) = cell->side(sid)->node(n)->point()[c];
281 side_jac = side_coords * grad.submat(0,0,dim-1,dim-2);
286 for (
unsigned int i=0; i<q.
size(); i++)