There are now many types of mass transfer, so massTransfer is now too generic a term for what these models do. These models generate a diffusivity which when multiplied by a concentration difference results in mass transfer, hence the new name. This change is not backwards compatible. Cases running the interface composition system will need "massTransfer" entries renamed to "diffusiveMassTransfer".
129 lines
3.3 KiB
C++
129 lines
3.3 KiB
C++
/*---------------------------------------------------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Copyright (C) 2015-2019 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::diffusiveMassTransferModel
|
|
|
|
Description
|
|
|
|
SourceFiles
|
|
diffusiveMassTransferModel.C
|
|
|
|
\*---------------------------------------------------------------------------*/
|
|
|
|
#ifndef diffusiveMassTransferModel_H
|
|
#define diffusiveMassTransferModel_H
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
#include "volFields.H"
|
|
#include "dictionary.H"
|
|
#include "runTimeSelectionTables.H"
|
|
|
|
namespace Foam
|
|
{
|
|
|
|
class phasePair;
|
|
|
|
/*---------------------------------------------------------------------------*\
|
|
Class diffusiveMassTransferModel Declaration
|
|
\*---------------------------------------------------------------------------*/
|
|
|
|
class diffusiveMassTransferModel
|
|
{
|
|
protected:
|
|
|
|
// Protected data
|
|
|
|
//- Phase pair
|
|
const phasePair& pair_;
|
|
|
|
|
|
public:
|
|
|
|
//- Runtime type information
|
|
TypeName("diffusiveMassTransferModel");
|
|
|
|
|
|
// Declare runtime construction
|
|
|
|
declareRunTimeSelectionTable
|
|
(
|
|
autoPtr,
|
|
diffusiveMassTransferModel,
|
|
dictionary,
|
|
(
|
|
const dictionary& dict,
|
|
const phasePair& pair
|
|
),
|
|
(dict, pair)
|
|
);
|
|
|
|
|
|
// Static Data Members
|
|
|
|
//- Coefficient dimensions
|
|
static const dimensionSet dimK;
|
|
|
|
|
|
// Constructors
|
|
|
|
//- Construct from a dictionary and a phase pair
|
|
diffusiveMassTransferModel
|
|
(
|
|
const dictionary& dict,
|
|
const phasePair& pair
|
|
);
|
|
|
|
|
|
//- Destructor
|
|
virtual ~diffusiveMassTransferModel();
|
|
|
|
|
|
// Selectors
|
|
|
|
static autoPtr<diffusiveMassTransferModel> New
|
|
(
|
|
const dictionary& dict,
|
|
const phasePair& pair
|
|
);
|
|
|
|
|
|
// Member Functions
|
|
|
|
//- The implicit mass transfer coefficient
|
|
// Note: this has had the species mass diffusivity factored out
|
|
virtual tmp<volScalarField> K() const = 0;
|
|
};
|
|
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
} // End namespace Foam
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
#endif
|
|
|
|
// ************************************************************************* //
|