FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

createFields.H

Go to the documentation of this file.
00001     Info<< "Reading thermophysical properties\n" << endl;
00002 
00003     autoPtr<psiChemistryModel> pChemistry
00004     (
00005         psiChemistryModel::New(mesh)
00006     );
00007     psiChemistryModel& chemistry = pChemistry();
00008 
00009     hsCombustionThermo& thermo = chemistry.thermo();
00010 
00011     basicMultiComponentMixture& composition = thermo.composition();
00012     PtrList<volScalarField>& Y = composition.Y();
00013 
00014     word inertSpecie(thermo.lookup("inertSpecie"));
00015 
00016     if (!composition.contains(inertSpecie))
00017     {
00018         FatalErrorIn(args.executable())
00019             << "Specified inert specie '" << inertSpecie << "' not found in "
00020             << "species list. Available species:" << composition.species()
00021             << exit(FatalError);
00022     }
00023 
00024     volScalarField& p = thermo.p();
00025     volScalarField& hs = thermo.hs();
00026     const volScalarField& T = thermo.T();
00027     const volScalarField& psi = thermo.psi();
00028 
00029     volScalarField rho
00030     (
00031         IOobject
00032         (
00033             "rho",
00034             runTime.timeName(),
00035             mesh,
00036             IOobject::NO_READ,
00037             IOobject::AUTO_WRITE
00038         ),
00039         thermo.rho()
00040     );
00041 
00042     Info<< "\nReading field U\n" << endl;
00043     volVectorField U
00044     (
00045         IOobject
00046         (
00047             "U",
00048             runTime.timeName(),
00049             mesh,
00050             IOobject::MUST_READ,
00051             IOobject::AUTO_WRITE
00052         ),
00053         mesh
00054     );
00055 
00056     #include <finiteVolume/compressibleCreatePhi.H>
00057 
00058     DimensionedField<scalar, volMesh> kappa
00059     (
00060         IOobject
00061         (
00062             "kappa",
00063             runTime.timeName(),
00064             mesh,
00065             IOobject::NO_READ,
00066             IOobject::AUTO_WRITE
00067         ),
00068         mesh,
00069         dimensionedScalar("zero", dimless, 0.0)
00070     );
00071 
00072     Info<< "Creating turbulence model\n" << endl;
00073     autoPtr<compressible::turbulenceModel> turbulence
00074     (
00075         compressible::turbulenceModel::New
00076         (
00077             rho,
00078             U,
00079             phi,
00080             thermo
00081         )
00082     );
00083 
00084     Info<< "Creating field DpDt\n" << endl;
00085     volScalarField DpDt
00086     (
00087         "DpDt",
00088         fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p)
00089     );
00090 
00091     multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
00092 
00093     forAll(Y, i)
00094     {
00095         fields.add(Y[i]);
00096     }
00097     fields.add(hs);
00098 
00099     DimensionedField<scalar, volMesh> chemistrySh
00100     (
00101         IOobject
00102         (
00103             "chemistry::Sh",
00104             runTime.timeName(),
00105             mesh,
00106             IOobject::NO_READ,
00107             IOobject::NO_WRITE
00108         ),
00109         mesh,
00110         dimensionedScalar("chemistry::Sh", dimEnergy/dimTime/dimVolume, 0.0)
00111     );
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines