https://mooseframework.inl.gov
Loading...
Searching...
No Matches
CoupledBEKinetic.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 "CoupledBEKinetic.h"
11
12registerMooseObject("ChemicalReactionsApp", CoupledBEKinetic);
13
16{
18 params.addRequiredParam<std::vector<Real>>("weight",
19 "The weight of kinetic species concentration");
20 params.addCoupledVar("v", "List of kinetic species being coupled by concentration");
21 params.addClassDescription("Derivative of kinetic species concentration wrt time");
22 return params;
23}
24
26 : TimeDerivative(parameters),
27 _porosity(getMaterialProperty<Real>("porosity")),
28 _weight(getParam<std::vector<Real>>("weight")),
29 _vals(coupledValues("v")),
30 _vals_old(coupledValuesOld("v"))
31{
32}
33
34Real
36{
37 Real assemble_conc = 0.0;
38
39 for (MooseIndex(_vals) i = 0; i < _vals.size(); ++i)
40 assemble_conc += _weight[i] * ((*_vals[i])[_qp] - (*_vals_old[i])[_qp]) / _dt;
41
42 return _porosity[_qp] * _test[_i][_qp] * assemble_conc;
43}
registerMooseObject("ChemicalReactionsApp", CoupledBEKinetic)
Derivative of mineral species concentration wrt time.
const std::vector< const VariableValue * > _vals
Coupled kinetic mineral concentrations.
const std::vector< const VariableValue * > _vals_old
Coupled old values of kinetic mineral concentrations.
CoupledBEKinetic(const InputParameters &parameters)
const std::vector< Real > _weight
Weight of the kinetic mineral concentration in the total primary species concentration.
virtual Real computeQpResidual() override
static InputParameters validParams()
const MaterialProperty< Real > & _porosity
Porosity.
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
void addCoupledVar(const std::string &name, const std::string &doc_string)
unsigned int _qp
unsigned int _i
const VariableTestValue & _test
static InputParameters validParams()