www.mooseframework.org
ConstantPointSource.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "ConstantPointSource.h"
11 
13 
16 {
18  params.addClassDescription("Residual contribution of a constant point source term.");
19  params.addRequiredParam<Real>("value", "The value of the point source");
20  params.addRequiredParam<std::vector<Real>>("point", "The x,y,z coordinates of the point");
21  params.declareControllable("value");
22  return params;
23 }
24 
26  : DiracKernel(parameters),
27  _value(getParam<Real>("value")),
28  _point_param(getParam<std::vector<Real>>("point"))
29 {
30  _p(0) = _point_param[0];
31 
32  if (_point_param.size() > 1)
33  {
34  _p(1) = _point_param[1];
35 
36  if (_point_param.size() > 2)
37  {
38  _p(2) = _point_param[2];
39  }
40  }
41 }
42 
43 void
45 {
46  addPoint(_p);
47 }
48 
49 Real
51 {
52  // This is negative because it's a forcing function that has been brought over to the left side
53  return -_test[_i][_qp] * _value;
54 }
void addPoint(const Elem *elem, Point p, unsigned id=libMesh::invalid_uint)
Add the physical x,y,z point located in the element "elem" to the list of points this DiracKernel wil...
const OutputTools< T >::VariableTestValue & _test
Values of test functions at QPs.
Definition: DiracKernel.h:91
registerMooseObject("MooseApp", ConstantPointSource)
std::vector< Real > _point_param
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
ConstantPointSource(const InputParameters &parameters)
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
static InputParameters validParams()
virtual Real computeQpResidual() override
This is the virtual that derived classes should override for computing the residual.
A DiracKernel is used when you need to add contributions to the residual by means of multiplying some...
Definition: DiracKernel.h:19
virtual void addPoints() override
This is where the DiracKernel should call addPoint() for each point it needs to have a value distribu...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
unsigned int _qp
Quadrature point index.
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
unsigned int _i
i-th, j-th index for enumerating shape and test functions
void declareControllable(const std::string &name, std::set< ExecFlagType > execute_flags={})
Declare the given parameters as controllable.
static InputParameters validParams()
Definition: DiracKernel.C:24