SheafSystem  0.0.0.0
fields::field_refiner_family Class Referenceabstract

A family of compatible local_field_refiners, one for each member of some family of cell types; a map from cell type to field_type. More...

#include <field_refiner_family.h>

Inheritance diagram for fields::field_refiner_family:
sheaf::any fields::barycentric_refiner_family fields::edge_centered_refiner_family fields::zone_centered_refiner_family

FIELD_REFINER_FAMILY FACET

block< local_field_refiner * > _members
 The members of the family. More...
 
field_refinement_policy_policy
 The refinement policy for this family. More...
 
index_space_handle_cell_type_id_space
 The id space for base space cell type ids. More...
 
bool _is_initialized
 True if this has been populated with members. More...
 
static field_refiner_familynew_family (const std::string &xname)
 Creates an instance of the refiner family associated with name xname. More...
 
static factory< field_refiner_family > & family_factory ()
 A factory for making field_refiner_family objects. More...
 
 field_refiner_family (const field_refiner_family &xother)
 Copy constructor. More...
 
virtual ~field_refiner_family ()
 Destructor. More...
 
virtual const std::string & class_name () const =0
 The name of this family. More...
 
local_field_refinermember (pod_index_type xtype_id) const
 The evaluator associated with cell type xtype_id. Note that the result may be void. More...
 
size_type size () const
 The number of members of this family. More...
 
field_refinement_policypolicy () const
 The refinement policy for this family. More...
 
virtual void initialize (const base_space_poset &xbase_space, const field_refinement_policy &xpolicy)=0
 Initializes this to contain members for base space xbase_space and using policy xpolicy. More...
 
bool is_initialized () const
 True if this has been populated with members. More...
 
 field_refiner_family ()
 Default constructor. More...
 

ANY FACET

virtual field_refiner_familyclone () const
 Virtual constructor; makes a new instance of the same type as this. More...
 
virtual bool invariant () const
 Class invariant. More...
 
virtual bool is_ancestor_of (const any *xother) const
 Conformance test; true if other conforms to this. More...
 

Additional Inherited Members

- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 

Detailed Description

A family of compatible local_field_refiners, one for each member of some family of cell types; a map from cell type to field_type.

Definition at line 69 of file field_refiner_family.h.

Constructor & Destructor Documentation

◆ field_refiner_family() [1/2]

◆ ~field_refiner_family()

fields::field_refiner_family::~field_refiner_family ( )
virtual

Destructor.

Definition at line 103 of file field_refiner_family.cc.

References class_name().

Referenced by field_refiner_family().

◆ field_refiner_family() [2/2]

fields::field_refiner_family::field_refiner_family ( )
protected

Default constructor.

Postcondition

Definition at line 302 of file field_refiner_family.cc.

References clone(), and invariant().

Referenced by is_initialized(), and new_family().

Member Function Documentation

◆ class_name()

const std::string & fields::field_refiner_family::class_name ( ) const
pure virtual

The name of this family.

Is Abstract.

Postcondition
  • !result.empty()

Implemented in fields::edge_centered_refiner_family, fields::barycentric_refiner_family, and fields::zone_centered_refiner_family.

Definition at line 137 of file field_refiner_family.cc.

References member().

Referenced by new_family(), and ~field_refiner_family().

◆ clone()

fields::field_refiner_family * fields::field_refiner_family::clone ( ) const
virtual

Virtual constructor; makes a new instance of the same type as this.

Is Abstract.

Postcondition
  • result != 0
  • is_same_type(result)

Reimplemented from sheaf::any.

Reimplemented in fields::barycentric_refiner_family, fields::edge_centered_refiner_family, and fields::zone_centered_refiner_family.

Definition at line 325 of file field_refiner_family.cc.

References invariant(), and sheaf::any::is_same_type().

Referenced by field_refiner_family().

◆ family_factory()

◆ initialize()

void fields::field_refiner_family::initialize ( const base_space_poset xbase_space,
const field_refinement_policy xpolicy 
)
pure virtual

◆ invariant()

◆ is_ancestor_of()

bool fields::field_refiner_family::is_ancestor_of ( const any xother) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • xother != 0

Reimplemented from sheaf::any.

Reimplemented in fields::barycentric_refiner_family, fields::edge_centered_refiner_family, and fields::zone_centered_refiner_family.

Definition at line 379 of file field_refiner_family.cc.

Referenced by invariant().

◆ is_initialized()

bool fields::field_refiner_family::is_initialized ( ) const

◆ member()

fields::local_field_refiner * fields::field_refiner_family::member ( pod_index_type  xtype_id) const

The evaluator associated with cell type xtype_id. Note that the result may be void.

Precondition
  • (0 <= xtype_id) && (xtype_id < size())

Definition at line 158 of file field_refiner_family.cc.

References size().

Referenced by class_name(), fields::zone_centered_refiner_family::initialize(), fields::barycentric_refiner_family::initialize(), fields::edge_centered_refiner_family::initialize(), and fields::field_refiner::refine().

◆ new_family()

fields::field_refiner_family * fields::field_refiner_family::new_family ( const std::string &  xname)
static

Creates an instance of the refiner family associated with name xname.

Precondition
Postcondition
  • result != 0

Definition at line 40 of file field_refiner_family.cc.

References class_name(), field_refiner_family(), and is_initialized().

Referenced by fields::field_refiner::field_refiner().

◆ policy()

◆ size()

sheaf::size_type fields::field_refiner_family::size ( ) const

Member Data Documentation

◆ _cell_type_id_space

index_space_handle* fields::field_refiner_family::_cell_type_id_space
protected

The id space for base space cell type ids.

Definition at line 154 of file field_refiner_family.h.

Referenced by field_refiner_family().

◆ _is_initialized

bool fields::field_refiner_family::_is_initialized
protected

True if this has been populated with members.

Definition at line 159 of file field_refiner_family.h.

Referenced by field_refiner_family().

◆ _members

◆ _policy

field_refinement_policy* fields::field_refiner_family::_policy
protected

The refinement policy for this family.

Definition at line 149 of file field_refiner_family.h.

Referenced by field_refiner_family().


The documentation for this class was generated from the following files: