16#include "libmesh/numeric_vector.h"
17#include "libmesh/quadrature.h"
32 _phi(_variable->phiFace()),
33 _system(_variable->sys()),
34 _aux_solution(_system.solution())
43 const auto & na =
static_cast<const NodalArea &
>(fred);
45 std::map<const Node *, Real>::const_iterator it = na.
_node_areas.begin();
46 const std::map<const Node *, Real>::const_iterator it_end = na._node_areas.end();
47 for (; it != it_end; ++it)
68 std::vector<Real> nodeAreas(
_phi.size());
69 for (
unsigned qp(0); qp <
_qrule->n_points(); ++qp)
71 for (
unsigned j(0); j <
_phi.size(); ++j)
76 for (
unsigned j(0); j <
_phi.size(); ++j)
78 const Real area = nodeAreas[j];
90 const std::map<const Node *, Real>::iterator it_end =
_node_areas.end();
91 for (std::map<const Node *, Real>::iterator it =
_node_areas.begin(); it != it_end; ++it)
93 const Node *
const node = it->first;
99 for (std::map<const Node *, Real>::iterator it =
_node_areas.begin(); it != it_end; ++it)
101 const Node *
const node = it->first;
111 std::map<const Node *, Real>::const_iterator it =
_node_areas.find(node);
const ExecFlagType EXEC_LINEAR
registerMooseObject("ContactApp", NodalArea)
unsigned int number() const
MooseVariableFE< Real > * _variable
const VariablePhiValue & _phi
NumericVector< Number > & _aux_solution
Real nodalArea(const Node *node) const
virtual void initialize()
virtual Real computeQpIntegral()
std::map< const Node *, Real > _node_areas
virtual void threadJoin(const UserObject &uo)
NodalArea(const InputParameters ¶meters)
static InputParameters validParams()
static InputParameters validParams()
const MooseArray< Real > & _coord
const QBase *const & _qrule
const MooseArray< Real > & _JxW
const Elem *const & _current_elem
unsigned int number() const
virtual void set(const numeric_index_type i, const T value)=0
virtual void add(const numeric_index_type i, const T value)=0