https://mooseframework.inl.gov
Functions
StabilizationUtils Namespace Reference

Functions

template<typename Functor >
auto elementAverage (const Functor &f, const MooseArray< Real > &JxW, const MooseArray< Real > &coord)
 

Function Documentation

◆ elementAverage()

template<typename Functor >
auto StabilizationUtils::elementAverage ( const Functor f,
const MooseArray< Real > &  JxW,
const MooseArray< Real > &  coord 
)

Definition at line 16 of file StabilizationUtils.h.

Referenced by ComputeLagrangianStrainBase< G >::computeDeformationGradient(), TotalLagrangianStressDivergenceBaseS< G >::precalculateJacobianDisplacement(), TotalLagrangianStressDivergenceBase< G >::precalculateJacobianDisplacement(), and UpdatedLagrangianStressDivergenceBase< G >::precalculateJacobianDisplacement().

17 {
18  using ret_type = decltype(f(std::declval<unsigned int>()));
19  ret_type avg;
21  Real v = 0;
22  for (auto qp : make_range(JxW.size()))
23  {
24  avg += f(qp) * JxW[qp] * coord[qp];
25  v += JxW[qp] * coord[qp];
26  }
27  avg /= v;
28  return avg;
29 }
void mooseSetToZero(T &v)
unsigned int size() const
Real f(Real x)
Test function for Brents method.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string v
Definition: NS.h:84
IntRange< T > make_range(T beg, T end)