/// <summary> /// Ctor. /// </summary> /// <param name="ReactionRateConstants">constants[0]=PreExpFactor, constants[1]=ActivationTemperature, constants[2]=MassFraction0Exponent, constants[3]=MassFraction1Exponent</param> /// <param name="StoichiometricCoefficients"></param> /// <param name="MolarMasses">Array of molar masses. 0 Fuel. 1 Oxidizer, 2 to ns products.</param> /// <param name="EoS">MaterialLawCombustion</param> /// <param name="NumberOfReactants">The number of reactants (i.e. ns)</param> /// <param name="SpeciesIndex">Index of the species being balanced. (I.e. 0 for fuel, 1 for oxidizer, 2 for CO2, 3 for water)</param> public ReactionSpeciesSourceJacobi(double[] ReactionRateConstants, double[] StoichiometricCoefficients, double[] MolarMasses, MaterialLawCombustion EoS, int NumberOfReactants, int SpeciesIndex, double TRef, double cpRef, bool VariableOneStepParameters) { m_ArgumentOrdering = ArrayTools.Cat(new string[] { VariableNames.Temperature }, VariableNames.MassFractions(NumberOfReactants - 1));// Y4 is not a variable!!!!; this.StoichiometricCoefficients = StoichiometricCoefficients; this.ReactionRateConstants = ReactionRateConstants; this.SpeciesIndex = SpeciesIndex; this.MolarMasses = MolarMasses; this.EoS = EoS; this.m_Da = ReactionRateConstants[0]; this.TRef = TRef; this.cpRef = cpRef; this.VariableOneStepParameters = VariableOneStepParameters; }
/// <summary> /// Ctor. /// </summary> /// <param name="HeatReleaseFactor">Heat release computed from the sum of the product of the stoichiometric coefficient, partial heat capacity and molar mass of species alpha for all species. I.e.: sum(alpha = 1.. ns)[v_\alpha cp_alpha M_alpha]. Must be computed locally for non-constant partial heat capacities in later iterations of the code.</param> /// <param name="ReactionRateConstants">0. PreExpFactor/Damköhler number, 1. ActivationTemperature, 2. MassFraction0Exponent, 3. MassFraction1Exponent</param> /// <param name="OneOverMolarMass0MolarMass1"> 1/(M_infty^(a + b -1) * MolarMassFuel^a * MolarMassOxidizer^b). M_infty is the reference for the molar mass steming from non-dimensionalisation of the governing equations.</param> /// <param name="EoS">MaterialLawCombustion</param> public ReactionHeatSourceJacobi(double HeatReleaseFactor, double[] ReactionRateConstants, double[] molarmasses, MaterialLawCombustion EoS, double TRef, double cpRef, bool VariableOneStepParameters) { m_ArgumentOrdering = new string[] { VariableNames.Temperature, VariableNames.MassFraction0, VariableNames.MassFraction1, VariableNames.MassFraction2, VariableNames.MassFraction3 }; m_ParameterOrdering = null; this.HeatReleaseFactor = HeatReleaseFactor; this.ReactionRateConstants = ReactionRateConstants; this.molarMasses = molarmasses; this.EoS = EoS; m_Da = ReactionRateConstants[0]; // Damköhler number this.TRef = TRef; this.cpRef = cpRef; this.VariableOneStepParameters = VariableOneStepParameters; }