eReactingFoam-4.x/diffusivityModel/diffusivityModel/diffusivityModel.H

217 lines
5.4 KiB
C++

/*---------------------------------------------------------------------------*\
========= |
\\ / 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 <http://www.gnu.org/licenses/>.
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<volScalarField> D_;
//- Mixture averaged viscosity field
volScalarField mu_;
//- Mixture averaged thermal conductivity field
volScalarField k_;
//- Electron object
autoPtr<Electron> electron_;
//- Ion object list
PtrList<Ion> ions_;
//- Neutral object list
PtrList<Neutral> neutrals_;
//- Coulomb potential list
PtrList<Coulomb> ecs_;
//- Momentum transfer cross section list
PtrList<CrossSection> ens_;
//- Stockmayer potential list
PtrList<Stockmayer> nns_;
//- Coulomb potential list
PtrList<Coulomb> ccs_;
//- (n,6,4) potential list
PtrList<N64> 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<scalar>& Di, const UList<scalar>& X, const UList<scalar>& Y);
//- Disallow default bitwise assignment
inline void mixAvgDi(UList<scalar>& Di, const scalarSymmetricSquareMatrix &Dij, const UList<scalar>& X, const UList<scalar>& Y);
//- Disallow default bitwise assignment
inline scalar mixAvgMu(const UList<scalar>& muI, const UList<scalar>& X, const UList<scalar>& W);
//- Disallow default bitwise assignment
inline scalar mixAvgK(const UList<scalar>& k, const UList<scalar>& X);
inline void calculateMuD
(
UList<scalar> &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<diffusivityModel> New();
//- Destructor
~diffusivityModel();
// Member Functions
//- Correct diffusivities
void correct();
// Access
inline volScalarField& mu();
inline const volScalarField& mu() const;
inline volScalarField& k();
inline const volScalarField& k() const;
// Check
// Edit
// Write
// Member Operators
// void operator=(const diffusivityModel&);
// Friend Functions
// Friend Operators
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "diffusivityModelI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //