17 #ifndef __deal2__gradient_estimator_h 18 #define __deal2__gradient_estimator_h 20 #include <deal.II/base/config.h> 22 #include <deal.II/base/std_cxx1x/tuple.h> 23 #include <deal.II/base/synchronous_iterator.h> 24 #include <deal.II/fe/fe_update_flags.h> 25 #include <deal.II/fe/mapping.h> 26 #include <deal.II/lac/vector.h> 27 #include <deal.II/grid/filtered_iterator.h> 206 template <
int dim,
template <
int,
int>
class DH,
class InputVector,
int spacedim>
209 const DH<dim,spacedim> &dof,
210 const InputVector &solution,
212 const unsigned int component = 0);
218 template <
int dim,
template <
int,
int>
class DH,
class InputVector,
int spacedim>
220 approximate_gradient (
const DH<dim,spacedim> &dof,
221 const InputVector &solution,
223 const unsigned int component = 0);
242 template <
int dim,
template <
int,
int>
class DH,
class InputVector,
int spacedim>
245 const DH<dim,spacedim> &dof,
246 const InputVector &solution,
248 const unsigned int component = 0);
254 template <
int dim,
template <
int,
int>
class DH,
class InputVector,
int spacedim>
256 approximate_second_derivative (
const DH<dim,spacedim> &dof,
257 const InputVector &solution,
259 const unsigned int component = 0);
275 template <
int dim,
template <
int,
int>
class DH,
class InputVector,
int order,
int spacedim>
278 const DH<dim,spacedim> &dof,
279 const InputVector &solution,
280 const typename DH<dim,spacedim>::active_cell_iterator &cell,
282 const unsigned int component = 0);
288 template <
int dim,
template <
int,
int>
class DH,
class InputVector,
int order,
int spacedim>
290 approximate_derivative_tensor (
const DH<dim,spacedim> &dof,
291 const InputVector &solution,
292 const typename DH<dim,spacedim>::active_cell_iterator &cell,
294 const unsigned int component = 0);
299 template <
int dim,
int order>
308 <<
"Vector has length " << arg1 <<
", but should have " 353 template <
class InputVector,
int spacedim>
354 static ProjectedDerivative
356 const InputVector &solution,
357 const unsigned int component);
363 static double derivative_norm (
const Derivative &d);
372 static void symmetrize (Derivative &derivative_tensor);
413 template <
class InputVector,
int spacedim>
414 static ProjectedDerivative
416 const InputVector &solution,
417 const unsigned int component);
426 static double derivative_norm (
const Derivative &d);
437 static void symmetrize (Derivative &derivative_tensor);
469 template <
class InputVector,
int spacedim>
470 static ProjectedDerivative
472 const InputVector &solution,
473 const unsigned int component);
482 static double derivative_norm (
const Derivative &d);
493 static void symmetrize (Derivative &derivative_tensor);
496 template <
int order,
int dim>
554 template <
class DerivativeDescription,
int dim,
555 template <
int,
int>
class DH,
class InputVector,
int spacedim>
558 const DH<dim,spacedim> &dof,
559 const InputVector &solution,
560 const unsigned int component,
568 template <
class DerivativeDescription,
int dim,
569 template <
int,
int>
class DH,
class InputVector,
int spacedim>
571 approximate (
SynchronousIterators<std_cxx1x::tuple<
typename DH<dim,spacedim>::active_cell_iterator,
572 Vector<float>::iterator> >
const &cell,
574 const DH<dim,spacedim> &dof,
575 const InputVector &solution,
576 const unsigned int component);
582 template <
class DerivativeDescription,
int dim,
583 template <
int,
int>
class DH,
class InputVector,
int spacedim>
586 const DH<dim,spacedim> &dof,
587 const InputVector &solution,
588 const unsigned int component,
589 const typename DH<dim,spacedim>::active_cell_iterator &cell,
590 typename DerivativeDescription::Derivative &derivative);
609 DEAL_II_NAMESPACE_CLOSE
#define DeclException2(Exception2, type1, type2, outsequence)
std::pair< unsigned int, unsigned int > IndexInterval
static const UpdateFlags update_flags
Tensor< 2, dim > Derivative
static const UpdateFlags update_flags
Tensor< 2, dim > ProjectedDerivative
Tensor< 3, dim > Derivative
#define DeclException0(Exception0)
Tensor< 1, dim > ProjectedDerivative
static double derivative_norm(const Derivative &d)
Tensor< 1, dim > Derivative
static const UpdateFlags update_flags
double ProjectedDerivative