From 75ac9fd280488e9d8b5ff5a2be2db12e9216066e Mon Sep 17 00:00:00 2001 From: Gabriel Gerlero Date: Thu, 12 Sep 2024 18:59:22 -0300 Subject: [PATCH] Support reactions via reagency --- .github/workflows/ci.yml | 18 +- Dockerfile | 4 +- libraries/Allwmake | 1 - libraries/reactions/Make/files | 8 - libraries/reactions/Make/options | 18 -- .../defaultReaction/defaultReaction.C | 44 --- .../defaultReaction/defaultReaction.H | 39 --- libraries/reactions/reaction/reaction.C | 295 ------------------ libraries/reactions/reaction/reaction.H | 109 ------- libraries/reactions/reaction/reactionNew.C | 18 -- libraries/reactions/reactions.C | 111 ------- libraries/reactions/reactions.H | 56 ---- libraries/reactions/reactionsI.H | 5 - solvers/moistureDiffusivityFoam/Make/options | 1 - .../Make/options | 8 +- .../createTransportFields.H | 6 +- .../moistureDiffusivityTransportFoam.C | 5 +- solvers/porousMicroTransportFoam/CEqn.H | 9 +- solvers/porousMicroTransportFoam/Make/options | 8 +- .../porousMicroTransportFoam/createFields.H | 2 +- .../porousMicroTransportFoam.C | 5 +- 21 files changed, 42 insertions(+), 728 deletions(-) delete mode 100644 libraries/reactions/Make/files delete mode 100644 libraries/reactions/Make/options delete mode 100644 libraries/reactions/defaultReaction/defaultReaction.C delete mode 100644 libraries/reactions/defaultReaction/defaultReaction.H delete mode 100644 libraries/reactions/reaction/reaction.C delete mode 100644 libraries/reactions/reaction/reaction.H delete mode 100644 libraries/reactions/reaction/reactionNew.C delete mode 100644 libraries/reactions/reactions.C delete mode 100644 libraries/reactions/reactions.H delete mode 100644 libraries/reactions/reactionsI.H diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2af14a..3507634 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,6 +20,13 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + with: + path: porousMicroTransport + - name: Check out reagency + uses: actions/checkout@v4 + with: + repository: gerlero/reagency + path: reagency - name: Set up OpenFOAM uses: gerlero/setup-openfoam@v1 with: @@ -29,13 +36,14 @@ jobs: with: python-version: '3.x' cache: pip - cache-dependency-path: tests/requirements.txt - - name: Build + cache-dependency-path: porousMicroTransport/tests/requirements.txt + - name: Build reagency run: | - ./Allwmake -j + reagency/Allwmake -j + - name: Build + run: porousMicroTransport/Allwmake -j - name: Test - run: | - tests/Alltest + run: porousMicroTransport/tests/Alltest lint-tests: name: Lint tests diff --git a/Dockerfile b/Dockerfile index 3421d4b..e13af64 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ ARG OPENFOAM_VERSION=2406 -FROM microfluidica/openfoam:${OPENFOAM_VERSION} AS dev +FROM microfluidica/reagency:openfoam${OPENFOAM_VERSION} AS dev ARG PMT_DIR=/usr/local/src/porousMicroTransport @@ -20,7 +20,7 @@ RUN ${PMT_DIR}/Allwmake -j -prefix=group \ && moistureDiffusivityTransportFoam -help -FROM microfluidica/openfoam:${OPENFOAM_VERSION}-slim AS slim +FROM microfluidica/reagency:slim-openfoam${OPENFOAM_VERSION} AS slim ARG OPENFOAM_VERSION diff --git a/libraries/Allwmake b/libraries/Allwmake index 75ff976..29c0a20 100755 --- a/libraries/Allwmake +++ b/libraries/Allwmake @@ -11,5 +11,4 @@ wmake $targetType common wmake $targetType unsaturatedFlowModels wmake $targetType PicardControl wmake $targetType transport -wmake $targetType reactions wmake $targetType boundaryConditions diff --git a/libraries/reactions/Make/files b/libraries/reactions/Make/files deleted file mode 100644 index 18d1099..0000000 --- a/libraries/reactions/Make/files +++ /dev/null @@ -1,8 +0,0 @@ -reactions.C - -reaction/reaction.C -reaction/reactionNew.C - -defaultReaction/defaultReaction.C - -LIB = $(FOAM_MODULE_LIBBIN)/libPMTreactions diff --git a/libraries/reactions/Make/options b/libraries/reactions/Make/options deleted file mode 100644 index 73f12b2..0000000 --- a/libraries/reactions/Make/options +++ /dev/null @@ -1,18 +0,0 @@ -include $(GENERAL_RULES)/module-path-user - -EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ - -I../util/lnInclude - -LIB_LIBS = \ - -lfiniteVolume \ - -lmeshTools \ - -lspecie \ - -lfluidThermophysicalModels \ - -lreactionThermophysicalModels \ - -L$(FOAM_MODULE_LIBBIN) \ - -lPMTutil diff --git a/libraries/reactions/defaultReaction/defaultReaction.C b/libraries/reactions/defaultReaction/defaultReaction.C deleted file mode 100644 index 416f0ed..0000000 --- a/libraries/reactions/defaultReaction/defaultReaction.C +++ /dev/null @@ -1,44 +0,0 @@ -#include "defaultReaction.H" - -#include -#include -#include - -namespace Foam -{ -namespace Pmt -{ -defineTypeNameAndDebug(defaultReaction, 0); -addToRunTimeSelectionTable(reaction, defaultReaction, dictionary); -} -} - -Foam::Pmt::defaultReaction::defaultReaction -( - const basicMultiComponentMixture& composition, - const dictionary& reactionDict -) -: - reaction{reactionDict.get("reaction"), composition.species()}, - mesh_{composition.Y().first().mesh()}, - kf_{"kf", kfDimensions(YDimensions(composition)), reactionDict}, - kr_{dimensionedScalar::getOrDefault("kr", reactionDict, krDimensions(YDimensions(composition)), Zero)} -{ - Info<< "Reaction " << reactionDict.dictName() << nl - << " "; write(Info, composition.species()); Info<< nl - << " kf = " << kf_.value() << endl; - if (kr_.value() != 0) - { - Info<< " kr = " << kr_.value() << endl; - } -} - -Foam::tmp Foam::Pmt::defaultReaction::kf() const -{ - return volScalarField::New("kf", mesh_, kf_); -} - -Foam::tmp Foam::Pmt::defaultReaction::kr() const -{ - return volScalarField::New("kr", mesh_, kr_); -} diff --git a/libraries/reactions/defaultReaction/defaultReaction.H b/libraries/reactions/defaultReaction/defaultReaction.H deleted file mode 100644 index 60c7e0b..0000000 --- a/libraries/reactions/defaultReaction/defaultReaction.H +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef PMT_defaultReaction_H -#define PMT_defaultReaction_H - -#include "reaction.H" - -namespace Foam -{ -namespace Pmt -{ - -class defaultReaction -: - public reaction -{ -public: - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Winconsistent-missing-override" - TypeName("default"); - #pragma clang diagnostic pop - - defaultReaction - ( - const basicMultiComponentMixture& composition, - const dictionary& reactionDict - ); - - tmp kf() const override; - tmp kr() const override; - -private: - const fvMesh& mesh_; - const dimensionedScalar kf_; - const dimensionedScalar kr_; -}; - -} -} - -#endif diff --git a/libraries/reactions/reaction/reaction.C b/libraries/reactions/reaction/reaction.C deleted file mode 100644 index cb9f62f..0000000 --- a/libraries/reactions/reaction/reaction.C +++ /dev/null @@ -1,295 +0,0 @@ -#include "reaction.H" - -#include -#include -#include -#include -#include -#include - -#include -#include - -void Foam::Pmt::reaction::speciesCoeffs::write -( - Ostream& os, - const speciesTable& species -) const -{ - if (mag(stoichCoeff - 1) > SMALL) - { - os << stoichCoeff; - } - os << species[index]; - if (mag(exponent - stoichCoeff) > SMALL) - { - os << "^" << exponent; - } -} - -Foam::Pmt::reaction::speciesCoeffs::speciesCoeffs -( - const speciesTable& species, - Istream& is -) -{ - token t{is}; - - if (t.isNumber()) - { - stoichCoeff = t.number(); - is >> t; - } - else - { - stoichCoeff = 1.0; - } - - if (t.isWord()) - { - auto name = t.wordToken(); - - auto i = name.find('^'); - - if (i != word::npos) - { - exponent = readScalar(name.substr(i + 1)); - name.resize(i); - } - else - { - exponent = stoichCoeff; - } - - index = species[name]; - - if (index < 0) - { - FatalIOErrorInFunction(is) - << "Unknown species " << name << endl - << exit(FatalIOError); - } - } - else - { - FatalIOErrorInFunction(is) - << "Expected a word but found " << t.info() << endl - << exit(FatalIOError); - } - -} - -namespace Foam -{ -namespace Pmt -{ -defineTypeNameAndDebug(reaction, 0); -defineRunTimeSelectionTable(reaction, dictionary) -} -} - -Foam::Pmt::reaction::reaction -( - const string& str, - const speciesTable& species -) -: - reaction - { - [&] - { - IStringStream is{str}; - - return read(species, is); - }() - } -{} - -Foam::List Foam::Pmt::reaction::lhs() const -{ - return lhs_; -} - -Foam::List Foam::Pmt::reaction::rhs() const -{ - return rhs_; -} - -Foam::dimensionSet Foam::Pmt::reaction::YDimensions -( - const basicMultiComponentMixture& composition -) const -{ - dimensionSet dimY; - - if (lhs().empty()) - { - dimY.reset(composition.Y(rhs().first().index).dimensions()); - } - else if (rhs().empty()) - { - dimY.reset(composition.Y(lhs().first().index).dimensions()); - } - else if (!lhs().empty() && !rhs().empty()) - { - dimY.reset(composition.Y(lhs().first().index).dimensions()); - - if (dimensionSet::checking() && composition.Y(rhs().first().index).dimensions() != dimY) - { - FatalErrorInFunction - << "Incompatible dimensions of species concentrations in reaction" << nl - << abort(FatalError); - } - } - else - { - FatalErrorInFunction - << "Empty reaction" << nl - << abort(FatalError); - } - - if (dimensionSet::checking()) - { - for (const auto& sc : lhs()) - { - if (composition.Y(sc.index).dimensions() != dimY) - { - FatalErrorInFunction - << "Incompatible dimensions of species concentrations in reaction" << nl - << abort(FatalError); - } - } - - for (const auto& sc : rhs()) - { - if (composition.Y(sc.index).dimensions() != dimY) - { - FatalErrorInFunction - << "Incompatible dimensions of species concentrations in reaction" << nl - << abort(FatalError); - } - } - } - - return dimY; -} - -Foam::dimensionSet Foam::Pmt::reaction::kfDimensions(const dimensionSet& dimY) const -{ - return dimless/(dimTime*pow(dimY, forwardOrder() - 1)); -} - -Foam::dimensionSet Foam::Pmt::reaction::krDimensions(const dimensionSet& dimY) const -{ - return dimless/(dimTime*pow(dimY, reverseOrder() - 1)); -} - -void Foam::Pmt::reaction::write -( - Ostream& os, - const speciesTable& species -) -{ - writeSide(os, lhs(), species); - os << " = "; - writeSide(os, rhs(), species); -} - -Foam::Pmt::reaction::reaction -( - Pair> lrhs -) -: - lhs_{std::move(lrhs.first())}, - rhs_{std::move(lrhs.second())} -{} - -Foam::scalar Foam::Pmt::reaction::forwardOrder() const noexcept -{ - scalar order = 0; - - for (const auto& sc : lhs()) - { - order += sc.exponent; - } - - return order; -} - -Foam::scalar Foam::Pmt::reaction::reverseOrder() const noexcept -{ - scalar order = 0; - - for (const auto& sc : rhs()) - { - order += sc.exponent; - } - - return order; -} - -Foam::Pair> -Foam::Pmt::reaction::read -( - const speciesTable& species, - Istream& is -) -{ - auto lhs = readSide(species, is); - - if (token{is} != token::ASSIGN) - { - FatalIOErrorInFunction(is) - << "Expected '=' sign in reaction" << endl - << exit(FatalIOError); - } - - auto rhs = readSide(species, is); - - return {lhs, rhs}; -} - - -Foam::List Foam::Pmt::reaction::readSide -( - const speciesTable& species, - Istream& is -) -{ - DynamicList ret{}; - - do - { - ret.append(speciesCoeffs{species, is}); - - token t{is}; - if (t != token::ADD) - { - is.putBack(t); - return ret; - } - } while(is); - - FatalIOErrorInFunction(is) - << "Cannot continue reading reaction data from stream" << endl - << exit(FatalIOError); - - assert(false); -} - -void Foam::Pmt::reaction::writeSide -( - Ostream& os, - const List& s, - const speciesTable& species -) -{ - forAll(s, i) - { - if (i > 0) - { - os << " + "; - } - s[i].write(os, species); - } -} diff --git a/libraries/reactions/reaction/reaction.H b/libraries/reactions/reaction/reaction.H deleted file mode 100644 index 4419833..0000000 --- a/libraries/reactions/reaction/reaction.H +++ /dev/null @@ -1,109 +0,0 @@ -#ifndef PMT_reaction_H -#define PMT_reaction_H - -#include -#include -#include -#include -#include - - -namespace Foam -{ -namespace Pmt -{ - -class reaction -{ -public: - struct speciesCoeffs - { - label index; - scalar stoichCoeff; - scalar exponent; - - speciesCoeffs() = default; - - speciesCoeffs(const speciesTable& species, Istream& is); - - void write(Ostream& os, const speciesTable& species) const; - }; - - TypeName("reaction"); - - declareRunTimeSelectionTable - ( - autoPtr, - reaction, - dictionary, - ( - const basicMultiComponentMixture& composition, - const dictionary& reactionDict - ), - (composition, reactionDict) - ); - - static autoPtr New - ( - const basicMultiComponentMixture& composition, - const dictionary& reactionDict - ); - - reaction(List lhs, List rhs); - reaction(const string& str, const speciesTable& species); - - List lhs() const; - List rhs() const; - - virtual tmp kf() const = 0; - virtual tmp kr() const = 0; - - virtual ~reaction() = default; - - reaction(const reaction&) = delete; - void operator=(const reaction&) = delete; - -protected: - dimensionSet YDimensions(const basicMultiComponentMixture& composition) const; - dimensionSet kfDimensions(const dimensionSet& dimY) const; - dimensionSet krDimensions(const dimensionSet& dimY) const; - - void write - ( - Ostream& os, - const speciesTable& species - ); - -private: - List lhs_; - List rhs_; - - reaction(Pair> lrhs); - - scalar forwardOrder() const noexcept; - scalar reverseOrder() const noexcept; - - static Pair> read - ( - const speciesTable& species, - Istream& is - ); - - static List readSide - ( - const speciesTable& species, - Istream& is - ); - - static void writeSide - ( - Ostream& os, - const List& s, - const speciesTable& species - ); -}; - -} -} - -#endif diff --git a/libraries/reactions/reaction/reactionNew.C b/libraries/reactions/reaction/reactionNew.C deleted file mode 100644 index 9fd8007..0000000 --- a/libraries/reactions/reaction/reactionNew.C +++ /dev/null @@ -1,18 +0,0 @@ -#include "reaction.H" -#include "runTimeSelectionHelpers.H" - -Foam::autoPtr Foam::Pmt::reaction::New -( - const basicMultiComponentMixture& composition, - const dictionary& reactionDict -) -{ - auto reactionType = reactionDict.getOrDefault("type", "default"); - - return NewOfSelectedType - ( - reactionType, - composition, - reactionDict - ); -} diff --git a/libraries/reactions/reactions.C b/libraries/reactions/reactions.C deleted file mode 100644 index f1d55ed..0000000 --- a/libraries/reactions/reactions.C +++ /dev/null @@ -1,111 +0,0 @@ -#include "reactions.H" -#include "dictionaries.H" - -#include -#include -#include -#include - -Foam::Pmt::reactions::reactions -( - const basicMultiComponentMixture& composition, - const dictionary& transportProperties -) -: - composition_{composition}, - reactionTerms_ - { - [&composition] - { - PtrList terms(composition.Y().size()); - - forAll(composition.Y(), speciesi) - { - const auto& Y = composition.Y(speciesi); - - terms.set - ( - speciesi, - volScalarField::New - ( - "RR", - Y.mesh(), - dimensionedScalar{Y.dimensions()/dimTime, Zero} - ) - ); - } - - return terms; - }() - }, - reactions_ - { - [&] - { - PtrList list{}; - - const auto& reactionsDict = - dictionaries::subOrNullDictRef(transportProperties, "reactions"); - - Info<< reactionsDict.size() << " reactions found" << nl - << endl; - - for (const auto& entry : reactionsDict) - { - const auto& dict = entry.dict(); - - list.append(reaction::New(composition_, dict)); - } - - return list; - }() - } -{} - -void Foam::Pmt::reactions::correct() -{ - clearTerms(); - - for (const auto& reaction : reactions_) - { - setReactionRate(reaction.lhs(), reaction.rhs(), reaction.kf()); - setReactionRate(reaction.rhs(), reaction.lhs(), reaction.kr()); - } -} - -void Foam::Pmt::reactions::clearTerms() -{ - for (auto& reactionTerm: reactionTerms_) - { - reactionTerm = dimensionedScalar{reactionTerm.dimensions(), Zero}; - } -} - -void Foam::Pmt::reactions::setReactionRate -( - const List& lhs, - const List& rhs, - tmp k -) -{ - auto& reactionRate = k.ref(); - - for (const auto& sc : lhs) - { - reactionRate *= pow(posPart(composition_.Y(sc.index)), sc.exponent); - } - - for (const auto& sc : lhs) - { - auto& term = reactionTerms_[sc.index]; - - term -= sc.stoichCoeff*reactionRate; - } - - for (const auto& sc : rhs) - { - auto& term = reactionTerms_[sc.index]; - - term += sc.stoichCoeff*reactionRate; - } -} diff --git a/libraries/reactions/reactions.H b/libraries/reactions/reactions.H deleted file mode 100644 index 0685610..0000000 --- a/libraries/reactions/reactions.H +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef PMT_reactions_H -#define PMT_reactions_H - -#include "reaction.H" - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace Foam -{ -namespace Pmt -{ - -class reactions -{ -public: - reactions - ( - const basicMultiComponentMixture& composition, - const dictionary& transportProperties - ); - - void correct(); - - const volScalarField& reactionTerm(label speciesi) const; - - reactions(const reactions&) = delete; - void operator=(const reactions&) = delete; - -private: - const basicMultiComponentMixture& composition_; - PtrList reactionTerms_; - PtrList reactions_; - - void clearTerms(); - - void setReactionRate - ( - const List& lhs, - const List& rhs, - tmp k - ); -}; - -} -} - -#include "reactionsI.H" - -#endif diff --git a/libraries/reactions/reactionsI.H b/libraries/reactions/reactionsI.H deleted file mode 100644 index 6148a5d..0000000 --- a/libraries/reactions/reactionsI.H +++ /dev/null @@ -1,5 +0,0 @@ -inline const Foam::volScalarField& -Foam::Pmt::reactions::reactionTerm(label speciesi) const -{ - return reactionTerms_[speciesi]; -} diff --git a/solvers/moistureDiffusivityFoam/Make/options b/solvers/moistureDiffusivityFoam/Make/options index 49e24e3..b2b93e1 100644 --- a/solvers/moistureDiffusivityFoam/Make/options +++ b/solvers/moistureDiffusivityFoam/Make/options @@ -18,4 +18,3 @@ EXE_LIBS = \ -lPMTboundaryConditions \ -lPMTunsaturatedFlowModels \ -lPMTPicardControl - \ No newline at end of file diff --git a/solvers/moistureDiffusivityTransportFoam/Make/options b/solvers/moistureDiffusivityTransportFoam/Make/options index 6a9c54c..174f1d9 100644 --- a/solvers/moistureDiffusivityTransportFoam/Make/options +++ b/solvers/moistureDiffusivityTransportFoam/Make/options @@ -6,12 +6,12 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ + -I../../../reagency/src/reagency/lnInclude \ -I../../libraries/util/lnInclude \ -I../../libraries/common/lnInclude \ -I../../libraries/unsaturatedFlowModels/lnInclude \ -I../../libraries/PicardControl/lnInclude \ - -I../../libraries/transport/lnInclude \ - -I../../libraries/reactions/lnInclude + -I../../libraries/transport/lnInclude EXE_LIBS = \ -lfiniteVolume \ @@ -21,10 +21,10 @@ EXE_LIBS = \ -lfluidThermophysicalModels \ -lreactionThermophysicalModels \ -L$(FOAM_MODULE_LIBBIN) \ + -lreagency \ -lPMTutil \ -lPMTcommon \ -lPMTboundaryConditions \ -lPMTunsaturatedFlowModels \ -lPMTPicardControl \ - -lPMTtransport \ - -lPMTreactions + -lPMTtransport diff --git a/solvers/moistureDiffusivityTransportFoam/createTransportFields.H b/solvers/moistureDiffusivityTransportFoam/createTransportFields.H index 0e8f960..ef097de 100644 --- a/solvers/moistureDiffusivityTransportFoam/createTransportFields.H +++ b/solvers/moistureDiffusivityTransportFoam/createTransportFields.H @@ -2,6 +2,10 @@ Info<< "\nReading species\n" << endl; Pmt::porousMixture composition{medium, phase, transportProperties}; +#if __has_include("reagency.H") + Info<< "\nReading reactions\n" << endl; -Pmt::reactions reactions{composition, transportProperties}; +reagency reactions{composition, transportProperties}; + +#endif diff --git a/solvers/moistureDiffusivityTransportFoam/moistureDiffusivityTransportFoam.C b/solvers/moistureDiffusivityTransportFoam/moistureDiffusivityTransportFoam.C index 660f601..bd25b0b 100644 --- a/solvers/moistureDiffusivityTransportFoam/moistureDiffusivityTransportFoam.C +++ b/solvers/moistureDiffusivityTransportFoam/moistureDiffusivityTransportFoam.C @@ -3,10 +3,13 @@ #include "phaseFractionField.H" #include "moistureDiffusivityModel.H" #include "porousMixture.H" -#include "reactions.H" #include "PicardControl.H" #include "TransportControl.H" +#if __has_include("reagency.H") +#include +#endif + #include #include #include diff --git a/solvers/porousMicroTransportFoam/CEqn.H b/solvers/porousMicroTransportFoam/CEqn.H index f26feaa..054ae5d 100644 --- a/solvers/porousMicroTransportFoam/CEqn.H +++ b/solvers/porousMicroTransportFoam/CEqn.H @@ -6,8 +6,6 @@ forAll(composition.Y(), speciesi) auto& C = composition.Y(speciesi); auto Deff = composition.Deff(speciesi); const auto& Rd = composition.retardation(speciesi); - const auto& F = reactions.reactionTerm(speciesi); - auto ddtScheme = composition.ddtScheme(speciesi); fvScalarMatrix CEqn @@ -16,10 +14,13 @@ forAll(composition.Y(), speciesi) + fvm::div(phi, C, "div(phi,C)") - fvm::laplacian(theta*Deff, C, "laplacian(Deff,C)") == - Rd*theta*F - + theta*fvOptions(C) + theta*fvOptions(C) }; +#if __has_include("reagency.H") + CEqn -= Rd*theta*reactions.reactionTerm(speciesi); +#endif + fvOptions.constrain(CEqn); CEqn.solve(mesh.solver("C")); fvOptions.correct(C); diff --git a/solvers/porousMicroTransportFoam/Make/options b/solvers/porousMicroTransportFoam/Make/options index fedacc1..d56993c 100644 --- a/solvers/porousMicroTransportFoam/Make/options +++ b/solvers/porousMicroTransportFoam/Make/options @@ -6,11 +6,11 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ + -I../../../reagency/src/reagency/lnInclude \ -I../../libraries/util/lnInclude \ -I../../libraries/common/lnInclude \ -I../../libraries/unsaturatedFlowModels/lnInclude \ - -I../../libraries/transport/lnInclude \ - -I../../libraries/reactions/lnInclude + -I../../libraries/transport/lnInclude EXE_LIBS = \ -lfiniteVolume \ @@ -20,8 +20,8 @@ EXE_LIBS = \ -lfluidThermophysicalModels \ -lreactionThermophysicalModels \ -L$(FOAM_MODULE_LIBBIN) \ + -lreagency \ -lPMTutil \ -lPMTcommon \ -lPMTunsaturatedFlowModels \ - -lPMTtransport \ - -lPMTreactions + -lPMTtransport diff --git a/solvers/porousMicroTransportFoam/createFields.H b/solvers/porousMicroTransportFoam/createFields.H index 07ae82b..5738d45 100644 --- a/solvers/porousMicroTransportFoam/createFields.H +++ b/solvers/porousMicroTransportFoam/createFields.H @@ -69,4 +69,4 @@ Pmt::porousMixture composition{medium, phase, transportProperties}; Info<< "\nReading reactions\n" << endl; -Pmt::reactions reactions{composition, transportProperties}; +reagency reactions{composition, transportProperties}; diff --git a/solvers/porousMicroTransportFoam/porousMicroTransportFoam.C b/solvers/porousMicroTransportFoam/porousMicroTransportFoam.C index 736a414..6f20ae8 100644 --- a/solvers/porousMicroTransportFoam/porousMicroTransportFoam.C +++ b/solvers/porousMicroTransportFoam/porousMicroTransportFoam.C @@ -2,9 +2,12 @@ #include "fluidPhase.H" #include "phaseFractionField.H" #include "porousMixture.H" -#include "reactions.H" #include "TransportControl.H" +#if __has_include("reagency.H") +#include +#endif + #include #include #include