![]() |
SheafSystem
0.0.0.0
|
Descriptor for iteration state of individual section. Intended for implementing various iterators, especially concurrent iterations over multiple sections. More...
#include <section_iteration_state.h>
Public Member Functions | |
| section_iteration_state () | |
| True. More... | |
| ~section_iteration_state () | |
| Destructor. More... | |
| void | initialize (const section_space_schema_member &xschema) |
| Inializes an instance with schema xschema. More... | |
| void | initialize (const base_space_poset &xbase_space_host) |
| Inializes an instance with base space xbase_space_host. More... | |
| void | initialize_correction_set () |
| Initializes the set of evaluation member prototypes for which the discretization member order correction is applied. More... | |
| void | ensure_discretization_order (const scoped_index &xgreater_index) |
| Ensures correct order of the discretization members. More... | |
| void | initialize_order_correction () |
| Previsit action for eval_sp members. More... | |
| void | set_and_attach_evaluation_member (const scoped_index &xindex) |
| Sets eval_id to xindex, initializes local_id and eval, and attaches eval_mbr. More... | |
| void | set_evaluation_member (const scoped_index &xindex) |
| Sets eval_id to xindex, initializes local_id and eval. More... | |
| void | gather_discretization_member (const scoped_index &xindex, const scoped_index &xgreater_index) |
| Puts xindex into the discretization gather buffer and, if enabled, corrects discretization order. More... | |
| void | gather_discretization_member (const scoped_index &xindex) |
| Puts xindex into the discretization gather buffer. More... | |
| void | gather_dofs (const sec_vd &xsec) |
| Gathers dofs from xsec into the dofs buffer. More... | |
| void | gather_dofs (const sec_vd &xsec, const block< discretization_context > &xother_pts) |
| Gathers dofs from xsec into xother_pts. More... | |
Public Attributes | |
| const section_space_schema_member * | schema |
| The schema of the section. More... | |
| int | df |
| The fiber dimension. More... | |
| int | row_dof_ct |
| The row dof count. More... | |
| const base_space_poset * | base_space_host |
| The host of the base space of the section. More... | |
| block< scoped_index > | down_set |
| The strict down set of the evalaution member. More... | |
| zn_to_bool | visited |
| Markers for this section. More... | |
| eval_family * | evaluators |
| The evaluator family associated with schema. More... | |
| bool | is_uniform |
| True if evaluator family is uniform evaluator family. More... | |
| subposet | eval_sp |
| The evaluation subposet associated with schema. More... | |
| scoped_index | eval_id |
| The index of the current evaluation member. More... | |
| pod_index_type | eval_type_id |
| The type id of the current eval member. More... | |
| section_evaluator * | eval |
| The current evaluator. More... | |
| block< structured_block * > | eval_mbrs |
| A family of evaluation member handles. More... | |
| structured_block * | eval_mbr |
| The current evaluation member handle. More... | |
| subposet | disc_sp |
| The discretization subposet associated with schema. More... | |
| unordered::unordered_map< pod_index_type, pod_index_type > * | disc_to_seq_map |
| The map from discretization to sequence ids. More... | |
| pod_index_type | next_seq_id |
| The next sequence id. More... | |
| int | local_id |
| The local index of the current disc member with respect to the current eval member. More... | |
| bool | vertex_discretization |
| True if discretization is vertices. More... | |
| block< discretization_context > | discretization_members |
| The discretization members in the downset of the current evaluation member. More... | |
| block< sec_vd_dof_type > | dofs |
| Buffer for dofs of gathered disc members. More... | |
| std::set< pod_index_type > | correction_set |
| The set of evaluation member prototypes for which connectivity order correction is applied. More... | |
| bool | correction_enabled |
| True if discretization member order correction is enabled for the current evaluation member. More... | |
Descriptor for iteration state of individual section. Intended for implementing various iterators, especially concurrent iterations over multiple sections.
Definition at line 72 of file section_iteration_state.h.
| fiber_bundle::section_iteration_state::section_iteration_state | ( | ) |
True.
Default constructor.
Definition at line 42 of file section_iteration_state.cc.
References sheaf::invalid_pod_index(), and ~section_iteration_state().
| fiber_bundle::section_iteration_state::~section_iteration_state | ( | ) |
Destructor.
Definition at line 74 of file section_iteration_state.cc.
References sheaf::poset_component::detach_from_state(), and initialize().
Referenced by section_iteration_state().
| void fiber_bundle::section_iteration_state::ensure_discretization_order | ( | const scoped_index & | xgreater_index | ) |
Ensures correct order of the discretization members.
Definition at line 335 of file section_iteration_state.cc.
References sheaf::scoped_index::hub_pod(), initialize_order_correction(), and sheaf::UPPER.
Referenced by initialize_correction_set().
| void fiber_bundle::section_iteration_state::gather_discretization_member | ( | const scoped_index & | xindex, |
| const scoped_index & | xgreater_index | ||
| ) |
Puts xindex into the discretization gather buffer and, if enabled, corrects discretization order.
Definition at line 460 of file section_iteration_state.cc.
References fiber_bundle::discretization_context::disc_id, fiber_bundle::discretization_context::eval_id, and fiber_bundle::discretization_context::local_id.
Referenced by fields::property_disc_iterator_1_1::next(), and set_evaluation_member().
| void fiber_bundle::section_iteration_state::gather_discretization_member | ( | const scoped_index & | xindex | ) |
Puts xindex into the discretization gather buffer.
Definition at line 493 of file section_iteration_state.cc.
References fiber_bundle::discretization_context::disc_id, fiber_bundle::discretization_context::eval_id, gather_dofs(), and fiber_bundle::discretization_context::local_id.
| void fiber_bundle::section_iteration_state::gather_dofs | ( | const sec_vd & | xsec | ) |
Gathers dofs from xsec into the dofs buffer.
Definition at line 520 of file section_iteration_state.cc.
References fiber_bundle::sec_vd::dof_tuple(), fiber_bundle::sec_vd::get_fiber(), fiber_bundle::sec_rep_space_member::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
Referenced by gather_discretization_member().
| void fiber_bundle::section_iteration_state::gather_dofs | ( | const sec_vd & | xsec, |
| const block< discretization_context > & | xother_pts | ||
| ) |
Gathers dofs from xsec into xother_pts.
Definition at line 580 of file section_iteration_state.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), fiber_bundle::discretization_context::disc_id, fiber_bundle::sec_vd::get_fiber(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and fiber_bundle::discretization_context::values.
| void fiber_bundle::section_iteration_state::initialize | ( | const section_space_schema_member & | xschema | ) |
Inializes an instance with schema xschema.
Definition at line 103 of file section_iteration_state.cc.
References sheaf::poset_state_handle::attach_to_state(), fiber_bundle::section_space_schema_poset::base_space(), fiber_bundle::section_space_schema_member::df(), fiber_bundle::section_space_schema_member::discretization(), fiber_bundle::section_space_schema_member::evaluation(), fiber_bundle::section_space_schema_member::evaluator_family_name(), fiber_bundle::section_space_schema_member::host(), sheaf::poset_component::name_space(), sheaf::schema_poset_member::row_dof_ct(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
Referenced by ~section_iteration_state().
| void fiber_bundle::section_iteration_state::initialize | ( | const base_space_poset & | xbase_space_host | ) |
Inializes an instance with base space xbase_space_host.
Definition at line 212 of file section_iteration_state.cc.
References sheaf::poset_state_handle::attach_to_state(), initialize_correction_set(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
| void fiber_bundle::section_iteration_state::initialize_correction_set | ( | ) |
Initializes the set of evaluation member prototypes for which the discretization member order correction is applied.
Definition at line 307 of file section_iteration_state.cc.
References ensure_discretization_order().
Referenced by initialize().
| void fiber_bundle::section_iteration_state::initialize_order_correction | ( | ) |
Previsit action for eval_sp members.
Definition at line 388 of file section_iteration_state.cc.
References set_and_attach_evaluation_member().
Referenced by ensure_discretization_order().
| void fiber_bundle::section_iteration_state::set_and_attach_evaluation_member | ( | const scoped_index & | xindex | ) |
Sets eval_id to xindex, initializes local_id and eval, and attaches eval_mbr.
Definition at line 402 of file section_iteration_state.cc.
References sheaf::scoped_index::is_hub_scope(), and set_evaluation_member().
Referenced by initialize_order_correction().
| void fiber_bundle::section_iteration_state::set_evaluation_member | ( | const scoped_index & | xindex | ) |
Sets eval_id to xindex, initializes local_id and eval.
Definition at line 433 of file section_iteration_state.cc.
References gather_discretization_member(), and sheaf::scoped_index::is_hub_scope().
Referenced by set_and_attach_evaluation_member().
| const base_space_poset* fiber_bundle::section_iteration_state::base_space_host |
The host of the base space of the section.
Definition at line 93 of file section_iteration_state.h.
| bool fiber_bundle::section_iteration_state::correction_enabled |
True if discretization member order correction is enabled for the current evaluation member.
Definition at line 195 of file section_iteration_state.h.
| std::set<pod_index_type> fiber_bundle::section_iteration_state::correction_set |
The set of evaluation member prototypes for which connectivity order correction is applied.
Definition at line 189 of file section_iteration_state.h.
| int fiber_bundle::section_iteration_state::df |
The fiber dimension.
Definition at line 83 of file section_iteration_state.h.
| subposet fiber_bundle::section_iteration_state::disc_sp |
The discretization subposet associated with schema.
Definition at line 151 of file section_iteration_state.h.
Referenced by fields::property_disc_iterator_1_1::next().
| unordered::unordered_map<pod_index_type, pod_index_type>* fiber_bundle::section_iteration_state::disc_to_seq_map |
The map from discretization to sequence ids.
Definition at line 156 of file section_iteration_state.h.
| block<discretization_context> fiber_bundle::section_iteration_state::discretization_members |
The discretization members in the downset of the current evaluation member.
Definition at line 178 of file section_iteration_state.h.
Referenced by fields::property_disc_iterator_1_1::get_prop_disc_values(), and fields::property_disc_iterator_1_1::next().
| block<sec_vd_dof_type> fiber_bundle::section_iteration_state::dofs |
Buffer for dofs of gathered disc members.
Definition at line 183 of file section_iteration_state.h.
| block<scoped_index> fiber_bundle::section_iteration_state::down_set |
The strict down set of the evalaution member.
Definition at line 98 of file section_iteration_state.h.
| section_evaluator* fiber_bundle::section_iteration_state::eval |
The current evaluator.
Definition at line 136 of file section_iteration_state.h.
| scoped_index fiber_bundle::section_iteration_state::eval_id |
The index of the current evaluation member.
Definition at line 126 of file section_iteration_state.h.
| structured_block* fiber_bundle::section_iteration_state::eval_mbr |
The current evaluation member handle.
Definition at line 146 of file section_iteration_state.h.
| block<structured_block*> fiber_bundle::section_iteration_state::eval_mbrs |
A family of evaluation member handles.
Definition at line 141 of file section_iteration_state.h.
| subposet fiber_bundle::section_iteration_state::eval_sp |
The evaluation subposet associated with schema.
Definition at line 121 of file section_iteration_state.h.
| pod_index_type fiber_bundle::section_iteration_state::eval_type_id |
The type id of the current eval member.
Definition at line 131 of file section_iteration_state.h.
| eval_family* fiber_bundle::section_iteration_state::evaluators |
The evaluator family associated with schema.
Definition at line 108 of file section_iteration_state.h.
| bool fiber_bundle::section_iteration_state::is_uniform |
True if evaluator family is uniform evaluator family.
Definition at line 116 of file section_iteration_state.h.
| int fiber_bundle::section_iteration_state::local_id |
The local index of the current disc member with respect to the current eval member.
Definition at line 167 of file section_iteration_state.h.
| pod_index_type fiber_bundle::section_iteration_state::next_seq_id |
The next sequence id.
Definition at line 161 of file section_iteration_state.h.
| int fiber_bundle::section_iteration_state::row_dof_ct |
The row dof count.
Definition at line 88 of file section_iteration_state.h.
| const section_space_schema_member* fiber_bundle::section_iteration_state::schema |
The schema of the section.
Definition at line 78 of file section_iteration_state.h.
| bool fiber_bundle::section_iteration_state::vertex_discretization |
True if discretization is vertices.
Definition at line 172 of file section_iteration_state.h.
| zn_to_bool fiber_bundle::section_iteration_state::visited |
Markers for this section.
Definition at line 103 of file section_iteration_state.h.