 |
Reference documentation for deal.II version 9.1.1
|
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
16 #ifndef dealii_derivative_approximation_h
17 #define dealii_derivative_approximation_h
19 #include <deal.II/base/config.h>
21 #include <deal.II/base/exceptions.h>
22 #include <deal.II/base/synchronous_iterator.h>
24 #include <deal.II/fe/fe_update_flags.h>
25 #include <deal.II/fe/mapping.h>
27 #include <deal.II/grid/filtered_iterator.h>
29 #include <deal.II/lac/vector.h>
31 # include <deal.II/dofs/dof_accessor.h>
35 DEAL_II_NAMESPACE_OPEN
178 template <
int,
int>
class DoFHandlerType,
183 const DoFHandlerType<dim, spacedim> &dof,
184 const InputVector & solution,
186 const unsigned int component = 0);
193 template <
int,
int>
class DoFHandlerType,
198 const InputVector & solution,
200 const unsigned int component = 0);
220 template <
int,
int>
class DoFHandlerType,
225 const DoFHandlerType<dim, spacedim> &dof,
226 const InputVector & solution,
228 const unsigned int component = 0);
235 template <
int,
int>
class DoFHandlerType,
240 const InputVector & solution,
242 const unsigned int component = 0);
257 template <
typename DoFHandlerType,
class InputVector,
int order>
262 const DoFHandlerType &dof,
263 const InputVector & solution,
265 const typename DoFHandlerType::active_cell_iterator &cell,
271 const unsigned int component = 0);
276 template <
typename DoFHandlerType,
class InputVector,
int order>
279 const DoFHandlerType &dof,
280 const InputVector & solution,
282 const typename DoFHandlerType::active_cell_iterator &cell,
288 const unsigned int component = 0);
293 template <
int dim,
int order>
303 <<
"The output vector needs to have a size equal "
304 "to the number of active cells of your triangulation "
306 << arg1 <<
"There are " << arg2
307 <<
" active cells in your triangulation.");
312 "We have encountered a cell on which the number of linearly "
313 "independent directions that span the matrix Y (discussed "
314 "in the documentation of the DerivativeApproximation "
315 "class) is not equal to dim. The matrix Y then is "
316 "rank deficient and can not be inverted.");
321 DEAL_II_NAMESPACE_CLOSE
#define DeclExceptionMsg(Exception, defaulttext)
void approximate_gradient(const Mapping< dim, spacedim > &mapping, const DoFHandlerType< dim, spacedim > &dof, const InputVector &solution, Vector< float > &derivative_norm, const unsigned int component=0)
double derivative_norm(const Tensor< order, dim > &derivative)
static ::ExceptionBase & ExcInsufficientDirections()
Abstract base class for mapping classes.
static ::ExceptionBase & ExcVectorLengthVsNActiveCells(int arg1, int arg2)
void approximate_derivative_tensor(const Mapping< DoFHandlerType::dimension, DoFHandlerType::space_dimension > &mapping, const DoFHandlerType &dof, const InputVector &solution, const typename DoFHandlerType::active_cell_iterator &cell, Tensor< order, DoFHandlerType::dimension > &derivative, const unsigned int component=0)
#define DeclException2(Exception2, type1, type2, outsequence)
void approximate_second_derivative(const Mapping< dim, spacedim > &mapping, const DoFHandlerType< dim, spacedim > &dof, const InputVector &solution, Vector< float > &derivative_norm, const unsigned int component=0)