Files
OpenFOAM-12/applications/modules/multiphaseEuler/phaseSystem/phaseModels/phaseModels.C
Will Bainbridge cc05c1b03c multiphaseEuler: Reinstated multicomponentIsothermalPhaseModel
This phase model solves multiple physical species, but fixes the
temperature to a constant value. This combination does not conserve
the energy of the phase.
2024-10-02 15:50:02 +01:00

261 lines
6.6 KiB
C++

/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2024 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/>.
\*---------------------------------------------------------------------------*/
#include "addToRunTimeSelectionTable.H"
#include "rhoFluidThermo.H"
#include "rhoFluidMulticomponentThermo.H"
#include "solidThermo.H"
#include "combustionModel.H"
#include "phaseModel.H"
#include "ThermoPhaseModel.H"
#include "SolidThermoPhaseModel.H"
#include "IsothermalPhaseModel.H"
#include "AnisothermalPhaseModel.H"
#include "IsothermalSolidPhaseModel.H"
#include "SolidThermalPhaseModel.H"
#include "PurePhaseModel.H"
#include "MulticomponentPhaseModel.H"
#include "InertPhaseModel.H"
#include "ReactingPhaseModel.H"
#include "MovingPhaseModel.H"
#include "StationaryPhaseModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
typedef
AnisothermalPhaseModel
<
PurePhaseModel
<
InertPhaseModel
<
MovingPhaseModel
<
ThermoPhaseModel
<
phaseModel,
rhoFluidThermo
>
>
>
>
>
purePhaseModel;
addNamedToRunTimeSelectionTable
(
phaseModel,
purePhaseModel,
phaseSystem,
purePhaseModel
);
typedef
SolidThermalPhaseModel
<
PurePhaseModel
<
InertPhaseModel
<
StationaryPhaseModel
<
SolidThermoPhaseModel
<
phaseModel,
solidThermo
>
>
>
>
>
pureStationaryPhaseModel;
addNamedToRunTimeSelectionTable
(
phaseModel,
pureStationaryPhaseModel,
phaseSystem,
pureStationaryPhaseModel
);
typedef
IsothermalPhaseModel
<
PurePhaseModel
<
InertPhaseModel
<
MovingPhaseModel
<
ThermoPhaseModel
<
phaseModel,
rhoFluidThermo
>
>
>
>
>
pureIsothermalPhaseModel;
addNamedToRunTimeSelectionTable
(
phaseModel,
pureIsothermalPhaseModel,
phaseSystem,
pureIsothermalPhaseModel
);
typedef
IsothermalSolidPhaseModel
<
PurePhaseModel
<
InertPhaseModel
<
StationaryPhaseModel
<
SolidThermoPhaseModel
<
phaseModel,
solidThermo
>
>
>
>
>
pureStationaryIsothermalPhaseModel;
addNamedToRunTimeSelectionTable
(
phaseModel,
pureStationaryIsothermalPhaseModel,
phaseSystem,
pureStationaryIsothermalPhaseModel
);
typedef
MulticomponentPhaseModel
<
AnisothermalPhaseModel
<
InertPhaseModel
<
MovingPhaseModel
<
ThermoPhaseModel
<
phaseModel,
rhoFluidMulticomponentThermo
>
>
>
>
>
multicomponentPhaseModel;
addNamedToRunTimeSelectionTable
(
phaseModel,
multicomponentPhaseModel,
phaseSystem,
multicomponentPhaseModel
);
// Also add multicomponentPhaseModel with the name multiComponentPhaseModel
// for backward-compatibility
addNamedToRunTimeSelectionTable
(
phaseModel,
multicomponentPhaseModel,
phaseSystem,
multiComponentPhaseModel
);
typedef
MulticomponentPhaseModel
<
IsothermalPhaseModel
<
InertPhaseModel
<
MovingPhaseModel
<
ThermoPhaseModel
<
phaseModel,
rhoFluidMulticomponentThermo
>
>
>
>
>
multicomponentIsothermalPhaseModel;
addNamedToRunTimeSelectionTable
(
phaseModel,
multicomponentIsothermalPhaseModel,
phaseSystem,
multicomponentIsothermalPhaseModel
);
typedef
MulticomponentPhaseModel
<
AnisothermalPhaseModel
<
ReactingPhaseModel
<
MovingPhaseModel
<
ThermoPhaseModel
<
phaseModel,
rhoFluidMulticomponentThermo
>
>
>
>
>
reactingPhaseModel;
addNamedToRunTimeSelectionTable
(
phaseModel,
reactingPhaseModel,
phaseSystem,
reactingPhaseModel
);
}
// ************************************************************************* //