This class interacts with a MooseApp through functional expansions. More...
#include <FXIntegralBaseUserObject.h>
Public Member Functions | |
| FXIntegralBaseUserObject (const InputParameters ¶meters) | |
| const FunctionSeries & | getFunctionSeries () const |
| Return a reference to the underlying function series. More... | |
| virtual Real | getValue () final |
| virtual void | finalize () final |
| virtual void | initialize () final |
| virtual Real | spatialValue (const Point &location) const final |
| virtual void | threadJoin (const UserObject &sibling) final |
| Real | operator[] (std::size_t index) const |
| Get the value of the coefficient at the corresponding index. More... | |
| const std::vector< std::size_t > & | getCharacteristics () const |
| Get a reference to the characteristics array. More... | |
| const std::vector< Real > & | getCoefficients () const |
| Get a read-only reference to the vector of coefficients. More... | |
| std::vector< Real > & | getCoefficients () |
| Get a writeable reference to the vector of coefficients. More... | |
| std::string | getCoefficientsTable () const |
| Get a formatted string of the coefficients. More... | |
| std::size_t | getSize () const |
| Get the size, aka number of coefficients. More... | |
| bool | isCompatibleWith (const MutableCoefficientsInterface &other) const |
| Checks to see if another instance is compatible. More... | |
| bool | isSizeEnforced () const |
| Returns true if the size of the coefficient array is fixed and enforced. More... | |
| void | enforceSize (bool enforce) |
| Toggle whether the size of the coefficient array can be changed. More... | |
| void | importCoefficients (const MutableCoefficientsInterface &other) |
| Import the coefficients from another instance. More... | |
| void | resize (std::size_t size, Real fill=0.0, bool fill_out_to_size=true) |
| Resize the array, using the value for fill if the new size is larger. More... | |
| void | setCharacteristics (const std::vector< std::size_t > &new_characteristics) |
| Sets the characteristics array. More... | |
| void | setCoefficients (const std::vector< Real > &new_coefficients) |
| Set the coefficients using a copy operation. More... | |
| void | setCoefficients (std::vector< Real > &&dropin_coefficients) |
| Set the coefficients using a move operation (only works with temp objects) More... | |
Protected Member Functions | |
| virtual Real | computeIntegral () final |
| virtual Point | getCentroid () const =0 |
| Get the centroid of the evaluated unit. More... | |
| virtual Real | getVolume () const =0 |
| Get the volume of the evaluated unit. More... | |
| virtual void | coefficientsChanged () |
| Called when the coefficients have been changed. More... | |
Protected Attributes | |
| std::vector< std::vector< Real > > | _coefficient_history |
| History of the expansion coefficients for each solve. More... | |
| std::vector< Real > | _coefficient_partials |
| Current coefficient partial sums. More... | |
| FunctionSeries & | _function_series |
| Reference to the underlying function series. More... | |
| const bool | _keep_history |
| Keep the expansion coefficients after each solve. More... | |
| const bool | _print_state |
| Flag to prints the state of the zeroth instance in finalize() More... | |
| const Real | _standardized_function_volume |
| Volume of the standardized functional space of integration. More... | |
| Real | _volume |
| Moose volume of evaluation. More... | |
| std::vector< std::size_t > & | _characteristics |
| An array of integer characteristics that can be used to check compatibility. More... | |
| std::vector< Real > & | _coefficients |
| The coefficient array. More... | |
| bool | _enforce_size |
| Boolean that locks or allows resizing of the coefficient array. More... | |
| const bool | _print_coefficients |
| Boolean to flag if the coefficients should be printed when set. More... | |
Private Attributes | |
| const ConsoleStream & | _console |
MooseObject instance of this to provide access to _console More... | |
This class interacts with a MooseApp through functional expansions.
It is templated to allow the inheritance of two dual classes that operate in a volume (FXVolumeUserObject) or on a boundary (FXBoundaryFluxUserObject and FXBoundaryValueUserObject)
It uses an instance of FunctionSeries to generate the orthonormal function series required to generate the functional expansion coefficients.
Definition at line 43 of file FXIntegralBaseUserObject.h.
| FXIntegralBaseUserObject< IntegralBaseVariableUserObject >::FXIntegralBaseUserObject | ( | const InputParameters & | parameters | ) |
Definition at line 114 of file FXIntegralBaseUserObject.h.
|
inlineprotectedvirtualinherited |
Called when the coefficients have been changed.
Reimplemented in MutableCoefficientsFunctionInterface.
Definition at line 107 of file MutableCoefficientsInterface.h.
Referenced by MutableCoefficientsInterface::importCoefficients(), MutableCoefficientsInterface::resize(), and MutableCoefficientsInterface::setCoefficients().
|
finalprotectedvirtual |
Definition at line 135 of file FXIntegralBaseUserObject.h.
|
inherited |
Toggle whether the size of the coefficient array can be changed.
Definition at line 111 of file MutableCoefficientsInterface.C.
Referenced by FunctionSeries::FunctionSeries(), and MutableCoefficientsFunctionInterface::MutableCoefficientsFunctionInterface().
|
finalvirtual |
Definition at line 167 of file FXIntegralBaseUserObject.h.
|
protectedpure virtual |
Get the centroid of the evaluated unit.
Implemented in FXBoundaryBaseUserObject, and FXVolumeUserObject.
|
inherited |
Get a reference to the characteristics array.
Definition at line 51 of file MutableCoefficientsInterface.C.
|
inherited |
Get a writeable reference to the vector of coefficients.
Definition at line 63 of file MutableCoefficientsInterface.C.
|
inherited |
Get a read-only reference to the vector of coefficients.
Definition at line 57 of file MutableCoefficientsInterface.C.
|
inherited |
Get a formatted string of the coefficients.
Definition at line 69 of file MutableCoefficientsInterface.C.
| const FunctionSeries & FXIntegralBaseUserObject< IntegralBaseVariableUserObject >::getFunctionSeries | ( | ) | const |
Return a reference to the underlying function series.
Definition at line 196 of file FXIntegralBaseUserObject.h.
|
inherited |
Get the size, aka number of coefficients.
Definition at line 80 of file MutableCoefficientsInterface.C.
Referenced by MutableCoefficientsInterface::isCompatibleWith(), and operator<<().
|
finalvirtual |
Definition at line 203 of file FXIntegralBaseUserObject.h.
|
protectedpure virtual |
Get the volume of the evaluated unit.
Implemented in FXBoundaryBaseUserObject, and FXVolumeUserObject.
|
inherited |
Import the coefficients from another instance.
Definition at line 117 of file MutableCoefficientsInterface.C.
Referenced by MultiAppFXTransfer::execute().
|
finalvirtual |
Definition at line 210 of file FXIntegralBaseUserObject.h.
|
inherited |
Checks to see if another instance is compatible.
Definition at line 86 of file MutableCoefficientsInterface.C.
Referenced by MultiAppFXTransfer::execute(), and MutableCoefficientsInterface::importCoefficients().
|
inherited |
Returns true if the size of the coefficient array is fixed and enforced.
Definition at line 105 of file MutableCoefficientsInterface.C.
|
inherited |
Get the value of the coefficient at the corresponding index.
Definition at line 45 of file MutableCoefficientsInterface.C.
|
inherited |
Resize the array, using the value for fill if the new size is larger.
Definition at line 131 of file MutableCoefficientsInterface.C.
Referenced by FunctionSeries::FunctionSeries().
|
inherited |
Sets the characteristics array.
Definition at line 149 of file MutableCoefficientsInterface.C.
Referenced by FunctionSeries::FunctionSeries().
|
inherited |
Set the coefficients using a copy operation.
Definition at line 156 of file MutableCoefficientsInterface.C.
Referenced by MutableCoefficientsFunctionInterface::MutableCoefficientsFunctionInterface().
|
inherited |
Set the coefficients using a move operation (only works with temp objects)
Definition at line 171 of file MutableCoefficientsInterface.C.
|
finalvirtual |
Definition at line 236 of file FXIntegralBaseUserObject.h.
|
finalvirtual |
Definition at line 223 of file FXIntegralBaseUserObject.h.
|
protectedinherited |
An array of integer characteristics that can be used to check compatibility.
Definition at line 107 of file MutableCoefficientsInterface.h.
Referenced by FXIntegralBaseUserObject< ElementIntegralVariableUserObject >::FXIntegralBaseUserObject(), MutableCoefficientsInterface::getCharacteristics(), MutableCoefficientsInterface::isCompatibleWith(), and MutableCoefficientsInterface::setCharacteristics().
|
protected |
History of the expansion coefficients for each solve.
Definition at line 92 of file FXIntegralBaseUserObject.h.
Referenced by FXIntegralBaseUserObject< ElementIntegralVariableUserObject >::FXIntegralBaseUserObject().
|
protected |
Current coefficient partial sums.
Definition at line 95 of file FXIntegralBaseUserObject.h.
Referenced by FXIntegralBaseUserObject< ElementIntegralVariableUserObject >::FXIntegralBaseUserObject(), and FXIntegralBaseUserObject< ElementIntegralVariableUserObject >::threadJoin().
|
protectedinherited |
The coefficient array.
Definition at line 113 of file MutableCoefficientsInterface.h.
Referenced by FunctionSeries::expand(), FXIntegralBaseUserObject< ElementIntegralVariableUserObject >::FXIntegralBaseUserObject(), MutableCoefficientsInterface::getCoefficients(), MutableCoefficientsInterface::getSize(), MutableCoefficientsInterface::importCoefficients(), operator<<(), MutableCoefficientsInterface::operator[](), MutableCoefficientsInterface::resize(), and MutableCoefficientsInterface::setCoefficients().
|
privateinherited |
MooseObject instance of this to provide access to _console
Definition at line 123 of file MutableCoefficientsInterface.h.
Referenced by MutableCoefficientsInterface::importCoefficients(), MutableCoefficientsInterface::resize(), and MutableCoefficientsInterface::setCoefficients().
|
protectedinherited |
Boolean that locks or allows resizing of the coefficient array.
Definition at line 116 of file MutableCoefficientsInterface.h.
Referenced by MutableCoefficientsInterface::enforceSize(), MutableCoefficientsInterface::isCompatibleWith(), MutableCoefficientsInterface::isSizeEnforced(), MutableCoefficientsInterface::resize(), and MutableCoefficientsInterface::setCoefficients().
|
protected |
Reference to the underlying function series.
Definition at line 98 of file FXIntegralBaseUserObject.h.
Referenced by FXIntegralBaseUserObject< ElementIntegralVariableUserObject >::FXIntegralBaseUserObject().
|
protected |
Keep the expansion coefficients after each solve.
Definition at line 101 of file FXIntegralBaseUserObject.h.
Referenced by FXIntegralBaseUserObject< ElementIntegralVariableUserObject >::FXIntegralBaseUserObject().
|
protectedinherited |
Boolean to flag if the coefficients should be printed when set.
Definition at line 119 of file MutableCoefficientsInterface.h.
Referenced by MutableCoefficientsInterface::importCoefficients(), MutableCoefficientsInterface::resize(), and MutableCoefficientsInterface::setCoefficients().
|
protected |
Flag to prints the state of the zeroth instance in finalize()
Definition at line 104 of file FXIntegralBaseUserObject.h.
|
protected |
Volume of the standardized functional space of integration.
Definition at line 107 of file FXIntegralBaseUserObject.h.
|
protected |
Moose volume of evaluation.
Definition at line 110 of file FXIntegralBaseUserObject.h.
Referenced by FXIntegralBaseUserObject< ElementIntegralVariableUserObject >::threadJoin().
1.8.16