mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -30,7 +30,7 @@ Description
|
|||||||
|
|
||||||
Sub-models include:
|
Sub-models include:
|
||||||
- turbulence modelling, i.e. laminar, RAS or LES
|
- turbulence modelling, i.e. laminar, RAS or LES
|
||||||
- run-time selectable fvOptions, e.g. MRF, explicit porosity
|
- run-time selectable finitie volume options, e.g. MRF, explicit porosity
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@ cd ${0%/*} || exit 1 # run from this directory
|
|||||||
set -x
|
set -x
|
||||||
|
|
||||||
wmake
|
wmake
|
||||||
|
wmake simpleReactingParcelFoam
|
||||||
wmake LTSReactingParcelFoam
|
wmake LTSReactingParcelFoam
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
# ----------------------------------------------------------------- end-of-file
|
||||||
|
|||||||
@ -28,7 +28,7 @@ Description
|
|||||||
Local time stepping (LTS) solver for steady, compressible, laminar or
|
Local time stepping (LTS) solver for steady, compressible, laminar or
|
||||||
turbulent reacting and non-reacting flow with multiphase Lagrangian
|
turbulent reacting and non-reacting flow with multiphase Lagrangian
|
||||||
parcels and porous media, including run-time selectable finitite volume
|
parcels and porous media, including run-time selectable finitite volume
|
||||||
options, e.g. fvOptions, constraints
|
options, e.g. sources, constraints
|
||||||
|
|
||||||
Note: ddtPhiCorr not used here when porous zones are active
|
Note: ddtPhiCorr not used here when porous zones are active
|
||||||
- not well defined for porous calculations
|
- not well defined for porous calculations
|
||||||
|
|||||||
@ -22,12 +22,12 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Application
|
Application
|
||||||
porousExplicitSourceReactingParcelFoam
|
reactingParcelFoam
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Transient PIMPLE solver for compressible, laminar or turbulent flow with
|
Transient PIMPLE solver for compressible, laminar or turbulent flow with
|
||||||
reacting multiphase Lagrangian parcels, including run-time selectable
|
reacting multiphase Lagrangian parcels, including run-time selectable
|
||||||
finite volume options, e.g. fvOptions, constraints
|
finite volume options, e.g. sources, constraints
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
volScalarField& he = thermo.he();
|
||||||
|
|
||||||
|
fvScalarMatrix EEqn
|
||||||
|
(
|
||||||
|
mvConvection->fvmDiv(phi, he)
|
||||||
|
+ (
|
||||||
|
he.name() == "e"
|
||||||
|
? fvc::div(phi, volScalarField("Ekp", 0.5*magSqr(U) + p/rho))
|
||||||
|
: fvc::div(phi, volScalarField("K", 0.5*magSqr(U)))
|
||||||
|
)
|
||||||
|
- fvm::laplacian(turbulence->alphaEff(), he)
|
||||||
|
==
|
||||||
|
parcels.Sh(he)
|
||||||
|
+ radiation->Sh(thermo)
|
||||||
|
+ combustion->Sh()
|
||||||
|
+ fvOptions(rho, he)
|
||||||
|
);
|
||||||
|
|
||||||
|
EEqn.relax();
|
||||||
|
|
||||||
|
fvOptions.constrain(EEqn);
|
||||||
|
|
||||||
|
EEqn.solve();
|
||||||
|
|
||||||
|
fvOptions.correct(he);
|
||||||
|
thermo.correct();
|
||||||
|
radiation->correct();
|
||||||
|
|
||||||
|
Info<< "T gas min/max = " << min(T).value() << ", "
|
||||||
|
<< max(T).value() << endl;
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
simpleReactingParcelFoam.C
|
||||||
|
|
||||||
|
EXE = $(FOAM_APPBIN)/simpleReactingParcelFoam
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
EXE_INC = \
|
||||||
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
|
-I${LIB_SRC}/meshTools/lnInclude \
|
||||||
|
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
||||||
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||||
|
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
||||||
|
-I$(LIB_SRC)/lagrangian/coalCombustion/lnInclude \
|
||||||
|
-I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/properties/liquidProperties/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/properties/liquidMixtureProperties/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/properties/solidProperties/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/properties/solidMixtureProperties/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/ODE/lnInclude \
|
||||||
|
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||||
|
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||||
|
-I$(LIB_SRC)/fvOptions/lnInclude \
|
||||||
|
-I$(LIB_SRC)/sampling/lnInclude \
|
||||||
|
-I$(FOAM_SOLVERS)/combustion/reactingFoam
|
||||||
|
|
||||||
|
|
||||||
|
EXE_LIBS = \
|
||||||
|
-lfiniteVolume \
|
||||||
|
-lmeshTools \
|
||||||
|
-lcompressibleTurbulenceModel \
|
||||||
|
-lcompressibleRASModels \
|
||||||
|
-lcompressibleLESModels \
|
||||||
|
-llagrangian \
|
||||||
|
-llagrangianIntermediate \
|
||||||
|
-lspecie \
|
||||||
|
-lfluidThermophysicalModels \
|
||||||
|
-lliquidProperties \
|
||||||
|
-lliquidMixtureProperties \
|
||||||
|
-lsolidProperties \
|
||||||
|
-lsolidMixtureProperties \
|
||||||
|
-lthermophysicalFunctions \
|
||||||
|
-lreactionThermophysicalModels \
|
||||||
|
-lSLGThermo \
|
||||||
|
-lchemistryModel \
|
||||||
|
-lradiationModels \
|
||||||
|
-lODE \
|
||||||
|
-lregionModels \
|
||||||
|
-lsurfaceFilmModels \
|
||||||
|
-lcombustionModels \
|
||||||
|
-lfvOptions \
|
||||||
|
-lsampling
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
tmp<fvVectorMatrix> UEqn
|
||||||
|
(
|
||||||
|
fvm::div(phi, U)
|
||||||
|
+ turbulence->divDevRhoReff(U)
|
||||||
|
==
|
||||||
|
rho.dimensionedInternalField()*g
|
||||||
|
+ parcels.SU(U)
|
||||||
|
+ fvOptions(rho, U)
|
||||||
|
);
|
||||||
|
|
||||||
|
UEqn().relax();
|
||||||
|
|
||||||
|
fvOptions.constrain(UEqn());
|
||||||
|
|
||||||
|
solve(UEqn() == -fvc::grad(p));
|
||||||
|
|
||||||
|
fvOptions.correct(U);
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
tmp<fv::convectionScheme<scalar> > mvConvection
|
||||||
|
(
|
||||||
|
fv::convectionScheme<scalar>::New
|
||||||
|
(
|
||||||
|
mesh,
|
||||||
|
fields,
|
||||||
|
phi,
|
||||||
|
mesh.divScheme("div(phi,Yi_h)")
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
{
|
||||||
|
combustion->correct();
|
||||||
|
dQ = combustion->dQ();
|
||||||
|
label inertIndex = -1;
|
||||||
|
volScalarField Yt(0.0*Y[0]);
|
||||||
|
|
||||||
|
forAll(Y, i)
|
||||||
|
{
|
||||||
|
if (Y[i].name() != inertSpecie)
|
||||||
|
{
|
||||||
|
volScalarField& Yi = Y[i];
|
||||||
|
|
||||||
|
fvScalarMatrix YEqn
|
||||||
|
(
|
||||||
|
mvConvection->fvmDiv(phi, Yi)
|
||||||
|
- fvm::laplacian(turbulence->muEff(), Yi)
|
||||||
|
==
|
||||||
|
parcels.SYi(i, Yi)
|
||||||
|
+ combustion->R(Yi)
|
||||||
|
+ fvOptions(rho, Yi)
|
||||||
|
);
|
||||||
|
|
||||||
|
YEqn.relax();
|
||||||
|
|
||||||
|
fvOptions.constrain(YEqn);
|
||||||
|
|
||||||
|
YEqn.solve(mesh.solver("Yi"));
|
||||||
|
|
||||||
|
fvOptions.correct(Yi);
|
||||||
|
|
||||||
|
Yi.max(0.0);
|
||||||
|
Yt += Yi;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
inertIndex = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Y[inertIndex] = scalar(1) - Yt;
|
||||||
|
Y[inertIndex].max(0.0);
|
||||||
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
Info<< "\nConstructing reacting cloud" << endl;
|
||||||
|
basicReactingMultiphaseCloud parcels
|
||||||
|
(
|
||||||
|
"reactingCloud1",
|
||||||
|
rho,
|
||||||
|
U,
|
||||||
|
g,
|
||||||
|
slgThermo
|
||||||
|
);
|
||||||
@ -0,0 +1,98 @@
|
|||||||
|
Info<< "Creating combustion model\n" << endl;
|
||||||
|
|
||||||
|
autoPtr<combustionModels::rhoCombustionModel> combustion
|
||||||
|
(
|
||||||
|
combustionModels::rhoCombustionModel::New(mesh)
|
||||||
|
);
|
||||||
|
|
||||||
|
rhoReactionThermo& thermo = combustion->thermo();
|
||||||
|
thermo.validate(args.executable(), "h", "e");
|
||||||
|
|
||||||
|
SLGThermo slgThermo(mesh, thermo);
|
||||||
|
|
||||||
|
basicMultiComponentMixture& composition = thermo.composition();
|
||||||
|
PtrList<volScalarField>& Y = composition.Y();
|
||||||
|
|
||||||
|
const word inertSpecie(thermo.lookup("inertSpecie"));
|
||||||
|
|
||||||
|
if (!composition.contains(inertSpecie))
|
||||||
|
{
|
||||||
|
FatalErrorIn(args.executable())
|
||||||
|
<< "Specified inert specie '" << inertSpecie << "' not found in "
|
||||||
|
<< "species list. Available species:" << composition.species()
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
|
||||||
|
volScalarField& p = thermo.p();
|
||||||
|
const volScalarField& T = thermo.T();
|
||||||
|
const volScalarField& psi = thermo.psi();
|
||||||
|
|
||||||
|
volScalarField rho
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"rho",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
thermo.rho()
|
||||||
|
);
|
||||||
|
|
||||||
|
Info<< "\nReading field U\n" << endl;
|
||||||
|
volVectorField U
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"U",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
mesh
|
||||||
|
);
|
||||||
|
|
||||||
|
#include "compressibleCreatePhi.H"
|
||||||
|
|
||||||
|
dimensionedScalar rhoMax(simple.dict().lookup("rhoMax"));
|
||||||
|
dimensionedScalar rhoMin(simple.dict().lookup("rhoMin"));
|
||||||
|
|
||||||
|
Info<< "Creating turbulence model\n" << endl;
|
||||||
|
autoPtr<compressible::turbulenceModel> turbulence
|
||||||
|
(
|
||||||
|
compressible::turbulenceModel::New
|
||||||
|
(
|
||||||
|
rho,
|
||||||
|
U,
|
||||||
|
phi,
|
||||||
|
thermo
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Set the turbulence into the combustion model
|
||||||
|
combustion->setTurbulence(turbulence());
|
||||||
|
|
||||||
|
Info<< "Creating multi-variate interpolation scheme\n" << endl;
|
||||||
|
multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
|
||||||
|
|
||||||
|
forAll(Y, i)
|
||||||
|
{
|
||||||
|
fields.add(Y[i]);
|
||||||
|
}
|
||||||
|
fields.add(thermo.he());
|
||||||
|
|
||||||
|
volScalarField dQ
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"dQ",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
|
||||||
|
);
|
||||||
@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
rho = thermo.rho();
|
||||||
|
|
||||||
|
// Thermodynamic density needs to be updated by psi*d(p) after the
|
||||||
|
// pressure solution - done in 2 parts. Part 1:
|
||||||
|
thermo.rho() -= psi*p;
|
||||||
|
|
||||||
|
volScalarField rAU(1.0/UEqn().A());
|
||||||
|
volVectorField HbyA("HbyA", U);
|
||||||
|
HbyA = rAU*UEqn().H();
|
||||||
|
|
||||||
|
UEqn.clear();
|
||||||
|
|
||||||
|
surfaceScalarField phiHbyA
|
||||||
|
(
|
||||||
|
"phiHbyA",
|
||||||
|
fvc::interpolate(rho)*(fvc::interpolate(HbyA) & mesh.Sf())
|
||||||
|
);
|
||||||
|
|
||||||
|
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
|
||||||
|
|
||||||
|
while (simple.correctNonOrthogonal())
|
||||||
|
{
|
||||||
|
fvScalarMatrix pEqn
|
||||||
|
(
|
||||||
|
fvc::div(phiHbyA)
|
||||||
|
- fvm::laplacian(rho*rAU, p)
|
||||||
|
==
|
||||||
|
parcels.Srho()
|
||||||
|
+ fvOptions(psi, p, rho.name())
|
||||||
|
);
|
||||||
|
|
||||||
|
fvOptions.constrain(pEqn);
|
||||||
|
|
||||||
|
pEqn.solve();
|
||||||
|
|
||||||
|
if (simple.finalNonOrthogonalIter())
|
||||||
|
{
|
||||||
|
phi = phiHbyA + pEqn.flux();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p.relax();
|
||||||
|
|
||||||
|
// Second part of thermodynamic density update
|
||||||
|
thermo.rho() += psi*p;
|
||||||
|
|
||||||
|
#include "compressibleContinuityErrs.H"
|
||||||
|
|
||||||
|
U = HbyA - rAU*fvc::grad(p);
|
||||||
|
U.correctBoundaryConditions();
|
||||||
|
fvOptions.correct(U);
|
||||||
|
|
||||||
|
rho = thermo.rho();
|
||||||
|
rho = max(rho, rhoMin);
|
||||||
|
rho = min(rho, rhoMax);
|
||||||
|
|
||||||
|
Info<< "p min/max = " << min(p).value() << ", " << max(p).value() << endl;
|
||||||
|
}
|
||||||
@ -0,0 +1,95 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2013 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/>.
|
||||||
|
|
||||||
|
Application
|
||||||
|
simpleReactingParcelFoam
|
||||||
|
|
||||||
|
Description
|
||||||
|
Steady state SIMPLE solver for compressible, laminar or turbulent flow with
|
||||||
|
reacting multiphase Lagrangian parcels, including run-time selectable
|
||||||
|
finite volume options, e.g. sources, constraints
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "fvCFD.H"
|
||||||
|
#include "turbulenceModel.H"
|
||||||
|
#include "basicReactingMultiphaseCloud.H"
|
||||||
|
#include "rhoCombustionModel.H"
|
||||||
|
#include "radiationModel.H"
|
||||||
|
#include "IOporosityModelList.H"
|
||||||
|
#include "fvIOoptionList.H"
|
||||||
|
#include "SLGThermo.H"
|
||||||
|
#include "simpleControl.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
#include "setRootCase.H"
|
||||||
|
|
||||||
|
#include "createTime.H"
|
||||||
|
#include "createMesh.H"
|
||||||
|
#include "readGravitationalAcceleration.H"
|
||||||
|
|
||||||
|
simpleControl simple(mesh);
|
||||||
|
|
||||||
|
#include "createFields.H"
|
||||||
|
#include "createRadiationModel.H"
|
||||||
|
#include "createClouds.H"
|
||||||
|
#include "createFvOptions.H"
|
||||||
|
#include "initContinuityErrs.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Info<< "\nStarting time loop\n" << endl;
|
||||||
|
|
||||||
|
while (simple.loop())
|
||||||
|
{
|
||||||
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
|
parcels.evolve();
|
||||||
|
|
||||||
|
// --- Pressure-velocity SIMPLE corrector loop
|
||||||
|
{
|
||||||
|
#include "UEqn.H"
|
||||||
|
#include "YEqn.H"
|
||||||
|
#include "EEqn.H"
|
||||||
|
#include "pEqn.H"
|
||||||
|
}
|
||||||
|
|
||||||
|
turbulence->correct();
|
||||||
|
|
||||||
|
runTime.write();
|
||||||
|
|
||||||
|
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||||
|
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||||
|
<< nl << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
Info<< "End\n" << endl;
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -14,16 +14,22 @@
|
|||||||
volScalarField& he1 = thermo1.he();
|
volScalarField& he1 = thermo1.he();
|
||||||
volScalarField& he2 = thermo2.he();
|
volScalarField& he2 = thermo2.he();
|
||||||
|
|
||||||
Info<< max(he1) << min(he1) << endl;
|
volScalarField Cpv1(thermo1.Cpv());
|
||||||
|
volScalarField Cpv2(thermo2.Cpv());
|
||||||
|
|
||||||
fvScalarMatrix he1Eqn
|
fvScalarMatrix he1Eqn
|
||||||
(
|
(
|
||||||
fvm::ddt(alpha1, he1)
|
fvm::ddt(alpha1, he1)
|
||||||
+ fvm::div(alphaPhi1, he1)
|
+ fvm::div(alphaPhi1, he1)
|
||||||
|
|
||||||
|
// Compressibity correction
|
||||||
|
- fvm::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), he1)
|
||||||
|
|
||||||
- fvm::laplacian(k1, he1)
|
- fvm::laplacian(k1, he1)
|
||||||
==
|
==
|
||||||
heatTransferCoeff*(he1/thermo1.Cp())/rho1
|
heatTransferCoeff*(thermo2.T() - thermo1.T())/rho1
|
||||||
- fvm::Sp(heatTransferCoeff/thermo1.Cp()/rho1, he1)
|
+ heatTransferCoeff*he1/Cpv1/rho1
|
||||||
|
- fvm::Sp(heatTransferCoeff/Cpv1/rho1, he1)
|
||||||
+ alpha1*(dpdt/rho1 - (fvc::ddt(K1) + fvc::div(phi1, K1)))
|
+ alpha1*(dpdt/rho1 - (fvc::ddt(K1) + fvc::div(phi1, K1)))
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -31,10 +37,15 @@
|
|||||||
(
|
(
|
||||||
fvm::ddt(alpha2, he2)
|
fvm::ddt(alpha2, he2)
|
||||||
+ fvm::div(alphaPhi2, he2)
|
+ fvm::div(alphaPhi2, he2)
|
||||||
|
|
||||||
|
// Compressibity correction
|
||||||
|
- fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), he2)
|
||||||
|
|
||||||
- fvm::laplacian(k2, he2)
|
- fvm::laplacian(k2, he2)
|
||||||
==
|
==
|
||||||
heatTransferCoeff*(he2/thermo2.Cp())/rho2
|
heatTransferCoeff*(thermo1.T() - thermo2.T())/rho2
|
||||||
- fvm::Sp(heatTransferCoeff/thermo2.Cp()/rho2, he2)
|
+ heatTransferCoeff*he2/Cpv2/rho2
|
||||||
|
- fvm::Sp(heatTransferCoeff/Cpv2/rho2, he2)
|
||||||
+ alpha2*(dpdt/rho2 - (fvc::ddt(K2) + fvc::div(phi2, K2)))
|
+ alpha2*(dpdt/rho2 - (fvc::ddt(K2) + fvc::div(phi2, K2)))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -31,6 +31,9 @@ fvVectorMatrix U2Eqn(U2, U2.dimensions()*dimVol/dimTime);
|
|||||||
fvm::ddt(alpha1, U1)
|
fvm::ddt(alpha1, U1)
|
||||||
+ fvm::div(alphaPhi1, U1)
|
+ fvm::div(alphaPhi1, U1)
|
||||||
|
|
||||||
|
// Compressibity correction
|
||||||
|
- fvm::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), U1)
|
||||||
|
|
||||||
+ Cvm*rho2*alpha1*alpha2/rho1*
|
+ Cvm*rho2*alpha1*alpha2/rho1*
|
||||||
(
|
(
|
||||||
fvm::ddt(U1)
|
fvm::ddt(U1)
|
||||||
@ -61,6 +64,9 @@ fvVectorMatrix U2Eqn(U2, U2.dimensions()*dimVol/dimTime);
|
|||||||
fvm::ddt(alpha2, U2)
|
fvm::ddt(alpha2, U2)
|
||||||
+ fvm::div(alphaPhi2, U2)
|
+ fvm::div(alphaPhi2, U2)
|
||||||
|
|
||||||
|
// Compressibity correction
|
||||||
|
- fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), U2)
|
||||||
|
|
||||||
+ Cvm*rho2*alpha1*alpha2/rho2*
|
+ Cvm*rho2*alpha1*alpha2/rho2*
|
||||||
(
|
(
|
||||||
fvm::ddt(U2)
|
fvm::ddt(U2)
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
surfaceScalarField alphaPhi1("alphaPhi", phi1);
|
surfaceScalarField alphaPhi1("alphaPhi" + phase1Name, phi1);
|
||||||
surfaceScalarField alphaPhi2("alphaPhi", phi2);
|
surfaceScalarField alphaPhi2("alphaPhi" + phase2Name, phi2);
|
||||||
|
|
||||||
{
|
{
|
||||||
word scheme("div(phi,alpha)");
|
word alphaScheme("div(phi," + alpha1.name() + ')');
|
||||||
word schemer("div(phir,alpha)");
|
word alpharScheme("div(phir," + alpha1.name() + ')');
|
||||||
|
|
||||||
surfaceScalarField phic("phic", phi);
|
surfaceScalarField phic("phic", phi);
|
||||||
surfaceScalarField phir("phir", phi1 - phi2);
|
surfaceScalarField phir("phir", phi1 - phi2);
|
||||||
@ -56,15 +56,55 @@ surfaceScalarField alphaPhi2("alphaPhi", phi2);
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dimensionedScalar totalDeltaT = runTime.deltaT();
|
||||||
|
if (nAlphaSubCycles > 1)
|
||||||
|
{
|
||||||
|
alphaPhi1 = dimensionedScalar("0", alphaPhi1.dimensions(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
fvScalarMatrix alpha1Eqn
|
for
|
||||||
(
|
(
|
||||||
fvm::ddt(alpha1)
|
subCycle<volScalarField> alphaSubCycle(alpha1, nAlphaSubCycles);
|
||||||
+ fvm::div(phic, alpha1, scheme)
|
!(++alphaSubCycle).end();
|
||||||
+ fvm::div(-fvc::flux(-phir, alpha2, schemer), alpha1, schemer)
|
)
|
||||||
==
|
{
|
||||||
fvm::Sp(Sp, alpha1) + Su
|
surfaceScalarField alphaPhic1
|
||||||
);
|
(
|
||||||
|
fvc::flux
|
||||||
|
(
|
||||||
|
phic,
|
||||||
|
alpha1,
|
||||||
|
alphaScheme
|
||||||
|
)
|
||||||
|
+ fvc::flux
|
||||||
|
(
|
||||||
|
-fvc::flux(-phir, scalar(1) - alpha1, alpharScheme),
|
||||||
|
alpha1,
|
||||||
|
alpharScheme
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
MULES::explicitSolve
|
||||||
|
(
|
||||||
|
geometricOneField(),
|
||||||
|
alpha1,
|
||||||
|
phi,
|
||||||
|
alphaPhic1,
|
||||||
|
Sp,
|
||||||
|
Su,
|
||||||
|
(g0.value() > 0 ? alphaMax : 1),
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
|
if (nAlphaSubCycles > 1)
|
||||||
|
{
|
||||||
|
alphaPhi1 += (runTime.deltaT()/totalDeltaT)*alphaPhic1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
alphaPhi1 = alphaPhic1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (g0.value() > 0.0)
|
if (g0.value() > 0.0)
|
||||||
{
|
{
|
||||||
@ -74,30 +114,25 @@ surfaceScalarField alphaPhi2("alphaPhi", phi2);
|
|||||||
fvc::interpolate((1.0/rho1)*rAU1)
|
fvc::interpolate((1.0/rho1)*rAU1)
|
||||||
*g0*min(exp(preAlphaExp*(alpha1f - alphaMax)), expMax);
|
*g0*min(exp(preAlphaExp*(alpha1f - alphaMax)), expMax);
|
||||||
|
|
||||||
// ppMagf =
|
fvScalarMatrix alpha1Eqn
|
||||||
// fvc::interpolate((1.0/rho1)*rAU1)
|
|
||||||
// *fvc::interpolate
|
|
||||||
// (
|
|
||||||
// g0*min(exp(preAlphaExp*(alpha1 - alphaMax)), expMax)
|
|
||||||
// );
|
|
||||||
|
|
||||||
alpha1Eqn -= fvm::laplacian
|
|
||||||
(
|
(
|
||||||
alpha1f*ppMagf,
|
fvm::ddt(alpha1) - fvc::ddt(alpha1)
|
||||||
alpha1,
|
- fvm::laplacian
|
||||||
"laplacian(alphaPpMag,alpha1)"
|
(
|
||||||
|
alpha1f*ppMagf,
|
||||||
|
alpha1,
|
||||||
|
"laplacian(alpha1PpMag,alpha1)"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
alpha1Eqn.relax();
|
||||||
|
alpha1Eqn.solve();
|
||||||
|
|
||||||
|
#include "packingLimiter.H"
|
||||||
|
|
||||||
|
alphaPhi1 += alpha1Eqn.flux();
|
||||||
}
|
}
|
||||||
|
|
||||||
alpha1Eqn.relax();
|
|
||||||
alpha1Eqn.solve();
|
|
||||||
|
|
||||||
//***HGW temporary boundedness-fix pending the introduction of MULES
|
|
||||||
alpha1 = max(min(alpha1, scalar(1)), scalar(0));
|
|
||||||
|
|
||||||
#include "packingLimiter.H"
|
|
||||||
|
|
||||||
alphaPhi1 = alpha1Eqn.flux();
|
|
||||||
alphaPhi2 = phi - alphaPhi1;
|
alphaPhi2 = phi - alphaPhi1;
|
||||||
alpha2 = scalar(1) - alpha1;
|
alpha2 = scalar(1) - alpha1;
|
||||||
|
|
||||||
|
|||||||
@ -31,6 +31,8 @@ Description
|
|||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "fvCFD.H"
|
#include "fvCFD.H"
|
||||||
|
#include "MULES.H"
|
||||||
|
#include "subCycle.H"
|
||||||
#include "rhoThermo.H"
|
#include "rhoThermo.H"
|
||||||
#include "nearWallDist.H"
|
#include "nearWallDist.H"
|
||||||
#include "wallFvPatch.H"
|
#include "wallFvPatch.H"
|
||||||
|
|||||||
@ -16,14 +16,14 @@
|
|||||||
(
|
(
|
||||||
transportProperties.found("phases")
|
transportProperties.found("phases")
|
||||||
? wordList(transportProperties.lookup("phases"))[0]
|
? wordList(transportProperties.lookup("phases"))[0]
|
||||||
: "phase1"
|
: "1"
|
||||||
);
|
);
|
||||||
|
|
||||||
word phase2Name
|
word phase2Name
|
||||||
(
|
(
|
||||||
transportProperties.found("phases")
|
transportProperties.found("phases")
|
||||||
? wordList(transportProperties.lookup("phases"))[1]
|
? wordList(transportProperties.lookup("phases"))[1]
|
||||||
: "phase2"
|
: "2"
|
||||||
);
|
);
|
||||||
|
|
||||||
autoPtr<phaseModel> phase1 = phaseModel::New
|
autoPtr<phaseModel> phase1 = phaseModel::New
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -73,7 +73,7 @@ Foam::kineticTheoryModels::conductivityModels::Gidaspow::kappa
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -77,7 +77,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -76,7 +76,7 @@ Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::kappa
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -82,7 +82,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -73,7 +73,7 @@ Foam::kineticTheoryModels::conductivityModels::Syamlal::kappa
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -77,7 +77,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -109,7 +109,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const = 0;
|
) const = 0;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -71,7 +71,7 @@ Foam::kineticTheoryModels::granularPressureModels::Lun::granularPressureCoeff
|
|||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
@ -87,7 +87,7 @@ granularPressureCoeffPrime
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const volScalarField& g0prime,
|
const volScalarField& g0prime,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -76,7 +76,7 @@ public:
|
|||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const volScalarField& g0prime,
|
const volScalarField& g0prime,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -74,7 +74,7 @@ granularPressureCoeff
|
|||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
@ -90,7 +90,7 @@ granularPressureCoeffPrime
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const volScalarField& g0prime,
|
const volScalarField& g0prime,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -76,7 +76,7 @@ public:
|
|||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const volScalarField& g0prime,
|
const volScalarField& g0prime,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -109,7 +109,7 @@ public:
|
|||||||
(
|
(
|
||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const = 0;
|
) const = 0;
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const volScalarField& g0prime,
|
const volScalarField& g0prime,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const = 0;
|
) const = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -45,8 +45,7 @@ Foam::kineticTheoryModel::kineticTheoryModel
|
|||||||
phi1_(phase1.phi()),
|
phi1_(phase1.phi()),
|
||||||
draga_(draga),
|
draga_(draga),
|
||||||
|
|
||||||
rho1_(phase1.rho()[0]), //***HGW
|
rho1_(phase1.rho()),
|
||||||
nu1_(phase1.nu()()[0]), //***HGW
|
|
||||||
|
|
||||||
kineticTheoryProperties_
|
kineticTheoryProperties_
|
||||||
(
|
(
|
||||||
@ -203,9 +202,9 @@ void Foam::kineticTheoryModel::solve(const volTensorField& gradU1t)
|
|||||||
|
|
||||||
volScalarField da_(phase1_.d());
|
volScalarField da_(phase1_.d());
|
||||||
|
|
||||||
surfaceScalarField phi(1.5*rho1_*phi1_*fvc::interpolate(alpha1_));
|
surfaceScalarField phi(1.5*phi1_*fvc::interpolate(rho1_*alpha1_));
|
||||||
|
|
||||||
volTensorField dU(gradU1t.T()); //fvc::grad(U1_);
|
volTensorField dU(gradU1t.T());
|
||||||
volSymmTensorField D(symm(dU));
|
volSymmTensorField D(symm(dU));
|
||||||
|
|
||||||
// NB, drag = K*alpha1*alpha2,
|
// NB, drag = K*alpha1*alpha2,
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -64,8 +64,7 @@ class kineticTheoryModel
|
|||||||
|
|
||||||
const dragModel& draga_;
|
const dragModel& draga_;
|
||||||
|
|
||||||
const dimensionedScalar& rho1_;
|
const volScalarField& rho1_;
|
||||||
const dimensionedScalar& nu1_;
|
|
||||||
|
|
||||||
//- dictionary holding the modeling info
|
//- dictionary holding the modeling info
|
||||||
IOdictionary kineticTheoryProperties_;
|
IOdictionary kineticTheoryProperties_;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -67,7 +67,7 @@ Foam::kineticTheoryModels::viscosityModels::Gidaspow::mu1
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -76,7 +76,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -75,7 +75,7 @@ Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::mu1
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -84,7 +84,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -67,7 +67,7 @@ Foam::kineticTheoryModels::viscosityModels::Syamlal::mu1
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -77,7 +77,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -58,7 +58,7 @@ Foam::tmp<Foam::volScalarField> Foam::kineticTheoryModels::noneViscosity::mu1
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const
|
) const
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -75,7 +75,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const;
|
) const;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -111,7 +111,7 @@ public:
|
|||||||
const volScalarField& alpha1,
|
const volScalarField& alpha1,
|
||||||
const volScalarField& Theta,
|
const volScalarField& Theta,
|
||||||
const volScalarField& g0,
|
const volScalarField& g0,
|
||||||
const dimensionedScalar& rho1,
|
const volScalarField& rho1,
|
||||||
const volScalarField& da,
|
const volScalarField& da,
|
||||||
const dimensionedScalar& e
|
const dimensionedScalar& e
|
||||||
) const = 0;
|
) const = 0;
|
||||||
|
|||||||
@ -51,7 +51,15 @@ Foam::phaseModel::phaseModel
|
|||||||
dimensionedScalar("alpha", dimless, 0)
|
dimensionedScalar("alpha", dimless, 0)
|
||||||
),
|
),
|
||||||
name_(phaseName),
|
name_(phaseName),
|
||||||
phaseDict_(transportProperties.subDict(phaseName)),
|
phaseDict_
|
||||||
|
(
|
||||||
|
transportProperties.subDict
|
||||||
|
(
|
||||||
|
phaseName == "1" || phaseName == "2"
|
||||||
|
? "phase" + phaseName
|
||||||
|
: word(phaseName)
|
||||||
|
)
|
||||||
|
),
|
||||||
thermo_(rhoThermo::New(mesh, phaseName)),
|
thermo_(rhoThermo::New(mesh, phaseName)),
|
||||||
U_
|
U_
|
||||||
(
|
(
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
#include "readTimeControls.H"
|
#include "readTimeControls.H"
|
||||||
|
|
||||||
int nAlphaCorr(readInt(pimple.dict().lookup("nAlphaCorr")));
|
int nAlphaCorr(readInt(pimple.dict().lookup("nAlphaCorr")));
|
||||||
|
int nAlphaSubCycles(readInt(pimple.dict().lookup("nAlphaSubCycles")));
|
||||||
|
|||||||
@ -16,6 +16,10 @@ if (turbulence)
|
|||||||
(
|
(
|
||||||
fvm::ddt(alpha2, epsilon)
|
fvm::ddt(alpha2, epsilon)
|
||||||
+ fvm::div(alphaPhi2, epsilon)
|
+ fvm::div(alphaPhi2, epsilon)
|
||||||
|
|
||||||
|
// Compressibity correction
|
||||||
|
- fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), epsilon)
|
||||||
|
|
||||||
- fvm::laplacian
|
- fvm::laplacian
|
||||||
(
|
(
|
||||||
alpha1Eps*nuEff2, epsilon,
|
alpha1Eps*nuEff2, epsilon,
|
||||||
@ -41,6 +45,10 @@ if (turbulence)
|
|||||||
(
|
(
|
||||||
fvm::ddt(alpha2, k)
|
fvm::ddt(alpha2, k)
|
||||||
+ fvm::div(alphaPhi2, k)
|
+ fvm::div(alphaPhi2, k)
|
||||||
|
|
||||||
|
// Compressibity correction
|
||||||
|
- fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), k)
|
||||||
|
|
||||||
- fvm::laplacian
|
- fvm::laplacian
|
||||||
(
|
(
|
||||||
alpha1k*nuEff2, k,
|
alpha1k*nuEff2, k,
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
EXE_INC = \
|
EXE_INC = -g \
|
||||||
-IphaseModel/lnInclude \
|
-IphaseModel/lnInclude \
|
||||||
-ImultiphaseSystem/lnInclude \
|
-ImultiphaseSystem/lnInclude \
|
||||||
-ImultiphaseFixedFluxPressure \
|
-ImultiphaseFixedFluxPressure \
|
||||||
|
|||||||
@ -32,9 +32,10 @@ forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
|
|||||||
"div(Rc)"
|
"div(Rc)"
|
||||||
)
|
)
|
||||||
==
|
==
|
||||||
- fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U)
|
//- fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U)
|
||||||
//- (alpha*phase.rho())*fluid.lift(phase)
|
//- (alpha*phase.rho())*fluid.lift(phase)
|
||||||
+ (alpha/phase.rho())*fluid.Svm(phase)
|
//+
|
||||||
|
(alpha/phase.rho())*fluid.Svm(phase)
|
||||||
- fvm::Sp
|
- fvm::Sp
|
||||||
(
|
(
|
||||||
slamDampCoeff
|
slamDampCoeff
|
||||||
@ -53,7 +54,7 @@ forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
|
|||||||
alpha*(1 + (1/phase.rho())*fluid.Cvm(phase)),
|
alpha*(1 + (1/phase.rho())*fluid.Cvm(phase)),
|
||||||
UEqns[phasei]
|
UEqns[phasei]
|
||||||
);
|
);
|
||||||
UEqns[phasei].relax();
|
//UEqns[phasei].relax();
|
||||||
|
|
||||||
phasei++;
|
phasei++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,8 +67,29 @@
|
|||||||
const volScalarField& alpha = phase;
|
const volScalarField& alpha = phase;
|
||||||
|
|
||||||
alphafs.set(phasei, fvc::interpolate(alpha).ptr());
|
alphafs.set(phasei, fvc::interpolate(alpha).ptr());
|
||||||
rAUs.set(phasei, (1.0/UEqns[phasei].A()).ptr());
|
|
||||||
rAlphaAUfs.set(phasei, fvc::interpolate(alpha*rAUs[phasei]).ptr());
|
volScalarField dragCoeffi
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"dragCoeffi",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh
|
||||||
|
),
|
||||||
|
fluid.dragCoeff(phase, dragCoeffs())/phase.rho(),
|
||||||
|
zeroGradientFvPatchScalarField::typeName
|
||||||
|
);
|
||||||
|
dragCoeffi.correctBoundaryConditions();
|
||||||
|
|
||||||
|
rAUs.set(phasei, (1.0/(UEqns[phasei].A() + dragCoeffi)).ptr());
|
||||||
|
rAlphaAUfs.set
|
||||||
|
(
|
||||||
|
phasei,
|
||||||
|
(
|
||||||
|
alphafs[phasei]
|
||||||
|
/fvc::interpolate(UEqns[phasei].A() + dragCoeffi)
|
||||||
|
).ptr()
|
||||||
|
);
|
||||||
|
|
||||||
HbyAs[phasei] = rAUs[phasei]*UEqns[phasei].H();
|
HbyAs[phasei] = rAUs[phasei]*UEqns[phasei].H();
|
||||||
|
|
||||||
@ -115,10 +136,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
phiHbyAs[phasei] +=
|
phiHbyAs[phasei] +=
|
||||||
fvc::interpolate
|
fvc::interpolate((*dcIter())/phase.rho())
|
||||||
(
|
/fvc::interpolate(UEqns[phasei].A() + dragCoeffi)
|
||||||
(1.0/phase.rho())*rAUs[phasei]*(*dcIter())
|
*phase2Ptr->phi();
|
||||||
)*phase2Ptr->phi();
|
|
||||||
|
|
||||||
HbyAs[phasei] +=
|
HbyAs[phasei] +=
|
||||||
(1.0/phase.rho())*rAUs[phasei]*(*dcIter())
|
(1.0/phase.rho())*rAUs[phasei]*(*dcIter())
|
||||||
@ -240,7 +260,7 @@
|
|||||||
+ rAlphaAUfs[phasei]*mSfGradp/phase.rho()
|
+ rAlphaAUfs[phasei]*mSfGradp/phase.rho()
|
||||||
);
|
);
|
||||||
|
|
||||||
// phase.U() = fvc::reconstruct(phase.phi());
|
//phase.U() = fvc::reconstruct(phase.phi());
|
||||||
phase.U().correctBoundaryConditions();
|
phase.U().correctBoundaryConditions();
|
||||||
|
|
||||||
U += alpha*phase.U();
|
U += alpha*phase.U();
|
||||||
|
|||||||
@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
label nAlphaCorr(readLabel(pimple.dict().lookup("nAlphaCorr")));
|
|
||||||
label nAlphaSubCycles(readLabel(pimple.dict().lookup("nAlphaSubCycles")));
|
|
||||||
|
|
||||||
word alphaScheme("div(phi,alpha1)");
|
word alphaScheme("div(phi,alpha1)");
|
||||||
word alpharScheme("div(phir,alpha1)");
|
word alpharScheme("div(phir,alpha1)");
|
||||||
|
|
||||||
@ -24,7 +21,7 @@
|
|||||||
!(++alphaSubCycle).end();
|
!(++alphaSubCycle).end();
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
surfaceScalarField phiAlpha
|
surfaceScalarField alphaPhic1
|
||||||
(
|
(
|
||||||
fvc::flux
|
fvc::flux
|
||||||
(
|
(
|
||||||
@ -44,7 +41,7 @@
|
|||||||
(
|
(
|
||||||
alpha1,
|
alpha1,
|
||||||
phi,
|
phi,
|
||||||
phiAlpha,
|
alphaPhic1,
|
||||||
(g0.value() > 0 ? alphaMax : 1),
|
(g0.value() > 0 ? alphaMax : 1),
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
@ -54,11 +51,6 @@
|
|||||||
{
|
{
|
||||||
surfaceScalarField alpha1f(fvc::interpolate(alpha1));
|
surfaceScalarField alpha1f(fvc::interpolate(alpha1));
|
||||||
|
|
||||||
// ppMagf = rAU1f*fvc::interpolate
|
|
||||||
// (
|
|
||||||
// (1.0/(rho1*(alpha1 + scalar(0.0001))))
|
|
||||||
// *g0*min(exp(preAlphaExp*(alpha1 - alphaMax)), expMax)
|
|
||||||
// );
|
|
||||||
ppMagf =
|
ppMagf =
|
||||||
rAU1f/(alpha1f + scalar(0.0001))
|
rAU1f/(alpha1f + scalar(0.0001))
|
||||||
*(g0/rho1)*min(exp(preAlphaExp*(alpha1f - alphaMax)), expMax);
|
*(g0/rho1)*min(exp(preAlphaExp*(alpha1f - alphaMax)), expMax);
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
#include "readTimeControls.H"
|
#include "readTimeControls.H"
|
||||||
|
|
||||||
|
int nAlphaCorr(readInt(pimple.dict().lookup("nAlphaCorr")));
|
||||||
|
int nAlphaSubCycles(readInt(pimple.dict().lookup("nAlphaSubCycles")));
|
||||||
Switch correctAlpha(pimple.dict().lookup("correctAlpha"));
|
Switch correctAlpha(pimple.dict().lookup("correctAlpha"));
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -29,6 +29,7 @@ Description
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "List.H"
|
||||||
#include "BinSum.H"
|
#include "BinSum.H"
|
||||||
#include "IOstreams.H"
|
#include "IOstreams.H"
|
||||||
#include "Random.H"
|
#include "Random.H"
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2012-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -60,7 +60,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
Info<< nl << "Face : " << testFace << endl;
|
Info<< nl << "Face : " << testFace << endl;
|
||||||
Info<< "Rotate by 2 : " << rotateList(testFace, 2) << endl;
|
Info<< "Rotate by 2 : " << rotateList(testFace, 2) << endl;
|
||||||
inplaceRotateList(testFace, -6);
|
inplaceRotateList<List, label>(testFace, -6);
|
||||||
Info<< "Rotate inplace by -6 : " << testFace << nl << endl;
|
Info<< "Rotate inplace by -6 : " << testFace << nl << endl;
|
||||||
|
|
||||||
Info<< "Test inplace rotate : " << forwardRotate << endl;
|
Info<< "Test inplace rotate : " << forwardRotate << endl;
|
||||||
|
|||||||
25
applications/test/dataEntry/dataEntryProperties
Normal file
25
applications/test/dataEntry/dataEntryProperties
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.2.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object dataEntryProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
x0 0.5;
|
||||||
|
x1 1;
|
||||||
|
|
||||||
|
|
||||||
|
dataEntry table ((0 0)(10 1));
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -131,7 +131,7 @@ int main(int argc, char *argv[])
|
|||||||
if (optRewrite && solutionDict.instance() != runTime.system())
|
if (optRewrite && solutionDict.instance() != runTime.system())
|
||||||
{
|
{
|
||||||
Info<<"instance is not " << runTime.system()
|
Info<<"instance is not " << runTime.system()
|
||||||
"- disabling rewrite for this file" << nl;
|
<< "- disabling rewrite for this file" << nl;
|
||||||
optRewrite = false;
|
optRewrite = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -35,21 +35,19 @@ Description
|
|||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
#include "setRootCase.H"
|
||||||
|
|
||||||
# include "setRootCase.H"
|
#include "createTime.H"
|
||||||
|
#include "createMesh.H"
|
||||||
|
|
||||||
# include "createTime.H"
|
volScalarField fx(pow(mesh.C().component(vector::X), 1));
|
||||||
# include "createMesh.H"
|
|
||||||
|
|
||||||
volScalarField fx(pow(mesh.C().component(vector::X), 2));
|
|
||||||
fx.write();
|
fx.write();
|
||||||
volScalarField gradx4(fvc::grad(fx)().component(vector::X));
|
volScalarField gradx4(fvc::grad(fx)().component(vector::X));
|
||||||
gradx4.write();
|
gradx4.write();
|
||||||
|
|
||||||
//volVectorField curlC(fvc::curl(1.0*mesh.C()));
|
volVectorField curlC(fvc::curl(1.0*mesh.C()));
|
||||||
//curlC.write();
|
curlC.write();
|
||||||
|
|
||||||
/*
|
|
||||||
surfaceScalarField xf(mesh.Cf().component(vector::X));
|
surfaceScalarField xf(mesh.Cf().component(vector::X));
|
||||||
surfaceScalarField xf4(pow(xf, 4));
|
surfaceScalarField xf4(pow(xf, 4));
|
||||||
|
|
||||||
@ -58,7 +56,6 @@ int main(int argc, char *argv[])
|
|||||||
scalar gradx4a = (xf4[i] - xf4[i-1])/(xf[i] - xf[i-1]);
|
scalar gradx4a = (xf4[i] - xf4[i-1])/(xf[i] - xf[i-1]);
|
||||||
Info<< (gradx4a - gradx4[i])/gradx4a << endl;
|
Info<< (gradx4a - gradx4[i])/gradx4a << endl;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
Info<< "end" << endl;
|
Info<< "end" << endl;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,24 +2,16 @@
|
|||||||
| ========= | |
|
| ========= | |
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
| \\ / O peration | Version: dev |
|
| \\ / O peration | Version: dev |
|
||||||
| \\ / A nd | Web: http://www.openfoam.org |
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
| \\/ M anipulation | |
|
| \\/ M anipulation | |
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
FoamFile
|
FoamFile
|
||||||
{
|
{
|
||||||
version 2.0;
|
version 2.0;
|
||||||
format ascii;
|
format ascii;
|
||||||
|
|
||||||
root "";
|
|
||||||
case "";
|
|
||||||
instance "";
|
|
||||||
local "";
|
|
||||||
|
|
||||||
class dictionary;
|
class dictionary;
|
||||||
object meshQualityDict;
|
object meshQualityDict;
|
||||||
}
|
}
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
//- Maximum non-orthogonality allowed. Set to 180 to disable.
|
//- Maximum non-orthogonality allowed. Set to 180 to disable.
|
||||||
|
|||||||
@ -744,7 +744,7 @@ int main(int argc, char *argv[])
|
|||||||
// Read
|
// Read
|
||||||
// ~~~~
|
// ~~~~
|
||||||
|
|
||||||
triSurface surf("constant/triSurface/" + surfFileName);
|
triSurface surf(runTime.constantPath()/"triSurface"/surfFileName);
|
||||||
|
|
||||||
Info<< "Statistics:" << endl;
|
Info<< "Statistics:" << endl;
|
||||||
surf.writeStats(Info);
|
surf.writeStats(Info);
|
||||||
@ -1338,7 +1338,7 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
vtkSurfaceWriter().write
|
vtkSurfaceWriter().write
|
||||||
(
|
(
|
||||||
runTime.constant()/"triSurface", // outputDir
|
runTime.constantPath()/"triSurface",// outputDir
|
||||||
sFeatFileName, // surfaceName
|
sFeatFileName, // surfaceName
|
||||||
surf.points(),
|
surf.points(),
|
||||||
faces,
|
faces,
|
||||||
@ -1350,7 +1350,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
vtkSurfaceWriter().write
|
vtkSurfaceWriter().write
|
||||||
(
|
(
|
||||||
runTime.constant()/"triSurface", // outputDir
|
runTime.constantPath()/"triSurface",// outputDir
|
||||||
sFeatFileName, // surfaceName
|
sFeatFileName, // surfaceName
|
||||||
surf.points(),
|
surf.points(),
|
||||||
faces,
|
faces,
|
||||||
@ -1403,7 +1403,7 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
vtkSurfaceWriter().write
|
vtkSurfaceWriter().write
|
||||||
(
|
(
|
||||||
runTime.constant()/"triSurface", // outputDir
|
runTime.constantPath()/"triSurface",// outputDir
|
||||||
sFeatFileName, // surfaceName
|
sFeatFileName, // surfaceName
|
||||||
surf.points(),
|
surf.points(),
|
||||||
faces,
|
faces,
|
||||||
@ -1482,7 +1482,7 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
vtkSurfaceWriter().write
|
vtkSurfaceWriter().write
|
||||||
(
|
(
|
||||||
runTime.constant()/"triSurface", // outputDir
|
runTime.constantPath()/"triSurface",// outputDir
|
||||||
sFeatFileName, // surfaceName
|
sFeatFileName, // surfaceName
|
||||||
surf.points(),
|
surf.points(),
|
||||||
faces,
|
faces,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -77,22 +77,22 @@ int main(int argc, char *argv[])
|
|||||||
scalar m(readScalar(control.lookup("m")));
|
scalar m(readScalar(control.lookup("m")));
|
||||||
|
|
||||||
|
|
||||||
Info<< nl << "Reading Burcat data dictionary" << endl;
|
Info<< nl << "Reading thermodynamic data dictionary" << endl;
|
||||||
|
|
||||||
fileName BurcatCpDataFileName(findEtcFile("thermoData/BurcatCpData"));
|
fileName thermoDataFileName(findEtcFile("thermoData/thermoData"));
|
||||||
|
|
||||||
// Construct control dictionary
|
// Construct control dictionary
|
||||||
IFstream BurcatCpDataFile(BurcatCpDataFileName);
|
IFstream thermoDataFile(thermoDataFileName);
|
||||||
|
|
||||||
// Check BurcatCpData stream is OK
|
// Check thermoData stream is OK
|
||||||
if (!BurcatCpDataFile.good())
|
if (!thermoDataFile.good())
|
||||||
{
|
{
|
||||||
FatalErrorIn(args.executable())
|
FatalErrorIn(args.executable())
|
||||||
<< "Cannot read file " << BurcatCpDataFileName
|
<< "Cannot read file " << thermoDataFileName
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
dictionary CpData(BurcatCpDataFile);
|
dictionary thermoData(thermoDataFile);
|
||||||
|
|
||||||
|
|
||||||
scalar stoicO2 = n + m/4.0;
|
scalar stoicO2 = n + m/4.0;
|
||||||
@ -103,14 +103,14 @@ int main(int argc, char *argv[])
|
|||||||
thermo fuel
|
thermo fuel
|
||||||
(
|
(
|
||||||
"fuel",
|
"fuel",
|
||||||
thermo(CpData.lookup(fuelName))
|
thermo(thermoData.subDict(fuelName))
|
||||||
);
|
);
|
||||||
|
|
||||||
thermo oxidant
|
thermo oxidant
|
||||||
(
|
(
|
||||||
"oxidant",
|
"oxidant",
|
||||||
stoicO2*thermo(CpData.lookup("O2"))
|
stoicO2*thermo(thermoData.subDict("O2"))
|
||||||
+ stoicN2*thermo(CpData.lookup("N2"))
|
+ stoicN2*thermo(thermoData.subDict("N2"))
|
||||||
);
|
);
|
||||||
|
|
||||||
dimensionedScalar stoichiometricAirFuelMassRatio
|
dimensionedScalar stoichiometricAirFuelMassRatio
|
||||||
@ -140,15 +140,15 @@ int main(int argc, char *argv[])
|
|||||||
thermo fuel
|
thermo fuel
|
||||||
(
|
(
|
||||||
"fuel",
|
"fuel",
|
||||||
thermo(CpData.lookup(fuelName))
|
thermo(thermoData.subDict(fuelName))
|
||||||
);
|
);
|
||||||
Info<< "fuel " << fuel << ';' << endl;
|
Info<< "fuel " << fuel << ';' << endl;
|
||||||
|
|
||||||
thermo oxidant
|
thermo oxidant
|
||||||
(
|
(
|
||||||
"oxidant",
|
"oxidant",
|
||||||
o2*thermo(CpData.lookup("O2"))
|
o2*thermo(thermoData.subDict("O2"))
|
||||||
+ n2*thermo(CpData.lookup("N2"))
|
+ n2*thermo(thermoData.subDict("N2"))
|
||||||
);
|
);
|
||||||
Info<< "oxidant " << (1/oxidant.nMoles())*oxidant << ';' << endl;
|
Info<< "oxidant " << (1/oxidant.nMoles())*oxidant << ';' << endl;
|
||||||
|
|
||||||
@ -162,9 +162,9 @@ int main(int argc, char *argv[])
|
|||||||
thermo burntProducts
|
thermo burntProducts
|
||||||
(
|
(
|
||||||
"burntProducts",
|
"burntProducts",
|
||||||
+ (n2 - (0.79/0.21)*ores*stoicO2)*thermo(CpData.lookup("N2"))
|
+ (n2 - (0.79/0.21)*ores*stoicO2)*thermo(thermoData.subDict("N2"))
|
||||||
+ fburnt*stoicCO2*thermo(CpData.lookup("CO2"))
|
+ fburnt*stoicCO2*thermo(thermoData.subDict("CO2"))
|
||||||
+ fburnt*stoicH2O*thermo(CpData.lookup("H2O"))
|
+ fburnt*stoicH2O*thermo(thermoData.subDict("H2O"))
|
||||||
);
|
);
|
||||||
Info<< "burntProducts "
|
Info<< "burntProducts "
|
||||||
<< (1/burntProducts.nMoles())*burntProducts << ';' << endl;
|
<< (1/burntProducts.nMoles())*burntProducts << ';' << endl;
|
||||||
@ -173,10 +173,10 @@ int main(int argc, char *argv[])
|
|||||||
(
|
(
|
||||||
"products",
|
"products",
|
||||||
fres*fuel
|
fres*fuel
|
||||||
+ n2*thermo(CpData.lookup("N2"))
|
+ n2*thermo(thermoData.subDict("N2"))
|
||||||
+ fburnt*stoicCO2*thermo(CpData.lookup("CO2"))
|
+ fburnt*stoicCO2*thermo(thermoData.subDict("CO2"))
|
||||||
+ fburnt*stoicH2O*thermo(CpData.lookup("H2O"))
|
+ fburnt*stoicH2O*thermo(thermoData.subDict("H2O"))
|
||||||
+ ores*stoicO2*thermo(CpData.lookup("O2"))
|
+ ores*stoicO2*thermo(thermoData.subDict("O2"))
|
||||||
);
|
);
|
||||||
|
|
||||||
Info<< "products " << (1/products.nMoles())*products << ';' << endl;
|
Info<< "products " << (1/products.nMoles())*products << ';' << endl;
|
||||||
|
|||||||
@ -27,35 +27,35 @@ H2
|
|||||||
|
|
||||||
CH4
|
CH4
|
||||||
{
|
{
|
||||||
fuel CH4(ANHARMONIC);
|
fuel CH4___ANHARMONIC;
|
||||||
n 1;
|
n 1;
|
||||||
m 4;
|
m 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
ETHYLENE
|
ETHYLENE
|
||||||
{
|
{
|
||||||
fuel ETHYLENE;
|
fuel C2H4;
|
||||||
n 2;
|
n 2;
|
||||||
m 4;
|
m 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
PROPANE
|
PROPANE
|
||||||
{
|
{
|
||||||
fuel PROPANE;
|
fuel C3H8;
|
||||||
n 3;
|
n 3;
|
||||||
m 8;
|
m 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
OCTANE
|
OCTANE
|
||||||
{
|
{
|
||||||
fuel ISO-OCTANE(I-P);
|
fuel C8H18(L)_isooctane;
|
||||||
n 8;
|
n 8;
|
||||||
m 18;
|
m 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
C7H16
|
N-HEPTANE
|
||||||
{
|
{
|
||||||
fuel C7H16;
|
fuel C7H16_n-heptane;
|
||||||
n 7;
|
n 7;
|
||||||
m 16;
|
m 16;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -56,13 +56,13 @@ int main(int argc, char *argv[])
|
|||||||
#include "setRootCase.H"
|
#include "setRootCase.H"
|
||||||
#include "createTime.H"
|
#include "createTime.H"
|
||||||
|
|
||||||
Info<< nl << "Reading Burcat data IOdictionary" << endl;
|
Info<< nl << "Reading thermodynamic data IOdictionary" << endl;
|
||||||
|
|
||||||
IOdictionary CpData
|
IOdictionary thermoData
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
"BurcatCpData",
|
"thermoData",
|
||||||
runTime.constant(),
|
runTime.constant(),
|
||||||
runTime,
|
runTime,
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
IOobject::MUST_READ_IF_MODIFIED,
|
||||||
@ -82,10 +82,10 @@ int main(int argc, char *argv[])
|
|||||||
(
|
(
|
||||||
new thermo
|
new thermo
|
||||||
(
|
(
|
||||||
thermo(CpData.lookup("CO2"))
|
thermo(thermoData.subDict("CO2"))
|
||||||
==
|
==
|
||||||
thermo(CpData.lookup("CO"))
|
thermo(thermoData.subDict("CO"))
|
||||||
+ 0.5*thermo(CpData.lookup("O2"))
|
+ 0.5*thermo(thermoData.subDict("O2"))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -93,9 +93,9 @@ int main(int argc, char *argv[])
|
|||||||
(
|
(
|
||||||
new thermo
|
new thermo
|
||||||
(
|
(
|
||||||
thermo(CpData.lookup("O2"))
|
thermo(thermoData.subDict("O2"))
|
||||||
==
|
==
|
||||||
2.0*thermo(CpData.lookup("O"))
|
2.0*thermo(thermoData.subDict("O"))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -103,10 +103,10 @@ int main(int argc, char *argv[])
|
|||||||
(
|
(
|
||||||
new thermo
|
new thermo
|
||||||
(
|
(
|
||||||
thermo(CpData.lookup("H2O"))
|
thermo(thermoData.subDict("H2O"))
|
||||||
==
|
==
|
||||||
thermo(CpData.lookup("H2"))
|
thermo(thermoData.subDict("H2"))
|
||||||
+ 0.5*thermo(CpData.lookup("O2"))
|
+ 0.5*thermo(thermoData.subDict("O2"))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -114,10 +114,10 @@ int main(int argc, char *argv[])
|
|||||||
(
|
(
|
||||||
new thermo
|
new thermo
|
||||||
(
|
(
|
||||||
thermo(CpData.lookup("H2O"))
|
thermo(thermoData.subDict("H2O"))
|
||||||
==
|
==
|
||||||
thermo(CpData.lookup("H"))
|
thermo(thermoData.subDict("H"))
|
||||||
+ thermo(CpData.lookup("OH"))
|
+ thermo(thermoData.subDict("OH"))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -5,472 +5,477 @@
|
|||||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
| \\/ M anipulation | |
|
| \\/ M anipulation | |
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
Exec : equilibriumFlameT -case . controlDict
|
Build : dev-27a117d1f441
|
||||||
Date : Jul 14 2008
|
Exec : equilibriumFlameT controlDict
|
||||||
Time : 14:42:27
|
Date : Jan 16 2013
|
||||||
Host : auglx106
|
Time : 15:40:39
|
||||||
PID : 21318
|
Host : "dm"
|
||||||
Case : ./.
|
PID : 4638
|
||||||
|
Case : /home/dm2/henry/OpenFOAM/OpenFOAM-dev/applications/utilities/thermophysical/equilibriumFlameT
|
||||||
nProcs : 1
|
nProcs : 1
|
||||||
|
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
|
||||||
|
SetNaN : Initialising allocated memory to NaN (FOAM_SETNAN).
|
||||||
|
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
|
||||||
|
allowSystemOperations : Allowing user-supplied system call operations
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Reading Burcat data dictionary
|
Reading thermodynamic data dictionary
|
||||||
|
|
||||||
Reading Burcat data for relevant species
|
Reading thermodynamic data for relevant species
|
||||||
|
|
||||||
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 34.0752;
|
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 34.0741;
|
||||||
Equilibrium flame temperature data (1 bar)
|
Equilibrium flame temperature data (1 bar)
|
||||||
|
|
||||||
Phi ft T0 Tad Teq Terror O2res (mole frac)
|
Phi ft T0 Tad Teq Terror O2res (mole frac)
|
||||||
|
|
||||||
0.6 0.0173035 300 1849.37 1848.93 0.441199 0.0746347
|
0.6 0.017304 300 1849.36 1848.92 0.441261 0.0746347
|
||||||
0.6 0.0173035 400 1932.17 1931.29 0.878875 0.0746693
|
0.6 0.017304 400 1932.16 1931.28 0.879009 0.0746693
|
||||||
0.6 0.0173035 500 2015.32 2013.67 1.65503 0.074731
|
0.6 0.017304 500 2015.31 2013.66 1.6553 0.0747311
|
||||||
0.6 0.0173035 600 2099.12 2096.15 2.96604 0.0748359
|
0.6 0.017304 600 2099.1 2096.14 2.96655 0.074836
|
||||||
0.6 0.0173035 700 2183.85 2178.77 5.08542 0.0750064
|
0.6 0.017304 700 2183.84 2178.76 5.08632 0.0750065
|
||||||
0.6 0.0173035 800 2269.78 2261.41 8.37071 0.0752721
|
0.6 0.017304 800 2269.77 2261.4 8.37223 0.0752722
|
||||||
0.6 0.0173035 900 2356.98 2343.73 13.2497 0.0756687
|
0.6 0.017304 900 2356.97 2343.72 13.2521 0.0756689
|
||||||
0.6 0.0173035 1000 2445.27 2425.1 20.171 0.0762338
|
0.6 0.017304 1000 2445.26 2425.09 20.1747 0.0762341
|
||||||
0.6 0.0173035 1100 2534.42 2504.88 29.5446 0.0770025
|
0.6 0.017304 1100 2534.41 2504.86 29.5499 0.077003
|
||||||
0.6 0.0173035 1200 2624.42 2582.71 41.7161 0.0780047
|
0.6 0.017304 1200 2624.41 2582.69 41.7235 0.0780054
|
||||||
0.6 0.0173035 1300 2715.2 2658.3 56.9035 0.0792601
|
0.6 0.017304 1300 2715.19 2658.28 56.9132 0.0792609
|
||||||
0.6 0.0173035 1400 2806.7 2731.51 75.1843 0.0807764
|
0.6 0.017304 1400 2806.69 2731.49 75.1966 0.0807775
|
||||||
0.6 0.0173035 1500 2898.85 2802.35 96.5047 0.0825509
|
0.6 0.017304 1500 2898.84 2802.32 96.5198 0.0825522
|
||||||
0.6 0.0173035 1600 2991.61 2870.9 120.706 0.0845714
|
0.6 0.017304 1600 2991.6 2870.87 120.724 0.0845729
|
||||||
0.6 0.0173035 1700 3084.91 2937.35 147.557 0.0868199
|
0.6 0.017304 1700 3084.9 2937.32 147.577 0.0868217
|
||||||
0.6 0.0173035 1800 3178.72 3001.93 176.786 0.0892745
|
0.6 0.017304 1800 3178.71 3001.9 176.81 0.0892764
|
||||||
0.6 0.0173035 1900 3272.98 3064.88 208.105 0.0919116
|
0.6 0.017304 1900 3272.98 3064.84 208.131 0.0919138
|
||||||
0.6 0.0173035 2000 3367.66 3126.44 241.224 0.0947076
|
0.6 0.017304 2000 3367.66 3126.4 241.253 0.09471
|
||||||
0.6 0.0173035 2100 3462.72 3186.85 275.871 0.0976418
|
0.6 0.017304 2100 3462.72 3186.82 275.903 0.0976445
|
||||||
0.6 0.0173035 2200 3558.13 3246.24 311.89 0.100723
|
0.6 0.017304 2200 3558.12 3246.2 311.925 0.100726
|
||||||
0.6 0.0173035 2300 3653.84 3303.79 350.056 0.104203
|
0.6 0.017304 2300 3653.84 3303.74 350.096 0.104207
|
||||||
0.6 0.0173035 2400 3749.83 3350.97 398.864 0.110193
|
0.6 0.017304 2400 3749.83 3350.89 398.934 0.110203
|
||||||
0.6 0.0173035 2500 3846.07 3351.51 494.566 0.126033
|
0.6 0.017304 2500 3846.07 3351.34 494.73 0.126061
|
||||||
0.6 0.0173035 2600 3942.54 3292.16 650.38 0.151457
|
0.6 0.017304 2600 3942.53 3291.95 650.58 0.151488
|
||||||
0.6 0.0173035 2700 4039.2 3236.39 802.808 0.174034
|
0.6 0.017304 2700 4039.19 3236.21 802.988 0.17406
|
||||||
0.6 0.0173035 2800 4136.03 3245.35 890.689 0.186501
|
0.6 0.017304 2800 4136.03 3245.34 890.687 0.186501
|
||||||
0.6 0.0173035 2900 4233.03 3344.34 888.685 0.186501
|
0.6 0.017304 2900 4233.03 3344.34 888.683 0.186501
|
||||||
0.6 0.0173035 3000 4330.16 3443.39 886.772 0.186501
|
0.6 0.017304 3000 4330.16 3443.39 886.77 0.186501
|
||||||
0.65 0.0187184 300 1944.34 1943.24 1.10745 0.0647597
|
0.65 0.018719 300 1944.33 1943.23 1.10762 0.0647597
|
||||||
0.65 0.0187184 400 2026.6 2024.55 2.05282 0.0648354
|
0.65 0.018719 400 2026.59 2024.53 2.05315 0.0648355
|
||||||
0.65 0.0187184 500 2109.24 2105.62 3.62021 0.0649617
|
0.65 0.018719 500 2109.23 2105.61 3.62082 0.0649618
|
||||||
0.65 0.0187184 600 2192.54 2186.44 6.10399 0.065163
|
0.65 0.018719 600 2192.53 2186.42 6.10504 0.065163
|
||||||
0.65 0.0187184 700 2276.79 2266.91 9.87838 0.0654704
|
0.65 0.018719 700 2276.78 2266.9 9.88012 0.0654705
|
||||||
0.65 0.0187184 800 2362.24 2346.86 15.3839 0.065921
|
0.65 0.018719 800 2362.23 2346.84 15.3867 0.0659212
|
||||||
0.65 0.0187184 900 2448.97 2425.89 23.0845 0.0665542
|
0.65 0.018719 900 2448.96 2425.87 23.0886 0.0665545
|
||||||
0.65 0.0187184 1000 2536.82 2503.43 33.3882 0.0674052
|
0.65 0.018719 1000 2536.81 2503.41 33.3941 0.0674057
|
||||||
0.65 0.0187184 1100 2625.53 2578.95 46.5873 0.0684997
|
0.65 0.018719 1100 2625.53 2578.93 46.5953 0.0685004
|
||||||
0.65 0.0187184 1200 2715.12 2652.26 62.8672 0.0698549
|
0.65 0.018719 1200 2715.11 2652.24 62.8776 0.0698558
|
||||||
0.65 0.0187184 1300 2805.51 2723.25 82.2652 0.0714756
|
0.65 0.018719 1300 2805.51 2723.23 82.2781 0.0714767
|
||||||
0.65 0.0187184 1400 2896.64 2791.95 104.694 0.0733558
|
0.65 0.018719 1400 2896.63 2791.92 104.71 0.0733571
|
||||||
0.65 0.0187184 1500 2988.44 2858.47 129.974 0.0754818
|
0.65 0.018719 1500 2988.44 2858.44 129.993 0.0754833
|
||||||
0.65 0.0187184 1600 3080.87 2923 157.865 0.0778344
|
0.65 0.018719 1600 3080.86 2922.97 157.886 0.0778362
|
||||||
0.65 0.0187184 1700 3173.86 2985.76 188.093 0.0803915
|
0.65 0.018719 1700 3173.85 2985.73 188.117 0.0803935
|
||||||
0.65 0.0187184 1800 3267.36 3046.99 220.377 0.08313
|
0.65 0.018719 1800 3267.36 3046.95 220.404 0.0831323
|
||||||
0.65 0.0187184 1900 3361.34 3106.9 254.44 0.0860272
|
0.65 0.018719 1900 3361.34 3106.87 254.469 0.0860297
|
||||||
0.65 0.0187184 2000 3455.76 3165.72 290.035 0.0890676
|
0.65 0.018719 2000 3455.75 3165.68 290.067 0.0890703
|
||||||
0.65 0.0187184 2100 3550.56 3223.4 327.161 0.0922994
|
0.65 0.018719 2100 3550.55 3223.35 327.196 0.0923026
|
||||||
0.65 0.0187184 2200 3645.71 3278.06 367.654 0.0962427
|
0.65 0.018719 2200 3645.71 3278.01 367.698 0.0962479
|
||||||
0.65 0.0187184 2300 3741.19 3314.81 426.372 0.104415
|
0.65 0.018719 2300 3741.18 3314.72 426.463 0.104431
|
||||||
0.65 0.0187184 2400 3836.95 3292.23 544.723 0.124357
|
0.65 0.018719 2400 3836.94 3292.03 544.908 0.124389
|
||||||
0.65 0.0187184 2500 3932.97 3229.48 703.484 0.149486
|
0.65 0.018719 2500 3932.96 3229.29 703.673 0.149514
|
||||||
0.65 0.0187184 2600 4029.22 3177.99 851.227 0.170912
|
0.65 0.018719 2600 4029.21 3177.81 851.399 0.170937
|
||||||
0.65 0.0187184 2700 4125.67 3175.23 950.447 0.184778
|
0.65 0.018719 2700 4125.67 3175.22 950.445 0.184778
|
||||||
0.65 0.0187184 2800 4222.31 3274.1 948.206 0.184778
|
0.65 0.018719 2800 4222.31 3274.1 948.203 0.184778
|
||||||
0.65 0.0187184 2900 4319.11 3373.04 946.072 0.184778
|
0.65 0.018719 2900 4319.11 3373.04 946.07 0.184778
|
||||||
0.65 0.0187184 3000 4416.05 3472.02 944.033 0.184778
|
0.65 0.018719 3000 4416.05 3472.02 944.031 0.184778
|
||||||
0.7 0.0201293 300 2035.78 2033.26 2.51546 0.0551272
|
0.7 0.0201299 300 2035.76 2033.25 2.51585 0.0551272
|
||||||
0.7 0.0201293 400 2117.54 2113.16 4.37752 0.0552782
|
0.7 0.0201299 400 2117.53 2113.15 4.37823 0.0552783
|
||||||
0.7 0.0201293 500 2199.73 2192.45 7.27791 0.0555148
|
0.7 0.0201299 500 2199.71 2192.43 7.27913 0.0555149
|
||||||
0.7 0.0201293 600 2282.57 2270.97 11.6017 0.0558694
|
0.7 0.0201299 600 2282.56 2270.96 11.6037 0.0558696
|
||||||
0.7 0.0201293 700 2366.38 2348.59 17.7874 0.0563792
|
0.7 0.0201299 700 2366.37 2348.58 17.7905 0.0563794
|
||||||
0.7 0.0201293 800 2451.39 2425.1 26.2883 0.057083
|
0.7 0.0201299 800 2451.38 2425.09 26.2928 0.0570833
|
||||||
0.7 0.0201293 900 2537.7 2500.19 37.5092 0.058016
|
0.7 0.0201299 900 2537.69 2500.17 37.5154 0.0580165
|
||||||
0.7 0.0201293 1000 2625.12 2573.4 51.721 0.0592027
|
0.7 0.0201299 1000 2625.11 2573.39 51.7294 0.0592034
|
||||||
0.7 0.0201293 1100 2713.44 2644.41 69.0329 0.0606538
|
0.7 0.0201299 1100 2713.43 2644.39 69.0438 0.0606547
|
||||||
0.7 0.0201293 1200 2802.65 2713.19 89.4549 0.0623719
|
0.7 0.0201299 1200 2802.64 2713.17 89.4684 0.062373
|
||||||
0.7 0.0201293 1300 2892.68 2779.81 112.872 0.0643486
|
0.7 0.0201299 1300 2892.67 2779.78 112.888 0.06435
|
||||||
0.7 0.0201293 1400 2983.46 2844.37 139.087 0.0665689
|
0.7 0.0201299 1400 2983.45 2844.35 139.106 0.0665705
|
||||||
0.7 0.0201293 1500 3074.94 2907.08 167.857 0.0690129
|
0.7 0.0201299 1500 3074.93 2907.05 167.878 0.0690147
|
||||||
0.7 0.0201293 1600 3167.05 2968.13 198.913 0.0716588
|
0.7 0.0201299 1600 3167.04 2968.1 198.938 0.0716609
|
||||||
0.7 0.0201293 1700 3259.74 3027.76 231.985 0.0744843
|
0.7 0.0201299 1700 3259.73 3027.72 232.012 0.0744866
|
||||||
0.7 0.0201293 1800 3352.97 3086.15 266.811 0.0774687
|
0.7 0.0201299 1800 3352.96 3086.12 266.841 0.0774712
|
||||||
0.7 0.0201293 1900 3446.68 3143.47 303.204 0.0806096
|
0.7 0.0201299 1900 3446.67 3143.43 303.236 0.0806124
|
||||||
0.7 0.0201293 2000 3540.83 3199.34 341.491 0.084041
|
0.7 0.0201299 2000 3540.82 3199.29 341.528 0.0840445
|
||||||
0.7 0.0201293 2100 3635.38 3249.56 385.821 0.0888521
|
0.7 0.0201299 2100 3635.38 3249.5 385.874 0.0888593
|
||||||
0.7 0.0201293 2200 3730.3 3269.06 461.239 0.100587
|
0.7 0.0201299 2200 3730.29 3268.93 461.361 0.100608
|
||||||
0.7 0.0201293 2300 3825.55 3223.78 601.767 0.124047
|
0.7 0.0201299 2300 3825.54 3223.58 601.959 0.124079
|
||||||
0.7 0.0201293 2400 3921.09 3163.44 757.652 0.147859
|
0.7 0.0201299 2400 3921.08 3163.25 757.829 0.147885
|
||||||
0.7 0.0201293 2500 4016.89 3115.57 901.324 0.168291
|
0.7 0.0201299 2500 4016.89 3115.4 901.49 0.168314
|
||||||
0.7 0.0201293 2600 4112.94 3104.31 1008.62 0.183086
|
0.7 0.0201299 2600 4112.93 3104.31 1008.62 0.183086
|
||||||
0.7 0.0201293 2700 4209.19 3203.07 1006.13 0.183086
|
0.7 0.0201299 2700 4209.19 3203.06 1006.13 0.183086
|
||||||
0.7 0.0201293 2800 4305.64 3301.88 1003.76 0.183086
|
0.7 0.0201299 2800 4305.63 3301.88 1003.76 0.183086
|
||||||
0.7 0.0201293 2900 4402.25 3400.75 1001.5 0.183086
|
0.7 0.0201299 2900 4402.25 3400.75 1001.5 0.183086
|
||||||
0.7 0.0201293 3000 4499.01 3499.67 999.338 0.183086
|
0.7 0.0201299 3000 4499.01 3499.67 999.336 0.183086
|
||||||
0.75 0.0215362 300 2123.88 2118.62 5.26331 0.0457827
|
0.75 0.0215368 300 2123.87 2118.6 5.26414 0.0457828
|
||||||
0.75 0.0215362 400 2205.2 2196.56 8.64511 0.0460604
|
0.75 0.0215368 400 2205.19 2196.54 8.64652 0.0460605
|
||||||
0.75 0.0215362 500 2286.97 2273.37 13.6002 0.0464694
|
0.75 0.0215368 500 2286.96 2273.35 13.6024 0.0464696
|
||||||
0.75 0.0215362 600 2369.41 2348.85 20.5515 0.047046
|
0.75 0.0215368 600 2369.39 2348.84 20.555 0.0470463
|
||||||
0.75 0.0215362 700 2452.81 2422.89 29.918 0.0478267
|
0.75 0.0215368 700 2452.79 2422.87 29.9229 0.0478271
|
||||||
0.75 0.0215362 800 2537.42 2495.35 42.0663 0.0488436
|
0.75 0.0215368 800 2537.4 2495.33 42.0731 0.0488441
|
||||||
0.75 0.0215362 900 2623.33 2566.08 57.2534 0.0501201
|
0.75 0.0215368 900 2623.32 2566.06 57.2623 0.0501209
|
||||||
0.75 0.0215362 1000 2710.37 2634.81 75.5625 0.0516652
|
0.75 0.0215368 1000 2710.36 2634.79 75.5739 0.0516661
|
||||||
0.75 0.0215362 1100 2798.31 2701.39 96.9219 0.0534743
|
0.75 0.0215368 1100 2798.31 2701.37 96.9358 0.0534755
|
||||||
0.75 0.0215362 1200 2887.17 2765.96 121.21 0.0555387
|
0.75 0.0215368 1200 2887.16 2765.93 121.226 0.0555401
|
||||||
0.75 0.0215362 1300 2976.86 2828.64 148.221 0.057842
|
0.75 0.0215368 1300 2976.85 2828.61 148.241 0.0578437
|
||||||
0.75 0.0215362 1400 3067.32 2889.6 177.714 0.0603648
|
0.75 0.0215368 1400 3067.31 2889.57 177.736 0.0603667
|
||||||
0.75 0.0215362 1500 3158.49 2949.06 209.432 0.0630859
|
0.75 0.0215368 1500 3158.48 2949.02 209.456 0.063088
|
||||||
0.75 0.0215362 1600 3250.31 3007.19 243.117 0.0659841
|
0.75 0.0215368 1600 3250.3 3007.15 243.145 0.0659865
|
||||||
0.75 0.0215362 1700 3342.72 3064.18 278.541 0.0690444
|
0.75 0.0215368 1700 3342.71 3064.14 278.571 0.069047
|
||||||
0.75 0.0215362 1800 3435.68 3120.02 315.658 0.0723006
|
0.75 0.0215368 1800 3435.67 3119.98 315.691 0.0723035
|
||||||
0.75 0.0215362 1900 3529.13 3173.58 355.549 0.0760783
|
0.75 0.0215368 1900 3529.12 3173.54 355.588 0.0760823
|
||||||
0.75 0.0215362 2000 3623.04 3215.24 407.794 0.0827391
|
0.75 0.0215368 2000 3623.03 3215.17 407.865 0.0827504
|
||||||
0.75 0.0215362 2100 3717.36 3207.31 510.042 0.0997532
|
0.75 0.0215368 2100 3717.35 3207.15 510.202 0.0997809
|
||||||
0.75 0.0215362 2200 3812.05 3147.19 664.854 0.124729
|
0.75 0.0215368 2200 3812.04 3147 665.038 0.124757
|
||||||
0.75 0.0215362 2300 3907.07 3092.32 814.756 0.146808
|
0.75 0.0215368 2300 3907.07 3092.14 814.923 0.146832
|
||||||
0.75 0.0215362 2400 4002.4 3047.29 955.108 0.166402
|
0.75 0.0215368 2400 4002.4 3047.13 955.268 0.166424
|
||||||
0.75 0.0215362 2500 4098 3032.67 1065.33 0.181425
|
0.75 0.0215368 2500 4098 3032.67 1065.33 0.181425
|
||||||
0.75 0.0215362 2600 4193.85 3131.28 1062.56 0.181425
|
0.75 0.0215368 2600 4193.84 3131.28 1062.56 0.181425
|
||||||
0.75 0.0215362 2700 4289.91 3229.97 1059.94 0.181425
|
0.75 0.0215368 2700 4289.91 3229.97 1059.94 0.181425
|
||||||
0.75 0.0215362 2800 4386.17 3328.72 1057.44 0.181425
|
0.75 0.0215368 2800 4386.16 3328.72 1057.44 0.181425
|
||||||
0.75 0.0215362 2900 4482.6 3427.53 1055.06 0.181425
|
0.75 0.0215368 2900 4482.59 3427.53 1055.06 0.181425
|
||||||
0.75 0.0215362 3000 4579.18 3526.39 1052.78 0.181425
|
0.75 0.0215368 3000 4579.17 3526.39 1052.78 0.181425
|
||||||
0.8 0.022939 300 2208.85 2198.57 10.284 0.0368014
|
0.8 0.0229397 300 2208.84 2198.55 10.2856 0.0368016
|
||||||
0.8 0.022939 400 2289.77 2273.79 15.9792 0.0372746
|
0.8 0.0229397 400 2289.76 2273.78 15.9817 0.0372748
|
||||||
0.8 0.022939 500 2371.16 2347.34 23.8191 0.0379291
|
0.8 0.0229397 500 2371.15 2347.32 23.8229 0.0379294
|
||||||
0.8 0.022939 600 2453.22 2419.06 34.164 0.0387968
|
0.8 0.0229397 600 2453.21 2419.04 34.1694 0.0387973
|
||||||
0.8 0.022939 700 2536.25 2488.94 47.3095 0.0399044
|
0.8 0.0229397 700 2536.24 2488.92 47.3167 0.039905
|
||||||
0.8 0.022939 800 2620.49 2557.03 63.459 0.0412707
|
0.8 0.0229397 800 2620.48 2557.01 63.4684 0.0412715
|
||||||
0.8 0.022939 900 2706.04 2623.34 82.6922 0.0429044
|
0.8 0.0229397 900 2706.03 2623.32 82.7038 0.0429054
|
||||||
0.8 0.022939 1000 2792.72 2687.8 104.926 0.0448001
|
0.8 0.0229397 1000 2792.71 2687.77 104.941 0.0448014
|
||||||
0.8 0.022939 1100 2880.32 2750.35 129.967 0.0469427
|
0.8 0.0229397 1100 2880.31 2750.32 129.984 0.0469441
|
||||||
0.8 0.022939 1200 2968.84 2811.21 157.632 0.0493176
|
0.8 0.0229397 1200 2968.83 2811.18 157.651 0.0493193
|
||||||
0.8 0.022939 1300 3058.21 2870.52 187.687 0.0519059
|
0.8 0.0229397 1300 3058.2 2870.49 187.709 0.0519078
|
||||||
0.8 0.022939 1400 3148.37 2928.48 219.894 0.0546879
|
0.8 0.0229397 1400 3148.36 2928.44 219.918 0.05469
|
||||||
0.8 0.022939 1500 3239.25 2985.23 254.02 0.0576455
|
0.8 0.0229397 1500 3239.24 2985.19 254.048 0.0576479
|
||||||
0.8 0.022939 1600 3330.79 3040.87 289.916 0.0607821
|
0.8 0.0229397 1600 3330.78 3040.84 289.946 0.0607847
|
||||||
0.8 0.022939 1700 3422.94 3094.99 327.952 0.0642398
|
0.8 0.0229397 1700 3422.93 3094.94 327.986 0.0642431
|
||||||
0.8 0.022939 1800 3515.64 3144.67 370.971 0.0687739
|
0.8 0.0229397 1800 3515.63 3144.62 371.018 0.0687801
|
||||||
0.8 0.022939 1900 3608.85 3166.69 442.163 0.0796481
|
0.8 0.0229397 1900 3608.84 3166.57 442.271 0.0796671
|
||||||
0.8 0.022939 2000 3702.52 3124.01 578.513 0.102424
|
0.8 0.0229397 2000 3702.52 3123.82 578.694 0.102453
|
||||||
0.8 0.022939 2100 3796.62 3062.55 734.07 0.126229
|
0.8 0.0229397 2100 3796.61 3062.37 734.239 0.126254
|
||||||
0.8 0.022939 2200 3891.09 3012.99 878.1 0.146747
|
0.8 0.0229397 2200 3891.08 3012.82 878.258 0.146769
|
||||||
0.8 0.022939 2300 3985.9 2970.11 1015.79 0.165627
|
0.8 0.0229397 2300 3985.9 2969.95 1015.95 0.165648
|
||||||
0.8 0.022939 2400 4081.03 2960.34 1120.68 0.179795
|
0.8 0.0229397 2400 4081.02 2960.34 1120.68 0.179795
|
||||||
0.8 0.022939 2500 4176.43 3058.81 1117.62 0.179795
|
0.8 0.0229397 2500 4176.43 3058.81 1117.62 0.179795
|
||||||
0.8 0.022939 2600 4272.08 3157.36 1114.72 0.179795
|
0.8 0.0229397 2600 4272.08 3157.36 1114.72 0.179795
|
||||||
0.8 0.022939 2700 4367.96 3255.99 1111.97 0.179795
|
0.8 0.0229397 2700 4367.96 3255.99 1111.97 0.179795
|
||||||
0.8 0.022939 2800 4464.03 3354.68 1109.36 0.179795
|
0.8 0.0229397 2800 4464.03 3354.68 1109.35 0.179795
|
||||||
0.8 0.022939 2900 4560.29 3453.43 1106.86 0.179795
|
0.8 0.0229397 2900 4560.28 3453.43 1106.85 0.179795
|
||||||
0.8 0.022939 3000 4656.69 3552.23 1104.46 0.179795
|
0.8 0.0229397 3000 4656.69 3552.23 1104.46 0.179795
|
||||||
0.85 0.0243378 300 2290.87 2271.91 18.9656 0.0282995
|
0.85 0.0243385 300 2290.86 2271.89 18.9685 0.0282998
|
||||||
0.85 0.0243378 400 2371.43 2343.56 27.8643 0.0290471
|
0.85 0.0243385 400 2371.41 2343.55 27.8685 0.0290475
|
||||||
0.85 0.0243378 500 2452.47 2413.12 39.3505 0.0300167
|
0.85 0.0243385 500 2452.45 2413.1 39.3563 0.0300172
|
||||||
0.85 0.0243378 600 2534.19 2480.57 53.6158 0.0312262
|
0.85 0.0243385 600 2534.18 2480.55 53.6235 0.0312269
|
||||||
0.85 0.0243378 700 2616.87 2546.09 70.7753 0.0326874
|
0.85 0.0243385 700 2616.86 2546.07 70.7851 0.0326882
|
||||||
0.85 0.0243378 800 2700.77 2609.9 90.8689 0.0344053
|
0.85 0.0243385 800 2700.75 2609.87 90.8809 0.0344063
|
||||||
0.85 0.0243378 900 2785.98 2672.13 113.846 0.0363771
|
0.85 0.0243385 900 2785.96 2672.1 113.86 0.0363784
|
||||||
0.85 0.0243378 1000 2872.33 2732.8 139.532 0.0385893
|
0.85 0.0243385 1000 2872.32 2732.77 139.549 0.0385908
|
||||||
0.85 0.0243378 1100 2959.6 2791.91 167.685 0.0410223
|
0.85 0.0243385 1100 2959.59 2791.88 167.705 0.041024
|
||||||
0.85 0.0243378 1200 3047.81 2849.68 198.123 0.0436611
|
0.85 0.0243385 1200 3047.8 2849.65 198.145 0.043663
|
||||||
0.85 0.0243378 1300 3136.88 2906.25 230.631 0.0464887
|
0.85 0.0243385 1300 3136.87 2906.22 230.656 0.0464908
|
||||||
0.85 0.0243378 1400 3226.76 2961.71 265.043 0.0495004
|
0.85 0.0243385 1400 3226.75 2961.68 265.07 0.0495028
|
||||||
0.85 0.0243378 1500 3317.36 3015.85 301.507 0.0527776
|
0.85 0.0243385 1500 3317.35 3015.81 301.538 0.0527804
|
||||||
0.85 0.0243378 1600 3408.64 3066.89 341.749 0.0568022
|
0.85 0.0243385 1600 3408.63 3066.84 341.787 0.0568065
|
||||||
0.85 0.0243378 1700 3500.54 3104.56 395.978 0.0640041
|
0.85 0.0243385 1700 3500.53 3104.48 396.051 0.0640162
|
||||||
0.85 0.0243378 1800 3593 3084.51 508.482 0.08286
|
0.85 0.0243385 1800 3592.99 3084.34 508.645 0.0828878
|
||||||
0.85 0.0243378 1900 3685.97 3020.01 665.967 0.107691
|
0.85 0.0243385 1900 3685.97 3019.83 666.138 0.107717
|
||||||
0.85 0.0243378 2000 3779.42 2965.6 813.821 0.129076
|
0.85 0.0243385 2000 3779.41 2965.44 813.977 0.129098
|
||||||
0.85 0.0243378 2100 3873.3 2919.72 953.572 0.148397
|
0.85 0.0243385 2100 3873.29 2919.57 953.72 0.148417
|
||||||
0.85 0.0243378 2200 3967.56 2878.29 1089.26 0.166675
|
0.85 0.0243385 2200 3967.55 2878.14 1089.41 0.166695
|
||||||
0.85 0.0243378 2300 4062.17 2887.39 1174.78 0.178193
|
0.85 0.0243385 2300 4062.16 2887.39 1174.78 0.178193
|
||||||
0.85 0.0243378 2400 4157.1 2985.7 1171.4 0.178193
|
0.85 0.0243385 2400 4157.09 2985.7 1171.39 0.178193
|
||||||
0.85 0.0243378 2500 4252.31 3084.1 1168.21 0.178193
|
0.85 0.0243385 2500 4252.31 3084.1 1168.2 0.178193
|
||||||
0.85 0.0243378 2600 4347.78 3182.59 1165.18 0.178193
|
0.85 0.0243385 2600 4347.77 3182.59 1165.18 0.178193
|
||||||
0.85 0.0243378 2700 4443.47 3281.16 1162.31 0.178193
|
0.85 0.0243385 2700 4443.47 3281.16 1162.31 0.178193
|
||||||
0.85 0.0243378 2800 4539.37 3379.79 1159.58 0.178193
|
0.85 0.0243385 2800 4539.37 3379.79 1159.58 0.178193
|
||||||
0.85 0.0243378 2900 4635.45 3478.48 1156.96 0.178193
|
0.85 0.0243385 2900 4635.44 3478.48 1156.96 0.178193
|
||||||
0.85 0.0243378 3000 4731.69 3577.23 1154.46 0.178193
|
0.85 0.0243385 3000 4731.69 3577.23 1154.46 0.178193
|
||||||
0.9 0.0257326 300 2370.11 2336.79 33.3126 0.0204487
|
0.9 0.0257334 300 2370.09 2336.78 33.3173 0.0204491
|
||||||
0.9 0.0257326 400 2450.33 2404.18 46.1466 0.0215389
|
0.9 0.0257334 400 2450.31 2404.16 46.1529 0.0215394
|
||||||
0.9 0.0257326 500 2531.05 2469.37 61.6783 0.0228642
|
0.9 0.0257334 500 2531.04 2469.35 61.6865 0.0228649
|
||||||
0.9 0.0257326 600 2612.45 2532.54 79.9107 0.0244268
|
0.9 0.0257334 600 2612.44 2532.52 79.921 0.0244277
|
||||||
0.9 0.0257326 700 2694.82 2593.99 100.824 0.0262264
|
0.9 0.0257334 700 2694.8 2593.97 100.836 0.0262275
|
||||||
0.9 0.0257326 800 2778.39 2654.02 124.375 0.0282608
|
0.9 0.0257334 800 2778.38 2653.99 124.39 0.0282621
|
||||||
0.9 0.0257326 900 2863.29 2712.81 150.474 0.0305235
|
0.9 0.0257334 900 2863.28 2712.78 150.491 0.030525
|
||||||
0.9 0.0257326 1000 2949.33 2770.39 178.932 0.0329992
|
0.9 0.0257334 1000 2949.32 2770.36 178.952 0.0330009
|
||||||
0.9 0.0257326 1100 3036.29 2826.77 209.525 0.0356701
|
0.9 0.0257334 1100 3036.28 2826.74 209.547 0.035672
|
||||||
0.9 0.0257326 1200 3124.21 2882.06 242.15 0.0385379
|
0.9 0.0257334 1200 3124.2 2882.03 242.174 0.0385401
|
||||||
0.9 0.0257326 1300 3213 2936.02 276.983 0.0416867
|
0.9 0.0257334 1300 3212.99 2935.98 277.011 0.0416893
|
||||||
0.9 0.0257326 1400 3302.61 2986.94 315.668 0.0455741
|
0.9 0.0257334 1400 3302.6 2986.9 315.702 0.045578
|
||||||
0.9 0.0257326 1500 3392.95 3028.88 364.07 0.0515872
|
0.9 0.0257334 1500 3392.94 3028.82 364.12 0.0515944
|
||||||
0.9 0.0257326 1600 3483.98 3019.56 464.42 0.0682006
|
0.9 0.0257334 1600 3483.97 3019.41 464.567 0.068226
|
||||||
0.9 0.0257326 1700 3575.64 2951.37 624.264 0.0935564
|
0.9 0.0257334 1700 3575.63 2951.2 624.433 0.0935821
|
||||||
0.9 0.0257326 1800 3667.87 2892.58 775.292 0.115369
|
0.9 0.0257334 1800 3667.86 2892.42 775.443 0.115391
|
||||||
0.9 0.0257326 1900 3760.62 2843.72 916.907 0.134896
|
0.9 0.0257334 1900 3760.61 2843.56 917.05 0.134916
|
||||||
0.9 0.0257326 2000 3853.85 2799.9 1053.95 0.153319
|
0.9 0.0257334 2000 3853.85 2799.75 1054.09 0.153338
|
||||||
0.9 0.0257326 2100 3947.52 2759.21 1188.31 0.171076
|
0.9 0.0257334 2100 3947.51 2759.06 1188.45 0.171094
|
||||||
0.9 0.0257326 2200 4041.58 2813.86 1227.72 0.176619
|
0.9 0.0257334 2200 4041.57 2813.86 1227.71 0.176619
|
||||||
0.9 0.0257326 2300 4136 2912 1224 0.176619
|
0.9 0.0257334 2300 4135.99 2912 1223.99 0.176619
|
||||||
0.9 0.0257326 2400 4230.73 3010.25 1220.49 0.176619
|
0.9 0.0257334 2400 4230.73 3010.24 1220.48 0.176619
|
||||||
0.9 0.0257326 2500 4325.76 3108.59 1217.17 0.176619
|
0.9 0.0257334 2500 4325.76 3108.59 1217.17 0.176619
|
||||||
0.9 0.0257326 2600 4421.05 3207.02 1214.03 0.176619
|
0.9 0.0257334 2600 4421.04 3207.02 1214.03 0.176619
|
||||||
0.9 0.0257326 2700 4516.56 3305.52 1211.04 0.176619
|
0.9 0.0257334 2700 4516.56 3305.52 1211.04 0.176619
|
||||||
0.9 0.0257326 2800 4612.29 3404.1 1208.19 0.176619
|
0.9 0.0257334 2800 4612.29 3404.1 1208.19 0.176619
|
||||||
0.9 0.0257326 2900 4708.2 3502.74 1205.47 0.176619
|
0.9 0.0257334 2900 4708.2 3502.73 1205.47 0.176619
|
||||||
0.9 0.0257326 3000 4804.28 3601.43 1202.85 0.176619
|
0.9 0.0257334 3000 4804.28 3601.43 1202.85 0.176619
|
||||||
0.95 0.0271234 300 2446.7 2390.49 56.2097 0.0135007
|
0.95 0.0271242 300 2446.69 2390.47 56.2165 0.0135013
|
||||||
0.95 0.0271234 400 2526.62 2453.58 73.036 0.0149462
|
0.95 0.0271242 400 2526.6 2453.56 73.0446 0.014947
|
||||||
0.95 0.0271234 500 2607.04 2514.78 92.2609 0.0166051
|
0.95 0.0271242 500 2607.03 2514.76 92.2714 0.016606
|
||||||
0.95 0.0271234 600 2688.16 2574.34 113.821 0.0184732
|
0.95 0.0271242 600 2688.14 2574.31 113.833 0.0184742
|
||||||
0.95 0.0271234 700 2770.23 2632.54 137.685 0.0205489
|
0.95 0.0271242 700 2770.21 2632.51 137.7 0.0205501
|
||||||
0.95 0.0271234 800 2853.51 2689.67 163.834 0.0228319
|
0.95 0.0271242 800 2853.49 2689.64 163.85 0.0228334
|
||||||
0.95 0.0271234 900 2938.1 2745.88 192.227 0.0253244
|
0.95 0.0271242 900 2938.09 2745.85 192.246 0.0253261
|
||||||
0.95 0.0271234 1000 3023.85 2800.98 222.872 0.0280597
|
0.95 0.0271242 1000 3023.84 2800.95 222.894 0.0280617
|
||||||
0.95 0.0271234 1100 3110.53 2854.08 256.452 0.0312554
|
0.95 0.0271242 1100 3110.52 2854.04 256.478 0.0312581
|
||||||
0.95 0.0271234 1200 3198.17 2902 296.173 0.0357096
|
0.95 0.0271242 1200 3198.16 2901.95 296.209 0.0357143
|
||||||
0.95 0.0271234 1300 3286.7 2937.25 349.453 0.0429652
|
0.95 0.0271242 1300 3286.69 2937.18 349.506 0.0429733
|
||||||
0.95 0.0271234 1400 3376.05 2902.11 473.942 0.0634791
|
0.95 0.0271242 1400 3376.04 2901.93 474.111 0.0635068
|
||||||
0.95 0.0271234 1500 3466.15 2818.83 647.317 0.0895733
|
0.95 0.0271242 1500 3466.14 2818.66 647.478 0.0895965
|
||||||
0.95 0.0271234 1600 3556.94 2756.43 800.511 0.110875
|
0.95 0.0271242 1600 3556.93 2756.28 800.654 0.110895
|
||||||
0.95 0.0271234 1700 3648.37 2704 944.369 0.130233
|
0.95 0.0271242 1700 3648.36 2703.85 944.503 0.130251
|
||||||
0.95 0.0271234 1800 3740.37 2657.09 1083.29 0.148595
|
0.95 0.0271242 1800 3740.37 2656.95 1083.42 0.148612
|
||||||
0.95 0.0271234 1900 3832.91 2615.33 1217.58 0.16598
|
0.95 0.0271242 1900 3832.91 2615.22 1217.69 0.165993
|
||||||
0.95 0.0271234 2000 3925.94 2641.98 1283.96 0.175073
|
0.95 0.0271242 2000 3925.93 2641.98 1283.95 0.175073
|
||||||
0.95 0.0271234 2100 4019.4 2739.8 1279.6 0.175073
|
0.95 0.0271242 2100 4019.4 2739.8 1279.6 0.175073
|
||||||
0.95 0.0271234 2200 4113.27 2837.76 1275.51 0.175073
|
0.95 0.0271242 2200 4113.26 2837.76 1275.51 0.175073
|
||||||
0.95 0.0271234 2300 4207.49 2935.83 1271.66 0.175073
|
0.95 0.0271242 2300 4207.49 2935.83 1271.66 0.175073
|
||||||
0.95 0.0271234 2400 4302.05 3034.02 1268.03 0.175073
|
0.95 0.0271242 2400 4302.04 3034.02 1268.03 0.175073
|
||||||
0.95 0.0271234 2500 4396.89 3132.3 1264.6 0.175073
|
0.95 0.0271242 2500 4396.89 3132.3 1264.59 0.175073
|
||||||
0.95 0.0271234 2600 4492.01 3230.67 1261.34 0.175073
|
0.95 0.0271242 2600 4492 3230.67 1261.33 0.175073
|
||||||
0.95 0.0271234 2700 4587.35 3329.12 1258.23 0.175073
|
0.95 0.0271242 2700 4587.35 3329.12 1258.23 0.175073
|
||||||
0.95 0.0271234 2800 4682.91 3427.64 1255.27 0.175073
|
0.95 0.0271242 2800 4682.91 3427.64 1255.27 0.175073
|
||||||
0.95 0.0271234 2900 4778.66 3526.22 1252.44 0.175073
|
0.95 0.0271242 2900 4778.66 3526.22 1252.44 0.175073
|
||||||
0.95 0.0271234 3000 4874.58 3624.86 1249.72 0.175073
|
0.95 0.0271242 3000 4874.58 3624.86 1249.72 0.175073
|
||||||
1 0.0285102 300 2520.8 2428.97 91.8331 0.00783149
|
1 0.0285111 300 2520.79 2428.95 91.8415 0.00783223
|
||||||
1 0.0285102 400 2600.43 2489.18 111.251 0.00954383
|
1 0.0285111 400 2600.42 2489.16 111.262 0.00954474
|
||||||
1 0.0285102 500 2680.59 2547.49 133.104 0.0115415
|
1 0.0285111 500 2680.58 2547.46 133.116 0.0115427
|
||||||
1 0.0285102 600 2761.43 2603.09 158.342 0.0140629
|
1 0.0285111 600 2761.42 2603.06 158.358 0.0140645
|
||||||
1 0.0285102 700 2843.23 2656.85 186.371 0.0169282
|
1 0.0285111 700 2843.21 2656.82 186.389 0.0169302
|
||||||
1 0.0285102 800 2926.23 2705.86 220.367 0.0208509
|
1 0.0285111 800 2926.22 2705.82 220.398 0.0208555
|
||||||
1 0.0285102 900 3010.55 2717.57 292.979 0.0319159
|
1 0.0285111 900 3010.54 2717.47 293.073 0.031931
|
||||||
1 0.0285102 1000 3096.02 2310.73 785.296 0.10223
|
1 0.0285111 1000 3096.01 2308.21 787.803 0.102583
|
||||||
1 0.0285102 1100 3182.43 2222.29 960.141 0.119879
|
1 0.0285111 1100 3182.42 2231.26 951.156 0.118119
|
||||||
1 0.0285102 1200 3269.81 2194.9 1074.92 0.134244
|
1 0.0285111 1200 3269.8 2192.08 1077.72 0.134773
|
||||||
1 0.0285102 1300 3358.09 2047.11 1310.98 0.173419
|
1 0.0285111 1300 3358.08 2047.07 1311.01 0.173419
|
||||||
1 0.0285102 1400 3447.19 2082.4 1364.79 0.173554
|
1 0.0285111 1400 3447.18 2082.4 1364.79 0.173554
|
||||||
1 0.0285102 1500 3537.06 2179.02 1358.04 0.173554
|
1 0.0285111 1500 3537.05 2179.02 1358.03 0.173554
|
||||||
1 0.0285102 1600 3627.62 2275.88 1351.75 0.173554
|
1 0.0285111 1600 3627.61 2275.87 1351.74 0.173554
|
||||||
1 0.0285102 1700 3718.83 2372.94 1345.88 0.173554
|
1 0.0285111 1700 3718.82 2372.94 1345.88 0.173554
|
||||||
1 0.0285102 1800 3810.63 2470.21 1340.42 0.173554
|
1 0.0285111 1800 3810.62 2470.21 1340.41 0.173554
|
||||||
1 0.0285102 1900 3902.96 2567.65 1335.31 0.173554
|
1 0.0285111 1900 3902.95 2567.65 1335.3 0.173554
|
||||||
1 0.0285102 2000 3995.78 2665.26 1330.52 0.173554
|
1 0.0285111 2000 3995.78 2665.26 1330.52 0.173554
|
||||||
1 0.0285102 2100 4089.06 2763.02 1326.04 0.173554
|
1 0.0285111 2100 4089.05 2763.02 1326.03 0.173554
|
||||||
1 0.0285102 2200 4182.73 2860.91 1321.82 0.173554
|
1 0.0285111 2200 4182.73 2860.91 1321.82 0.173554
|
||||||
1 0.0285102 2300 4276.78 2958.93 1317.85 0.173554
|
1 0.0285111 2300 4276.77 2958.92 1317.85 0.173554
|
||||||
1 0.0285102 2400 4371.15 3057.05 1314.1 0.173554
|
1 0.0285111 2400 4371.14 3057.05 1314.1 0.173554
|
||||||
1 0.0285102 2500 4465.82 3155.28 1310.55 0.173554
|
1 0.0285111 2500 4465.82 3155.27 1310.54 0.173554
|
||||||
1 0.0285102 2600 4560.76 3253.59 1307.17 0.173554
|
1 0.0285111 2600 4560.76 3253.59 1307.17 0.173554
|
||||||
1 0.0285102 2700 4655.95 3351.98 1303.96 0.173554
|
1 0.0285111 2700 4655.94 3351.98 1303.96 0.173554
|
||||||
1 0.0285102 2800 4751.34 3450.45 1300.89 0.173554
|
1 0.0285111 2800 4751.34 3450.45 1300.89 0.173554
|
||||||
1 0.0285102 2900 4846.94 3548.98 1297.96 0.173554
|
1 0.0285111 2900 4846.93 3548.98 1297.95 0.173554
|
||||||
1 0.0285102 3000 4942.7 3647.57 1295.13 0.173554
|
1 0.0285111 3000 4942.7 3647.57 1295.13 0.173554
|
||||||
1.05 0.0298931 300 2492.47 2407.62 84.8507 0.0072027
|
1.05 0.029894 300 2492.46 2407.6 84.8585 0.00720339
|
||||||
1.05 0.0298931 400 2572.24 2468.8 103.444 0.00882767
|
1.05 0.029894 400 2572.23 2468.77 103.454 0.00882851
|
||||||
1.05 0.0298931 500 2652.53 2528.18 124.344 0.0106994
|
1.05 0.029894 500 2652.51 2528.16 124.356 0.0107005
|
||||||
1.05 0.0298931 600 2733.47 2585.18 148.288 0.0130101
|
1.05 0.029894 600 2733.46 2585.15 148.303 0.0130117
|
||||||
1.05 0.0298931 700 2815.34 2639.96 175.377 0.0157559
|
1.05 0.029894 700 2815.33 2639.93 175.395 0.0157578
|
||||||
1.05 0.0298931 800 2898.39 2693.14 205.25 0.0188363
|
1.05 0.029894 800 2898.38 2693.11 205.275 0.0188396
|
||||||
1.05 0.0298931 900 2982.75 2723.52 259.228 0.0266452
|
1.05 0.029894 900 2982.74 2723.45 259.288 0.0266549
|
||||||
1.05 0.0298931 1000 3068.24 2622.8 445.435 0.0546487
|
1.05 0.029894 1000 3068.23 2622.42 445.805 0.0547019
|
||||||
1.05 0.0298931 1100 3154.65 2160.91 993.74 0.129131
|
1.05 0.029894 1100 3154.64 2157.67 996.976 0.129741
|
||||||
1.05 0.0298931 1200 3242.03 2281.79 960.236 0.126933
|
1.05 0.029894 1200 3242.02 2280.98 961.044 0.127053
|
||||||
1.05 0.0298931 1300 3330.3 2050.89 1279.41 0.170376
|
1.05 0.029894 1300 3330.29 2050.85 1279.44 0.170376
|
||||||
1.05 0.0298931 1400 3419.39 2125.29 1294.1 0.162757
|
1.05 0.029894 1400 3419.38 2125.13 1294.25 0.16278
|
||||||
1.05 0.0298931 1500 3509.24 2169.75 1339.49 0.170593
|
1.05 0.029894 1500 3509.23 2169.74 1339.48 0.170593
|
||||||
1.05 0.0298931 1600 3599.78 2266.6 1333.19 0.170593
|
1.05 0.029894 1600 3599.77 2266.59 1333.18 0.170593
|
||||||
1.05 0.0298931 1700 3690.96 2363.66 1327.31 0.170593
|
1.05 0.029894 1700 3690.96 2363.65 1327.3 0.170593
|
||||||
1.05 0.0298931 1800 3782.73 2460.91 1321.82 0.170593
|
1.05 0.029894 1800 3782.73 2460.91 1321.82 0.170593
|
||||||
1.05 0.0298931 1900 3875.04 2558.35 1316.69 0.170593
|
1.05 0.029894 1900 3875.03 2558.35 1316.69 0.170593
|
||||||
1.05 0.0298931 2000 3967.83 2655.95 1311.89 0.170593
|
1.05 0.029894 2000 3967.83 2655.94 1311.88 0.170593
|
||||||
1.05 0.0298931 2100 4061.08 2753.69 1307.38 0.170593
|
1.05 0.029894 2100 4061.07 2753.69 1307.38 0.170593
|
||||||
1.05 0.0298931 2200 4154.72 2851.58 1303.15 0.170593
|
1.05 0.029894 2200 4154.72 2851.57 1303.14 0.170593
|
||||||
1.05 0.0298931 2300 4248.73 2949.58 1299.15 0.170593
|
1.05 0.029894 2300 4248.73 2949.58 1299.15 0.170593
|
||||||
1.05 0.0298931 2400 4343.08 3047.69 1295.38 0.170593
|
1.05 0.029894 2400 4343.07 3047.69 1295.38 0.170593
|
||||||
1.05 0.0298931 2500 4437.72 3145.91 1291.81 0.170593
|
1.05 0.029894 2500 4437.72 3145.91 1291.81 0.170593
|
||||||
1.05 0.0298931 2600 4532.64 3244.21 1288.42 0.170593
|
1.05 0.029894 2600 4532.63 3244.21 1288.42 0.170593
|
||||||
1.05 0.0298931 2700 4627.79 3342.6 1285.19 0.170593
|
1.05 0.029894 2700 4627.79 3342.6 1285.19 0.170593
|
||||||
1.05 0.0298931 2800 4723.17 3441.06 1282.11 0.170593
|
1.05 0.029894 2800 4723.16 3441.06 1282.11 0.170593
|
||||||
1.05 0.0298931 2900 4818.74 3539.58 1279.16 0.170593
|
1.05 0.029894 2900 4818.73 3539.58 1279.15 0.170593
|
||||||
1.05 0.0298931 3000 4914.48 3638.16 1276.32 0.170593
|
1.05 0.029894 3000 4914.48 3638.16 1276.32 0.170593
|
||||||
1.1 0.0312721 300 2464.89 2386.52 78.3714 0.00662335
|
1.1 0.031273 300 2464.87 2386.5 78.3786 0.00662398
|
||||||
1.1 0.0312721 400 2544.8 2448.63 96.1736 0.00816819
|
1.1 0.031273 400 2544.79 2448.61 96.1825 0.00816896
|
||||||
1.1 0.0312721 500 2625.22 2509 116.216 0.00993772
|
1.1 0.031273 500 2625.2 2508.98 116.227 0.0099387
|
||||||
1.1 0.0312721 600 2706.26 2567.35 138.913 0.012044
|
1.1 0.031273 600 2706.25 2567.32 138.926 0.0120454
|
||||||
1.1 0.0312721 700 2788.21 2623.18 165.032 0.0146626
|
1.1 0.031273 700 2788.2 2623.15 165.049 0.0146643
|
||||||
1.1 0.0312721 800 2871.32 2677.38 193.943 0.017613
|
1.1 0.031273 800 2871.31 2677.34 193.962 0.017615
|
||||||
1.1 0.0312721 900 2955.71 2719.83 235.878 0.0231022
|
1.1 0.031273 900 2955.7 2719.78 235.92 0.0231087
|
||||||
1.1 0.0312721 1000 3041.22 2693.69 347.534 0.0402514
|
1.1 0.031273 1000 3041.21 2693.5 347.71 0.0402781
|
||||||
1.1 0.0312721 1100 3127.64 2164.65 962.999 0.125948
|
1.1 0.031273 1100 3127.63 2167.25 960.385 0.125446
|
||||||
1.1 0.0312721 1200 3215.02 2109.17 1105.85 0.145243
|
1.1 0.031273 1200 3215.01 2111.06 1103.96 0.14489
|
||||||
1.1 0.0312721 1300 3303.29 2053.87 1249.42 0.167407
|
1.1 0.031273 1300 3303.28 2053.83 1249.45 0.167407
|
||||||
1.1 0.0312721 1400 3392.37 2173.65 1218.71 0.151352
|
1.1 0.031273 1400 3392.36 2173.47 1218.89 0.15138
|
||||||
1.1 0.0312721 1500 3482.2 2160.74 1321.47 0.167732
|
1.1 0.031273 1500 3482.19 2160.73 1321.46 0.167732
|
||||||
1.1 0.0312721 1600 3572.73 2257.58 1315.15 0.167732
|
1.1 0.031273 1600 3572.72 2257.57 1315.15 0.167732
|
||||||
1.1 0.0312721 1700 3663.89 2354.63 1309.26 0.167732
|
1.1 0.031273 1700 3663.88 2354.63 1309.25 0.167732
|
||||||
1.1 0.0312721 1800 3755.64 2451.88 1303.76 0.167732
|
1.1 0.031273 1800 3755.63 2451.88 1303.75 0.167732
|
||||||
1.1 0.0312721 1900 3847.92 2549.31 1298.61 0.167732
|
1.1 0.031273 1900 3847.91 2549.3 1298.61 0.167732
|
||||||
1.1 0.0312721 2000 3940.69 2646.9 1293.79 0.167732
|
1.1 0.031273 2000 3940.68 2646.89 1293.79 0.167732
|
||||||
1.1 0.0312721 2100 4033.9 2744.63 1289.27 0.167732
|
1.1 0.031273 2100 4033.89 2744.63 1289.26 0.167732
|
||||||
1.1 0.0312721 2200 4127.52 2842.51 1285.01 0.167732
|
1.1 0.031273 2200 4127.51 2842.51 1285.01 0.167732
|
||||||
1.1 0.0312721 2300 4221.5 2940.5 1281 0.167732
|
1.1 0.031273 2300 4221.5 2940.5 1281 0.167732
|
||||||
1.1 0.0312721 2400 4315.82 3038.61 1277.21 0.167732
|
1.1 0.031273 2400 4315.82 3038.61 1277.21 0.167732
|
||||||
1.1 0.0312721 2500 4410.44 3136.81 1273.62 0.167732
|
1.1 0.031273 2500 4410.43 3136.81 1273.62 0.167732
|
||||||
1.1 0.0312721 2600 4505.33 3235.11 1270.22 0.167732
|
1.1 0.031273 2600 4505.32 3235.11 1270.21 0.167732
|
||||||
1.1 0.0312721 2700 4600.46 3333.49 1266.97 0.167732
|
1.1 0.031273 2700 4600.46 3333.49 1266.97 0.167732
|
||||||
1.1 0.0312721 2800 4695.81 3431.94 1263.87 0.167732
|
1.1 0.031273 2800 4695.81 3431.94 1263.87 0.167732
|
||||||
1.1 0.0312721 2900 4791.36 3530.45 1260.91 0.167732
|
1.1 0.031273 2900 4791.36 3530.45 1260.9 0.167732
|
||||||
1.1 0.0312721 3000 4887.09 3629.03 1258.06 0.167732
|
1.1 0.031273 3000 4887.08 3629.03 1258.05 0.167732
|
||||||
1.15 0.0326471 300 2438.03 2365.67 72.3608 0.0060893
|
1.15 0.0326481 300 2438.01 2365.65 72.3675 0.00608988
|
||||||
1.15 0.0326471 400 2518.09 2428.69 89.3981 0.00755903
|
1.15 0.0326481 400 2518.07 2428.67 89.4064 0.00755975
|
||||||
1.15 0.0326471 500 2598.63 2489.99 108.641 0.00924044
|
1.15 0.0326481 500 2598.61 2489.96 108.651 0.00924133
|
||||||
1.15 0.0326471 600 2679.78 2549.45 130.332 0.0112015
|
1.15 0.0326481 600 2679.76 2549.42 130.344 0.0112026
|
||||||
1.15 0.0326471 700 2761.8 2606.44 155.367 0.01366
|
1.15 0.0326481 700 2761.79 2606.41 155.383 0.0136615
|
||||||
1.15 0.0326471 800 2844.97 2661.55 183.425 0.0165051
|
1.15 0.0326481 800 2844.96 2661.52 183.443 0.0165071
|
||||||
1.15 0.0326471 900 2929.4 2711.09 218.318 0.0205829
|
1.15 0.0326481 900 2929.39 2711.04 218.35 0.0205875
|
||||||
1.15 0.0326471 1000 3014.94 2720.13 294.808 0.0321784
|
1.15 0.0326481 1000 3014.93 2720.02 294.911 0.0321946
|
||||||
1.15 0.0326471 1100 3101.37 2245.34 856.037 0.110483
|
1.15 0.0326481 1100 3101.36 2251.55 849.815 0.109583
|
||||||
1.15 0.0326471 1200 3188.76 2236.95 951.805 0.118708
|
1.15 0.0326481 1200 3188.75 2233.94 954.807 0.119285
|
||||||
1.15 0.0326471 1300 3277.02 2056.22 1220.8 0.164505
|
1.15 0.0326481 1300 3277.01 2056.18 1220.83 0.164505
|
||||||
1.15 0.0326471 1400 3366.1 2095.85 1270.25 0.164884
|
1.15 0.0326481 1400 3366.09 2095.8 1270.29 0.164884
|
||||||
1.15 0.0326471 1500 3455.92 2151.97 1303.94 0.164965
|
1.15 0.0326481 1500 3455.91 2151.97 1303.94 0.164965
|
||||||
1.15 0.0326471 1600 3546.43 2248.81 1297.62 0.164965
|
1.15 0.0326481 1600 3546.42 2248.81 1297.61 0.164965
|
||||||
1.15 0.0326471 1700 3637.58 2345.86 1291.72 0.164965
|
1.15 0.0326481 1700 3637.57 2345.86 1291.71 0.164965
|
||||||
1.15 0.0326471 1800 3729.3 2443.1 1286.2 0.164965
|
1.15 0.0326481 1800 3729.29 2443.1 1286.19 0.164965
|
||||||
1.15 0.0326471 1900 3821.56 2540.52 1281.04 0.164965
|
1.15 0.0326481 1900 3821.55 2540.52 1281.03 0.164965
|
||||||
1.15 0.0326471 2000 3914.3 2638.1 1276.2 0.164965
|
1.15 0.0326481 2000 3914.3 2638.1 1276.2 0.164965
|
||||||
1.15 0.0326471 2100 4007.49 2735.83 1271.66 0.164965
|
1.15 0.0326481 2100 4007.49 2735.83 1271.66 0.164965
|
||||||
1.15 0.0326471 2200 4101.09 2833.7 1267.39 0.164965
|
1.15 0.0326481 2200 4101.08 2833.69 1267.39 0.164965
|
||||||
1.15 0.0326471 2300 4195.05 2931.68 1263.36 0.164965
|
1.15 0.0326481 2300 4195.04 2931.68 1263.36 0.164965
|
||||||
1.15 0.0326471 2400 4289.34 3029.78 1259.56 0.164965
|
1.15 0.0326481 2400 4289.34 3029.78 1259.56 0.164965
|
||||||
1.15 0.0326471 2500 4383.93 3127.98 1255.96 0.164965
|
1.15 0.0326481 2500 4383.93 3127.98 1255.95 0.164965
|
||||||
1.15 0.0326471 2600 4478.8 3226.27 1252.53 0.164965
|
1.15 0.0326481 2600 4478.8 3226.27 1252.53 0.164965
|
||||||
1.15 0.0326471 2700 4573.91 3324.64 1249.27 0.164965
|
1.15 0.0326481 2700 4573.91 3324.64 1249.27 0.164965
|
||||||
1.15 0.0326471 2800 4669.24 3423.08 1246.16 0.164965
|
1.15 0.0326481 2800 4669.24 3423.08 1246.16 0.164965
|
||||||
1.15 0.0326471 2900 4764.77 3521.59 1243.18 0.164965
|
1.15 0.0326481 2900 4764.77 3521.59 1243.18 0.164965
|
||||||
1.15 0.0326471 3000 4860.48 3620.16 1240.32 0.164965
|
1.15 0.0326481 3000 4860.48 3620.16 1240.32 0.164965
|
||||||
1.2 0.0340183 300 2411.86 2345.07 66.7873 0.00559696
|
1.2 0.0340193 300 2411.84 2345.05 66.7936 0.00559749
|
||||||
1.2 0.0340183 400 2492.06 2408.98 83.0825 0.0069954
|
1.2 0.0340193 400 2492.05 2408.96 83.0903 0.00699607
|
||||||
1.2 0.0340183 500 2572.73 2471.17 101.564 0.00859753
|
1.2 0.0340193 500 2572.72 2471.14 101.574 0.00859836
|
||||||
1.2 0.0340183 600 2653.99 2531.61 122.382 0.0104459
|
1.2 0.0340193 600 2653.97 2531.58 122.394 0.010447
|
||||||
1.2 0.0340183 700 2736.09 2589.79 146.303 0.0127324
|
1.2 0.0340193 700 2736.08 2589.76 146.318 0.012734
|
||||||
1.2 0.0340183 800 2819.32 2645.94 173.383 0.0154422
|
1.2 0.0340193 800 2819.31 2645.91 173.4 0.0154441
|
||||||
1.2 0.0340183 900 2903.8 2699.6 204.194 0.0186966
|
1.2 0.0340193 900 2903.78 2699.56 204.22 0.0187
|
||||||
1.2 0.0340183 1000 2989.36 2727.89 261.471 0.0270196
|
1.2 0.0340193 1000 2989.35 2727.81 261.538 0.0270303
|
||||||
1.2 0.0340183 1100 3075.81 2577.67 498.141 0.0616882
|
1.2 0.0340193 1100 3075.8 2577.07 498.722 0.0617691
|
||||||
1.2 0.0340183 1200 3163.2 2292.68 870.517 0.10539
|
1.2 0.0340193 1200 3163.19 2290.04 873.153 0.105911
|
||||||
1.2 0.0340183 1300 3251.47 2050.26 1201.2 0.160034
|
1.2 0.0340193 1300 3251.46 2053.86 1197.6 0.159385
|
||||||
1.2 0.0340183 1400 3340.54 2100.74 1239.8 0.162141
|
1.2 0.0340193 1400 3340.53 2100.7 1239.83 0.162141
|
||||||
1.2 0.0340183 1500 3430.35 2143.45 1286.9 0.162287
|
1.2 0.0340193 1500 3430.34 2143.45 1286.89 0.162287
|
||||||
1.2 0.0340183 1600 3520.85 2240.29 1280.57 0.162287
|
1.2 0.0340193 1600 3520.84 2240.28 1280.56 0.162287
|
||||||
1.2 0.0340183 1700 3611.98 2337.33 1274.65 0.162287
|
1.2 0.0340193 1700 3611.98 2337.33 1274.65 0.162287
|
||||||
1.2 0.0340183 1800 3703.69 2434.57 1269.13 0.162287
|
1.2 0.0340193 1800 3703.68 2434.56 1269.12 0.162287
|
||||||
1.2 0.0340183 1900 3795.93 2531.98 1263.95 0.162287
|
1.2 0.0340193 1900 3795.92 2531.98 1263.95 0.162287
|
||||||
1.2 0.0340183 2000 3888.66 2629.55 1259.1 0.162287
|
1.2 0.0340193 2000 3888.65 2629.55 1259.1 0.162287
|
||||||
1.2 0.0340183 2100 3981.82 2727.28 1254.55 0.162287
|
1.2 0.0340193 2100 3981.82 2727.27 1254.54 0.162287
|
||||||
1.2 0.0340183 2200 4075.39 2825.13 1250.26 0.162287
|
1.2 0.0340193 2200 4075.39 2825.13 1250.26 0.162287
|
||||||
1.2 0.0340183 2300 4169.33 2923.11 1246.22 0.162287
|
1.2 0.0340193 2300 4169.33 2923.11 1246.22 0.162287
|
||||||
1.2 0.0340183 2400 4263.6 3021.2 1242.4 0.162287
|
1.2 0.0340193 2400 4263.6 3021.2 1242.4 0.162287
|
||||||
1.2 0.0340183 2500 4358.18 3119.39 1238.78 0.162287
|
1.2 0.0340193 2500 4358.17 3119.39 1238.78 0.162287
|
||||||
1.2 0.0340183 2600 4453.02 3217.68 1235.35 0.162287
|
1.2 0.0340193 2600 4453.02 3217.67 1235.34 0.162287
|
||||||
1.2 0.0340183 2700 4548.11 3316.04 1232.07 0.162287
|
1.2 0.0340193 2700 4548.11 3316.04 1232.07 0.162287
|
||||||
1.2 0.0340183 2800 4643.43 3414.48 1228.95 0.162287
|
1.2 0.0340193 2800 4643.42 3414.48 1228.95 0.162287
|
||||||
1.2 0.0340183 2900 4738.94 3512.98 1225.96 0.162287
|
1.2 0.0340193 2900 4738.94 3512.98 1225.96 0.162287
|
||||||
1.2 0.0340183 3000 4834.63 3611.55 1223.09 0.162287
|
1.2 0.0340193 3000 4834.63 3611.54 1223.09 0.162287
|
||||||
1.25 0.0353855 300 2386.35 2324.73 61.6219 0.00514314
|
1.25 0.0353866 300 2386.33 2324.71 61.6276 0.00514364
|
||||||
1.25 0.0353855 400 2466.7 2389.5 77.1959 0.00647341
|
1.25 0.0353866 400 2466.68 2389.48 77.2031 0.00647404
|
||||||
1.25 0.0353855 500 2547.5 2452.55 94.9459 0.00800222
|
1.25 0.0353866 500 2547.49 2452.53 94.9548 0.00800299
|
||||||
1.25 0.0353855 600 2628.86 2513.89 114.969 0.00975718
|
1.25 0.0353866 600 2628.85 2513.87 114.979 0.00975815
|
||||||
1.25 0.0353855 700 2711.05 2573.32 137.731 0.0118564
|
1.25 0.0353866 700 2711.04 2573.29 137.745 0.0118577
|
||||||
1.25 0.0353855 800 2794.34 2630.42 163.916 0.0144505
|
1.25 0.0353866 800 2794.33 2630.39 163.932 0.0144522
|
||||||
1.25 0.0353855 900 2878.86 2685.73 193.127 0.0174241
|
1.25 0.0353866 900 2878.85 2685.7 193.145 0.0174261
|
||||||
1.25 0.0353855 1000 2964.45 2726.2 238.254 0.0234952
|
1.25 0.0353866 1000 2964.44 2726.14 238.301 0.0235026
|
||||||
1.25 0.0353855 1100 3050.92 2678.99 371.924 0.0437248
|
1.25 0.0353866 1100 3050.91 2678.75 372.156 0.0437591
|
||||||
1.25 0.0353855 1200 3138.32 2280.03 858.29 0.105618
|
1.25 0.0353866 1200 3138.31 2278.54 859.767 0.105907
|
||||||
1.25 0.0353855 1300 3226.59 2196.79 1029.8 0.136219
|
1.25 0.0353866 1300 3226.58 2199 1027.58 0.135896
|
||||||
1.25 0.0353855 1400 3315.67 2103.56 1212.11 0.159472
|
1.25 0.0353866 1400 3315.66 2103.52 1212.14 0.159473
|
||||||
1.25 0.0353855 1500 3405.48 2140.43 1265.05 0.159689
|
1.25 0.0353866 1500 3405.47 2140.38 1265.09 0.159689
|
||||||
1.25 0.0353855 1600 3495.97 2231.99 1263.98 0.159696
|
1.25 0.0353866 1600 3495.96 2231.99 1263.97 0.159696
|
||||||
1.25 0.0353855 1700 3587.09 2329.03 1258.06 0.159696
|
1.25 0.0353866 1700 3587.08 2329.03 1258.05 0.159696
|
||||||
1.25 0.0353855 1800 3678.78 2426.26 1252.52 0.159696
|
1.25 0.0353866 1800 3678.77 2426.26 1252.51 0.159696
|
||||||
1.25 0.0353855 1900 3771 2523.67 1247.33 0.159696
|
1.25 0.0353866 1900 3771 2523.67 1247.33 0.159696
|
||||||
1.25 0.0353855 2000 3863.71 2621.24 1242.47 0.159696
|
1.25 0.0353866 2000 3863.7 2621.24 1242.47 0.159696
|
||||||
1.25 0.0353855 2100 3956.86 2718.95 1237.9 0.159696
|
1.25 0.0353866 2100 3956.85 2718.95 1237.9 0.159696
|
||||||
1.25 0.0353855 2200 4050.41 2816.8 1233.61 0.159696
|
1.25 0.0353866 2200 4050.4 2816.8 1233.6 0.159696
|
||||||
1.25 0.0353855 2300 4144.33 2914.78 1229.55 0.159696
|
1.25 0.0353866 2300 4144.32 2914.78 1229.55 0.159696
|
||||||
1.25 0.0353855 2400 4238.58 3012.86 1225.72 0.159696
|
1.25 0.0353866 2400 4238.57 3012.86 1225.72 0.159696
|
||||||
1.25 0.0353855 2500 4333.13 3111.05 1222.09 0.159696
|
1.25 0.0353866 2500 4333.13 3111.04 1222.08 0.159696
|
||||||
1.25 0.0353855 2600 4427.96 3209.32 1218.64 0.159696
|
1.25 0.0353866 2600 4427.96 3209.32 1218.64 0.159696
|
||||||
1.25 0.0353855 2700 4523.03 3307.68 1215.36 0.159696
|
1.25 0.0353866 2700 4523.03 3307.68 1215.35 0.159696
|
||||||
1.25 0.0353855 2800 4618.33 3406.11 1212.22 0.159696
|
1.25 0.0353866 2800 4618.33 3406.11 1212.22 0.159696
|
||||||
1.25 0.0353855 2900 4713.83 3504.61 1209.22 0.159696
|
1.25 0.0353866 2900 4713.83 3504.61 1209.22 0.159696
|
||||||
1.25 0.0353855 3000 4809.51 3603.17 1206.34 0.159696
|
1.25 0.0353866 3000 4809.51 3603.17 1206.34 0.159696
|
||||||
1.3 0.036749 300 2361.48 2304.64 56.837 0.00472495
|
1.3 0.0367501 300 2361.46 2304.62 56.8423 0.0047254
|
||||||
1.3 0.036749 400 2441.97 2370.26 71.7101 0.00598979
|
1.3 0.0367501 400 2441.96 2370.24 71.7168 0.00599037
|
||||||
1.3 0.036749 500 2522.91 2434.15 88.7516 0.00744957
|
1.3 0.0367501 500 2522.89 2434.13 88.7599 0.00745029
|
||||||
1.3 0.036749 600 2604.38 2496.35 108.03 0.00912304
|
1.3 0.0367501 600 2604.36 2496.32 108.04 0.00912394
|
||||||
1.3 0.036749 700 2686.65 2556.8 129.846 0.0110858
|
1.3 0.0367501 700 2686.63 2556.78 129.858 0.011087
|
||||||
1.3 0.036749 800 2770 2614.96 155.037 0.0135366
|
1.3 0.0367501 800 2769.99 2614.93 155.053 0.0135382
|
||||||
1.3 0.036749 900 2854.57 2671.14 183.423 0.0164063
|
1.3 0.0367501 900 2854.55 2671.11 183.441 0.0164082
|
||||||
1.3 0.036749 1000 2940.19 2719.39 220.803 0.0209608
|
1.3 0.0367501 1000 2940.18 2719.34 220.839 0.020966
|
||||||
1.3 0.036749 1100 3026.68 2716.17 310.507 0.0345555
|
1.3 0.0367501 1100 3026.67 2716.03 310.638 0.0345757
|
||||||
1.3 0.036749 1200 3114.1 2297.86 816.232 0.0998198
|
1.3 0.0367501 1200 3114.09 2299.17 814.917 0.0995504
|
||||||
1.3 0.036749 1300 3202.37 2340.19 862.189 0.100726
|
1.3 0.0367501 1300 3202.36 2339.63 862.738 0.100832
|
||||||
1.3 0.036749 1400 3291.45 2105.76 1185.69 0.156866
|
1.3 0.0367501 1400 3291.44 2105.72 1185.72 0.156866
|
||||||
1.3 0.036749 1500 3381.26 2198.48 1182.78 0.146565
|
1.3 0.0367501 1500 3381.25 2198.32 1182.93 0.146587
|
||||||
1.3 0.036749 1600 3471.74 2223.92 1247.83 0.157186
|
1.3 0.0367501 1600 3471.74 2223.91 1247.82 0.157186
|
||||||
1.3 0.036749 1700 3562.85 2320.95 1241.9 0.157186
|
1.3 0.0367501 1700 3562.85 2320.95 1241.9 0.157186
|
||||||
1.3 0.036749 1800 3654.54 2418.18 1236.36 0.157186
|
1.3 0.0367501 1800 3654.53 2418.18 1236.35 0.157186
|
||||||
1.3 0.036749 1900 3746.75 2515.58 1231.16 0.157186
|
1.3 0.0367501 1900 3746.74 2515.58 1231.16 0.157186
|
||||||
1.3 0.036749 2000 3839.44 2613.15 1226.29 0.157186
|
1.3 0.0367501 2000 3839.43 2613.14 1226.29 0.157186
|
||||||
1.3 0.036749 2100 3932.57 2710.86 1221.71 0.157186
|
1.3 0.0367501 2100 3932.56 2710.86 1221.71 0.157186
|
||||||
1.3 0.036749 2200 4026.1 2808.7 1217.4 0.157186
|
1.3 0.0367501 2200 4026.1 2808.7 1217.4 0.157186
|
||||||
1.3 0.036749 2300 4120 2906.67 1213.34 0.157186
|
1.3 0.0367501 2300 4120 2906.67 1213.33 0.157186
|
||||||
1.3 0.036749 2400 4214.24 3004.75 1209.49 0.157186
|
1.3 0.0367501 2400 4214.23 3004.75 1209.49 0.157186
|
||||||
1.3 0.036749 2500 4308.78 3102.93 1205.85 0.157186
|
1.3 0.0367501 2500 4308.77 3102.92 1205.85 0.157186
|
||||||
1.3 0.036749 2600 4403.59 3201.2 1202.39 0.157186
|
1.3 0.0367501 2600 4403.58 3201.19 1202.39 0.157186
|
||||||
1.3 0.036749 2700 4498.64 3299.55 1199.1 0.157186
|
1.3 0.0367501 2700 4498.64 3299.55 1199.09 0.157186
|
||||||
1.3 0.036749 2800 4593.93 3397.98 1195.95 0.157186
|
1.3 0.0367501 2800 4593.92 3397.98 1195.95 0.157186
|
||||||
1.3 0.036749 2900 4689.41 3496.47 1192.94 0.157186
|
1.3 0.0367501 2900 4689.41 3496.47 1192.94 0.157186
|
||||||
1.3 0.036749 3000 4785.08 3595.03 1190.05 0.157186
|
1.3 0.0367501 3000 4785.08 3595.03 1190.05 0.157186
|
||||||
1.35 0.0381085 300 2337.22 2284.81 52.4071 0.00433972
|
1.35 0.0381097 300 2337.2 2284.79 52.412 0.00434014
|
||||||
1.35 0.0381085 400 2417.86 2351.26 66.5995 0.00554164
|
1.35 0.0381097 400 2417.84 2351.24 66.6057 0.00554218
|
||||||
1.35 0.0381085 500 2498.92 2415.97 82.9529 0.00693573
|
1.35 0.0381097 500 2498.91 2415.95 82.9607 0.00693641
|
||||||
1.35 0.0381085 600 2580.5 2478.98 101.521 0.00853552
|
1.35 0.0381097 600 2580.49 2478.96 101.531 0.00853635
|
||||||
1.35 0.0381085 700 2662.86 2540.35 122.511 0.0103912
|
1.35 0.0381097 700 2662.85 2540.32 122.523 0.0103923
|
||||||
1.35 0.0381085 800 2746.28 2599.55 146.723 0.0126984
|
1.35 0.0381097 800 2746.26 2599.53 146.737 0.0126998
|
||||||
1.35 0.0381085 900 2830.89 2656.76 174.134 0.0154276
|
1.35 0.0381097 900 2830.88 2656.73 174.152 0.0154295
|
||||||
1.35 0.0381085 1000 2916.55 2709.71 206.844 0.019053
|
1.35 0.0381097 1000 2916.54 2709.67 206.872 0.019057
|
||||||
1.35 0.0381085 1100 3003.06 2730.19 272.876 0.0288045
|
1.35 0.0381097 1100 3003.05 2730.09 272.96 0.0288177
|
||||||
1.35 0.0381085 1200 3090.5 2248.91 841.581 0.107374
|
1.35 0.0381097 1200 3090.48 2251.76 838.725 0.106808
|
||||||
1.35 0.0381085 1300 3178.78 2335.75 843.033 0.0994404
|
1.35 0.0381097 1300 3178.77 2336.41 842.362 0.0992999
|
||||||
1.35 0.0381085 1400 3267.86 2107.38 1160.49 0.154318
|
1.35 0.0381097 1400 3267.85 2107.34 1160.51 0.154319
|
||||||
1.35 0.0381085 1500 3357.67 2235.65 1122.02 0.137482
|
1.35 0.0381097 1500 3357.67 2235.58 1122.08 0.13749
|
||||||
1.35 0.0381085 1600 3448.16 2216.05 1232.1 0.154753
|
1.35 0.0381097 1600 3448.15 2216.05 1232.1 0.154753
|
||||||
1.35 0.0381085 1700 3539.26 2313.09 1226.17 0.154753
|
1.35 0.0381097 1700 3539.25 2313.09 1226.17 0.154753
|
||||||
1.35 0.0381085 1800 3630.93 2410.31 1220.62 0.154753
|
1.35 0.0381097 1800 3630.93 2410.31 1220.62 0.154753
|
||||||
1.35 0.0381085 1900 3723.13 2507.71 1215.42 0.154753
|
1.35 0.0381097 1900 3723.12 2507.71 1215.42 0.154753
|
||||||
1.35 0.0381085 2000 3815.81 2605.27 1210.54 0.154753
|
1.35 0.0381097 2000 3815.8 2605.27 1210.53 0.154753
|
||||||
1.35 0.0381085 2100 3908.93 2702.98 1205.95 0.154753
|
1.35 0.0381097 2100 3908.92 2702.97 1205.95 0.154753
|
||||||
1.35 0.0381085 2200 4002.45 2800.82 1201.63 0.154753
|
1.35 0.0381097 2200 4002.44 2800.81 1201.63 0.154753
|
||||||
1.35 0.0381085 2300 4096.33 2898.78 1197.55 0.154753
|
1.35 0.0381097 2300 4096.33 2898.78 1197.55 0.154753
|
||||||
1.35 0.0381085 2400 4190.55 2996.85 1193.7 0.154753
|
1.35 0.0381097 2400 4190.55 2996.85 1193.7 0.154753
|
||||||
1.35 0.0381085 2500 4285.07 3095.03 1190.05 0.154753
|
1.35 0.0381097 2500 4285.07 3095.02 1190.04 0.154753
|
||||||
1.35 0.0381085 2600 4379.87 3193.29 1186.58 0.154753
|
1.35 0.0381097 2600 4379.86 3193.29 1186.58 0.154753
|
||||||
1.35 0.0381085 2700 4474.91 3291.64 1183.27 0.154753
|
1.35 0.0381097 2700 4474.91 3291.64 1183.27 0.154753
|
||||||
1.35 0.0381085 2800 4570.18 3390.06 1180.12 0.154753
|
1.35 0.0381097 2800 4570.18 3390.06 1180.12 0.154753
|
||||||
1.35 0.0381085 2900 4665.66 3488.55 1177.1 0.154753
|
1.35 0.0381097 2900 4665.65 3488.55 1177.1 0.154753
|
||||||
1.35 0.0381085 3000 4761.31 3587.11 1174.21 0.154753
|
1.35 0.0381097 3000 4761.31 3587.1 1174.21 0.154753
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -26,35 +26,35 @@ H2
|
|||||||
|
|
||||||
CH4
|
CH4
|
||||||
{
|
{
|
||||||
fuel CH4(ANHARMONIC);
|
fuel CH4___ANHARMONIC;
|
||||||
n 1;
|
n 1;
|
||||||
m 4;
|
m 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
ETHYLENE
|
ETHYLENE
|
||||||
{
|
{
|
||||||
fuel ETHYLENE;
|
fuel C2H4;
|
||||||
n 2;
|
n 2;
|
||||||
m 4;
|
m 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
PROPANE
|
PROPANE
|
||||||
{
|
{
|
||||||
fuel PROPANE;
|
fuel C3H8;
|
||||||
n 3;
|
n 3;
|
||||||
m 8;
|
m 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
OCTANE
|
OCTANE
|
||||||
{
|
{
|
||||||
fuel ISOOCTANE;
|
fuel C8H18(L)_isooctane;
|
||||||
n 8;
|
n 8;
|
||||||
m 18;
|
m 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
C7H16
|
N-HEPTANE
|
||||||
{
|
{
|
||||||
fuel C7H16;
|
fuel C7H16_n-heptane;
|
||||||
n 7;
|
n 7;
|
||||||
m 16;
|
m 16;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -78,38 +78,39 @@ int main(int argc, char *argv[])
|
|||||||
scalar m(readScalar(control.lookup("m")));
|
scalar m(readScalar(control.lookup("m")));
|
||||||
|
|
||||||
|
|
||||||
Info<< nl << "Reading Burcat data dictionary" << endl;
|
Info<< nl << "Reading thermodynamic data dictionary" << endl;
|
||||||
|
|
||||||
fileName BurcatCpDataFileName(findEtcFile("thermoData/BurcatCpData"));
|
fileName thermoDataFileName(findEtcFile("thermoData/thermoData"));
|
||||||
|
|
||||||
// Construct control dictionary
|
// Construct control dictionary
|
||||||
IFstream BurcatCpDataFile(BurcatCpDataFileName);
|
IFstream thermoDataFile(thermoDataFileName);
|
||||||
|
|
||||||
// Check BurcatCpData stream is OK
|
// Check thermoData stream is OK
|
||||||
if (!BurcatCpDataFile.good())
|
if (!thermoDataFile.good())
|
||||||
{
|
{
|
||||||
FatalErrorIn(args.executable())
|
FatalErrorIn(args.executable())
|
||||||
<< "Cannot read file " << BurcatCpDataFileName
|
<< "Cannot read file " << thermoDataFileName
|
||||||
<< abort(FatalError);
|
<< abort(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
dictionary thermoData(BurcatCpDataFile);
|
dictionary thermoData(thermoDataFile);
|
||||||
|
|
||||||
|
|
||||||
Info<< nl << "Reading Burcat data for relevant species" << nl << endl;
|
Info<< nl << "Reading thermodynamic data for relevant species"
|
||||||
|
<< nl << endl;
|
||||||
|
|
||||||
// Reactants
|
// Reactants
|
||||||
thermo FUEL(thermoData.lookup(fuelName));
|
thermo FUEL(thermoData.subDict(fuelName));
|
||||||
thermo O2(thermoData.lookup("O2"));
|
thermo O2(thermoData.subDict("O2"));
|
||||||
thermo N2(thermoData.lookup("N2"));
|
thermo N2(thermoData.subDict("N2"));
|
||||||
|
|
||||||
// Products
|
// Products
|
||||||
thermo CO2(thermoData.lookup("CO2"));
|
thermo CO2(thermoData.subDict("CO2"));
|
||||||
thermo H2O(thermoData.lookup("H2O"));
|
thermo H2O(thermoData.subDict("H2O"));
|
||||||
|
|
||||||
// Product fragments
|
// Product fragments
|
||||||
thermo CO(thermoData.lookup("CO"));
|
thermo CO(thermoData.subDict("CO"));
|
||||||
thermo H2(thermoData.lookup("H2"));
|
thermo H2(thermoData.subDict("H2"));
|
||||||
|
|
||||||
|
|
||||||
// Product dissociation reactions
|
// Product dissociation reactions
|
||||||
|
|||||||
@ -1,13 +1,30 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
note "settings for calculating the adiabatic flame temperature";
|
||||||
|
class dictionary;
|
||||||
|
object controlDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
P 1e5;
|
P 1e5;
|
||||||
T0 293;
|
T0 300;
|
||||||
|
|
||||||
reactants
|
reactants
|
||||||
3
|
3
|
||||||
(
|
(
|
||||||
//reactant volume fraction
|
//reactant volume fraction
|
||||||
H2 0.29577
|
H2 0.29577
|
||||||
O2 0.14788
|
O2 0.14788
|
||||||
N2 0.55635
|
N2 0.55635
|
||||||
)
|
)
|
||||||
hydrogen;
|
hydrogen;
|
||||||
|
|
||||||
@ -15,9 +32,10 @@ hydrogen;
|
|||||||
products
|
products
|
||||||
2
|
2
|
||||||
(
|
(
|
||||||
H2O 0.3471
|
H2O 0.3471
|
||||||
N2 0.6529
|
N2 0.6529
|
||||||
)
|
)
|
||||||
waterVapour;
|
waterVapour;
|
||||||
|
|
||||||
end;
|
|
||||||
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -76,45 +76,45 @@ int main(int argc, char *argv[])
|
|||||||
mixture pMix(control.lookup("products"));
|
mixture pMix(control.lookup("products"));
|
||||||
|
|
||||||
|
|
||||||
Info<< nl << "Reading Burcat data dictionary" << endl;
|
Info<< nl << "Reading thermodynamic data dictionary" << endl;
|
||||||
|
|
||||||
fileName BurcatCpDataFileName(findEtcFile("thermoData/BurcatCpData"));
|
fileName thermoDataFileName(findEtcFile("thermoData/thermoData"));
|
||||||
|
|
||||||
// Construct control dictionary
|
// Construct control dictionary
|
||||||
IFstream BurcatCpDataFile(BurcatCpDataFileName);
|
IFstream thermoDataFile(thermoDataFileName);
|
||||||
|
|
||||||
// Check BurcatCpData stream is OK
|
// Check thermoData stream is OK
|
||||||
if (!BurcatCpDataFile.good())
|
if (!thermoDataFile.good())
|
||||||
{
|
{
|
||||||
FatalErrorIn(args.executable())
|
FatalErrorIn(args.executable())
|
||||||
<< "Cannot read file " << BurcatCpDataFileName
|
<< "Cannot read file " << thermoDataFileName
|
||||||
<< abort(FatalError);
|
<< abort(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
dictionary CpData(BurcatCpDataFile);
|
dictionary thermoData(thermoDataFile);
|
||||||
|
|
||||||
|
|
||||||
thermo reactants
|
thermo reactants
|
||||||
(
|
(
|
||||||
rMix[0].volFrac()*thermo(CpData.lookup(rMix[0].name()))
|
rMix[0].volFrac()*thermo(thermoData.subDict(rMix[0].name()))
|
||||||
);
|
);
|
||||||
|
|
||||||
for (label i = 1; i < rMix.size(); i++)
|
for (label i = 1; i < rMix.size(); i++)
|
||||||
{
|
{
|
||||||
reactants = reactants
|
reactants = reactants
|
||||||
+ rMix[i].volFrac()*thermo(CpData.lookup(rMix[i].name()));
|
+ rMix[i].volFrac()*thermo(thermoData.subDict(rMix[i].name()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
thermo products
|
thermo products
|
||||||
(
|
(
|
||||||
2*pMix[0].volFrac()*thermo(CpData.lookup(pMix[0].name()))
|
2*pMix[0].volFrac()*thermo(thermoData.subDict(pMix[0].name()))
|
||||||
);
|
);
|
||||||
|
|
||||||
for (label i = 1; i < pMix.size(); i++)
|
for (label i = 1; i < pMix.size(); i++)
|
||||||
{
|
{
|
||||||
products = products
|
products = products
|
||||||
+ 2*pMix[i].volFrac()*thermo(CpData.lookup(pMix[i].name()));
|
+ 2*pMix[i].volFrac()*thermo(thermoData.subDict(pMix[i].name()));
|
||||||
}
|
}
|
||||||
|
|
||||||
Info<< "Adiabatic flame temperature of mixture " << rMix.name() << " = "
|
Info<< "Adiabatic flame temperature of mixture " << rMix.name() << " = "
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -48,6 +48,7 @@ namespace Foam
|
|||||||
// Forward declaration of classes
|
// Forward declaration of classes
|
||||||
class objectRegistry;
|
class objectRegistry;
|
||||||
class dictionary;
|
class dictionary;
|
||||||
|
class polyMesh;
|
||||||
class mapPolyMesh;
|
class mapPolyMesh;
|
||||||
class fvMesh;
|
class fvMesh;
|
||||||
|
|
||||||
@ -131,7 +132,7 @@ public:
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
//- Update for changes of mesh
|
//- Update for changes of mesh
|
||||||
virtual void movePoints(const pointField&)
|
virtual void movePoints(const polyMesh&)
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
# ========= |
|
# ========= |
|
||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
# \\ / O peration |
|
# \\ / O peration |
|
||||||
# \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
# \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
# \\/ M anipulation |
|
# \\/ M anipulation |
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
@ -402,7 +402,7 @@ case SYSTEMOPENMPI:
|
|||||||
breaksw
|
breaksw
|
||||||
|
|
||||||
case OPENMPI:
|
case OPENMPI:
|
||||||
setenv FOAM_MPI openmpi-1.5.4
|
setenv FOAM_MPI openmpi-1.6.3
|
||||||
# optional configuration tweaks:
|
# optional configuration tweaks:
|
||||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/openmpi.csh`
|
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/openmpi.csh`
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
# ========= |
|
# ========= |
|
||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
# \\ / O peration |
|
# \\ / O peration |
|
||||||
# \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
# \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
# \\/ M anipulation |
|
# \\/ M anipulation |
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
@ -429,7 +429,7 @@ SYSTEMOPENMPI)
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
OPENMPI)
|
OPENMPI)
|
||||||
export FOAM_MPI=openmpi-1.5.4
|
export FOAM_MPI=openmpi-1.6.3
|
||||||
# optional configuration tweaks:
|
# optional configuration tweaks:
|
||||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/openmpi.sh`
|
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/openmpi.sh`
|
||||||
|
|
||||||
|
|||||||
@ -888,7 +888,7 @@ DebugSwitches
|
|||||||
waveTransmissive 0;
|
waveTransmissive 0;
|
||||||
wedge 0;
|
wedge 0;
|
||||||
weighted 0;
|
weighted 0;
|
||||||
word 2;
|
word 0;
|
||||||
writer 0;
|
writer 0;
|
||||||
xmgr 0;
|
xmgr 0;
|
||||||
zeroGradient 0;
|
zeroGradient 0;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
12706
etc/thermoData/therm.dat
12706
etc/thermoData/therm.dat
File diff suppressed because it is too large
Load Diff
37338
etc/thermoData/thermoData
Normal file
37338
etc/thermoData/thermoData
Normal file
File diff suppressed because it is too large
Load Diff
@ -284,7 +284,8 @@ $(lduInterfaceFields)/cyclicLduInterfaceField/cyclicLduInterfaceField.C
|
|||||||
GAMG = $(lduMatrix)/solvers/GAMG
|
GAMG = $(lduMatrix)/solvers/GAMG
|
||||||
$(GAMG)/GAMGSolver.C
|
$(GAMG)/GAMGSolver.C
|
||||||
$(GAMG)/GAMGSolverAgglomerateMatrix.C
|
$(GAMG)/GAMGSolverAgglomerateMatrix.C
|
||||||
$(GAMG)/GAMGSolverScalingFactor.C
|
$(GAMG)/GAMGSolverInterpolate.C
|
||||||
|
$(GAMG)/GAMGSolverScale.C
|
||||||
$(GAMG)/GAMGSolverSolve.C
|
$(GAMG)/GAMGSolverSolve.C
|
||||||
|
|
||||||
GAMGInterfaces = $(GAMG)/interfaces
|
GAMGInterfaces = $(GAMG)/interfaces
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -334,7 +334,7 @@ Foam::Time::Time
|
|||||||
writeVersion_(IOstream::currentVersion),
|
writeVersion_(IOstream::currentVersion),
|
||||||
writeCompression_(IOstream::UNCOMPRESSED),
|
writeCompression_(IOstream::UNCOMPRESSED),
|
||||||
graphFormat_("raw"),
|
graphFormat_("raw"),
|
||||||
runTimeModifiable_(true),
|
runTimeModifiable_(false),
|
||||||
|
|
||||||
functionObjects_(*this, enableFunctionObjects)
|
functionObjects_(*this, enableFunctionObjects)
|
||||||
{
|
{
|
||||||
@ -427,7 +427,7 @@ Foam::Time::Time
|
|||||||
writeVersion_(IOstream::currentVersion),
|
writeVersion_(IOstream::currentVersion),
|
||||||
writeCompression_(IOstream::UNCOMPRESSED),
|
writeCompression_(IOstream::UNCOMPRESSED),
|
||||||
graphFormat_("raw"),
|
graphFormat_("raw"),
|
||||||
runTimeModifiable_(true),
|
runTimeModifiable_(false),
|
||||||
|
|
||||||
functionObjects_(*this, !args.optionFound("noFunctionObjects"))
|
functionObjects_(*this, !args.optionFound("noFunctionObjects"))
|
||||||
{
|
{
|
||||||
@ -523,7 +523,7 @@ Foam::Time::Time
|
|||||||
writeVersion_(IOstream::currentVersion),
|
writeVersion_(IOstream::currentVersion),
|
||||||
writeCompression_(IOstream::UNCOMPRESSED),
|
writeCompression_(IOstream::UNCOMPRESSED),
|
||||||
graphFormat_("raw"),
|
graphFormat_("raw"),
|
||||||
runTimeModifiable_(true),
|
runTimeModifiable_(false),
|
||||||
|
|
||||||
functionObjects_(*this, enableFunctionObjects)
|
functionObjects_(*this, enableFunctionObjects)
|
||||||
{
|
{
|
||||||
@ -619,7 +619,7 @@ Foam::Time::Time
|
|||||||
writeVersion_(IOstream::currentVersion),
|
writeVersion_(IOstream::currentVersion),
|
||||||
writeCompression_(IOstream::UNCOMPRESSED),
|
writeCompression_(IOstream::UNCOMPRESSED),
|
||||||
graphFormat_("raw"),
|
graphFormat_("raw"),
|
||||||
runTimeModifiable_(true),
|
runTimeModifiable_(false),
|
||||||
|
|
||||||
functionObjects_(*this, enableFunctionObjects)
|
functionObjects_(*this, enableFunctionObjects)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -71,6 +71,7 @@ Foam::GAMGSolver::GAMGSolver
|
|||||||
postSweepsLevelMultiplier_(1),
|
postSweepsLevelMultiplier_(1),
|
||||||
maxPostSweeps_(4),
|
maxPostSweeps_(4),
|
||||||
nFinestSweeps_(2),
|
nFinestSweeps_(2),
|
||||||
|
interpolateCorrection_(false),
|
||||||
scaleCorrection_(matrix.symmetric()),
|
scaleCorrection_(matrix.symmetric()),
|
||||||
directSolveCoarsest_(false),
|
directSolveCoarsest_(false),
|
||||||
agglomeration_(GAMGAgglomeration::New(matrix_, controlDict_)),
|
agglomeration_(GAMGAgglomeration::New(matrix_, controlDict_)),
|
||||||
@ -174,6 +175,7 @@ void Foam::GAMGSolver::readControls()
|
|||||||
);
|
);
|
||||||
controlDict_.readIfPresent("maxPostSweeps", maxPostSweeps_);
|
controlDict_.readIfPresent("maxPostSweeps", maxPostSweeps_);
|
||||||
controlDict_.readIfPresent("nFinestSweeps", nFinestSweeps_);
|
controlDict_.readIfPresent("nFinestSweeps", nFinestSweeps_);
|
||||||
|
controlDict_.readIfPresent("interpolateCorrection", interpolateCorrection_);
|
||||||
controlDict_.readIfPresent("scaleCorrection", scaleCorrection_);
|
controlDict_.readIfPresent("scaleCorrection", scaleCorrection_);
|
||||||
controlDict_.readIfPresent("directSolveCoarsest", directSolveCoarsest_);
|
controlDict_.readIfPresent("directSolveCoarsest", directSolveCoarsest_);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -46,6 +46,8 @@ SourceFiles
|
|||||||
GAMGSolverCalcAgglomeration.C
|
GAMGSolverCalcAgglomeration.C
|
||||||
GAMGSolverMakeCoarseMatrix.C
|
GAMGSolverMakeCoarseMatrix.C
|
||||||
GAMGSolverOperations.C
|
GAMGSolverOperations.C
|
||||||
|
GAMGSolverInterpolate.C
|
||||||
|
GAMGSolverScale.C
|
||||||
GAMGSolverSolve.C
|
GAMGSolverSolve.C
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
@ -97,6 +99,10 @@ class GAMGSolver
|
|||||||
//- Number of smoothing sweeps on finest mesh
|
//- Number of smoothing sweeps on finest mesh
|
||||||
label nFinestSweeps_;
|
label nFinestSweeps_;
|
||||||
|
|
||||||
|
//- Choose if the corrections should be interpolated after injection.
|
||||||
|
// By default corrections are not interpolated.
|
||||||
|
bool interpolateCorrection_;
|
||||||
|
|
||||||
//- Choose if the corrections should be scaled.
|
//- Choose if the corrections should be scaled.
|
||||||
// By default corrections for symmetric matrices are scaled
|
// By default corrections for symmetric matrices are scaled
|
||||||
// but not for asymmetric matrices.
|
// but not for asymmetric matrices.
|
||||||
@ -154,32 +160,34 @@ class GAMGSolver
|
|||||||
//- Agglomerate coarse matrix
|
//- Agglomerate coarse matrix
|
||||||
void agglomerateMatrix(const label fineLevelIndex);
|
void agglomerateMatrix(const label fineLevelIndex);
|
||||||
|
|
||||||
//- Calculate and return the scaling factor from Acf, coarseSource
|
//- Interpolate the correction after injected prolongation
|
||||||
|
void interpolate
|
||||||
|
(
|
||||||
|
scalarField& psi,
|
||||||
|
scalarField& Apsi,
|
||||||
|
const lduMatrix& m,
|
||||||
|
const FieldField<Field, scalar>& interfaceBouCoeffs,
|
||||||
|
const lduInterfaceFieldPtrsList& interfaces,
|
||||||
|
const scalarField& source,
|
||||||
|
const direction cmpt
|
||||||
|
) const;
|
||||||
|
|
||||||
|
//- Calculate and apply the scaling factor from Acf, coarseSource
|
||||||
// and coarseField.
|
// and coarseField.
|
||||||
// At the same time do a Jacobi iteration on the coarseField using
|
// At the same time do a Jacobi iteration on the coarseField using
|
||||||
// the Acf provided after the coarseField values are used for the
|
// the Acf provided after the coarseField values are used for the
|
||||||
// scaling factor.
|
// scaling factor.
|
||||||
scalar scalingFactor
|
void scale
|
||||||
(
|
(
|
||||||
scalarField& field,
|
scalarField& field,
|
||||||
const scalarField& source,
|
|
||||||
const scalarField& Acf,
|
|
||||||
const scalarField& D
|
|
||||||
) const;
|
|
||||||
|
|
||||||
//- Calculate Acf and calculate and return the scaling factor.
|
|
||||||
scalar scalingFactor
|
|
||||||
(
|
|
||||||
scalarField& Acf,
|
scalarField& Acf,
|
||||||
const lduMatrix& A,
|
const lduMatrix& A,
|
||||||
scalarField& field,
|
|
||||||
const FieldField<Field, scalar>& interfaceLevelBouCoeffs,
|
const FieldField<Field, scalar>& interfaceLevelBouCoeffs,
|
||||||
const lduInterfaceFieldPtrsList& interfaceLevel,
|
const lduInterfaceFieldPtrsList& interfaceLevel,
|
||||||
const scalarField& source,
|
const scalarField& source,
|
||||||
const direction cmpt
|
const direction cmpt
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
|
|
||||||
//- Initialise the data structures for the V-cycle
|
//- Initialise the data structures for the V-cycle
|
||||||
void initVcycle
|
void initVcycle
|
||||||
(
|
(
|
||||||
|
|||||||
@ -0,0 +1,86 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2013 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 "GAMGSolver.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
void Foam::GAMGSolver::interpolate
|
||||||
|
(
|
||||||
|
scalarField& psi,
|
||||||
|
scalarField& Apsi,
|
||||||
|
const lduMatrix& m,
|
||||||
|
const FieldField<Field, scalar>& interfaceBouCoeffs,
|
||||||
|
const lduInterfaceFieldPtrsList& interfaces,
|
||||||
|
const scalarField& source,
|
||||||
|
const direction cmpt
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
scalar* __restrict__ psiPtr = psi.begin();
|
||||||
|
|
||||||
|
const label* const __restrict__ uPtr = m.lduAddr().upperAddr().begin();
|
||||||
|
const label* const __restrict__ lPtr = m.lduAddr().lowerAddr().begin();
|
||||||
|
|
||||||
|
const scalar* const __restrict__ diagPtr = m.diag().begin();
|
||||||
|
const scalar* const __restrict__ upperPtr = m.upper().begin();
|
||||||
|
const scalar* const __restrict__ lowerPtr = m.lower().begin();
|
||||||
|
|
||||||
|
Apsi = 0;
|
||||||
|
scalar* __restrict__ ApsiPtr = Apsi.begin();
|
||||||
|
|
||||||
|
m.initMatrixInterfaces
|
||||||
|
(
|
||||||
|
interfaceBouCoeffs,
|
||||||
|
interfaces,
|
||||||
|
psi,
|
||||||
|
Apsi,
|
||||||
|
cmpt
|
||||||
|
);
|
||||||
|
|
||||||
|
register const label nFaces = m.upper().size();
|
||||||
|
for (register label face=0; face<nFaces; face++)
|
||||||
|
{
|
||||||
|
ApsiPtr[uPtr[face]] += lowerPtr[face]*psiPtr[lPtr[face]];
|
||||||
|
ApsiPtr[lPtr[face]] += upperPtr[face]*psiPtr[uPtr[face]];
|
||||||
|
}
|
||||||
|
|
||||||
|
m.updateMatrixInterfaces
|
||||||
|
(
|
||||||
|
interfaceBouCoeffs,
|
||||||
|
interfaces,
|
||||||
|
psi,
|
||||||
|
Apsi,
|
||||||
|
cmpt
|
||||||
|
);
|
||||||
|
|
||||||
|
register const label nCells = m.diag().size();
|
||||||
|
for (register label celli=0; celli<nCells; celli++)
|
||||||
|
{
|
||||||
|
psiPtr[celli] = -ApsiPtr[celli]/(diagPtr[celli]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -28,38 +28,11 @@ License
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::scalar Foam::GAMGSolver::scalingFactor
|
void Foam::GAMGSolver::scale
|
||||||
(
|
(
|
||||||
scalarField& field,
|
scalarField& field,
|
||||||
const scalarField& source,
|
|
||||||
const scalarField& Acf,
|
|
||||||
const scalarField& D
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
scalar scalingFactorNum = 0.0;
|
|
||||||
scalar scalingFactorDenom = 0.0;
|
|
||||||
|
|
||||||
forAll(field, i)
|
|
||||||
{
|
|
||||||
scalingFactorNum += source[i]*field[i];
|
|
||||||
scalingFactorDenom += Acf[i]*field[i];
|
|
||||||
|
|
||||||
// While the matrix-multiply done for the scaling it is
|
|
||||||
// possible to perform a point-Jacobi smoothing operation cheaply
|
|
||||||
field[i] += (source[i] - Acf[i])/D[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
vector2D scalingVector(scalingFactorNum, scalingFactorDenom);
|
|
||||||
reduce(scalingVector, sumOp<vector2D>());
|
|
||||||
return scalingVector.x()/stabilise(scalingVector.y(), VSMALL);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::scalar Foam::GAMGSolver::scalingFactor
|
|
||||||
(
|
|
||||||
scalarField& Acf,
|
scalarField& Acf,
|
||||||
const lduMatrix& A,
|
const lduMatrix& A,
|
||||||
scalarField& field,
|
|
||||||
const FieldField<Field, scalar>& interfaceLevelBouCoeffs,
|
const FieldField<Field, scalar>& interfaceLevelBouCoeffs,
|
||||||
const lduInterfaceFieldPtrsList& interfaceLevel,
|
const lduInterfaceFieldPtrsList& interfaceLevel,
|
||||||
const scalarField& source,
|
const scalarField& source,
|
||||||
@ -75,13 +48,30 @@ Foam::scalar Foam::GAMGSolver::scalingFactor
|
|||||||
cmpt
|
cmpt
|
||||||
);
|
);
|
||||||
|
|
||||||
return scalingFactor
|
scalar scalingFactorNum = 0.0;
|
||||||
(
|
scalar scalingFactorDenom = 0.0;
|
||||||
field,
|
|
||||||
source,
|
forAll(field, i)
|
||||||
Acf,
|
{
|
||||||
A.diag()
|
scalingFactorNum += source[i]*field[i];
|
||||||
);
|
scalingFactorDenom += Acf[i]*field[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
vector2D scalingVector(scalingFactorNum, scalingFactorDenom);
|
||||||
|
reduce(scalingVector, sumOp<vector2D>());
|
||||||
|
scalar sf = scalingVector.x()/stabilise(scalingVector.y(), VSMALL);
|
||||||
|
|
||||||
|
if (debug >= 2)
|
||||||
|
{
|
||||||
|
Pout<< sf << " ";
|
||||||
|
}
|
||||||
|
|
||||||
|
const scalarField& D = A.diag();
|
||||||
|
|
||||||
|
forAll(field, i)
|
||||||
|
{
|
||||||
|
field[i] = sf*field[i] + (source[i] - sf*Acf[i])/D[i];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -28,6 +28,7 @@ License
|
|||||||
#include "BICCG.H"
|
#include "BICCG.H"
|
||||||
#include "SubField.H"
|
#include "SubField.H"
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::solverPerformance Foam::GAMGSolver::solve
|
Foam::solverPerformance Foam::GAMGSolver::solve
|
||||||
@ -173,23 +174,16 @@ void Foam::GAMGSolver::Vcycle
|
|||||||
// but not on the coarsest level because it evaluates to 1
|
// but not on the coarsest level because it evaluates to 1
|
||||||
if (scaleCorrection_ && leveli < coarsestLevel - 1)
|
if (scaleCorrection_ && leveli < coarsestLevel - 1)
|
||||||
{
|
{
|
||||||
scalar sf = scalingFactor
|
scale
|
||||||
(
|
(
|
||||||
|
coarseCorrFields[leveli],
|
||||||
const_cast<scalarField&>(ACf.operator const scalarField&()),
|
const_cast<scalarField&>(ACf.operator const scalarField&()),
|
||||||
matrixLevels_[leveli],
|
matrixLevels_[leveli],
|
||||||
coarseCorrFields[leveli],
|
|
||||||
interfaceLevelsBouCoeffs_[leveli],
|
interfaceLevelsBouCoeffs_[leveli],
|
||||||
interfaceLevels_[leveli],
|
interfaceLevels_[leveli],
|
||||||
coarseSources[leveli],
|
coarseSources[leveli],
|
||||||
cmpt
|
cmpt
|
||||||
);
|
);
|
||||||
|
|
||||||
if (debug >= 2)
|
|
||||||
{
|
|
||||||
Pout<< sf << " ";
|
|
||||||
}
|
|
||||||
|
|
||||||
coarseCorrFields[leveli] *= sf;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Correct the residual with the new solution
|
// Correct the residual with the new solution
|
||||||
@ -246,7 +240,7 @@ void Foam::GAMGSolver::Vcycle
|
|||||||
coarseCorrFields[leveli].size()
|
coarseCorrFields[leveli].size()
|
||||||
);
|
);
|
||||||
|
|
||||||
// Only store the preSmoothedCoarseCorrField is pre-smoothing is used
|
// Only store the preSmoothedCoarseCorrField if pre-smoothing is used
|
||||||
if (nPreSweeps_)
|
if (nPreSweeps_)
|
||||||
{
|
{
|
||||||
preSmoothedCoarseCorrField.assign(coarseCorrFields[leveli]);
|
preSmoothedCoarseCorrField.assign(coarseCorrFields[leveli]);
|
||||||
@ -259,38 +253,47 @@ void Foam::GAMGSolver::Vcycle
|
|||||||
leveli + 1
|
leveli + 1
|
||||||
);
|
);
|
||||||
|
|
||||||
// Scale coarse-grid correction field
|
// Create A.psi for this coarse level as a sub-field of Apsi
|
||||||
// but not on the coarsest level because it evaluates to 1
|
scalarField::subField ACf
|
||||||
if (scaleCorrection_ && leveli < coarsestLevel - 1)
|
(
|
||||||
{
|
Apsi,
|
||||||
// Create A.psi for this coarse level as a sub-field of Apsi
|
coarseCorrFields[leveli].size()
|
||||||
scalarField::subField ACf
|
);
|
||||||
(
|
|
||||||
Apsi,
|
|
||||||
coarseCorrFields[leveli].size()
|
|
||||||
);
|
|
||||||
|
|
||||||
scalar sf = scalingFactor
|
scalarField& ACfRef =
|
||||||
|
const_cast<scalarField&>(ACf.operator const scalarField&());
|
||||||
|
|
||||||
|
if (interpolateCorrection_)
|
||||||
|
{
|
||||||
|
interpolate
|
||||||
(
|
(
|
||||||
const_cast<scalarField&>(ACf.operator const scalarField&()),
|
|
||||||
matrixLevels_[leveli],
|
|
||||||
coarseCorrFields[leveli],
|
coarseCorrFields[leveli],
|
||||||
|
ACfRef,
|
||||||
|
matrixLevels_[leveli],
|
||||||
interfaceLevelsBouCoeffs_[leveli],
|
interfaceLevelsBouCoeffs_[leveli],
|
||||||
interfaceLevels_[leveli],
|
interfaceLevels_[leveli],
|
||||||
coarseSources[leveli],
|
coarseSources[leveli],
|
||||||
cmpt
|
cmpt
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
if (debug >= 2)
|
|
||||||
{
|
|
||||||
Pout<< sf << " ";
|
|
||||||
}
|
|
||||||
|
|
||||||
coarseCorrFields[leveli] *= sf;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only add the preSmoothedCoarseCorrField is pre-smoothing is used
|
// Scale coarse-grid correction field
|
||||||
|
// but not on the coarsest level because it evaluates to 1
|
||||||
|
if (scaleCorrection_ && leveli < coarsestLevel - 1)
|
||||||
|
{
|
||||||
|
scale
|
||||||
|
(
|
||||||
|
coarseCorrFields[leveli],
|
||||||
|
ACfRef,
|
||||||
|
matrixLevels_[leveli],
|
||||||
|
interfaceLevelsBouCoeffs_[leveli],
|
||||||
|
interfaceLevels_[leveli],
|
||||||
|
coarseSources[leveli],
|
||||||
|
cmpt
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only add the preSmoothedCoarseCorrField if pre-smoothing is used
|
||||||
if (nPreSweeps_)
|
if (nPreSweeps_)
|
||||||
{
|
{
|
||||||
coarseCorrFields[leveli] += preSmoothedCoarseCorrField;
|
coarseCorrFields[leveli] += preSmoothedCoarseCorrField;
|
||||||
@ -317,36 +320,38 @@ void Foam::GAMGSolver::Vcycle
|
|||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
|
||||||
if (scaleCorrection_)
|
if (interpolateCorrection_)
|
||||||
{
|
{
|
||||||
// Calculate finest level scaling factor
|
interpolate
|
||||||
scalar fsf = scalingFactor
|
|
||||||
(
|
(
|
||||||
|
finestCorrection,
|
||||||
Apsi,
|
Apsi,
|
||||||
matrix_,
|
matrix_,
|
||||||
finestCorrection,
|
|
||||||
interfaceBouCoeffs_,
|
interfaceBouCoeffs_,
|
||||||
interfaces_,
|
interfaces_,
|
||||||
finestResidual,
|
finestResidual,
|
||||||
cmpt
|
cmpt
|
||||||
);
|
);
|
||||||
|
|
||||||
if (debug >= 2)
|
|
||||||
{
|
|
||||||
Pout<< fsf << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
forAll(psi, i)
|
|
||||||
{
|
|
||||||
psi[i] += fsf*finestCorrection[i];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if (scaleCorrection_)
|
||||||
{
|
{
|
||||||
forAll(psi, i)
|
// Scale the finest level correction
|
||||||
{
|
scale
|
||||||
psi[i] += finestCorrection[i];
|
(
|
||||||
}
|
finestCorrection,
|
||||||
|
Apsi,
|
||||||
|
matrix_,
|
||||||
|
interfaceBouCoeffs_,
|
||||||
|
interfaces_,
|
||||||
|
finestResidual,
|
||||||
|
cmpt
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
forAll(psi, i)
|
||||||
|
{
|
||||||
|
psi[i] += finestCorrection[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
smoothers[0].smooth
|
smoothers[0].smooth
|
||||||
|
|||||||
@ -92,35 +92,6 @@ reconstruct
|
|||||||
|
|
||||||
return treconField;
|
return treconField;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
{
|
|
||||||
typedef typename outerProduct<vector, Type>::type GradType;
|
|
||||||
|
|
||||||
const fvMesh& mesh = ssf.mesh();
|
|
||||||
|
|
||||||
tmp<GeometricField<GradType, fvPatchField, volMesh> > treconField
|
|
||||||
(
|
|
||||||
new GeometricField<GradType, fvPatchField, volMesh>
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"volIntegrate("+ssf.name()+')',
|
|
||||||
ssf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
inv(surfaceSum(sqr(mesh.Sf())/mesh.magSf()))
|
|
||||||
& surfaceSum((mesh.Sf()/mesh.magSf())*ssf),
|
|
||||||
zeroGradientFvPatchField<GradType>::typeName
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
treconField().correctBoundaryConditions();
|
|
||||||
|
|
||||||
return treconField;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
template<class Type>
|
||||||
|
|||||||
@ -98,21 +98,8 @@ Foam::fv::correctedSnGrad<Type>::correction
|
|||||||
ssf.replace
|
ssf.replace
|
||||||
(
|
(
|
||||||
cmpt,
|
cmpt,
|
||||||
mesh.nonOrthCorrectionVectors()
|
correctedSnGrad<typename pTraits<Type>::cmptType>(mesh)
|
||||||
& linear
|
.fullGradCorrection(vf.component(cmpt))
|
||||||
<
|
|
||||||
typename
|
|
||||||
outerProduct<vector, typename pTraits<Type>::cmptType>::type
|
|
||||||
>(mesh).interpolate
|
|
||||||
(
|
|
||||||
gradScheme<typename pTraits<Type>::cmptType>::New
|
|
||||||
(
|
|
||||||
mesh,
|
|
||||||
mesh.gradScheme("grad(" + ssf.name() + ')')
|
|
||||||
)()
|
|
||||||
//gaussGrad<typename pTraits<Type>::cmptType>(mesh)
|
|
||||||
.grad(vf.component(cmpt))
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -28,11 +28,12 @@ $(derivedSources)/rotorDiskSource/trimModel/trimModel/trimModelNew.C
|
|||||||
$(derivedSources)/rotorDiskSource/trimModel/fixed/fixedTrim.C
|
$(derivedSources)/rotorDiskSource/trimModel/fixed/fixedTrim.C
|
||||||
$(derivedSources)/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C
|
$(derivedSources)/rotorDiskSource/trimModel/targetCoeff/targetCoeffTrim.C
|
||||||
|
|
||||||
interRegion = $(derivedSources)/interRegionHeatTransferModel
|
interRegion = sources/interRegion
|
||||||
$(interRegion)/constantHeatTransfer/constantHeatTransfer.C
|
$(interRegion)/interRegionHeatTransferModel/constantHeatTransfer/constantHeatTransfer.C
|
||||||
$(interRegion)/interRegionHeatTransferModel/interRegionHeatTransferModel.C
|
$(interRegion)/interRegionHeatTransferModel/interRegionHeatTransferModel/interRegionHeatTransferModel.C
|
||||||
$(interRegion)/tabulatedHeatTransfer/tabulatedHeatTransfer.C
|
$(interRegion)/interRegionHeatTransferModel/tabulatedHeatTransfer/tabulatedHeatTransfer.C
|
||||||
$(interRegion)/variableHeatTransfer/variableHeatTransfer.C
|
$(interRegion)/interRegionHeatTransferModel/variableHeatTransfer/variableHeatTransfer.C
|
||||||
|
$(interRegion)/interRegionExplicitPorositySource/interRegionExplicitPorositySource.C
|
||||||
|
|
||||||
|
|
||||||
/* constraints */
|
/* constraints */
|
||||||
|
|||||||
@ -45,14 +45,15 @@ Foam::IOobject Foam::fv::IOoptionList::createIOobject
|
|||||||
|
|
||||||
if (io.headerOk())
|
if (io.headerOk())
|
||||||
{
|
{
|
||||||
Info<< "Creating field source list from " << io.name() << nl << endl;
|
Info<< "Creating fintite volume options from " << io.name() << nl
|
||||||
|
<< endl;
|
||||||
|
|
||||||
io.readOpt() = IOobject::MUST_READ_IF_MODIFIED;
|
io.readOpt() = IOobject::MUST_READ_IF_MODIFIED;
|
||||||
return io;
|
return io;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Info<< "No field sources present" << nl << endl;
|
Info<< "No finite volume options present" << nl << endl;
|
||||||
|
|
||||||
io.readOpt() = IOobject::NO_READ;
|
io.readOpt() = IOobject::NO_READ;
|
||||||
return io;
|
return io;
|
||||||
|
|||||||
@ -27,6 +27,7 @@ License
|
|||||||
#include "fvMesh.H"
|
#include "fvMesh.H"
|
||||||
#include "fvMatrices.H"
|
#include "fvMatrices.H"
|
||||||
#include "volFields.H"
|
#include "volFields.H"
|
||||||
|
#include "ListOps.H"
|
||||||
#include "addToRunTimeSelectionTable.H"
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
@ -86,9 +87,7 @@ void Foam::fv::option::setSelection(const dictionary& dict)
|
|||||||
}
|
}
|
||||||
case smMapRegion:
|
case smMapRegion:
|
||||||
{
|
{
|
||||||
dict.lookup("nbrModelName") >> nbrModelName_;
|
|
||||||
dict.lookup("nbrRegionName") >> nbrRegionName_;
|
dict.lookup("nbrRegionName") >> nbrRegionName_;
|
||||||
master_ = readBool(dict.lookup("master"));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case smAll:
|
case smAll:
|
||||||
@ -250,7 +249,8 @@ Foam::fv::option::option
|
|||||||
const word& name,
|
const word& name,
|
||||||
const word& modelType,
|
const word& modelType,
|
||||||
const dictionary& dict,
|
const dictionary& dict,
|
||||||
const fvMesh& mesh
|
const fvMesh& mesh,
|
||||||
|
const bool master
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
name_(name),
|
name_(name),
|
||||||
@ -264,9 +264,8 @@ Foam::fv::option::option
|
|||||||
cellSetName_("none"),
|
cellSetName_("none"),
|
||||||
V_(0.0),
|
V_(0.0),
|
||||||
meshInterpPtr_(),
|
meshInterpPtr_(),
|
||||||
nbrModelName_("none"),
|
|
||||||
nbrRegionName_("none"),
|
nbrRegionName_("none"),
|
||||||
master_(false),
|
master_(master),
|
||||||
fieldNames_(),
|
fieldNames_(),
|
||||||
applied_()
|
applied_()
|
||||||
{
|
{
|
||||||
@ -353,15 +352,7 @@ Foam::label Foam::fv::option::applyToField(const word& fieldName) const
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
forAll(fieldNames_, i)
|
return findIndex(fieldNames_, fieldName);
|
||||||
{
|
|
||||||
if (fieldNames_[i] == fieldName)
|
|
||||||
{
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -134,9 +134,6 @@ protected:
|
|||||||
//- Mesh to mesh interpolation object
|
//- Mesh to mesh interpolation object
|
||||||
autoPtr<meshToMeshNew> meshInterpPtr_;
|
autoPtr<meshToMeshNew> meshInterpPtr_;
|
||||||
|
|
||||||
//- Name of the model in the neighbour mesh
|
|
||||||
word nbrModelName_;
|
|
||||||
|
|
||||||
//- Name of the neighbour region to map
|
//- Name of the neighbour region to map
|
||||||
word nbrRegionName_;
|
word nbrRegionName_;
|
||||||
|
|
||||||
@ -194,7 +191,8 @@ public:
|
|||||||
const word& name,
|
const word& name,
|
||||||
const word& modelType,
|
const word& modelType,
|
||||||
const dictionary& dict,
|
const dictionary& dict,
|
||||||
const fvMesh& mesh
|
const fvMesh& mesh,
|
||||||
|
const bool master = false
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Return clone
|
//- Return clone
|
||||||
@ -288,9 +286,6 @@ public:
|
|||||||
//- Return const access to the total cell volume
|
//- Return const access to the total cell volume
|
||||||
inline scalar V() const;
|
inline scalar V() const;
|
||||||
|
|
||||||
//- Return const access to the neighbour model name
|
|
||||||
inline const word& nbrModelName() const;
|
|
||||||
|
|
||||||
//- Return const access to the neighbour region name
|
//- Return const access to the neighbour region name
|
||||||
inline const word& nbrRegionName() const;
|
inline const word& nbrRegionName() const;
|
||||||
|
|
||||||
|
|||||||
@ -126,12 +126,6 @@ inline Foam::scalar& Foam::fv::option::duration()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline const Foam::word& Foam::fv::option::nbrModelName() const
|
|
||||||
{
|
|
||||||
return nbrModelName_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
inline const Foam::word& Foam::fv::option::nbrRegionName() const
|
inline const Foam::word& Foam::fv::option::nbrRegionName() const
|
||||||
{
|
{
|
||||||
return nbrRegionName_;
|
return nbrRegionName_;
|
||||||
|
|||||||
@ -90,8 +90,11 @@ void Foam::fv::option::writeData(Ostream& os) const
|
|||||||
bool Foam::fv::option::read(const dictionary& dict)
|
bool Foam::fv::option::read(const dictionary& dict)
|
||||||
{
|
{
|
||||||
active_ = readBool(dict.lookup("active"));
|
active_ = readBool(dict.lookup("active"));
|
||||||
timeStart_ = readScalar(dict.lookup("timeStart"));
|
|
||||||
duration_ = readScalar(dict.lookup("duration"));
|
if (dict.readIfPresent("timeStart", timeStart_))
|
||||||
|
{
|
||||||
|
dict.lookup("duration") >> duration_;
|
||||||
|
}
|
||||||
|
|
||||||
coeffs_ = dict.subDict(type() + "Coeffs");
|
coeffs_ = dict.subDict(type() + "Coeffs");
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,230 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2012-2013 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, write to the Free Software Foundation,
|
||||||
|
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
\*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "interRegionExplicitPorositySource.H"
|
||||||
|
#include "fvMesh.H"
|
||||||
|
#include "fvMatrices.H"
|
||||||
|
#include "porosityModel.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace fv
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(interRegionExplicitPorositySource, 0);
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
option,
|
||||||
|
interRegionExplicitPorositySource,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
|
||||||
|
|
||||||
|
void Foam::fv::interRegionExplicitPorositySource::initialise()
|
||||||
|
{
|
||||||
|
if (!firstIter_)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const word zoneName(name_ + ".porous");
|
||||||
|
|
||||||
|
const fvMesh& nbrMesh = mesh_.time().lookupObject<fvMesh>(nbrRegionName_);
|
||||||
|
const cellZoneMesh& cellZones = nbrMesh.cellZones();
|
||||||
|
label zoneID = cellZones.findZoneID(zoneName);
|
||||||
|
|
||||||
|
if (zoneID == -1)
|
||||||
|
{
|
||||||
|
cellZoneMesh& cz = const_cast<cellZoneMesh&>(cellZones);
|
||||||
|
|
||||||
|
zoneID = cz.size();
|
||||||
|
|
||||||
|
cz.setSize(zoneID + 1);
|
||||||
|
|
||||||
|
cz.set
|
||||||
|
(
|
||||||
|
zoneID,
|
||||||
|
new cellZone
|
||||||
|
(
|
||||||
|
zoneName,
|
||||||
|
nbrMesh.faceNeighbour(), // neighbour internal cells
|
||||||
|
zoneID,
|
||||||
|
cellZones
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
cz.clearAddressing();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FatalErrorIn
|
||||||
|
(
|
||||||
|
"void Foam::fv::interRegionExplicitPorositySource::initialise()"
|
||||||
|
)
|
||||||
|
<< "Unable to create porous cellZone " << zoneName
|
||||||
|
<< ": zone already exists"
|
||||||
|
<< abort(FatalError);
|
||||||
|
}
|
||||||
|
|
||||||
|
porosityPtr_.reset
|
||||||
|
(
|
||||||
|
porosityModel::New
|
||||||
|
(
|
||||||
|
name_,
|
||||||
|
nbrMesh,
|
||||||
|
coeffs_,
|
||||||
|
zoneName
|
||||||
|
).ptr()
|
||||||
|
),
|
||||||
|
|
||||||
|
firstIter_ = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::fv::interRegionExplicitPorositySource::interRegionExplicitPorositySource
|
||||||
|
(
|
||||||
|
const word& name,
|
||||||
|
const word& modelType,
|
||||||
|
const dictionary& dict,
|
||||||
|
const fvMesh& mesh
|
||||||
|
)
|
||||||
|
:
|
||||||
|
option(name, modelType, dict, mesh, true),
|
||||||
|
porosityPtr_(NULL),
|
||||||
|
firstIter_(-1),
|
||||||
|
UName_(coeffs_.lookupOrDefault<word>("UName", "U")),
|
||||||
|
rhoName_(coeffs_.lookupOrDefault<word>("rhoName", "rho")),
|
||||||
|
muName_(coeffs_.lookupOrDefault<word>("muName", "thermo:mu"))
|
||||||
|
{
|
||||||
|
if (active_)
|
||||||
|
{
|
||||||
|
fieldNames_.setSize(1, UName_);
|
||||||
|
applied_.setSize(1, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
void Foam::fv::interRegionExplicitPorositySource::addSup
|
||||||
|
(
|
||||||
|
fvMatrix<vector>& eqn,
|
||||||
|
const label fieldI
|
||||||
|
)
|
||||||
|
{
|
||||||
|
initialise();
|
||||||
|
|
||||||
|
const fvMesh& nbrMesh = mesh_.time().lookupObject<fvMesh>(nbrRegionName_);
|
||||||
|
|
||||||
|
const volVectorField& U = eqn.psi();
|
||||||
|
|
||||||
|
volVectorField UNbr
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
name_ + ".UNbr",
|
||||||
|
nbrMesh.time().timeName(),
|
||||||
|
nbrMesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
nbrMesh,
|
||||||
|
dimensionedVector("zero", U.dimensions(), vector::zero)
|
||||||
|
);
|
||||||
|
|
||||||
|
// map local velocity onto neighbour region
|
||||||
|
meshInterp().mapSrcToTgt
|
||||||
|
(
|
||||||
|
U.internalField(),
|
||||||
|
plusEqOp<vector>(),
|
||||||
|
UNbr.internalField()
|
||||||
|
);
|
||||||
|
|
||||||
|
fvMatrix<vector> nbrEqn(UNbr, eqn.dimensions());
|
||||||
|
|
||||||
|
if (eqn.dimensions() == dimForce)
|
||||||
|
{
|
||||||
|
const volScalarField& rhoNbr =
|
||||||
|
nbrMesh.lookupObject<volScalarField>(rhoName_);
|
||||||
|
const volScalarField& muNbr =
|
||||||
|
nbrMesh.lookupObject<volScalarField>(muName_);
|
||||||
|
|
||||||
|
porosityPtr_->addResistance(nbrEqn, rhoNbr, muNbr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
porosityPtr_->addResistance(nbrEqn);
|
||||||
|
}
|
||||||
|
|
||||||
|
// convert source from neighbour to local region
|
||||||
|
fvMatrix<vector> porosityEqn(U, eqn.dimensions());
|
||||||
|
scalarField& Udiag = porosityEqn.diag();
|
||||||
|
vectorField& Usource = porosityEqn.source();
|
||||||
|
|
||||||
|
Udiag.setSize(eqn.diag().size(), 0.0);
|
||||||
|
Usource.setSize(eqn.source().size(), vector::zero);
|
||||||
|
|
||||||
|
meshInterp().mapTgtToSrc(nbrEqn.diag(), plusEqOp<scalar>(), Udiag);
|
||||||
|
meshInterp().mapTgtToSrc(nbrEqn.source(), plusEqOp<vector>(), Usource);
|
||||||
|
|
||||||
|
eqn -= porosityEqn;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::fv::interRegionExplicitPorositySource::writeData(Ostream& os) const
|
||||||
|
{
|
||||||
|
os << indent << name_ << endl;
|
||||||
|
dict_.write(os);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool Foam::fv::interRegionExplicitPorositySource::read(const dictionary& dict)
|
||||||
|
{
|
||||||
|
if (option::read(dict))
|
||||||
|
{
|
||||||
|
coeffs_.readIfPresent("UName", UName_);
|
||||||
|
coeffs_.readIfPresent("rhoName", rhoName_);
|
||||||
|
coeffs_.readIfPresent("muName", muName_);
|
||||||
|
|
||||||
|
// reset the porosity model?
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,177 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2012-2013 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, write to the Free Software Foundation,
|
||||||
|
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::fv::interRegionExplicitPorositySource
|
||||||
|
|
||||||
|
Description
|
||||||
|
Inter-region explicit porosity source
|
||||||
|
|
||||||
|
Sources described by, for example using the DarcyForchheimer model:
|
||||||
|
|
||||||
|
interRegionExplicitPorositySourceCoeffs
|
||||||
|
{
|
||||||
|
type DarcyForchheimer;
|
||||||
|
DarcyForchheimerCoeffs
|
||||||
|
{
|
||||||
|
d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
|
||||||
|
f f [0 -1 0 0 0 0 0] (0 0 0);
|
||||||
|
|
||||||
|
coordinateSystem
|
||||||
|
{
|
||||||
|
e1 (0.70710678 0.70710678 0);
|
||||||
|
e2 (0 0 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Note:
|
||||||
|
The porous region must be selected as a cellZone.
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
interRegionExplicitPorositySource.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef interRegionExplicitPorositySource_H
|
||||||
|
#define interRegionExplicitPorositySource_H
|
||||||
|
|
||||||
|
#include "fvOption.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
class porosityModel;
|
||||||
|
|
||||||
|
namespace fv
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class interRegionExplicitPorositySource Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class interRegionExplicitPorositySource
|
||||||
|
:
|
||||||
|
public option
|
||||||
|
{
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Protected data
|
||||||
|
|
||||||
|
//- Run-time selectable porosity model
|
||||||
|
autoPtr<porosityModel> porosityPtr_;
|
||||||
|
|
||||||
|
//- First iteration
|
||||||
|
bool firstIter_;
|
||||||
|
|
||||||
|
//- Velocity field name, default = U
|
||||||
|
word UName_;
|
||||||
|
|
||||||
|
//- Density field name (compressible case only), default = rho
|
||||||
|
word rhoName_;
|
||||||
|
|
||||||
|
//- Dynamic viscosity field name (compressible case only)
|
||||||
|
// default = thermo:mu
|
||||||
|
word muName_;
|
||||||
|
|
||||||
|
|
||||||
|
// Protected Member Functions
|
||||||
|
|
||||||
|
//- Initialise
|
||||||
|
void initialise();
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Private Member Functions
|
||||||
|
|
||||||
|
//- Disallow default bitwise copy construct
|
||||||
|
interRegionExplicitPorositySource
|
||||||
|
(
|
||||||
|
const interRegionExplicitPorositySource&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Disallow default bitwise assignment
|
||||||
|
void operator=(const interRegionExplicitPorositySource&);
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("interRegionExplicitPorositySource");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
interRegionExplicitPorositySource
|
||||||
|
(
|
||||||
|
const word& name,
|
||||||
|
const word& modelType,
|
||||||
|
const dictionary& dict,
|
||||||
|
const fvMesh& mesh
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~interRegionExplicitPorositySource()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
// Add explicit and implicit contributions
|
||||||
|
|
||||||
|
//- Vector
|
||||||
|
virtual void addSup
|
||||||
|
(
|
||||||
|
fvMatrix<vector>& eqn,
|
||||||
|
const label fieldI
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// I-O
|
||||||
|
|
||||||
|
//- Write data
|
||||||
|
virtual void writeData(Ostream&) const;
|
||||||
|
|
||||||
|
//- Read dictionary
|
||||||
|
virtual bool read(const dictionary& dict);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace fv
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -109,8 +109,9 @@ Foam::fv::interRegionHeatTransferModel::interRegionHeatTransferModel
|
|||||||
const fvMesh& mesh
|
const fvMesh& mesh
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
option(name, modelType, dict, mesh),
|
option(name, modelType, dict, mesh, readBool(dict.lookup("master"))),
|
||||||
nbrModel_(NULL),
|
nbrModel_(NULL),
|
||||||
|
nbrModelName_(word::null),
|
||||||
firstIter_(true),
|
firstIter_(true),
|
||||||
timeIndex_(-1),
|
timeIndex_(-1),
|
||||||
htc_
|
htc_
|
||||||
@ -138,6 +139,8 @@ Foam::fv::interRegionHeatTransferModel::interRegionHeatTransferModel
|
|||||||
{
|
{
|
||||||
if (active())
|
if (active())
|
||||||
{
|
{
|
||||||
|
coeffs_.lookup("nbrModelName") >> nbrModelName_;
|
||||||
|
|
||||||
coeffs_.lookup("fieldNames") >> fieldNames_;
|
coeffs_.lookup("fieldNames") >> fieldNames_;
|
||||||
applied_.setSize(fieldNames_.size(), false);
|
applied_.setSize(fieldNames_.size(), false);
|
||||||
|
|
||||||
@ -65,6 +65,9 @@ private:
|
|||||||
//- Pointer to neighbour interRegionHeatTransferModel
|
//- Pointer to neighbour interRegionHeatTransferModel
|
||||||
interRegionHeatTransferModel* nbrModel_;
|
interRegionHeatTransferModel* nbrModel_;
|
||||||
|
|
||||||
|
//- Name of the model in the neighbour mesh
|
||||||
|
word nbrModelName_;
|
||||||
|
|
||||||
//- First iteration
|
//- First iteration
|
||||||
bool firstIter_;
|
bool firstIter_;
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user