/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see .
Class
Foam::diffusivityModel
Description
SourceFiles
diffusivityModelI.H
diffusivityModel.C
diffusivityModelIO.C
\*---------------------------------------------------------------------------*/
#ifndef diffusivityModel_H
#define diffusivityModel_H
#include "scalar.H"
#include "autoPtr.H"
#include "psiReactionThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// Forward declaration of classes
class Electron;
class Neutral;
class Ion;
class Stockmayer;
class Coulomb;
class N64;
class CrossSection;
// Forward declaration of friend functions and operators
class diffusivityModel;
/*---------------------------------------------------------------------------*\
Class diffusivityModel Declaration
\*---------------------------------------------------------------------------*/
class diffusivityModel
{
// Private data
//- Reference to thermo object
const psiReactionThermo& thermo_;
//- Mixture averaged diffusivity fields
PtrList D_;
//- Mixture averaged viscosity field
autoPtr mu_;
//- Mixture averaged thermal conductivity field
autoPtr k_;
//- Electron object
autoPtr electron_;
//- Ion object list
PtrList ions_;
//- Neutral object list
PtrList neutrals_;
//- Coulomb potential list
PtrList ecs_;
//- Momentum transfer cross section list
PtrList ens_;
//- Stockmayer potential list
PtrList nns_;
//- Coulomb potential list
PtrList ccs_;
//- (n,6,4) potential list
PtrList cns_;
// Private Member Functions
//- Disallow default bitwise copy construct
diffusivityModel(const diffusivityModel&);
//- Disallow default bitwise assignment
void operator=(const diffusivityModel&);
//- Disallow default bitwise assignment
inline scalar mixAvgD(const label k, const UList& Di, const UList& X, const UList& Y);
//- Disallow default bitwise assignment
inline void mixAvgDi(UList& Di, const scalarSymmetricSquareMatrix &Dij, const UList& X, const UList& Y);
//- Disallow default bitwise assignment
inline scalar mixAvgMu(const UList& muI, const UList& X, const UList& W);
//- Disallow default bitwise assignment
inline scalar mixAvgK(const UList& k, const UList& X);
inline void calculateMuD
(
UList &muI,
scalarSymmetricSquareMatrix &Dij,
const scalar rhoi,
const scalar Cpi,
const scalar pi,
const scalar Ti,
const scalar WbarI,
const scalar rhoQc2i,
const scalarField &localY,
const scalarField &localX
);
public:
// Static data members
//- Static data staticData
// static const dataType staticData;
// Constructors
//- Construct from mixture
diffusivityModel(const psiReactionThermo& thermo);
//- Construct from Istream
diffusivityModel(Istream&);
//- Construct as copy
// diffusivityModel(const diffusivityModel&);
// Selectors
//- Select null constructed
// static autoPtr New();
//- Destructor
~diffusivityModel();
// Member Functions
//- Correct diffusivities
void correct();
// Access
// Check
// Edit
// Write
// Member Operators
// void operator=(const diffusivityModel&);
// Friend Functions
// Friend Operators
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "diffusivityModelI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //