Go to the documentation of this file.
18 #ifndef LIBMESH_SINGLE_PREDICATES_H
19 #define LIBMESH_SINGLE_PREDICATES_H
22 #include "libmesh/libmesh_common.h"
23 #include "libmesh/id_types.h"
28 #ifdef LIBMESH_FORWARD_DECLARE_ENUMS
34 #include "libmesh/enum_elem_type.h"
62 template <
typename T>
struct abstract_multi_predicate;
72 virtual bool operator()(
const T & it)
const = 0;
87 virtual bool operator()(
const T & it)
const override {
return *it ==
nullptr; }
109 template <
typename T>
113 virtual bool operator()(
const T & it)
const override {
return (*it)->active(); }
122 template <
typename T>
135 template <
typename T>
139 virtual bool operator()(
const T & it)
const override {
return (*it)->ancestor(); }
148 template <
typename T>
161 template <
typename T>
165 virtual bool operator()(
const T & it)
const override {
return (*it)->subactive(); }
174 template <
typename T>
188 template <
typename T>
195 virtual bool operator()(
const T & it)
const override {
return (*it)->processor_id() ==
_pid; }
207 template <
typename T>
218 virtual bool operator()(
const T & it)
const override;
231 template <
typename T>
240 virtual bool operator()(
const T & it)
const override;
253 template <
typename T>
260 virtual bool operator()(
const T & it)
const override {
return (*it)->is_semilocal(
_pid); }
273 template <
typename T>
282 if ((*it)->processor_id() ==
_pid)
284 for (
auto n : (*it)->neighbor_ptr_range())
285 if (n && n->processor_id() ==
_pid)
300 template <
typename T>
317 template <
typename T>
332 #ifdef LIBMESH_ENABLE_AMR
338 template <
typename T>
344 virtual bool operator()(
const T & it)
const override {
return (*it)->refinement_flag() ==
_rflag; }
350 #endif // LIBMESH_ENABLE_AMR
360 template <
typename T>
379 template <
typename T>
396 template <
typename T>
402 return (*it)->on_boundary();
418 template <
typename T>
424 return it.side_on_boundary();
435 template <
typename T>
454 template <
typename T>
474 template <
typename T>
478 unsigned int var_num) :
483 virtual bool operator()(
const T & it)
const override;
497 #endif // LIBMESH_SINGLE_PREDICATES_H
evaluable(const DofMap &dof_map, unsigned int var_num)
virtual bool operator()(const T &it) const override
The BoundaryInfo class contains information relevant to boundary conditions including storing faces,...
virtual predicate< T > * clone() const override
virtual predicate< T > * clone() const override
virtual bool operator()(const T &it) const override
const std::set< subdomain_id_type > _subdomain_set
virtual bool operator()(const T &it) const override
virtual predicate< T > * clone() const override
flagged(unsigned char rflag)
virtual bool operator()(const T &it) const override
virtual predicate< T > * clone() const override
virtual bool operator()(const T &it) const override
The libMesh namespace provides an interface to certain functionality in the library.
virtual bool operator()(const T &it) const override
virtual bool operator()(const T &it) const override
const ElemType _elem_type
virtual predicate< T > * clone() const override
virtual bool operator()(const T &it) const override
virtual bool operator()(const T &it) const override
virtual bool operator()(const T &it) const override
virtual bool operator()(const T &it) const override
virtual predicate< T > * clone() const override
subdomain_set(std::set< subdomain_id_type > sset)
virtual bool operator()(const T &it) const override
virtual predicate< T > * clone() const override
bid(boundary_id_type b_id, const BoundaryInfo &bndry_info)
virtual predicate< T > * clone() const override
subdomain(subdomain_id_type sid)
const processor_id_type _pid
const processor_id_type _pid
virtual bool operator()(const T &it) const override
virtual predicate< T > * clone() const override
virtual predicate< T > * clone() const override
not_pid(processor_id_type p)
virtual bool operator()(const T &it) const override
const boundary_id_type _bid
facelocal_pid(processor_id_type p)
virtual predicate< T > * clone() const override
virtual predicate< T > * clone() const override
const unsigned char _rflag
const BoundaryInfo & _bndry_info
uint8_t processor_id_type
virtual bool operator()(const T &it) const override
virtual bool operator()(const T &it) const override
virtual predicate< T > * clone() const override
virtual predicate< T > * clone() const override
virtual predicate< T > * clone() const override
virtual bool operator()(const T &it) const override
virtual predicate< T > * clone() const override
virtual predicate * clone() const =0
bnd(const BoundaryInfo &bndry_info)
virtual predicate< T > * clone() const override
virtual predicate< T > * clone() const override
const unsigned int _level
not_level(unsigned int l)
virtual predicate< T > * clone() const override
virtual bool operator()(const T &it) const =0
This class handles the numbering of degrees of freedom on a mesh.
virtual bool operator()(const T &it) const override
const processor_id_type _pid
virtual bool operator()(const T &it) const override
const subdomain_id_type _subdomain
virtual bool operator()(const T &it) const override
virtual predicate< T > * clone() const override
const BoundaryInfo & _bndry_info
virtual bool operator()(const T &it) const override
semilocal_pid(processor_id_type p)
virtual predicate< T > * clone() const override
void ErrorVector unsigned int
virtual predicate< T > * clone() const override
virtual predicate< T > * clone() const override
ElemType
Defines an enum for geometric element types.
virtual bool operator()(const T &it) const override
virtual bool operator()(const T &it) const override