diff --git a/.gitignore b/.gitignore index a148a68ef..b567196c9 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,23 @@ doc/Doxygen/DTAGS # Ignore the test directory /tutorialsTest + +#Ignore all tutorial files that are not configs, resources or scripts +/tutorials + +!Allwmake +!Alltest +!Allclean +!Allrun +!*.yaml +!*.cti +!*Properties + +!/tutorials/resources/ + +!/tutorials/**/system/ +!/tutorials/**/0/ + +!/tutorials/**/constant/*reaction* +!/tutorials/**/constant/*thermo* + diff --git a/applications/solvers/CTreactingFoam/CTreactingFoam.C b/applications/solvers/CTreactingFoam/CTreactingFoam.C new file mode 100644 index 000000000..d27ae5459 --- /dev/null +++ b/applications/solvers/CTreactingFoam/CTreactingFoam.C @@ -0,0 +1,135 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +Application + reactingFoam + +Description + Solver for combustion with chemical reactions. + +\*---------------------------------------------------------------------------*/ + +#include "fvCFD.H" +#include "turbulentFluidThermoModel.H" +#include "psiReactionThermo.H" +#include "CombustionModel.H" +#include "multivariateScheme.H" +#include "pimpleControl.H" +#include "pressureControl.H" +#include "fvOptions.H" +#include "localEulerDdtScheme.H" +#include "fvcSmooth.H" +#include "reactingMixture.H" +#include "thermoPhysicsTypes.H" + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + #include "postProcess.H" + + #include "setRootCaseLists.H" + #include "createTime.H" + #include "createMesh.H" + #include "createControl.H" + #include "createTimeControls.H" + #include "initContinuityErrs.H" + #include "createFields.H" + #include "createFieldRefs.H" + + turbulence->validate(); + + if (!LTS) + { + #include "compressibleCourantNo.H" + #include "setInitialDeltaT.H" + } + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + Info<< "\nStarting time loop\n" << endl; + + while (runTime.run()) + { + #include "readTimeControls.H" + + if (LTS) + { + #include "setRDeltaT.H" + } + else + { + #include "compressibleCourantNo.H" + #include "setDeltaT.H" + } + + runTime++; + + Info<< "Time = " << runTime.timeName() << nl << endl; + + #include "rhoEqn.H" + + while (pimple.loop()) + { + #include "UEqn.H" + #include "YEqn.H" + #include "EEqn.H" + + // --- Pressure corrector loop + while (pimple.correct()) + { + if (pimple.consistent()) + { + #include "pcEqn.H" + } + else + { + #include "pEqn.H" + } + } + + if (pimple.turbCorr()) + { + turbulence->correct(); + } + } + + rho = thermo.rho(); + + runTime.write(); + + Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" + << " ClockTime = " << runTime.elapsedClockTime() << " s" + << nl << endl; + } + + #include "LewisNumber.H" + + Info<< "End\n" << endl; + + return 0; +} + + +// ************************************************************************* // diff --git a/applications/solvers/CTreactingFoam/EEqn.H b/applications/solvers/CTreactingFoam/EEqn.H new file mode 100644 index 000000000..218116e4d --- /dev/null +++ b/applications/solvers/CTreactingFoam/EEqn.H @@ -0,0 +1,47 @@ +{ + volScalarField tempT = T; + volScalarField& he = thermo.he(); + + fvScalarMatrix EEqn + ( + fvm::ddt(rho, he) + mvConvection->fvmDiv(phi, he) + + fvc::ddt(rho, K) + fvc::div(phi, K) + + ( + he.name() == "e" + ? fvc::div + ( + fvc::absolute(phi/fvc::interpolate(rho), U), + p, + "div(phiv,p)" + ) + : -dpdt + ) + - fvm::laplacian(turbulence->alphaEff(), he) + == + Qdot + + fvOptions(rho, he) + ); + + forAll(Y, k) + { + EEqn -= fvc::laplacian(turbulence->alphaEff()*hsi[k], Y[k]); + EEqn -= fvc::div(J[k], hsi[k], "div(Ji,hsi)"); + } + + EEqn.relax(); + + fvOptions.constrain(EEqn); + + EEqn.solve(); + + fvOptions.correct(he); + + thermo.correct(); + + Info << "min/max(T) = " + << min(T).value() << ", " << max(T).value() << endl; + // update oldT for CoDAC + //oldT = tempT; +} + + diff --git a/applications/solvers/CTreactingFoam/LewisNumber.H b/applications/solvers/CTreactingFoam/LewisNumber.H new file mode 100644 index 000000000..509f81a3c --- /dev/null +++ b/applications/solvers/CTreactingFoam/LewisNumber.H @@ -0,0 +1,26 @@ +/*OFstream LewisNumber +( + "LewisNumber.dat" +); + +LewisNumber + << "species" << " Lewis Number" << endl; + +forAll(mesh.cells(), celli) +{ + if ( abs( T[celli]-max(T).value() ) < 1.0e-20 ) + { + forAll (Y, k) + { + scalar Diff = dynamic_cast&> + (composition).D(p, T, Y)[k][celli]; + if (Diff > 1.0e-20) + { + scalar Lewis = thermo.alpha()[celli]/Diff; + LewisNumber + << k << tab << tab << Lewis << endl; + } + + } + } +}*/ diff --git a/applications/solvers/CTreactingFoam/Make/files b/applications/solvers/CTreactingFoam/Make/files new file mode 100644 index 000000000..f405955d7 --- /dev/null +++ b/applications/solvers/CTreactingFoam/Make/files @@ -0,0 +1,3 @@ +CTreactingFoam.C + +EXE = $(FOAM_APPBIN)/CTreactingFoam diff --git a/applications/solvers/CTreactingFoam/Make/options b/applications/solvers/CTreactingFoam/Make/options new file mode 100644 index 000000000..fc1f952fc --- /dev/null +++ b/applications/solvers/CTreactingFoam/Make/options @@ -0,0 +1,39 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ + -I$(LIB_SRC)/transportModels/compressible/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ + -I$(LIB_SRC)/ODE/lnInclude \ + -I$(LIB_SRC)/combustionModels/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt + +EXE_LIBS = \ + -L$(FOAM_USER_LIBBIN) \ + -lfiniteVolume \ + -lmeshTools \ + -lsampling \ + -lturbulenceModels \ + -lcompressibleTransportModels \ + -lspecie \ + -lfluidThermophysicalModels \ + -lODE \ + -lchemistryModel \ + -lreactionThermophysicalModels \ + -lcompressibleTurbulenceModels \ + -lfvOptions \ + -lcombustionModels \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared diff --git a/applications/solvers/CTreactingFoam/UEqn.H b/applications/solvers/CTreactingFoam/UEqn.H new file mode 100644 index 000000000..e4caa1cea --- /dev/null +++ b/applications/solvers/CTreactingFoam/UEqn.H @@ -0,0 +1,25 @@ +// Solve the Momentum equation + +MRF.correctBoundaryVelocity(U); + +tmp tUEqn +( + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + + turbulence->divDevRhoReff(U) + == + fvOptions(rho, U) +); +fvVectorMatrix& UEqn = tUEqn.ref(); + +UEqn.relax(); + +fvOptions.constrain(UEqn); + +if (pimple.momentumPredictor()) +{ + solve(UEqn == -fvc::grad(p)); + + fvOptions.correct(U); + K = 0.5*magSqr(U); +} diff --git a/applications/solvers/CTreactingFoam/YEqn.H b/applications/solvers/CTreactingFoam/YEqn.H new file mode 100644 index 000000000..8924eea5f --- /dev/null +++ b/applications/solvers/CTreactingFoam/YEqn.H @@ -0,0 +1,207 @@ +tmp> mvConvection +( + fv::convectionScheme::New + ( + mesh, + fields, + phi, + mesh.divScheme("div(phi,Yi_h)") + ) +); + + +// Added by Taaresh - Mix Avg Diffusivity (m2/s) + +PtrList D = +dynamic_cast&> +(composition).D(p, T, Y, rho); + +PtrList hsi(Y.size()); +PtrList J(Y.size()); +PtrList tempY(Y.size()); +PtrList YV(Y.size()); + + +forAll(Y, i) +{ + hsi.set + ( + i, + new volScalarField + ( + IOobject + ( + "hsi", + mesh.time().timeName(), + mesh + ), + mesh, + dimensionedScalar + ( + "hsi", + dimEnergy/dimMass, + Zero + ) + ) + ); + + tempY.set + ( + i, + new volScalarField + ( + IOobject + ( + "tempY", + mesh.time().timeName(), + mesh + ), + mesh, + scalar(0.0) + ) + ); + + // product of mass fraction and diffusion vel of each specie + + YV.set + ( + i, + new volVectorField + ( + IOobject + ( + "YV", + mesh.time().timeName(), + mesh + ), + mesh, + dimensionedVector("YV", dimVelocity, vector(0.0, 0.0, 0.0)) + ) + ); + + +} + +forAll (Y, i) +{ + volScalarField& tHsi = hsi[i]; + forAll(tHsi, celli) + { + tHsi[celli] = composition.Hs(i, p[celli], T[celli]); + } + volScalarField::Boundary& Bf = tHsi.boundaryFieldRef(); + forAll(Bf, patchi) + { + forAll(Bf[patchi], facei) + { + Bf[patchi][facei] = + composition.Hs + ( + i, + p.boundaryField()[patchi][facei], + T.boundaryField()[patchi][facei] + ); + } + } +} + +// add turbulence effect on D, assuming constant turbulence Lewis number +// turbulence thermal diffusivity alphat +volScalarField alphat = turbulence->alphat(); +//volScalarField nut = turbulence->nut(); +//Info << rho*nut/(dimensionedScalar("SMALL", dimensionSet(1,-1,-1,0,0), Foam::SMALL)+alphat) << endl; +const scalar Let(thermo.lookupOrDefault("Let", 1.0)); +volScalarField Dt = alphat/(rho*Let); +forAll(Y, i) +{ + D[i] = D[i] + Dt; +} + +{ + + reaction->correct(); + Qdot = reaction->Qdot(); + volScalarField Yt(0.0*Y[0]); + + Vc *= 0.0; + +// Compute Correction Velocity + + forAll(Y, i) + { + Vc += D[i]*fvc::grad(Y[i]) + (D[i]*Y[i]/Wmix)*fvc::grad(Wmix); + } + + phiVc = linearInterpolate(rho*Vc) & mesh.Sf(); + + + forAll(Y, i) + { + if (i != inertIndex && composition.active(i)) + { + volScalarField& Yi = Y[i]; + + fvScalarMatrix YiEqn + ( + fvm::ddt(rho, Yi) + + mvConvection->fvmDiv(phi, Yi) + == fvm::laplacian(rho*D[i], Yi) + fvc::laplacian(rho*D[i]*Yi/Wmix, Wmix) + - fvm::div(phiVc, Yi, "div(phiVc,Yi_h)") + + reaction->R(Yi) + + fvOptions(rho, Yi) + ); + + YiEqn.relax(); + + fvOptions.constrain(YiEqn); + + YiEqn.solve(mesh.solver("Yi")); + + fvOptions.correct(Yi); + + Yi.max(0.0); + Yt += Yi; + + } + } + + Y[inertIndex] = scalar(1) - Yt; + Y[inertIndex].max(0.0); + + volVectorField YV_balance(0.0*YV[0]); + + forAll(YV, i) + { + // Calculate diff velocity for each species (including inertSpecies) for use in EEqn.H + + YV[i] = (-D[i]*fvc::grad(Y[i])) - (D[i]*Y[i]/Wmix)*fvc::grad(Wmix); + + if (i != inertIndex && composition.active(i)) + { + YV_balance += YV[i]; + } + } + + YV[inertIndex] = -YV_balance; // since sum(Y[i]*V[i]) over all species = 0 for global mass conservation + + forAll(Y, i) + { + + // Species Diffusion Flux term used in EEqn.H + + J.set + ( + i, + linearInterpolate(YV[i]*rho) & mesh.Sf() + ); + } + +} + + +D_O2 = D[O2_index]; +D_N2 = D[N2_index]; +D_O = D[O_index]; + +Info << "Max O2 diff = " << max(D[O2_index]) << endl; + diff --git a/applications/solvers/CTreactingFoam/YEqn_WuSplitting.H b/applications/solvers/CTreactingFoam/YEqn_WuSplitting.H new file mode 100644 index 000000000..3bf05f33e --- /dev/null +++ b/applications/solvers/CTreactingFoam/YEqn_WuSplitting.H @@ -0,0 +1,265 @@ +tmp> mvConvection +( + fv::convectionScheme::New + ( + mesh, + fields, + phi, + mesh.divScheme("div(phi,Yi_h)") + ) +); + + +PtrList Dm = +dynamic_cast&> +(composition).Dm(p, T, Y, rho); + +PtrList hsi(Y.size()); +PtrList J(Y.size()); +PtrList D(Y.size()); +PtrList tempY(Y.size()), YSave(Y.size()); +forAll(Y, i) +{ + hsi.set + ( + i, + new volScalarField + ( + IOobject + ( + "hsi", + mesh.time().timeName(), + mesh + ), + mesh, + dimensionedScalar + ( + "hsi", + dimEnergy/dimMass, + Zero + ) + ) + ); + + tempY.set + ( + i, + new volScalarField + ( + IOobject + ( + "tempY", + mesh.time().timeName(), + mesh + ), + mesh, + scalar(0.0) + ) + ); + + YSave.set(i, Y[i]); + + D.set + ( + i, + mag(Dm[i])/(dimensionedScalar("SMALL", dimensionSet(0,-1,0,0,0), Foam::SMALL) + +mag(fvc::grad(Y[i]).ref())) + ); + + J.set + ( + i, + linearInterpolate(Dm[i]*rho) & mesh.Sf() + ); +} + +forAll (Y, i) +{ + volScalarField& tHsi = hsi[i]; + forAll(tHsi, celli) + { + tHsi[celli] = composition.Hs(i, p[celli], T[celli]); + } + volScalarField::Boundary& Bf = tHsi.boundaryFieldRef(); + forAll(Bf, patchi) + { + forAll(Bf[patchi], facei) + { + Bf[patchi][facei] = + composition.Hs + ( + i, + p.boundaryField()[patchi][facei], + T.boundaryField()[patchi][facei] + ); + } + } +} + + +{ + tempY = Y; + volScalarField Yt(0.0*Y[0]); + + // do simple balanced splitting + // reference: Computer Physics Communications 243 (2019) 81–96 + // evaluate cn term, which will be constant during the splitting integration + + // -----------------------------step 1, integrate R-cn by dt------------------------------------ + // cn is included in the chemistry model + // but we do not necessarily need cn to be integrated in the chemistry model + // because we can use explicit for Transport (Cn) and then S, it will be no splitting error + scalar dtSave = runTime.deltaT().value(); + reaction->correct(); + Qdot = reaction->Qdot(); + + // --------Substep 1a, integrate the transport term explicitly by dt-------- + forAll(Y, i) + { + if (i != inertIndex && composition.active(i)) + { + volScalarField& Yi = Y[i]; + + fvScalarMatrix YiEqn + ( + fvm::ddt(rho, Yi) + + mvConvection->fvcDiv(phi, Yi) + - fvc::laplacian(rho*D[i], Yi) + == fvOptions(rho, Yi) + ); + + fvOptions.constrain(YiEqn); + + YiEqn.solve(mesh.solver("Yi")); + + fvOptions.correct(Yi); + + Yi.max(0.0); + Yt += Yi; + + } + } + + Y[inertIndex] = scalar(1) - Yt; + Y[inertIndex].max(0.0); + //YSave[inertIndex] = Y[inertIndex]; + + + // update Rho oldTime field, this could be done with a smarter way: write + // fvm::ddt(rho, Yi)-fvc::ddt(rho, Yi) == reaction->R(Yi) + // for the transport Equation, here we still use the "update oldTime field" way + volScalarField& tRho = rho.oldTime(); + volScalarField::Boundary& Bf = tRho.boundaryFieldRef(); + forAll (tRho, celli) + { + tRho[celli] = rho[celli]; + } + + forAll(Bf, patchi) + { + forAll(Bf[patchi], facei) + { + Bf[patchi][facei] = rho.boundaryField()[patchi][facei]; + } + } + + //update Y.oldTime(), which will be used in fvm::ddt + forAll (Y, i) + { + volScalarField& tYi = Y[i].oldTime(); + + forAll(tYi, celli) + { + tYi[celli] = Y[i][celli]; + } + volScalarField::Boundary& Bf = tYi.boundaryFieldRef(); + forAll(Bf, patchi) + { + forAll(Bf[patchi], facei) + { + Bf[patchi][facei] = Y[i].boundaryField()[patchi][facei]; + } + } + } + // --------Substep 1b, integrate the chemical source term by dt-------- + forAll(Y, i) + { + if (i != inertIndex && composition.active(i)) + { + volScalarField& Yi = Y[i]; + fvScalarMatrix YiEqn + ( + fvm::ddt(rho, Yi) + == + reaction->R(Yi) + ); + YiEqn.relax(); + + YiEqn.solve(mesh.solver("Yi")); + + Yi.max(0.0); + Yt += Yi; + } + } + Y[inertIndex] = scalar(1) - Yt; + Y[inertIndex].max(0.0); + + // ----------------------- step 2, integrate T+cn by dt/2 ---------------------------- + //update Y.oldTime(), which will be used in fvm::ddt + forAll (Y, i) + { + volScalarField& tYi = Y[i].oldTime(); + + forAll(tYi, celli) + { + tYi[celli] = Y[i][celli]; + } + volScalarField::Boundary& Bf = tYi.boundaryFieldRef(); + forAll(Bf, patchi) + { + forAll(Bf[patchi], facei) + { + Bf[patchi][facei] = Y[i].boundaryField()[patchi][facei]; + } + } + } + Yt = 0.0; + runTime.setDeltaT(dtSave/2.0); + forAll(Y, i) + { + if (i != inertIndex && composition.active(i)) + { + volScalarField& Yi = Y[i]; + + fvScalarMatrix YiEqn + ( + fvm::ddt(rho, Yi) + + mvConvection->fvmDiv(phi, Yi) + - fvm::laplacian(rho*D[i], Yi) + == + mvConvection->fvcDiv(phi, YSave[i]) + - fvc::laplacian(rho*D[i], YSave[i]) + + fvOptions(rho, Yi) + ); + + YiEqn.relax(); + + fvOptions.constrain(YiEqn); + + YiEqn.solve(mesh.solver("Yi")); + + fvOptions.correct(Yi); + + Yi.max(0.0); + Yt += Yi; + } + } + Y[inertIndex] = scalar(1) - Yt; + Y[inertIndex].max(0.0); + + runTime.setDeltaT(dtSave); + // update oldY here for CoDAC + // oldY = tempY; +} + + diff --git a/applications/solvers/CTreactingFoam/createFieldRefs.H b/applications/solvers/CTreactingFoam/createFieldRefs.H new file mode 100644 index 000000000..fdc479bc2 --- /dev/null +++ b/applications/solvers/CTreactingFoam/createFieldRefs.H @@ -0,0 +1,3 @@ +const volScalarField& psi = thermo.psi(); +const volScalarField& T = thermo.T(); +const label inertIndex(composition.species()[inertSpecie]); diff --git a/applications/solvers/CTreactingFoam/createFields.H b/applications/solvers/CTreactingFoam/createFields.H new file mode 100644 index 000000000..069284295 --- /dev/null +++ b/applications/solvers/CTreactingFoam/createFields.H @@ -0,0 +1,286 @@ +#include "createRDeltaT.H" + +Info<< "Reading thermophysical properties\n" << endl; +autoPtr pThermo(psiReactionThermo::New(mesh)); + +psiReactionThermo& thermo = pThermo(); +thermo.validate(args.executable(), "h", "e"); + +basicSpecieMixture& composition = thermo.composition(); +PtrList& Y = composition.Y(); + +// initilize omega, diff, omegaT and diffT for use in CEMA +//PtrList& omega = composition.omega(); +//PtrList& diff = composition.diff(); +//volScalarField& omegaT = composition.omegaT(); +//volScalarField& diffT = composition.diffT(); + +// initilize oldY for CoDAC, it will be large numbers to aviod similarity initially +//PtrList& oldY = composition.oldY(); +//forAll(Y, i) +//{ +// oldY[i] = 1000.0; +//} +const word inertSpecie(thermo.lookup("inertSpecie")); +if (!composition.species().found(inertSpecie)) +{ + FatalIOErrorIn(args.executable().c_str(), thermo) + << "Inert specie " << inertSpecie << " not found in available species " + << composition.species() << exit(FatalIOError); +} + +volScalarField rho +( + IOobject + ( + "rho", + runTime.timeName(), + mesh + ), + thermo.rho() +); + +Info<< "Reading field U\n" << endl; +volVectorField U +( + IOobject + ( + "U", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh +); + + +volVectorField Vc +( + IOobject + ( + "Vc", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + dimensionedVector("Vc", dimVelocity, vector(0,0,0)) +); + +volScalarField& p = thermo.p(); + +#include "compressibleCreatePhi.H" + +pressureControl pressureControl(p, rho, pimple.dict(), false); + +mesh.setFluxRequired(p.name()); + +Info << "Creating turbulence model.\n" << nl; +autoPtr turbulence +( + compressible::turbulenceModel::New + ( + rho, + U, + phi, + thermo + ) +); + +Info<< "Creating reaction model\n" << endl; +autoPtr> reaction +( + CombustionModel::New(thermo, turbulence()) +); + +Info<< "Creating field dpdt\n" << endl; +volScalarField dpdt +( + IOobject + ( + "dpdt", + runTime.timeName(), + mesh + ), + mesh, + dimensionedScalar("dpdt", p.dimensions()/dimTime, 0) +); + +Info<< "Creating field kinetic energy K\n" << endl; +volScalarField K("K", 0.5*magSqr(U)); + + +multivariateSurfaceInterpolationScheme::fieldTable fields; + +forAll(Y, i) +{ + fields.add(Y[i]); +} +fields.add(thermo.he()); + +volScalarField Qdot +( + IOobject + ( + "Qdot", + runTime.timeName(), + mesh, + IOobject::READ_IF_PRESENT, + IOobject::AUTO_WRITE + ), + mesh, + dimensionedScalar("Qdot", dimEnergy/dimVolume/dimTime, 0.0) +); + +// add mixture fraction field +volScalarField Zmix +( + IOobject + ( + "Zmix", + runTime.timeName(), + mesh, + IOobject::READ_IF_PRESENT, + IOobject::AUTO_WRITE + ), + mesh, + scalar(0.0) +); + +// add progress variable field +volScalarField Prog +( + IOobject + ( + "Prog", + runTime.timeName(), + mesh, + IOobject::READ_IF_PRESENT, + IOobject::AUTO_WRITE + ), + mesh, + scalar(0.0) +); +#include "createMRF.H" +#include "createFvOptions.H" + +label O_index, O2_index, N2_index; + +forAll(Y,i) +{ + if (Y[i].member() == "O") + { + O_index = i; + Info << "O_index = " << O_index << endl; + Info << Y[O_index].member() << endl; + } + else if (Y[i].member() == "O2") + { + O2_index = i; + Info << "O2_index = " << O2_index << endl; + Info << Y[O2_index].member() << endl; + } + else if (Y[i].member() == "N2") + { + N2_index = i; + Info << "N2 index = " << N2_index << endl; + } + +} + +volScalarField D_O2 +{ + IOobject + ( + "D_O2", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + dimensionedScalar("D_O2", dimArea/dimTime, 0.0) +}; + +volScalarField D_N2 +{ + IOobject + ( + "D_N2", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + dimensionedScalar("D_N2", dimArea/dimTime, 0.0) +}; + + +volScalarField D_O +{ + IOobject + ( + "D_O", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + dimensionedScalar("D_O", dimArea/dimTime, 0.0) +}; + + + +volScalarField gradY_O2 +{ + IOobject + ( + "gradY_O2", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + dimensionedScalar("gradY_O2", dimless/dimLength, 0.0) +}; + +OFstream maxDataFile +( + "max_data_myrf.dat" +); + +volScalarField Wmix +{ + IOobject + ( + "Wmix", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + thermo.W() +}; + + +surfaceScalarField phiVc +( + IOobject + ( + "phiVc", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + linearInterpolate(rho*Vc) & mesh.Sf() +); + + + + diff --git a/applications/solvers/CTreactingFoam/pEqn.H b/applications/solvers/CTreactingFoam/pEqn.H new file mode 100644 index 000000000..9c30e8e7e --- /dev/null +++ b/applications/solvers/CTreactingFoam/pEqn.H @@ -0,0 +1,104 @@ +rho = thermo.rho(); + +volScalarField rAU(1.0/UEqn.A()); +surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho*rAU)); +volVectorField HbyA(constrainHbyA(rAU*UEqn.H(), U, p)); + +if (pimple.nCorrPISO() <= 1) +{ + tUEqn.clear(); +} + +if (pimple.transonic()) +{ + surfaceScalarField phid + ( + "phid", + fvc::interpolate(psi) + *( + fvc::flux(HbyA) + + MRF.zeroFilter + ( + rhorAUf*fvc::ddtCorr(rho, U, phi)/fvc::interpolate(rho) + ) + ) + ); + + MRF.makeRelative(fvc::interpolate(psi), phid); + + while (pimple.correctNonOrthogonal()) + { + fvScalarMatrix pEqn + ( + fvm::ddt(psi, p) + + fvm::div(phid, p) + - fvm::laplacian(rhorAUf, p) + == + fvOptions(psi, p, rho.name()) + ); + + pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); + + if (pimple.finalNonOrthogonalIter()) + { + phi == pEqn.flux(); + } + } +} +else +{ + surfaceScalarField phiHbyA + ( + "phiHbyA", + ( + fvc::flux(rho*HbyA) + + MRF.zeroFilter(rhorAUf*fvc::ddtCorr(rho, U, phi)) + ) + ); + + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); + + // Update the pressure BCs to ensure flux consistency + constrainPressure(p, rho, U, phiHbyA, rhorAUf, MRF); + + while (pimple.correctNonOrthogonal()) + { + fvScalarMatrix pEqn + ( + fvm::ddt(psi, p) + + fvc::div(phiHbyA) + - fvm::laplacian(rhorAUf, p) + == + fvOptions(psi, p, rho.name()) + ); + + pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); + + if (pimple.finalNonOrthogonalIter()) + { + phi = phiHbyA + pEqn.flux(); + } + } +} + +#include "rhoEqn.H" +#include "compressibleContinuityErrs.H" + +// Explicitly relax pressure for momentum corrector +p.relax(); + +U = HbyA - rAU*fvc::grad(p); +U.correctBoundaryConditions(); +fvOptions.correct(U); +K = 0.5*magSqr(U); + +if (pressureControl.limit(p)) +{ + p.correctBoundaryConditions(); + rho = thermo.rho(); +} + +if (thermo.dpdt()) +{ + dpdt = fvc::ddt(p); +} diff --git a/applications/solvers/CTreactingFoam/pcEqn.H b/applications/solvers/CTreactingFoam/pcEqn.H new file mode 100644 index 000000000..5ca9b4adc --- /dev/null +++ b/applications/solvers/CTreactingFoam/pcEqn.H @@ -0,0 +1,121 @@ +rho = thermo.rho(); + +volScalarField rAU(1.0/UEqn.A()); +volScalarField rAtU(1.0/(1.0/rAU - UEqn.H1())); +volVectorField HbyA(constrainHbyA(rAU*UEqn.H(), U, p)); + +if (pimple.nCorrPISO() <= 1) +{ + tUEqn.clear(); +} + +if (pimple.transonic()) +{ + surfaceScalarField phid + ( + "phid", + fvc::interpolate(psi) + *( + fvc::flux(HbyA) + + MRF.zeroFilter + ( + fvc::interpolate(rho*rAU)*fvc::ddtCorr(rho, U, phi) + /fvc::interpolate(rho) + ) + ) + ); + + MRF.makeRelative(fvc::interpolate(psi), phid); + + surfaceScalarField phic + ( + "phic", + fvc::interpolate(rho*(rAtU - rAU))*fvc::snGrad(p)*mesh.magSf() + ); + + HbyA -= (rAU - rAtU)*fvc::grad(p); + + volScalarField rhorAtU("rhorAtU", rho*rAtU); + + while (pimple.correctNonOrthogonal()) + { + fvScalarMatrix pEqn + ( + fvm::ddt(psi, p) + + fvm::div(phid, p) + + fvc::div(phic) + - fvm::laplacian(rhorAtU, p) + == + fvOptions(psi, p, rho.name()) + ); + + pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); + + if (pimple.finalNonOrthogonalIter()) + { + phi == phic + pEqn.flux(); + } + } +} +else +{ + surfaceScalarField phiHbyA + ( + "phiHbyA", + ( + fvc::flux(rho*HbyA) + + MRF.zeroFilter(fvc::interpolate(rho*rAU)*fvc::ddtCorr(rho, U, phi)) + ) + ); + + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); + + phiHbyA += fvc::interpolate(rho*(rAtU - rAU))*fvc::snGrad(p)*mesh.magSf(); + HbyA -= (rAU - rAtU)*fvc::grad(p); + + volScalarField rhorAtU("rhorAtU", rho*rAtU); + + // Update the pressure BCs to ensure flux consistency + constrainPressure(p, rho, U, phiHbyA, rhorAtU, MRF); + + while (pimple.correctNonOrthogonal()) + { + fvScalarMatrix pEqn + ( + fvm::ddt(psi, p) + + fvc::div(phiHbyA) + - fvm::laplacian(rhorAtU, p) + == + fvOptions(psi, p, rho.name()) + ); + + pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); + + if (pimple.finalNonOrthogonalIter()) + { + phi = phiHbyA + pEqn.flux(); + } + } +} + +#include "rhoEqn.H" +#include "compressibleContinuityErrs.H" + +// Explicitly relax pressure for momentum corrector +p.relax(); + +U = HbyA - rAtU*fvc::grad(p); +U.correctBoundaryConditions(); +fvOptions.correct(U); +K = 0.5*magSqr(U); + +if (pressureControl.limit(p)) +{ + p.correctBoundaryConditions(); + rho = thermo.rho(); +} + +if (thermo.dpdt()) +{ + dpdt = fvc::ddt(p); +} diff --git a/applications/solvers/CTreactingFoam/setRDeltaT.H b/applications/solvers/CTreactingFoam/setRDeltaT.H new file mode 100644 index 000000000..524d64862 --- /dev/null +++ b/applications/solvers/CTreactingFoam/setRDeltaT.H @@ -0,0 +1,186 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2013-2018 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 . + +\*---------------------------------------------------------------------------*/ + +{ + volScalarField& rDeltaT = trDeltaT.ref(); + + const dictionary& pimpleDict = pimple.dict(); + + // Maximum flow Courant number + scalar maxCo(readScalar(pimpleDict.lookup("maxCo"))); + + // Maximum time scale + scalar maxDeltaT(pimpleDict.lookupOrDefault("maxDeltaT", great)); + + // Smoothing parameter (0-1) when smoothing iterations > 0 + scalar rDeltaTSmoothingCoeff + ( + pimpleDict.lookupOrDefault("rDeltaTSmoothingCoeff", 0.1) + ); + + // Damping coefficient (1-0) + scalar rDeltaTDampingCoeff + ( + pimpleDict.lookupOrDefault("rDeltaTDampingCoeff", 1.0) + ); + + // Maximum change in cell temperature per iteration + // (relative to previous value) + scalar alphaTemp(pimpleDict.lookupOrDefault("alphaTemp", 0.05)); + + // Maximum change in cell concentration per iteration + // (relative to reference value) + scalar alphaY(pimpleDict.lookupOrDefault("alphaY", 1.0)); + + Info<< "Time scales min/max:" << endl; + + // Cache old reciprocal time scale field + volScalarField rDeltaT0("rDeltaT0", rDeltaT); + + // Flow time scale + { + rDeltaT.ref() = + ( + fvc::surfaceSum(mag(phi))()() + /((2*maxCo)*mesh.V()*rho()) + ); + + // Limit the largest time scale + rDeltaT.max(1/maxDeltaT); + + Info<< " Flow = " + << 1/gMax(rDeltaT.primitiveField()) << ", " + << 1/gMin(rDeltaT.primitiveField()) << endl; + } + + // Heat release rate time scale + if (alphaTemp < 1) + { + volScalarField::Internal rDeltaTT + ( + mag(Qdot)/(alphaTemp*rho*thermo.Cp()*T) + ); + + Info<< " Temperature = " + << 1/(gMax(rDeltaTT.field()) + vSmall) << ", " + << 1/(gMin(rDeltaTT.field()) + vSmall) << endl; + + rDeltaT.ref() = max(rDeltaT(), rDeltaTT); + } + + // Reaction rate time scale + if (alphaY < 1) + { + dictionary Yref(pimpleDict.subDict("Yref")); + + volScalarField::Internal rDeltaTY + ( + IOobject + ( + "rDeltaTY", + runTime.timeName(), + mesh + ), + mesh, + dimensionedScalar("rDeltaTY", rDeltaT.dimensions(), 0) + ); + + bool foundY = false; + + forAll(Y, i) + { + if (i != inertIndex && composition.active(i)) + { + volScalarField& Yi = Y[i]; + + if (Yref.found(Yi.name())) + { + foundY = true; + scalar Yrefi = readScalar(Yref.lookup(Yi.name())); + + rDeltaTY.field() = max + ( + mag + ( + reaction->R(Yi)().source() + /((Yrefi*alphaY)*(rho*mesh.V())) + ), + rDeltaTY + ); + } + } + } + + if (foundY) + { + Info<< " Composition = " + << 1/(gMax(rDeltaTY.field()) + vSmall) << ", " + << 1/(gMin(rDeltaTY.field()) + vSmall) << endl; + + rDeltaT.ref() = max(rDeltaT(), rDeltaTY); + } + else + { + IOWarningIn(args.executable().c_str(), Yref) + << "Cannot find any active species in Yref " << Yref + << endl; + } + } + + // Update tho boundary values of the reciprocal time-step + rDeltaT.correctBoundaryConditions(); + + // Spatially smooth the time scale field + if (rDeltaTSmoothingCoeff < 1) + { + fvc::smooth(rDeltaT, rDeltaTSmoothingCoeff); + } + + // Limit rate of change of time scale + // - reduce as much as required + // - only increase at a fraction of old time scale + if + ( + rDeltaTDampingCoeff < 1 + && runTime.timeIndex() > runTime.startTimeIndex() + 1 + ) + { + rDeltaT = max + ( + rDeltaT, + (scalar(1) - rDeltaTDampingCoeff)*rDeltaT0 + ); + } + + // Update tho boundary values of the reciprocal time-step + rDeltaT.correctBoundaryConditions(); + + Info<< " Overall = " + << 1/gMax(rDeltaT.primitiveField()) + << ", " << 1/gMin(rDeltaT.primitiveField()) << endl; +} + + +// ************************************************************************* // diff --git a/applications/solvers/DNS/dnsFoam/Make/options b/applications/solvers/DNS/dnsFoam/Make/options index ca6ebb8c8..9ba56d21c 100644 --- a/applications/solvers/DNS/dnsFoam/Make/options +++ b/applications/solvers/DNS/dnsFoam/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lrandomProcesses \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/basic/laplacianFoam/Make/options b/applications/solvers/basic/laplacianFoam/Make/options index 04ef6c148..f22a541b0 100644 --- a/applications/solvers/basic/laplacianFoam/Make/options +++ b/applications/solvers/basic/laplacianFoam/Make/options @@ -5,4 +5,6 @@ EXE_INC = \ EXE_LIBS = \ -lfiniteVolume \ -lfvOptions \ - -lmeshTools + -lmeshTools \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared diff --git a/applications/solvers/basic/potentialFoam/Make/options b/applications/solvers/basic/potentialFoam/Make/options index b4ad3d8bd..636aa6413 100644 --- a/applications/solvers/basic/potentialFoam/Make/options +++ b/applications/solvers/basic/potentialFoam/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -lsampling diff --git a/applications/solvers/basic/scalarTransportFoam/Make/options b/applications/solvers/basic/scalarTransportFoam/Make/options index acbe7a647..fb26f88d7 100644 --- a/applications/solvers/basic/scalarTransportFoam/Make/options +++ b/applications/solvers/basic/scalarTransportFoam/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lmeshTools \ diff --git a/applications/solvers/combustion/PDRFoam/Make/options b/applications/solvers/combustion/PDRFoam/Make/options index a7c8e12f6..2dd1ff4e9 100644 --- a/applications/solvers/combustion/PDRFoam/Make/options +++ b/applications/solvers/combustion/PDRFoam/Make/options @@ -34,6 +34,8 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lengine \ -lmeshTools \ -lturbulenceModels \ diff --git a/applications/solvers/combustion/XiFoam/Make/options b/applications/solvers/combustion/XiFoam/Make/options index f659b4dcb..13cc6a0c4 100644 --- a/applications/solvers/combustion/XiFoam/Make/options +++ b/applications/solvers/combustion/XiFoam/Make/options @@ -12,6 +12,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lengine \ -lturbulenceModels \ -lcompressibleTurbulenceModels \ diff --git a/applications/solvers/combustion/XiFoam/XiEngineFoam/Make/options b/applications/solvers/combustion/XiFoam/XiEngineFoam/Make/options index 957735be5..207c21aa6 100644 --- a/applications/solvers/combustion/XiFoam/XiEngineFoam/Make/options +++ b/applications/solvers/combustion/XiFoam/XiEngineFoam/Make/options @@ -13,6 +13,8 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lsampling \ diff --git a/applications/solvers/combustion/chemFoam/Make/options b/applications/solvers/combustion/chemFoam/Make/options index 176ec9fd9..42fd35694 100644 --- a/applications/solvers/combustion/chemFoam/Make/options +++ b/applications/solvers/combustion/chemFoam/Make/options @@ -6,9 +6,19 @@ EXE_INC = \ -I$(LIB_SRC)/ODE/lnInclude\ -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lchemistryModel \ -lfiniteVolume \ - -lmeshTools + -lmeshTools diff --git a/applications/solvers/combustion/coldEngineFoam/Make/options b/applications/solvers/combustion/coldEngineFoam/Make/options index 1e267e19e..97828c7de 100644 --- a/applications/solvers/combustion/coldEngineFoam/Make/options +++ b/applications/solvers/combustion/coldEngineFoam/Make/options @@ -15,6 +15,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lengine \ -lturbulenceModels \ -lcompressibleTurbulenceModels \ diff --git a/applications/solvers/combustion/fireFoam/Make/options b/applications/solvers/combustion/fireFoam/Make/options index b50245d7e..b5f0d0f25 100644 --- a/applications/solvers/combustion/fireFoam/Make/options +++ b/applications/solvers/combustion/fireFoam/Make/options @@ -22,9 +22,19 @@ EXE_INC = \ -I$(LIB_SRC)/regionModels/pyrolysisModels/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \ - -I$(LIB_SRC)/ODE/lnInclude + -I$(LIB_SRC)/ODE/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lmeshTools \ @@ -47,4 +57,4 @@ EXE_LIBS = \ -lregionCoupling \ -llagrangianIntermediate \ -llagrangianTurbulence \ - -lODE + -lODE diff --git a/applications/solvers/combustion/reactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/Make/options index 6363f6d80..3d21528d4 100644 --- a/applications/solvers/combustion/reactingFoam/Make/options +++ b/applications/solvers/combustion/reactingFoam/Make/options @@ -10,9 +10,19 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ -I$(LIB_SRC)/ODE/lnInclude \ - -I$(LIB_SRC)/combustionModels/lnInclude + -I$(LIB_SRC)/combustionModels/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lmeshTools \ diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options index b403a0268..4ae944649 100644 --- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options +++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options @@ -16,6 +16,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lmeshTools \ diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options index b403a0268..4ae944649 100644 --- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options +++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options @@ -16,6 +16,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lmeshTools \ diff --git a/applications/solvers/compressible/rhoCentralFoam/Make/options b/applications/solvers/compressible/rhoCentralFoam/Make/options index 24fc2d966..6d489635a 100644 --- a/applications/solvers/compressible/rhoCentralFoam/Make/options +++ b/applications/solvers/compressible/rhoCentralFoam/Make/options @@ -10,6 +10,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lcompressibleTransportModels \ diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options index 29b8a6faa..d694e2d59 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options @@ -12,6 +12,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lcompressibleTransportModels \ diff --git a/applications/solvers/compressible/rhoPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/Make/options index c3f820e3b..952189af2 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/Make/options +++ b/applications/solvers/compressible/rhoPimpleFoam/Make/options @@ -11,6 +11,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lspecie \ diff --git a/applications/solvers/compressible/rhoSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/Make/options index aecfa919e..98a5e0729 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/Make/options +++ b/applications/solvers/compressible/rhoSimpleFoam/Make/options @@ -9,6 +9,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lspecie \ diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options index 02ddee513..6f4f3f869 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options @@ -11,6 +11,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lspecie \ diff --git a/applications/solvers/compressible/sonicFoam/Make/options b/applications/solvers/compressible/sonicFoam/Make/options index 35d223f26..df603b9b8 100644 --- a/applications/solvers/compressible/sonicFoam/Make/options +++ b/applications/solvers/compressible/sonicFoam/Make/options @@ -8,6 +8,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lspecie \ diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options index fdca07420..656ec136f 100644 --- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options +++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options @@ -13,6 +13,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lspecie \ diff --git a/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/options b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/options +++ b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/discreteMethods/dsmc/dsmcFoam/Make/options b/applications/solvers/discreteMethods/dsmc/dsmcFoam/Make/options index fa35b0bbd..e9165087e 100644 --- a/applications/solvers/discreteMethods/dsmc/dsmcFoam/Make/options +++ b/applications/solvers/discreteMethods/dsmc/dsmcFoam/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lfiniteVolume \ -llagrangian \ diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/Make/options b/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/Make/options index 91cab4609..1ce10ec8c 100644 --- a/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/Make/options +++ b/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/Make/options @@ -7,6 +7,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lfiniteVolume \ -llagrangian \ diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/options b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/options index 91cab4609..1ce10ec8c 100644 --- a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/options +++ b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/options @@ -7,6 +7,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lfiniteVolume \ -llagrangian \ diff --git a/applications/solvers/electromagnetics/electrostaticFoam/Make/options b/applications/solvers/electromagnetics/electrostaticFoam/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/solvers/electromagnetics/electrostaticFoam/Make/options +++ b/applications/solvers/electromagnetics/electrostaticFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/electromagnetics/magneticFoam/Make/options b/applications/solvers/electromagnetics/magneticFoam/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/solvers/electromagnetics/magneticFoam/Make/options +++ b/applications/solvers/electromagnetics/magneticFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/electromagnetics/mhdFoam/Make/options b/applications/solvers/electromagnetics/mhdFoam/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/solvers/electromagnetics/mhdFoam/Make/options +++ b/applications/solvers/electromagnetics/mhdFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/financial/financialFoam/Make/options b/applications/solvers/financial/financialFoam/Make/options index b4ad3d8bd..636aa6413 100644 --- a/applications/solvers/financial/financialFoam/Make/options +++ b/applications/solvers/financial/financialFoam/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -lsampling diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options index 043be5d13..e34834bf7 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options @@ -11,6 +11,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options index 904699412..965512bda 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options @@ -9,6 +9,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options index 934083f2b..3bb10406f 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options @@ -9,6 +9,8 @@ EXE_INC = \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lsampling \ -lmeshTools \ diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options index 0d9433bac..7edba88dd 100644 --- a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options @@ -9,6 +9,8 @@ EXE_INC = \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lsampling \ diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options index 2b9836121..dbba8da42 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options @@ -24,6 +24,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lspecie \ diff --git a/applications/solvers/heatTransfer/thermoFoam/Make/options b/applications/solvers/heatTransfer/thermoFoam/Make/options index 934083f2b..3bb10406f 100644 --- a/applications/solvers/heatTransfer/thermoFoam/Make/options +++ b/applications/solvers/heatTransfer/thermoFoam/Make/options @@ -9,6 +9,8 @@ EXE_INC = \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lsampling \ -lmeshTools \ diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options index 4fcb4c778..799707e10 100644 --- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options +++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/Make/options @@ -10,6 +10,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/incompressible/boundaryFoam/Make/options b/applications/solvers/incompressible/boundaryFoam/Make/options index 9af500124..ba5fe2332 100644 --- a/applications/solvers/incompressible/boundaryFoam/Make/options +++ b/applications/solvers/incompressible/boundaryFoam/Make/options @@ -8,6 +8,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/incompressible/icoFoam/Make/options b/applications/solvers/incompressible/icoFoam/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/solvers/incompressible/icoFoam/Make/options +++ b/applications/solvers/incompressible/icoFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/options b/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/options index a3c242605..3ad42dd0a 100644 --- a/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/options +++ b/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lincompressibleTransportModels \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/incompressible/pimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/Make/options index 14a5a2d92..bea3ee79c 100644 --- a/applications/solvers/incompressible/pimpleFoam/Make/options +++ b/applications/solvers/incompressible/pimpleFoam/Make/options @@ -10,6 +10,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options index 4c2a78fa5..0f9b8f1a9 100644 --- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options +++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options @@ -10,6 +10,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/incompressible/pisoFoam/Make/options b/applications/solvers/incompressible/pisoFoam/Make/options index 9af500124..ba5fe2332 100644 --- a/applications/solvers/incompressible/pisoFoam/Make/options +++ b/applications/solvers/incompressible/pisoFoam/Make/options @@ -8,6 +8,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/incompressible/shallowWaterFoam/Make/options b/applications/solvers/incompressible/shallowWaterFoam/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/solvers/incompressible/shallowWaterFoam/Make/options +++ b/applications/solvers/incompressible/shallowWaterFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/incompressible/simpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/Make/options index 1d9ded80b..c8f76ed20 100644 --- a/applications/solvers/incompressible/simpleFoam/Make/options +++ b/applications/solvers/incompressible/simpleFoam/Make/options @@ -9,6 +9,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options index 90df60107..bd30d3ced 100644 --- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options +++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options @@ -10,6 +10,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options index 90df60107..bd30d3ced 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options @@ -10,6 +10,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/MPPICDyMFoam/Make/options b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/MPPICDyMFoam/Make/options index 741b07f6c..bda31e9d5 100644 --- a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/MPPICDyMFoam/Make/options +++ b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/MPPICDyMFoam/Make/options @@ -22,6 +22,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lmeshTools \ diff --git a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/Make/options b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/Make/options index a4c0fcc13..2c7b0be56 100644 --- a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/Make/options +++ b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/Make/options @@ -21,6 +21,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -llagrangian \ -llagrangianIntermediate \ -llagrangianTurbulence \ diff --git a/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options b/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options index b0eaf6453..626e73428 100644 --- a/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options +++ b/applications/solvers/lagrangian/DPMFoam/MPPICFoam/Make/options @@ -19,6 +19,8 @@ EXE_INC = \ -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lmeshTools \ diff --git a/applications/solvers/lagrangian/DPMFoam/Make/options b/applications/solvers/lagrangian/DPMFoam/Make/options index b1f295e29..4a1ef3292 100644 --- a/applications/solvers/lagrangian/DPMFoam/Make/options +++ b/applications/solvers/lagrangian/DPMFoam/Make/options @@ -18,6 +18,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -llagrangian \ -llagrangianIntermediate \ -llagrangianTurbulence \ diff --git a/applications/solvers/lagrangian/coalChemistryFoam/Make/options b/applications/solvers/lagrangian/coalChemistryFoam/Make/options index c4a1e2feb..57531e7ad 100644 --- a/applications/solvers/lagrangian/coalChemistryFoam/Make/options +++ b/applications/solvers/lagrangian/coalChemistryFoam/Make/options @@ -23,6 +23,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -lturbulenceModels \ diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options index aebc4519b..c2d976944 100644 --- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options +++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/Make/options @@ -16,6 +16,8 @@ EXE_INC = \ -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -llagrangian \ -llagrangianIntermediate \ -llagrangianTurbulence \ diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options index 76fa725a3..801b2c07d 100644 --- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options +++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/Make/options @@ -20,6 +20,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -llagrangian \ -llagrangianIntermediate \ -llagrangianTurbulence \ diff --git a/applications/solvers/lagrangian/reactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/Make/options index 3951ecdbf..c4a1edf87 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/Make/options +++ b/applications/solvers/lagrangian/reactingParcelFoam/Make/options @@ -24,6 +24,8 @@ EXE_INC = \ -I$(FOAM_SOLVERS)/combustion/reactingFoam EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lfvOptions \ -lsampling \ diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options index a67ee74ec..139ed69a7 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options +++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/Make/options @@ -25,6 +25,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -lturbulenceModels \ diff --git a/applications/solvers/lagrangian/sprayFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/Make/options index 2a2773825..0e5ae1d6c 100644 --- a/applications/solvers/lagrangian/sprayFoam/Make/options +++ b/applications/solvers/lagrangian/sprayFoam/Make/options @@ -24,6 +24,8 @@ EXE_INC = \ -I$(LIB_SRC)/combustionModels/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lcompressibleTurbulenceModels \ -llagrangian \ diff --git a/applications/solvers/lagrangian/sprayFoam/engineFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/engineFoam/Make/options index 4dc1ac036..1a9a41b28 100644 --- a/applications/solvers/lagrangian/sprayFoam/engineFoam/Make/options +++ b/applications/solvers/lagrangian/sprayFoam/engineFoam/Make/options @@ -28,6 +28,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -lsampling \ diff --git a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/Make/options b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/Make/options index d53d6614e..99c8bc4b9 100644 --- a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/Make/options +++ b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/Make/options @@ -28,6 +28,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lcompressibleTurbulenceModels \ -llagrangian \ diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options index 639909b38..c56f36a39 100644 --- a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options +++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/Make/options @@ -14,6 +14,8 @@ EXE_INC = \ -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -llagrangian \ -llagrangianIntermediate \ -llagrangianTurbulence \ diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/Make/options b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/Make/options index 2d385f985..60a94e11a 100644 --- a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/Make/options +++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/Make/options @@ -17,6 +17,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicFvMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -llagrangian \ -llagrangianIntermediate \ -llagrangianTurbulence \ diff --git a/applications/solvers/multiphase/cavitatingFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/Make/options index 02d5a1cc3..f6db792ce 100644 --- a/applications/solvers/multiphase/cavitatingFoam/Make/options +++ b/applications/solvers/multiphase/cavitatingFoam/Make/options @@ -10,6 +10,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lbarotropicCompressibilityModel \ diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options index b5d7b2cdf..19223c5e8 100644 --- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options +++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/Make/options @@ -13,6 +13,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicFvMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lbarotropicCompressibilityModel \ diff --git a/applications/solvers/multiphase/compressibleInterFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/Make/options index 57c4b80dc..b83d680ad 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/Make/options @@ -14,6 +14,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltwoPhaseMixtureThermo \ -ltwoPhaseSurfaceTension \ -lcompressibleTransportModels \ diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options index 53bc21ead..2a0c61e41 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/Make/options @@ -17,6 +17,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltwoPhaseMixtureThermo \ -ltwoPhaseSurfaceTension \ -lcompressibleTransportModels \ diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/Make/options index a192ce05f..8644c358b 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/Make/options @@ -27,6 +27,8 @@ EXE_INC = \ -I$(LIB_SRC)/fvOptions/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltwoPhaseMixtureThermo \ -ltwoPhaseSurfaceTension \ -lcompressibleTransportModels \ diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options index 9df3add9e..50f8544ec 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options @@ -13,6 +13,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmultiphaseMixtureThermo \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ diff --git a/applications/solvers/multiphase/driftFluxFoam/Make/options b/applications/solvers/multiphase/driftFluxFoam/Make/options index a92f59982..f3c251c36 100644 --- a/applications/solvers/multiphase/driftFluxFoam/Make/options +++ b/applications/solvers/multiphase/driftFluxFoam/Make/options @@ -12,6 +12,8 @@ EXE_INC = \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldriftFluxTransportModels \ -ldriftFluxRelativeVelocityModels \ -lfiniteVolume \ diff --git a/applications/solvers/multiphase/interFoam/Make/options b/applications/solvers/multiphase/interFoam/Make/options index 6ecfb3a65..9489b9839 100644 --- a/applications/solvers/multiphase/interFoam/Make/options +++ b/applications/solvers/multiphase/interFoam/Make/options @@ -13,6 +13,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -limmiscibleIncompressibleTwoPhaseMixture \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options index bc2bd05da..dab5644f6 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options @@ -17,6 +17,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltwoPhaseMixture \ -ltwoPhaseProperties \ -lincompressibleTransportModels \ diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/Make/options b/applications/solvers/multiphase/interPhaseChangeFoam/Make/options index a29ad660e..a41230878 100644 --- a/applications/solvers/multiphase/interPhaseChangeFoam/Make/options +++ b/applications/solvers/multiphase/interPhaseChangeFoam/Make/options @@ -11,6 +11,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lphaseChangeTwoPhaseMixtures \ -ltwoPhaseMixture \ -linterfaceProperties \ diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options index 0a4397e06..79adfdaaf 100644 --- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options +++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/Make/options @@ -14,6 +14,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lphaseChangeTwoPhaseMixtures \ -ltwoPhaseMixture \ -linterfaceProperties \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/Make/options index a841d0136..7395461ca 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/Make/options @@ -13,6 +13,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmultiphaseSystem \ -linterfaceProperties \ -lincompressibleTransportModels \ diff --git a/applications/solvers/multiphase/multiphaseInterFoam/Make/options b/applications/solvers/multiphase/multiphaseInterFoam/Make/options index 3b41b5a13..144f67a80 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/Make/options +++ b/applications/solvers/multiphase/multiphaseInterFoam/Make/options @@ -14,6 +14,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmultiphaseInterFoam \ -linterfaceProperties \ -lincompressibleTransportModels \ diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options index 2026e36fb..3dfa184c7 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options @@ -9,6 +9,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lincompressibleTransportModels \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options index eca0dd4fc..2c11d346a 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/Make/options @@ -13,6 +13,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lincompressibleTransportModels \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options index 7d27fdb05..97c9f647a 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options @@ -12,9 +12,19 @@ EXE_INC = \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt LIB_LIBS = \ -lfluidThermophysicalModels \ -lreactionThermophysicalModels \ - -lspecie + -lspecie \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options index 1e5f8f0ae..3c583df42 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options @@ -7,9 +7,19 @@ EXE_INC = \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt LIB_LIBS = \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ - -lspecie + -lspecie \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options index aa2c1fa5a..68496229d 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options @@ -12,7 +12,18 @@ EXE_INC = \ -I$(LIB_SRC)/combustionModels/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude + -I$(LIB_SRC)/sampling/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt LIB_LIBS = \ - -lcombustionModels + -L$(FOAM_USER_LIBBIN) \ + -lcombustionModels \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options index 06caef01d..62dfc38e0 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options @@ -14,6 +14,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lreactingPhaseSystem \ -lreactingMultiphaseSystem \ -lreactingEulerianInterfacialModels \ diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options index 5216efaa9..c00280aca 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options @@ -14,6 +14,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lreactingPhaseSystem \ -lreactingTwoPhaseSystem \ -lreactingEulerianInterfacialModels \ diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options index e9549744c..1e3affc99 100644 --- a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options +++ b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options @@ -11,6 +11,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltwoPhaseMixture \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options index f5255ec17..a143c1754 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/Make/options @@ -13,6 +13,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lspecie \ diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options b/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options index 5a13b8829..f888f41a4 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options @@ -5,5 +5,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/Make/options b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/Make/options index 24377db11..aec0027f6 100644 --- a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/Make/options +++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/Make/options @@ -6,5 +6,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/Function1/Make/options b/applications/test/Function1/Make/options index f7182cb4c..915b63244 100644 --- a/applications/test/Function1/Make/options +++ b/applications/test/Function1/Make/options @@ -6,6 +6,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -llagrangianIntermediate \ -lradiationModels \ -lregionModels \ diff --git a/applications/test/GAMGAgglomeration/Make/options b/applications/test/GAMGAgglomeration/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/GAMGAgglomeration/Make/options +++ b/applications/test/GAMGAgglomeration/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/PatchEdgeFaceWave/Make/options b/applications/test/PatchEdgeFaceWave/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/PatchEdgeFaceWave/Make/options +++ b/applications/test/PatchEdgeFaceWave/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/PatchTools/Make/options b/applications/test/PatchTools/Make/options index 3d00e249a..8ab8c4efc 100644 --- a/applications/test/PatchTools/Make/options +++ b/applications/test/PatchTools/Make/options @@ -4,4 +4,6 @@ EXE_INC = \ -I$(LIB_SRC)/surfMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/test/PointEdgeWave/Make/options b/applications/test/PointEdgeWave/Make/options index 54c035b8f..92c010df1 100644 --- a/applications/test/PointEdgeWave/Make/options +++ b/applications/test/PointEdgeWave/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools diff --git a/applications/test/cyclic/Make/options b/applications/test/cyclic/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/cyclic/Make/options +++ b/applications/test/cyclic/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/ensightFoamReader/Make/options b/applications/test/ensightFoamReader/Make/options index 750aeb0d1..6e2b22654 100644 --- a/applications/test/ensightFoamReader/Make/options +++ b/applications/test/ensightFoamReader/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -DUSERD_API_203 EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -luserd-foam diff --git a/applications/test/extendedStencil/Make/options b/applications/test/extendedStencil/Make/options index b733f6ac0..fb177fbfe 100644 --- a/applications/test/extendedStencil/Make/options +++ b/applications/test/extendedStencil/Make/options @@ -3,4 +3,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/test/fieldDependency/Make/options b/applications/test/fieldDependency/Make/options index fa15f1245..8f2336d5d 100644 --- a/applications/test/fieldDependency/Make/options +++ b/applications/test/fieldDependency/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/test/fieldMapping/Make/options b/applications/test/fieldMapping/Make/options index 8c55d7764..3dcffbd3e 100644 --- a/applications/test/fieldMapping/Make/options +++ b/applications/test/fieldMapping/Make/options @@ -5,5 +5,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -ldynamicMesh diff --git a/applications/test/findCell-octree/Make/options b/applications/test/findCell-octree/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/findCell-octree/Make/options +++ b/applications/test/findCell-octree/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/findSphereFeatureEdges-octree/Make/options b/applications/test/findSphereFeatureEdges-octree/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/findSphereFeatureEdges-octree/Make/options +++ b/applications/test/findSphereFeatureEdges-octree/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/fvSolutionCombine/Make/options b/applications/test/fvSolutionCombine/Make/options index fa15f1245..8f2336d5d 100644 --- a/applications/test/fvSolutionCombine/Make/options +++ b/applications/test/fvSolutionCombine/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/test/fvc/Make/options b/applications/test/fvc/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/fvc/Make/options +++ b/applications/test/fvc/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/graph/Make/options b/applications/test/graph/Make/options index 73db7f956..323248dd4 100644 --- a/applications/test/graph/Make/options +++ b/applications/test/graph/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsampling \ -lmeshTools diff --git a/applications/test/graphXi/Make/options b/applications/test/graphXi/Make/options index 73db7f956..323248dd4 100644 --- a/applications/test/graphXi/Make/options +++ b/applications/test/graphXi/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsampling \ -lmeshTools diff --git a/applications/test/hexRef8/Make/options b/applications/test/hexRef8/Make/options index 8c55d7764..3dcffbd3e 100644 --- a/applications/test/hexRef8/Make/options +++ b/applications/test/hexRef8/Make/options @@ -5,5 +5,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -ldynamicMesh diff --git a/applications/test/liquid/Make/options b/applications/test/liquid/Make/options index 3ed982940..ce45ec27e 100644 --- a/applications/test/liquid/Make/options +++ b/applications/test/liquid/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lthermophysicalProperties diff --git a/applications/test/mappedPatch/Make/options b/applications/test/mappedPatch/Make/options index d76bd10c8..1ceb487d5 100644 --- a/applications/test/mappedPatch/Make/options +++ b/applications/test/mappedPatch/Make/options @@ -3,4 +3,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/test/mesh/Make/options b/applications/test/mesh/Make/options index fa15f1245..8f2336d5d 100644 --- a/applications/test/mesh/Make/options +++ b/applications/test/mesh/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/test/momentOfInertia/Make/options b/applications/test/momentOfInertia/Make/options index 0b32f3355..98d95aa74 100644 --- a/applications/test/momentOfInertia/Make/options +++ b/applications/test/momentOfInertia/Make/options @@ -3,4 +3,6 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools diff --git a/applications/test/passiveParticle/Make/options b/applications/test/passiveParticle/Make/options index 74e2ec1cf..aa4b2af35 100644 --- a/applications/test/passiveParticle/Make/options +++ b/applications/test/passiveParticle/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -llagrangian diff --git a/applications/test/patchRegion/Make/options b/applications/test/patchRegion/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/patchRegion/Make/options +++ b/applications/test/patchRegion/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/pointField/Make/options b/applications/test/pointField/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/pointField/Make/options +++ b/applications/test/pointField/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/reconstruct/Make/options b/applications/test/reconstruct/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/reconstruct/Make/options +++ b/applications/test/reconstruct/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/rigidBodyDynamics/Make/options b/applications/test/rigidBodyDynamics/Make/options index 4a9d828b6..f6954d020 100644 --- a/applications/test/rigidBodyDynamics/Make/options +++ b/applications/test/rigidBodyDynamics/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/rigidBodyDynamics/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lrigidBodyDynamics diff --git a/applications/test/router/Make/options b/applications/test/router/Make/options index e43fc5035..73cc72c43 100644 --- a/applications/test/router/Make/options +++ b/applications/test/router/Make/options @@ -3,4 +3,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/test/slicedField/Make/options b/applications/test/slicedField/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/slicedField/Make/options +++ b/applications/test/slicedField/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/tetTetOverlap/Make/options b/applications/test/tetTetOverlap/Make/options index 54c035b8f..92c010df1 100644 --- a/applications/test/tetTetOverlap/Make/options +++ b/applications/test/tetTetOverlap/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools diff --git a/applications/test/thermoMixture/Make/options b/applications/test/thermoMixture/Make/options index 98bf79aaa..115d83c7b 100644 --- a/applications/test/thermoMixture/Make/options +++ b/applications/test/thermoMixture/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lspecie diff --git a/applications/test/volField/Make/options b/applications/test/volField/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/volField/Make/options +++ b/applications/test/volField/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/volPointInterpolation/Make/options b/applications/test/volPointInterpolation/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/volPointInterpolation/Make/options +++ b/applications/test/volPointInterpolation/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/test/wallDist/Make/options b/applications/test/wallDist/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/test/wallDist/Make/options +++ b/applications/test/wallDist/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/utilities/mesh/advanced/PDRMesh/Make/options b/applications/utilities/mesh/advanced/PDRMesh/Make/options index 4e7c20058..b55c6b3d5 100644 --- a/applications/utilities/mesh/advanced/PDRMesh/Make/options +++ b/applications/utilities/mesh/advanced/PDRMesh/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lcompressibleTurbulenceModels \ -lcompressibleTransportModels \ diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/Make/options b/applications/utilities/mesh/advanced/autoRefineMesh/Make/options index 78df8bbcf..7676f0903 100644 --- a/applications/utilities/mesh/advanced/autoRefineMesh/Make/options +++ b/applications/utilities/mesh/advanced/autoRefineMesh/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools \ -ltriSurface \ diff --git a/applications/utilities/mesh/advanced/collapseEdges/Make/options b/applications/utilities/mesh/advanced/collapseEdges/Make/options index 987eae5ed..6ebdb1a37 100644 --- a/applications/utilities/mesh/advanced/collapseEdges/Make/options +++ b/applications/utilities/mesh/advanced/collapseEdges/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools \ -lfiniteVolume diff --git a/applications/utilities/mesh/advanced/combinePatchFaces/Make/options b/applications/utilities/mesh/advanced/combinePatchFaces/Make/options index 3da3443a2..1673c731a 100644 --- a/applications/utilities/mesh/advanced/combinePatchFaces/Make/options +++ b/applications/utilities/mesh/advanced/combinePatchFaces/Make/options @@ -5,5 +5,7 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -ldynamicMesh diff --git a/applications/utilities/mesh/advanced/modifyMesh/Make/options b/applications/utilities/mesh/advanced/modifyMesh/Make/options index 70c838b77..d563a2451 100644 --- a/applications/utilities/mesh/advanced/modifyMesh/Make/options +++ b/applications/utilities/mesh/advanced/modifyMesh/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ldynamicMesh diff --git a/applications/utilities/mesh/advanced/refineHexMesh/Make/options b/applications/utilities/mesh/advanced/refineHexMesh/Make/options index baa7b45f0..0d93aed86 100644 --- a/applications/utilities/mesh/advanced/refineHexMesh/Make/options +++ b/applications/utilities/mesh/advanced/refineHexMesh/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools \ -lfiniteVolume \ diff --git a/applications/utilities/mesh/advanced/refineWallLayer/Make/options b/applications/utilities/mesh/advanced/refineWallLayer/Make/options index 7349856ca..edff09308 100644 --- a/applications/utilities/mesh/advanced/refineWallLayer/Make/options +++ b/applications/utilities/mesh/advanced/refineWallLayer/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/advanced/refinementLevel/Make/options b/applications/utilities/mesh/advanced/refinementLevel/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/utilities/mesh/advanced/refinementLevel/Make/options +++ b/applications/utilities/mesh/advanced/refinementLevel/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/utilities/mesh/advanced/removeFaces/Make/options b/applications/utilities/mesh/advanced/removeFaces/Make/options index 63c5dc5d7..031a247dd 100644 --- a/applications/utilities/mesh/advanced/removeFaces/Make/options +++ b/applications/utilities/mesh/advanced/removeFaces/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ldynamicMesh \ -lfiniteVolume \ diff --git a/applications/utilities/mesh/advanced/selectCells/Make/options b/applications/utilities/mesh/advanced/selectCells/Make/options index c4020c272..37e5c9c0e 100644 --- a/applications/utilities/mesh/advanced/selectCells/Make/options +++ b/applications/utilities/mesh/advanced/selectCells/Make/options @@ -6,6 +6,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools \ -ltriSurface \ diff --git a/applications/utilities/mesh/advanced/splitCells/Make/options b/applications/utilities/mesh/advanced/splitCells/Make/options index 7349856ca..edff09308 100644 --- a/applications/utilities/mesh/advanced/splitCells/Make/options +++ b/applications/utilities/mesh/advanced/splitCells/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/Make/options b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/Make/options index e2cdbcd1c..0f075a641 100644 --- a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/Make/options +++ b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/Make/options @@ -7,6 +7,8 @@ EXE_INC = \ -I$(LIBCCMIO_DIR)/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -L$(FOAM_EXT_LIBBIN) -lccmio diff --git a/applications/utilities/mesh/conversion/datToFoam/Make/options b/applications/utilities/mesh/conversion/datToFoam/Make/options index 54c035b8f..92c010df1 100644 --- a/applications/utilities/mesh/conversion/datToFoam/Make/options +++ b/applications/utilities/mesh/conversion/datToFoam/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/Make/options b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/Make/options index 70c838b77..d563a2451 100644 --- a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/Make/options +++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ldynamicMesh diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/Make/options b/applications/utilities/mesh/conversion/fluentMeshToFoam/Make/options index 70c838b77..d563a2451 100644 --- a/applications/utilities/mesh/conversion/fluentMeshToFoam/Make/options +++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ldynamicMesh diff --git a/applications/utilities/mesh/conversion/foamMeshToFluent/Make/options b/applications/utilities/mesh/conversion/foamMeshToFluent/Make/options index fa15f1245..8f2336d5d 100644 --- a/applications/utilities/mesh/conversion/foamMeshToFluent/Make/options +++ b/applications/utilities/mesh/conversion/foamMeshToFluent/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/utilities/mesh/conversion/foamToStarMesh/Make/options b/applications/utilities/mesh/conversion/foamToStarMesh/Make/options index e3af2fe66..640e6184b 100644 --- a/applications/utilities/mesh/conversion/foamToStarMesh/Make/options +++ b/applications/utilities/mesh/conversion/foamToStarMesh/Make/options @@ -4,4 +4,6 @@ EXE_INC = \ -I$(LIB_SRC)/fileFormats/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lconversion diff --git a/applications/utilities/mesh/conversion/foamToSurface/Make/options b/applications/utilities/mesh/conversion/foamToSurface/Make/options index a504dd861..eb4238a06 100644 --- a/applications/utilities/mesh/conversion/foamToSurface/Make/options +++ b/applications/utilities/mesh/conversion/foamToSurface/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/surfMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsurfMesh diff --git a/applications/utilities/mesh/conversion/gmshToFoam/Make/options b/applications/utilities/mesh/conversion/gmshToFoam/Make/options index 7349856ca..edff09308 100644 --- a/applications/utilities/mesh/conversion/gmshToFoam/Make/options +++ b/applications/utilities/mesh/conversion/gmshToFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/conversion/ideasUnvToFoam/Make/options b/applications/utilities/mesh/conversion/ideasUnvToFoam/Make/options index 02c293cee..09ed748bf 100644 --- a/applications/utilities/mesh/conversion/ideasUnvToFoam/Make/options +++ b/applications/utilities/mesh/conversion/ideasUnvToFoam/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/surfMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lsurfMesh diff --git a/applications/utilities/mesh/conversion/plot3dToFoam/Make/options b/applications/utilities/mesh/conversion/plot3dToFoam/Make/options index 54c035b8f..92c010df1 100644 --- a/applications/utilities/mesh/conversion/plot3dToFoam/Make/options +++ b/applications/utilities/mesh/conversion/plot3dToFoam/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools diff --git a/applications/utilities/mesh/conversion/star4ToFoam/Make/options b/applications/utilities/mesh/conversion/star4ToFoam/Make/options index e3af2fe66..640e6184b 100644 --- a/applications/utilities/mesh/conversion/star4ToFoam/Make/options +++ b/applications/utilities/mesh/conversion/star4ToFoam/Make/options @@ -4,4 +4,6 @@ EXE_INC = \ -I$(LIB_SRC)/fileFormats/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lconversion diff --git a/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/Make/options b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/Make/options index 7ce182425..21bc24c79 100644 --- a/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/Make/options +++ b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/fileFormats/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfileFormats diff --git a/applications/utilities/mesh/conversion/writeMeshObj/Make/options b/applications/utilities/mesh/conversion/writeMeshObj/Make/options index 54c035b8f..92c010df1 100644 --- a/applications/utilities/mesh/conversion/writeMeshObj/Make/options +++ b/applications/utilities/mesh/conversion/writeMeshObj/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools diff --git a/applications/utilities/mesh/generation/blockMesh/Make/options b/applications/utilities/mesh/generation/blockMesh/Make/options index 9d13a25de..80f54575b 100644 --- a/applications/utilities/mesh/generation/blockMesh/Make/options +++ b/applications/utilities/mesh/generation/blockMesh/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lblockMesh \ -lmeshTools \ -lfileFormats \ diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options b/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options index 94b355be3..d85a05028 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options @@ -7,6 +7,8 @@ EXE_INC = \ -I$(LIB_SRC)/mesh/extrudeModel/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lsurfMesh \ -lmeshTools \ diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options index 49cad25f2..8146bd6ce 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options @@ -6,6 +6,8 @@ EXE_INC = \ -I$(LIB_SRC)/mesh/extrudeModel/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsurfMesh \ -lfiniteVolume \ -lmeshTools \ diff --git a/applications/utilities/mesh/generation/extrude2DMesh/Make/options b/applications/utilities/mesh/generation/extrude2DMesh/Make/options index 3be2f34c1..1211d0d8d 100644 --- a/applications/utilities/mesh/generation/extrude2DMesh/Make/options +++ b/applications/utilities/mesh/generation/extrude2DMesh/Make/options @@ -6,6 +6,8 @@ EXE_INC = \ -I$(LIB_SRC)/mesh/extrudeModel/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsurfMesh \ -ldynamicMesh \ -lextrude2DMesh \ diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/Make/options b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/Make/options index ecf9cc2b3..cd070281b 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/Make/options +++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/Make/options @@ -25,6 +25,8 @@ EXE_INC = \ -IvectorTools EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ ${CGAL_LIBS} \ -lconformalVoronoiMesh \ -lmeshTools \ diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/Make/options b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/Make/options index 701bea14b..60c8f8661 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/Make/options +++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/Make/options @@ -19,6 +19,8 @@ EXE_INC = \ -I../vectorTools EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ $(CGAL_LIBS) \ -lboost_thread \ -lmpfr \ diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshSurfaceSimplify/Make/options b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshSurfaceSimplify/Make/options index c0eac6523..d5211f262 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshSurfaceSimplify/Make/options +++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshSurfaceSimplify/Make/options @@ -14,6 +14,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ $(CGAL_LIBS) \ -lboost_thread \ -lmpfr \ diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/Make/options b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/Make/options index 37dda1856..420eddbb6 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/Make/options +++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/Make/options @@ -23,6 +23,8 @@ EXE_INC = \ -I$(LIB_SRC)/mesh/snappyHexMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ $(CGAL_LIBS) \ -lextrude2DMesh \ -lextrudeModel \ diff --git a/applications/utilities/mesh/generation/snappyHexMesh/Make/options b/applications/utilities/mesh/generation/snappyHexMesh/Make/options index b50c6396e..166d64152 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/Make/options +++ b/applications/utilities/mesh/generation/snappyHexMesh/Make/options @@ -10,6 +10,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -ldecompositionMethods \ -L$(FOAM_LIBBIN)/dummy -lscotchDecomp -lptscotchDecomp \ diff --git a/applications/utilities/mesh/manipulation/attachMesh/Make/options b/applications/utilities/mesh/manipulation/attachMesh/Make/options index 21b17b14c..b7d0034a0 100644 --- a/applications/utilities/mesh/manipulation/attachMesh/Make/options +++ b/applications/utilities/mesh/manipulation/attachMesh/Make/options @@ -2,5 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/autoPatch/Make/options b/applications/utilities/mesh/manipulation/autoPatch/Make/options index 7349856ca..edff09308 100644 --- a/applications/utilities/mesh/manipulation/autoPatch/Make/options +++ b/applications/utilities/mesh/manipulation/autoPatch/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/checkMesh/Make/options b/applications/utilities/mesh/manipulation/checkMesh/Make/options index 0653767f3..46d3f0dfd 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/Make/options +++ b/applications/utilities/mesh/manipulation/checkMesh/Make/options @@ -7,6 +7,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lsampling \ -lsurfMesh \ diff --git a/applications/utilities/mesh/manipulation/createBaffles/Make/options b/applications/utilities/mesh/manipulation/createBaffles/Make/options index 3c8db2812..bb48b4041 100644 --- a/applications/utilities/mesh/manipulation/createBaffles/Make/options +++ b/applications/utilities/mesh/manipulation/createBaffles/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools \ -lfiniteVolume \ diff --git a/applications/utilities/mesh/manipulation/createPatch/Make/options b/applications/utilities/mesh/manipulation/createPatch/Make/options index 73f34b0f8..bad56123f 100644 --- a/applications/utilities/mesh/manipulation/createPatch/Make/options +++ b/applications/utilities/mesh/manipulation/createPatch/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/deformedGeom/Make/options b/applications/utilities/mesh/manipulation/deformedGeom/Make/options index dea7843ff..2fd01271f 100644 --- a/applications/utilities/mesh/manipulation/deformedGeom/Make/options +++ b/applications/utilities/mesh/manipulation/deformedGeom/Make/options @@ -2,6 +2,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/flattenMesh/Make/options b/applications/utilities/mesh/manipulation/flattenMesh/Make/options index 73f34b0f8..bad56123f 100644 --- a/applications/utilities/mesh/manipulation/flattenMesh/Make/options +++ b/applications/utilities/mesh/manipulation/flattenMesh/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/insideCells/Make/options b/applications/utilities/mesh/manipulation/insideCells/Make/options index 07bbf1aab..7a7f82588 100644 --- a/applications/utilities/mesh/manipulation/insideCells/Make/options +++ b/applications/utilities/mesh/manipulation/insideCells/Make/options @@ -4,5 +4,7 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltriSurface \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/mergeMeshes/Make/options b/applications/utilities/mesh/manipulation/mergeMeshes/Make/options index 21b17b14c..b7d0034a0 100644 --- a/applications/utilities/mesh/manipulation/mergeMeshes/Make/options +++ b/applications/utilities/mesh/manipulation/mergeMeshes/Make/options @@ -2,5 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/Make/options b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/Make/options index 523fc41d3..ac1d44c17 100644 --- a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/Make/options +++ b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lgenericPatchFields \ -lmeshTools \ diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/Make/options b/applications/utilities/mesh/manipulation/mirrorMesh/Make/options index ac6ecd833..3d8e51e93 100644 --- a/applications/utilities/mesh/manipulation/mirrorMesh/Make/options +++ b/applications/utilities/mesh/manipulation/mirrorMesh/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lfiniteVolume diff --git a/applications/utilities/mesh/manipulation/moveDynamicMesh/Make/options b/applications/utilities/mesh/manipulation/moveDynamicMesh/Make/options index 5dbb0c35a..69a1f2f07 100644 --- a/applications/utilities/mesh/manipulation/moveDynamicMesh/Make/options +++ b/applications/utilities/mesh/manipulation/moveDynamicMesh/Make/options @@ -7,6 +7,8 @@ EXE_INC = \ -I../checkMesh EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicFvMesh \ -lmeshTools \ -lsampling \ diff --git a/applications/utilities/mesh/manipulation/moveEngineMesh/Make/options b/applications/utilities/mesh/manipulation/moveEngineMesh/Make/options index a82119ff7..d14f4c24e 100644 --- a/applications/utilities/mesh/manipulation/moveEngineMesh/Make/options +++ b/applications/utilities/mesh/manipulation/moveEngineMesh/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lengine \ -ldynamicMesh \ -lfiniteVolume \ diff --git a/applications/utilities/mesh/manipulation/moveMesh/Make/options b/applications/utilities/mesh/manipulation/moveMesh/Make/options index 9b8c3dea8..cad69504b 100644 --- a/applications/utilities/mesh/manipulation/moveMesh/Make/options +++ b/applications/utilities/mesh/manipulation/moveMesh/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/orientFaceZone/Make/options b/applications/utilities/mesh/manipulation/orientFaceZone/Make/options index 56e8dc4f1..1b46a8a68 100644 --- a/applications/utilities/mesh/manipulation/orientFaceZone/Make/options +++ b/applications/utilities/mesh/manipulation/orientFaceZone/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lsnappyHexMesh \ -ltriSurface diff --git a/applications/utilities/mesh/manipulation/polyDualMesh/Make/options b/applications/utilities/mesh/manipulation/polyDualMesh/Make/options index f3d9c89aa..9a7467c12 100644 --- a/applications/utilities/mesh/manipulation/polyDualMesh/Make/options +++ b/applications/utilities/mesh/manipulation/polyDualMesh/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lgenericPatchFields \ -ldynamicMesh \ diff --git a/applications/utilities/mesh/manipulation/refineMesh/Make/options b/applications/utilities/mesh/manipulation/refineMesh/Make/options index 73f34b0f8..bad56123f 100644 --- a/applications/utilities/mesh/manipulation/refineMesh/Make/options +++ b/applications/utilities/mesh/manipulation/refineMesh/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/renumberMesh/Make/options b/applications/utilities/mesh/manipulation/renumberMesh/Make/options index ef0651050..1c0b58732 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/Make/options +++ b/applications/utilities/mesh/manipulation/renumberMesh/Make/options @@ -9,6 +9,8 @@ EXE_INC = \ -I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ldynamicMesh \ -lfiniteVolume \ diff --git a/applications/utilities/mesh/manipulation/rotateMesh/Make/options b/applications/utilities/mesh/manipulation/rotateMesh/Make/options index fa15f1245..8f2336d5d 100644 --- a/applications/utilities/mesh/manipulation/rotateMesh/Make/options +++ b/applications/utilities/mesh/manipulation/rotateMesh/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/utilities/mesh/manipulation/setSet/Make/options b/applications/utilities/mesh/manipulation/setSet/Make/options index febadade7..e3cad9c94 100644 --- a/applications/utilities/mesh/manipulation/setSet/Make/options +++ b/applications/utilities/mesh/manipulation/setSet/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ $(COMP_FLAGS) EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ $(LINK_FLAGS) diff --git a/applications/utilities/mesh/manipulation/setsToZones/Make/options b/applications/utilities/mesh/manipulation/setsToZones/Make/options index ec38e1cbd..6753ba056 100644 --- a/applications/utilities/mesh/manipulation/setsToZones/Make/options +++ b/applications/utilities/mesh/manipulation/setsToZones/Make/options @@ -2,5 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lsampling diff --git a/applications/utilities/mesh/manipulation/singleCellMesh/Make/options b/applications/utilities/mesh/manipulation/singleCellMesh/Make/options index 193ad0e7b..d8b45ee5c 100644 --- a/applications/utilities/mesh/manipulation/singleCellMesh/Make/options +++ b/applications/utilities/mesh/manipulation/singleCellMesh/Make/options @@ -2,6 +2,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lgenericPatchFields \ -lfiniteVolume diff --git a/applications/utilities/mesh/manipulation/splitMesh/Make/options b/applications/utilities/mesh/manipulation/splitMesh/Make/options index 73f34b0f8..bad56123f 100644 --- a/applications/utilities/mesh/manipulation/splitMesh/Make/options +++ b/applications/utilities/mesh/manipulation/splitMesh/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/Make/options b/applications/utilities/mesh/manipulation/splitMeshRegions/Make/options index da1b9c501..20471e778 100644 --- a/applications/utilities/mesh/manipulation/splitMeshRegions/Make/options +++ b/applications/utilities/mesh/manipulation/splitMeshRegions/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lgenericPatchFields \ -ldynamicMesh \ diff --git a/applications/utilities/mesh/manipulation/stitchMesh/Make/options b/applications/utilities/mesh/manipulation/stitchMesh/Make/options index ac523b828..6228a86c1 100644 --- a/applications/utilities/mesh/manipulation/stitchMesh/Make/options +++ b/applications/utilities/mesh/manipulation/stitchMesh/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools \ -lfiniteVolume \ diff --git a/applications/utilities/mesh/manipulation/subsetMesh/Make/options b/applications/utilities/mesh/manipulation/subsetMesh/Make/options index 759535d95..e01f97590 100644 --- a/applications/utilities/mesh/manipulation/subsetMesh/Make/options +++ b/applications/utilities/mesh/manipulation/subsetMesh/Make/options @@ -4,5 +4,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lgenericPatchFields diff --git a/applications/utilities/mesh/manipulation/topoSet/Make/options b/applications/utilities/mesh/manipulation/topoSet/Make/options index 54c035b8f..92c010df1 100644 --- a/applications/utilities/mesh/manipulation/topoSet/Make/options +++ b/applications/utilities/mesh/manipulation/topoSet/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools diff --git a/applications/utilities/mesh/manipulation/transformPoints/Make/options b/applications/utilities/mesh/manipulation/transformPoints/Make/options index d8fea4291..f033c8acb 100644 --- a/applications/utilities/mesh/manipulation/transformPoints/Make/options +++ b/applications/utilities/mesh/manipulation/transformPoints/Make/options @@ -3,6 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/regionModels/regionModel/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lgenericPatchFields \ -lregionModels diff --git a/applications/utilities/mesh/manipulation/zipUpMesh/Make/options b/applications/utilities/mesh/manipulation/zipUpMesh/Make/options index 082ffae98..3591df1f8 100644 --- a/applications/utilities/mesh/manipulation/zipUpMesh/Make/options +++ b/applications/utilities/mesh/manipulation/zipUpMesh/Make/options @@ -5,4 +5,6 @@ EXE_INC = \ /* -DDEBUG_ORDER */ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools diff --git a/applications/utilities/miscellaneous/foamFormatConvert/Make/options b/applications/utilities/miscellaneous/foamFormatConvert/Make/options index b2bc2047e..a80a355a6 100644 --- a/applications/utilities/miscellaneous/foamFormatConvert/Make/options +++ b/applications/utilities/miscellaneous/foamFormatConvert/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lfiniteVolume \ -lgenericPatchFields \ diff --git a/applications/utilities/miscellaneous/patchSummary/Make/options b/applications/utilities/miscellaneous/patchSummary/Make/options index 318e1be8f..313be63a8 100644 --- a/applications/utilities/miscellaneous/patchSummary/Make/options +++ b/applications/utilities/miscellaneous/patchSummary/Make/options @@ -3,6 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lgenericPatchFields \ -lfiniteVolume \ -lmeshTools diff --git a/applications/utilities/parallelProcessing/decomposePar/Make/options b/applications/utilities/parallelProcessing/decomposePar/Make/options index 3fa418594..21ec98c30 100644 --- a/applications/utilities/parallelProcessing/decomposePar/Make/options +++ b/applications/utilities/parallelProcessing/decomposePar/Make/options @@ -8,6 +8,8 @@ EXE_INC = \ -I$(LIB_SRC)/regionModels/regionModel/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -ldecompose \ -lgenericPatchFields \ diff --git a/applications/utilities/parallelProcessing/reconstructPar/Make/options b/applications/utilities/parallelProcessing/reconstructPar/Make/options index 1ebb8c02d..387f42e1f 100644 --- a/applications/utilities/parallelProcessing/reconstructPar/Make/options +++ b/applications/utilities/parallelProcessing/reconstructPar/Make/options @@ -7,6 +7,8 @@ EXE_INC = \ -I$(LIB_SRC)/regionModels/regionModel/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lgenericPatchFields \ -llagrangian \ diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/Make/options b/applications/utilities/parallelProcessing/reconstructParMesh/Make/options index 330bdf764..ded2e665b 100644 --- a/applications/utilities/parallelProcessing/reconstructParMesh/Make/options +++ b/applications/utilities/parallelProcessing/reconstructParMesh/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/regionModels/regionModel/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lmeshTools \ -lregionModels diff --git a/applications/utilities/parallelProcessing/redistributePar/Make/options b/applications/utilities/parallelProcessing/redistributePar/Make/options index bc7b904e0..490f9fb01 100644 --- a/applications/utilities/parallelProcessing/redistributePar/Make/options +++ b/applications/utilities/parallelProcessing/redistributePar/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lgenericPatchFields \ -ldecompositionMethods \ diff --git a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/Make/options b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/Make/options index 318e1be8f..313be63a8 100644 --- a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/Make/options +++ b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/Make/options @@ -3,6 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lgenericPatchFields \ -lfiniteVolume \ -lmeshTools diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/options b/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/options index 0f80ffa1b..5dfca1e04 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/options +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/options @@ -6,6 +6,8 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldynamicMesh \ -lsampling \ -lgenericPatchFields \ diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/Make/options b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/Make/options index 40a58886b..aaea3bf7f 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/Make/options +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/conversion/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -llagrangian \ -lmeshTools \ diff --git a/applications/utilities/postProcessing/dataConversion/foamToGMV/Make/options b/applications/utilities/postProcessing/dataConversion/foamToGMV/Make/options index 811647514..9bd6c74b6 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToGMV/Make/options +++ b/applications/utilities/postProcessing/dataConversion/foamToGMV/Make/options @@ -6,6 +6,8 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -lgenericPatchFields \ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/options b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/options index 50981e77e..9b6d504be 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/options +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/options @@ -7,6 +7,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -llagrangian \ -ldynamicMesh \ -lgenericPatchFields \ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/Make/options b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/Make/options index fa15f1245..8f2336d5d 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/Make/options +++ b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/Make/options b/applications/utilities/postProcessing/dataConversion/foamToVTK/Make/options index c2445fd54..7fe07d2fb 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/Make/options +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/Make/options @@ -6,6 +6,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfoamToVTK \ -ldynamicMesh \ -llagrangian \ diff --git a/applications/utilities/postProcessing/dataConversion/smapToFoam/Make/options b/applications/utilities/postProcessing/dataConversion/smapToFoam/Make/options index 318e1be8f..313be63a8 100644 --- a/applications/utilities/postProcessing/dataConversion/smapToFoam/Make/options +++ b/applications/utilities/postProcessing/dataConversion/smapToFoam/Make/options @@ -3,6 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lgenericPatchFields \ -lfiniteVolume \ -lmeshTools diff --git a/applications/utilities/postProcessing/lagrangian/particleTracks/Make/options b/applications/utilities/postProcessing/lagrangian/particleTracks/Make/options index b653926f9..0b2a14634 100644 --- a/applications/utilities/postProcessing/lagrangian/particleTracks/Make/options +++ b/applications/utilities/postProcessing/lagrangian/particleTracks/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -lfileFormats \ diff --git a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/Make/options b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/Make/options index 004f0474b..759968573 100644 --- a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/Make/options +++ b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -llagrangian \ -lmeshTools \ -lfiniteVolume diff --git a/applications/utilities/postProcessing/miscellaneous/engineCompRatio/Make/options b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/Make/options index fc10ba7a6..8f5d6caf0 100644 --- a/applications/utilities/postProcessing/miscellaneous/engineCompRatio/Make/options +++ b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lengine \ -ldynamicMesh \ -lfiniteVolume \ diff --git a/applications/utilities/postProcessing/miscellaneous/pdfPlot/Make/options b/applications/utilities/postProcessing/miscellaneous/pdfPlot/Make/options index 65359ddbf..7d5fa3bce 100644 --- a/applications/utilities/postProcessing/miscellaneous/pdfPlot/Make/options +++ b/applications/utilities/postProcessing/miscellaneous/pdfPlot/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldistributionModels \ -lsampling \ -lfiniteVolume \ diff --git a/applications/utilities/postProcessing/miscellaneous/postChannel/Make/options b/applications/utilities/postProcessing/miscellaneous/postChannel/Make/options index c5e4b6238..d3d0f0197 100644 --- a/applications/utilities/postProcessing/miscellaneous/postChannel/Make/options +++ b/applications/utilities/postProcessing/miscellaneous/postChannel/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lfiniteVolume \ -lgenericPatchFields \ diff --git a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/options b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/options index 89e52b6d5..d03c5d283 100644 --- a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/options +++ b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/options @@ -2,5 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume diff --git a/applications/utilities/postProcessing/noise/Make/options b/applications/utilities/postProcessing/noise/Make/options index b29b93958..346a82b17 100644 --- a/applications/utilities/postProcessing/noise/Make/options +++ b/applications/utilities/postProcessing/noise/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lrandomProcesses \ -lsampling diff --git a/applications/utilities/postProcessing/postProcess/Make/options b/applications/utilities/postProcessing/postProcess/Make/options index d3bb9a2b6..61cfcbe42 100644 --- a/applications/utilities/postProcessing/postProcess/Make/options +++ b/applications/utilities/postProcessing/postProcess/Make/options @@ -12,6 +12,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lcompressibleTurbulenceModels \ diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options index c0efa0936..483126982 100644 --- a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options +++ b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options @@ -7,6 +7,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lincompressibleTurbulenceModels \ -lincompressibleTransportModels \ diff --git a/applications/utilities/preProcessing/boxTurb/Make/options b/applications/utilities/preProcessing/boxTurb/Make/options index ca6ebb8c8..9ba56d21c 100644 --- a/applications/utilities/preProcessing/boxTurb/Make/options +++ b/applications/utilities/preProcessing/boxTurb/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lrandomProcesses \ -lfiniteVolume \ -lmeshTools diff --git a/applications/utilities/preProcessing/changeDictionary/Make/options b/applications/utilities/preProcessing/changeDictionary/Make/options index 9b8c3dea8..cad69504b 100644 --- a/applications/utilities/preProcessing/changeDictionary/Make/options +++ b/applications/utilities/preProcessing/changeDictionary/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -ldynamicMesh \ -lmeshTools diff --git a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options index 7672e4c94..18fc53529 100644 --- a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options +++ b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options @@ -3,6 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lturbulenceModels \ -lcompressibleTurbulenceModels \ -lfiniteVolume \ diff --git a/applications/utilities/preProcessing/dsmcInitialise/Make/options b/applications/utilities/preProcessing/dsmcInitialise/Make/options index fa35b0bbd..e9165087e 100644 --- a/applications/utilities/preProcessing/dsmcInitialise/Make/options +++ b/applications/utilities/preProcessing/dsmcInitialise/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lfiniteVolume \ -llagrangian \ diff --git a/applications/utilities/preProcessing/engineSwirl/Make/options b/applications/utilities/preProcessing/engineSwirl/Make/options index 318e1be8f..313be63a8 100644 --- a/applications/utilities/preProcessing/engineSwirl/Make/options +++ b/applications/utilities/preProcessing/engineSwirl/Make/options @@ -3,6 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lgenericPatchFields \ -lfiniteVolume \ -lmeshTools diff --git a/applications/utilities/preProcessing/faceAgglomerate/Make/options b/applications/utilities/preProcessing/faceAgglomerate/Make/options index 3facebbe1..a4396aa5f 100644 --- a/applications/utilities/preProcessing/faceAgglomerate/Make/options +++ b/applications/utilities/preProcessing/faceAgglomerate/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/fvAgglomerationMethods/pairPatchAgglomeration/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lpairPatchAgglomeration \ -ltriSurface \ diff --git a/applications/utilities/preProcessing/foamSetupCHT/Make/options b/applications/utilities/preProcessing/foamSetupCHT/Make/options index d27c95d03..f85dc2e15 100644 --- a/applications/utilities/preProcessing/foamSetupCHT/Make/options +++ b/applications/utilities/preProcessing/foamSetupCHT/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/applications/utilities/preProcessing/foamUpgradeCyclics/Make/options b/applications/utilities/preProcessing/foamUpgradeCyclics/Make/options index 93ae28753..0f1d3b804 100644 --- a/applications/utilities/preProcessing/foamUpgradeCyclics/Make/options +++ b/applications/utilities/preProcessing/foamUpgradeCyclics/Make/options @@ -2,5 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lgenericPatchFields diff --git a/applications/utilities/preProcessing/mapFields/Make/options b/applications/utilities/preProcessing/mapFields/Make/options index 7bd964094..e5601f177 100644 --- a/applications/utilities/preProcessing/mapFields/Make/options +++ b/applications/utilities/preProcessing/mapFields/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsampling \ -lmeshTools \ -llagrangian \ diff --git a/applications/utilities/preProcessing/mapFieldsPar/Make/options b/applications/utilities/preProcessing/mapFieldsPar/Make/options index 7bd964094..e5601f177 100644 --- a/applications/utilities/preProcessing/mapFieldsPar/Make/options +++ b/applications/utilities/preProcessing/mapFieldsPar/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsampling \ -lmeshTools \ -llagrangian \ diff --git a/applications/utilities/preProcessing/mdInitialise/Make/options b/applications/utilities/preProcessing/mdInitialise/Make/options index 289c0990a..fee740e34 100644 --- a/applications/utilities/preProcessing/mdInitialise/Make/options +++ b/applications/utilities/preProcessing/mdInitialise/Make/options @@ -8,6 +8,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ldynamicMesh \ -lfiniteVolume \ diff --git a/applications/utilities/preProcessing/setFields/Make/options b/applications/utilities/preProcessing/setFields/Make/options index 06d42b6c3..4c32050c3 100644 --- a/applications/utilities/preProcessing/setFields/Make/options +++ b/applications/utilities/preProcessing/setFields/Make/options @@ -3,6 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lgenericPatchFields \ -lmeshTools diff --git a/applications/utilities/preProcessing/setWaves/Make/options b/applications/utilities/preProcessing/setWaves/Make/options index 688c6306c..8a548ffa2 100644 --- a/applications/utilities/preProcessing/setWaves/Make/options +++ b/applications/utilities/preProcessing/setWaves/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/waves/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -lwaves diff --git a/applications/utilities/preProcessing/viewFactorsGen/Make/options b/applications/utilities/preProcessing/viewFactorsGen/Make/options index b64f44712..0e2dc3f04 100644 --- a/applications/utilities/preProcessing/viewFactorsGen/Make/options +++ b/applications/utilities/preProcessing/viewFactorsGen/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools \ -ltriSurface \ diff --git a/applications/utilities/preProcessing/wallFunctionTable/Make/options b/applications/utilities/preProcessing/wallFunctionTable/Make/options index c26aa9aa4..83027bed3 100644 --- a/applications/utilities/preProcessing/wallFunctionTable/Make/options +++ b/applications/utilities/preProcessing/wallFunctionTable/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltabulatedWallFunctions \ -lfiniteVolume \ -lmeshTools diff --git a/applications/utilities/surface/surfaceAdd/Make/options b/applications/utilities/surface/surfaceAdd/Make/options index c746f7e0f..828da2642 100644 --- a/applications/utilities/surface/surfaceAdd/Make/options +++ b/applications/utilities/surface/surfaceAdd/Make/options @@ -2,5 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltriSurface \ -lmeshTools diff --git a/applications/utilities/surface/surfaceAutoPatch/Make/options b/applications/utilities/surface/surfaceAutoPatch/Make/options index 9f08e8d2a..89ed0ad6c 100644 --- a/applications/utilities/surface/surfaceAutoPatch/Make/options +++ b/applications/utilities/surface/surfaceAutoPatch/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceBooleanFeatures/Make/options b/applications/utilities/surface/surfaceBooleanFeatures/Make/options index 70a8e7108..4119515eb 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/Make/options +++ b/applications/utilities/surface/surfaceBooleanFeatures/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltriSurface \ -lmeshTools diff --git a/applications/utilities/surface/surfaceCheck/Make/options b/applications/utilities/surface/surfaceCheck/Make/options index ef204ab68..4209f6e04 100644 --- a/applications/utilities/surface/surfaceCheck/Make/options +++ b/applications/utilities/surface/surfaceCheck/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsampling \ -ltriSurface \ -lsurfMesh \ diff --git a/applications/utilities/surface/surfaceClean/Make/options b/applications/utilities/surface/surfaceClean/Make/options index 2db41f545..b3b0e6509 100644 --- a/applications/utilities/surface/surfaceClean/Make/options +++ b/applications/utilities/surface/surfaceClean/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceCoarsen/Make/options b/applications/utilities/surface/surfaceCoarsen/Make/options index 965309e4d..c31e915e1 100644 --- a/applications/utilities/surface/surfaceCoarsen/Make/options +++ b/applications/utilities/surface/surfaceCoarsen/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltriSurface \ -lmeshTools diff --git a/applications/utilities/surface/surfaceConvert/Make/options b/applications/utilities/surface/surfaceConvert/Make/options index 4c41bc1a4..abb9eb05a 100644 --- a/applications/utilities/surface/surfaceConvert/Make/options +++ b/applications/utilities/surface/surfaceConvert/Make/options @@ -2,5 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceFeatureConvert/Make/options b/applications/utilities/surface/surfaceFeatureConvert/Make/options index 54c035b8f..92c010df1 100644 --- a/applications/utilities/surface/surfaceFeatureConvert/Make/options +++ b/applications/utilities/surface/surfaceFeatureConvert/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools diff --git a/applications/utilities/surface/surfaceFeatureExtract/Make/options b/applications/utilities/surface/surfaceFeatureExtract/Make/options index e96fbb368..3b98465a1 100644 --- a/applications/utilities/surface/surfaceFeatureExtract/Make/options +++ b/applications/utilities/surface/surfaceFeatureExtract/Make/options @@ -6,6 +6,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface \ -lsampling diff --git a/applications/utilities/surface/surfaceFeatures/Make/options b/applications/utilities/surface/surfaceFeatures/Make/options index e96fbb368..3b98465a1 100644 --- a/applications/utilities/surface/surfaceFeatures/Make/options +++ b/applications/utilities/surface/surfaceFeatures/Make/options @@ -6,6 +6,8 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface \ -lsampling diff --git a/applications/utilities/surface/surfaceFind/Make/options b/applications/utilities/surface/surfaceFind/Make/options index 946b16a9a..81c673b04 100644 --- a/applications/utilities/surface/surfaceFind/Make/options +++ b/applications/utilities/surface/surfaceFind/Make/options @@ -2,5 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/surfMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lsurfMesh diff --git a/applications/utilities/surface/surfaceHookUp/Make/options b/applications/utilities/surface/surfaceHookUp/Make/options index db53089d4..927bf89f6 100644 --- a/applications/utilities/surface/surfaceHookUp/Make/options +++ b/applications/utilities/surface/surfaceHookUp/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lfileFormats \ -ltriSurface diff --git a/applications/utilities/surface/surfaceInertia/Make/options b/applications/utilities/surface/surfaceInertia/Make/options index 9f08e8d2a..89ed0ad6c 100644 --- a/applications/utilities/surface/surfaceInertia/Make/options +++ b/applications/utilities/surface/surfaceInertia/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceLambdaMuSmooth/Make/options b/applications/utilities/surface/surfaceLambdaMuSmooth/Make/options index 5ae72ebd3..8fcbb715a 100644 --- a/applications/utilities/surface/surfaceLambdaMuSmooth/Make/options +++ b/applications/utilities/surface/surfaceLambdaMuSmooth/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsurfMesh \ -lmeshTools diff --git a/applications/utilities/surface/surfaceMeshTriangulate/Make/options b/applications/utilities/surface/surfaceMeshTriangulate/Make/options index 87ba656ac..2f2ad7c9d 100644 --- a/applications/utilities/surface/surfaceMeshTriangulate/Make/options +++ b/applications/utilities/surface/surfaceMeshTriangulate/Make/options @@ -3,6 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/surfMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -lsurfMesh diff --git a/applications/utilities/surface/surfaceOrient/Make/options b/applications/utilities/surface/surfaceOrient/Make/options index 2db41f545..b3b0e6509 100644 --- a/applications/utilities/surface/surfaceOrient/Make/options +++ b/applications/utilities/surface/surfaceOrient/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfacePointMerge/Make/options b/applications/utilities/surface/surfacePointMerge/Make/options index 9f08e8d2a..89ed0ad6c 100644 --- a/applications/utilities/surface/surfacePointMerge/Make/options +++ b/applications/utilities/surface/surfacePointMerge/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceRedistributePar/Make/options b/applications/utilities/surface/surfaceRedistributePar/Make/options index c46a4c3f3..c2a2ab413 100644 --- a/applications/utilities/surface/surfaceRedistributePar/Make/options +++ b/applications/utilities/surface/surfaceRedistributePar/Make/options @@ -4,6 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/parallel/distributed/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ldistributed \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceRefineRedGreen/Make/options b/applications/utilities/surface/surfaceRefineRedGreen/Make/options index 9f08e8d2a..89ed0ad6c 100644 --- a/applications/utilities/surface/surfaceRefineRedGreen/Make/options +++ b/applications/utilities/surface/surfaceRefineRedGreen/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceSplitByPatch/Make/options b/applications/utilities/surface/surfaceSplitByPatch/Make/options index 717768279..b716af9cb 100644 --- a/applications/utilities/surface/surfaceSplitByPatch/Make/options +++ b/applications/utilities/surface/surfaceSplitByPatch/Make/options @@ -2,6 +2,8 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceSplitByTopology/Make/options b/applications/utilities/surface/surfaceSplitByTopology/Make/options index 717768279..b716af9cb 100644 --- a/applications/utilities/surface/surfaceSplitByTopology/Make/options +++ b/applications/utilities/surface/surfaceSplitByTopology/Make/options @@ -2,6 +2,8 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceSplitNonManifolds/Make/options b/applications/utilities/surface/surfaceSplitNonManifolds/Make/options index 9f08e8d2a..89ed0ad6c 100644 --- a/applications/utilities/surface/surfaceSplitNonManifolds/Make/options +++ b/applications/utilities/surface/surfaceSplitNonManifolds/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceSubset/Make/options b/applications/utilities/surface/surfaceSubset/Make/options index f535c206f..e5ecb7246 100644 --- a/applications/utilities/surface/surfaceSubset/Make/options +++ b/applications/utilities/surface/surfaceSubset/Make/options @@ -3,6 +3,8 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lmeshTools \ -ltriSurface diff --git a/applications/utilities/surface/surfaceToPatch/Make/options b/applications/utilities/surface/surfaceToPatch/Make/options index 6b0ab4880..2cac639c4 100644 --- a/applications/utilities/surface/surfaceToPatch/Make/options +++ b/applications/utilities/surface/surfaceToPatch/Make/options @@ -5,6 +5,8 @@ EXE_INC = \ EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -ltriSurface \ -lmeshTools \ -ldynamicMesh diff --git a/applications/utilities/surface/surfaceTransformPoints/Make/options b/applications/utilities/surface/surfaceTransformPoints/Make/options index a504dd861..eb4238a06 100644 --- a/applications/utilities/surface/surfaceTransformPoints/Make/options +++ b/applications/utilities/surface/surfaceTransformPoints/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/surfMesh/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lsurfMesh diff --git a/applications/utilities/thermophysical/chemkinToFoam/Make/options b/applications/utilities/thermophysical/chemkinToFoam/Make/options index f27448722..2dc066802 100644 --- a/applications/utilities/thermophysical/chemkinToFoam/Make/options +++ b/applications/utilities/thermophysical/chemkinToFoam/Make/options @@ -1,9 +1,19 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude + -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt EXE_LIBS = \ -lreactionThermophysicalModels \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ - -lspecie + -lspecie \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared diff --git a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/Make/options b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/Make/options index 98bf79aaa..115d83c7b 100644 --- a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/Make/options +++ b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/Make/options @@ -2,4 +2,6 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lspecie diff --git a/etc/bashrc b/etc/bashrc index bd7df4cb2..5feae72f0 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -32,7 +32,7 @@ #------------------------------------------------------------------------------ export WM_PROJECT=OpenFOAM -export WM_PROJECT_VERSION=6 +export WM_PROJECT_VERSION=EclipseRE ################################################################################ # USER EDITABLE PART: Changes made here may be lost with the next upgrade @@ -213,4 +213,59 @@ unset cleaned foamClean foamOldDirs # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ "$BASH" ] && . $WM_PROJECT_DIR/etc/config.sh/bash_completion +# Variables for Cantera. Requires installed Cantera version not higher than 2.5 +INSTALL_DIRECTORY="$WM_PROJECT_INST_DIR/canteraInstall" +CANTERA_LIB_PATH="$INSTALL_DIRECTORY/lib" +CANTERA_ENV_HOME="$HOME/anaconda3/envs/cantera-build" +export CANTERA_LIB_PATH + +if [ -z $LD_LIBRARY_PATH ]; then + LD_LIBRARY_PATH=$INSTALL_DIRECTORY/lib +else + LD_LIBRARY_PATH=$INSTALL_DIRECTORY/lib:$LD_LIBRARY_PATH +fi +export LD_LIBRARY_PATH + +if [ -z $PKG_CONFIG_PATH ]; then + PKG_CONFIG_PATH=$INSTALL_DIRECTORY/lib/pkgconfig +else + PKG_CONFIG_PATH=$INSTALL_DIRECTORY/lib/pkgconfig:$PKG_CONFIG_PATH +fi +export PKG_CONFIG_PATH + +PYTHON_CMD=$CANTERA_ENV_HOME/bin/python +export PYTHON_CMD + +PATH=$INSTALL_DIRECTORY/bin:$PATH +export PATH + +CURRENT_PYTHON=$(which python) + +if [ "$PYTHON_CMD" != "$CURRENT_PYTHON" ]; then + alias ctpython="$PYTHON_CMD" +fi + +if [ "default" = "y" ]; then + if [ -z $MATLABPATH ]; then + MATLABPATH=$INSTALL_DIRECTORY/lib/cantera/matlab/toolbox:$INSTALL_DIRECTORY/lib/cantera/matlab/toolbox/1D + else + MATLABPATH=$MATLABPATH:$INSTALL_DIRECTORY/lib/cantera/matlab/toolbox:$INSTALL_DIRECTORY/lib/cantera/matlab/toolbox/1D + fi + export MATLABPATH +fi + +if [ "$INSTALL_DIRECTORY/lib/python3.9/site-packages" != "" ]; then + if [ -z $PYTHONPATH ]; then + PYTHONPATH=$INSTALL_DIRECTORY/lib/python3.9/site-packages + else + PYTHONPATH=$INSTALL_DIRECTORY/lib/python3.9/site-packages:$PYTHONPATH + fi +fi + +export PYTHONPATH + +export WM_CANTERA_DIR="$INSTALL_DIRECTORY/include" + +export CANTERA_DATA="$INSTALL_DIRECTORY/share/cantera/data" + #------------------------------------------------------------------------------ diff --git a/etc/codeTemplates/app/Make/options b/etc/codeTemplates/app/Make/options index d27c95d03..f85dc2e15 100644 --- a/etc/codeTemplates/app/Make/options +++ b/etc/codeTemplates/app/Make/options @@ -3,5 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ -lfiniteVolume \ -lmeshTools diff --git a/src/ODE/CVODES/CVODES.C b/src/ODE/CVODES/CVODES.C new file mode 100644 index 000000000..d62f9bb4b --- /dev/null +++ b/src/ODE/CVODES/CVODES.C @@ -0,0 +1,121 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2013-2018 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 . + +\*---------------------------------------------------------------------------*/ + +#include "CVODES.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(CVODES, 0); + + addToRunTimeSelectionTable(ODESolver, CVODES, dictionary); + +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::CVODES::CVODES(const ODESystem& ode, const dictionary& dict) +: + ODESolver(ode, dict), + integ_(Cantera::newIntegrator("CVODE")), + y_(n_) +{ + // use backward differencing, with a full Jacobian computed + // numerically, and use a Newton linear iterator + integ_->setMethod(Cantera::BDF_Method); + integ_->setProblemType(Cantera::DENSE + Cantera::NOJAC); + integ_->setIterator(Cantera::Newton_Iter); + +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +bool Foam::CVODES::resize() +{ + if (ODESolver::resize()) + { + resizeField(y_); + init_ = false; + + return true; + } + else + { + return false; + } +} + + +void Foam::CVODES::solve +( + const scalar xStart, + const scalar xEnd, + scalarField& y, + scalar& dxEst +) const +{ + y_ = y; + + extFunc ext_(n_, y_, odes_); + time_ = xStart; + + if (!init_) + { + doublereal CvodeAbsTol[n_]; + for(label i=0; isetTolerances(relTol_[0], n_, CvodeAbsTol); + integ_->setSensitivityTolerances(senRelTol_, senAbsTol_); + integ_->setMaxStepSize(xEnd - xStart); + integ_->setMaxErrTestFails(maxErrTestFails_); + integ_->initialize(time_, ext_); + integrator_init_ = true; + init_ = true; + } + else if (!integrator_init_) + { + integ_->reinitialize(time_, ext_); + integrator_init_ = true; + } + + integ_->integrate(xEnd); + time_ = xEnd; + forAll (y_, i) + { + y[i] = integ_->solution()[i]; + } + + integrator_init_ = false; + dxEst = 1; //make it big +} + + +// ************************************************************************* // diff --git a/src/ODE/CVODES/CVODES.H b/src/ODE/CVODES/CVODES.H new file mode 100644 index 000000000..71c0d5dfe --- /dev/null +++ b/src/ODE/CVODES/CVODES.H @@ -0,0 +1,123 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2013-2018 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 . + +Class + Foam::CVODES + +Description + + +SourceFiles + CVODES.C + +\*---------------------------------------------------------------------------*/ + +#ifndef CVODES_H +#define CVODES_H + + +#include "extFunc.H" +#include "ODESolver.H" +#include "cantera/numerics/CVodesIntegrator.h" +#include "cantera/numerics/Integrator.h" + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class CVODES Declaration +\*---------------------------------------------------------------------------*/ + +class CVODES +: + public ODESolver +{ + // Private data + + // pointer to access cantera Integrators + std::unique_ptr integ_; + // current solution + mutable scalarField y_; + // Sensitivity Tolerances + scalar senRelTol_ = 1.0e-4; + scalar senAbsTol_ = 1.0e-6; + int maxErrTestFails_ = 0; + + // current time + mutable scalar time_ = 0.0; + + // if already initialized, true + mutable bool init_ = false; + + // if already reinitialized, true + mutable bool integrator_init_ = false; + +public: + + //- Runtime type information + TypeName("CVODES"); + + + // Constructors + + //- Construct from ODESystem + CVODES(const ODESystem& ode, const dictionary& dict); + + + //- Destructor + virtual ~CVODES() + {} + + + // Member Functions + + //- Resize the ODE solver + virtual bool resize(); + + //- Solve the ODE system from xStart to xEnd, update the state + // and return an estimate for the next step in dxTry + virtual void solve + ( + const scalar xStart, + const scalar xEnd, + scalarField& y, + scalar& dxEst + ) const; + + + +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/ODE/CVODES/extFunc.C b/src/ODE/CVODES/extFunc.C new file mode 100644 index 000000000..ea1c88a3f --- /dev/null +++ b/src/ODE/CVODES/extFunc.C @@ -0,0 +1,76 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2013-2018 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 . + +\*---------------------------------------------------------------------------*/ + +#include "extFunc.H" + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::extFunc::extFunc(label n, scalarField& y, const ODESystem& ode) +: + FuncEval(), + n_(n), + y_(y), + odes_(ode) +{} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +void Foam::extFunc::eval +( + doublereal t, + doublereal* y, + doublereal* ydot, + doublereal* p +) +{ + scalarField y0(n_); + scalarField dy(n_); + forAll(y0, i) + { + y0[i] = y[i]; + } + + odes_.derivatives(t, y0, dy); + + forAll(dy, i) + { + ydot[i] = dy[i]; + } +} + + +void Foam::extFunc::getState +( + doublereal* y +) +{ + forAll(y_, i) + { + y[i] = y_[i]; + } +} + +// ************************************************************************* // diff --git a/src/ODE/CVODES/extFunc.H b/src/ODE/CVODES/extFunc.H new file mode 100644 index 000000000..805bf6058 --- /dev/null +++ b/src/ODE/CVODES/extFunc.H @@ -0,0 +1,96 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2013-2018 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 . + +Class + Foam::extFunc + +Description + + +SourceFiles + extFunc.C + +\*---------------------------------------------------------------------------*/ + +#ifndef extFunc_H +#define extFunc_H + +#include "cantera/numerics/FuncEval.h" +#include "ODESystem.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class CVODES Declaration +\*---------------------------------------------------------------------------*/ + +class extFunc +: + public Cantera::FuncEval +{ + // Private data + + label n_; + scalarField& y_; + const ODESystem& odes_; +public: + + // Constructors + + //- Construct from ODESystem + extFunc(label n, scalarField& y, const ODESystem& ode); + + + //- Destructor + virtual ~extFunc() + {} + + + // Member Functions + virtual size_t neq() + { + return n_; + } + virtual void getState(double* y); + virtual void eval + ( + doublereal t, + doublereal* y, + doublereal* ydot, + doublereal* p + ); + +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/ODE/Make/files b/src/ODE/Make/files index 912b36fec..12561b974 100644 --- a/src/ODE/Make/files +++ b/src/ODE/Make/files @@ -17,5 +17,7 @@ ODESolvers/SIBS/SIBS.C ODESolvers/SIBS/SIMPR.C ODESolvers/SIBS/polyExtrapolate.C ODESolvers/seulex/seulex.C +CVODES/CVODES.C +CVODES/extFunc.C LIB = $(FOAM_LIBBIN)/libODE diff --git a/src/ODE/Make/options b/src/ODE/Make/options index e69de29bb..590a131ca 100644 --- a/src/ODE/Make/options +++ b/src/ODE/Make/options @@ -0,0 +1,28 @@ +EXE_INC = \ + -I$(LIB_SRC)/transportModels/compressible/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/functions/Polynomial \ + -I$(LIB_SRC)/ODE/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt + +LIB_LIBS = \ + -L$(CANTERA_LIB_PATH) \ + -lcantera_shared \ + -L$(FOAM_USER_LIBBIN) \ + -lcompressibleTransportModels \ + -lfluidThermophysicalModels \ + -lreactionThermophysicalModels \ + -lspecie \ + -lfiniteVolume \ + -lmeshTools diff --git a/src/ODE/ODESolver/ODESolver.C b/src/ODE/ODESolver/ODESolver.C new file mode 100644 index 000000000..6ac3993b4 --- /dev/null +++ b/src/ODE/ODESolver/ODESolver.C @@ -0,0 +1,200 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +\*---------------------------------------------------------------------------*/ + +#include "ODESolver.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(ODESolver, 0); + defineRunTimeSelectionTable(ODESolver, dictionary); +} + + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +Foam::scalar Foam::ODESolver::normalizeError +( + const scalarField& y0, + const scalarField& y, + const scalarField& err +) const +{ + // Calculate the maximum error + scalar maxErr = 0.0; + forAll(err, i) + { + scalar tol = absTol_[i] + relTol_[i]*max(mag(y0[i]), mag(y[i])); + maxErr = max(maxErr, mag(err[i])/tol); + } + + return maxErr; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::ODESolver::ODESolver(const ODESystem& ode, const dictionary& dict) +: + odes_(ode), + maxN_(ode.nEqns()), + n_(ode.nEqns()), + absTol_(n_, dict.lookupOrDefault("absTol", 1e-15)), + relTol_(n_, dict.lookupOrDefault("relTol", 1e-4)), + maxSteps_(dict.lookupOrDefault("maxSteps", 10000)) +{} + + +Foam::ODESolver::ODESolver +( + const ODESystem& ode, + const scalarField& absTol, + const scalarField& relTol +) +: + odes_(ode), + maxN_(ode.nEqns()), + n_(ode.nEqns()), + absTol_(absTol), + relTol_(relTol), + maxSteps_(10000) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::ODESolver::resize() +{ + if (odes_.nEqns() != n_) + { + if (odes_.nEqns() > maxN_) + { + FatalErrorInFunction + << "Specified number of equations " << odes_.nEqns() + << " greater than maximum " << maxN_ + << abort(FatalError); + } + + n_ = odes_.nEqns(); + + resizeField(absTol_); + resizeField(relTol_); + + return true; + } + else + { + return false; + } +} + + +void Foam::ODESolver::solve +( + scalar& x, + scalarField& y, + scalar& dxTry +) const +{ + stepState step(dxTry); + solve(x, y, step); + dxTry = step.dxTry; +} + + +void Foam::ODESolver::solve +( + scalar& x, + scalarField& y, + stepState& step +) const +{ + scalar x0 = x; + solve(x, y, step.dxTry); + step.dxDid = x - x0; +} + + +void Foam::ODESolver::solve +( + const scalar xStart, + const scalar xEnd, + scalarField& y, + scalar& dxTry +) const +{ + stepState step(dxTry); + scalar x = xStart; + + for (label nStep=0; nStep 0) + { + step.last = true; + step.dxTry = xEnd - x; + } + + // Integrate as far as possible up to step.dxTry + solve(x, y, step); + + // Check if reached xEnd + if ((x - xEnd)*(xEnd - xStart) >= 0) + { + if (nStep > 0 && step.last) + { + step.dxTry = dxTry0; + } + + dxTry = step.dxTry; + + return; + } + + step.first = false; + + // If the step.dxTry was reject set step.prevReject + if (step.reject) + { + step.prevReject = true; + } + } + + FatalErrorInFunction + << "Integration steps greater than maximum " << maxSteps_ << nl + << " xStart = " << xStart << ", xEnd = " << xEnd + << ", x = " << x << ", dxDid = " << step.dxDid << nl + << " y = " << y + << exit(FatalError); +} + + +// ************************************************************************* // diff --git a/src/ODE/ODESolver/ODESolver.H b/src/ODE/ODESolver/ODESolver.H new file mode 100644 index 000000000..c30f6d390 --- /dev/null +++ b/src/ODE/ODESolver/ODESolver.H @@ -0,0 +1,235 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +Class + Foam::ODESolver + +Description + Abstract base-class for ODE system solvers + +SourceFiles + ODESolver.C + +\*---------------------------------------------------------------------------*/ + +#ifndef ODESolver_H +#define ODESolver_H + +#include "ODESystem.H" +#include "typeInfo.H" +#include "autoPtr.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class ODESolver Declaration +\*---------------------------------------------------------------------------*/ + +class ODESolver +{ + +protected: + + // Protected data + + //- Reference to ODESystem + const ODESystem& odes_; + + //- Maximum size of the ODESystem + const label maxN_; + + //- Size of the ODESystem (adjustable) + mutable label n_; + + //- Absolute convergence tolerance per step + scalarField absTol_; + + //- Relative convergence tolerance per step + scalarField relTol_; + + //- The maximum number of sub-steps allowed for the integration step + label maxSteps_; + + + // Protected Member Functions + + //- Return the nomalized scalar error + scalar normalizeError + ( + const scalarField& y0, + const scalarField& y, + const scalarField& err + ) const; + + //- Disallow default bitwise copy construct + ODESolver(const ODESolver&); + + //- Disallow default bitwise assignment + void operator=(const ODESolver&); + + +public: + + friend class ODESystem; + + //- Runtime type information + TypeName("ODESolver"); + + class stepState + { + public: + + const bool forward; + scalar dxTry; + scalar dxDid; + bool first; + bool last; + bool reject; + bool prevReject; + + stepState(const scalar dx) + : + forward(dx > 0 ? true : false), + dxTry(dx), + dxDid(0), + first(true), + last(false), + reject(false), + prevReject(false) + {} + }; + + + // Declare run-time constructor selection table + + declareRunTimeSelectionTable + ( + autoPtr, + ODESolver, + dictionary, + (const ODESystem& ode, const dictionary& dict), + (ode, dict) + ); + + + // Constructors + + //- Construct for given ODESystem + ODESolver(const ODESystem& ode, const dictionary& dict); + + //- Construct for given ODESystem specifying tolerances + ODESolver + ( + const ODESystem& ode, + const scalarField& absTol, + const scalarField& relTol + ); + + + // Selectors + + //- Select null constructed + static autoPtr New + ( + const ODESystem& ode, + const dictionary& dict + ); + + + //- Destructor + virtual ~ODESolver() + {} + + + // Member Functions + + //- Return the number of equations to solve + inline label nEqns() const; + + //- Return access to the absolute tolerance field + inline scalarField& absTol(); + + //- Return access to the relative tolerance field + inline scalarField& relTol(); + + //- Resize the ODE solver + virtual bool resize() = 0; + + template + static inline void resizeField(UList& f, const label n); + + template + inline void resizeField(UList& f) const; + + inline void resizeMatrix(scalarSquareMatrix& m) const; + + //- Solve the ODE system as far as possible up to dxTry + // adjusting the step as necessary to provide a solution within + // the specified tolerance. + // Update the state and return an estimate for the next step in dxTry + virtual void solve + ( + scalar& x, + scalarField& y, + scalar& dxTry + ) const; + + //- Solve the ODE system as far as possible up to dxTry + // adjusting the step as necessary to provide a solution within + // the specified tolerance. + // Update the state and return an estimate for the next step in dxTry + virtual void solve + ( + scalar& x, + scalarField& y, + stepState& step + ) const; + + //- Solve the ODE system from xStart to xEnd, update the state + // and return an estimate for the next step in dxTry + virtual void solve + ( + const scalar xStart, + const scalar xEnd, + scalarField& y, + scalar& dxEst + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "ODESolverI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/ODE/ODESolver/ODESolverI.H b/src/ODE/ODESolver/ODESolverI.H new file mode 100644 index 000000000..2d2040fe4 --- /dev/null +++ b/src/ODE/ODESolver/ODESolverI.H @@ -0,0 +1,67 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2016-2018 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 . + +\*---------------------------------------------------------------------------*/ + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + + +inline Foam::label Foam::ODESolver::nEqns() const +{ + return n_; +} + + +inline Foam::scalarField& Foam::ODESolver::absTol() +{ + return absTol_; +} + + +inline Foam::scalarField& Foam::ODESolver::relTol() +{ + return relTol_; +} + + +template +inline void Foam::ODESolver::resizeField(UList& f, const label n) +{ + f.shallowCopy(UList(f.begin(), n)); +} + + +template +inline void Foam::ODESolver::resizeField(UList& f) const +{ + resizeField(f, n_); +} + + +inline void Foam::ODESolver::resizeMatrix(scalarSquareMatrix& m) const +{ + m.shallowResize(n_); +} + + +// ************************************************************************* // diff --git a/src/ODE/ODESolver/ODESolverNew.C b/src/ODE/ODESolver/ODESolverNew.C new file mode 100644 index 000000000..10ba78012 --- /dev/null +++ b/src/ODE/ODESolver/ODESolverNew.C @@ -0,0 +1,56 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +\*---------------------------------------------------------------------------*/ + +#include "ODESolver.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +Foam::autoPtr Foam::ODESolver::New +( + const ODESystem& odes, + const dictionary& dict +) +{ + word ODESolverTypeName(dict.lookup("solver")); + Info<< "Selecting ODE solver " << ODESolverTypeName << endl; + + dictionaryConstructorTable::iterator cstrIter = + dictionaryConstructorTablePtr_->find(ODESolverTypeName); + + if (cstrIter == dictionaryConstructorTablePtr_->end()) + { + FatalErrorInFunction + << "Unknown ODESolver type " + << ODESolverTypeName << nl << nl + << "Valid ODESolvers are : " << endl + << dictionaryConstructorTablePtr_->sortedToc() + << exit(FatalError); + } + + return autoPtr(cstrIter()(odes, dict)); +} + + +// ************************************************************************* // diff --git a/src/combustionModels/Make/options b/src/combustionModels/Make/options index e660ccd9f..dcda695ff 100644 --- a/src/combustionModels/Make/options +++ b/src/combustionModels/Make/options @@ -7,7 +7,15 @@ EXE_INC = \ -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt LIB_LIBS = \ -lcompressibleTransportModels \ diff --git a/src/finiteVolume/Make/options b/src/finiteVolume/Make/options index 1c1990e5f..2b348844e 100644 --- a/src/finiteVolume/Make/options +++ b/src/finiteVolume/Make/options @@ -1,8 +1,9 @@ EXE_INC = \ -I$(LIB_SRC)/triSurface/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMILduInterfaceField \ LIB_LIBS = \ -lOpenFOAM \ -ltriSurface \ - -lmeshTools + -lmeshTools \ No newline at end of file diff --git a/src/thermophysicalModels/SLGThermo/Make/options b/src/thermophysicalModels/SLGThermo/Make/options index 6ac037828..a920318f8 100644 --- a/src/thermophysicalModels/SLGThermo/Make/options +++ b/src/thermophysicalModels/SLGThermo/Make/options @@ -4,7 +4,16 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt + LIB_LIBS = \ -lcompressibleTransportModels \ diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/Make/options b/src/thermophysicalModels/barotropicCompressibilityModel/Make/options index 71b787396..1e8e11072 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/Make/options +++ b/src/thermophysicalModels/barotropicCompressibilityModel/Make/options @@ -1,5 +1,14 @@ EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt + LIB_LIBS = \ -lfiniteVolume diff --git a/src/thermophysicalModels/basic/Make/options b/src/thermophysicalModels/basic/Make/options index cb1250389..8e92a0f48 100644 --- a/src/thermophysicalModels/basic/Make/options +++ b/src/thermophysicalModels/basic/Make/options @@ -3,7 +3,16 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt + LIB_LIBS = \ -lcompressibleTransportModels \ diff --git a/src/thermophysicalModels/basic/psiThermo/canteraPsiThermo.C b/src/thermophysicalModels/basic/psiThermo/canteraPsiThermo.C new file mode 100644 index 000000000..c5c8d1082 --- /dev/null +++ b/src/thermophysicalModels/basic/psiThermo/canteraPsiThermo.C @@ -0,0 +1,208 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +\*---------------------------------------------------------------------------*/ + +#include "canteraPsiThermo.H" + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +template +void Foam::canteraPsiThermo::calculate() +{ + const scalarField& hCells = this->he_; + const scalarField& pCells = this->p_; + + scalarField& TCells = this->T_.primitiveFieldRef(); + scalarField& psiCells = this->psi_.primitiveFieldRef(); + scalarField& muCells = this->mu_.primitiveFieldRef(); + scalarField& alphaCells = this->alpha_.primitiveFieldRef(); + + forAll(TCells, celli) + { + const typename MixtureType::thermoType& mixture_ = + this->cellMixture(celli); + + TCells[celli] = mixture_.THE + ( + hCells[celli], + pCells[celli], + TCells[celli] + ); + + psiCells[celli] = mixture_.psi(pCells[celli], TCells[celli]); +/* + muCells[celli] = mixture_.mu(pCells[celli], TCells[celli]); + alphaCells[celli] = mixture_.alphah(pCells[celli], TCells[celli]); +*/ + muCells[celli] = this->muCellMixture(pCells[celli], TCells[celli], celli); + alphaCells[celli] = this->alphahCellMixture + ( + pCells[celli], + TCells[celli], + celli + ); + + } + + volScalarField::Boundary& pBf = + this->p_.boundaryFieldRef(); + + volScalarField::Boundary& TBf = + this->T_.boundaryFieldRef(); + + volScalarField::Boundary& psiBf = + this->psi_.boundaryFieldRef(); + + volScalarField::Boundary& heBf = + this->he().boundaryFieldRef(); + + volScalarField::Boundary& muBf = + this->mu_.boundaryFieldRef(); + + volScalarField::Boundary& alphaBf = + this->alpha_.boundaryFieldRef(); + + forAll(this->T_.boundaryField(), patchi) + { + fvPatchScalarField& pp = pBf[patchi]; + fvPatchScalarField& pT = TBf[patchi]; + fvPatchScalarField& ppsi = psiBf[patchi]; + fvPatchScalarField& phe = heBf[patchi]; + fvPatchScalarField& pmu = muBf[patchi]; + fvPatchScalarField& palpha = alphaBf[patchi]; + + if (pT.fixesValue()) + { + forAll(pT, facei) + { + const typename MixtureType::thermoType& mixture_ = + this->patchFaceMixture(patchi, facei); + + phe[facei] = mixture_.HE(pp[facei], pT[facei]); + + ppsi[facei] = mixture_.psi(pp[facei], pT[facei]); +/* + pmu[facei] = mixture_.mu(pp[facei], pT[facei]); + palpha[facei] = mixture_.alphah(pp[facei], pT[facei]); +*/ + + pmu[facei] = this->muPatchFaceMixture + ( + pp[facei], + pT[facei], + patchi, + facei + ); + palpha[facei] = this->alphahPatchFaceMixture + ( + pp[facei], + pT[facei], + patchi, + facei + ); + } + } + else + { + forAll(pT, facei) + { + const typename MixtureType::thermoType& mixture_ = + this->patchFaceMixture(patchi, facei); + + pT[facei] = mixture_.THE(phe[facei], pp[facei], pT[facei]); + + ppsi[facei] = mixture_.psi(pp[facei], pT[facei]); +/* + pmu[facei] = mixture_.mu(pp[facei], pT[facei]); + palpha[facei] = mixture_.alphah(pp[facei], pT[facei]); +*/ + + pmu[facei] = this->muPatchFaceMixture + ( + pp[facei], + pT[facei], + patchi, + facei + ); + palpha[facei] = this->alphahPatchFaceMixture + ( + pp[facei], + pT[facei], + patchi, + facei + ); + } + } + } +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::canteraPsiThermo::canteraPsiThermo +( + const fvMesh& mesh, + const word& phaseName +) +: + heThermo(mesh, phaseName) +{ + calculate(); + + // Switch on saving old time + this->psi_.oldTime(); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +template +Foam::canteraPsiThermo::~canteraPsiThermo() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +void Foam::canteraPsiThermo::correct() +{ + if (debug) + { + InfoInFunction << endl; + } + + // force the saving of the old-time values + this->psi_.oldTime(); + + calculate(); + + if (debug) + { + Info<< " Finished" << endl; + } +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/psiThermo/canteraPsiThermo.H b/src/thermophysicalModels/basic/psiThermo/canteraPsiThermo.H new file mode 100644 index 000000000..556c20dba --- /dev/null +++ b/src/thermophysicalModels/basic/psiThermo/canteraPsiThermo.H @@ -0,0 +1,104 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +Class + Foam::hePsiThermo + +Description + Energy for a mixture based on compressibility + +SourceFiles + hePsiThermo.C + +\*---------------------------------------------------------------------------*/ + +#ifndef canteraPsiThermo_H +#define canteraPsiThermo_H + +#include "psiThermo.H" +#include "heThermo.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class canteraPsiThermo Declaration +\*---------------------------------------------------------------------------*/ + +template +class canteraPsiThermo +: + public heThermo +{ + // Private Member Functions + + //- Calculate the thermo variables + void calculate(); + + //- Construct as copy (not implemented) + canteraPsiThermo(const canteraPsiThermo&); + +public: + + //- Runtime type information + TypeName("canteraPsiThermo"); + + + // Constructors + + //- Construct from mesh and phase name + canteraPsiThermo + ( + const fvMesh&, + const word& phaseName + ); + + + //- Destructor + virtual ~canteraPsiThermo(); + + + // Member functions + + //- Update properties + virtual void correct(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "canteraPsiThermo.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/psiThermo/hePsiThermo.C b/src/thermophysicalModels/basic/psiThermo/hePsiThermo.C index 75ffc8bb3..db0d7871f 100644 --- a/src/thermophysicalModels/basic/psiThermo/hePsiThermo.C +++ b/src/thermophysicalModels/basic/psiThermo/hePsiThermo.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "hePsiThermo.H" +#include "hePsiThermo.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -49,7 +49,6 @@ void Foam::hePsiThermo::calculate() pCells[celli], TCells[celli] ); - psiCells[celli] = mixture_.psi(pCells[celli], TCells[celli]); muCells[celli] = mixture_.mu(pCells[celli], TCells[celli]); diff --git a/src/thermophysicalModels/chemistryModel/Make/options b/src/thermophysicalModels/chemistryModel/Make/options index fe465607a..e838ce2ff 100644 --- a/src/thermophysicalModels/chemistryModel/Make/options +++ b/src/thermophysicalModels/chemistryModel/Make/options @@ -6,9 +6,18 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/functions/Polynomial \ -I$(LIB_SRC)/ODE/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt LIB_LIBS = \ + -L$(FOAM_USER_LIBBIN) \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lreactionThermophysicalModels \ diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModels.C b/src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModels.C index 500f35b4e..43eaa6817 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModels.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModels.C @@ -37,6 +37,7 @@ Description #include "StandardChemistryModel.H" #include "TDACChemistryModel.H" #include "thermoPhysicsTypes.H" +#include "canteraChemistryModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -274,6 +275,121 @@ namespace Foam constHThermoPhysics ); + + // cantera chemistry model + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constGasHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + gasHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constIncompressibleGasHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + incompressibleGasHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + icoPoly8HThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constFluidHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constAdiabaticFluidHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constHThermoPhysics + ); + + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constGasHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + gasHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constIncompressibleGasHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + incompressibleGasHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + icoPoly8HThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constFluidHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constAdiabaticFluidHThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constHThermoPhysics + ); + // Chemistry moldels based on sensibleInternalEnergy makeChemistryModelType @@ -503,6 +619,121 @@ namespace Foam rhoReactionThermo, constEThermoPhysics ); + + + // cantera chemistry model + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constGasEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + gasEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constIncompressibleGasEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + incompressibleGasEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + icoPoly8EThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constFluidEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constAdiabaticFluidEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + psiReactionThermo, + constEThermoPhysics + ); + + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constGasEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + gasEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constIncompressibleGasEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + incompressibleGasEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + icoPoly8EThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constFluidEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constAdiabaticFluidEThermoPhysics + ); + + makeChemistryModelType + ( + canteraChemistryModel, + rhoReactionThermo, + constEThermoPhysics + ); } // ************************************************************************* // diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/StandardChemistryModel/StandardChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/StandardChemistryModel/StandardChemistryModel.C index fffb7f31b..2286993d1 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/StandardChemistryModel/StandardChemistryModel.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/StandardChemistryModel/StandardChemistryModel.C @@ -111,7 +111,7 @@ void Foam::StandardChemistryModel::omega { dcdt = Zero; - + forAll(reactions_, i) { const Reaction& R = reactions_[i]; @@ -186,7 +186,7 @@ void Foam::StandardChemistryModel::derivatives dT /= rho*cp; dcdt[nSpecie_] = -dT; - + // dp/dt = ... dcdt[nSpecie_ + 1] = 0; } diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/canteraChemistryModel/canteraChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/canteraChemistryModel/canteraChemistryModel.C new file mode 100644 index 000000000..8afd56362 --- /dev/null +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/canteraChemistryModel/canteraChemistryModel.C @@ -0,0 +1,674 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +\*---------------------------------------------------------------------------*/ + +#include "canteraChemistryModel.H" +#include "reactingMixture.H" +//#include "canteraMixture.H" +#include "UniformField.H" +#include "extrapolatedCalculatedFvPatchFields.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::canteraChemistryModel::canteraChemistryModel +( + ReactionThermo& thermo +) +: + BasicChemistryModel(thermo), + ODESystem(), + reactions_ + ( + dynamic_cast&>(this->thermo()) + ), + gas_ + ( + dynamic_cast&> + (this->thermo()).canteraGas() + ), + + Y_(this->thermo().composition().Y()), + specieThermo_ + ( + dynamic_cast&> + (this->thermo()).speciesData() + ), + + nSpecie_(Y_.size()), + nReaction_(gas_.nReactions()), + Treact_ + ( + BasicChemistryModel::template lookupOrDefault + ( + "Treact", + 0 + ) + ), + RR_(nSpecie_), + c_(nSpecie_), + dcdt_(nSpecie_) +{ + // Info << gas_.nSpecies() << endl; + // Create the fields for the chemistry sources + forAll(RR_, fieldi) + { + RR_.set + ( + fieldi, + new volScalarField::Internal + ( + IOobject + ( + "RR." + Y_[fieldi].name(), + this->mesh().time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE + ), + thermo.p().mesh(), + dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0) + ) + ); + } + + Info<< "StandardChemistryModel: Number of species = " << nSpecie_ + << " and reactions = " << nReaction_ << endl; +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +template +Foam::canteraChemistryModel:: +~canteraChemistryModel() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +void Foam::canteraChemistryModel::omega +( + const scalarField& c, + const scalar T, + const scalar p, + scalarField& dcdt +) const +{ + dcdt = Zero; + + doublereal X[nSpecie_]; + doublereal wdot[nSpecie_]; + + for(label i=0; i +Foam::scalar Foam::canteraChemistryModel::omegaI +( + const label index, + const scalarField& c, + const scalar T, + const scalar p +) const +{ + doublereal X[nSpecie_]; + doublereal rdot[nSpecie_]; + + for(label i=0; i +Foam::scalar Foam::canteraChemistryModel::omegaI +( + const label index, + const scalarField& c, + const scalar T, + const scalar p, + scalar& pf, + scalar& cf, + label& lRef, + scalar& pr, + scalar& cr, + label& rRef +) const +{ + return(0.0); +} + +template +void Foam::canteraChemistryModel::derivatives +( + const scalar time, + const scalarField& c, + scalarField& dcdt +) const +{ + const scalar T = c[nSpecie_]; + const scalar p = c[nSpecie_ + 1]; + + forAll(c_, i) + { + c_[i] = max(c[i], 0); + } + + omega(c_, T, p, dcdt); + + // Constant pressure + // dT/dt = ... + scalar rho = 0; + scalar cSum = 0; + for (label i=0; i < nSpecie_; i++) + { + const scalar W = specieThermo_[i].W(); + cSum += c_[i]; + rho += W*c_[i]; + } + scalar cp = 0; + for (label i=0; i +void Foam::canteraChemistryModel::jacobian +( + const scalar t, + const scalarField& c, + scalarField& dcdt, + scalarSquareMatrix& J +) const +{ + scalarField cc(nSpecie_+2, 0.0); + scalarField dcdtP(nSpecie_+2, 0.0); + const scalar T = c[nSpecie_]; + const scalar p = c[nSpecie_ + 1]; + + J = Zero; + dcdt = Zero; + + forAll (cc, i) + { + cc[i] = c[i]; + cc[i] = max(cc[i], 0); + } + derivatives(t, cc, dcdt); + + for (label i=0; i +Foam::tmp +Foam::canteraChemistryModel::tc() const +{ + tmp ttc + ( + new volScalarField + ( + IOobject + ( + "tc", + this->time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + this->mesh(), + dimensionedScalar("zero", dimTime, small), + extrapolatedCalculatedFvPatchScalarField::typeName + ) + ); + + scalarField& tc = ttc.ref(); + + tmp trho(this->thermo().rho()); + const scalarField& rho = trho(); + + const scalarField& T = this->thermo().T(); + const scalarField& p = this->thermo().p(); + + doublereal fwdRate[nReaction_]; + doublereal X[nSpecie_]; + + if (this->chemistry_) + { + forAll(rho, celli) + { + const scalar rhoi = rho[celli]; + const scalar Ti = T[celli]; + const scalar pi = p[celli]; + + scalar cSum = 0; + + for (label i=0; iproducts) + { + tc[celli] += sp.second*fwdRate[i]; + } + + } + + tc[celli] = nReaction_*cSum/tc[celli]; + } + } + + ttc.ref().correctBoundaryConditions(); + + return ttc; +} + + +template +Foam::tmp +Foam::canteraChemistryModel::Qdot() const +{ + tmp tQdot + ( + new volScalarField + ( + IOobject + ( + "Qdot", + this->mesh_.time().timeName(), + this->mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + this->mesh_, + dimensionedScalar("zero", dimEnergy/dimVolume/dimTime, 0) + ) + ); + + if (this->chemistry_) + { + scalarField& Qdot = tQdot.ref(); + + forAll(Y_, i) + { + forAll(Qdot, celli) + { + const scalar hi = specieThermo_[i].Hc(); + Qdot[celli] -= hi*RR_[i][celli]; + } + } + } + + return tQdot; +} + + +template +Foam::tmp> +Foam::canteraChemistryModel::calculateRR +( + const label ri, + const label si +) const +{ + tmp tRR + ( + new volScalarField::Internal + ( + IOobject + ( + "RR", + this->mesh().time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->mesh(), + dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0) + ) + ); + + volScalarField::Internal& RR = tRR.ref(); + + tmp trho(this->thermo().rho()); + const scalarField& rho = trho(); + + const scalarField& T = this->thermo().T(); + const scalarField& p = this->thermo().p(); + + doublereal netRate[nReaction_]; + doublereal X[nSpecie_]; + + forAll(rho, celli) + { + const scalar rhoi = rho[celli]; + const scalar Ti = T[celli]; + const scalar pi = p[celli]; + + for (label i=0; ireactants) + { + if (si == static_cast(gas_.speciesIndex(sp.first))) + { + RR[celli] -= sp.second*netRate[ri]; + } + + } + for (const auto& sp : R->products) + { + if (si == static_cast(gas_.speciesIndex(sp.first))) + { + RR[celli] += sp.second*netRate[ri]; + } + } + + RR[celli] *= specieThermo_[si].W(); + } + + return tRR; +} + + +template +void Foam::canteraChemistryModel::calculate() +{ + if (!this->chemistry_) + { + return; + } + + tmp trho(this->thermo().rho()); + const scalarField& rho = trho(); + + const scalarField& T = this->thermo().T(); + const scalarField& p = this->thermo().p(); + + forAll(rho, celli) + { + const scalar rhoi = rho[celli]; + const scalar Ti = T[celli]; + const scalar pi = p[celli]; + + for (label i=0; i +template +Foam::scalar Foam::canteraChemistryModel::solve +( + const DeltaTType& deltaT +) +{ + BasicChemistryModel::correct(); + + scalar deltaTMin = great; + + if (!this->chemistry_) + { + return deltaTMin; + } + + tmp trho(this->thermo().rho()); + const scalarField& rho = trho(); + + const scalarField& T = this->thermo().T(); + const scalarField& p = this->thermo().p(); + + scalarField c0(nSpecie_); + + forAll(rho, celli) + { + scalar Ti = T[celli]; + + if (Ti > Treact_) + { + const scalar rhoi = rho[celli]; + scalar pi = p[celli]; + + for (label i=0; i small) + { + scalar dt = timeLeft; + this->solve(c_, Ti, pi, dt, this->deltaTChem_[celli]); + timeLeft -= dt; + } + + deltaTMin = min(this->deltaTChem_[celli], deltaTMin); + + this->deltaTChem_[celli] = + min(this->deltaTChem_[celli], this->deltaTChemMax_); + + for (label i=0; i +Foam::scalar Foam::canteraChemistryModel::solve +( + const scalar deltaT +) +{ + // Don't allow the time-step to change more than a factor of 2 + return min + ( + this->solve>(UniformField(deltaT)), + 2*deltaT + ); +} + + +template +Foam::scalar Foam::canteraChemistryModel::solve +( + const scalarField& deltaT +) +{ + return this->solve(deltaT); +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/canteraChemistryModel/canteraChemistryModel.H b/src/thermophysicalModels/chemistryModel/chemistryModel/canteraChemistryModel/canteraChemistryModel.H new file mode 100644 index 000000000..1ec5cfa8f --- /dev/null +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/canteraChemistryModel/canteraChemistryModel.H @@ -0,0 +1,287 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +Class + Foam::canteraChemistryModel + +Description + Extends base chemistry model by adding a thermo package, and ODE functions. + Introduces chemistry equation system and evaluation of chemical source + terms. Get the necessary information from cantera package. + +SourceFiles + canteraChemistryModelI.H + canteraChemistryModel.C + +\*---------------------------------------------------------------------------*/ + +#ifndef canteraChemistryModel_H +#define canteraChemistryModel_H + +#include "BasicChemistryModel.H" +#include "Reaction.H" +#include "ODESystem.H" +#include "volFields.H" +#include "simpleMatrix.H" +#include "cantera/IdealGasMix.h" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward declaration of classes +class fvMesh; + +/*---------------------------------------------------------------------------*\ + Class StandardChemistryModel Declaration +\*---------------------------------------------------------------------------*/ + +template +class canteraChemistryModel +: + public BasicChemistryModel, + public ODESystem +{ + // Private Member Functions + + //- Solve the reaction system for the given time step + // of given type and return the characteristic time + template + scalar solve(const DeltaTType& deltaT); + + //- Disallow copy constructor + canteraChemistryModel(const canteraChemistryModel&); + + //- Disallow default bitwise assignment + void operator=(const canteraChemistryModel&); + + +protected: + + typedef ThermoType thermoType; + + + // Protected data + //- Reactions + const PtrList>& reactions_; + + //- cantera object + mutable Cantera::IdealGasMix gas_; + + // Cantera::GasKinetics kin_; + + //- Reference to the field of specie mass fractions + PtrList& Y_; + + //- Thermodynamic data of the species + const PtrList& specieThermo_; + + //- Number of species + label nSpecie_; + + //- Number of reactions + label nReaction_; + + //- Temperature below which the reaction rates are assumed 0 + scalar Treact_; + + //- List of reaction rate per specie [kg/m3/s] + PtrList RR_; + + //- Temporary concentration field + mutable scalarField c_; + + //- Temporary rate-of-change of concentration field + mutable scalarField dcdt_; + + + // Protected Member Functions + + //- Write access to chemical source terms + // (e.g. for multi-chemistry model) + inline PtrList& RR(); + + +public: + + //- Runtime type information + TypeName("cantera"); + + + // Constructors + + //- Construct from thermo + canteraChemistryModel(ReactionThermo& thermo); + + + //- Destructor + virtual ~canteraChemistryModel(); + + + // Member Functions + + //- The reactions + inline const PtrList>& reactions() const; + + //- Thermodynamic data of the species + inline const PtrList& specieThermo() const; + + //- The number of species + virtual inline label nSpecie() const; + + //- The number of reactions + virtual inline label nReaction() const; + + //- Temperature below which the reaction rates are assumed 0 + inline scalar Treact() const; + + //- Temperature below which the reaction rates are assumed 0 + inline scalar& Treact(); + + //- dc/dt = omega, rate of change in concentration, for each species + virtual void omega + ( + const scalarField& c, + const scalar T, + const scalar p, + scalarField& dcdt + ) const; + + + //- Return the reaction rate for iReaction and the reference + // species and charateristic times + virtual scalar omegaI + ( + label index, + const scalarField& c, + const scalar T, + const scalar p + ) const; + + virtual scalar omegaI + ( + label iReaction, + const scalarField& c, + const scalar T, + const scalar p, + scalar& pf, + scalar& cf, + label& lRef, + scalar& pr, + scalar& cr, + label& rRef + ) const; + + //- Calculates the reaction rates + virtual void calculate(); + + + // Chemistry model functions (overriding abstract functions in + // basicChemistryModel.H) + + //- Return const access to the chemical source terms for specie, i + inline const volScalarField::Internal& RR + ( + const label i + ) const; + + //- Return non const access to chemical source terms [kg/m3/s] + virtual volScalarField::Internal& RR + ( + const label i + ); + + //- Return reaction rate of the speciei in reactionI + virtual tmp calculateRR + ( + const label reactionI, + const label speciei + ) const; + + //- Solve the reaction system for the given time step + // and return the characteristic time + virtual scalar solve(const scalar deltaT); + + //- Solve the reaction system for the given time step + // and return the characteristic time + virtual scalar solve(const scalarField& deltaT); + + //- Return the chemical time scale + virtual tmp tc() const; + + //- Return the heat release rate [kg/m/s3] + virtual tmp Qdot() const; + + + // ODE functions (overriding abstract functions in ODE.H) + + //- Number of ODE's to solve + inline virtual label nEqns() const; + + virtual void derivatives + ( + const scalar t, + const scalarField& c, + scalarField& dcdt + ) const; + + virtual void jacobian + ( + const scalar t, + const scalarField& c, + scalarField& dcdt, + scalarSquareMatrix& J + ) const; + + + virtual void solve + ( + scalarField &c, + scalar& T, + scalar& p, + scalar& deltaT, + scalar& subDeltaT + ) const = 0; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "canteraChemistryModelI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "canteraChemistryModel.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/canteraChemistryModel/canteraChemistryModelI.H b/src/thermophysicalModels/chemistryModel/chemistryModel/canteraChemistryModel/canteraChemistryModelI.H new file mode 100644 index 000000000..4cefbeb25 --- /dev/null +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/canteraChemistryModel/canteraChemistryModelI.H @@ -0,0 +1,117 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +\*---------------------------------------------------------------------------*/ + +#include "volFields.H" +#include "zeroGradientFvPatchFields.H" + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +inline Foam::label +Foam::canteraChemistryModel::nEqns() const +{ + // nEqns = number of species + temperature + pressure + return nSpecie_ + 2; +} + + +template +inline const Foam::PtrList>& +Foam::canteraChemistryModel::reactions() const +{ + return reactions_; +} + + +template +inline Foam::PtrList>& +Foam::canteraChemistryModel::RR() +{ + return RR_; +} + + +template +inline const Foam::PtrList& +Foam::canteraChemistryModel::specieThermo() const +{ + return specieThermo_; +} + + +template +inline Foam::label +Foam::canteraChemistryModel::nSpecie() const +{ + return nSpecie_; +} + + +template +inline Foam::label +Foam::canteraChemistryModel::nReaction() const +{ + return nReaction_; +} + + +template +inline Foam::scalar +Foam::canteraChemistryModel::Treact() const +{ + return Treact_; +} + + +template +inline Foam::scalar& +Foam::canteraChemistryModel::Treact() +{ + return Treact_; +} + + +template +inline const Foam::DimensionedField& +Foam::canteraChemistryModel::RR +( + const label i +) const +{ + return RR_[i]; +} + +template +Foam::DimensionedField& +Foam::canteraChemistryModel::RR +( + const label i +) +{ + return RR_[i]; +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H index ab9b46840..231f9b81e 100644 --- a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H +++ b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H @@ -30,6 +30,7 @@ License #include "StandardChemistryModel.H" #include "TDACChemistryModel.H" +#include "canteraChemistryModel.H" #include "noChemistrySolver.H" #include "EulerImplicit.H" @@ -67,8 +68,22 @@ License BasicChemistryModel:: \ add##thermo##ConstructorToTable \ add##TDAC##SS##Comp##Thermo##thermo##ConstructorTo##BasicChemistryModel\ -##Comp##Table_; - +##Comp##Table_;\ + \ + typedef SS> cantera##SS##Comp##Thermo; \ + \ + defineTemplateTypeNameAndDebugWithName \ + ( \ + cantera##SS##Comp##Thermo, \ + (#SS"<" + word(canteraChemistryModel::typeName_()) + "<" \ + + word(Comp::typeName_()) + "," + Thermo::typeName() + ">>").c_str(), \ + 0 \ + ); \ + \ + BasicChemistryModel:: \ + add##thermo##ConstructorToTable \ + add##cantera##SS##Comp##Thermo##thermo##ConstructorTo \ +##BasicChemistryModel##Comp##Table_; #define makeChemistrySolverTypes(Comp, Thermo) \ \ diff --git a/src/thermophysicalModels/laminarFlameSpeed/Make/options b/src/thermophysicalModels/laminarFlameSpeed/Make/options index f97edb845..8e49442b9 100644 --- a/src/thermophysicalModels/laminarFlameSpeed/Make/options +++ b/src/thermophysicalModels/laminarFlameSpeed/Make/options @@ -3,7 +3,16 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt + LIB_LIBS = \ -lcompressibleTransportModels \ diff --git a/src/thermophysicalModels/radiation/Make/options b/src/thermophysicalModels/radiation/Make/options index 5a768463e..f028864dc 100644 --- a/src/thermophysicalModels/radiation/Make/options +++ b/src/thermophysicalModels/radiation/Make/options @@ -7,7 +7,16 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt + LIB_LIBS = \ -lcompressibleTransportModels \ diff --git a/src/thermophysicalModels/reactionThermo/Make/files b/src/thermophysicalModels/reactionThermo/Make/files index 8870103df..8dcf62cc0 100644 --- a/src/thermophysicalModels/reactionThermo/Make/files +++ b/src/thermophysicalModels/reactionThermo/Make/files @@ -1,6 +1,7 @@ chemistryReaders/chemkinReader/chemkinReader.C chemistryReaders/chemkinReader/chemkinLexer.L chemistryReaders/chemistryReader/makeChemistryReaders.C +chemistryReaders/canteraChemistryReader/canteraChemistryReader.C mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C mixtures/basicSpecieMixture/basicSpecieMixture.C diff --git a/src/thermophysicalModels/reactionThermo/Make/options b/src/thermophysicalModels/reactionThermo/Make/options index f59f44fc8..2a6892f53 100644 --- a/src/thermophysicalModels/reactionThermo/Make/options +++ b/src/thermophysicalModels/reactionThermo/Make/options @@ -3,11 +3,20 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidSpecie/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(WM_CANTERA_DIR) \ + -I$(WM_CANTERA_DIR)/cantera \ + -I$(WM_CANTERA_DIR)/cantera/kinetics \ + -I$(WM_CANTERA_DIR)/cantera/base \ + -I$(WM_CANTERA_DIR)/cantera/transport \ + -I$(WM_CANTERA_DIR)/cantera/thermo \ + -I$(WM_CANTERA_DIR)/cantera/ext \ + -I$(WM_CANTERA_DIR)/cantera/ext/fmt LIB_LIBS = \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lspecie \ -lsolidSpecie \ - -lfiniteVolume + -lfiniteVolume \ No newline at end of file diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/canteraChemistryReader/canteraChemistryReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/canteraChemistryReader/canteraChemistryReader.C new file mode 100644 index 000000000..92263c370 --- /dev/null +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/canteraChemistryReader/canteraChemistryReader.C @@ -0,0 +1,735 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2018 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 . + +\*---------------------------------------------------------------------------*/ + +#include "canteraChemistryReader.H" +#include "IFstream.H" +#include "atomicWeights.H" +#include "ReactionProxy.H" +#include "IrreversibleReaction.H" +#include "ReversibleReaction.H" +#include "NonEquilibriumReversibleReaction.H" +#include "ArrheniusReactionRate.H" +#include "thirdBodyArrheniusReactionRate.H" +#include "FallOffReactionRate.H" +#include "ChemicallyActivatedReactionRate.H" +#include "LindemannFallOffFunction.H" +#include "TroeFallOffFunction.H" +#include "SRIFallOffFunction.H" +#include "LandauTellerReactionRate.H" +#include "JanevReactionRate.H" +#include "powerSeriesReactionRate.H" +#include "addToRunTimeSelectionTable.H" +#include "cantera/IdealGasMix.h" +#include "cantera/kinetics/GasKinetics.h" +#include "cantera/kinetics/reaction_defs.h" + +namespace Foam +{ + addChemistryReaderType(canteraChemistryReader, gasHThermoPhysics); +} + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +// Obtain species table from cantera +Foam::speciesTable& Foam::canteraChemistryReader::setSpecies +( + Cantera::IdealGasMix gas, + speciesTable& species +) +{ + label nsp = gas.nSpecies(); + wordList s(nsp); + for(label i=0; i> + ( + specie + ( + currentSpecieName, + 1.0, + molecularWeight + ), + currentLowT, + currentHighT, + currentCommonT, + highCpCoeffs, + lowCpCoeffs, + true + ), + transportDict.subDict(currentSpecieName) + ) + ); + } +// Info << speciesThermo_ << endl; + +} + +// Obtain species composition from cantera +void Foam::canteraChemistryReader::setSpeciesComposition +( + Cantera::IdealGasMix gas +) +{ + label ne = gas.nElements(); + wordList e(ne); + + DynamicList elementNames_; + HashTable