3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Member Functions | Protected Attributes | List of all members
Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations > Class Template Reference

The mixing rule for the oil and the gas phases of the SPE5 problem. More...

#include <dumux/material/eos/pengrobinsonparamsmixture.hh>

Inheritance diagram for Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations >:

Description

template<class Scalar, class FluidSystem, int phaseIdx, bool useSpe5Relations = false>
class Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations >

The mixing rule for the oil and the gas phases of the SPE5 problem.

This problem comprises \(H_2O\), \(C_1\), \(C_3\), \(C_6\), \(C_10\), \(C_15\) and \(C_20\) as components.

See:

R. Reid, et al. (1987, pp. 43-44) [59]

and

J.E. Killough, et al. (1987) [36]

Public Member Functions

template<class FluidState >
void updatePure (const FluidState &fluidState)
 Update Peng-Robinson parameters for the pure components. More...
 
void updatePure (Scalar temperature, Scalar pressure)
 Peng-Robinson parameters for the pure components. More...
 
template<class FluidState >
void updateMix (const FluidState &fs)
 Calculates the "a" and "b" Peng-Robinson parameters for the mixture. More...
 
template<class FluidState >
void updateSingleMoleFraction (const FluidState &fs, int compIdx)
 Calculates the "a" and "b" Peng-Robinson parameters for the mixture provided that only a single mole fraction was changed. More...
 
const PureParamspureParams (int compIdx) const
 Return the Peng-Robinson parameters of a pure substance,. More...
 
const PureParamsoperator[] (int compIdx) const
 Returns the Peng-Robinson parameters for a pure component. More...
 
Scalar a () const
 Returns the attractive parameter 'a' of the Peng-Robinson fluid. More...
 
Scalar b () const
 Returns the repulsive parameter 'b' of the Peng-Robinson fluid. More...
 
void setA (Scalar value)
 Set the attractive parameter 'a' of the Peng-Robinson fluid. More...
 
void setB (Scalar value)
 Set the repulsive parameter 'b' of the Peng-Robinson fluid. More...
 

Protected Attributes

PureParams pureParams_ [numComponents]
 
Scalar a_
 
Scalar b_
 

Member Function Documentation

◆ a()

template<class Scalar >
Scalar Dumux::PengRobinsonParams< Scalar >::a ( ) const
inlineinherited

Returns the attractive parameter 'a' of the Peng-Robinson fluid.

◆ b()

template<class Scalar >
Scalar Dumux::PengRobinsonParams< Scalar >::b ( ) const
inlineinherited

Returns the repulsive parameter 'b' of the Peng-Robinson fluid.

◆ operator[]()

template<class Scalar , class FluidSystem , int phaseIdx, bool useSpe5Relations = false>
const PureParams & Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations >::operator[] ( int  compIdx) const
inline

Returns the Peng-Robinson parameters for a pure component.

Parameters
compIdxthe component index

◆ pureParams()

template<class Scalar , class FluidSystem , int phaseIdx, bool useSpe5Relations = false>
const PureParams & Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations >::pureParams ( int  compIdx) const
inline

Return the Peng-Robinson parameters of a pure substance,.

Parameters
compIdxthe component index

◆ setA()

template<class Scalar >
void Dumux::PengRobinsonParams< Scalar >::setA ( Scalar  value)
inlineinherited

Set the attractive parameter 'a' of the Peng-Robinson fluid.

Parameters
valuevalue of the attractive parameter

◆ setB()

template<class Scalar >
void Dumux::PengRobinsonParams< Scalar >::setB ( Scalar  value)
inlineinherited

Set the repulsive parameter 'b' of the Peng-Robinson fluid.

Parameters
valuevalue of the repulsive parameter

◆ updateMix()

template<class Scalar , class FluidSystem , int phaseIdx, bool useSpe5Relations = false>
template<class FluidState >
void Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations >::updateMix ( const FluidState &  fs)
inline

Calculates the "a" and "b" Peng-Robinson parameters for the mixture.

The updatePure() method needs to be called before calling this method!

Parameters
fsthe thermodynamic state of the fluids

◆ updatePure() [1/2]

template<class Scalar , class FluidSystem , int phaseIdx, bool useSpe5Relations = false>
template<class FluidState >
void Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations >::updatePure ( const FluidState &  fluidState)
inline

Update Peng-Robinson parameters for the pure components.

Parameters
fluidStateThermodynamic state of the fluids

◆ updatePure() [2/2]

template<class Scalar , class FluidSystem , int phaseIdx, bool useSpe5Relations = false>
void Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations >::updatePure ( Scalar  temperature,
Scalar  pressure 
)
inline

Peng-Robinson parameters for the pure components.

Parameters
temperatureTemperature in \(\mathrm{[K]}\)
pressurepressure in \(\mathrm{[Pa]}\) This method is given by the SPE5 paper.

◆ updateSingleMoleFraction()

template<class Scalar , class FluidSystem , int phaseIdx, bool useSpe5Relations = false>
template<class FluidState >
void Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations >::updateSingleMoleFraction ( const FluidState &  fs,
int  compIdx 
)
inline

Calculates the "a" and "b" Peng-Robinson parameters for the mixture provided that only a single mole fraction was changed.

The updatePure() method needs to be called before calling this method!

Parameters
fsthe thermodynamic state of the fluids
compIdxthe component index

Member Data Documentation

◆ a_

template<class Scalar >
Scalar Dumux::PengRobinsonParams< Scalar >::a_
protectedinherited

◆ b_

template<class Scalar >
Scalar Dumux::PengRobinsonParams< Scalar >::b_
protectedinherited

◆ pureParams_

template<class Scalar , class FluidSystem , int phaseIdx, bool useSpe5Relations = false>
PureParams Dumux::PengRobinsonParamsMixture< Scalar, FluidSystem, phaseIdx, useSpe5Relations >::pureParams_[numComponents]
protected

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