https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
12registerMooseObject("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
26SumIC::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
33Real
34SumIC::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}
registerMooseObject("ThermalHydraulicsApp", SumIC)
virtual const VariableValue & coupledValue(const std::string &var_name, unsigned int comp=0) const
static InputParameters validParams()
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
Sum of aux variables.
Definition SumIC.h:24
virtual Real value(const Point &p) override
Definition SumIC.C:34
std::vector< const VariableValue * > _values
vector of pointers to values to sum
Definition SumIC.h:34
SumIC(const InputParameters &parameters)
Definition SumIC.C:26
const unsigned int _n_values
number of values to sum
Definition SumIC.h:32
static InputParameters validParams()
Definition SumIC.C:15