This VectorPostprocessor is intended to be used to calculate accurate volumes from the FeatureFloodCount and/or GrainTracker objects. More...
#include <FeatureVolumeVectorPostprocessor.h>
Public Member Functions | |
FeatureVolumeVectorPostprocessor (const InputParameters ¶meters) | |
virtual void | initialize () override |
virtual void | execute () override |
virtual void | finalize () override |
Real | getFeatureVolume (unsigned int feature_id) const |
Returns the volume for the given grain number. More... | |
Protected Attributes | |
const bool | _single_feature_per_elem |
A Boolean indicating how the volume is calculated. More... | |
const bool | _output_centroids |
const FeatureFloodCount & | _feature_counter |
A reference to the feature flood count object. More... | |
VectorPostprocessorValue & | _var_num |
VectorPostprocessorValue & | _feature_volumes |
VectorPostprocessorValue & | _intersects_bounds |
VectorPostprocessorValue & | _intersects_specified_bounds |
VectorPostprocessorValue & | _percolated |
bool | _is_boundary_restricted |
Indicates whether the calculation should be run on volumes or area of a boundary. More... | |
Private Member Functions | |
void | accumulateVolumes (const Elem *elem, const std::vector< unsigned int > &var_to_features, std::size_t num_features) |
Add volume contributions to one or entries in the feature volume vector. More... | |
void | accumulateBoundaryFaces (const Elem *elem, const std::vector< unsigned int > &var_to_features, std::size_t num_features, unsigned int side) |
When boundary is supplied as input, compute coverage of that boundary by each feature. More... | |
Real | computeIntegral (std::size_t var_index) const |
Calculate the integral value of the passed in variable (index) More... | |
Real | computeFaceIntegral (std::size_t var_index) const |
Calculate the integral on the face if boundary is supplied as input. More... | |
Private Attributes | |
const std::vector< MooseVariableFEBase * > & | _vars |
std::vector< const VariableValue * > | _coupled_sln |
MooseMesh & | _mesh |
Assembly & | _assembly |
const MooseArray< Point > & | _q_point |
const QBase *const & | _qrule |
const MooseArray< Real > & | _JxW |
const MooseArray< Real > & | _coord |
const QBase *const & | _qrule_face |
const MooseArray< Real > & | _JxW_face |
This VectorPostprocessor is intended to be used to calculate accurate volumes from the FeatureFloodCount and/or GrainTracker objects.
It is a GeneralVectorPostProcessor instead of the more natural elemental kind so that dependency resolution will work properly when an AuxVariable is not depending on the FeatureFloodCount object. It obtains the coupled variables from the FeatureFloodCount object so that there's one less thing for the user of this class to worry about.
Definition at line 33 of file FeatureVolumeVectorPostprocessor.h.
FeatureVolumeVectorPostprocessor::FeatureVolumeVectorPostprocessor | ( | const InputParameters & | parameters | ) |
Definition at line 47 of file FeatureVolumeVectorPostprocessor.C.
|
private |
When boundary is supplied as input, compute coverage of that boundary by each feature.
Definition at line 242 of file FeatureVolumeVectorPostprocessor.C.
Referenced by execute().
|
private |
Add volume contributions to one or entries in the feature volume vector.
Definition at line 192 of file FeatureVolumeVectorPostprocessor.C.
Referenced by execute().
|
private |
Calculate the integral on the face if boundary is supplied as input.
Definition at line 281 of file FeatureVolumeVectorPostprocessor.C.
Referenced by accumulateBoundaryFaces().
|
private |
Calculate the integral value of the passed in variable (index)
Definition at line 231 of file FeatureVolumeVectorPostprocessor.C.
Referenced by accumulateVolumes().
|
overridevirtual |
Here we retrieve the var to features vector on the current element. We'll use that information to figure out which variables are non-zero (from a threshold perspective) then we can sum those values into appropriate grain index locations.
Definition at line 85 of file FeatureVolumeVectorPostprocessor.C.
|
overridevirtual |
Definition at line 178 of file FeatureVolumeVectorPostprocessor.C.
Real FeatureVolumeVectorPostprocessor::getFeatureVolume | ( | unsigned int | feature_id | ) | const |
Returns the volume for the given grain number.
Definition at line 185 of file FeatureVolumeVectorPostprocessor.C.
|
overridevirtual |
Definition at line 80 of file FeatureVolumeVectorPostprocessor.C.
|
private |
Definition at line 88 of file FeatureVolumeVectorPostprocessor.h.
|
private |
Definition at line 92 of file FeatureVolumeVectorPostprocessor.h.
Referenced by computeFaceIntegral(), and computeIntegral().
|
private |
Definition at line 85 of file FeatureVolumeVectorPostprocessor.h.
Referenced by computeFaceIntegral(), computeIntegral(), and FeatureVolumeVectorPostprocessor().
|
protected |
A reference to the feature flood count object.
Definition at line 55 of file FeatureVolumeVectorPostprocessor.h.
Referenced by execute(), and FeatureVolumeVectorPostprocessor().
|
protected |
Definition at line 58 of file FeatureVolumeVectorPostprocessor.h.
Referenced by accumulateBoundaryFaces(), accumulateVolumes(), execute(), finalize(), and getFeatureVolume().
|
protected |
Definition at line 59 of file FeatureVolumeVectorPostprocessor.h.
Referenced by execute().
|
protected |
Definition at line 60 of file FeatureVolumeVectorPostprocessor.h.
Referenced by execute().
|
protected |
Indicates whether the calculation should be run on volumes or area of a boundary.
Definition at line 64 of file FeatureVolumeVectorPostprocessor.h.
Referenced by execute(), and FeatureVolumeVectorPostprocessor().
|
private |
Definition at line 91 of file FeatureVolumeVectorPostprocessor.h.
Referenced by computeIntegral().
|
private |
Definition at line 94 of file FeatureVolumeVectorPostprocessor.h.
Referenced by computeFaceIntegral().
|
private |
Definition at line 87 of file FeatureVolumeVectorPostprocessor.h.
Referenced by execute().
|
protected |
Definition at line 52 of file FeatureVolumeVectorPostprocessor.h.
Referenced by execute().
|
protected |
Definition at line 61 of file FeatureVolumeVectorPostprocessor.h.
Referenced by execute().
|
private |
Definition at line 89 of file FeatureVolumeVectorPostprocessor.h.
|
private |
Definition at line 90 of file FeatureVolumeVectorPostprocessor.h.
Referenced by computeIntegral().
|
private |
Definition at line 93 of file FeatureVolumeVectorPostprocessor.h.
Referenced by computeFaceIntegral().
|
protected |
A Boolean indicating how the volume is calculated.
Definition at line 51 of file FeatureVolumeVectorPostprocessor.h.
Referenced by accumulateBoundaryFaces(), and accumulateVolumes().
|
protected |
Definition at line 57 of file FeatureVolumeVectorPostprocessor.h.
Referenced by execute().
|
private |
Definition at line 84 of file FeatureVolumeVectorPostprocessor.h.
Referenced by FeatureVolumeVectorPostprocessor().