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 () |
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) |
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 |
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 |
|
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
|
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)
|
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)