19 "Records the flux at each Dirac point of a PorousFlow line sink (such as "
20 "PorousFlowPeacemanBorehole or PorousFlowPolyLineSink). Use a "
21 "PorousFlowPlotPointFluxQuantity VectorPostprocessor to output the recorded values.");
32 const std::vector<Real> & ys,
33 const std::vector<Real> & zs)
66 std::size_t num_pts =
_fluxes.size();
69 mooseError(
"PorousFlowPointFluxQuantity: the number of line-sink points differs between "
70 "processors (this processor has ",
74 "). This can happen when a line sink is defined using line_base on a distributed "
75 "mesh: try mesh_mode = replicated.");
registerMooseObject("PorousFlowApp", PorousFlowPointFluxQuantity)
static InputParameters validParams()
void mooseError(Args &&... args) const
Records the instantaneous flux at each Dirac point of a PorousFlow line sink (such as PorousFlowPeace...
std::vector< Real > _fluxes
The flux at each point of the line sink, indexed by Dirac point ID.
void zero(const std::vector< Real > &xs, const std::vector< Real > &ys, const std::vector< Real > &zs)
Resets the flux recorded at every point to zero, and records the current point coordinates.
static InputParameters validParams()
PorousFlowPointFluxQuantity(const InputParameters ¶meters)
void add(std::size_t i, Real contrib)
Adds contrib to the flux recorded at point i.
virtual void finalize() override
Sums the per-point fluxes over all processors.
std::vector< Real > _xs
Coordinates of each point of the line sink, indexed by Dirac point ID.
virtual void initialize() override
Does nothing.
virtual void execute() override
Does nothing.