15#include "libmesh/quadrature.h"
26 "variable",
"The names of the variables that this VectorPostprocessor operates on");
51 "This object cannot accept mixed FE and FV variables, please make "
52 "sure all the provided variables are either FE or FV by separating this vector "
54 "into two blocks, one for finite element and another for finite volume variables!");
93 " should be defined on one side of the face!");
registerMooseObject("MooseApp", SideValueSampler)
std::vector< MooseVariableFieldBase * > _coupled_moose_vars
Vector of all coupled variables.
std::vector< MooseVariableField< Real > * > _coupled_fv_moose_vars
Vector of all finite volume coupled variables.
const std::string & name() const
Get the name of the class.
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
Base class for VectorPostprocessors that need to do "sampling" of values in the domain.
virtual void addSample(const Point &p, const Real &id, const std::vector< Real > &values)
Call this with the value of every variable at each point you want to sample at.
void setupVariables(const std::vector< std::string > &variable_names)
You MUST call this in the constructor of the child class and pass down the name of the variables.
virtual void initialize()
Initialize the datastructures.
virtual void threadJoin(const SamplerBase &y)
Join the values.
virtual void finalize()
Finalize the values.
void checkForStandardFieldVariableType(const MooseVariableFieldBase *const var_ptr, const std::string &var_param_name="variable") const
Checks whether the passed variable pointer corresponds to a regular single-valued field variable.
static InputParameters validParams()
const QBase *const & _qrule
const MooseArray< Point > & _q_point
const Elem *const & _current_elem
void getFaceInfos()
Computes the local FaceInfo(s) to use in functor arguments and interpolations.
std::vector< const FaceInfo * > _face_infos
Holds the FaceInfos to loop on to consider all active neighbors of an element on a given side.
virtual void threadJoin(const UserObject &y) override
Must override.
std::vector< Real > _values
So we don't have to create and destroy this vector over and over again.
virtual void finalize() override
Finalize.
static InputParameters validParams()
bool _qp_sampling
Whether to sample over side quadrature points or FaceInfos.
virtual void execute() override
Execute method.
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
SideValueSampler(const InputParameters ¶meters)
static InputParameters validParams()
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.
Base class for user-specific data.
A structure defining a "face" evaluation calling argument for Moose functors.