From 2498cc65dd91efb2622c002c8be5325eccb641f0 Mon Sep 17 00:00:00 2001 From: cfdem Date: Fri, 23 Nov 2012 14:29:13 +0100 Subject: [PATCH] release on 2012-11-23_14-29-13 --- README | 82 ++++++++++++++ doc/CFDEMcoupling_Manual.html | 40 +++---- doc/CFDEMcoupling_Manual.pdf | Bin 510502 -> 512708 bytes doc/CFDEMcoupling_Manual.txt | 1 + doc/dataExchangeModel_twoWayM2M.html | 46 ++++++++ doc/dataExchangeModel_twoWayM2M.txt | 42 +++++++ doc/githubAccess_public.pdf | Bin 361862 -> 361862 bytes src/lagrangian/cfdemParticle/Make/files | 22 +++- src/lagrangian/cfdemParticle/Make/options | 5 +- .../turboEngineSearchM2M.C | 93 ++++++++++++++++ .../turboEngineSearchM2M.H | 103 ++++++++++++++++++ 11 files changed, 412 insertions(+), 22 deletions(-) create mode 100644 README create mode 100644 doc/dataExchangeModel_twoWayM2M.html create mode 100644 doc/dataExchangeModel_twoWayM2M.txt create mode 100755 src/lagrangian/cfdemParticle/subModels/locateModel/turboEngineSearchM2M/turboEngineSearchM2M.C create mode 100755 src/lagrangian/cfdemParticle/subModels/locateModel/turboEngineSearchM2M/turboEngineSearchM2M.H diff --git a/README b/README new file mode 100644 index 00000000..a677e0a8 --- /dev/null +++ b/README @@ -0,0 +1,82 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Christoph Goniva, christoph.goniva@cfdem.com + Copyright 2009-2012 JKU Linz + Copyright 2012- DCS Computing GmbH, Linz +------------------------------------------------------------------------------- +License + This file is part of CFDEMcoupling. + + CFDEMcoupling 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. + + CFDEMcoupling 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 CFDEMcoupling; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS + and OpenFOAM. Note: this code is not part of OpenFOAM (see DISCLAIMER). +\*---------------------------------------------------------------------------*/ + + +CFDEM coupling provides an open source parallel coupled CFD-DEM framework +combining the strengths of LIGGGHTS DEM code and the Open Source +CFD package OpenFOAM(R)(*). The CFDEMcoupling toolbox allows to expand +standard CFD solvers of OpenFOAM(R)(*) to include a coupling to the DEM +code LIGGGHTS. In this toolbox the particle representation within the +CFD solver is organized by "cloud" classes. Key functionalities are organised +in sub-models (e.g. force models, data exchange models, etc.) which can easily +be selected and combined by dictionary settings. + +The coupled solvers run fully parallel on distributed-memory clusters. + +Features are: + +- its modular approach allows users to easily implement new models +- its MPI parallelization enables to use it for large scale problems +- the "forum"_lws on CFD-DEM gives the possibility to exchange with other + users / developers +- the use of GIT allows to easily update to the latest version +- basic documentation is provided + +The file structure: + +- "src" directory including the source files of the coupling toolbox and models +- "applications" directory including the solver files for coupled CFD-DEM simulations +- "doc" directory including the documentation of CFDEMcoupling +- "tutorials" directory including basic tutorial cases showing the functionality + + + +Details on installation are given on the "www.cfdem.com" + +The functionality of this CFD-DEM framwork is described via "tutorial cases" showing +how to use different solvers and models. + +CFDEMcoupling stands for Computational Fluid Dynamics (CFD) - +Discrete Element Method (DEM) coupling. + +CFDEMcoupling is an open-source code, distributed freely under the terms of the +GNU Public License (GPL). + +Core development of CFDEMcoupling is done by +Christoph Goniva and Christoph Kloss, both at DCS Computing GmbH, 2012 + + +\*---------------------------------------------------------------------------*/ +(*) "OpenFOAM(R)"_of is a registered trade mark of Silicon Graphics +International Corp. This offering is not affiliated, approved or endorsed by +Silicon Graphics International Corp., the producer of the OpenFOAM(R) software +and owner of the OpenFOAM(R) trademark. +\*---------------------------------------------------------------------------*/ diff --git a/doc/CFDEMcoupling_Manual.html b/doc/CFDEMcoupling_Manual.html index 19e9fc60..ba5b6f43 100644 --- a/doc/CFDEMcoupling_Manual.html +++ b/doc/CFDEMcoupling_Manual.html @@ -211,26 +211,26 @@ listing below of styles within certain commands. clockModel_noClockclockModel_standardClock dataExchangeModeldataExchangeModel_noDataExchange dataExchangeModel_oneWayVTKdataExchangeModel_twoWayFiles -dataExchangeModel_twoWayMPIforceModel -forceModel_ArchimedesforceModel_ArchimedesIB -forceModel_DiFeliceDragforceModel_GidaspowDrag -forceModel_KochHillDragforceModel_LaEuScalarTemp -forceModel_MeiLiftforceModel_SchillerNaumannDrag -forceModel_ShirgaonkarIBforceModel_gradPForce -forceModel_noDragforceModel_virtualMassForce -forceModel_viscForceliggghtsCommandModel -liggghtsCommandModel_executeliggghtsCommandModel_readLiggghtsData -liggghtsCommandModel_runLiggghtsliggghtsCommandModel_writeLiggghts -locateModellocateModel_engineSearch -locateModel_engineSearchIBlocateModel_standardSearch -locateModel_turboEngineSearchmeshMotionModel -meshMotionModel_noMeshMotionmomCoupleModel -momCoupleModel_explicitCouplemomCoupleModel_implicitCouple -momCoupleModel_noCoupleregionModel -regionModel_allRegionvoidfractionModel -voidfractionModel_GaussVoidFractionvoidfractionModel_IBVoidFraction -voidfractionModel_bigParticleVoidFractionvoidfractionModel_centreVoidFraction -voidfractionModel_dividedVoidFraction +dataExchangeModel_twoWayM2MdataExchangeModel_twoWayMPI +forceModelforceModel_Archimedes +forceModel_ArchimedesIBforceModel_DiFeliceDrag +forceModel_GidaspowDragforceModel_KochHillDrag +forceModel_LaEuScalarTempforceModel_MeiLift +forceModel_SchillerNaumannDragforceModel_ShirgaonkarIB +forceModel_gradPForceforceModel_noDrag +forceModel_virtualMassForceforceModel_viscForce +liggghtsCommandModelliggghtsCommandModel_execute +liggghtsCommandModel_readLiggghtsDataliggghtsCommandModel_runLiggghts +liggghtsCommandModel_writeLiggghtslocateModel +locateModel_engineSearchlocateModel_engineSearchIB +locateModel_standardSearchlocateModel_turboEngineSearch +meshMotionModelmeshMotionModel_noMeshMotion +momCoupleModelmomCoupleModel_explicitCouple +momCoupleModel_implicitCouplemomCoupleModel_noCouple +regionModelregionModel_allRegion +voidfractionModelvoidfractionModel_GaussVoidFraction +voidfractionModel_IBVoidFractionvoidfractionModel_bigParticleVoidFraction +voidfractionModel_centreVoidFractionvoidfractionModel_dividedVoidFraction diff --git a/doc/CFDEMcoupling_Manual.pdf b/doc/CFDEMcoupling_Manual.pdf index 98f37ddc2f4392e24827381d9edf0a60d77991b1..45f41542988b47ce94f50968e5688742d8ea2972 100644 GIT binary patch delta 56432 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 delta 55187 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

-jtHY5%T@ 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 diff --git a/doc/CFDEMcoupling_Manual.txt b/doc/CFDEMcoupling_Manual.txt index 301a6840..5ae9de60 100644 --- a/doc/CFDEMcoupling_Manual.txt +++ b/doc/CFDEMcoupling_Manual.txt @@ -458,6 +458,7 @@ listing below of styles within certain commands. "dataExchangeModel_noDataExchange"_dataExchangeModel_noDataExchange.html, "dataExchangeModel_oneWayVTK"_dataExchangeModel_oneWayVTK.html, "dataExchangeModel_twoWayFiles"_dataExchangeModel_twoWayFiles.html, +"dataExchangeModel_twoWayM2M"_dataExchangeModel_twoWayM2M.html, "dataExchangeModel_twoWayMPI"_dataExchangeModel_twoWayMPI.html, "forceModel"_forceModel.html, "forceModel_Archimedes"_forceModel_Archimedes.html, diff --git a/doc/dataExchangeModel_twoWayM2M.html b/doc/dataExchangeModel_twoWayM2M.html new file mode 100644 index 00000000..a80fd095 --- /dev/null +++ b/doc/dataExchangeModel_twoWayM2M.html @@ -0,0 +1,46 @@ + +

CFDEMproject WWW Site - CFDEM Commands +
+ + + + +
+ +

dataExchangeModel_twoWayM2M command +

+

Syntax: +

+

Defined in couplingProperties dictionary. +

+
dataExchangeModel twoWayM2M;
+twoWayM2MProps
+{
+    liggghtsPath "path";
+}; 
+
+
  • path = path to the DEM simulation input file + + +
+

Examples: +

+
dataExchangeModel twoWayM2M;
+twoWayM2MProps
+{
+    liggghtsPath "../DEM/in.liggghts_init";
+} 
+
+

Description: +

+

The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayM2M model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via MPI technique using the many to many mapping scheme. The DEM run is executed by the coupling model, via a liggghtsCommandModel object. +

+

Restrictions: +

+

Should be used in combination with the turboEngineSearchM2M locate model to achieve best performance! +

+

Related commands: +

+

dataExchangeModel +

+ diff --git a/doc/dataExchangeModel_twoWayM2M.txt b/doc/dataExchangeModel_twoWayM2M.txt new file mode 100644 index 00000000..94527637 --- /dev/null +++ b/doc/dataExchangeModel_twoWayM2M.txt @@ -0,0 +1,42 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +dataExchangeModel_twoWayM2M command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +dataExchangeModel twoWayM2M; +twoWayM2MProps +\{ + liggghtsPath "path"; +\}; :pre + +{path} = path to the DEM simulation input file :ulb,l +:ule + +[Examples:] + +dataExchangeModel twoWayM2M; +twoWayM2MProps +\{ + liggghtsPath "../DEM/in.liggghts_init"; +\} :pre + +[Description:] + +The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayM2M model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via MPI technique using the many to many mapping scheme. The DEM run is executed by the coupling model, via a liggghtsCommandModel object. + +[Restrictions:] + +Should be used in combination with the turboEngineSearchM2M locate model to achieve best performance! + +[Related commands:] + +"dataExchangeModel"_dataExchangeModel.html + diff --git a/doc/githubAccess_public.pdf b/doc/githubAccess_public.pdf index 7a22d690b8b42538b8a9b4368bf9a259172fdef7..2668ebac0774e1bb35a909426329af036232a7a1 100644 GIT binary patch delta 104 zcmZqc7HjJko6y5zWNcv3IH7d{W9tN_)(On56IixRV4cz8WM*uTl46izm}Hh}m|~fj em~5G1Zk%Y4Xl!h5X>Mv_WM@N2#q_LJRv7^P3?JeE delta 104 zcmZqc7HjJko6y5zU}|FCIH7d{W9tN_)(On56IixRV4cz8WMG_ZnVM*vWMX8QoMK{; eVw{*_XqjSeV49L_Zkl9bZf8SC#q_LJRv7>XIUrjA diff --git a/src/lagrangian/cfdemParticle/Make/files b/src/lagrangian/cfdemParticle/Make/files index b26fe6cd..e2411291 100644 --- a/src/lagrangian/cfdemParticle/Make/files +++ b/src/lagrangian/cfdemParticle/Make/files @@ -20,18 +20,33 @@ $(forceModels)/forceModel/forceModel.C $(forceModels)/forceModel/newForceModel.C $(forceModels)/noDrag/noDrag.C $(forceModels)/DiFeliceDrag/DiFeliceDrag.C +$(forceModels)/DiFeliceDragNLift/DiFeliceDragNLift.C $(forceModels)/GidaspowDrag/GidaspowDrag.C $(forceModels)/SchillerNaumannDrag/SchillerNaumannDrag.C $(forceModels)/Archimedes/Archimedes.C $(forceModels)/ArchimedesIB/ArchimedesIB.C $(forceModels)/interface/interface.C $(forceModels)/ShirgaonkarIB/ShirgaonkarIB.C +$(forceModels)/fieldTimeAverage/fieldTimeAverage.C +$(forceModels)/fieldBound/fieldBound.C +$(forceModels)/volWeightedAverage/volWeightedAverage.C +$(forceModels)/totalMomentumExchange/totalMomentumExchange.C $(forceModels)/KochHillDrag/KochHillDrag.C +$(forceModels)/BeetstraDrag/multiphaseFlowBasic/multiphaseFlowBasic.C +$(forceModels)/BeetstraDrag/BeetstraDrag.C +$(forceModels)/LaEuScalarLiquid/LaEuScalarLiquid.C $(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C +$(forceModels)/LaEuScalarDust/LaEuScalarDust.C $(forceModels)/virtualMassForce/virtualMassForce.C $(forceModels)/gradPForce/gradPForce.C +$(forceModels)/gradULiftForce/gradULiftForce.C $(forceModels)/viscForce/viscForce.C $(forceModels)/MeiLift/MeiLift.C +$(forceModels)/KochHillDragNLift/KochHillDragNLift.C +$(forceModels)/solidsPressureForce/solidsPressureForce.C +$(forceModels)/periodicPressure/periodicPressure.C +$(forceModels)/periodicPressureControl/periodicPressureControl.C +$(forceModels)/averageSlipVel/averageSlipVel.C $(forceModelsMS)/forceModelMS/forceModelMS.C $(forceModelsMS)/forceModelMS/newForceModelMS.C @@ -42,6 +57,7 @@ $(IOModels)/IOModel/newIOModel.C $(IOModels)/noIO/noIO.C $(IOModels)/basicIO/basicIO.C $(IOModels)/trackIO/trackIO.C +$(IOModels)/sophIO/sophIO.C $(voidFractionModels)/voidFractionModel/voidFractionModel.C $(voidFractionModels)/voidFractionModel/newVoidFractionModel.C @@ -57,22 +73,25 @@ $(locateModels)/locateModel/newLocateModel.C $(locateModels)/standardSearch/standardSearch.C $(locateModels)/engineSearch/engineSearch.C $(locateModels)/turboEngineSearch/turboEngineSearch.C +$(locateModels)/turboEngineSearchM2M/turboEngineSearchM2M.C $(locateModels)/engineSearchIB/engineSearchIB.C - $(meshMotionModels)/meshMotionModel/meshMotionModel.C $(meshMotionModels)/meshMotionModel/newMeshMotionModel.C $(meshMotionModels)/noMeshMotion/noMeshMotion.C +$(meshMotionModels)/DEMdrivenMeshMotion/DEMdrivenMeshMotion.C $(momCoupleModels)/momCoupleModel/momCoupleModel.C $(momCoupleModels)/momCoupleModel/newMomCoupleModel.C $(momCoupleModels)/explicitCouple/explicitCouple.C +$(momCoupleModels)/explicitCoupleSource/explicitCoupleSource.C $(momCoupleModels)/implicitCouple/implicitCouple.C $(momCoupleModels)/noCouple/noCouple.C $(regionModels)/regionModel/regionModel.C $(regionModels)/regionModel/newRegionModel.C $(regionModels)/allRegion/allRegion.C +$(regionModels)/differentialRegion/differentialRegion.C $(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C $(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C @@ -80,6 +99,7 @@ $(dataExchangeModels)/oneWayVTK/oneWayVTK.C $(dataExchangeModels)/twoWayFiles/twoWayFiles.C $(dataExchangeModels)/noDataExchange/noDataExchange.C $(dataExchangeModels)/twoWayMPI/twoWayMPI.C +$(dataExchangeModels)/twoWayM2M/twoWayM2M.C $(averagingModels)/averagingModel/averagingModel.C $(averagingModels)/averagingModel/newAveragingModel.C diff --git a/src/lagrangian/cfdemParticle/Make/options b/src/lagrangian/cfdemParticle/Make/options index e24e4695..eb5d1463 100644 --- a/src/lagrangian/cfdemParticle/Make/options +++ b/src/lagrangian/cfdemParticle/Make/options @@ -13,6 +13,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/OpenFOAM/containers/HashTables/labelHashSet \ -I$(CFDEM_LIGGGHTS_SRC_DIR) \ + -I$(CFDEM_M2MLIB_PATH) \ LIB_LIBS = \ $(PLIBS) \ @@ -24,4 +25,6 @@ LIB_LIBS = \ -llagrangian \ -lmpi_cxx \ -L$(CFDEM_LIGGGHTS_SRC_DIR) \ - -l$(CFDEM_LIGGGHTS_LIB_NAME) + -l$(CFDEM_LIGGGHTS_LIB_NAME) \ + -L$(CFDEM_M2MLIB_PATH) \ + -lcouple diff --git a/src/lagrangian/cfdemParticle/subModels/locateModel/turboEngineSearchM2M/turboEngineSearchM2M.C b/src/lagrangian/cfdemParticle/subModels/locateModel/turboEngineSearchM2M/turboEngineSearchM2M.C new file mode 100755 index 00000000..bcce6d9c --- /dev/null +++ b/src/lagrangian/cfdemParticle/subModels/locateModel/turboEngineSearchM2M/turboEngineSearchM2M.C @@ -0,0 +1,93 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Christoph Goniva, christoph.goniva@cfdem.com + Copyright 2009-2012 JKU Linz + Copyright 2012- DCS Computing GmbH, Linz +------------------------------------------------------------------------------- +License + This file is part of CFDEMcoupling. + + CFDEMcoupling 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. + + CFDEMcoupling 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 CFDEMcoupling; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS + and OpenFOAM(R). Note: this code is not part of OpenFOAM(R) (see DISCLAIMER). +\*---------------------------------------------------------------------------*/ + +#include "error.H" + +#include "turboEngineSearchM2M.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +defineTypeNameAndDebug(turboEngineSearchM2M, 0); + +addToRunTimeSelectionTable +( + locateModel, + turboEngineSearchM2M, + dictionary +); + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +// Construct from components +turboEngineSearchM2M::turboEngineSearchM2M +( + const dictionary& dict, + cfdemCloud& sm +) +: + turboEngineSearch(dict.subDict(typeName + "Props"),sm) +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +turboEngineSearchM2M::~turboEngineSearchM2M() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +label turboEngineSearchM2M::findCell +( + double** const& mask, + double**& positions, + double**& cellIDs, + int size +) const +{ + // search should already be done by M2M + + return 1; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/lagrangian/cfdemParticle/subModels/locateModel/turboEngineSearchM2M/turboEngineSearchM2M.H b/src/lagrangian/cfdemParticle/subModels/locateModel/turboEngineSearchM2M/turboEngineSearchM2M.H new file mode 100755 index 00000000..fd0e26f5 --- /dev/null +++ b/src/lagrangian/cfdemParticle/subModels/locateModel/turboEngineSearchM2M/turboEngineSearchM2M.H @@ -0,0 +1,103 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling - Open Source CFD-DEM coupling + + CFDEMcoupling is part of the CFDEMproject + www.cfdem.com + Christoph Goniva, christoph.goniva@cfdem.com + Copyright 2009-2012 JKU Linz + Copyright 2012- DCS Computing GmbH, Linz +------------------------------------------------------------------------------- +License + This file is part of CFDEMcoupling. + + CFDEMcoupling 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. + + CFDEMcoupling 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 CFDEMcoupling; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS + and OpenFOAM(R). Note: this code is not part of OpenFOAM(R) (see DISCLAIMER). + +Class + turboEngineSearchM2M + +SourceFiles + turboEngineSearchM2M.C + +\*---------------------------------------------------------------------------*/ + +#ifndef turboEngineSearchM2M_H +#define turboEngineSearchM2M_H + +#include "turboEngineSearch.H" + +#include "meshSearch.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class noDrag Declaration +\*---------------------------------------------------------------------------*/ + +class turboEngineSearchM2M +: + public turboEngineSearch +{ + +private: + + +public: + + //- Runtime type information + TypeName("turboEngineM2M"); + + + // Constructors + + //- Construct from components + turboEngineSearchM2M + ( + const dictionary& dict, + cfdemCloud& sm + ); + + // Destructor + + ~turboEngineSearchM2M(); + + + // Member Functions + label findCell + ( + double** const& mask, + double**& positions, + double**& cellIDs, + int size + ) const; + +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* //