Пример #1
0
res_t jacobi_form(int n, double *wt, Func<f_t> *u[], Func<f_t> *vi, Func<f_t> *vj, Geom<f_t> *e,
                  ExtData<res_t> *data)
{
	res_t res = 0.0;
	for (int i = 0; i < n; i++)
		res += wt[i] * (vj->fn[i] * grad_grad(u[0], vi) + u[0]->fn[i] * grad_grad(vj, vi));
	return res;
}
Пример #2
0
res_t jacobi_form(int n, double *wt, fn_t<f_t> *u[], fn_t<f_t> *vi, fn_t<f_t> *vj, 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] * (vj->fn[i] * grad_grad(u[0], vi) + u[0]->fn[i] * grad_grad(vj, vi));
	return res;
}
Пример #3
0
Scalar jacobi_form(int n, double *wt, Func<Real> *u[], Func<Real> *vi, Func<Real> *vj, Geom<Real> *e,
                  ExtData<Scalar> *data)
{
	Scalar res = 0.0;
	for (int i = 0; i < n; i++)
		res += wt[i] * (vj->val[i] * grad_grad(u[0], vi) + u[0]->val[i] * grad_grad(vj, vi));
	return res;
}
Пример #4
0
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;
}
Пример #5
0
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;
}
Пример #6
0
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;
}
Пример #7
0
res_t resid_form(int n, double *wt, fn_t<res_t> *u_ext[], fn_t<f_t> *vi, 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] * (grad_grad(u_ext[0], vi) + 6.0 * vi->fn[i]);
	return res;
}
Пример #8
0
res_t biproj_form(int n, double *wt, fn_t<res_t> *u_ext[], 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] * (u->fn[i] * v->fn[i] + grad_grad(u, v));
	return res;
}
Пример #9
0
res_t resid_form(int n, double *wt, fn_t<f_t> *u[], fn_t<f_t> *vi, 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] * (u[0]->fn[i] * grad_grad(u[0], vi) - f(e->x[i], e->y[i], e->z[i]) * vi->fn[i]);
	return res;
}
Пример #10
0
Scalar precond_0_0(int n, double *wt, Func<Real> *u[0], Func<Real> *vi, Func<Real> *vj, Geom<Real> *e,
                  ExtData<Scalar> *data)
{
	Scalar res = 0.0;
	for (int i = 0; i < n; i++)
		res += wt[i] * (grad_grad(vi, vj));
	return res;
}
Пример #11
0
Scalar form_0(int n, double *wt, Func<Scalar> *u[], Func<Real> *vi, Geom<Real> *e,
             ExtData<Scalar> *data)
{
	Scalar res = 0.0;
	for (int i = 0; i < n; i++)
		res += wt[i] * (grad_grad(u[0], vi) - dfnc(e->x[i], e->y[i], e->z[i]) * vi->val[i]);
	return res;
}
Пример #12
0
Scalar resid_form(int n, double *wt, Func<Scalar> *u_ext[], Func<Real> *vi, Geom<Real> *e,
                 ExtData<Scalar> *data)
{
	Scalar res = 0.0;
	for (int i = 0; i < n; i++)
		res += wt[i] * (grad_grad(u_ext[0], vi) + 6.0 * vi->val[i]);
	return res;
}
Пример #13
0
Scalar biproj_form(int n, double *wt, Func<Scalar> *u_ext[], 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] * (u->val[i] * v->val[i] + grad_grad(u, v));
	return res;
}
Пример #14
0
res_t resid_form(int n, double *wt, Func<res_t> *u_ext[], Func<f_t> *vi, Geom<f_t> *e,
                 ExtData<res_t> *data)
{
	res_t res = 0.0;
	for (int i = 0; i < n; i++)
		res += wt[i] * (grad_grad(u_ext[0], vi) + 6.0 * vi->fn[i]);
	return res;
}
Пример #15
0
res_t biproj_form(int n, double *wt, Func<res_t> *u_ext[], 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] * (u->fn[i] * v->fn[i] + grad_grad(u, v));
	return res;
}
Пример #16
0
res_t resid_form(int n, double *wt, Func<f_t> *u[], Func<f_t> *vi, Geom<f_t> *e,
                 ExtData<res_t> *data)
{
	res_t res = 0.0;
	for (int i = 0; i < n; i++)
		res += wt[i] * (u[0]->fn[i] * grad_grad(u[0], vi) - f(e->x[i], e->y[i], e->z[i]) * vi->fn[i]);
	return res;
}