Reaktoro  v2.11.0
A unified framework for modeling chemically reactive systems
ActivityPropsBase< TypeOp > Struct Template Reference

The base type for the primary activity and corrective thermodynamic properties of a phase. More...

#include <ActivityProps.hpp>

Public Member Functions

auto operator= (real value) -> ActivityPropsBase &
 Assign a common value to all properties in this ActivityPropsBase object.
 
template<template< typename > typename OtherTypeOp>
auto operator= (const ActivityPropsBase< OtherTypeOp > &other) -> ActivityPropsBase &
 Convert this ActivityPropsBase object into another.
 
template<template< typename > typename OtherTypeOp>
 operator ActivityPropsBase< OtherTypeOp > ()
 Convert this ActivityPropsBase object into another.
 
template<template< typename > typename OtherTypeOp>
 operator ActivityPropsBase< OtherTypeOp > () const
 Convert this ActivityPropsBase object into another.
 

Static Public Member Functions

static auto create (Index numspecies) -> ActivityPropsBase< TypeOp >
 Create a ActivityPropsBase object with given number of species. More...
 

Public Attributes

TypeOp< realVx
 The corrective molar volume of the phase (in m³/mol).
 
TypeOp< realVxT
 The derivative of the corrective molar volume with respect to temperature at constant pressure and species mole fractions (in m³/(mol⋅K)).
 
TypeOp< realVxP
 The derivative of the corrective molar volume with respect to pressure at constant temperature and species mole fractions (in m³/(mol⋅Pa)).
 
TypeOp< ArrayXrVxi
 The derivatives of the corrective molar volume with respect to species mole fractions at constant temperature and pressure (in m³/mol).
 
TypeOp< realGx
 The corrective molar Gibbs energy of the phase (in units of J/mol).
 
TypeOp< realHx
 The corrective molar enthalpy of the phase (in units of J/mol).
 
TypeOp< realCpx
 The corrective molar isobaric heat capacity of the phase (in units of J/(mol⋅K)).
 
TypeOp< ArrayXrln_g
 The activity coefficients (natural log) of the species in the phase.
 
TypeOp< ArrayXrln_a
 The activities (natural log) of the species in the phase.
 
TypeOp< StateOfMattersom
 The state of matter of the phase.
 
TypeOp< Map< String, Any > > extra
 The extra data produced by an activity model that may be reused by subsequent models within a chained activity model.
 

Detailed Description

template<template< typename > typename TypeOp>
struct Reaktoro::ActivityPropsBase< TypeOp >

The base type for the primary activity and corrective thermodynamic properties of a phase.

Thermodynamic properties for a phase, such as internal energy, enthalpy, Gibbs energy, entropy, and volume can be broken down into ideal and corrective contributions. Let us denote by \(M\) one of these properties. The previous statement implies that:

\[M=\sum_{i=1}^{\mathrm{N}}x_{i}M_{i}^{\circ}+M^{\mathrm{x}},\]

with the first term being the ideal contribution and the second term, \(M^{\mathrm{x}}\), being the corrective contribution, where \(x_{i}\) and \(M_{i}^{\circ}\) are, respectively, the mole fraction and respective standard molar property of the \(i\)-th species in the phase.

Thus, corrective thermodynamic properties are those that need to be added to their ideal counterpart to obtain more correct values that take into account the non-ideal thermodynamic behavior of phases. The word corrective is adopted in Reaktoro to mean either excess or residual properties.

Note
The corrective property \(M^{\mathrm{x}}\) may sometimes be the actual complete property of the phase, i.e., \(M^{\mathrm{x}} \equiv M\). For example, for gaseous phases in which the partial molar volumes of the species are conventionally zero, \(V_{i}^{\circ}=0\), the corrective molar volume, \(V^{\mathrm{x}}\), must be set as the total molar volume of the phase.
See also
ActivityModel, ActivityModelArgs

Member Function Documentation

◆ create()

static auto create ( Index  numspecies) -> ActivityPropsBase<TypeOp>
inlinestatic

Create a ActivityPropsBase object with given number of species.

This static method is needed, instead of a constructor, which would prevent aggregate initialization of this struct.


The documentation for this struct was generated from the following file: