Scroll to navigation

quadrature_option(2rheolef) rheolef-7.0 quadrature_option(2rheolef)

NAME

quadrature_option - send options to the integrate function

SYNOPSIS

The quadrature_option class is used to send options to the integrate function see integrate(4). This class allows one to set the family (Gauss, Gauss-Lobatto, etc) and the polynomial degree that is exactly integrated.

A special family name, call equispaced, refers to an equispaced set of point, suitable for some irregular functions, e.g. the Heaviside function. In that case, the order parameter refers to the number of nodes used. For instance, order=1 refers to the trapezoidal formulae and for the general case, there are order+1 nodes per edges. See also the see quadrature(2) for more on quadrature formulae.

IMPLEMENTATION

class quadrature_option {
public:
// typedefs:

typedef size_t size_type;
typedef enum {
gauss = 0,
gauss_lobatto = 1,
gauss_radau = 2,
middle_edge = 3,
superconvergent = 4,
equispaced = 5,
max_family = 6
} family_type; // update also family_name[] in quatrature.cc // allocators:
quadrature_option(
family_type ft = quadrature_option::gauss,
size_type k = std::numeric_limits<size_type>::max());
quadrature_option (const quadrature_option& qopt);
quadrature_option& operator= (const quadrature_option& qopt); // accessors & modifiers:
size_t get_order() const;
family_type get_family() const;
std::string get_family_name() const;
void set_order (size_t r);
void set_family (family_type type);
void set_family (std::string name); // data: protected:
family_type _family;
size_t _order; };

SEE ALSO

integrate(4), quadrature(2)

COPYRIGHT

Copyright (C) 2000-2018 Pierre Saramito <Pierre.Saramito@imag.fr> GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

rheolef-7.0 rheolef-7.0