Commit 915c0785 authored by Mark Olesen's avatar Mark Olesen Committed by Sergio Ferraris

ENH: avoid phaseSystem cyclic dependencies, reduce number of libraries

Reduce the number of phaseSystems libraries:

- phaseSystems previously had a number of smaller libraries to provide
  interface and model properties, etc. This potential flexibility was
  never actually used anywhere, but causes cyclic dependencies between
  phaseSystem and the models (and turbulence) that causes extreme
  difficulty for mingw linking (issue #1238).

- libincompressibleMultiphaseSystems
  - removed: libmassTransferModels

- libmultiphaseSystem
  - removed: libcompressibleMultiphaseEulerianInterfacialModels

- libreactingMultiphaseSystem
  - removed: libreactingPhaseSystem
  - removed: libreactingEulerianFvPatchFields
  - removed: libreactingEulerianInterfacialCompositionModels
  - removed: libreactingEulerianInterfacialModels
  - removed: libmultiphaseReactingTurbulenceModels

- libreactingTwoPhaseSystem
  - removed: libreactingPhaseSystem
  - removed: libreactingEulerianFvPatchFields
  - removed: libreactingEulerianInterfacialCompositionModels
  - removed: libreactingEulerianInterfacialModels

Avoid duplicate symbol for phaseCompressibleTurbulenceModels

  Common turbulence models are defined in libreactingMultiphaseSystem,
  and libmultiphaseReactingTurbulenceModels is now redundant.

  The libtwoPhaseReactingTurbulenceModels extends the common models
  for reactingTwoPhaseSystem.
parent 03526e20
...@@ -5,9 +5,7 @@ EXE_INC = \ ...@@ -5,9 +5,7 @@ EXE_INC = \
-I$(FOAM_SOLVERS)/multiphase/reactingTwoPhaseEulerFoam \ -I$(FOAM_SOLVERS)/multiphase/reactingTwoPhaseEulerFoam \
-I${phaseSystem}/twoPhaseSystem/lnInclude \ -I${phaseSystem}/twoPhaseSystem/lnInclude \
-I${phaseSystem}/twoPhaseCompressibleTurbulenceModels/lnInclude \ -I${phaseSystem}/twoPhaseCompressibleTurbulenceModels/lnInclude \
-I${phaseSystem}/phaseSystems/lnInclude \ -I${phaseSystem}/multiphaseSystem/lnInclude \
-I${phaseSystem}/interfacialModels/lnInclude \
-I${phaseSystem}/interfacialCompositionModels/lnInclude \
-I./fluid \ -I./fluid \
-I../solid \ -I../solid \
-I../fluid \ -I../fluid \
...@@ -36,6 +34,6 @@ EXE_LIBS = \ ...@@ -36,6 +34,6 @@ EXE_LIBS = \
-lsolidThermo \ -lsolidThermo \
-lradiationModels \ -lradiationModels \
-lregionModels \ -lregionModels \
-lreactingMultiphaseSystem \
-lreactingTwoPhaseSystem \ -lreactingTwoPhaseSystem \
-ltwoPhaseReactingTurbulenceModels \ -ltwoPhaseReactingTurbulenceModels
-lreactingPhaseSystem
...@@ -26,7 +26,6 @@ EXE_LIBS = \ ...@@ -26,7 +26,6 @@ EXE_LIBS = \
-lcompressibleTransportModels \ -lcompressibleTransportModels \
-lradiationModels \ -lradiationModels \
-lfluidThermophysicalModels \ -lfluidThermophysicalModels \
-lmassTransferModels \
-lsolidThermo \ -lsolidThermo \
-lsolidSpecie \ -lsolidSpecie \
-ltwoPhaseProperties \ -ltwoPhaseProperties \
......
...@@ -2,7 +2,6 @@ phaseSystem = $(LIB_SRC)/phaseSystemModels/multiphaseEuler ...@@ -2,7 +2,6 @@ phaseSystem = $(LIB_SRC)/phaseSystemModels/multiphaseEuler
EXE_INC = \ EXE_INC = \
-I${phaseSystem}/multiphaseSystem/lnInclude \ -I${phaseSystem}/multiphaseSystem/lnInclude \
-I${phaseSystem}/interfacialModels/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/transportModels \ -I$(LIB_SRC)/transportModels \
...@@ -21,5 +20,4 @@ EXE_LIBS = \ ...@@ -21,5 +20,4 @@ EXE_LIBS = \
-lincompressibleTransportModels \ -lincompressibleTransportModels \
-lturbulenceModels \ -lturbulenceModels \
-lincompressibleTurbulenceModels \ -lincompressibleTurbulenceModels \
-lmultiphaseSystem \ -lmultiphaseSystem
-lcompressibleMultiphaseEulerianInterfacialModels
...@@ -2,10 +2,6 @@ phaseSystem = $(LIB_SRC)/phaseSystemModels/reactingEuler ...@@ -2,10 +2,6 @@ phaseSystem = $(LIB_SRC)/phaseSystemModels/reactingEuler
EXE_INC = \ EXE_INC = \
-I${phaseSystem}/multiphaseSystem/lnInclude \ -I${phaseSystem}/multiphaseSystem/lnInclude \
-I${phaseSystem}/multiphaseCompressibleTurbulenceModels/lnInclude \
-I${phaseSystem}/phaseSystems/lnInclude \
-I${phaseSystem}/interfacialModels/lnInclude \
-I${phaseSystem}/interfacialCompositionModels/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \
...@@ -21,8 +17,4 @@ EXE_LIBS = \ ...@@ -21,8 +17,4 @@ EXE_LIBS = \
-lfvOptions \ -lfvOptions \
-lmeshTools \ -lmeshTools \
-lsampling \ -lsampling \
-lreactingPhaseSystem \ -lreactingMultiphaseSystem
-lreactingMultiphaseSystem \
-lreactingEulerianInterfacialModels \
-lreactingEulerianInterfacialCompositionModels \
-lmultiphaseReactingTurbulenceModels
...@@ -3,9 +3,7 @@ phaseSystem = $(LIB_SRC)/phaseSystemModels/reactingEuler ...@@ -3,9 +3,7 @@ phaseSystem = $(LIB_SRC)/phaseSystemModels/reactingEuler
EXE_INC = \ EXE_INC = \
-I${phaseSystem}/twoPhaseSystem/lnInclude \ -I${phaseSystem}/twoPhaseSystem/lnInclude \
-I${phaseSystem}/twoPhaseCompressibleTurbulenceModels/lnInclude \ -I${phaseSystem}/twoPhaseCompressibleTurbulenceModels/lnInclude \
-I${phaseSystem}/phaseSystems/lnInclude \ -I${phaseSystem}/multiphaseSystem/lnInclude \
-I${phaseSystem}/interfacialCompositionModels/lnInclude \
-I${phaseSystem}/interfacialModels/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \
...@@ -20,8 +18,6 @@ EXE_LIBS = \ ...@@ -20,8 +18,6 @@ EXE_LIBS = \
-lfvOptions \ -lfvOptions \
-lmeshTools \ -lmeshTools \
-lsampling \ -lsampling \
-lreactingPhaseSystem \ -lreactingMultiphaseSystem \
-lreactingTwoPhaseSystem \ -lreactingTwoPhaseSystem \
-lreactingEulerianInterfacialModels \
-lreactingEulerianInterfacialCompositionModels \
-ltwoPhaseReactingTurbulenceModels -ltwoPhaseReactingTurbulenceModels
...@@ -2,7 +2,6 @@ phaseSystem = $(LIB_SRC)/phaseSystemModels/twoPhaseEuler ...@@ -2,7 +2,6 @@ phaseSystem = $(LIB_SRC)/phaseSystemModels/twoPhaseEuler
EXE_INC = \ EXE_INC = \
-I${phaseSystem}/phaseCompressibleTurbulenceModels/lnInclude \ -I${phaseSystem}/phaseCompressibleTurbulenceModels/lnInclude \
-I${phaseSystem}/twoPhaseEuler/interfacialModels/lnInclude \
-I${phaseSystem}/twoPhaseSystem/lnInclude \ -I${phaseSystem}/twoPhaseSystem/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \
...@@ -25,6 +24,5 @@ EXE_LIBS = \ ...@@ -25,6 +24,5 @@ EXE_LIBS = \
-lturbulenceModels \ -lturbulenceModels \
-lcompressibleTurbulenceModels \ -lcompressibleTurbulenceModels \
-lincompressibleTransportModels \ -lincompressibleTransportModels \
-lphaseCompressibleTurbulenceModels \
-lcompressibleTwoPhaseSystem \ -lcompressibleTwoPhaseSystem \
-lcompressibleEulerianInterfacialModels -lphaseCompressibleTurbulenceModels
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
cd "${0%/*}" || exit # Run from this directory cd "${0%/*}" || exit # Run from this directory
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
wclean libso interfacialModels
wclean libso multiphaseSystem wclean libso multiphaseSystem
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
...@@ -3,8 +3,6 @@ cd "${0%/*}" || exit # Run from this directory ...@@ -3,8 +3,6 @@ cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/wmake/scripts/AllwmakeParseArguments . ${WM_PROJECT_DIR:?}/wmake/scripts/AllwmakeParseArguments
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
wmakeLnInclude multiphaseSystem
wmake $targetType interfacialModels
wmake $targetType multiphaseSystem wmake $targetType multiphaseSystem
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
drag = dragModels
$(drag)/dragModel/dragModel.C
$(drag)/dragModel/dragModelNew.C
$(drag)/Ergun/Ergun.C
$(drag)/GidaspowErgunWenYu/GidaspowErgunWenYu.C
$(drag)/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
$(drag)/SchillerNaumann/SchillerNaumann.C
$(drag)/Gibilaro/Gibilaro.C
$(drag)/WenYu/WenYu.C
$(drag)/SyamlalOBrien/SyamlalOBrien.C
$(drag)/blended/blended.C
$(drag)/interface/interface.C
heatTransfer = heatTransferModels
$(heatTransfer)/heatTransferModel/heatTransferModel.C
$(heatTransfer)/heatTransferModel/heatTransferModelNew.C
$(heatTransfer)/RanzMarshall/RanzMarshall.C
LIB = $(FOAM_LIBBIN)/libcompressibleMultiphaseEulerianInterfacialModels
EXE_INC = \
-I../multiphaseSystem/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude
LIB_LIBS = \
-lfiniteVolume \
-lmultiphaseSystem
...@@ -3,13 +3,31 @@ phaseModel/phaseModel.C ...@@ -3,13 +3,31 @@ phaseModel/phaseModel.C
multiphaseSystem/multiphaseSystem.C multiphaseSystem/multiphaseSystem.C
diameter = diameterModels diameter = diameterModels
$(diameter)/diameterModel/diameterModel.C $(diameter)/diameterModel/diameterModel.C
$(diameter)/diameterModel/diameterModelNew.C $(diameter)/diameterModel/diameterModelNew.C
$(diameter)/constantDiameter/constantDiameter.C $(diameter)/constantDiameter/constantDiameter.C
$(diameter)/isothermalDiameter/isothermalDiameter.C $(diameter)/isothermalDiameter/isothermalDiameter.C
alphaContactAngle/alphaContactAngleFvPatchScalarField.C
drag = interfacialModels/dragModels
$(drag)/dragModel/dragModel.C
$(drag)/dragModel/dragModelNew.C
$(drag)/Ergun/Ergun.C
$(drag)/GidaspowErgunWenYu/GidaspowErgunWenYu.C
$(drag)/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
$(drag)/SchillerNaumann/SchillerNaumann.C
$(drag)/Gibilaro/Gibilaro.C
$(drag)/WenYu/WenYu.C
$(drag)/SyamlalOBrien/SyamlalOBrien.C
$(drag)/blended/blended.C
$(drag)/interface/interface.C
heatTransfer = interfacialModels/heatTransferModels
$(heatTransfer)/heatTransferModel/heatTransferModel.C
$(heatTransfer)/heatTransferModel/heatTransferModelNew.C
$(heatTransfer)/RanzMarshall/RanzMarshall.C
alphaContactAngle/alphaContactAngleFvPatchScalarField.C
LIB = $(FOAM_LIBBIN)/libmultiphaseSystem LIB = $(FOAM_LIBBIN)/libmultiphaseSystem
EXE_INC = \ EXE_INC = \
-I../phaseModel/lnInclude \
-I../interfacialModels/lnInclude \
-IalphaContactAngle \ -IalphaContactAngle \
-I$(LIB_SRC)/transportModels \ -I$(LIB_SRC)/transportModels \
-I$(LIB_SRC)/transportModels/incompressible/lnInclude \ -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
......