www.mooseframework.org
Functions
PorousFlowAqueousPreDisChemistry.C File Reference

Go to the source code of this file.

Functions

 registerMooseObject ("PorousFlowApp", PorousFlowAqueousPreDisChemistry)
 
template<>
InputParameters validParams< PorousFlowAqueousPreDisChemistry > ()
 

Function Documentation

◆ registerMooseObject()

registerMooseObject ( "PorousFlowApp"  ,
PorousFlowAqueousPreDisChemistry   
)

◆ validParams< PorousFlowAqueousPreDisChemistry >()

template<>
InputParameters validParams< PorousFlowAqueousPreDisChemistry > ( )

Definition at line 16 of file PorousFlowAqueousPreDisChemistry.C.

17 {
18  InputParameters params = validParams<PorousFlowMaterialVectorBase>();
19  params.addRequiredCoupledVar(
20  "primary_concentrations",
21  "List of MOOSE Variables that represent the concentrations of the primary species");
22  params.addRequiredParam<unsigned>("num_reactions",
23  "Number of equations in the system of chemical reactions");
24  params.addParam<bool>("equilibrium_constants_as_log10",
25  false,
26  "If true, the equilibrium constants are written in their log10 form, eg, "
27  "-2. If false, the equilibrium constants are written in absolute terms, "
28  "eg, 0.01");
29  params.addRequiredCoupledVar("equilibrium_constants",
30  "Equilibrium constant for each equation (dimensionless). If these "
31  "are temperature dependent AuxVariables, the Jacobian will not be "
32  "exact");
33  params.addRequiredParam<std::vector<Real>>(
34  "primary_activity_coefficients",
35  "Activity coefficients for the primary species (dimensionless) (one for each)");
36  params.addRequiredParam<std::vector<Real>>(
37  "reactions",
38  "A matrix defining the aqueous reactions. The matrix is entered as a long vector: the first "
39  "row is "
40  "entered first, followed by the second row, etc. There should be num_reactions rows. All "
41  "primary species should appear only on the LHS of each reaction (and there should be just "
42  "one secondary species on the RHS, by definition) so they may have negative coefficients. "
43  "Each row should have number of primary_concentrations entries, which are the stoichiometric "
44  "coefficients. The first coefficient must always correspond to the first primary species, "
45  "etc");
46  params.addRequiredParam<std::vector<Real>>("specific_reactive_surface_area",
47  "Specific reactive surface area in m^2/(L solution).");
48  params.addRequiredParam<std::vector<Real>>(
49  "kinetic_rate_constant",
50  "Kinetic rate constant in mol/(m^2 s), at the reference temperature (one for each reaction)");
51  params.addRequiredParam<std::vector<Real>>("molar_volume",
52  "Volume occupied by one mole of the secondary species "
53  "(L(solution)/mol) (one for each reaction)");
54  params.addRequiredParam<std::vector<Real>>("activation_energy",
55  "Activation energy, J/mol (one for each reaction)");
56  params.addParam<Real>("gas_constant", 8.31434, "Gas constant, in J/(mol K)");
57  params.addParam<Real>("reference_temperature", 298.15, "Reference temperature, K");
58  params.addParam<std::vector<Real>>("theta_exponent",
59  "Theta exponent. Defaults to 1. (one for each reaction)");
60  params.addParam<std::vector<Real>>("eta_exponent",
61  "Eta exponent. Defaults to 1. (one for each reaction)");
62  params.addPrivateParam<std::string>("pf_material_type", "chemistry");
63  params.addClassDescription("This Material forms a std::vector of mineralisation reaction rates "
64  "(L(precipitate)/L(solution)/s) appropriate to the aqueous "
65  "precipitation-dissolution system provided. Note: the "
66  "PorousFlowTemperature must be measured in Kelvin.");
67  return params;
68 }
validParams< PorousFlowMaterialVectorBase >
InputParameters validParams< PorousFlowMaterialVectorBase >()
Definition: PorousFlowMaterialVectorBase.C:14