This class is responsible for adding relationship managers that describe geometric, algebraic and coupling ghosting for finite volume computations.
More...
#include <FVRelationshipManagerInterface.h>
This class is responsible for adding relationship managers that describe geometric, algebraic and coupling ghosting for finite volume computations.
Definition at line 20 of file FVRelationshipManagerInterface.h.
◆ FVRelationshipManagerInterface()
FVRelationshipManagerInterface::FVRelationshipManagerInterface |
( |
| ) |
|
|
inline |
◆ parameterError()
template<typename T >
void FVRelationshipManagerInterface::parameterError |
( |
const InputParameters & |
obj_params, |
|
|
const std::string & |
parameter_name, |
|
|
const std::string & |
function_name, |
|
|
const std::string & |
description |
|
) |
| |
|
staticprivate |
Throw an error with an acceptable context.
- Parameters
-
obj_params | The object parameters |
parameter_name | The name of the parameter |
Definition at line 76 of file FVRelationshipManagerInterface.h.
84 " The following parameter ",
86 " was not found! This is required for setting the correct amount of ghosting in parallel " 87 "runs. This error is typically caused by utilizing incompatible relationship manager " 88 "callback functions in different objects. An example can be using ",
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
◆ setRMParams()
Helper function to set the relationship manager parameters.
- Parameters
-
obj_params | The input parameters of the object |
rm_params | The input parameters of the relationship manager |
ghost_layers | The number of ghosted layers needed |
Definition at line 101 of file FVRelationshipManagerInterface.C.
Referenced by setRMParamsAdvection(), setRMParamsDiffusion(), and validParams().
105 rm_params.
set<
unsigned short>(
"layers") = ghost_layers;
106 rm_params.
set<
bool>(
"use_point_neighbors") = obj_params.
get<
bool>(
"use_point_neighbors");
108 rm_params.
set<
bool>(
"attach_geometric_early") =
true;
109 rm_params.
set<
bool>(
"use_displaced_mesh") = obj_params.
get<
bool>(
"use_displaced_mesh");
◆ setRMParamsAdvection()
void FVRelationshipManagerInterface::setRMParamsAdvection |
( |
const InputParameters & |
obj_params, |
|
|
InputParameters & |
rm_params, |
|
|
const unsigned short |
conditional_extended_layers |
|
) |
| |
|
static |
Helper function to set the relationship manager parameters for advection-related kernels.
- Parameters
-
obj_params | The input parameters of the object |
rm_params | The input parameters of the relationship manager |
conditional_extended_layers | Number of layers that will get assigned if the conditions in the function are met |
Definition at line 53 of file FVRelationshipManagerInterface.C.
Referenced by FVAdvection::validParams().
58 parameterError<unsigned short>(
59 obj_params,
"ghost_layers",
"setRMParamsAdvection",
"non-advection");
60 parameterError<MooseEnum>(
61 obj_params,
"advected_interp_method",
"setRMParamsAdvection",
"non-advection");
63 auto ghost_layers = obj_params.get<
unsigned short>(
"ghost_layers");
64 const auto & interp_method_in = obj_params.get<
MooseEnum>(
"advected_interp_method");
73 ghost_layers =
std::max(conditional_extended_layers, ghost_layers);
auto max(const L &left, const R &right)
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
static void setRMParams(const InputParameters &obj_params, InputParameters &rm_params, const unsigned short ghost_layers)
Helper function to set the relationship manager parameters.
InterpMethod selectInterpolationMethod(const std::string &interp_method)
◆ setRMParamsDiffusion()
void FVRelationshipManagerInterface::setRMParamsDiffusion |
( |
const InputParameters & |
obj_params, |
|
|
InputParameters & |
rm_params, |
|
|
const unsigned short |
conditional_extended_layers |
|
) |
| |
|
static |
Helper function to set the relationship manager parameters for diffusion-related kernels.
- Parameters
-
obj_params | The input parameters of the object |
rm_params | The input parameters of the relationship manager |
conditional_extended_layers | Number of layers that will get assigned if the conditions in the function are met |
Definition at line 79 of file FVRelationshipManagerInterface.C.
Referenced by FVAnisotropicDiffusion::validParams(), and FVDiffusion::validParams().
84 parameterError<unsigned short>(
85 obj_params,
"ghost_layers",
"setRMParamsDiffusion",
"non-diffusion");
86 parameterError<MooseEnum>(
87 obj_params,
"variable_interp_method",
"setRMParamsDiffusion",
"non-diffusion");
89 auto ghost_layers = obj_params.get<
unsigned short>(
"ghost_layers");
90 const auto & interp_method_in = obj_params.get<
MooseEnum>(
"variable_interp_method");
95 ghost_layers =
std::max(conditional_extended_layers, ghost_layers);
auto max(const L &left, const R &right)
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
static void setRMParams(const InputParameters &obj_params, InputParameters &rm_params, const unsigned short ghost_layers)
Helper function to set the relationship manager parameters.
(gc*elem+(1-gc)*neighbor)+gradient*(rf-rf')
InterpMethod selectInterpolationMethod(const std::string &interp_method)
◆ validParams()
Definition at line 14 of file FVRelationshipManagerInterface.C.
Referenced by LinearFVKernel::validParams(), and FVKernel::validParams().
19 params.
addParam<
unsigned short>(
"ghost_layers", 1,
"The number of layers of elements to ghost.");
20 params.
addParam<
bool>(
"use_point_neighbors",
22 "Whether to use point neighbors, which introduces additional ghosting to " 23 "that used for simple face neighbors.");
26 params.
addParam<
bool>(
"use_displaced_mesh",
28 "Whether or not this object should use the " 29 "displaced mesh for computation. Note that in " 30 "the case this is true but no displacements " 31 "are provided in the Mesh block the " 32 "undisplaced mesh will still be used.");
40 "ElementSideNeighborLayers",
46 obj_params, rm_params, obj_params.
get<
unsigned short>(
"ghost_layers"));
static void setRMParams(const InputParameters &obj_params, InputParameters &rm_params, const unsigned short ghost_layers)
Helper function to set the relationship manager parameters.
The documentation for this class was generated from the following files: