mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
92 lines
2.2 KiB
C
92 lines
2.2 KiB
C
if (mesh.nCells() != 1)
|
|
{
|
|
FatalErrorInFunction
|
|
<< "Solver only applicable to single cell cases"
|
|
<< exit(FatalError);
|
|
}
|
|
|
|
Info<< "Reading initial conditions.\n" << endl;
|
|
IOdictionary initialConditions
|
|
(
|
|
IOobject
|
|
(
|
|
"initialConditions",
|
|
runTime.constant(),
|
|
runTime,
|
|
IOobject::MUST_READ_IF_MODIFIED,
|
|
IOobject::NO_WRITE
|
|
)
|
|
);
|
|
|
|
scalar p0 = readScalar(initialConditions.lookup("p"));
|
|
scalar T0 = readScalar(initialConditions.lookup("T"));
|
|
|
|
#include "createBaseFields.H"
|
|
|
|
Info<< nl << "Reading thermophysicalProperties" << endl;
|
|
autoPtr<psiChemistryModel> pChemistry(psiChemistryModel::New(mesh));
|
|
|
|
psiChemistryModel& chemistry = pChemistry();
|
|
scalar dtChem = refCast<const psiChemistryModel>(chemistry).deltaTChem()[0];
|
|
|
|
psiReactionThermo& thermo = chemistry.thermo();
|
|
thermo.validate(args.executable(), "h");
|
|
|
|
basicMultiComponentMixture& composition = thermo.composition();
|
|
PtrList<volScalarField>& Y = composition.Y();
|
|
|
|
volScalarField rho
|
|
(
|
|
IOobject
|
|
(
|
|
"rho",
|
|
runTime.timeName(),
|
|
runTime,
|
|
IOobject::NO_READ,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
thermo.rho()
|
|
);
|
|
|
|
volScalarField& p = thermo.p();
|
|
|
|
volScalarField Rspecific
|
|
(
|
|
IOobject
|
|
(
|
|
"Rspecific",
|
|
runTime.timeName(),
|
|
runTime,
|
|
IOobject::NO_READ,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
mesh,
|
|
dimensionedScalar
|
|
(
|
|
"zero",
|
|
dimensionSet(dimEnergy/dimMass/dimTemperature),
|
|
0.0
|
|
)
|
|
);
|
|
|
|
volVectorField U
|
|
(
|
|
IOobject
|
|
(
|
|
"U",
|
|
runTime.timeName(),
|
|
runTime,
|
|
IOobject::NO_READ,
|
|
IOobject::NO_WRITE
|
|
),
|
|
mesh,
|
|
dimensionedVector("zero", dimVelocity, vector::zero),
|
|
p.boundaryField().types()
|
|
);
|
|
|
|
#include "createPhi.H"
|
|
|
|
OFstream post(args.path()/"chemFoam.out");
|
|
post<< "# Time" << token::TAB << "Temperature [K]" << token::TAB
|
|
<< "Pressure [Pa]" << endl;
|