1#ifndef _RHEOLEF_INIT_EXPR_QUADRATURE_H
2#define _RHEOLEF_INIT_EXPR_QUADRATURE_H
30#include "rheolef/form_expr_variational.h"
32namespace rheolef {
namespace details {
34template<
class T,
class M>
42 using size_type = quadrature_option::size_type;
44 if (iopt.
get_order() == std::numeric_limits<quadrature_option::size_type>::max()) {
45 size_type k = X.get_constitution().degree_max();
51template<
class T,
class M>
60 using size_type = quadrature_option::size_type;
62 if (new_iopt.
get_order() == std::numeric_limits<size_type>::max()) {
63 size_type k1 = X.get_constitution().degree_max();
64 size_type k2 = Y.get_constitution().degree_max();
66 if (omega_K.get_background_geo().sizes().ownership_by_variant[
reference_element::q].dis_size() != 0 ||
67 omega_K.get_background_geo().sizes().ownership_by_variant[
reference_element::P].dis_size() != 0 ||
68 omega_K.get_background_geo().sizes().ownership_by_variant[
reference_element::H].dis_size() != 0) {
73 if (quad_order >= n_derivative) quad_order -= n_derivative;
field::size_type size_type
generic mesh with rerefence counting
see the integrate_option page for the full documentation
family_type get_family() const
void set_family(family_type ft)
void set_order(size_type order)
static const variant_type H
static const variant_type q
static const variant_type P
integrate_option expr_quadrature_init_iopt(const geo_basic< T, M > &omega_K, const space_basic< T, M > &X, size_t n_derivative, const integrate_option &iopt)
quadrature< T > expr_quadrature_init_quad(const integrate_option &iopt)
This file is part of Rheolef.