:py:mod:`FELiCS.Equation.Reactions.janafopenfoam` ================================================= .. py:module:: FELiCS.Equation.Reactions.janafopenfoam Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: FELiCS.Equation.Reactions.janafopenfoam.Janafopenfoam .. py:class:: Janafopenfoam(P) Thermodynamic property evaluator using JANAF polynomials for OpenFOAM species. This class provides methods to evaluate specific heat capacity, enthalpy, entropy, and Gibbs free energy of chemical species based on JANAF polynomial coefficients. It supports scalar and expression-based evaluations for compatibility with dolfinx. **Initialize the Janafopenfoam object** :param P: Polynomial degree used in expression evaluation. :type P: :py:class:`int` :ivar P: Polynomial degree for expression evaluation. :vartype P: :py:class:`int` :ivar R_univ: Universal gas constant [J/kmol·K]. :vartype R_univ: :py:class:`float` :ivar Tstd: Standard reference temperature [K]. :vartype Tstd: :py:class:`float` :ivar pref: Reference pressure [Pa]. :vartype pref: :py:class:`float` .. py:method:: janaf_cp(Specie, T) Compute specific isobaric heat capacity `cp` [J/kmol·K]. :param Specie: Species object containing JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **cp** -- Isobaric heat capacity [J/kmol·K]. :rtype: :py:class:`float` :raises Exception: If temperature is out of the valid JANAF polynomial range. .. admonition:: Notes - This is an implementation of the following OpenFOAM source-code: https://github.com/OpenFOAM/OpenFOAM-2.3.x/blob/master/src/thermophysicalModels/Specieie/thermo/janaf/janafThermoI.H . .. py:method:: janaf_cp_expr(Specie, T) Generate an expression for specific isobaric heat capacity `cp` [J/kmol·K]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **cp** -- Expression for `cp` [J/kmol·K]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. - This is an implementation of the following OpenFOAM source-code: https://github.com/OpenFOAM/OpenFOAM-2.3.x/blob/master/src/thermophysicalModels/Specieie/thermo/janaf/janafThermoI.H . .. py:method:: janaf_hc(Specie) Compute chemical enthalpy of formation `hc` [J/kmol]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :returns: **hc** -- Enthalpy of formation [J/kmol]. :rtype: :py:class:`float` .. py:method:: janaf_ha(Specie, T) Compute absolute enthalpy `ha` [J/kmol]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **ha** -- Absolute enthalpy [J/kmol]. :rtype: :py:class:`float` :raises Exception: If temperature is out of the valid JANAF polynomial range. .. py:method:: janaf_ha_expr(Specie, T) Generate an expression for absolute enthalpy `ha` [J/kmol]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **ha** -- Expression for `ha` [J/kmol]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. .. py:method:: janaf_hs(Specie, T) Compute sensible enthalpy `hs` [J/kmol]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **hs** -- Sensible enthalpy [J/kmol]. :rtype: :py:class:`float` :raises Exception: If temperature is out of the valid JANAF polynomial range. .. py:method:: janaf_hs_expr(Specie, T) Generate an expression for sensible enthalpy `hs` [J/kmol]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **hs** -- Expression for `hs` [J/kmol]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. .. py:method:: janaf_Hc(Specie) Compute specific chemical enthalpy `Hc` [J/kg]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :returns: **Hc** -- Specific enthalpy of formation [J/kg]. :rtype: :py:class:`float` .. py:method:: janaf_Ha(Specie, T) Compute specific absolute enthalpy `Ha` [J/kg]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **Ha** -- Specific absolute enthalpy [J/kg]. :rtype: :py:class:`float` .. py:method:: janaf_Ha_expr(Specie, T) Generate an expression for specific absolute enthalpy `Ha` [J/kg]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **Ha** -- Expression for `Ha` [J/kg]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. .. py:method:: janaf_Hs(Specie, T) Compute specific sensible enthalpy `Hs` [J/kg]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **Hs** -- Specific sensible enthalpy [J/kg]. :rtype: :py:class:`float` .. py:method:: janaf_Hs_expr(Specie, T) Generate an expression for specific sensible enthalpy `Hs` [J/kg]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **Hs** -- Expression for `Hs` [J/kg]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. .. py:method:: janaf_s0(Specie) Compute standard entropy `s0` [J/kmol·K]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :returns: **s0** -- Standard entropy [J/kmol·K]. :rtype: :py:class:`float` .. admonition:: Notes - This is an implementation of the following OpenFOAM source-code: https://github.com/OpenFOAM/OpenFOAM-2.3.x/blob/master/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H . .. py:method:: janaf_s(Specie, T) Compute entropy `s` [J/kmol·K]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **s** -- Entropy [J/kmol·K]. :rtype: :py:class:`float` :raises Exception: If temperature is out of the valid JANAF polynomial range. .. py:method:: janaf_s_expr(Specie, T) Generate an expression for entropy `s` [J/kmol·K]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **s** -- Expression for `s` [J/kmol·K]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. .. py:method:: janaf_S0(Specie) Compute standard entropy `S0` [J/kg·K]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :returns: **S0** -- Standard entropy [J/kg·K]. :rtype: :py:class:`float` .. py:method:: janaf_S(Specie, T) Compute entropy `S` [J/kg·K]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **S** -- Entropy [J/kg·K]. :rtype: :py:class:`float` .. py:method:: janaf_S_expr(Specie, T) Generate an expression for entropy `S` [J/kg·K]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **S** -- Expression for `S` [J/kg·K]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. .. py:method:: janaf_S_in_mix_expr(Specie, T, p, Y_spec, Wmix) Generate an expression for entropy `S` [J/kg·K] of a species in a mixture. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :param p: Pressure field [Pa]. :type p: :py:class:`dolfinx.fem.Function` :param Y_spec: Mass fraction of the species. :type Y_spec: :py:class:`dolfinx.fem.Function` :param Wmix: Mixture molecular weight. :type Wmix: :py:class:`dolfinx.fem.Function` :returns: **S_in_mix** -- Entropy expression for the species in the mixture [J/kg·K]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. .. py:method:: janaf_g(Specie, T) Compute Gibbs free energy `g` [J/kmol]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **g** -- Gibbs free energy [J/kmol]. :rtype: :py:class:`float` .. py:method:: janaf_gs(Specie, T) Compute sensible Gibbs free energy `gs` [J/kmol]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **gs** -- Sensible Gibbs free energy [J/kmol]. :rtype: :py:class:`float` .. py:method:: janaf_g_expr(Specie, T) Generate an expression for Gibbs free energy `g` [J/kmol]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: * **g** (:py:class:`dolfinx.fem.Expression`) -- Expression for `g` [J/kmol]. Notes * :py:class:`-------` * :py:class:`- Computed by expression` to :py:class:`be used on dolfin fields.` .. py:method:: janaf_gs_expr(Specie, T) Generate an expression for sensible Gibbs free energy `gs` [J/kmol]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **gs** -- Expression for `gs` [J/kmol]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. .. py:method:: janaf_G(Specie, T) Compute Gibbs free energy `G` [J/kg]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **G** -- Gibbs free energy [J/kg]. :rtype: :py:class:`float` .. py:method:: janaf_Gs(Specie, T) Compute sensible Gibbs free energy `Gs` [J/kg]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature [K]. :type T: :py:class:`float` :returns: **Gs** -- Sensible Gibbs free energy [J/kg]. :rtype: :py:class:`float` .. py:method:: janaf_G_expr(Specie, T) Generate an expression for Gibbs free energy `G` [J/kg]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **G** -- Expression for `G` [J/kg]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields. .. py:method:: janaf_Gs_expr(Specie, T) Generate an expression for sensible Gibbs free energy `Gs` [J/kg]. :param Specie: Species object with JANAF coefficients. :type Specie: :py:class:`object` :param T: Temperature field. :type T: :py:class:`dolfinx.fem.Function` :returns: **Gs** -- Expression for `Gs` [J/kg]. :rtype: :py:class:`dolfinx.fem.Expression` .. admonition:: Notes - Computed by expression to be used on dolfin fields.