https://mooseframework.inl.gov
SumIC.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 "SumIC.h"
11 
12 registerMooseObject("ThermalHydraulicsApp", SumIC);
13 
16 {
18 
19  params.addClassDescription("Sets the initial condition as the sum of other variables");
20 
21  params.addRequiredCoupledVar("values", "Vector of values to sum");
22 
23  return params;
24 }
25 
26 SumIC::SumIC(const InputParameters & parameters)
27  : InitialCondition(parameters), _n_values(coupledComponents("values"))
28 {
29  for (unsigned int i = 0; i < _n_values; i++)
30  _values.push_back(&coupledValue("values", i));
31 }
32 
33 Real
34 SumIC::value(const Point & /*p*/)
35 {
36  Real sum = 0;
37  for (unsigned int i = 0; i < _n_values; i++)
38  sum += (*(_values[i]))[_qp];
39 
40  return sum;
41 }
SumIC(const InputParameters &parameters)
Definition: SumIC.C:26
static InputParameters validParams()
virtual const VariableValue & coupledValue(const std::string &var_name, unsigned int comp=0) const
registerMooseObject("ThermalHydraulicsApp", SumIC)
const unsigned int _n_values
number of values to sum
Definition: SumIC.h:32
std::vector< const VariableValue * > _values
vector of pointers to values to sum
Definition: SumIC.h:34
static InputParameters validParams()
Definition: SumIC.C:15
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
Sum of aux variables
Definition: SumIC.h:23
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real value(const Point &p) override
Definition: SumIC.C:34
void addClassDescription(const std::string &doc_string)