integrate_option2rheolef
Send options to the integrate function
Overview
This class is used to send options to the integrate function when building a form. It allows one to set the quadrature formulae that is used for numerical integration see quadrature_option(2) and two boolean flags.
Flags
ignore_sys_coord-
This flag has effects only for axisymmetric coordinate systems. When set, it omits the
rweight in the r dr dz measure during the numerical integration performed theintegratefunction. This feature is useful for computing the stream function in the axisymmetric case.
lump-
This flag, when set, performs a mass lumping procedure on the matrix at the element level:
a(i,i) := sum(j) a(i,j)
The resulting matrix is diagonal. This feature is useful for computing a diagonal approximation of the mass matrix for the continuous
P1element.
invert-
This flag, when set, performs a local inversion on the matrix at the element level:
a := inv(a)
This procedure is allowed only when the global matrix is block diagonal, e.g. for discontinuous or bubble approximations. This property is true when basis functions have a compact support inside exactly one element.
Default flag values
All flags are set to false by default.
Implementation
struct integrate_option : quadrature_option {
// allocators:
integrate_option();
integrate_option (const integrate_option& fopt);
integrate_option (const quadrature_option& qopt);
integrate_option& operator= (const integrate_option& fopt);
// data:
bool ignore_sys_coord, lump, invert;
};