1#ifndef _RHEOLEF_PIOLA_ON_POINTSET_H
2#define _RHEOLEF_PIOLA_ON_POINTSET_H
30#include "rheolef/geo.h"
31#include "rheolef/piola.h"
32#include "rheolef/basis_on_pointset.h"
33#include "rheolef/integrate_option.h"
69 const Eigen::Matrix<piola<T>,Eigen::Dynamic,1>&
73 const Eigen::Matrix<T,Eigen::Dynamic,1>&
99 Eigen::Matrix<piola<T>,Eigen::Dynamic,1>
103 Eigen::Matrix<T,Eigen::Dynamic,1>
110 _ignore_sys_coord(false),
112 _last_visited_dis_ie(),
123const Eigen::Matrix<piola<T>,Eigen::Dynamic,1>&
132const Eigen::Matrix<T,Eigen::Dynamic,1>&
172 const Eigen::Matrix<piola<T>,Eigen::Dynamic,1>&
176 const Eigen::Matrix<T,Eigen::Dynamic,1>&
195 base::data().initialize (piola_basis, quad, iopt);
205 base::data().initialize (piola_basis, nodal_basis, iopt);
212 return base::data().get_basis_on_pointset();
226 return base::data().get_quadrature();
233 return base::data().get_nodal_basis();
238const Eigen::Matrix<piola<T>,Eigen::Dynamic,1>&
241 return base::data().get_piola (omega, K);
246const Eigen::Matrix<T,Eigen::Dynamic,1>&
249 return base::data().get_weight (omega, K);
bool has_quadrature() const
generic mesh with rerefence counting
see the geo_element page for the full documentation
variant_type variant() const
see the integrate_option page for the full documentation
bool has_quadrature() const
basis_on_pointset< T > _bops
std::array< Eigen::Matrix< T, Eigen::Dynamic, 1 >,reference_element::max_variant > _weight
reference_element::size_type size_type
void initialize(const basis_basic< T > &piola_basis, const quadrature< T > &quad, const integrate_option &iopt)
void _update(const geo_basic< T, M > &omega, const geo_element &K) const
std::array< size_type,reference_element::max_variant > _last_visited_dis_ie
std::array< std::string,reference_element::max_variant > _last_visited_geo
const quadrature< T > & get_quadrature() const
const basis_basic< T > & get_nodal_basis() const
const basis_on_pointset< T > & get_basis_on_pointset() const
bool ignore_sys_coord() const
const Eigen::Matrix< piola< T >, Eigen::Dynamic, 1 > & get_piola(const geo_basic< T, M > &omega, const geo_element &K) const
const Eigen::Matrix< T, Eigen::Dynamic, 1 > & get_weight(const geo_basic< T, M > &omega, const geo_element &K) const
std::array< Eigen::Matrix< piola< T >, Eigen::Dynamic, 1 >,reference_element::max_variant > _piola
std::vector< size_type > _dis_inod_K
void initialize(const basis_basic< T > &piola_basis, const basis_basic< T > &nodal_basis, const integrate_option &iopt)
bool has_quadrature() const
void initialize(const basis_basic< T > &piola_basis, const quadrature< T > &quad, const integrate_option &iopt)
smart_pointer< rep > base
const quadrature< T > & get_quadrature() const
const basis_basic< T > & get_nodal_basis() const
piola_on_pointset_rep< T > rep
const basis_on_pointset< T > & get_basis_on_pointset() const
bool ignore_sys_coord() const
const Eigen::Matrix< piola< T >, Eigen::Dynamic, 1 > & get_piola(const geo_basic< T, M > &omega, const geo_element &K) const
const Eigen::Matrix< T, Eigen::Dynamic, 1 > & get_weight(const geo_basic< T, M > &omega, const geo_element &K) const
static const variant_type max_variant
std::vector< int >::size_type size_type
see the smart_pointer page for the full documentation
This file is part of Rheolef.