www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TotalConcentrationAux Class Reference

Computes the total concentration of given primary species, including its free concentration and its stoichiometric contribution to all secondary equilibrium species that it is involved in. More...

#include <TotalConcentrationAux.h>

Inheritance diagram for TotalConcentrationAux:
[legend]

Public Member Functions

 TotalConcentrationAux (const InputParameters &parameters)
 

Protected Member Functions

virtual Real computeValue () override
 

Protected Attributes

const VariableValue & _primary_species
 Primary species that this AuxKernel acts on. More...
 
const std::vector< Real > _sto_v
 Stoichiometric coefficients for primary species in coupled secondary species. More...
 
std::vector< const VariableValue * > _secondary_species
 Coupled secondary species concentration. More...
 

Detailed Description

Computes the total concentration of given primary species, including its free concentration and its stoichiometric contribution to all secondary equilibrium species that it is involved in.

Definition at line 24 of file TotalConcentrationAux.h.

Constructor & Destructor Documentation

◆ TotalConcentrationAux()

TotalConcentrationAux::TotalConcentrationAux ( const InputParameters &  parameters)

Definition at line 30 of file TotalConcentrationAux.C.

31  : AuxKernel(parameters),
32  _primary_species(coupledValue("primary_species")),
33  _sto_v(getParam<std::vector<Real>>("sto_v"))
34 {
35  const unsigned int n = coupledComponents("v");
36  _secondary_species.resize(n);
37 
38  for (unsigned int i = 0; i < n; ++i)
39  _secondary_species[i] = &coupledValue("v", i);
40 
41  // Check that the correct number of stoichiometric coefficients have been included
42  if (_sto_v.size() != n)
43  mooseError("The number of stoichiometric coefficients and coupled species must be equal in ",
44  _name);
45 }

Member Function Documentation

◆ computeValue()

Real TotalConcentrationAux::computeValue ( )
overrideprotectedvirtual

Definition at line 48 of file TotalConcentrationAux.C.

49 {
50  Real total_concentration = _primary_species[_qp];
51 
52  for (unsigned int i = 0; i < _secondary_species.size(); ++i)
53  total_concentration += _sto_v[i] * (*_secondary_species[i])[_qp];
54 
55  return total_concentration;
56 }

Member Data Documentation

◆ _primary_species

const VariableValue& TotalConcentrationAux::_primary_species
protected

Primary species that this AuxKernel acts on.

Definition at line 33 of file TotalConcentrationAux.h.

Referenced by computeValue().

◆ _secondary_species

std::vector<const VariableValue *> TotalConcentrationAux::_secondary_species
protected

Coupled secondary species concentration.

Definition at line 37 of file TotalConcentrationAux.h.

Referenced by computeValue(), and TotalConcentrationAux().

◆ _sto_v

const std::vector<Real> TotalConcentrationAux::_sto_v
protected

Stoichiometric coefficients for primary species in coupled secondary species.

Definition at line 35 of file TotalConcentrationAux.h.

Referenced by computeValue(), and TotalConcentrationAux().


The documentation for this class was generated from the following files:
TotalConcentrationAux::_sto_v
const std::vector< Real > _sto_v
Stoichiometric coefficients for primary species in coupled secondary species.
Definition: TotalConcentrationAux.h:35
TotalConcentrationAux::_primary_species
const VariableValue & _primary_species
Primary species that this AuxKernel acts on.
Definition: TotalConcentrationAux.h:33
TotalConcentrationAux::_secondary_species
std::vector< const VariableValue * > _secondary_species
Coupled secondary species concentration.
Definition: TotalConcentrationAux.h:37