|
Cardinal
|
#include <NekVolumetricSource.h>
Public Member Functions | |
| NekVolumetricSource (const InputParameters ¶meters) | |
| virtual void | sendDataToNek () override |
| Send data to Nek. More... | |
| virtual void | readDataFromNek () |
| Read data from Nek. More... | |
| const MooseEnum & | direction () const |
| Get the direction of the transfer. More... | |
Static Public Member Functions | |
| static InputParameters | validParams () |
| static std::map< unsigned int, std::string > | usrwrkMap () |
| static std::map< std::string, std::pair< Real, Real > > | usrwrkScales () |
Protected Member Functions | |
| bool | normalizeVolumetricSource (const double moose_integral, const double nek_integral, double &normalized_nek_integral) |
| std::string | normalizationHint () const |
| void | fillAuxVariable (const unsigned int var_number, const double *value) |
| void | addExternalVariable (const std::string name) |
| void | addExternalVariable (const unsigned int slot, const std::string name, const Real additive, const Real divisor) |
| void | addExternalPostprocessor (const std::string name, const Real initial) |
| void | checkAllocatedUsrwrkSlot (const unsigned int &u) const |
Protected Attributes | |
| const Real & | _initial_source_integral |
| Initial value to use for the total volumetric source for ensuring conservation. More... | |
| const PostprocessorValue * | _source_integral = nullptr |
| Total volume-integrated volumetric source coming from the coupled MOOSE app. More... | |
| const Real & | _abs_tol |
| Absolute tolerance for checking conservation. More... | |
| const Real & | _rel_tol |
| Relative tolerance for checking conservation. More... | |
| std::string | _postprocessor_name |
| Name of the postprocessor/vectorpostprocessor used to apply conservation. More... | |
| std::string | _variable |
| Variable name (or prefix of names) to create in MOOSE to facilitate data passing. More... | |
| std::vector< unsigned int > | _usrwrk_slot |
| Slot in usrwrk array to use for writing data, if 'direction = to_nek'. More... | |
| std::map< std::string, unsigned int > | _variable_number |
| Internal number for the variable(s) created in MOOSE (name, number) More... | |
| int | _n_per_surf |
| Number of points on the MOOSE mesh to write per element surface. More... | |
| int | _n_per_vol |
| Number of points on the MOOSE mesh to write per element volume. More... | |
| double * | _v_face = nullptr |
| MOOSE data interpolated onto the (boundary) data transfer mesh. More... | |
| double * | _v_elem = nullptr |
| MOOSE data interpolated onto the (volume) data transfer mesh. More... | |
| double * | _external_data = nullptr |
| Scratch space to place external NekRS fields before writing into auxiliary variables. More... | |
| NekRSProblem & | _nek_problem |
| The NekRSProblem using the field transfer interface. More... | |
| NekRSMesh * | _nek_mesh |
| The underlying NekRSMesh mirror. More... | |
| const MooseEnum & | _direction |
| Direction of the transfer. More... | |
Static Protected Attributes | |
| static std::map< unsigned int, std::string > | _field_usrwrk_map |
| static std::map< std::string, std::pair< Real, Real > > | _field_usrwrk_scales |
Performs a transfer of a volumetric source between NekRS and MOOSE. The mesh used for the MOOSE app may be very different from the mesh used by nekRS. Elements may be much finer/coarser, and one element on the MOOSE app may not be a clear subset/superset of the elements on the nekRS mesh. Therefore, to ensure conservation, we send the source integral to nekRS for internval normalization of the source applied on the nekRS mesh.
| NekVolumetricSource::NekVolumetricSource | ( | const InputParameters & | parameters | ) |
|
protectedinherited |
Add a postprocessor to facilitate coupling
| [in] | name | postprocessor name |
| [in] | initial | initial value to use for the postprocessor |
|
protectedinherited |
Add a MOOSE variable to facilitate coupling
| [in] | name | variable name |
|
protectedinherited |
Add a MOOSE variable to facilitate coupling
| [in] | slot | slot in usrwrk array holding this field |
| [in] | name | variable name |
| [in] | additive | shift to apply to the non-dimensional variable |
| [in] | divisor | division to apply to the non-dimensional variable |
|
protectedinherited |
Check if a specified slot in the usrwrk array has been allocated
| [in] | u | slice in usrwrk array |
|
inlineinherited |
Get the direction of the transfer.
|
protectedinherited |
Fill an outgoing auxiliary variable field with nekRS solution data
| [in] | var_number | auxiliary variable number |
| [in] | value | nekRS solution data to fill the variable with |
|
protectedinherited |
Return a string to print in error messages upon failed normalizations
|
protected |
Normalize the volumetric source sent to NekRS
| [in] | moose_integral | total integrated value from MOOSE to conserve |
| [in] | nek_integral | total integrated value in nekRS to adjust |
| [out] | normalized_nek_integral | final normalized value |
|
inlinevirtualinherited |
Read data from Nek.
Reimplemented in NekBoundaryFlux, and NekFieldVariable.
|
overridevirtual |
Send data to Nek.
Reimplemented from NekTransferBase.
|
inlinestaticinherited |
Get the mapping of usrwrk slots to variable names for all field transfers
|
inlinestaticinherited |
Get the mapping of usrwrk slots to their scalings
|
static |
|
protectedinherited |
Absolute tolerance for checking conservation.
|
protectedinherited |
Direction of the transfer.
|
protectedinherited |
Scratch space to place external NekRS fields before writing into auxiliary variables.
|
staticprotectedinherited |
Information about data stored in the usrwrk array for error checking and diagnostics; stored as (slot, variable name in MOOSE)
|
staticprotectedinherited |
Information about nondimensional scaling to be applied to a MOOSE variable, stored as (slot, {shift, divisor})
|
protected |
Initial value to use for the total volumetric source for ensuring conservation.
|
protectedinherited |
Number of points on the MOOSE mesh to write per element surface.
|
protectedinherited |
Number of points on the MOOSE mesh to write per element volume.
|
protectedinherited |
The NekRSProblem using the field transfer interface.
|
protectedinherited |
Name of the postprocessor/vectorpostprocessor used to apply conservation.
|
protectedinherited |
Relative tolerance for checking conservation.
|
protected |
Total volume-integrated volumetric source coming from the coupled MOOSE app.
|
protectedinherited |
Slot in usrwrk array to use for writing data, if 'direction = to_nek'.
|
protectedinherited |
MOOSE data interpolated onto the (volume) data transfer mesh.
|
protectedinherited |
MOOSE data interpolated onto the (boundary) data transfer mesh.
|
protectedinherited |
Variable name (or prefix of names) to create in MOOSE to facilitate data passing.
|
protectedinherited |
Internal number for the variable(s) created in MOOSE (name, number)
1.8.16