This class is a fake grain tracker object, it will not actually track grains nor remap them but will provide the same interface as the grain tracker and can be used as a lightweight replacement when neither of those methods are needed. More...
#include <FauxGrainTracker.h>
Public Member Functions | |
FauxGrainTracker (const InputParameters ¶meters) | |
virtual | ~FauxGrainTracker () |
virtual void | initialize () override |
virtual void | finalize () override |
virtual Real | getValue () const override |
virtual void | execute () override |
virtual Real | getEntityValue (dof_id_type entity_id, FeatureFloodCount::FieldType field_type, std::size_t var_idx) const override |
virtual const std::vector< unsigned int > & | getVarToFeatureVector (dof_id_type elem_id) const override |
Returns a list of active unique feature ids for a particular element. More... | |
virtual unsigned int | getFeatureVar (unsigned int feature_id) const override |
Returns the variable representing the passed in feature. More... | |
virtual std::size_t | getNumberActiveGrains () const override |
Returns the number of active grains current stored in the GrainTracker. More... | |
virtual std::size_t | getTotalFeatureCount () const override |
Returns the total feature count (active and inactive ids, useful for sizing vectors) More... | |
virtual Point | getGrainCentroid (unsigned int grain_id) const override |
Returns the centroid for the given grain number. More... | |
virtual bool | doesFeatureIntersectBoundary (unsigned int feature_id) const override |
Returns a Boolean indicating whether this feature intersects any boundary. More... | |
virtual void | initialSetup () override |
virtual void | meshChanged () override |
std::size_t | getNumberActiveFeatures () const |
Return the number of active features. More... | |
virtual bool | doesFeatureIntersectSpecifiedBoundary (unsigned int feature_id) const |
Returns a Boolean indicating whether this feature intersects boundaries in a user-supplied list. More... | |
virtual bool | isFeaturePercolated (unsigned int feature_id) const |
Returns a Boolean indicating whether this feature is percolated (e.g. More... | |
virtual Point | featureCentroid (unsigned int feature_id) const |
Returns the centroid of the designated feature (only supported without periodic boundaries) More... | |
std::size_t | numCoupledVars () const |
Returns the number of coupled varaibles. More... | |
const std::vector< MooseVariable * > & | getCoupledVars () const |
Returns a const vector to the coupled variable pointers. More... | |
const std::vector< MooseVariableFEBase * > & | getFECoupledVars () const |
Returns a const vector to the coupled MooseVariableFEBase pointers. More... | |
bool | isElemental () const |
const std::vector< FeatureData > & | getFeatures () const |
Return a constant reference to the vector of all discovered features. More... | |
SubProblem & | getSubProblem () const |
bool | shouldDuplicateInitialExecution () const |
virtual Real | spatialValue (const Point &) const |
virtual const std::vector< Point > | spatialPoints () const |
void | gatherSum (T &value) |
void | gatherMax (T &value) |
void | gatherMin (T &value) |
void | gatherProxyValueMax (T1 &proxy, T2 &value) |
void | gatherProxyValueMin (T1 &proxy, T2 &value) |
void | setPrimaryThreadCopy (UserObject *primary) |
UserObject * | primaryThreadCopy () |
std::set< UserObjectName > | getDependObjects () const |
virtual bool | needThreadedCopy () const |
const std::set< std::string > & | getRequestedItems () override |
const std::set< std::string > & | getSuppliedItems () override |
unsigned int | systemNumber () const |
virtual bool | enabled () const |
std::shared_ptr< MooseObject > | getSharedPtr () |
std::shared_ptr< const MooseObject > | getSharedPtr () const |
MooseApp & | getMooseApp () const |
const std::string & | type () const |
virtual const std::string & | name () const |
std::string | typeAndName () const |
std::string | errorPrefix (const std::string &error_type) const |
void | callMooseError (std::string msg, const bool with_prefix) const |
MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
const InputParameters & | parameters () const |
MooseObjectName | uniqueName () const |
const T & | getParam (const std::string &name) const |
std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
bool | isParamValid (const std::string &name) const |
bool | isParamSetByUser (const std::string &nm) const |
void | paramError (const std::string ¶m, Args... args) const |
void | paramWarning (const std::string ¶m, Args... args) const |
void | paramInfo (const std::string ¶m, Args... args) const |
void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
void | mooseError (Args &&... args) const |
void | mooseErrorNonPrefixed (Args &&... args) const |
void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
void | mooseWarning (Args &&... args) const |
void | mooseWarningNonPrefixed (Args &&... args) const |
void | mooseDeprecated (Args &&... args) const |
void | mooseInfo (Args &&... args) const |
std::string | getDataFileName (const std::string ¶m) const |
std::string | getDataFileNameByName (const std::string &relative_path) const |
std::string | getDataFilePath (const std::string &relative_path) const |
virtual void | timestepSetup () |
virtual void | timestepSetup () override |
virtual void | jacobianSetup () |
virtual void | jacobianSetup () override |
virtual void | residualSetup () |
virtual void | residualSetup () override |
virtual void | customSetup (const ExecFlagType &) |
virtual void | customSetup (const ExecFlagType &exec_type) override |
const ExecFlagEnum & | getExecuteOnEnum () const |
UserObjectName | getUserObjectName (const std::string ¶m_name) const |
const T & | getUserObject (const std::string ¶m_name, bool is_dependency=true) const |
const T & | getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBase (const std::string ¶m_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const |
const std::vector< MooseVariableScalar *> & | getCoupledMooseScalarVars () |
const std::set< TagID > & | getScalarVariableCoupleableVectorTags () const |
const std::set< TagID > & | getScalarVariableCoupleableMatrixTags () const |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, const unsigned int state=0) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name, MaterialData &material_data) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name) |
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > | getBlockMaterialProperty (const MaterialPropertyName &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialProperty (const std::string &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialProperty () |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialPropertyByName (const std::string &prop_name) |
const MaterialProperty< T > & | getZeroMaterialProperty (Ts... args) |
std::set< SubdomainID > | getMaterialPropertyBlocks (const std::string &name) |
std::vector< SubdomainName > | getMaterialPropertyBlockNames (const std::string &name) |
std::set< BoundaryID > | getMaterialPropertyBoundaryIDs (const std::string &name) |
std::vector< BoundaryName > | getMaterialPropertyBoundaryNames (const std::string &name) |
void | checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete) |
std::unordered_map< SubdomainID, std::vector< MaterialBase *> > | buildRequiredMaterials (bool allow_stateful=true) |
void | statefulPropertiesAllowed (bool) |
bool | getMaterialPropertyCalled () const |
const std::unordered_set< unsigned int > & | getMatPropDependencies () const |
virtual void | resolveOptionalProperties () |
const GenericMaterialProperty< T, is_ad > & | getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state) |
bool | isImplicit () |
Moose::StateArg | determineState () const |
const PostprocessorValue & | getCurrentValue () const |
const std::string & | PPName () const |
virtual bool | hasBlocks (SubdomainID) const override |
bool | supportsFaceArg () const override final |
bool | supportsElemSideQpArg () const override final |
void | buildOutputHideVariableList (std::set< std::string > variable_names) |
const std::set< OutputName > & | getOutputs () |
FunctorReturnType< Real, FET >::type | genericEvaluate (const Space &r, const State &state) const |
const MooseFunctorName & | functorName () const |
void | setCacheClearanceSchedule (const std::set< ExecFlagType > &clearance_schedule) |
virtual bool | isExtrapolatedBoundaryFace (const FaceInfo &, const Elem *, const StateArg &) const |
bool | isInternalFace (const FaceInfo &) const |
virtual bool | isConstant () const |
virtual bool | hasFaceSide (const FaceInfo &fi, const bool fi_elem_side) const override |
void | checkFace (const Moose::FaceArg &face) const |
virtual void | threadJoin (const UserObject &) override |
virtual void | threadJoin (const UserObject &) override |
virtual void | subdomainSetup () override |
virtual void | subdomainSetup () override |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
const GenericOptionalMaterialProperty< T, is_ad > & | getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const GenericOptionalMaterialProperty< T, is_ad > & | getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalMaterialProperty< T > & | getOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalMaterialProperty< T > & | getOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalADMaterialProperty< T > & | getOptionalADMaterialProperty (const std::string &name) |
const OptionalADMaterialProperty< T > & | getOptionalADMaterialProperty (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOld (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOld (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOlder (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOlder (const std::string &name) |
MaterialBase & | getMaterial (const std::string &name) |
MaterialBase & | getMaterial (const std::string &name) |
MaterialBase & | getMaterialByName (const std::string &name, bool no_warn=false) |
MaterialBase & | getMaterialByName (const std::string &name, bool no_warn=false) |
bool | hasMaterialProperty (const std::string &name) |
bool | hasMaterialProperty (const std::string &name) |
bool | hasMaterialPropertyByName (const std::string &name) |
bool | hasMaterialPropertyByName (const std::string &name) |
bool | hasADMaterialProperty (const std::string &name) |
bool | hasADMaterialProperty (const std::string &name) |
bool | hasADMaterialPropertyByName (const std::string &name) |
bool | hasADMaterialPropertyByName (const std::string &name) |
bool | hasGenericMaterialProperty (const std::string &name) |
bool | hasGenericMaterialProperty (const std::string &name) |
bool | hasGenericMaterialPropertyByName (const std::string &name) |
bool | hasGenericMaterialPropertyByName (const std::string &name) |
ValueType | operator() (const ElemArg &elem, const StateArg &state) const |
ValueType | operator() (const FaceArg &face, const StateArg &state) const |
ValueType | operator() (const ElemQpArg &qp, const StateArg &state) const |
ValueType | operator() (const ElemSideQpArg &qp, const StateArg &state) const |
ValueType | operator() (const ElemPointArg &elem_point, const StateArg &state) const |
ValueType | operator() (const NodeArg &node, const StateArg &state) const |
ValueType | operator() (const ElemArg &elem, const StateArg &state) const |
ValueType | operator() (const FaceArg &face, const StateArg &state) const |
ValueType | operator() (const ElemQpArg &qp, const StateArg &state) const |
ValueType | operator() (const ElemSideQpArg &qp, const StateArg &state) const |
ValueType | operator() (const ElemPointArg &elem_point, const StateArg &state) const |
ValueType | operator() (const NodeArg &node, const StateArg &state) const |
ValueType | operator() (const ElemArg &elem, const StateArg &state) const |
ValueType | operator() (const FaceArg &face, const StateArg &state) const |
ValueType | operator() (const ElemQpArg &qp, const StateArg &state) const |
ValueType | operator() (const ElemSideQpArg &qp, const StateArg &state) const |
ValueType | operator() (const ElemPointArg &elem_point, const StateArg &state) const |
ValueType | operator() (const NodeArg &node, const StateArg &state) const |
GradientType | gradient (const ElemArg &elem, const StateArg &state) const |
GradientType | gradient (const FaceArg &face, const StateArg &state) const |
GradientType | gradient (const ElemQpArg &qp, const StateArg &state) const |
GradientType | gradient (const ElemSideQpArg &qp, const StateArg &state) const |
GradientType | gradient (const ElemPointArg &elem_point, const StateArg &state) const |
GradientType | gradient (const NodeArg &node, const StateArg &state) const |
GradientType | gradient (const ElemArg &elem, const StateArg &state) const |
GradientType | gradient (const FaceArg &face, const StateArg &state) const |
GradientType | gradient (const ElemQpArg &qp, const StateArg &state) const |
GradientType | gradient (const ElemSideQpArg &qp, const StateArg &state) const |
GradientType | gradient (const ElemPointArg &elem_point, const StateArg &state) const |
GradientType | gradient (const NodeArg &node, const StateArg &state) const |
GradientType | gradient (const ElemArg &elem, const StateArg &state) const |
GradientType | gradient (const FaceArg &face, const StateArg &state) const |
GradientType | gradient (const ElemQpArg &qp, const StateArg &state) const |
GradientType | gradient (const ElemSideQpArg &qp, const StateArg &state) const |
GradientType | gradient (const ElemPointArg &elem_point, const StateArg &state) const |
GradientType | gradient (const NodeArg &node, const StateArg &state) const |
DotType | dot (const ElemArg &elem, const StateArg &state) const |
DotType | dot (const FaceArg &face, const StateArg &state) const |
DotType | dot (const ElemQpArg &qp, const StateArg &state) const |
DotType | dot (const ElemSideQpArg &qp, const StateArg &state) const |
DotType | dot (const ElemPointArg &elem_point, const StateArg &state) const |
DotType | dot (const NodeArg &node, const StateArg &state) const |
DotType | dot (const ElemArg &elem, const StateArg &state) const |
DotType | dot (const FaceArg &face, const StateArg &state) const |
DotType | dot (const ElemQpArg &qp, const StateArg &state) const |
DotType | dot (const ElemSideQpArg &qp, const StateArg &state) const |
DotType | dot (const ElemPointArg &elem_point, const StateArg &state) const |
DotType | dot (const NodeArg &node, const StateArg &state) const |
DotType | dot (const ElemArg &elem, const StateArg &state) const |
DotType | dot (const FaceArg &face, const StateArg &state) const |
DotType | dot (const ElemQpArg &qp, const StateArg &state) const |
DotType | dot (const ElemSideQpArg &qp, const StateArg &state) const |
DotType | dot (const ElemPointArg &elem_point, const StateArg &state) const |
DotType | dot (const NodeArg &node, const StateArg &state) const |
GradientType | gradDot (const ElemArg &elem, const StateArg &state) const |
GradientType | gradDot (const FaceArg &face, const StateArg &state) const |
GradientType | gradDot (const ElemQpArg &qp, const StateArg &state) const |
GradientType | gradDot (const ElemSideQpArg &qp, const StateArg &state) const |
GradientType | gradDot (const ElemPointArg &elem_point, const StateArg &state) const |
GradientType | gradDot (const NodeArg &node, const StateArg &state) const |
GradientType | gradDot (const ElemArg &elem, const StateArg &state) const |
GradientType | gradDot (const FaceArg &face, const StateArg &state) const |
GradientType | gradDot (const ElemQpArg &qp, const StateArg &state) const |
GradientType | gradDot (const ElemSideQpArg &qp, const StateArg &state) const |
GradientType | gradDot (const ElemPointArg &elem_point, const StateArg &state) const |
GradientType | gradDot (const NodeArg &node, const StateArg &state) const |
GradientType | gradDot (const ElemArg &elem, const StateArg &state) const |
GradientType | gradDot (const FaceArg &face, const StateArg &state) const |
GradientType | gradDot (const ElemQpArg &qp, const StateArg &state) const |
GradientType | gradDot (const ElemSideQpArg &qp, const StateArg &state) const |
GradientType | gradDot (const ElemPointArg &elem_point, const StateArg &state) const |
GradientType | gradDot (const NodeArg &node, const StateArg &state) const |
const Function & | getFunction (const std::string &name) const |
const Function & | getFunctionByName (const FunctionName &name) const |
bool | hasFunction (const std::string ¶m_name) const |
bool | hasFunctionByName (const FunctionName &name) const |
bool | isDefaultPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessor (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessorByName (const PostprocessorName &name) const |
std::size_t | coupledPostprocessors (const std::string ¶m_name) const |
const PostprocessorName & | getPostprocessorName (const std::string ¶m_name, const unsigned int index=0) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name) const |
const VectorPostprocessorName & | getVectorPostprocessorName (const std::string ¶m_name) const |
T & | getSampler (const std::string &name) |
Sampler & | getSampler (const std::string &name) |
T & | getSamplerByName (const SamplerName &name) |
Sampler & | getSamplerByName (const SamplerName &name) |
PerfGraph & | perfGraph () |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
const Distribution & | getDistribution (const std::string &name) const |
const T & | getDistribution (const std::string &name) const |
const Distribution & | getDistribution (const std::string &name) const |
const T & | getDistribution (const std::string &name) const |
const Distribution & | getDistributionByName (const DistributionName &name) const |
const T & | getDistributionByName (const std::string &name) const |
const Distribution & | getDistributionByName (const DistributionName &name) const |
const T & | getDistributionByName (const std::string &name) const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
const ADVariableValue * | getADDefaultValue (const std::string &var_name) const |
const std::vector< MooseVariableFieldBase *> & | getCoupledMooseVars () const |
const std::vector< MooseVariable *> & | getCoupledStandardMooseVars () const |
const std::vector< VectorMooseVariable *> & | getCoupledVectorMooseVars () const |
const std::vector< ArrayMooseVariable *> & | getCoupledArrayMooseVars () const |
void | addFEVariableCoupleableVectorTag (TagID tag) |
void | addFEVariableCoupleableMatrixTag (TagID tag) |
std::set< TagID > & | getFEVariableCoupleableVectorTags () |
const std::set< TagID > & | getFEVariableCoupleableVectorTags () const |
std::set< TagID > & | getFEVariableCoupleableMatrixTags () |
const std::set< TagID > & | getFEVariableCoupleableMatrixTags () const |
auto & | getWritableCoupledVariables () const |
bool | hasWritableCoupledVariables () const |
const ADVectorVariableValue * | getADDefaultVectorValue (const std::string &var_name) const |
const ADVariableGradient & | getADDefaultGradient () const |
const ADVectorVariableGradient & | getADDefaultVectorGradient () const |
const ADVariableSecond & | getADDefaultSecond () const |
const ADVectorVariableCurl & | getADDefaultCurl () const |
const std::set< MooseVariableFieldBase *> & | getMooseVariableDependencies () const |
std::set< MooseVariableFieldBase *> | checkAllVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_omit={}) |
std::set< MooseVariableFieldBase *> | checkVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_check) |
virtual const std::set< BoundaryID > & | boundaryIDs () const |
const std::vector< BoundaryName > & | boundaryNames () const |
unsigned int | numBoundaryIDs () const |
bool | hasBoundary (const BoundaryName &name) const |
bool | hasBoundary (const std::vector< BoundaryName > &names) const |
bool | hasBoundary (const BoundaryID &id) const |
bool | hasBoundary (const std::vector< BoundaryID > &ids, TEST_TYPE type=ALL) const |
bool | hasBoundary (const std::set< BoundaryID > &ids, TEST_TYPE type=ALL) const |
bool | isBoundarySubset (const std::set< BoundaryID > &ids) const |
bool | isBoundarySubset (const std::vector< BoundaryID > &ids) const |
bool | hasBoundaryMaterialProperty (const std::string &prop_name) const |
virtual bool | boundaryRestricted () const |
const std::set< BoundaryID > & | meshBoundaryIDs () const |
virtual bool | checkVariableBoundaryIntegrity () const |
virtual std::vector< unsigned int > | getNewGrainIDs () const |
This method returns all of the new ids generated in an invocation of the GrainTracker. More... | |
Static Public Member Functions | |
static InputParameters | validParams () |
static void | sortDFS (typename std::vector< T > &vector) |
static void | cyclicDependencyError (CyclicDependencyException< T2 > &e, const std::string &header) |
static std::string | deduceFunctorName (const std::string &name, const InputParameters ¶ms) |
static bool | restricted (const std::set< BoundaryID > &ids) |
Public Attributes | |
const ConsoleStream | _console |
ALL | |
ANY | |
Static Public Attributes | |
static constexpr PropertyValue::id_type | default_property_id |
static constexpr PropertyValue::id_type | zero_property_id |
static constexpr auto | SYSTEM |
static constexpr auto | NAME |
static const std::size_t | invalid_size_t = std::numeric_limits<std::size_t>::max() |
static const unsigned int | invalid_id = std::numeric_limits<unsigned int>::max() |
static const processor_id_type | invalid_proc_id |
Protected Member Functions | |
template<typename T > | |
bool | isBoundaryEntity (const T *entity) const |
Returns a Boolean indicating whether the entity is on one of the desired boundaries. More... | |
virtual void | updateFieldInfo () |
This method is used to populate any of the data structures used for storing field data (nodal or elemental). More... | |
bool | flood (const DofObject *dof_object, std::size_t current_index) |
This method will check if the current entity is above the supplied threshold and "mark" it. More... | |
virtual Real | getThreshold (std::size_t current_index) const |
Return the starting comparison threshold to use when inspecting an entity during the flood stage. More... | |
virtual Real | getConnectingThreshold (std::size_t current_index) const |
Return the "connecting" comparison threshold to use when inspecting an entity during the flood stage. More... | |
bool | compareValueWithThreshold (Real entity_value, Real threshold) const |
This method is used to determine whether the current entity value is part of a feature or not. More... | |
virtual bool | isNewFeatureOrConnectedRegion (const DofObject *dof_object, std::size_t ¤t_index, FeatureData *&feature, Status &status, unsigned int &new_id) |
Method called during the recursive flood routine that should return whether or not the current entity is part of the current feature (if one is being explored), or if it's the start of a new feature. More... | |
void | expandPointHalos () |
This method takes all of the partial features and expands the local, ghosted, and halo sets around those regions to account for the diffuse interface. More... | |
void | expandEdgeHalos (unsigned int num_layers_to_expand) |
This method expands the existing halo set by some width determined by the passed in value. More... | |
template<typename T > | |
void | visitNeighborsHelper (const T *curr_entity, std::vector< const T *> neighbor_entities, FeatureData *feature, bool expand_halos_only, bool topological_neighbor, bool disjoint_only) |
The actual logic for visiting neighbors is abstracted out here. More... | |
virtual void | prepareDataForTransfer () |
This routine uses the local flooded data to build up the local feature data structures (_partial feature_sets). More... | |
void | serialize (std::string &serialized_buffer, unsigned int var_num=invalid_id) |
This routines packs the _partial_feature_sets data into a structure suitable for parallel communication operations. More... | |
void | deserialize (std::vector< std::string > &serialized_buffers, unsigned int var_num=invalid_id) |
This routine takes the vector of byte buffers (one for each processor), deserializes them into a series of FeatureSet objects, and appends them to the _feature_sets data structure. More... | |
virtual void | mergeSets () |
This routine is called on the primary rank only and stitches together the partial feature pieces seen on any processor. More... | |
virtual void | consolidateMergedFeatures (std::vector< std::list< FeatureData >> *saved_data=nullptr) |
This method consolidates all of the merged information from _partial_feature_sets into the _feature_sets vectors. More... | |
virtual bool | areFeaturesMergeable (const FeatureData &f1, const FeatureData &f2) const |
Method for determining whether two features are mergeable. More... | |
virtual processor_id_type | numberOfDistributedMergeHelpers () const |
Returns a number indicating the number of merge helpers when running in parallel based on certain implementer decided criteria. More... | |
void | communicateAndMerge () |
This routine handles all of the serialization, communication and deserialization of the data structures containing FeatureData objects. More... | |
virtual void | restoreOriginalDataStructures (std::vector< std::list< FeatureData >> &) |
void | sortAndLabel () |
Sort and assign ids to features based on their position in the container after sorting. More... | |
void | scatterAndUpdateRanks () |
Calls buildLocalToGlobalIndices to build the individual local to global indicies for each rank and scatters that information to all ranks. More... | |
virtual void | buildLocalToGlobalIndices (std::vector< std::size_t > &local_to_global_all, std::vector< int > &counts) const |
This routine populates a stacked vector of local to global indices per rank and the associated count vector for scattering the vector to the ranks. More... | |
void | buildFeatureIdToLocalIndices (unsigned int max_id) |
This method builds a lookup map for retrieving the right local feature (by index) given a global index or id. More... | |
virtual void | clearDataStructures () |
Helper routine for clearing up data structures during initialize and prior to parallel communication. More... | |
void | updateBoundaryIntersections (FeatureData &feature) const |
Update the feature's attributes to indicate boundary intersections. More... | |
void | appendPeriodicNeighborNodes (FeatureData &feature) const |
This routine adds the periodic node information to our data structure prior to packing the data this makes those periodic neighbors appear much like ghosted nodes in a multiprocessor setting. More... | |
void | updateRegionOffsets () |
This routine updates the _region_offsets variable which is useful for quickly determining the proper global number for a feature when using multimap mode. More... | |
std::string | deduceFunctorName (const std::string &name) const |
virtual void | addPostprocessorDependencyHelper (const PostprocessorName &name) const override |
virtual void | addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &name) const override |
virtual void | addUserObjectDependencyHelper (const UserObject &uo) const override |
void | addReporterDependencyHelper (const ReporterName &reporter_name) override |
const ReporterName & | getReporterName (const std::string ¶m_name) const |
T & | declareRestartableData (const std::string &data_name, Args &&... args) |
ManagedValue< T > | declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
const T & | getRestartableData (const std::string &data_name) const |
T & | declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
T & | declareRecoverableData (const std::string &data_name, Args &&... args) |
T & | declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args) |
T & | declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args) |
std::string | restartableName (const std::string &data_name) const |
const T & | getMeshProperty (const std::string &data_name, const std::string &prefix) |
const T & | getMeshProperty (const std::string &data_name) |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name) const |
bool | hasMeshProperty (const std::string &data_name) const |
std::string | meshPropertyName (const std::string &data_name) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const |
std::string | timedSectionName (const std::string §ion_name) const |
bool | isCoupledScalar (const std::string &var_name, unsigned int i=0) const |
unsigned int | coupledScalarComponents (const std::string &var_name) const |
unsigned int | coupledScalar (const std::string &var_name, unsigned int comp=0) const |
libMesh::Order | coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< is_ad > & | coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const VariableValue & | coupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const |
const MooseVariableScalar * | getScalarVar (const std::string &var_name, unsigned int comp) const |
virtual void | checkMaterialProperty (const std::string &name, const unsigned int state) |
void | markMatPropRequested (const std::string &) |
MaterialPropertyName | getMaterialPropertyName (const std::string &name) const |
void | checkExecutionStage () |
const Moose::Functor< T > & | getFunctor (const std::string &name) |
const Moose::Functor< T > & | getFunctor (const std::string &name, THREAD_ID tid) |
const Moose::Functor< T > & | getFunctor (const std::string &name, SubProblem &subproblem) |
const Moose::Functor< T > & | getFunctor (const std::string &name, SubProblem &subproblem, THREAD_ID tid) |
bool | isFunctor (const std::string &name) const |
bool | isFunctor (const std::string &name, const SubProblem &subproblem) const |
Moose::ElemArg | makeElemArg (const Elem *elem, bool correct_skewnewss=false) const |
void | checkFunctorSupportsSideIntegration (const std::string &name, bool qp_integration) |
const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
const GenericMaterialProperty< T, is_ad > * | defaultGenericMaterialProperty (const std::string &name) |
const GenericMaterialProperty< T, is_ad > * | defaultGenericMaterialProperty (const std::string &name) |
const MaterialProperty< T > * | defaultMaterialProperty (const std::string &name) |
const MaterialProperty< T > * | defaultMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > * | defaultADMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > * | defaultADMaterialProperty (const std::string &name) |
virtual GradientType | evaluateGradDot (const ElemArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const FaceArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemSideQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemPointArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const NodeArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const FaceArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemSideQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemPointArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const NodeArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const FaceArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemSideQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemPointArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const NodeArg &, const StateArg &) const |
bool | checkVar (const std::string &var_name, unsigned int comp=0, unsigned int comp_bound=0) const |
void | validateExecutionerType (const std::string &name, const std::string &fn_name) const |
virtual ValueType | evaluate (const ElemArg &elem, const StateArg &state) const =0 |
virtual ValueType | evaluate (const FaceArg &face, const StateArg &state) const =0 |
virtual ValueType | evaluate (const ElemQpArg &qp, const StateArg &state) const =0 |
virtual ValueType | evaluate (const ElemSideQpArg &side_qp, const StateArg &state) const =0 |
virtual ValueType | evaluate (const ElemPointArg &elem_point, const StateArg &state) const =0 |
virtual ValueType | evaluate (const NodeArg &node, const StateArg &state) const =0 |
virtual GradientType | evaluateGradient (const ElemArg &, const StateArg &) const |
virtual GradientType | evaluateGradient (const FaceArg &, const StateArg &) const |
virtual GradientType | evaluateGradient (const ElemQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradient (const ElemSideQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradient (const ElemPointArg &, const StateArg &) const |
virtual GradientType | evaluateGradient (const NodeArg &, const StateArg &) const |
virtual DotType | evaluateDot (const ElemArg &, const StateArg &) const |
virtual DotType | evaluateDot (const FaceArg &, const StateArg &) const |
virtual DotType | evaluateDot (const ElemQpArg &, const StateArg &) const |
virtual DotType | evaluateDot (const ElemSideQpArg &, const StateArg &) const |
virtual DotType | evaluateDot (const ElemPointArg &, const StateArg &) const |
virtual DotType | evaluateDot (const NodeArg &, const StateArg &) const |
virtual void | coupledCallback (const std::string &, bool) const |
virtual bool | isCoupled (const std::string &var_name, unsigned int i=0) const |
virtual bool | isCoupledConstant (const std::string &var_name) const |
unsigned int | coupledComponents (const std::string &var_name) const |
VariableName | coupledName (const std::string &var_name, unsigned int comp=0) const |
std::vector< VariableName > | coupledNames (const std::string &var_name) const |
virtual unsigned int | coupled (const std::string &var_name, unsigned int comp=0) const |
std::vector< unsigned int > | coupledIndices (const std::string &var_name) const |
virtual const VariableValue & | coupledValue (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledValues (const std::string &var_name) const |
std::vector< const VectorVariableValue *> | coupledVectorValues (const std::string &var_name) const |
const GenericVariableValue< is_ad > & | coupledGenericValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericValue (const std::string &var_name, unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericValue (const std::string &var_name, unsigned int comp) const |
std::vector< const GenericVariableValue< is_ad > *> | coupledGenericValues (const std::string &var_name) const |
std::vector< const GenericVariableValue< false > *> | coupledGenericValues (const std::string &var_name) const |
std::vector< const GenericVariableValue< true > *> | coupledGenericValues (const std::string &var_name) const |
const GenericVariableValue< is_ad > & | coupledGenericDofValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericDofValue (const std::string &var_name, unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericDofValue (const std::string &var_name, unsigned int comp) const |
const GenericVariableValue< is_ad > & | coupledGenericDot (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericDot (const std::string &var_name, unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericDot (const std::string &var_name, unsigned int comp) const |
const GenericVariableValue< is_ad > & | coupledGenericDotDot (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericDotDot (const std::string &var_name, unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericDotDot (const std::string &var_name, unsigned int comp) const |
virtual const VariableValue & | coupledValueLower (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledValue (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ADVariableValue *> | adCoupledValues (const std::string &var_name) const |
const ADVariableValue & | adCoupledLowerValue (const std::string &var_name, unsigned int comp=0) const |
const ADVectorVariableValue & | adCoupledVectorValue (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ADVectorVariableValue *> | adCoupledVectorValues (const std::string &var_name) const |
virtual const VariableValue & | coupledVectorTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const VariableValue & | coupledVectorTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const VariableValue *> | coupledVectorTagValues (const std::string &var_names, TagID tag) const |
std::vector< const VariableValue *> | coupledVectorTagValues (const std::string &var_names, const std::string &tag_name) const |
virtual const ArrayVariableValue & | coupledVectorTagArrayValue (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const ArrayVariableValue & | coupledVectorTagArrayValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const ArrayVariableValue *> | coupledVectorTagArrayValues (const std::string &var_names, TagID tag) const |
std::vector< const ArrayVariableValue *> | coupledVectorTagArrayValues (const std::string &var_names, const std::string &tag_name) const |
virtual const VariableGradient & | coupledVectorTagGradient (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const VariableGradient & | coupledVectorTagGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const VariableGradient *> | coupledVectorTagGradients (const std::string &var_names, TagID tag) const |
std::vector< const VariableGradient *> | coupledVectorTagGradients (const std::string &var_names, const std::string &tag_name) const |
virtual const ArrayVariableGradient & | coupledVectorTagArrayGradient (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const ArrayVariableGradient & | coupledVectorTagArrayGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const ArrayVariableGradient *> | coupledVectorTagArrayGradients (const std::string &var_names, TagID tag) const |
std::vector< const ArrayVariableGradient *> | coupledVectorTagArrayGradients (const std::string &var_names, const std::string &tag_name) const |
virtual const VariableValue & | coupledVectorTagDofValue (const std::string &var_name, TagID tag, unsigned int index=0) const |
virtual const VariableValue & | coupledVectorTagDofValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
const ArrayVariableValue & | coupledVectorTagArrayDofValue (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledVectorTagDofValues (const std::string &var_names, TagID tag) const |
std::vector< const VariableValue *> | coupledVectorTagDofValues (const std::string &var_names, const std::string &tag_name) const |
virtual const VariableValue & | coupledMatrixTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const VariableValue & | coupledMatrixTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const VariableValue *> | coupledMatrixTagValues (const std::string &var_names, TagID tag) const |
std::vector< const VariableValue *> | coupledMatrixTagValues (const std::string &var_names, const std::string &tag_name) const |
virtual const VectorVariableValue & | coupledVectorValue (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayValue (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ArrayVariableValue *> | coupledArrayValues (const std::string &var_name) const |
MooseWritableVariable & | writableVariable (const std::string &var_name, unsigned int comp=0) |
virtual VariableValue & | writableCoupledValue (const std::string &var_name, unsigned int comp=0) |
void | checkWritableVar (MooseWritableVariable *var) |
virtual const VariableValue & | coupledValueOld (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledValuesOld (const std::string &var_name) const |
virtual const VariableValue & | coupledValueOlder (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledValuesOlder (const std::string &var_name) const |
virtual const VariableValue & | coupledValuePreviousNL (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorValueOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorValueOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayValueOld (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayValueOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradient (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableGradient *> | coupledGradients (const std::string &var_name) const |
const ADVariableGradient & | adCoupledGradient (const std::string &var_name, unsigned int comp=0) const |
const ADVariableGradient & | adCoupledGradientDot (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ADVariableGradient *> | adCoupledGradients (const std::string &var_name) const |
const GenericVariableGradient< is_ad > & | coupledGenericGradient (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableGradient< false > & | coupledGenericGradient (const std::string &var_name, unsigned int comp) const |
const GenericVariableGradient< true > & | coupledGenericGradient (const std::string &var_name, unsigned int comp) const |
std::vector< const GenericVariableGradient< is_ad > *> | coupledGenericGradients (const std::string &var_name) const |
std::vector< const GenericVariableGradient< false > *> | coupledGenericGradients (const std::string &var_name) const |
std::vector< const GenericVariableGradient< true > *> | coupledGenericGradients (const std::string &var_name) const |
const ADVectorVariableGradient & | adCoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const |
const ADVariableSecond & | adCoupledSecond (const std::string &var_name, unsigned int comp=0) const |
const ADVectorVariableSecond & | adCoupledVectorSecond (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradientOld (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableGradient *> | coupledGradientsOld (const std::string &var_name) const |
virtual const VariableGradient & | coupledGradientOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradientPreviousNL (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradientDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradientDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableGradient & | coupledVectorGradient (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableGradient & | coupledVectorGradientOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableGradient & | coupledVectorGradientOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableGradient & | coupledArrayGradient (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableGradient & | coupledArrayGradientOld (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableGradient & | coupledArrayGradientOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableGradient & | coupledArrayGradientDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableCurl & | coupledCurl (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableCurl & | coupledCurlOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableCurl & | coupledCurlOlder (const std::string &var_name, unsigned int comp=0) const |
const ADVectorVariableCurl & | adCoupledCurl (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableDivergence & | coupledDiv (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableDivergence & | coupledDivOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableDivergence & | coupledDivOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableSecond & | coupledSecond (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableSecond & | coupledSecondOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableSecond & | coupledSecondOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableSecond & | coupledSecondPreviousNL (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDot (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledDots (const std::string &var_name) const |
virtual const VariableValue & | coupledDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDotDotOld (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledDot (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ADVariableValue *> | adCoupledDots (const std::string &var_name) const |
const ADVariableValue & | adCoupledDotDot (const std::string &var_name, unsigned int comp=0) const |
const ADVectorVariableValue & | adCoupledVectorDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorDotDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledVectorDotDu (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledVectorDotDotDu (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayDot (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayDotDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDotDu (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDotDotDu (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledArrayDotDu (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalValue (const std::string &var_name, unsigned int comp=0) const |
const Moose::ADType< T >::type & | adCoupledNodalValue (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalValueOld (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalValueOlder (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalValuePreviousNL (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledNodalDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledNodalDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledNodalDotDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDofValues (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledAllDofValues (const std::string &var_name) const |
virtual const VariableValue & | coupledDofValuesOld (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledAllDofValuesOld (const std::string &var_name) const |
virtual const VariableValue & | coupledDofValuesOlder (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledAllDofValuesOlder (const std::string &var_name) const |
virtual const ArrayVariableValue & | coupledArrayDofValues (const std::string &var_name, unsigned int comp=0) const |
virtual const ADVariableValue & | adCoupledDofValues (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adZeroValue () const |
const ADVariableGradient & | adZeroGradient () const |
const ADVariableSecond & | adZeroSecond () const |
const GenericVariableValue< is_ad > & | genericZeroValue () |
const GenericVariableValue< false > & | genericZeroValue () |
const GenericVariableValue< true > & | genericZeroValue () |
const GenericVariableGradient< is_ad > & | genericZeroGradient () |
const GenericVariableGradient< false > & | genericZeroGradient () |
const GenericVariableGradient< true > & | genericZeroGradient () |
const GenericVariableSecond< is_ad > & | genericZeroSecond () |
const GenericVariableSecond< false > & | genericZeroSecond () |
const GenericVariableSecond< true > & | genericZeroSecond () |
const MooseVariableFieldBase * | getFEVar (const std::string &var_name, unsigned int comp) const |
const MooseVariableFieldBase * | getFieldVar (const std::string &var_name, unsigned int comp) const |
MooseVariableFieldBase * | getFieldVar (const std::string &var_name, unsigned int comp) |
const T * | getVarHelper (const std::string &var_name, unsigned int comp) const |
T * | getVarHelper (const std::string &var_name, unsigned int comp) |
MooseVariable * | getVar (const std::string &var_name, unsigned int comp) |
const MooseVariable * | getVar (const std::string &var_name, unsigned int comp) const |
VectorMooseVariable * | getVectorVar (const std::string &var_name, unsigned int comp) |
const VectorMooseVariable * | getVectorVar (const std::string &var_name, unsigned int comp) const |
ArrayMooseVariable * | getArrayVar (const std::string &var_name, unsigned int comp) |
const ArrayMooseVariable * | getArrayVar (const std::string &var_name, unsigned int comp) const |
std::vector< T > | coupledVectorHelper (const std::string &var_name, const Func &func) const |
void | addMooseVariableDependency (MooseVariableFieldBase *var) |
void | addMooseVariableDependency (const std::vector< MooseVariableFieldBase * > &vars) |
bool | hasBoundaryMaterialPropertyHelper (const std::string &prop_name) const |
void | visitNodalNeighbors (const Node *node, FeatureData *feature, bool expand_halos_only) |
These two routines are utility routines used by the flood routine and by derived classes for visiting neighbors. More... | |
void | visitElementalNeighbors (const Elem *elem, FeatureData *feature, bool expand_halos_only, bool disjoint_only) |
Static Protected Member Functions | |
static std::string | meshPropertyName (const std::string &data_name, const std::string &prefix) |
Protected Attributes | |
std::vector< MooseVariableFEBase * > | _fe_vars |
The vector of coupled in variables. More... | |
std::vector< MooseVariable * > | _vars |
The vector of coupled in variables cast to MooseVariable. More... | |
const DofMap & | _dof_map |
Reference to the dof_map containing the coupled variables. More... | |
const Real | _threshold |
The threshold above (or below) where an entity may begin a new region (feature) More... | |
Real | _step_threshold |
const Real | _connecting_threshold |
The threshold above (or below) which neighboring entities are flooded (where regions can be extended but not started) More... | |
Real | _step_connecting_threshold |
MooseMesh & | _mesh |
A reference to the mesh. More... | |
unsigned long | _var_number |
This variable is used to build the periodic node map. More... | |
const bool | _single_map_mode |
This variable is used to indicate whether or not multiple maps are used during flooding. More... | |
const bool | _condense_map_info |
const bool | _global_numbering |
This variable is used to indicate whether or not we identify features with unique numbers on multiple maps. More... | |
const bool | _var_index_mode |
This variable is used to indicate whether the maps will contain unique region information or just the variable numbers owning those regions. More... | |
const bool | _compute_halo_maps |
Indicates whether or not to communicate halo map information with all ranks. More... | |
const bool | _compute_var_to_feature_map |
Indicates whether or not the var to feature map is populated. More... | |
const bool | _use_less_than_threshold_comparison |
Use less-than when comparing values against the threshold value. More... | |
const std::size_t | _maps_size |
Convenience variable holding the size of all the datastructures size by the number of maps. More... | |
const processor_id_type | _n_procs |
Convenience variable holding the number of processors in this simulation. More... | |
std::vector< std::set< dof_id_type > > | _entities_visited |
This variable keeps track of which nodes have been visited during execution. More... | |
std::vector< std::map< dof_id_type, int > > | _var_index_maps |
This map keeps track of which variables own which nodes. More... | |
std::unordered_map< dof_id_type, std::vector< const Elem * > > | _nodes_to_elem_map |
The data structure used to find neighboring elements give a node ID. More... | |
std::vector< unsigned int > | _feature_counts_per_map |
The number of features seen by this object per map. More... | |
unsigned int | _feature_count |
The number of features seen by this object (same as summing _feature_counts_per_map) More... | |
std::vector< std::list< FeatureData > > | _partial_feature_sets |
The data structure used to hold partial and communicated feature data, during the discovery and merging phases. More... | |
std::vector< FeatureData > & | _feature_sets |
The data structure used to hold the globally unique features. More... | |
std::vector< FeatureData > | _volatile_feature_sets |
Derived objects (e.g. More... | |
std::vector< std::map< dof_id_type, int > > | _feature_maps |
The feature maps contain the raw flooded node information and eventually the unique grain numbers. More... | |
std::vector< std::size_t > | _local_to_global_feature_map |
The vector recording the local to global feature indices. More... | |
std::vector< std::size_t > | _feature_id_to_local_index |
The vector recording the grain_id to local index (several indices will contain invalid_size_t) More... | |
libMesh::PeriodicBoundaries * | _pbs |
A pointer to the periodic boundary constraints object. More... | |
std::unique_ptr< libMesh::PointLocatorBase > | _point_locator |
const PostprocessorValue & | _element_average_value |
Average value of the domain which can optionally be used to find features in a field. More... | |
std::map< dof_id_type, int > | _ghosted_entity_ids |
The map for holding reconstructed ghosted element information. More... | |
std::vector< std::map< dof_id_type, int > > | _halo_ids |
The data structure for looking up halos around features. More... | |
std::multimap< dof_id_type, dof_id_type > | _periodic_node_map |
The data structure which is a list of nodes that are constrained to other nodes based on the imposed periodic boundary conditions. More... | |
std::unordered_set< dof_id_type > | _all_boundary_entity_ids |
The set of entities on the boundary of the domain used for determining if features intersect any boundary. More... | |
std::vector< BoundaryID > | _primary_perc_bnds |
std::vector< BoundaryID > | _secondary_perc_bnds |
std::vector< BoundaryID > | _specified_bnds |
const bool | _is_elemental |
Determines if the flood counter is elements or not (nodes) More... | |
bool | _is_boundary_restricted |
Indicates that this object should only run on one or more boundaries. More... | |
ConstBndElemRange * | _bnd_elem_range |
Boundary element range pointer. More... | |
const bool | _is_primary |
Convenience variable for testing primary rank. More... | |
SubProblem & | _subproblem |
FEProblemBase & | _fe_problem |
SystemBase & | _sys |
const THREAD_ID | _tid |
Assembly & | _assembly |
const Moose::CoordinateSystemType & | _coord_sys |
const bool | _duplicate_initial_execution |
std::set< std::string > | _depend_uo |
const bool & | _enabled |
MooseApp & | _app |
const std::string | _type |
const std::string | _name |
const InputParameters & | _pars |
Factory & | _factory |
ActionFactory & | _action_factory |
const ExecFlagEnum & | _execute_enum |
const ExecFlagType & | _current_execute_flag |
MooseApp & | _restartable_app |
const std::string | _restartable_system_name |
const THREAD_ID | _restartable_tid |
const bool | _restartable_read_only |
FEProblemBase & | _mci_feproblem |
MooseApp & | _pg_moose_app |
const std::string | _prefix |
FEProblemBase & | _sc_fe_problem |
const THREAD_ID | _sc_tid |
const Real & | _real_zero |
const VariableValue & | _scalar_zero |
const Point & | _point_zero |
const InputParameters & | _mi_params |
const std::string | _mi_name |
const MooseObjectName | _mi_moose_object_name |
FEProblemBase & | _mi_feproblem |
SubProblem & | _mi_subproblem |
const THREAD_ID | _mi_tid |
const Moose::MaterialDataType | _material_data_type |
MaterialData & | _material_data |
bool | _stateful_allowed |
bool | _get_material_property_called |
std::vector< std::unique_ptr< PropertyValue > > | _default_properties |
std::unordered_set< unsigned int > | _material_property_dependencies |
const MaterialPropertyName | _get_suffix |
const bool | _use_interpolated_state |
const InputParameters & | _ti_params |
FEProblemBase & | _ti_feproblem |
bool | _is_implicit |
Real & | _t |
const Real & | _t_old |
int & | _t_step |
Real & | _dt |
Real & | _dt_old |
bool | _is_transient |
const std::string & | _pp_name |
const PostprocessorValue & | _current_value |
const Parallel::Communicator & | _communicator |
std::unordered_map< std::string, std::vector< std::unique_ptr< VariableValue > > > | _default_value |
const InputParameters & | _c_parameters |
const std::string & | _c_name |
const std::string & | _c_type |
FEProblemBase & | _c_fe_problem |
const SystemBase *const | _c_sys |
std::unordered_map< std::string, std::vector< MooseVariableFieldBase *> > | _coupled_vars |
std::vector< MooseVariableFieldBase *> | _coupled_moose_vars |
std::vector< MooseVariable *> | _coupled_standard_moose_vars |
std::vector< VectorMooseVariable *> | _coupled_vector_moose_vars |
std::vector< ArrayMooseVariable *> | _coupled_array_moose_vars |
std::vector< MooseVariableFV< Real > *> | _coupled_standard_fv_moose_vars |
std::vector< MooseLinearVariableFV< Real > *> | _coupled_standard_linear_fv_moose_vars |
const std::unordered_map< std::string, std::string > & | _new_to_deprecated_coupled_vars |
bool | _c_nodal |
bool | _c_is_implicit |
const bool | _c_allow_element_to_nodal_coupling |
THREAD_ID | _c_tid |
std::unordered_map< std::string, std::unique_ptr< MooseArray< ADReal > > > | _ad_default_value |
std::unordered_map< std::string, std::unique_ptr< VectorVariableValue > > | _default_vector_value |
std::unordered_map< std::string, std::unique_ptr< ArrayVariableValue > > | _default_array_value |
std::unordered_map< std::string, std::unique_ptr< MooseArray< ADRealVectorValue > > > | _ad_default_vector_value |
VariableValue | _default_value_zero |
VariableGradient | _default_gradient |
MooseArray< ADRealVectorValue > | _ad_default_gradient |
MooseArray< ADRealTensorValue > | _ad_default_vector_gradient |
VariableSecond | _default_second |
MooseArray< ADRealTensorValue > | _ad_default_second |
MooseArray< ADRealVectorValue > | _ad_default_curl |
const VariableValue & | _zero |
const VariablePhiValue & | _phi_zero |
const MooseArray< ADReal > & | _ad_zero |
const VariableGradient & | _grad_zero |
const MooseArray< ADRealVectorValue > & | _ad_grad_zero |
const VariablePhiGradient & | _grad_phi_zero |
const VariableSecond & | _second_zero |
const MooseArray< ADRealTensorValue > & | _ad_second_zero |
const VariablePhiSecond & | _second_phi_zero |
const VectorVariableValue & | _vector_zero |
const VectorVariableCurl & | _vector_curl_zero |
VectorVariableValue | _default_vector_value_zero |
VectorVariableGradient | _default_vector_gradient |
VectorVariableCurl | _default_vector_curl |
VectorVariableDivergence | _default_div |
ArrayVariableValue | _default_array_value_zero |
ArrayVariableGradient | _default_array_gradient |
bool | _coupleable_neighbor |
Static Protected Attributes | |
static const std::string | _interpolated_old |
static const std::string | _interpolated_older |
Private Attributes | |
std::map< dof_id_type, unsigned int > | _entity_id_to_var_num |
The mapping of entities to grains, in this case always the order parameter. More... | |
std::map< dof_id_type, std::vector< unsigned int > > | _entity_var_to_features |
std::vector< unsigned int > | _empty_var_to_features |
std::set< unsigned int > | _variables_used |
Used as the lightweight grain counter. More... | |
std::size_t | _grain_count |
Total Grain Count. More... | |
const std::size_t | _n_vars |
const int | _tracking_step |
Used to emulate the tracking step of the real grain tracker object. More... | |
std::vector< unsigned int > | _op_to_grains |
Order parameter to grain indices (just a reflexive vector) More... | |
std::map< unsigned int, Real > | _volume |
The volume of the feature. More... | |
std::map< unsigned int, unsigned int > | _vol_count |
The count of entities contributing to the volume calculation. More... | |
std::map< unsigned int, Point > | _centroid |
The centroid of the feature (average of coordinates from entities participating in the volume calculation) More... | |
This class is a fake grain tracker object, it will not actually track grains nor remap them but will provide the same interface as the grain tracker and can be used as a lightweight replacement when neither of those methods are needed.
You may safely use this object anytime you have at least as many order parameters as you do grains.
Definition at line 21 of file FauxGrainTracker.h.
|
stronginherited |
This enumeration is used to inidacate status of boundary intersections.
Enumerator | |
---|---|
NONE | |
ANY_BOUNDARY | |
PRIMARY_PERCOLATION_BOUNDARY | |
SECONDARY_PERCOLATION_BOUNDARY | |
SPECIFIED_BOUNDARY |
Definition at line 129 of file FeatureFloodCount.h.
|
stronginherited |
Enumerator | |
---|---|
UNIQUE_REGION | |
VARIABLE_COLORING | |
GHOSTED_ENTITIES | |
HALOS | |
CENTROID | |
ACTIVE_BOUNDS | |
INTERSECTS_SPECIFIED_BOUNDARY |
Definition at line 102 of file FeatureFloodCount.h.
|
stronginherited |
This enumeration is used to indicate status of the grains in the _unique_grains data structure.
Enumerator | |
---|---|
CLEAR | |
MARKED | |
DIRTY | |
INACTIVE |
Definition at line 120 of file FeatureFloodCount.h.
FauxGrainTracker::FauxGrainTracker | ( | const InputParameters & | parameters | ) |
Definition at line 29 of file FauxGrainTracker.C.
|
virtual |
Definition at line 44 of file FauxGrainTracker.C.
|
protectedinherited |
This routine adds the periodic node information to our data structure prior to packing the data this makes those periodic neighbors appear much like ghosted nodes in a multiprocessor setting.
Definition at line 1819 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::prepareDataForTransfer().
|
protectedvirtualinherited |
Method for determining whether two features are mergeable.
This routine exists because derived classes may need to override this function rather than use the mergeable method in the FeatureData object.
Reimplemented in PolycrystalUserObjectBase.
Definition at line 1276 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::mergeSets().
This method builds a lookup map for retrieving the right local feature (by index) given a global index or id.
max_id is passed to size the vector properly and may or may not be a globally consistent number. The assumption is that any id that is later queried from this object that is higher simply doesn't exist on the local processor.
Definition at line 660 of file FeatureFloodCount.C.
Referenced by GrainTracker::assignGrains(), FeatureFloodCount::scatterAndUpdateRanks(), and GrainTracker::trackGrains().
|
protectedvirtualinherited |
This routine populates a stacked vector of local to global indices per rank and the associated count vector for scattering the vector to the ranks.
The individual vectors can be different sizes. The ith vector will be distributed to the ith processor including the primary rank. e.g. [ ... n_0 ] [ ... n_1 ] ... [ ... n_m ]
It is intended to be overridden in derived classes.
Definition at line 614 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::scatterAndUpdateRanks().
|
protectedvirtualinherited |
Helper routine for clearing up data structures during initialize and prior to parallel communication.
Definition at line 316 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::communicateAndMerge().
|
protectedinherited |
This routine handles all of the serialization, communication and deserialization of the data structures containing FeatureData objects.
The libMesh packed range routines handle the communication of the individual string buffers. Here we need to create a container to hold our type to serialize. It'll always be size one because we are sending a single byte stream of all the data to other processors. The stream need not be the same size on all processors.
Additionally we need to create a different container to hold the received byte buffers. The container type need not match the send container type. However, We do know the number of incoming buffers (num processors) so we'll go ahead and use a vector.
When we distribute merge work, we are reducing computational work by adding more communication. Each of the first _n_vars processors will receive one variable worth of information to merge. After each of those processors has merged that information, it'll be sent to the primary processor where final consolidation will occur.
Send the data from all processors to the first 'n_merging_procs' processors to create a complete global feature maps for each variable.
A call to gather_packed_range seems to populate the receiving buffer on all processors, not just the receiving buffer on the actual receiving processor. If we plan to call this function repeatedly, we must clear the buffers each time on all non-receiving processors. On the actual receiving processor, we'll save off the buffer for use later.
The FeatureFloodCount and derived objects rely on having the original data structures intact on all non-zero ranks. This is because local-only information (local entities) is never communicated and thus must remain intact. However, the distributed merging will destroy that information. The easiest thing to do is to swap out the data structure while we perform the distributed merge work.
Send the data from the merging processors to the root to create a complete global feature map.
Send the data from all processors to the root to create a complete global feature map.
Definition at line 403 of file FeatureFloodCount.C.
Referenced by GrainTracker::finalize(), and FeatureFloodCount::finalize().
|
protectedinherited |
This method is used to determine whether the current entity value is part of a feature or not.
Comparisons can either be greater than or less than the threshold which is controlled via input parameter.
Definition at line 1451 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::isNewFeatureOrConnectedRegion().
|
protectedvirtualinherited |
This method consolidates all of the merged information from _partial_feature_sets into the _feature_sets vectors.
Now that the merges are complete we need to adjust the centroid, and halos. Additionally, To make several of the sorting and tracking algorithms more straightforward, we will move the features into a flat vector. Finally we can count the final number of features and find the max local index seen on any processor
Note: This is all occurring on rank 0 only!
IMPORTANT: FeatureFloodCount::_feature_count is set on rank 0 at this point but we can't broadcast it here because this routine is not collective.
Definition at line 1193 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::communicateAndMerge().
|
protectedinherited |
This routine takes the vector of byte buffers (one for each processor), deserializes them into a series of FeatureSet objects, and appends them to the _feature_sets data structure.
Note: It is assumed that local processor information may already be stored in the _feature_sets data structure so it is not cleared before insertion.
Usually we have the local processor data already in the _partial_feature_sets data structure. However, if we are doing distributed merge work, we also need to preserve all of the original data for use in later stages of the algorithm so it'll have been swapped out with clean buffers. This leaves us a choice, either we just duplicate the Features from the original data structure after we've swapped out the buffer, or we go ahead and unpack data that we would normally already have. So during distributed merging, that's exactly what we'll do. Later however when the primary is doing the final consolidating, we'll opt to just skip the local unpacking. To tell the difference, between these two modes, we just need to see if a var_num was passed in.
Definition at line 1103 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::communicateAndMerge().
|
overridevirtual |
Returns a Boolean indicating whether this feature intersects any boundary.
Reimplemented from FeatureFloodCount.
Definition at line 267 of file FauxGrainTracker.C.
|
virtualinherited |
Returns a Boolean indicating whether this feature intersects boundaries in a user-supplied list.
Reimplemented in GrainTracker.
Definition at line 863 of file FeatureFloodCount.C.
Referenced by FeatureVolumeVectorPostprocessor::execute(), and FeatureFloodCount::getEntityValue().
|
overridevirtual |
Reimplemented from FeatureFloodCount.
Definition at line 155 of file FauxGrainTracker.C.
This method expands the existing halo set by some width determined by the passed in value.
This method does NOT mask off any local IDs.
Create a copy of the halo set so that as we insert new ids into the set we don't continue to iterate on those new ids.
We have to handle disjoint halo IDs slightly differently. Once you are disjoint, you can't go back so make sure that we keep placing these IDs in the disjoint set.
Definition at line 1560 of file FeatureFloodCount.C.
Referenced by GrainTracker::finalize(), and PolycrystalUserObjectBase::finalize().
|
protectedinherited |
This method takes all of the partial features and expands the local, ghosted, and halo sets around those regions to account for the diffuse interface.
Rather than using any kind of recursion here, we simply expand the region by all "point" neighbors from the actual grain cells since all point neighbors will contain contributions to the region.
To expand the feature element region to the actual flooded region (nodal basis) we need to add in all point neighbors of the current local region for each feature. This is because the elemental variable influence spreads from the elemental data out exactly one element from every mesh point.
Definition at line 1498 of file FeatureFloodCount.C.
|
virtualinherited |
Returns the centroid of the designated feature (only supported without periodic boundaries)
Definition at line 909 of file FeatureFloodCount.C.
Referenced by FeatureVolumeVectorPostprocessor::execute().
|
overridevirtual |
Convert elements of the maps into simple values or vector of Real. libMesh's _communicator.sum() does not work on std::maps
Reimplemented from FeatureFloodCount.
Definition at line 219 of file FauxGrainTracker.C.
|
protectedinherited |
This method will check if the current entity is above the supplied threshold and "mark" it.
It will then inspect neighboring entities that are above the connecting threshold and add them to the current feature.
If we reach this point (i.e. we haven't continued to the next queue entry), we've found a new mesh entity that's part of a feature. We need to mark the entity as visited at this point (and not before!) to avoid infinite recursion. If you mark the node too early you risk not coloring in a whole feature any time a "connecting threshold" is used since we may have already visited this entity earlier but it was in-between two thresholds.
See if this particular entity cell contributes to the centroid calculation. We only deal with elemental floods and only count it if it's owned by the current processor to avoid skewing the result.
Definition at line 1327 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::execute(), and PolycrystalUserObjectBase::execute().
|
protectedvirtualinherited |
Return the "connecting" comparison threshold to use when inspecting an entity during the flood stage.
Definition at line 1445 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::isNewFeatureOrConnectedRegion().
|
inlineinherited |
Returns a const vector to the coupled variable pointers.
Definition at line 97 of file FeatureFloodCount.h.
Referenced by AverageGrainVolume::AverageGrainVolume(), and FeatureVolumeVectorPostprocessor::FeatureVolumeVectorPostprocessor().
|
overridevirtual |
Reimplemented from FeatureFloodCount.
Definition at line 47 of file FauxGrainTracker.C.
|
inlineinherited |
Return a constant reference to the vector of all discovered features.
Definition at line 328 of file FeatureFloodCount.h.
Referenced by GrainTracker::prepopulateState().
Returns the variable representing the passed in feature.
Reimplemented from FeatureFloodCount.
Definition at line 113 of file FauxGrainTracker.C.
|
inlineinherited |
Returns a const vector to the coupled MooseVariableFEBase pointers.
Definition at line 100 of file FeatureFloodCount.h.
Referenced by AverageGrainVolume::AverageGrainVolume().
|
overridevirtual |
Returns the centroid for the given grain number.
Implements GrainTrackerInterface.
Definition at line 131 of file FauxGrainTracker.C.
|
virtualinherited |
This method returns all of the new ids generated in an invocation of the GrainTracker.
Reimplemented in GrainTracker.
Definition at line 79 of file GrainTrackerInterface.C.
|
inherited |
Return the number of active features.
Definition at line 806 of file FeatureFloodCount.C.
Referenced by AverageGrainVolume::getValue().
|
overridevirtual |
Returns the number of active grains current stored in the GrainTracker.
This value is the same value reported when the GrainTracker (FeatureFloodObject) is used as a Postprocessor.
Note: This value will count each piece of a split grain (often encountered in EBSD data sets).
Implements GrainTrackerInterface.
Definition at line 119 of file FauxGrainTracker.C.
|
protectedvirtualinherited |
Return the starting comparison threshold to use when inspecting an entity during the flood stage.
Reimplemented in GrainTracker.
Definition at line 1440 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::isNewFeatureOrConnectedRegion().
|
overridevirtual |
Returns the total feature count (active and inactive ids, useful for sizing vectors)
Since the FeatureFloodCount object doesn't maintain any information about features between invocations. The maximum id in use is simply the number of features.
Reimplemented from FeatureFloodCount.
Definition at line 125 of file FauxGrainTracker.C.
|
overridevirtual |
Reimplemented from FeatureFloodCount.
Definition at line 261 of file FauxGrainTracker.C.
|
overridevirtual |
Returns a list of active unique feature ids for a particular element.
The vector is indexed by variable number with each entry containing either an invalid size_t type (no feature active at that location) or a feature id if the variable is non-zero at that location.
Reimplemented from FeatureFloodCount.
Definition at line 100 of file FauxGrainTracker.C.
|
overridevirtual |
Reimplemented from FeatureFloodCount.
Definition at line 141 of file FauxGrainTracker.C.
|
overridevirtualinherited |
Size the empty var to features vector to the number of coupled variables. This empty vector (but properly sized) vector is returned for elements that are queried but are not in the structure (which also shouldn't happen). The user is warned in this case but this helps avoid extra bounds checking in user code and avoids segfaults.
Reimplemented from GeneralPostprocessor.
Reimplemented in PolycrystalUserObjectBase, and FauxPolycrystalVoronoi.
Definition at line 263 of file FeatureFloodCount.C.
Referenced by PolycrystalUserObjectBase::initialSetup().
|
protectedinherited |
Returns a Boolean indicating whether the entity is on one of the desired boundaries.
Definition at line 1858 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::visitNeighborsHelper().
|
inlineinherited |
Definition at line 117 of file FeatureFloodCount.h.
Referenced by FeatureFloodCountAux::FeatureFloodCountAux().
|
virtualinherited |
Returns a Boolean indicating whether this feature is percolated (e.g.
intersects at least two different boundaries from sets supplied by the user)
Reimplemented in GrainTracker.
Definition at line 885 of file FeatureFloodCount.C.
Referenced by FeatureVolumeVectorPostprocessor::execute().
|
protectedvirtualinherited |
Method called during the recursive flood routine that should return whether or not the current entity is part of the current feature (if one is being explored), or if it's the start of a new feature.
If the value is only above the connecting threshold, it's still part of a feature but possibly part of one that we'll discard if there is never any starting threshold encountered.
Reimplemented in PolycrystalUserObjectBase.
Definition at line 1458 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::flood().
|
protectedvirtualinherited |
This routine is called on the primary rank only and stitches together the partial feature pieces seen on any processor.
Insert the new entity at the end of the list so that it may be checked against all other partial features again.
Now remove both halves the merged features: it2 contains the "moved" feature cell just inserted at the back of the list, it1 contains the mostly empty other half. We have to be careful about the order in which these two elements are deleted. We delete it2 first since we don't care where its iterator points after the deletion. We are going to break out of this loop anyway. If we delete it1 first, it may end up pointing at the same location as it2 which after the second deletion would cause both of the iterators to be invalidated.
Reimplemented in PolycrystalUserObjectBase.
Definition at line 1138 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::communicateAndMerge().
|
overridevirtualinherited |
We need to build a set containing all of the boundary entities to compare against. This will be elements for elemental flooding. Volumes for nodal flooding is not supported
Reimplemented from GeneralPostprocessor.
Reimplemented in FauxPolycrystalVoronoi, and GrainTracker.
Definition at line 321 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::initialSetup(), and GrainTracker::meshChanged().
|
protectedvirtualinherited |
Returns a number indicating the number of merge helpers when running in parallel based on certain implementer decided criteria.
This is a communication versus computation trade-off that we are almost always willing to make except for small problems. The decision however may be more complicated for some derived classes.
Reimplemented in PolycrystalUserObjectBase.
Definition at line 397 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::communicateAndMerge().
|
inlineinherited |
|
protectedvirtualinherited |
This routine uses the local flooded data to build up the local feature data structures (_partial feature_sets).
This routine does not perform any communication so the _partial_feature_sets data structure will only contain information from the local processor after calling this routine. Any existing data in the _partial_feature_sets structure is destroyed by calling this routine.
_partial_feature_sets layout: The outer vector is sized to one when _single_map_mode == true, otherwise it is sized for the number of coupled variables. The inner list represents the flooded regions (local only after this call but fully populated after parallel communication and stitching).
If using a vector container, we need to sort all of the data structures for later operations such as checking for intersection and merging. The following "sort" function does nothing when invoked on a std::set.
Save off the min entity id present in the feature to uniquely identify the feature regardless of n_procs
Reimplemented in PolycrystalUserObjectBase.
Definition at line 1034 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::communicateAndMerge(), and PolycrystalUserObjectBase::prepareDataForTransfer().
|
inlineprotectedvirtualinherited |
Reimplemented in PolycrystalUserObjectBase.
Definition at line 487 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::communicateAndMerge().
|
protectedinherited |
Calls buildLocalToGlobalIndices to build the individual local to global indicies for each rank and scatters that information to all ranks.
Finally, the non-primary ranks update their own data structures to reflect the global mappings.
On non-root processors we can't maintain the full _feature_sets data structure since we don't have all of the global information. We'll move the items from the partial feature sets into a flat structure maintaining order and update the internal IDs with the proper global ID.
Important: Make sure we clear the local status if we received a valid global index for this feature. It's possible that we have a status of INVALID on the local processor because there was never any starting threshold found. However, the root processor wouldn't have sent an index if it didn't find a starting threshold connected to our local piece.
Definition at line 710 of file FeatureFloodCount.C.
Referenced by GrainTracker::assignGrains(), FeatureFloodCount::finalize(), and GrainTracker::trackGrains().
|
protectedinherited |
This routines packs the _partial_feature_sets data into a structure suitable for parallel communication operations.
Definition at line 1084 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::communicateAndMerge().
|
protectedinherited |
Sort and assign ids to features based on their position in the container after sorting.
Perform a sort to give a parallel unique sorting to the identified features. We use the "min_entity_id" inside each feature to assign it's position in the sorted vector.
Sanity check. Now that we've sorted the flattened vector of features we need to make sure that the counts vector still lines up appropriately with each feature's _var_index.
Definition at line 568 of file FeatureFloodCount.C.
Referenced by GrainTracker::assignGrains(), and FeatureFloodCount::finalize().
|
protectedinherited |
Update the feature's attributes to indicate boundary intersections.
Definition at line 1772 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::prepareDataForTransfer().
|
protectedvirtualinherited |
This method is used to populate any of the data structures used for storing field data (nodal or elemental).
It is called at the end of finalize and can make use of any of the data structures created during the execution of this postprocessor.
Reimplemented in GrainTracker.
Definition at line 1282 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::finalize().
|
protectedinherited |
This routine updates the _region_offsets variable which is useful for quickly determining the proper global number for a feature when using multimap mode.
|
static |
Definition at line 20 of file FauxGrainTracker.C.
|
protectedinherited |
Retrieve only the active neighbors for each side of this element, append them to the list of active neighbors
In general, {evaluable elements} >= {local elements} U {algebraic ghosting elements}. That is, the number of evaluable elements does NOT necessarily equal to the number of local and algebraic ghosting elements. The neighbors of evaluable elements can be remote even though we have two layers of geometric ghosting elements.
If the current element (passed into this method) doesn't have a connected neighbor but does have a topological neighbor, this might be a new disjoint region that we'll need to represent with a separate bounding box. To find out for sure, we'll need see if the new neighbors are present in any of the halo or disjoint halo sets. If they are not present, this is a new region.
In general, {evaluable elements} >= {local elements} U {algebraic ghosting elements}. That is, the number of evaluable elements does NOT necessarily equal to the number of local and algebraic ghosting elements. The neighbors of evaluable elements can be remote even though we have two layers of geometric ghosting elements.
This neighbor is NULL which means we need to expand the bounding box here in case this grain is up against multiple domain edges so we don't end up with a degenerate bounding box.
Definition at line 1616 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::expandEdgeHalos(), and FeatureFloodCount::flood().
|
protectedinherited |
The actual logic for visiting neighbors is abstracted out here.
This method is templated to handle the Nodal and Elemental cases together.
Only recurse where we own this entity and it's a topologically connected entity. We shouldn't even attempt to flood to the periodic boundary because we won't have solution information and if we are using DistributedMesh we probably won't have geometric information either.
When we only recurse on entities we own, we can never get more than one away from a local entity which should be in the ghosted zone.
Premark neighboring entities with a halo mark. These entities may or may not end up being part of the feature. We will not update the _entities_visited data structure here.
Definition at line 1715 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::visitElementalNeighbors(), and FeatureFloodCount::visitNodalNeighbors().
|
protectedinherited |
These two routines are utility routines used by the flood routine and by derived classes for visiting neighbors.
Since the logic is different for the elemental versus nodal case it's easier to split them up.
Definition at line 1701 of file FeatureFloodCount.C.
Referenced by FeatureFloodCount::expandEdgeHalos(), and FeatureFloodCount::flood().
|
protectedinherited |
The set of entities on the boundary of the domain used for determining if features intersect any boundary.
Definition at line 695 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::meshChanged().
|
protectedinherited |
Boundary element range pointer.
Definition at line 713 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::execute(), and FeatureFloodCount::isBoundaryEntity().
|
private |
The centroid of the feature (average of coordinates from entities participating in the volume calculation)
Definition at line 75 of file FauxGrainTracker.h.
Referenced by execute(), finalize(), getEntityValue(), getGrainCentroid(), and initialize().
|
protectedinherited |
Indicates whether or not to communicate halo map information with all ranks.
Definition at line 588 of file FeatureFloodCount.h.
Referenced by GrainTracker::communicateHaloMap(), GrainTracker::meshChanged(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
Indicates whether or not the var to feature map is populated.
Definition at line 591 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::getVarToFeatureVector(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
Definition at line 577 of file FeatureFloodCount.h.
Referenced by GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
The threshold above (or below) which neighboring entities are flooded (where regions can be extended but not started)
Definition at line 561 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::initialize().
|
protectedinherited |
Reference to the dof_map containing the coupled variables.
Definition at line 553 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::flood().
|
protectedinherited |
Average value of the domain which can optionally be used to find features in a field.
Definition at line 676 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::initialize().
|
private |
Definition at line 51 of file FauxGrainTracker.h.
Referenced by FauxGrainTracker(), and getVarToFeatureVector().
|
protectedinherited |
This variable keeps track of which nodes have been visited during execution.
We don't use the _feature_map for this since we don't want to explicitly store data for all the unmarked nodes in a serialized datastructures. This keeps our overhead down since this variable never needs to be communicated.
Definition at line 615 of file FeatureFloodCount.h.
Referenced by PolycrystalUserObjectBase::execute(), FeatureFloodCount::flood(), FeatureFloodCount::initialize(), FeatureFloodCount::initialSetup(), and PolycrystalUserObjectBase::isNewFeatureOrConnectedRegion().
|
private |
The mapping of entities to grains, in this case always the order parameter.
Definition at line 48 of file FauxGrainTracker.h.
Referenced by execute(), finalize(), getEntityValue(), and initialize().
|
private |
Definition at line 50 of file FauxGrainTracker.h.
Referenced by execute(), getVarToFeatureVector(), and initialize().
|
protectedinherited |
The vector of coupled in variables.
Definition at line 548 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::FeatureFloodCount(), and FeatureFloodCount::getFECoupledVars().
|
protectedinherited |
The number of features seen by this object (same as summing _feature_counts_per_map)
Definition at line 632 of file FeatureFloodCount.h.
Referenced by PolycrystalUserObjectBase::assignOpsToGrains(), PolycrystalUserObjectBase::buildGrainAdjacencyMatrix(), PolycrystalUserObjectBase::colorGraph(), FeatureFloodCount::communicateAndMerge(), FeatureFloodCount::consolidateMergedFeatures(), PolycrystalUserObjectBase::finalize(), FeatureFloodCount::flood(), FeatureFloodCount::getNumberActiveFeatures(), GrainTracker::getNumberActiveGrains(), FeatureFloodCount::getTotalFeatureCount(), FeatureFloodCount::getValue(), FeatureFloodCount::initialize(), PolycrystalUserObjectBase::isGraphValid(), GrainTracker::prepopulateState(), and FeatureFloodCount::sortAndLabel().
|
protectedinherited |
The number of features seen by this object per map.
Definition at line 629 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::consolidateMergedFeatures(), PolycrystalUserObjectBase::prepareDataForTransfer(), FeatureFloodCount::sortAndLabel(), and GrainTracker::trackGrains().
|
protectedinherited |
The vector recording the grain_id to local index (several indices will contain invalid_size_t)
Definition at line 668 of file FeatureFloodCount.h.
Referenced by GrainTracker::broadcastAndUpdateGrainData(), FeatureFloodCount::buildFeatureIdToLocalIndices(), FeatureFloodCount::doesFeatureIntersectBoundary(), GrainTracker::doesFeatureIntersectBoundary(), FeatureFloodCount::doesFeatureIntersectSpecifiedBoundary(), GrainTracker::doesFeatureIntersectSpecifiedBoundary(), FeatureFloodCount::featureCentroid(), FeatureFloodCount::getFeatureVar(), GrainTracker::getGrainCentroid(), GrainTracker::isFeaturePercolated(), FeatureFloodCount::isFeaturePercolated(), and GrainTracker::newGrainCreated().
|
protectedinherited |
The feature maps contain the raw flooded node information and eventually the unique grain numbers.
We have a vector of them so we can create one per variable if that level of detail is desired.
Definition at line 662 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::getEntityValue(), FeatureFloodCount::initialize(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
The data structure used to hold the globally unique features.
The sorting of the vector is implementation defined and may not correspond to anything useful. The ID of each feature should be queried from the FeatureData objects.
Definition at line 646 of file FeatureFloodCount.h.
Referenced by GrainTracker::assignGrains(), PolycrystalUserObjectBase::assignOpsToGrains(), GrainTracker::attemptGrainRenumber(), GrainTracker::broadcastAndUpdateGrainData(), FeatureFloodCount::buildFeatureIdToLocalIndices(), PolycrystalUserObjectBase::buildGrainAdjacencyMatrix(), FeatureFloodCount::buildLocalToGlobalIndices(), GrainTracker::communicateHaloMap(), GrainTracker::computeMinDistancesFromGrain(), FeatureFloodCount::consolidateMergedFeatures(), FeatureFloodCount::doesFeatureIntersectBoundary(), GrainTracker::doesFeatureIntersectBoundary(), FeatureFloodCount::doesFeatureIntersectSpecifiedBoundary(), GrainTracker::doesFeatureIntersectSpecifiedBoundary(), FeatureFloodCount::featureCentroid(), PolycrystalUserObjectBase::finalize(), FeatureFloodCount::getEntityValue(), FeatureFloodCount::getFeatures(), FeatureFloodCount::getFeatureVar(), GrainTracker::getGrainCentroid(), GrainTracker::initialize(), FeatureFloodCount::initialize(), GrainTracker::isFeaturePercolated(), FeatureFloodCount::isFeaturePercolated(), GrainTracker::newGrainCreated(), GrainTracker::prepopulateState(), GrainTracker::remapGrains(), FeatureFloodCount::scatterAndUpdateRanks(), FeatureFloodCount::sortAndLabel(), GrainTracker::trackGrains(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
The map for holding reconstructed ghosted element information.
Definition at line 679 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::getEntityValue(), FeatureFloodCount::initialize(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
This variable is used to indicate whether or not we identify features with unique numbers on multiple maps.
Definition at line 581 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::updateFieldInfo().
|
private |
Total Grain Count.
Definition at line 57 of file FauxGrainTracker.h.
Referenced by execute(), and getTotalFeatureCount().
|
protectedinherited |
The data structure for looking up halos around features.
The outer vector is for splitting out the information per variable. The inner map holds the actual halo information
Definition at line 685 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::FeatureData::clear(), GrainTracker::communicateHaloMap(), FeatureFloodCount::getEntityValue(), FeatureFloodCount::FeatureData::halosIntersect(), FeatureFloodCount::initialize(), FeatureFloodCount::FeatureData::merge(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
Indicates that this object should only run on one or more boundaries.
Definition at line 710 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::execute(), FeatureFloodCount::FeatureFloodCount(), and FeatureFloodCount::visitNeighborsHelper().
|
protectedinherited |
Determines if the flood counter is elements or not (nodes)
Definition at line 707 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::appendPeriodicNeighborNodes(), GrainTracker::communicateHaloMap(), execute(), FeatureFloodCount::execute(), PolycrystalUserObjectBase::execute(), FeatureFloodCount::expandEdgeHalos(), finalize(), FeatureFloodCount::flood(), initialize(), FeatureFloodCount::isElemental(), PolycrystalUserObjectBase::isNewFeatureOrConnectedRegion(), FeatureFloodCount::isNewFeatureOrConnectedRegion(), FeatureFloodCount::meshChanged(), FeatureFloodCount::prepareDataForTransfer(), GrainTracker::swapSolutionValues(), FeatureFloodCount::updateBoundaryIntersections(), and GrainTracker::updateFieldInfo().
|
protectedinherited |
Convenience variable for testing primary rank.
Definition at line 716 of file FeatureFloodCount.h.
Referenced by GrainTracker::assignGrains(), PolycrystalUserObjectBase::assignOpsToGrains(), GrainTracker::broadcastAndUpdateGrainData(), PolycrystalUserObjectBase::buildGrainAdjacencyMatrix(), FeatureFloodCount::buildLocalToGlobalIndices(), FeatureFloodCount::communicateAndMerge(), GrainTracker::communicateHaloMap(), FeatureFloodCount::consolidateMergedFeatures(), FeatureFloodCount::finalize(), PolycrystalUserObjectBase::finalize(), GrainTracker::newGrainCreated(), GrainTracker::prepopulateState(), GrainTracker::remapGrains(), FeatureFloodCount::scatterAndUpdateRanks(), FeatureFloodCount::sortAndLabel(), and GrainTracker::trackGrains().
|
protectedinherited |
The vector recording the local to global feature indices.
Definition at line 665 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::scatterAndUpdateRanks().
|
protectedinherited |
Convenience variable holding the size of all the datastructures size by the number of maps.
Definition at line 604 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::consolidateMergedFeatures(), FeatureFloodCount::FeatureFloodCount(), FeatureFloodCount::getEntityValue(), FeatureFloodCount::initialize(), FeatureFloodCount::mergeSets(), FeatureFloodCount::numberOfDistributedMergeHelpers(), PolycrystalUserObjectBase::restoreOriginalDataStructures(), FeatureFloodCount::sortAndLabel(), GrainTracker::trackGrains(), and GrainTracker::updateFieldInfo().
|
protectedinherited |
A reference to the mesh.
Definition at line 565 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::appendPeriodicNeighborNodes(), PolycrystalVoronoi::buildSearchTree(), GrainTracker::centroidRegionDistance(), GrainTracker::communicateHaloMap(), PolycrystalCircles::computeDiffuseInterface(), execute(), FeatureFloodCount::execute(), FeatureFloodCount::expandEdgeHalos(), FeatureFloodCount::expandPointHalos(), FeatureFloodCount::FeatureFloodCount(), PolycrystalVoronoi::findCenterPoint(), PolycrystalVoronoi::findNormalVector(), getEntityValue(), FeatureFloodCount::getEntityValue(), PolycrystalVoronoi::getGrainsBasedOnPoint(), PolycrystalCircles::getGrainsBasedOnPoint(), FauxPolycrystalVoronoi::initialSetup(), PolycrystalUserObjectBase::initialSetup(), PolycrystalUserObjectBase::isNewFeatureOrConnectedRegion(), GrainTracker::meshChanged(), FeatureFloodCount::meshChanged(), PolycrystalVoronoi::precomputeGrainStructure(), PolycrystalHex::precomputeGrainStructure(), FeatureFloodCount::prepareDataForTransfer(), GrainTracker::swapSolutionValues(), FeatureFloodCount::updateBoundaryIntersections(), GrainTracker::updateFieldInfo(), FeatureFloodCount::visitElementalNeighbors(), and FeatureFloodCount::visitNodalNeighbors().
|
protectedinherited |
Convenience variable holding the number of processors in this simulation.
Definition at line 607 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::buildLocalToGlobalIndices(), and GrainTracker::communicateHaloMap().
|
private |
Definition at line 60 of file FauxGrainTracker.h.
Referenced by execute(), FauxGrainTracker(), finalize(), getEntityValue(), and getVarToFeatureVector().
|
protectedinherited |
The data structure used to find neighboring elements give a node ID.
Definition at line 626 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::meshChanged(), and FeatureFloodCount::visitNodalNeighbors().
|
private |
Order parameter to grain indices (just a reflexive vector)
Definition at line 66 of file FauxGrainTracker.h.
Referenced by FauxGrainTracker().
|
protectedinherited |
The data structure used to hold partial and communicated feature data, during the discovery and merging phases.
The outer vector is indexed by map number (often variable number). The inner list is an unordered list of partially discovered features.
Definition at line 639 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::communicateAndMerge(), FeatureFloodCount::consolidateMergedFeatures(), FeatureFloodCount::deserialize(), FeatureFloodCount::expandEdgeHalos(), FeatureFloodCount::expandPointHalos(), FeatureFloodCount::flood(), FeatureFloodCount::initialize(), PolycrystalUserObjectBase::mergeSets(), FeatureFloodCount::mergeSets(), PolycrystalUserObjectBase::prepareDataForTransfer(), FeatureFloodCount::prepareDataForTransfer(), GrainTracker::prepopulateState(), FeatureFloodCount::scatterAndUpdateRanks(), and FeatureFloodCount::serialize().
|
protectedinherited |
A pointer to the periodic boundary constraints object.
Definition at line 671 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::initialSetup(), PolycrystalUserObjectBase::isNewFeatureOrConnectedRegion(), FeatureFloodCount::meshChanged(), and FeatureFloodCount::visitElementalNeighbors().
|
protectedinherited |
The data structure which is a list of nodes that are constrained to other nodes based on the imposed periodic boundary conditions.
Definition at line 691 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::appendPeriodicNeighborNodes(), getEntityValue(), FeatureFloodCount::getEntityValue(), and FeatureFloodCount::meshChanged().
|
protectedinherited |
Definition at line 673 of file FeatureFloodCount.h.
Referenced by PolycrystalUserObjectBase::isNewFeatureOrConnectedRegion(), FeatureFloodCount::meshChanged(), and FeatureFloodCount::visitElementalNeighbors().
|
protectedinherited |
Definition at line 701 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::FeatureFloodCount(), and FeatureFloodCount::updateBoundaryIntersections().
|
protectedinherited |
Definition at line 702 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::FeatureFloodCount(), and FeatureFloodCount::updateBoundaryIntersections().
|
protectedinherited |
This variable is used to indicate whether or not multiple maps are used during flooding.
Definition at line 575 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::flood(), PolycrystalUserObjectBase::PolycrystalUserObjectBase(), FeatureFloodCount::sortAndLabel(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
Definition at line 704 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::FeatureFloodCount(), and FeatureFloodCount::updateBoundaryIntersections().
|
protectedinherited |
Definition at line 562 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::getConnectingThreshold(), and FeatureFloodCount::initialize().
|
protectedinherited |
Definition at line 557 of file FeatureFloodCount.h.
Referenced by GrainTracker::getThreshold(), FeatureFloodCount::getThreshold(), and FeatureFloodCount::initialize().
|
protectedinherited |
The threshold above (or below) where an entity may begin a new region (feature)
Definition at line 556 of file FeatureFloodCount.h.
Referenced by execute(), and FeatureFloodCount::initialize().
|
private |
Used to emulate the tracking step of the real grain tracker object.
Definition at line 63 of file FauxGrainTracker.h.
|
protectedinherited |
Use less-than when comparing values against the threshold value.
True by default. If false, then greater-than comparison is used instead.
Definition at line 598 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::compareValueWithThreshold(), and execute().
|
protectedinherited |
This map keeps track of which variables own which nodes.
We need a vector of them for multimap mode where multiple variables can own a single mode.
Note: This map is only populated when "show_var_coloring" is set to true.
Definition at line 623 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::FeatureFloodCount(), FeatureFloodCount::getEntityValue(), FeatureFloodCount::initialize(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
This variable is used to indicate whether the maps will contain unique region information or just the variable numbers owning those regions.
Definition at line 585 of file FeatureFloodCount.h.
Referenced by FeatureFloodCount::FeatureFloodCount(), FeatureFloodCount::getEntityValue(), FeatureFloodCount::initialize(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
protectedinherited |
This variable is used to build the periodic node map.
Assumption: We are going to assume that either all variables are periodic or none are. This assumption can be relaxed at a later time if necessary.
Definition at line 572 of file FeatureFloodCount.h.
Referenced by GrainTracker::centroidRegionDistance(), and FeatureFloodCount::meshChanged().
|
private |
Used as the lightweight grain counter.
Definition at line 54 of file FauxGrainTracker.h.
Referenced by execute(), finalize(), getNumberActiveGrains(), getValue(), and initialize().
|
protectedinherited |
The vector of coupled in variables cast to MooseVariable.
Definition at line 550 of file FeatureFloodCount.h.
Referenced by PolycrystalUserObjectBase::assignOpsToGrains(), GrainTracker::attemptGrainRenumber(), PolycrystalVoronoi::buildSearchTree(), PolycrystalCircles::computeDiffuseInterface(), execute(), FeatureFloodCount::execute(), FeatureFloodCount::FeatureFloodCount(), finalize(), PolycrystalVoronoi::findCenterPoint(), PolycrystalVoronoi::findNormalVector(), FeatureFloodCount::getCoupledVars(), getEntityValue(), PolycrystalVoronoi::getGrainsBasedOnPoint(), PolycrystalCircles::getGrainsBasedOnPoint(), FauxPolycrystalVoronoi::initialSetup(), FeatureFloodCount::initialSetup(), PolycrystalUserObjectBase::initialSetup(), FeatureFloodCount::isNewFeatureOrConnectedRegion(), PolycrystalHex::precomputeGrainStructure(), GrainTracker::swapSolutionValuesHelper(), and GrainTracker::updateFieldInfo().
The count of entities contributing to the volume calculation.
Definition at line 72 of file FauxGrainTracker.h.
Referenced by execute(), finalize(), and initialize().
|
protectedinherited |
Derived objects (e.g.
the GrainTracker) may require restartable data to track information across time steps. The FeatureFloodCounter however does not. This container is here so that we have the flexabilty to switch between volatile and non-volatile storage. The _feature_sets data structure can conditionally refer to this structure or a MOOSE-provided structure, which is backed up.
Definition at line 655 of file FeatureFloodCount.h.
The volume of the feature.
Definition at line 69 of file FauxGrainTracker.h.
Referenced by execute(), finalize(), and initialize().
|
staticinherited |
Definition at line 92 of file FeatureFloodCount.h.
Referenced by FeatureVolumeVectorPostprocessor::accumulateBoundaryFaces(), AverageGrainVolume::accumulateVolumes(), FeatureVolumeVectorPostprocessor::accumulateVolumes(), GrainTracker::assignGrains(), MultiGrainRigidBodyMotion::calculateAdvectionVelocity(), SingleGrainRigidBodyMotion::calculateAdvectionVelocity(), ComputePolycrystalElasticityTensor::computeQpElasticityTensor(), ComputeGBMisorientationType::computeQpProperties(), DeformedGrainMaterial::computeQpProperties(), FeatureFloodCount::deserialize(), execute(), FeatureVolumeVectorPostprocessor::execute(), FauxGrainTracker(), FeatureFloodCount::featureCentroid(), FeatureFloodCount::flood(), FeatureFloodCount::getFeatureVar(), GrainTracker::getNextUniqueID(), GrainTracker::getTotalFeatureCount(), MultiGrainRigidBodyMotion::getUserObjectJacobian(), SingleGrainRigidBodyMotion::getUserObjectJacobian(), PolycrystalVoronoi::getVariableValue(), PolycrystalCircles::getVariableValue(), FeatureFloodCount::initialSetup(), PolycrystalUserObjectBase::isNewFeatureOrConnectedRegion(), FeatureFloodCount::FeatureData::operator<(), operator<<(), FeatureFloodCountAux::precalculateValue(), FeatureFloodCount::serialize(), FeatureFloodCount::sortAndLabel(), GrainTracker::trackGrains(), GrainTracker::updateFieldInfo(), and FeatureFloodCount::updateFieldInfo().
|
staticinherited |
Definition at line 93 of file FeatureFloodCount.h.
Referenced by PolycrystalUserObjectBase::numberOfDistributedMergeHelpers().
|
staticinherited |
Constants used for invalid indices set to the max value of std::size_t type
Definition at line 91 of file FeatureFloodCount.h.
Referenced by GrainTracker::broadcastAndUpdateGrainData(), FeatureFloodCount::buildFeatureIdToLocalIndices(), FeatureFloodCount::buildLocalToGlobalIndices(), FeatureFloodCount::doesFeatureIntersectBoundary(), GrainTracker::doesFeatureIntersectBoundary(), FeatureFloodCount::doesFeatureIntersectSpecifiedBoundary(), GrainTracker::doesFeatureIntersectSpecifiedBoundary(), PolycrystalUserObjectBase::execute(), FeatureFloodCount::featureCentroid(), FeatureFloodCount::flood(), getEntityValue(), FeatureFloodCount::getEntityValue(), FeatureFloodCount::getFeatureVar(), GrainTracker::getGrainCentroid(), GrainTracker::isFeaturePercolated(), FeatureFloodCount::isFeaturePercolated(), PolycrystalUserObjectBase::isNewFeatureOrConnectedRegion(), GrainTracker::newGrainCreated(), PolycrystalUserObjectBase::prepareDataForTransfer(), FeatureFloodCount::scatterAndUpdateRanks(), and GrainTracker::trackGrains().