16 #ifndef dealii__error_estimator_h 17 #define dealii__error_estimator_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/exceptions.h> 22 #include <deal.II/base/function.h> 23 #include <deal.II/dofs/function_map.h> 24 #include <deal.II/fe/component_mask.h> 27 DEAL_II_NAMESPACE_OPEN
30 template <
int,
int>
class Mapping;
35 template <
int>
class QCollection;
250 template <
int dim,
int spacedim=dim>
261 cell_diameter_over_24 = 0,
328 template <
typename InputVector,
typename DoFHandlerType>
331 const DoFHandlerType &dof,
334 const InputVector &solution,
341 const Strategy strategy = cell_diameter_over_24);
347 template <
typename InputVector,
typename DoFHandlerType>
349 (
const DoFHandlerType &dof,
352 const InputVector &solution,
359 const Strategy strategy = cell_diameter_over_24);
374 template <
typename InputVector,
typename DoFHandlerType>
377 const DoFHandlerType &dof,
380 const std::vector<const InputVector *> &solutions,
387 const Strategy strategy = cell_diameter_over_24);
393 template <
typename InputVector,
typename DoFHandlerType>
395 (
const DoFHandlerType &dof,
398 const std::vector<const InputVector *> &solutions,
405 const Strategy strategy = cell_diameter_over_24);
412 template <
typename InputVector,
typename DoFHandlerType>
415 const DoFHandlerType &dof,
418 const InputVector &solution,
425 const Strategy strategy = cell_diameter_over_24);
432 template <
typename InputVector,
typename DoFHandlerType>
434 (
const DoFHandlerType &dof,
437 const InputVector &solution,
444 const Strategy strategy = cell_diameter_over_24);
451 template <
typename InputVector,
typename DoFHandlerType>
454 const DoFHandlerType &dof,
457 const std::vector<const InputVector *> &solutions,
464 const Strategy strategy = cell_diameter_over_24);
471 template <
typename InputVector,
typename DoFHandlerType>
473 (
const DoFHandlerType &dof,
476 const std::vector<const InputVector *> &solutions,
483 const Strategy strategy = cell_diameter_over_24);
489 "You provided a ComponentMask argument that is invalid. " 490 "Component masks need to be either default constructed " 491 "(in which case they indicate that every component is " 492 "selected) or need to have a length equal to the number " 493 "of vector components of the finite element in use " 494 "by the DoFHandler object. In the latter case, at " 495 "least one component needs to be selected.");
500 "If you do specify the argument for a (possibly " 501 "spatially variable) coefficient function for this function, " 502 "then it needs to refer to a coefficient that is either " 503 "scalar (has one vector component) or has as many vector " 504 "components as there are in the finite element used by " 505 "the DoFHandler argument.");
513 <<
"You provided a function map that for boundary indicator " 514 << arg1 <<
" specifies a function with " 515 << arg2 <<
" vector components. However, the finite " 516 "element in use has " 517 << arg2 <<
" components, and these two numbers need to match.");
523 <<
"The number of input vectors, " << arg1
524 <<
" needs to be equal to the number of output vectors, " 526 <<
". This is not the case in your call of this function.");
531 "You need to specify at least one solution vector as " 548 template <
int spacedim>
574 template <
typename InputVector,
typename DoFHandlerType>
577 const DoFHandlerType &dof,
580 const InputVector &solution,
592 template <
typename InputVector,
typename DoFHandlerType>
594 (
const DoFHandlerType &dof,
597 const InputVector &solution,
618 template <
typename InputVector,
typename DoFHandlerType>
621 const DoFHandlerType &dof,
624 const std::vector<const InputVector *> &solutions,
636 template <
typename InputVector,
typename DoFHandlerType>
638 (
const DoFHandlerType &dof,
641 const std::vector<const InputVector *> &solutions,
654 template <
typename InputVector,
typename DoFHandlerType>
657 const DoFHandlerType &dof,
660 const InputVector &solution,
673 template <
typename InputVector,
typename DoFHandlerType>
675 (
const DoFHandlerType &dof,
678 const InputVector &solution,
691 template <
typename InputVector,
typename DoFHandlerType>
694 const DoFHandlerType &dof,
697 const std::vector<const InputVector *> &solutions,
710 template <
typename InputVector,
typename DoFHandlerType>
712 (
const DoFHandlerType &dof,
715 const std::vector<const InputVector *> &solutions,
727 "You provided a ComponentMask argument that is invalid. " 728 "Component masks need to be either default constructed " 729 "(in which case they indicate that every component is " 730 "selected) or need to have a length equal to the number " 731 "of vector components of the finite element in use " 732 "by the DoFHandler object. In the latter case, at " 733 "least one component needs to be selected.");
738 "If you do specify the argument for a (possibly " 739 "spatially variable) coefficient function for this function, " 740 "then it needs to refer to a coefficient that is either " 741 "scalar (has one vector component) or has as many vector " 742 "components as there are in the finite element used by " 743 "the DoFHandler argument.");
751 <<
"You provided a function map that for boundary indicator " 752 << arg1 <<
" specifies a function with " 753 << arg2 <<
" vector components. However, the finite " 754 "element in use has " 755 << arg3 <<
" components, and these two numbers need to match.");
761 <<
"The number of input vectors, " << arg1
762 <<
" needs to be equal to the number of output vectors, " 764 <<
". This is not the case in your call of this function.");
769 "You need to specify at least one solution vector as " 775 DEAL_II_NAMESPACE_CLOSE
static const unsigned int invalid_unsigned_int
#define DeclException2(Exception2, type1, type2, outsequence)
const types::subdomain_id invalid_subdomain_id
unsigned char material_id
Abstract base class for mapping classes.
#define DeclExceptionMsg(Exception, defaulttext)
std::map< types::boundary_id, const Function< dim, Number > * > type
unsigned int subdomain_id
the boundary residual estimator with the factor .
unsigned char boundary_id
#define DeclException3(Exception3, type1, type2, type3, outsequence)
const types::material_id invalid_material_id