https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Classes | Functions
FeatureFloodCount.h File Reference

Go to the source code of this file.

Classes

class  FeatureFloodCount
 This object will mark nodes or elements of continuous regions all with a unique number for the purpose of counting or "coloring" unique regions in a solution. More...
 
class  FeatureFloodCount::FeatureData
 
struct  enable_bitmask_operators< FeatureFloodCount::Status >
 
struct  enable_bitmask_operators< FeatureFloodCount::BoundaryIntersection >
 

Functions

template<>
void dataStore (std::ostream &stream, FeatureFloodCount::FeatureData &feature, void *context)
 
template<>
void dataStore (std::ostream &stream, BoundingBox &bbox, void *context)
 
template<>
void dataStore (std::ostream &stream, FeatureFloodCount::Status &, void *)
 
template<>
void dataStore (std::ostream &stream, FeatureFloodCount::BoundaryIntersection &, void *)
 
template<>
void dataLoad (std::istream &stream, FeatureFloodCount::FeatureData &feature, void *context)
 
template<>
void dataLoad (std::istream &stream, BoundingBox &bbox, void *context)
 
template<>
void dataLoad (std::istream &stream, FeatureFloodCount::Status &, void *)
 
template<>
void dataLoad (std::istream &stream, FeatureFloodCount::BoundaryIntersection &, void *)
 

Function Documentation

◆ dataLoad() [1/4]

template<>
void dataLoad ( std::istream &  stream,
BoundingBox &  bbox,
void *  context 
)

Definition at line 86 of file FeatureFloodCount.C.

87{
88 dataLoad(stream, bbox.min(), context);
89 dataLoad(stream, bbox.max(), context);
90}
void dataLoad(std::istream &stream, FeatureFloodCount::FeatureData &feature, void *context)

◆ dataLoad() [2/4]

template<>
void dataLoad ( std::istream &  stream,
FeatureFloodCount::BoundaryIntersection v,
void *  context 
)

Definition at line 2294 of file FeatureFloodCount.C.

2295{
2296 unsigned char loaded;
2297 dataLoad(stream, loaded, context);
2298 v = static_cast<FeatureFloodCount::BoundaryIntersection>(loaded);
2299}
const double v
BoundaryIntersection
This enumeration is used to inidacate status of boundary intersections.

◆ dataLoad() [3/4]

template<>
void dataLoad ( std::istream &  stream,
FeatureFloodCount::FeatureData feature,
void *  context 
)

Note that _local_ids is not loaded here. It's not needed for restart, and not needed during the parallel merge operation

Definition at line 63 of file FeatureFloodCount.C.

64{
69 dataLoad(stream, feature._ghosted_ids, context);
70 dataLoad(stream, feature._halo_ids, context);
71 dataLoad(stream, feature._disjoint_halo_ids, context);
72 dataLoad(stream, feature._periodic_nodes, context);
73 dataLoad(stream, feature._var_index, context);
74 dataLoad(stream, feature._id, context);
75 dataLoad(stream, feature._bboxes, context);
76 dataLoad(stream, feature._orig_ids, context);
77 dataLoad(stream, feature._min_entity_id, context);
78 dataLoad(stream, feature._vol_count, context);
79 dataLoad(stream, feature._centroid, context);
80 dataLoad(stream, feature._status, context);
81 dataLoad(stream, feature._boundary_intersection, context);
82}
Status _status
The status of a feature (used mostly in derived classes like the GrainTracker)
std::vector< BoundingBox > _bboxes
The vector of bounding boxes completely enclosing this feature (multiple used with periodic constrain...
container_type _halo_ids
Holds the ids surrounding the feature.
BoundaryIntersection _boundary_intersection
Enumeration indicating boundary intersection status.
container_type _disjoint_halo_ids
Holds halo ids that extend onto a non-topologically connected surface.
std::list< std::pair< processor_id_type, unsigned int > > _orig_ids
Original processor/local ids.
dof_id_type _min_entity_id
The minimum entity seen in the _local_ids, used for sorting features.
std::size_t _var_index
The Moose variable where this feature was found (often the "order parameter")
Point _centroid
The centroid of the feature (average of coordinates from entities participating in the volume calcula...
unsigned int _id
An ID for this feature.
std::size_t _vol_count
The count of entities contributing to the volume calculation.
container_type _periodic_nodes
Holds the nodes that belong to the feature on a periodic boundary.
container_type _ghosted_ids
Holds the ghosted ids for a feature (the ids which will be used for stitching.

Referenced by dataLoad(), dataLoad(), dataLoad(), dataLoad(), and FeatureFloodCount::deserialize().

◆ dataLoad() [4/4]

template<>
void dataLoad ( std::istream &  stream,
FeatureFloodCount::Status v,
void *  context 
)

Definition at line 2277 of file FeatureFloodCount.C.

2278{
2279 unsigned char loaded;
2280 dataLoad(stream, loaded, context);
2281 v = static_cast<FeatureFloodCount::Status>(loaded);
2282}
Status
This enumeration is used to indicate status of the grains in the _unique_grains data structure.

◆ dataStore() [1/4]

template<>
void dataStore ( std::ostream &  stream,
BoundingBox &  bbox,
void *  context 
)

Definition at line 55 of file FeatureFloodCount.C.

56{
57 dataStore(stream, bbox.min(), context);
58 dataStore(stream, bbox.max(), context);
59}
void dataStore(std::ostream &stream, FeatureFloodCount::FeatureData &feature, void *context)

◆ dataStore() [2/4]

template<>
void dataStore ( std::ostream &  stream,
FeatureFloodCount::BoundaryIntersection v,
void *  ctx 
)

Definition at line 2286 of file FeatureFloodCount.C.

2287{
2288 auto stored = static_cast<unsigned char>(v);
2289 dataStore(stream, stored, ctx);
2290}

◆ dataStore() [3/4]

template<>
void dataStore ( std::ostream &  stream,
FeatureFloodCount::FeatureData feature,
void *  context 
)

Note that _local_ids is not stored here. It's not needed for restart, and not needed during the parallel merge operation

Definition at line 32 of file FeatureFloodCount.C.

33{
38 dataStore(stream, feature._ghosted_ids, context);
39 dataStore(stream, feature._halo_ids, context);
40 dataStore(stream, feature._disjoint_halo_ids, context);
41 dataStore(stream, feature._periodic_nodes, context);
42 dataStore(stream, feature._var_index, context);
43 dataStore(stream, feature._id, context);
44 dataStore(stream, feature._bboxes, context);
45 dataStore(stream, feature._orig_ids, context);
46 dataStore(stream, feature._min_entity_id, context);
47 dataStore(stream, feature._vol_count, context);
48 dataStore(stream, feature._centroid, context);
49 dataStore(stream, feature._status, context);
50 dataStore(stream, feature._boundary_intersection, context);
51}

Referenced by dataStore(), dataStore(), dataStore(), dataStore(), and FeatureFloodCount::serialize().

◆ dataStore() [4/4]

template<>
void dataStore ( std::ostream &  stream,
FeatureFloodCount::Status v,
void *  ctx 
)

Definition at line 2269 of file FeatureFloodCount.C.

2270{
2271 auto stored = static_cast<unsigned char>(v);
2272 dataStore(stream, stored, ctx);
2273}