21 #ifndef FIELD_REFINEMENT_BUFFER_H 22 #define FIELD_REFINEMENT_BUFFER_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/block.h" 33 #include "SheafSystem/fields.h" 36 #ifndef FIBER_BUNDLE_H 37 #include "SheafSystem/fiber_bundle.h" 41 #include "SheafSystem/field_vd.h" 45 #include "SheafSystem/zn_to_bool.h" 50 class scattered_insertion_index_space_handle;
56 class base_space_poset;
57 class section_evaluator;
65 class local_field_refiner;
84 bool invariant()
const;
272 void gather_coordinate_dofs();
278 void gather_property_dofs();
285 void push_prop_dofs();
298 void evaluate_at_center();
305 void evaluate_source_at_disc(
size_type xi);
347 #endif // ifndef FIELD_REFINEMENT_BUFFER_H A client handle for a subposet.
section_evaluator * coord_evaluator
The section evaluator for the coordinates section of the target.
section_evaluator ** parent_prop_evaluator
The property section evaluators for the parent zones.
block< sec_vd_dof_type > * parent_prop_dofs
A buffer for property dofs of the parent zones.
scattered_insertion_index_space_handle * coord_disc_seq_id_space
The discretization sequence id space of the target coordinates.
A buffer for data which is used by both a local_field_refiner object and its associated field_refinem...
subposet & coord_discretization
The discretization subposet of the coordinate section of the target.
Namespace for fields component of sheaf system.
const block< scoped_index > & prop_disc_ids
A buffer for gathering the property discretization members for the current zone.
block< sec_vd_value_type > coord_value
A buffer for computing coordinates at a point.
bool same_discretization
True if target property uses same discretization as target coordinates.
block< sec_vd_dof_type > coord_dofs
A buffer for gathering coordinate dofs.
int depth_ub
The upper bound for the refinement depth.
A map from Zn (the integers mod n) to bools. A characteristic function used to represent subsets of Z...
The lattice of closed cells of a cellular space; a lattice representation of a computational mesh...
scoped_index zone_id
The id of the current zone.
scattered_insertion_index_space_handle * elements_id_space
The sequence id space used by the elements subposet.
An index within the external ("client") scope of a given id space.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
A vd-valued property as a function of global coordinates.
subposet & prop_discretization
The discretization subposet of the property section of the target.
const block< scoped_index > & coord_disc_ids
A buffer for gathering the coordinate discretization members for the current zone.
field_vd & target
The field being refined.
block< sec_vd_value_type > prop_value
A buffer for computing target property at a point.
An abstract local section evaluator; a map from {local coordinates x dofs} to section value...
int * parent_subzone_id
The index of the current subzone of the parent zones.
scattered_insertion_index_space_handle * vertices_id_space
The sequence id space used by the vertices subposet.
block< sec_vd_value_type > source_prop_value
A buffer for computing source property at a point.
section_evaluator * prop_evaluator
The section evaluator for the property section of the target.
An abstract refiner for a field over a local region (primitive cell) in the base space.
const field_vd & source
The reference field.
A handle for a scattered_insertion_index_space_state.
Namespace for the sheaves component of the sheaf system.
subposet & evaluation
The evaluation subposet used by both the coordinates and property sections of the target...
block< chart_point_coord_type > local_coords
A buffer for the local coordinates of a point.
block< chart_point_coord_type > local_coords2
Another buffer for the local coordinates of a point.
base_space_poset * base_space
The current base space.
Namespace for the fiber_bundles component of the sheaf system.
scattered_insertion_index_space_handle * prop_disc_seq_id_space
The discretization sequence id space of the target coordinates.
block< sec_vd_dof_type > prop_dofs
A buffer for gathering property dofs.
zn_to_bool has_been_pushed
True if i-th member has been pused.
int depth
The refinement depth of the current zone.