https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
LayeredFlowAreaChange Class Referenceabstract

This layered user object computes the change in cross sectional area of a flow channel. More...

#include <LayeredFlowAreaChange.h>

Inheritance diagram for LayeredFlowAreaChange:
[legend]

Public Types

typedef FunctorBase< RealFunctorType
 
typedef Real ValueType
 
typedef typename FunctorReturnType< Real, FunctorEvaluationKind::Gradient >::type GradientType
 
typedef ValueType DotType
 

Public Member Functions

 LayeredFlowAreaChange (const InputParameters &parameters)
 
virtual Real spatialValue (const Point &p) const override
 Given a Point return the integral value associated with the layer that point falls in. More...
 
virtual void initialize () override
 
virtual void execute () override
 
virtual void finalize () override
 
virtual void threadJoin (const UserObject &y) override
 
virtual Real computeIntegral () override
 
virtual bool hasBlocks (SubdomainID sub) const override
 
Real evaluateTemplate (const SpatialArg &position, const Moose::StateArg &libmesh_dbg_var(state)) const
 
FunctorReturnType< Real, FET >::type genericEvaluate (const Space &r, const State &state) const
 
const MooseFunctorName & functorName () const
 
virtual void residualSetup () override
 
virtual void jacobianSetup () override
 
virtual void timestepSetup () override
 
virtual void customSetup (const ExecFlagType &exec_type) override
 
void setCacheClearanceSchedule (const std::set< ExecFlagType > &clearance_schedule)
 
virtual bool isExtrapolatedBoundaryFace (const FaceInfo &, const Elem *, const StateArg &) const
 
bool isInternalFace (const FaceInfo &) const
 
virtual bool isConstant () const
 
virtual bool hasFaceSide (const FaceInfo &fi, const bool fi_elem_side) const override
 
void checkFace (const Moose::FaceArg &face) const
 
ValueType operator() (const ElemArg &elem, const StateArg &state) const
 
ValueType operator() (const FaceArg &face, const StateArg &state) const
 
ValueType operator() (const ElemQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemSideQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemPointArg &elem_point, const StateArg &state) const
 
ValueType operator() (const NodeArg &node, const StateArg &state) const
 
ValueType operator() (const ElemArg &elem, const StateArg &state) const
 
ValueType operator() (const FaceArg &face, const StateArg &state) const
 
ValueType operator() (const ElemQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemSideQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemPointArg &elem_point, const StateArg &state) const
 
ValueType operator() (const NodeArg &node, const StateArg &state) const
 
ValueType operator() (const ElemArg &elem, const StateArg &state) const
 
ValueType operator() (const FaceArg &face, const StateArg &state) const
 
ValueType operator() (const ElemQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemSideQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemPointArg &elem_point, const StateArg &state) const
 
ValueType operator() (const NodeArg &node, const StateArg &state) const
 
GradientType gradient (const ElemArg &elem, const StateArg &state) const
 
GradientType gradient (const FaceArg &face, const StateArg &state) const
 
GradientType gradient (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradient (const NodeArg &node, const StateArg &state) const
 
GradientType gradient (const ElemArg &elem, const StateArg &state) const
 
GradientType gradient (const FaceArg &face, const StateArg &state) const
 
GradientType gradient (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradient (const NodeArg &node, const StateArg &state) const
 
GradientType gradient (const ElemArg &elem, const StateArg &state) const
 
GradientType gradient (const FaceArg &face, const StateArg &state) const
 
GradientType gradient (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradient (const NodeArg &node, const StateArg &state) const
 
DotType dot (const ElemArg &elem, const StateArg &state) const
 
DotType dot (const FaceArg &face, const StateArg &state) const
 
DotType dot (const ElemQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemSideQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemPointArg &elem_point, const StateArg &state) const
 
DotType dot (const NodeArg &node, const StateArg &state) const
 
DotType dot (const ElemArg &elem, const StateArg &state) const
 
DotType dot (const FaceArg &face, const StateArg &state) const
 
DotType dot (const ElemQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemSideQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemPointArg &elem_point, const StateArg &state) const
 
DotType dot (const NodeArg &node, const StateArg &state) const
 
DotType dot (const ElemArg &elem, const StateArg &state) const
 
DotType dot (const FaceArg &face, const StateArg &state) const
 
DotType dot (const ElemQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemSideQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemPointArg &elem_point, const StateArg &state) const
 
DotType dot (const NodeArg &node, const StateArg &state) const
 
GradientType gradDot (const ElemArg &elem, const StateArg &state) const
 
GradientType gradDot (const FaceArg &face, const StateArg &state) const
 
GradientType gradDot (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradDot (const NodeArg &node, const StateArg &state) const
 
GradientType gradDot (const ElemArg &elem, const StateArg &state) const
 
GradientType gradDot (const FaceArg &face, const StateArg &state) const
 
GradientType gradDot (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradDot (const NodeArg &node, const StateArg &state) const
 
GradientType gradDot (const ElemArg &elem, const StateArg &state) const
 
GradientType gradDot (const FaceArg &face, const StateArg &state) const
 
GradientType gradDot (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradDot (const NodeArg &node, const StateArg &state) const
 
virtual Real integralValue (const Point &p) const
 
virtual Real getLayerValue (unsigned int layer) const
 
virtual unsigned int getLayer (const Point &p) const
 
const std::vector< Real > & getLayerCenters () const
 
unsigned int direction () const
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Types

typedef Moose::ElemArg ElemArg
 
typedef Moose::ElemQpArg ElemQpArg
 
typedef Moose::ElemSideQpArg ElemSideQpArg
 
typedef Moose::FaceArg FaceArg
 
typedef Moose::ElemPointArg ElemPointArg
 
typedef Moose::NodeArg NodeArg
 

Protected Member Functions

virtual Real computeQpIntegral () override
 
virtual Real evaluate (const ElemArg &elem, const Moose::StateArg &state) const override
 
virtual Real evaluate (const FaceArg &face, const Moose::StateArg &state) const override final
 
virtual Real evaluate (const ElemQpArg &qp, const Moose::StateArg &state) const override
 
virtual Real evaluate (const ElemSideQpArg &elem_side_qp, const Moose::StateArg &state) const override final
 
virtual Real evaluate (const ElemPointArg &elem_point, const Moose::StateArg &state) const override final
 
virtual Real evaluate (const NodeArg &node, const Moose::StateArg &state) const override final
 
virtual ValueType evaluate (const ElemArg &elem, const StateArg &state) const =0
 
virtual ValueType evaluate (const FaceArg &face, const StateArg &state) const =0
 
virtual ValueType evaluate (const ElemQpArg &qp, const StateArg &state) const =0
 
virtual ValueType evaluate (const ElemSideQpArg &side_qp, const StateArg &state) const =0
 
virtual ValueType evaluate (const ElemPointArg &elem_point, const StateArg &state) const =0
 
virtual ValueType evaluate (const NodeArg &node, const StateArg &state) const =0
 
virtual bool supportsFaceArg () const override final
 
virtual bool supportsElemSideQpArg () const override final
 
virtual GradientType evaluateGradient (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const NodeArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const NodeArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const NodeArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemArg &, const StateArg &) const
 
virtual DotType evaluateDot (const FaceArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemQpArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemSideQpArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemPointArg &, const StateArg &) const
 
virtual DotType evaluateDot (const NodeArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemArg &, const StateArg &) const
 
virtual DotType evaluateDot (const FaceArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemQpArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemSideQpArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemPointArg &, const StateArg &) const
 
virtual DotType evaluateDot (const NodeArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemArg &, const StateArg &) const
 
virtual DotType evaluateDot (const FaceArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemQpArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemSideQpArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemPointArg &, const StateArg &) const
 
virtual DotType evaluateDot (const NodeArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const NodeArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const NodeArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const NodeArg &, const StateArg &) const
 
void setLayerValue (unsigned int layer, Real value)
 
bool layerHasValue (unsigned int layer) const
 
void getBounds ()
 
void computeLayerCenters ()
 
T & declareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const T & getRestartableData (const std::string &data_name) const
 
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 

Protected Attributes

unsigned int _dim
 the problem dimension More...
 
std::vector< const VariableValue * > _disp
 the displacement vectors More...
 
std::string _layered_base_name
 
const InputParameters_layered_base_params
 
MooseEnum _direction_enum
 
unsigned int _direction
 
bool _interval_based
 
unsigned int _num_layers
 
std::vector< Real_layer_bounds
 
unsigned int _sample_type
 
unsigned int _average_radius
 
bool _using_displaced_mesh
 
std::vector< Real_layer_centers
 
Real _direction_min
 
Real _direction_max
 
std::vector< Real > & _layer_values
 
std::vector< int > & _layer_has_value
 
bool _cumulative
 
const bool _positive_cumulative_direction
 
MooseApp_restartable_app
 
const std::string _restartable_system_name
 
const THREAD_ID _restartable_tid
 
const bool _restartable_read_only
 

Detailed Description

This layered user object computes the change in cross sectional area of a flow channel.

Definition at line 20 of file LayeredFlowAreaChange.h.

Constructor & Destructor Documentation

◆ LayeredFlowAreaChange()

LayeredFlowAreaChange::LayeredFlowAreaChange ( const InputParameters parameters)

Definition at line 36 of file LayeredFlowAreaChange.C.

38  LayeredBase(parameters),
39  _dim(_mesh.dimension())
40 {
41  if (coupledComponents("displacements") != _dim)
42  paramError("displacements",
43  "The number of displacement components must be equal to the mesh displacement.");
44 
45  _disp.resize(_dim);
46  for (unsigned int j = 0; j < _dim; ++j)
47  _disp[j] = &coupledValue("displacements", j);
48 }
std::vector< const VariableValue * > _disp
the displacement vectors
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
LayeredBase(const InputParameters &parameters)
unsigned int _dim
the problem dimension

Member Function Documentation

◆ computeIntegral()

Real LayeredFlowAreaChange::computeIntegral ( )
overridevirtual

Definition at line 69 of file LayeredFlowAreaChange.C.

Referenced by execute().

70 {
71  Real sum = 0;
72  for (_qp = 0; _qp < _qrule->n_points(); _qp++)
73  sum += _JxW[_qp] * _coord[_qp] * computeQpIntegral();
74 
75  return sum;
76 }
virtual Real computeQpIntegral() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ computeQpIntegral()

Real LayeredFlowAreaChange::computeQpIntegral ( )
overrideprotectedvirtual

Definition at line 79 of file LayeredFlowAreaChange.C.

Referenced by computeIntegral().

80 {
81  RealVectorValue displacements;
82  for (unsigned int j = 0; j < _dim; ++j)
83  displacements(j) = (*_disp[j])[_qp];
84  return -_normals[_qp] * displacements;
85 }
std::vector< const VariableValue * > _disp
the displacement vectors
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
unsigned int _dim
the problem dimension

◆ execute()

void LayeredFlowAreaChange::execute ( )
overridevirtual

Definition at line 58 of file LayeredFlowAreaChange.C.

59 {
60  unsigned int layer = getLayer(_current_elem->vertex_average());
62  : _layer_bounds[layer + 1] - _layer_bounds[layer];
63  Real integral_value = computeIntegral() / height;
64 
65  setLayerValue(layer, getLayerValue(layer) + integral_value);
66 }
bool _interval_based
virtual Real getLayerValue(unsigned int layer) const
void setLayerValue(unsigned int layer, Real value)
virtual unsigned int getLayer(const Point &p) const
unsigned int _num_layers
std::vector< Real > _layer_bounds
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeIntegral() override
Real _direction_min
Real _direction_max

◆ finalize()

void LayeredFlowAreaChange::finalize ( )
overridevirtual

Reimplemented from LayeredBase.

Definition at line 88 of file LayeredFlowAreaChange.C.

89 {
91 }
virtual void finalize()

◆ initialize()

void LayeredFlowAreaChange::initialize ( )
overridevirtual

◆ spatialValue()

virtual Real LayeredFlowAreaChange::spatialValue ( const Point &  p) const
inlineoverridevirtual

Given a Point return the integral value associated with the layer that point falls in.

Parameters
pThe point to look for in the layers.

Definition at line 31 of file LayeredFlowAreaChange.h.

31 { return integralValue(p); }
virtual Real integralValue(const Point &p) const

◆ threadJoin()

void LayeredFlowAreaChange::threadJoin ( const UserObject y)
overridevirtual

Reimplemented from LayeredBase.

Definition at line 94 of file LayeredFlowAreaChange.C.

95 {
98 }
const std::vector< double > y
virtual void threadJoin(const UserObject &y)

◆ validParams()

InputParameters LayeredFlowAreaChange::validParams ( )
static

Definition at line 15 of file LayeredFlowAreaChange.C.

16 {
18  params += LayeredBase::validParams();
19  params.addRequiredCoupledVar("displacements",
20  "Displacements, size must match problem dimension.");
21 
22  // this layered object should not be used on the displaced mesh
23  // because it measures deviation from the undisplaced mesh
24  params.suppressParameter<bool>("use_displaced_mesh");
25  params.set<bool>("use_displaced_mesh") = false;
26  params.suppressParameter<std::vector<SubdomainName>>("block");
27 
28  params.addClassDescription(
29  "This layered user object computes the change in cross sectional area "
30  "of a flow channel from the displacement variables. Note: the convention is"
31  "that reduction in flow area is negative. For this to be satisfied, normals must"
32  "point INTO the flow channel.");
33  return params;
34 }
T & set(const std::string &name, bool quiet_mode=false)
static InputParameters validParams()
static InputParameters validParams()
void suppressParameter(const std::string &name)
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _dim

unsigned int LayeredFlowAreaChange::_dim
protected

the problem dimension

Definition at line 43 of file LayeredFlowAreaChange.h.

Referenced by computeQpIntegral(), and LayeredFlowAreaChange().

◆ _disp

std::vector<const VariableValue *> LayeredFlowAreaChange::_disp
protected

the displacement vectors

Definition at line 46 of file LayeredFlowAreaChange.h.

Referenced by computeQpIntegral(), and LayeredFlowAreaChange().


The documentation for this class was generated from the following files: