13 #include "MooseVariable.h"
14 #include "SystemBase.h"
16 #include "libmesh/numeric_vector.h"
17 #include "libmesh/quadrature.h"
25 InputParameters params = validParams<SideIntegralVariableUserObject>();
26 params.set<ExecFlagEnum>(
"execute_on") = EXEC_LINEAR;
31 : SideIntegralVariableUserObject(parameters),
32 _phi(_variable->phiFace()),
33 _system(_variable->sys()),
34 _aux_solution(_system.solution())
43 const NodalArea & na = dynamic_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)
73 nodeAreas[j] += (
_phi[j][qp] * _JxW[qp] * _coord[qp]);
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;
94 dof_id_type dof = node->dof_number(
_system.number(), _variable->number(), 0);
99 for (std::map<const Node *, Real>::iterator it =
_node_areas.begin(); it != it_end; ++it)
101 const Node *
const node = it->first;
102 dof_id_type dof = node->dof_number(
_system.number(), _variable->number(), 0);
111 std::map<const Node *, Real>::const_iterator it =
_node_areas.find(node);