Loading...
Searching...
No Matches
integrate_numeric.icc
Go to the documentation of this file.
#ifndef _RHEO_INTEGRATE_INTERNAL_ICC
#define _RHEO_INTEGRATE_INTERNAL_ICC
#include "rheolef/geo_domain.h"
#include "rheolef/integrate.h"
namespace rheolef { namespace details{
// ----------------------------------------------
// numeric integration
// ----------------------------------------------
template <class T, class M, class Expr>
T
integrate_internal (const geo_basic<T,M>& omega, const rheolef::field_nonlinear_expr<Expr>& f, const quadrature_option& qopt, const T&)
{
if (omega.map_dimension() < omega.get_background_geo().map_dimension()) {
omega.get_background_geo().neighbour_guard();
}
space_basic<T,M> Xh (omega, "P0");
test v (Xh);
field_basic<T,M> lh = integrate (omega, f*v, qopt);
return dual (1, lh);
}
template <class T, class M, class Expr>
typename rheolef::field_nonlinear_expr<Expr>::scalar_type
integrate_numeric (const geo_basic<T,M>& omega, const rheolef::field_nonlinear_expr<Expr>& f, const quadrature_option& qopt)
{
typedef typename rheolef::field_nonlinear_expr<Expr>::scalar_type scalar_type;
return integrate_internal (omega, f, qopt, scalar_type());
}
}}// namespace rheolef::details
#endif // _RHEO_INTEGRATE_INTERNAL_ICC
lh
field lh(Float epsilon, Float t, const test &v)
Definition burgers_diffusion_operators.icc:25
rheolef::field_basic
Definition field.h:219
rheolef::geo_basic
generic mesh with rerefence counting
Definition geo.h:1089
rheolef::space_basic
the finite element space
Definition space.h:382
test
see the test page for the full documentation
T
Expr1::float_type T
Definition field_expr.h:230
rheolef::details::integrate_numeric
rheolef::field_nonlinear_expr< Expr >::scalar_type integrate_numeric(const geo_basic< T, M > &omega, const rheolef::field_nonlinear_expr< Expr > &f, const quadrature_option &qopt)
Definition integrate_numeric.icc:45
rheolef::details::integrate_internal
T integrate_internal(const geo_basic< T, M > &omega, const rheolef::field_nonlinear_expr< Expr > &f, const quadrature_option &qopt, const T &)
Definition integrate_numeric.icc:33
rheolef
This file is part of Rheolef.
Definition compiler_eigen.h:39
rheolef::dual
rheolef::std enable_if ::type dual const Expr1 expr1, const Expr2 expr2 dual(const Expr1 &expr1, const Expr2 &expr2)
Definition field_expr.h:229
rheolef::integrate
std::enable_if< details::is_field_expr_v2_nonlinear_arg< Expr >::value &&!is_undeterminated< Result >::value, Result >::type integrate(const geo_basic< T, M > &omega, const Expr &expr, const integrate_option &iopt, Result dummy=Result())
see the integrate page for the full documentation
Definition integrate.h:211
f
Definition cavity_dg.h:29