www.mooseframework.org
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
FeatureVolumeFraction Class Reference

#include <FeatureVolumeFraction.h>

Inheritance diagram for FeatureVolumeFraction:
[legend]

Public Member Functions

 FeatureVolumeFraction (const InputParameters &parameters)
 
virtual void initialize () override
 
virtual void execute () override
 
virtual Real getValue () override
 

Protected Types

enum  ValueType { ValueType::VOLUME_FRACTION, ValueType::AVRAMI }
 

Protected Member Functions

Real calculateAvramiValue ()
 

Protected Attributes

const ValueType _value_type
 
const PostprocessorValue & _mesh_volume
 
const VectorPostprocessorValue & _feature_volumes
 
Real _volume_fraction
 
Real _equil_fraction
 
Real _avrami_value
 

Detailed Description

Definition at line 21 of file FeatureVolumeFraction.h.

Member Enumeration Documentation

◆ ValueType

enum FeatureVolumeFraction::ValueType
strongprotected
Enumerator
VOLUME_FRACTION 
AVRAMI 

Definition at line 33 of file FeatureVolumeFraction.h.

34  {
35  VOLUME_FRACTION,
36  AVRAMI,
37  };

Constructor & Destructor Documentation

◆ FeatureVolumeFraction()

FeatureVolumeFraction::FeatureVolumeFraction ( const InputParameters &  parameters)

Definition at line 32 of file FeatureVolumeFraction.C.

33  : GeneralPostprocessor(parameters),
34  _value_type(getParam<MooseEnum>("value_type").getEnum<ValueType>()),
35  _mesh_volume(getPostprocessorValue("mesh_volume")),
36  _feature_volumes(getVectorPostprocessorValue("feature_volumes", "feature_volumes")),
37  _equil_fraction(getParam<Real>("equil_fraction")),
38  _avrami_value(0)
39 {
40 }
const VectorPostprocessorValue & _feature_volumes
const PostprocessorValue & _mesh_volume

Member Function Documentation

◆ calculateAvramiValue()

Real FeatureVolumeFraction::calculateAvramiValue ( )
protected

Definition at line 77 of file FeatureVolumeFraction.C.

Referenced by execute().

78 {
79  return std::log(std::log(1.0 / (1.0 - (_volume_fraction / _equil_fraction))));
80 }

◆ execute()

void FeatureVolumeFraction::execute ( )
overridevirtual

Definition at line 48 of file FeatureVolumeFraction.C.

49 {
50  Real volume = 0.0;
51 
52  // sum the values in the vector to get total volume
53  for (const auto & feature_volume : _feature_volumes)
54  volume += feature_volume;
55 
56  mooseAssert(!MooseUtils::absoluteFuzzyEqual(_mesh_volume, 0.0), "Mesh volume is zero");
57  _volume_fraction = volume / _mesh_volume;
58 
60 }
const VectorPostprocessorValue & _feature_volumes
const PostprocessorValue & _mesh_volume

◆ getValue()

Real FeatureVolumeFraction::getValue ( )
overridevirtual

Definition at line 63 of file FeatureVolumeFraction.C.

◆ initialize()

void FeatureVolumeFraction::initialize ( )
overridevirtual

Definition at line 43 of file FeatureVolumeFraction.C.

44 {
45 }

Member Data Documentation

◆ _avrami_value

Real FeatureVolumeFraction::_avrami_value
protected

Definition at line 45 of file FeatureVolumeFraction.h.

Referenced by execute(), and getValue().

◆ _equil_fraction

Real FeatureVolumeFraction::_equil_fraction
protected

Definition at line 44 of file FeatureVolumeFraction.h.

Referenced by calculateAvramiValue().

◆ _feature_volumes

const VectorPostprocessorValue& FeatureVolumeFraction::_feature_volumes
protected

Definition at line 41 of file FeatureVolumeFraction.h.

Referenced by execute().

◆ _mesh_volume

const PostprocessorValue& FeatureVolumeFraction::_mesh_volume
protected

Definition at line 40 of file FeatureVolumeFraction.h.

Referenced by execute().

◆ _value_type

const ValueType FeatureVolumeFraction::_value_type
protected

Definition at line 39 of file FeatureVolumeFraction.h.

Referenced by getValue().

◆ _volume_fraction

Real FeatureVolumeFraction::_volume_fraction
protected

Definition at line 43 of file FeatureVolumeFraction.h.

Referenced by calculateAvramiValue(), execute(), and getValue().


The documentation for this class was generated from the following files: