Classes | |
class | ExcIncompatibleNumberOfElements |
class | ExcInvalidBoundaryFunction |
class | ExcInvalidBoundaryIndicator |
class | ExcInvalidCoefficient |
class | ExcInvalidComponentMask |
class | ExcInvalidSolutionVector |
class | ExcNoSolutions |
Static Public Member Functions | |
template<typename InputVector , class DH > | |
static void | estimate (const Mapping< 1, spacedim > &mapping, const DH &dof, const Quadrature< 0 > &quadrature, const FunctionMap< 1 >::type &neumann_bc, const InputVector &solution, Vector< float > &error, const std::vector< bool > &component_mask=std::vector< bool >(), const Function< 1 > *coefficients=0, const unsigned int n_threads=multithread_info.n_default_threads, const unsigned int subdomain_id=numbers::invalid_unsigned_int, const unsigned int material_id=numbers::invalid_unsigned_int) |
template<typename InputVector , class DH > | |
static void | estimate (const DH &dof, const Quadrature< 0 > &quadrature, const FunctionMap< 1 >::type &neumann_bc, const InputVector &solution, Vector< float > &error, const std::vector< bool > &component_mask=std::vector< bool >(), const Function< 1 > *coefficients=0, const unsigned int n_threads=multithread_info.n_default_threads, const unsigned int subdomain_id=numbers::invalid_unsigned_int, const unsigned int material_id=numbers::invalid_unsigned_int) |
template<typename InputVector , class DH > | |
static void | estimate (const Mapping< 1, spacedim > &mapping, const DH &dof, const Quadrature< 0 > &quadrature, const FunctionMap< 1 >::type &neumann_bc, const std::vector< const InputVector * > &solutions, std::vector< Vector< float > * > &errors, const std::vector< bool > &component_mask=std::vector< bool >(), const Function< 1 > *coefficients=0, const unsigned int n_threads=multithread_info.n_default_threads, const unsigned int subdomain_id=numbers::invalid_unsigned_int, const unsigned int material_id=numbers::invalid_unsigned_int) |
template<typename InputVector , class DH > | |
static void | estimate (const DH &dof, const Quadrature< 0 > &quadrature, const FunctionMap< 1 >::type &neumann_bc, const std::vector< const InputVector * > &solutions, std::vector< Vector< float > * > &errors, const std::vector< bool > &component_mask=std::vector< bool >(), const Function< 1 > *coefficients=0, const unsigned int n_threads=multithread_info.n_default_threads, const unsigned int subdomain_id=numbers::invalid_unsigned_int, const unsigned int material_id=numbers::invalid_unsigned_int) |
template<typename InputVector , class DH > | |
static void | estimate (const Mapping< 1, spacedim > &mapping, const DH &dof, const hp::QCollection< 0 > &quadrature, const typename FunctionMap< 1 >::type &neumann_bc, const InputVector &solution, Vector< float > &error, const std::vector< bool > &component_mask=std::vector< bool >(), const Function< 1 > *coefficients=0, const unsigned int n_threads=multithread_info.n_default_threads, const unsigned int subdomain_id=numbers::invalid_unsigned_int, const unsigned int material_id=numbers::invalid_unsigned_int) |
template<typename InputVector , class DH > | |
static void | estimate (const DH &dof, const hp::QCollection< 0 > &quadrature, const typename FunctionMap< 1 >::type &neumann_bc, const InputVector &solution, Vector< float > &error, const std::vector< bool > &component_mask=std::vector< bool >(), const Function< 1 > *coefficients=0, const unsigned int n_threads=multithread_info.n_default_threads, const unsigned int subdomain_id=numbers::invalid_unsigned_int, const unsigned int material_id=numbers::invalid_unsigned_int) |
template<typename InputVector , class DH > | |
static void | estimate (const Mapping< 1, spacedim > &mapping, const DH &dof, const hp::QCollection< 0 > &quadrature, const typename FunctionMap< 1 >::type &neumann_bc, const std::vector< const InputVector * > &solutions, std::vector< Vector< float > * > &errors, const std::vector< bool > &component_mask=std::vector< bool >(), const Function< 1 > *coefficients=0, const unsigned int n_threads=multithread_info.n_default_threads, const unsigned int subdomain_id=numbers::invalid_unsigned_int, const unsigned int material_id=numbers::invalid_unsigned_int) |
template<typename InputVector , class DH > | |
static void | estimate (const DH &dof, const hp::QCollection< 0 > &quadrature, const typename FunctionMap< 1 >::type &neumann_bc, const std::vector< const InputVector * > &solutions, std::vector< Vector< float > * > &errors, const std::vector< bool > &component_mask=std::vector< bool >(), const Function< 1 > *coefficients=0, const unsigned int n_threads=multithread_info.n_default_threads, const unsigned int subdomain_id=numbers::invalid_unsigned_int, const unsigned int material_id=numbers::invalid_unsigned_int) |
static void KellyErrorEstimator< 1, spacedim >::estimate | ( | const Mapping< 1, spacedim > & | mapping, | |
const DH & | dof, | |||
const Quadrature< 0 > & | quadrature, | |||
const FunctionMap< 1 >::type & | neumann_bc, | |||
const InputVector & | solution, | |||
Vector< float > & | error, | |||
const std::vector< bool > & | component_mask = std::vector< bool >() , |
|||
const Function< 1 > * | coefficients = 0 , |
|||
const unsigned int | n_threads = multithread_info.n_default_threads , |
|||
const unsigned int | subdomain_id = numbers::invalid_unsigned_int , |
|||
const unsigned int | material_id = numbers::invalid_unsigned_int | |||
) | [inline, static] |
Implementation of the error estimator described above. You may give a coefficient, but there is a default value which denotes the constant coefficient with value one. The coefficient function may either be a scalar one, in which case it is used for all components of the finite element, or a vector-valued one with as many components as there are in the finite element; in the latter case, each component is weighted by the respective component in the coefficient.
You might give a list of components you want to evaluate, in case the finite element used by the DoFHandler object is vector-valued. You then have to set those entries to true in the bit-vector component_mask
for which the respective component is to be used in the error estimator. The default is to use all components, which is done by either providing a bit-vector with all-set entries, or an empty bit-vector. All the other parameters are as in the general case used for 2d and higher.
The estimator supports multithreading and splits the cells to multithread_info.n_default_threads
(default) threads. The number of threads to be used in multithreaded mode can be set with the last parameter of the error estimator. Multithreading is not presently implemented for 1d, but we retain the respective parameter for compatibility with the function signature in the general case.
static void KellyErrorEstimator< 1, spacedim >::estimate | ( | const DH & | dof, | |
const Quadrature< 0 > & | quadrature, | |||
const FunctionMap< 1 >::type & | neumann_bc, | |||
const InputVector & | solution, | |||
Vector< float > & | error, | |||
const std::vector< bool > & | component_mask = std::vector< bool >() , |
|||
const Function< 1 > * | coefficients = 0 , |
|||
const unsigned int | n_threads = multithread_info.n_default_threads , |
|||
const unsigned int | subdomain_id = numbers::invalid_unsigned_int , |
|||
const unsigned int | material_id = numbers::invalid_unsigned_int | |||
) | [inline, static] |
Calls the estimate
function, see above, with mapping=MappingQ1<1>()
.
static void KellyErrorEstimator< 1, spacedim >::estimate | ( | const Mapping< 1, spacedim > & | mapping, | |
const DH & | dof, | |||
const Quadrature< 0 > & | quadrature, | |||
const FunctionMap< 1 >::type & | neumann_bc, | |||
const std::vector< const InputVector * > & | solutions, | |||
std::vector< Vector< float > * > & | errors, | |||
const std::vector< bool > & | component_mask = std::vector< bool >() , |
|||
const Function< 1 > * | coefficients = 0 , |
|||
const unsigned int | n_threads = multithread_info.n_default_threads , |
|||
const unsigned int | subdomain_id = numbers::invalid_unsigned_int , |
|||
const unsigned int | material_id = numbers::invalid_unsigned_int | |||
) | [inline, static] |
Same function as above, but accepts more than one solution vectors and returns one error vector for each solution vector. For the reason of existence of this function, see the general documentation of this class.
Since we do not want to force the user of this function to copy around their solution vectors, the vector of solution vectors takes pointers to the solutions, rather than being a vector of vectors. This makes it simpler to have the solution vectors somewhere in memory, rather than to have them collected somewhere special. (Note that it is not possible to construct of vector of references, so we had to use a vector of pointers.)
static void KellyErrorEstimator< 1, spacedim >::estimate | ( | const DH & | dof, | |
const Quadrature< 0 > & | quadrature, | |||
const FunctionMap< 1 >::type & | neumann_bc, | |||
const std::vector< const InputVector * > & | solutions, | |||
std::vector< Vector< float > * > & | errors, | |||
const std::vector< bool > & | component_mask = std::vector< bool >() , |
|||
const Function< 1 > * | coefficients = 0 , |
|||
const unsigned int | n_threads = multithread_info.n_default_threads , |
|||
const unsigned int | subdomain_id = numbers::invalid_unsigned_int , |
|||
const unsigned int | material_id = numbers::invalid_unsigned_int | |||
) | [inline, static] |
Calls the estimate
function, see above, with mapping=MappingQ1<1>()
.
static void KellyErrorEstimator< 1, spacedim >::estimate | ( | const Mapping< 1, spacedim > & | mapping, | |
const DH & | dof, | |||
const hp::QCollection< 0 > & | quadrature, | |||
const typename FunctionMap< 1 >::type & | neumann_bc, | |||
const InputVector & | solution, | |||
Vector< float > & | error, | |||
const std::vector< bool > & | component_mask = std::vector< bool >() , |
|||
const Function< 1 > * | coefficients = 0 , |
|||
const unsigned int | n_threads = multithread_info.n_default_threads , |
|||
const unsigned int | subdomain_id = numbers::invalid_unsigned_int , |
|||
const unsigned int | material_id = numbers::invalid_unsigned_int | |||
) | [inline, static] |
Equivalent to the set of functions above, except that this one takes a quadrature collection for hp finite element dof handlers.
static void KellyErrorEstimator< 1, spacedim >::estimate | ( | const DH & | dof, | |
const hp::QCollection< 0 > & | quadrature, | |||
const typename FunctionMap< 1 >::type & | neumann_bc, | |||
const InputVector & | solution, | |||
Vector< float > & | error, | |||
const std::vector< bool > & | component_mask = std::vector< bool >() , |
|||
const Function< 1 > * | coefficients = 0 , |
|||
const unsigned int | n_threads = multithread_info.n_default_threads , |
|||
const unsigned int | subdomain_id = numbers::invalid_unsigned_int , |
|||
const unsigned int | material_id = numbers::invalid_unsigned_int | |||
) | [inline, static] |
Equivalent to the set of functions above, except that this one takes a quadrature collection for hp finite element dof handlers.
static void KellyErrorEstimator< 1, spacedim >::estimate | ( | const Mapping< 1, spacedim > & | mapping, | |
const DH & | dof, | |||
const hp::QCollection< 0 > & | quadrature, | |||
const typename FunctionMap< 1 >::type & | neumann_bc, | |||
const std::vector< const InputVector * > & | solutions, | |||
std::vector< Vector< float > * > & | errors, | |||
const std::vector< bool > & | component_mask = std::vector< bool >() , |
|||
const Function< 1 > * | coefficients = 0 , |
|||
const unsigned int | n_threads = multithread_info.n_default_threads , |
|||
const unsigned int | subdomain_id = numbers::invalid_unsigned_int , |
|||
const unsigned int | material_id = numbers::invalid_unsigned_int | |||
) | [inline, static] |
Equivalent to the set of functions above, except that this one takes a quadrature collection for hp finite element dof handlers.
static void KellyErrorEstimator< 1, spacedim >::estimate | ( | const DH & | dof, | |
const hp::QCollection< 0 > & | quadrature, | |||
const typename FunctionMap< 1 >::type & | neumann_bc, | |||
const std::vector< const InputVector * > & | solutions, | |||
std::vector< Vector< float > * > & | errors, | |||
const std::vector< bool > & | component_mask = std::vector< bool >() , |
|||
const Function< 1 > * | coefficients = 0 , |
|||
const unsigned int | n_threads = multithread_info.n_default_threads , |
|||
const unsigned int | subdomain_id = numbers::invalid_unsigned_int , |
|||
const unsigned int | material_id = numbers::invalid_unsigned_int | |||
) | [inline, static] |
Equivalent to the set of functions above, except that this one takes a quadrature collection for hp finite element dof handlers.