32 template<
int rank,
int elemdim,
int spacedim,
class Value>
38 ASSERT(
false).error(
"Unsupported format of FieldFE!\n");
39 typename Value::return_type ret;
48 template<
int elemdim,
int spacedim,
class Value>
59 template<
int elemdim,
int spacedim,
class Value>
70 template <
int elemdim,
int spacedim,
class Value>
77 template <
int elemdim,
int spacedim,
class Value>
96 template <
int elemdim,
int spacedim,
class Value>
inline 100 point_list.push_back(p);
109 template <
int elemdim,
int spacedim,
class Value>
114 ASSERT_EQ( point_list.size(), value_list.size() ).error();
120 for (
unsigned int k=0; k<point_list.size(); k++) {
127 Value envelope(value_list[k]);
129 for (
unsigned int i=0; i<
dh_->fe<elemdim>()->n_dofs(); i++) {
137 template <
int elemdim,
int spacedim,
class Value>
147 template <
int elemdim,
int spacedim,
class Value>
153 #define INSTANCE_VALUE_HANDLER_ALL(dim, spacedim) \ 154 template class FEValueHandler<dim, spacedim, FieldValue<0>::Enum >; \ 155 template class FEValueHandler<dim, spacedim, FieldValue<0>::Integer >; \ 156 template class FEValueHandler<dim, spacedim, FieldValue<0>::Scalar >; \ 157 template class FEValueHandler<dim, spacedim, FieldValue<spacedim>::VectorFixed >; \ 158 template class FEValueHandler<dim, spacedim, FieldValue<spacedim>::TensorFixed >; \ 159 template class FEShapeHandler<0, dim, spacedim, FieldValue<0>::Enum >; \ 160 template class FEShapeHandler<0, dim, spacedim, FieldValue<0>::Integer >; \ 161 template class FEShapeHandler<0, dim, spacedim, FieldValue<0>::Scalar >; \ 162 template class FEShapeHandler<1, dim, spacedim, FieldValue<spacedim>::VectorFixed >; \ 163 template class FEShapeHandler<2, dim, spacedim, FieldValue<spacedim>::TensorFixed >; 165 #define INSTANCE_VALUE_HANDLER(dim) \ 166 INSTANCE_VALUE_HANDLER_ALL(dim,2) \ 167 INSTANCE_VALUE_HANDLER_ALL(dim,3) Class MappingP1 implements the affine transformation of the unit cell onto the actual cell...
const Element * element() const
BaryPoint project_real_to_unit(const RealPoint &point, const ElementMap &map) const
void initialize(FEValueInitData init_data, MappingP1< elemdim, 3 > *map=nullptr)
Initialize data members.
Space< spacedim >::Point Point
static Value::return_type fe_value(FEValues< elemdim, 3 > &fe_val, unsigned int i_dof, unsigned int i_qp)
Class FEValues calculates finite element data on the actual cells such as shape function values...
static const double epsilon
stabilization parameter
#define ASSERT(expr)
Allow use shorter versions of macro names if these names is not used with external library...
Value::return_type const & value(const Point &p, const ElementAccessor< spacedim > &elm)
Returns one value in one given point.
Base class for quadrature rules on simplices in arbitrary dimensions.
MappingP1< elemdim, 3 > * map_
Mapping object.
void value_list(const std::vector< Point > &point_list, const ElementAccessor< spacedim > &elm, std::vector< typename Value::return_type > &value_list)
Returns std::vector of scalar values in several points at once.
Value::return_type r_value_
VectorSeqDouble * data_vec
Store data of Field.
std::vector< IdxInt > dof_indices
Array of indexes to data_vec_, used for get/set values.
Basic definitions of numerical quadrature rules.
std::shared_ptr< DOFHandlerMultiDim > dh_
DOF handler object.
unsigned int ndofs
number of dofs
const FEValuesViews::Vector< dim, spacedim > & vector_view(unsigned int i) const
Accessor to vector values of multicomponent FE.
VectorSeqDouble * data_vec_
Store data of Field.
std::shared_ptr< DOFHandlerMultiDim > dh
DOF handler object.
ElementMap element_map(const Element &elm) const
double shape_value(const unsigned int function_no, const unsigned int point_no)
Return the value of the function_no-th shape function at the point_no-th quadrature point...
static Value::return_type fe_value(FEValues< elemdim, 3 > &fe_val, unsigned int i_dof, unsigned int i_qp)
MappingP1< elemdim, 3 > * get_mapping()
Return mapping object.
Value value_
Last value, prevents passing large values (vectors) by value.
#define INSTANCE_VALUE_HANDLER(dim)
void set_point(const unsigned int i, const arma::vec::fixed< dim > &p)
Sets individual quadrature point coordinates.
#define ASSERT_PTR(ptr)
Definition of assert macro checking non-null pointer (PTR)
void reinit(ElementFullIter &cell)
Update cell-dependent data (gradients, Jacobians etc.)
~FEValueHandler()
Destructor.
Calculates finite element data on the actual cell.
bool contains_point(arma::vec point, Element &elm)
Test if element contains given point.
FEValueHandler()
Constructor.
unsigned int n_comp
number of components
Initialization structure of FEValueHandler class.
static Value::return_type fe_value(FEValues< elemdim, 3 > &fe_val, unsigned int i_dof, unsigned int i_qp)
#define ASSERT_EQ(a, b)
Definition of comparative assert macro (EQual)