Scalar jacobi_form(int n, double *wt, Func<Scalar> *itr[], Func<Real> *u, Func<Real> *v, Geom<Real> *e, ExtData<Scalar> *data) { Scalar res = 0.0; for (int i = 0; i < n; i++) res += wt[i] * (dlambda(itr[0]->val[i]) * u->val[i] * grad_grad(itr[0], v) + lambda(itr[0]->val[i]) * grad_grad(u, v)); return res; }
res_t jacobi_form(int n, double *wt, fn_t<res_t> *itr[], fn_t<f_t> *u, fn_t<f_t> *v, geom_t<f_t> *e, user_data_t<res_t> *data) { res_t res = 0.0; for (int i = 0; i < n; i++) res += wt[i] * (dlambda(itr[0]->fn[i]) * u->fn[i] * grad_grad(itr[0], v) + lambda(itr[0]->fn[i]) * grad_grad(u, v)); return res; }
res_t jacobi_form(int n, double *wt, Func<res_t> *itr[], Func<f_t> *u, Func<f_t> *v, Geom<f_t> *e, ExtData<res_t> *data) { res_t res = 0.0; for (int i = 0; i < n; i++) res += wt[i] * (dlambda(itr[0]->fn[i]) * u->fn[i] * grad_grad(itr[0], v) + lambda(itr[0]->fn[i]) * grad_grad(u, v)); return res; }