20 #ifndef LIBMESH_ADJOINT_REFINEMENT_ESTIMATOR_H 21 #define LIBMESH_ADJOINT_REFINEMENT_ESTIMATOR_H 24 #include "libmesh/error_estimator.h" 25 #include "libmesh/libmesh.h" 26 #include "libmesh/qoi_set.h" 32 #ifdef LIBMESH_ENABLE_AMR 38 class DifferentiablePhysics;
100 bool estimate_parent_error =
false)
override;
174 #endif // #ifdef LIBMESH_ENABLE_AMR 176 #endif // LIBMESH_ADJOINT_REFINEMENT_ESTIMATOR_H DifferentiablePhysics * get_residual_evaluation_physics()
virtual ErrorEstimatorType type() const override
QoISet & qoi_set()
Access to the QoISet (default: weight all QoIs equally) to use when computing errors.
This class implements a "brute force" goal-oriented error estimator which computes an estimate of err...
Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a pa...
DifferentiablePhysics * _adjoint_evaluation_physics
Pointer to object to use for adjoint assembly.
The ErrorVector is a specialization of the StatisticsVector for error data computed on a finite eleme...
ErrorEstimatorType
Defines an enum for the different types of error estimators which are available.
DifferentiablePhysics * get_adjoint_evaluation_physics()
The libMesh namespace provides an interface to certain functionality in the library.
QoISet _qoi_set
A QoISet to handle cases with multiple QoIs available.
void set_adjoint_evaluation_physics(DifferentiablePhysics *set_physics)
Set the _adjoint_evaluation_physics member to argument.
const QoISet & qoi_set() const
Access to the QoISet (default: weight all QoIs equally) to use when computing errors.
virtual ~AdjointRefinementEstimator()=default
AdjointRefinementEstimator & operator=(const AdjointRefinementEstimator &)=default
Manages consistently variables, degrees of freedom, and coefficient vectors.
This class holds functions that will estimate the error in a finite element solution on a given mesh...
Number & get_global_QoI_error_estimate(unsigned int qoi_index)
This is an accessor function to access the computed global QoI error estimates.
DifferentiablePhysics * _residual_evaluation_physics
Pointer to object to use for physics assembly evaluations.
virtual void estimate_error(const System &system, ErrorVector &error_per_cell, const NumericVector< Number > *solution_vector=nullptr, bool estimate_parent_error=false) override
This function does uniform refinements and an adjoint solve to get an adjoint solution on each cell...
void set_residual_evaluation_physics(DifferentiablePhysics *set_physics)
Set the _residual_evaluation_physics member to argument.
std::vector< Number > computed_global_QoI_errors
This class provides a specific system class.
AdjointRefinementEstimator()
Constructor.
unsigned char number_h_refinements
How many h refinements to perform to get the fine grid.
unsigned char number_p_refinements
How many p refinements to perform to get the fine grid.