diff --git a/README b/README
new file mode 100755
index 00000000..fd2ca756
--- /dev/null
+++ b/README
@@ -0,0 +1,81 @@
+/*---------------------------------------------------------------------------*\
+ 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 the ESI Group.
+This offering is not affiliated, approved or endorsed by ESI Group,
+the producer of the OpenFOAMĀ® software and owner of the OpenFOAMĀ® trade mark.
+\*---------------------------------------------------------------------------*/
diff --git a/applications/solvers/cfdemSolverIB/Make/options b/applications/solvers/cfdemSolverIB/Make/options
index fe83ef99..b16906ec 100755
--- a/applications/solvers/cfdemSolverIB/Make/options
+++ b/applications/solvers/cfdemSolverIB/Make/options
@@ -3,11 +3,14 @@ EXE_INC = \
-I$(LIB_SRC)/transportModels \
-I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
-I$(LIB_SRC)/finiteVolume/lnInclude \
- -I$(CFDEM_SRC_DIR)/lnInclude \
+ -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/lnInclude \
+ -I$(LIB_SRC)/meshTools/lnInclude \
+ -I$(LIB_SRC)/sampling/lnInclude \
-I$(LIB_SRC)/dynamicFvMesh/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude \
-I$(LIB_SRC)/dynamicMesh/dynamicFvMesh/lnInclude \
- -I$(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude
+ -I$(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude \
+ -I$(LIB_SRC)/fvOptions/lnInclude
EXE_LIBS = \
-L$(FOAM_USER_LIBBIN)\
@@ -17,4 +20,5 @@ EXE_LIBS = \
-lfiniteVolume \
-ldynamicFvMesh \
-ldynamicMesh \
- -l$(CFDEM_LIB_NAME)
+ -lfvOptions \
+ -l$(CFDEM_LIB_NAME)
diff --git a/applications/solvers/cfdemSolverIB/cfdemSolverIB.C b/applications/solvers/cfdemSolverIB/cfdemSolverIB.C
index 2a091c1b..834d0962 100755
--- a/applications/solvers/cfdemSolverIB/cfdemSolverIB.C
+++ b/applications/solvers/cfdemSolverIB/cfdemSolverIB.C
@@ -50,6 +50,10 @@ Contributions
#include "dynamicFvMesh.H" //dyM
+#include "cellSet.H"
+#include "meshToMeshNew.H"
+#include "fvIOoptionList.H"
+
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
@@ -64,6 +68,8 @@ int main(int argc, char *argv[])
#include "initContinuityErrs.H"
+ #include "createFvOptions.H"
+
// create cfdemCloud
#include "readGravitationalAcceleration.H"
cfdemCloudIB particleCloud(mesh);
@@ -96,10 +102,14 @@ int main(int argc, char *argv[])
fvm::ddt(voidfraction,U)
+ fvm::div(phi, U)
+ turbulence->divDevReff(U)
+ ==
+ fvOptions(U)
);
UEqn.relax();
+ fvOptions.constrain(UEqn);
+
if (momentumPredictor)
{
solve(UEqn == -fvc::grad(p));
@@ -116,6 +126,8 @@ int main(int argc, char *argv[])
adjustPhi(phi, U, p);
+ fvOptions.relativeFlux(phi);
+
// Non-orthogonal pressure corrector loop
for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
{
@@ -160,6 +172,8 @@ int main(int argc, char *argv[])
volScalarField voidfractionNext=mesh.lookupObject Examples:
diff --git a/doc/forceModel_GidaspowDrag.txt b/doc/forceModel_GidaspowDrag.txt
index 0f6938c4..9a5af514 100644
--- a/doc/forceModel_GidaspowDrag.txt
+++ b/doc/forceModel_GidaspowDrag.txt
@@ -19,10 +19,12 @@ GidaspowDragProps
\{
velFieldName "U";
densityFieldName "density";
+ phi "scalar";
\}; :pre
{U} = name of the finite volume fluid velocity field :ulb,l
{density} = name of the finite volume gravity field :l
+{phi} = drag correction factor (in doubt 1) :l
:ule
[Examples:]
diff --git a/doc/forceModel_noDrag.html b/doc/forceModel_noDrag.html
index 4bba14af..9baaa53f 100644
--- a/doc/forceModel_noDrag.html
+++ b/doc/forceModel_noDrag.html
@@ -15,19 +15,24 @@
Examples:
Description:
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The noDrag model sets the forces acting on the particle to zero. If several force models are selected and noDrag is the last model being executed, the fluid particle force will be set to zero.
+ The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The noDrag model sets the forces acting on the particle to zero. If several force models are selected and noDrag is the last model being executed, the fluid particle force will be set to zero. If the variable noDEMForce is set, then the forces communicated to the DEM solver are also set to zero.
Restrictions:
Description:
This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles as they are represented on the CFD mesh is calculated.
-At "writeTime" a field named particleCellVolume , where scalarField is the name of the original field, is written. This can be can the be probed using standard function object probes. Using the verbose option a screen output is given.
+ This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles as they are represented on the CFD mesh is calculated. Further the total volume of the cells particles are in is calculated.
+At "writeTime" a field named particleCellVolume , where scalarField is the name of the original field, is written. This can be can the be probed using standard function object probes. Analogously a field named cellVolume is written. Using the verbose option a screen output is given.
Restrictions:
forceModels
(
- off
+ noDrag
);
forceModels
(
- off
+ noDrag
);
+noDragProps (optional)
+{
+ noDEMForce; (optional)
+};
+
probeModel myProbeModel;-
Use "off" for "myProbeModel" to disable this feature. +
Use probe model "off" to disable this feature.
-particleIDsToSample (ID1 ID2 ID3 ...); -
myProbeModelProps
{
diff --git a/doc/probeModel.txt b/doc/probeModel.txt
index c2069cc2..5e10acfd 100644
--- a/doc/probeModel.txt
+++ b/doc/probeModel.txt
@@ -13,9 +13,8 @@ To be activated via couplingProperties dictionary.
probeModel myProbeModel; :pre
-Use "off" for "myProbeModel" to disable this feature.
+Use probe model "off" to disable this feature.
-particleIDsToSample (ID1 ID2 ID3 ...); :pre
myProbeModelProps :pre
\{ :pre
diff --git a/doc/probeModel_noProbe.html b/doc/probeModel_noProbe.html
index 429ebae0..63021115 100644
--- a/doc/probeModel_noProbe.html
+++ b/doc/probeModel_noProbe.html
@@ -13,8 +13,7 @@
To be activated via couplingProperties dictionary.
-particleIDsToSample (ID1 ID2 ID3 ...);
-forceModels
+forceModels
{
myForceModel1
myForceModel2
@@ -23,10 +22,6 @@ forceModels
Examples:
-probeModel noProbe;
-
-Alternatively use:
-
probeModel off;
Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing.
diff --git a/doc/probeModel_noProbe.txt b/doc/probeModel_noProbe.txt
index cf3c9307..b36c75e0 100644
--- a/doc/probeModel_noProbe.txt
+++ b/doc/probeModel_noProbe.txt
@@ -11,7 +11,6 @@ probeModel_noProbe command :h3
To be activated via couplingProperties dictionary.
-particleIDsToSample (ID1 ID2 ID3 ...);
forceModels
\{
myForceModel1
@@ -21,9 +20,6 @@ forceModels
[Examples:]
-probeModel noProbe; :pre
-Alternatively use:
-
probeModel off; :pre
Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing.
diff --git a/src/lagrangian/cfdemParticle/Make/files b/src/lagrangian/cfdemParticle/Make/files
index 92a7d09f..c1fefcff 100644
--- a/src/lagrangian/cfdemParticle/Make/files
+++ b/src/lagrangian/cfdemParticle/Make/files
@@ -6,7 +6,6 @@ voidFractionModels = subModels/voidFractionModel
locateModels = subModels/locateModel
meshMotionModels = subModels/meshMotionModel
momCoupleModels = subModels/momCoupleModel
-regionModels = subModels/regionModel
dataExchangeModels = subModels/dataExchangeModel
averagingModels = subModels/averagingModel
clockModels = subModels/clockModel
@@ -15,6 +14,7 @@ smoothingModels = subModels/smoothingModel
probeModels = subModels/probeModel
$(cfdemCloud)/cfdemCloud.C
+derived/cfdemCloudBiDisperse/cfdemCloudBiDisperse.C
derived/cfdemCloudIB/cfdemCloudIB.C
derived/cfdemCloudMS/cfdemCloudMS.C
@@ -23,26 +23,43 @@ $(forceModels)/forceModel/newForceModel.C
$(forceModels)/noDrag/noDrag.C
$(forceModels)/checkCouplingInterval/checkCouplingInterval.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)/KochHillRWDrag/KochHillRWDrag.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)/HollowayDrag/HollowayDrag.C
$(forceModels)/viscForce/viscForce.C
$(forceModels)/MeiLift/MeiLift.C
+$(forceModels)/melting/melting.C
+$(forceModels)/KochHillDragNLift/KochHillDragNLift.C
+$(forceModels)/solidsPressureForce/solidsPressureForce.C
+$(forceModels)/periodicPressure/periodicPressure.C
+$(forceModels)/periodicPressureControl/periodicPressureControl.C
+$(forceModels)/averageSlipVel/averageSlipVel.C
$(forceModels)/particleCellVolume/particleCellVolume.C
-$(forceModels)/fieldTimeAverage/fieldTimeAverage.C
-$(forceModels)/volWeightedAverage/volWeightedAverage.C
$(forceModelsMS)/forceModelMS/forceModelMS.C
$(forceModelsMS)/forceModelMS/newForceModelMS.C
$(forceModelsMS)/DiFeliceDragMS/DiFeliceDragMS.C
+$(forceModelsMS)/GidaspowDragMS/GidaspowDragMS.C
+$(forceModelsMS)/noDragMS/noDragMS.C
$(probeModels)/probeModel/probeModel.C
$(probeModels)/probeModel/newProbeModel.C
@@ -60,10 +77,12 @@ $(voidFractionModels)/voidFractionModel/voidFractionModel.C
$(voidFractionModels)/voidFractionModel/newVoidFractionModel.C
$(voidFractionModels)/centreVoidFraction/centreVoidFraction.C
$(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C
+$(voidFractionModels)/dividedVoidFractionBiDi/dividedVoidFractionBiDi.C
$(voidFractionModels)/dividedVoidFractionMS/dividedVoidFractionMS.C
$(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C
$(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C
$(voidFractionModels)/IBVoidFraction/IBVoidFraction.C
+$(voidFractionModels)/weightedNeigbhorsVoidFraction/weightedNeigbhorsVoidFraction.C
$(locateModels)/locateModel/locateModel.C
$(locateModels)/locateModel/newLocateModel.C
@@ -73,21 +92,18 @@ $(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
-
$(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C
$(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C
$(dataExchangeModels)/oneWayVTK/oneWayVTK.C
@@ -100,6 +116,7 @@ $(averagingModels)/averagingModel/averagingModel.C
$(averagingModels)/averagingModel/newAveragingModel.C
$(averagingModels)/dilute/dilute.C
$(averagingModels)/dense/dense.C
+$(averagingModels)/denseBiDi/denseBiDi.C
$(clockModels)/clockModel/clockModel.C
$(clockModels)/clockModel/newClockModel.C
@@ -117,5 +134,6 @@ $(smoothingModels)/smoothingModel/smoothingModel.C
$(smoothingModels)/smoothingModel/newSmoothingModel.C
$(smoothingModels)/noSmoothing/noSmoothing.C
$(smoothingModels)/constDiffSmoothing/constDiffSmoothing.C
+$(smoothingModels)/localPSizeDiffSmoothing/localPSizeDiffSmoothing.C
-LIB = $(FOAM_USER_LIBBIN)/lib$(CFDEM_LIB_NAME)
+LIB = $(CFDEM_LIB_DIR)/lib$(CFDEM_LIB_NAME)
diff --git a/src/lagrangian/cfdemParticle/Make/options b/src/lagrangian/cfdemParticle/Make/options
index eb5d1463..29b3e02c 100644
--- a/src/lagrangian/cfdemParticle/Make/options
+++ b/src/lagrangian/cfdemParticle/Make/options
@@ -14,6 +14,7 @@ EXE_INC = \
-I$(LIB_SRC)/OpenFOAM/containers/HashTables/labelHashSet \
-I$(CFDEM_LIGGGHTS_SRC_DIR) \
-I$(CFDEM_M2MLIB_PATH) \
+ -I$(CFDEM_SRC_DIR)/cfdTools \
LIB_LIBS = \
$(PLIBS) \
diff --git a/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H
new file mode 100644
index 00000000..d94133eb
--- /dev/null
+++ b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H
@@ -0,0 +1,3 @@
+ //set probeModel parameters for this force model
+ particleCloud_.probeM().setOutputFile();
+ particleCloud_.probeM().setCounter();
diff --git a/src/lagrangian/cfdemParticle/cfdTools/setupProbeModelfields.H b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModelfields.H
new file mode 100644
index 00000000..484e2cad
--- /dev/null
+++ b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModelfields.H
@@ -0,0 +1,4 @@
+Field vValues;
+vValues.clear();
+Field sValues;
+sValues.clear();
diff --git a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H
index d2a81aa6..f9e49050 100755
--- a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H
+++ b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H
@@ -1,6 +1,6 @@
-word CFDEMversion="cfdem-2.5.7";
-word compatibleLIGGGHTSversion="2.3.7";
-word OFversion="2.1.x";
+word CFDEMversion="cfdem-2.6.0";
+word compatibleLIGGGHTSversion="3.0.0";
+word OFversion="2.2.x - commit 7c405a31b2f7299f5e2669fa18fb251ea219dd03";
Info << "\nCFDEMcoupling version: " << CFDEMversion << "\n" << endl;
Info << "\n, compatible to LIGGGHTS version: " << compatibleLIGGGHTSversion << "\n" << endl;
diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C
index f2307c55..a7130459 100644
--- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C
+++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C
@@ -452,7 +452,8 @@ bool Foam::cfdemCloud::evolve
// reset vol Fields
clockM().start(16,"resetVolFields");
- if(verbose_){
+ if(verbose_)
+ {
Info << "couplingStep:" << dataExchangeM().couplingStep()
<< "\n- resetVolFields()" << endl;
}
@@ -530,19 +531,42 @@ bool Foam::cfdemCloud::evolve
// update smoothing model
smoothingM().dSmoothing();
- // update voidFractionField
- alpha.oldTime().internalField() = voidFractionM().voidFractionInterp();
+ //============================================
+ // update voidFractionField V1
+ alpha = voidFractionM().voidFractionInterp();
smoothingM().smoothen(alpha);
+ if(dataExchangeM().couplingStep() < 2)
+ {
+ alpha.oldTime() = alpha; // supress volume src
+ alpha.oldTime().correctBoundaryConditions();
+ }
alpha.correctBoundaryConditions();
// calc ddt(voidfraction)
- if (doCouple) calcDdtVoidfraction(voidFractionM().voidFractionNext());
+ //calcDdtVoidfraction(voidFractionM().voidFractionNext());
+ calcDdtVoidfraction(alpha);
+
+ // update particle velocity Field
+ Us = averagingM().UsInterp();
+ //smoothingM().smoothenReferenceField(Us);
+ Us.correctBoundaryConditions();
+ /*//============================================
+ // update voidFractionField
+ volScalarField oldAlpha = alpha.oldTime(); //save old (smooth) alpha field
+ alpha.oldTime().internalField() = voidFractionM().voidFractionInterp();
+ smoothingM().smoothen(alpha);
+ alpha.correctBoundaryConditions();
+ alpha.oldTime() = oldAlpha; //set old (smooth) alpha field to allow correct computation of ddt
+
+ // calc ddt(voidfraction)
+ if (doCouple) calcDdtVoidfraction(alpha);
//calcDdtVoidfraction(alpha); // alternative with scale=1! (does not see change in alpha?)
// update particle velocity Field
Us.oldTime().internalField() = averagingM().UsInterp();
smoothingM().smoothenReferenceField(Us);
Us.correctBoundaryConditions();
+ //============================================*/
clockM().stop("interpolateEulerFields");
if(verbose_){
@@ -592,7 +616,7 @@ tmp cfdemCloud::divVoidfractionTau(volVectorField& U,volScalarFi
tmp cfdemCloud::ddtVoidfraction() const
{
- if (dataExchangeM().couplingStep() <= 2 || !useDDTvoidfraction_)
+ if (!useDDTvoidfraction_)
{
Info << "suppressing ddt(voidfraction)" << endl;
return tmp (ddtVoidfraction_ * 0.);
@@ -602,11 +626,21 @@ tmp cfdemCloud::ddtVoidfraction() const
void cfdemCloud::calcDdtVoidfraction(volScalarField& voidfraction) const
{
- Info << "calculating ddt(voidfraction) based on couplingTime" << endl;
- scalar scale=mesh().time().deltaT().value()/dataExchangeM().couplingTime();
- ddtVoidfraction_ = fvc::ddt(voidfraction) * scale;
+ // version if ddt is calculated only at coupling time
+ //Info << "calculating ddt(voidfraction) based on couplingTime" << endl;
+ //scalar scale=mesh().time().deltaT().value()/dataExchangeM().couplingTime();
+ //ddtVoidfraction_ = fvc::ddt(voidfraction) * scale;
+
+ ddtVoidfraction_ = fvc::ddt(voidfraction);
}
+/*tmp cfdemCloud::ddtVoidfractionU(volVectorField& U,volScalarField& voidfraction) const
+{
+ if (dataExchangeM().couplingStep() <= 2) return fvm::ddt(U);
+
+ return fvm::ddt(voidfraction,U);
+}*/
+
tmp cfdemCloud::voidfractionNuEff(volScalarField& voidfraction) const
{
if (modelType_=="A")
diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H
index 44e9c477..893a64ec 100644
--- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H
+++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H
@@ -342,6 +342,8 @@ public:
void calcDdtVoidfraction(volScalarField& voidfraction) const;
+ //tmp ddtVoidfractionU(volVectorField& ,volScalarField&) const;
+
tmp voidfractionNuEff(volScalarField&) const;
void resetArray(double**&,int,int,double resetVal=0.);
diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C
index ce4162c0..6b889dfa 100644
--- a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C
+++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C
@@ -53,7 +53,9 @@ cfdemCloudIB::cfdemCloudIB
)
:
cfdemCloud(mesh),
- angularVelocities_(NULL)
+ angularVelocities_(NULL),
+ pRefCell_(readLabel(mesh.solutionDict().subDict("PISO").lookup("pRefCell"))),
+ pRefValue_(readScalar(mesh.solutionDict().subDict("PISO").lookup("pRefValue")))
{}
@@ -146,6 +148,7 @@ void Foam::cfdemCloudIB::calcVelocityCorrection
vector rVec(0,0,0);
vector velRot(0,0,0);
vector angVel(0,0,0);
+
for(int index=0; index< numberOfParticles(); index++)
{
//if(regionM().inRegion()[index][0])
@@ -170,8 +173,17 @@ void Foam::cfdemCloudIB::calcVelocityCorrection
//}
}
- // make field divergence free
- solve(fvm::laplacian(phiIB) == fvc::div(U) + fvc::ddt(voidfraction));
+ // make field divergence free - set reference value in case it is needed
+ fvScalarMatrix phiIBEqn
+ (
+ fvm::laplacian(phiIB) == fvc::div(U) + fvc::ddt(voidfraction)
+ );
+ if(phiIB.needReference())
+ {
+ phiIBEqn.setReference(pRefCell_, pRefValue_);
+ }
+
+ phiIBEqn.solve();
U=U-fvc::grad(phiIB);
U.correctBoundaryConditions();
diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H
index 8492a62c..06756b3d 100644
--- a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H
+++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H
@@ -59,6 +59,8 @@ class cfdemCloudIB
protected:
mutable double **angularVelocities_;
+ label pRefCell_;
+ scalar pRefValue_;
public:
diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C b/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C
index 91e34758..02e15fe2 100644
--- a/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C
+++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C
@@ -144,13 +144,14 @@ void cfdemCloudMS::getDEMdata()
void Foam::cfdemCloudMS::giveDEMdata()
{
- for(int index = 0;index < numberOfClumps(); ++index)
+ /*for(int index = 0;index < numberOfClumps(); ++index)
{
for(int i=0;i<3;i++){
impForcesCM()[index][i] += expForcesCM()[index][i] + DEMForcesCM()[index][i];
}
}
- if(forceM(0).coupleForce()) dataExchangeM().giveData("dragforce","vector-multisphere",impForcesCM());
+ if(forceM(0).coupleForce()) dataExchangeM().giveData("dragforce","vector-multisphere",impForcesCM());*/
+ if(forceM(0).coupleForce()) dataExchangeM().giveData("dragforce_cm","vector-multisphere",DEMForcesCM());
if(verbose_) Info << "giveDEMdata done." << endl;
}
diff --git a/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H b/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H
index 5760c89f..864dd64f 100644
--- a/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H
+++ b/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H
@@ -6,6 +6,8 @@
// choose comp/incomp
//#define comp // if comp is on - you must use Make/options_comp!
+//define multi sphere
+#define multisphere
// features of 2.1 work also in 2.2
#if defined(version22)
diff --git a/src/lagrangian/cfdemParticle/etc/bashrc b/src/lagrangian/cfdemParticle/etc/bashrc
index 456ae3a3..e5e21427 100755
--- a/src/lagrangian/cfdemParticle/etc/bashrc
+++ b/src/lagrangian/cfdemParticle/etc/bashrc
@@ -24,7 +24,7 @@
#export CFDEM_UT_DIR=$CFDEM_PROJECT_DIR/applications/utilities
#export CFDEM_TUT_DIR=$CFDEM_PROJECT_DIR/tutorials
#export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION
-#export CFDEM_bashrc=$CFDEM_SRC_DIR/etc/bashrc
+#export CFDEM_bashrc=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc
#export CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src
#export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic
#export CFDEM_LPP_DIR=$HOME/LIGGGHTS/mylpp/src
@@ -44,7 +44,7 @@ export CFDEM_LIGGGHTS_LIB_NAME=lmp_$CFDEM_LIGGGHTS_MAKEFILE_NAME
export CFDEM_LIB_NAME=lagrangianCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION
#- LMP M2M lib path
-export CFDEM_M2MLIB_PATH=$CFDEM_SRC_DIR/subModels/dataExchangeModel/twoWayM2M/library
+export CFDEM_M2MLIB_PATH=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library
#- path to test harness
export CFDEM_TEST_HARNESS_PATH=$CFDEM_PROJECT_USER_DIR/log/logFilesCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION
@@ -56,7 +56,7 @@ export CFDEM_LIB_DIR=$FOAM_USER_LIBBIN
export CFDEM_APP_DIR=$FOAM_USER_APPBIN
#- path to OF version flag file
-export CFDEM_OFVERSION_DIR=$CFDEM_SRC_DIR/etc/OFversion
+export CFDEM_OFVERSION_DIR=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/OFversion
#------------------------------------------------------------------------------
#- settings for lpp postproc tool
#------------------------------------------------------------------------------
@@ -101,37 +101,40 @@ alias cfdemDox='firefox $CFDEM_DOC_DIR/doxygen/html/index.html'
alias cfdemLIG='cd $CFDEM_LIGGGHTS_SRC_DIR'
#- shortcut to system test
-alias cfdemSysTest='bash $CFDEM_SRC_DIR/etc/cfdemSystemTest.sh'
+alias cfdemSysTest='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh'
#- shortcut to pull LIGGGHTS
-alias cfdemPullLIG='bash $CFDEM_SRC_DIR/etc/pullLIGGGHTS.sh'
+alias cfdemPullLIG='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh'
+
+#- shortcut to pull CFDEMcoupling
+alias cfdemPullCFDEMcoupling='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/pullCFDEMcoupling.sh'
#- shortcut to clean CFDEM
-alias cfdemCleanCFDEM='bash $CFDEM_SRC_DIR/etc/cleanCFDEMcoupling.sh'
+alias cfdemCleanCFDEM='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh'
#- shortcut to compile LIGGGHTS
-alias cfdemCompLIG='bash $CFDEM_SRC_DIR/etc/compileLIGGGHTS.sh'
+alias cfdemCompLIG='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh'
#- shortcut to compile CFDEMcoupling +LIGGGHTS
-alias cfdemCompCFDEMall='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_all.sh'
+alias cfdemCompCFDEMall='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh'
#- shortcut to compile CFDEMcoupling (src+solvers)
-alias cfdemCompCFDEM='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling.sh'
+alias cfdemCompCFDEM='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh'
#- shortcut to compile CFDEMcoupling src
-alias cfdemCompCFDEMsrc='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_src.sh'
+alias cfdemCompCFDEMsrc='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh'
#- shortcut to compile CFDEMcoupling solvers
-alias cfdemCompCFDEMsol='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_sol.sh'
+alias cfdemCompCFDEMsol='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh'
#- shortcut to compile CFDEMcoupling utilities
-alias cfdemCompCFDEMuti='bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_uti.sh'
+alias cfdemCompCFDEMuti='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh'
#- shortcut to compile couple library
-alias cfdemCompM2M='bash $CFDEM_SRC_DIR/etc/compileM2Mlib.sh'
+alias cfdemCompM2M='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileM2Mlib.sh'
#- shortcut to test basic tutorials
-alias cfdemTestTUT='bash $CFDEM_SRC_DIR/etc/testTutorials.sh'
+alias cfdemTestTUT='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/testTutorials.sh'
#- recursive touch of current directory
alias touchRec='find ./* -exec touch {} \;'
diff --git a/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh b/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh
index 6a211c26..9c508c88 100755
--- a/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh
+++ b/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh
@@ -6,7 +6,7 @@
#===================================================================#
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
#- show gcc settings
checkGPP="true"
@@ -18,6 +18,7 @@ echo "*******************"
echo "CFDEM_VERSION=$CFDEM_VERSION"
echo "couple to OF_VERSION=$WM_PROJECT_VERSION"
+echo "compile option=$WM_COMPILE_OPTION"
echo
echo "check if paths are set correctly"
diff --git a/src/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh b/src/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh
index 64d6204e..99008b3c 100644
--- a/src/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh
+++ b/src/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh
@@ -6,7 +6,7 @@
#===================================================================#
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
#================================================================================#
# clean src remove object files
diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh
index e5b047ae..9792a1a4 100755
--- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh
+++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh
@@ -6,26 +6,26 @@
#===================================================================#
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
NOW="$(date +"%Y-%m-%d-%H:%M")"
logDir="log"
-cd $CFDEM_SRC_DIR/etc
+cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc
mkdir -p $logDir
#================================================================================#
# compile src
#================================================================================#
-bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_src.sh
+bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh
#================================================================================#
# compile solvers
#================================================================================#
-bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_sol.sh
+bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh
#================================================================================#
# compile utilities
#================================================================================#
-bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_uti.sh
+bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh
diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh
index fb71d387..f8412166 100755
--- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh
+++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh
@@ -6,21 +6,21 @@
#===================================================================#
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
NOW="$(date +"%Y-%m-%d-%H:%M")"
logDir="log"
-cd $CFDEM_SRC_DIR/etc
+cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc
mkdir -p $logDir
#================================================================================#
# compile LIGGGHTS
#================================================================================#
-bash $CFDEM_SRC_DIR/etc/compileLIGGGHTS.sh
+bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh
#================================================================================#
# compile CFDEMcoupling
#================================================================================#
-bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling.sh
+bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh
diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh
index 5cfb5df8..29388637 100755
--- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh
+++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh
@@ -8,9 +8,9 @@
whitelist="solver-list.txt"
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
logDir="log"
-cd $CFDEM_SRC_DIR/etc
+cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc
mkdir -p $logDir
CWD="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
@@ -19,13 +19,13 @@ NOW="$(date +"%Y-%m-%d-%H:%M")"
echo ""
echo "This routine will compile the solvers specified in solver-list.txt"
echo ""
-echo "Are the variables CFDEM_SOLVER_DIR=$CFDEM_SOLVER_DIR"
-echo "and CFDEM_SRC_DIR=$CFDEM_SRC_DIR correct? (y/n)"
-read YN
-if [ "$YN" != "y" ];then
- echo "Aborted by user."
- exit 1
-fi
+#echo "Are the variables CFDEM_SOLVER_DIR=$CFDEM_SOLVER_DIR"
+#echo "and CFDEM_SRC_DIR=$CFDEM_SRC_DIR/lagrangian/cfdemParticle correct? (y/n)"
+#read YN
+#if [ "$YN" != "y" ];then
+# echo "Aborted by user."
+# exit 1
+#fi
echo ""
echo "Please provide the solvers to be compiled in the $CWD/$whitelist file."
diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh
index 09ec125f..003e65df 100755
--- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh
+++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh
@@ -3,28 +3,63 @@
#===================================================================#
# compile routine for CFDEMcoupling source, part of CFDEMproject
# Christoph Goniva - May. 2012, DCS Computing GmbH
+# update: Stefan Radl (TU Graz, Jan 2014)
#===================================================================#
-
+
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
NOW="$(date +"%Y-%m-%d-%H:%M")"
logDir="log"
-cd $CFDEM_SRC_DIR/etc
+cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc
mkdir -p $logDir
#================================================================================#
# compile src
#================================================================================#
+ whitelist="$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/library-list.txt"
+ echo ""
+ echo "Please provide the libraries to be compiled in the $CWD/$whitelist file."
+
+ if [ ! -f "$CWD/$whitelist" ];then
+ echo "$whitelist does not exist in $CWD. Nothing will be done."
+ NLINES=0
+ COUNT=0
+ else
+ NLINES=`wc -l < $CWD/$whitelist`
+ COUNT=0
+ fi
+
+ while [ $COUNT -lt $NLINES ]
+ do
+ let COUNT++
+ LINE=`head -n $COUNT $CWD/$whitelist | tail -1`
+
+ # white lines
+ if [[ "$LINE" == "" ]]; then
+ echo "compile $LINE"
+ continue
+ # comments
+ elif [[ "$LINE" == \#* ]]; then
+ continue
+ # paths
+ elif [[ "$LINE" == */dir ]]; then
+ echo "will change path..."
+ LINE=$(echo "${LINE%????}")
+ path="$CFDEM_SRC_DIR/$LINE"
+ cd $path
+ #continue
+ fi
+ #--------------------------------------------------------------------------------#
+ #- define variables
+ logpath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")/$logDir"
+ logfileName="log_compileCFDEMcoupling_"$(basename $LINE)""
+ casePath="$path"
+ headerText="$logfileName""-$NOW"
+ #--------------------------------------------------------------------------------#
+ compileLib $logpath $logfileName $casePath $headerText
+ done
-#--------------------------------------------------------------------------------#
-#- define variables
-logpath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")/$logDir"
-logfileName="log_compileCFDEMcoupling_src" #alternative: logfileName="log_compileLIGGGHTS_$NOW"
-casePath="$CFDEM_SRC_DIR"
-headerText="$logfileName""-$NOW"
-#--------------------------------------------------------------------------------#
-compileLib $logpath $logfileName $casePath $headerText
diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh
index 423843fc..8b91bfeb 100644
--- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh
+++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh
@@ -6,13 +6,13 @@
#===================================================================#
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
NOW="$(date +"%Y-%m-%d-%H:%M")"
logDir="log"
-cd $CFDEM_SRC_DIR/etc
+cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc
mkdir -p $logDir
#================================================================================#
diff --git a/src/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh b/src/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh
index 58e3d656..6914f310 100755
--- a/src/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh
+++ b/src/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh
@@ -6,12 +6,12 @@
#===================================================================
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
NOW="$(date +"%Y-%m-%d-%H:%M")"
logDir="log"
-cd $CFDEM_SRC_DIR/etc
+cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc
mkdir -p $logDir
#--------------------------------------------------------------------------------#
diff --git a/src/lagrangian/cfdemParticle/etc/compileM2Mlib.sh b/src/lagrangian/cfdemParticle/etc/compileM2Mlib.sh
index 7cd91b0b..c5875e30 100755
--- a/src/lagrangian/cfdemParticle/etc/compileM2Mlib.sh
+++ b/src/lagrangian/cfdemParticle/etc/compileM2Mlib.sh
@@ -6,12 +6,12 @@
#===================================================================
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
NOW="$(date +"%Y-%m-%d-%H:%M")"
logDir="log"
-cd $CFDEM_SRC_DIR/etc
+cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc
mkdir -p $logDir
#--------------------------------------------------------------------------------#
diff --git a/src/lagrangian/cfdemParticle/etc/controlDict_cgs_2.2.x b/src/lagrangian/cfdemParticle/etc/controlDict_cgs_2.2.x
new file mode 100644
index 00000000..2922de2b
--- /dev/null
+++ b/src/lagrangian/cfdemParticle/etc/controlDict_cgs_2.2.x
@@ -0,0 +1,1031 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| ========= | |
+| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
+| \\ / O peration | Version: 2.2.1 |
+| \\ / A nd | Web: www.OpenFOAM.org |
+| \\/ M anipulation | |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ object controlDict;
+}
+
+// NB: the #functions do not work here
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+Documentation
+{
+ docBrowser "firefox %f";
+ doxyDocDirs
+ (
+ "$WM_PROJECT_USER_DIR/html"
+ "~OpenFOAM/html"
+ "$WM_PROJECT_DIR/doc/Doxygen/html"
+ );
+ doxySourceFileExts
+ (
+ "App_8C.html"
+ "_8C.html"
+ );
+}
+
+
+InfoSwitches
+{
+ writePrecision 6;
+ writeJobInfo 0;
+ writeDictionaries 0;
+
+ // Allow case-supplied C++ code (#codeStream, codedFixedValue)
+ allowSystemOperations 0;
+}
+
+
+OptimisationSwitches
+{
+ // On NFS mounted file system: maximum wait for files to appear/get
+ // updated. Set to 0 on distributed case.
+ fileModificationSkew 30;
+
+ //- Modification checking:
+ // - timeStamp : use modification time on file
+ // - inotify : use inotify framework
+ // - timeStampMaster : do time stamp (and file reading) only on master.
+ // - inotifyMaster : do inotify (and file reading) only on master.
+ fileModificationChecking timeStampMaster;//inotify;timeStamp;inotifyMaster;
+
+ commsType nonBlocking; //scheduled; //blocking;
+ floatTransfer 0;
+ nProcsSimpleSum 0;
+
+ // Force dumping (at next timestep) upon signal (-1 to disable)
+ writeNowSignal -1; //10;
+ // Force dumping (at next timestep) upon signal (-1 to disable) and exit
+ stopAtWriteNowSignal -1;
+}
+
+
+DebugSwitches
+{
+ Analytical 0;
+ APIdiffCoefFunc 0;
+ Ar 0;
+ BICCG 0;
+ BirdCarreau 0;
+ C10H22 0;
+ C12H26 0;
+ C13H28 0;
+ C14H30 0;
+ C16H34 0;
+ C2H5OH 0;
+ C2H6 0;
+ C2H6O 0;
+ C3H6O 0;
+ C3H8 0;
+ C4H10O 0;
+ C6H14 0;
+ C6H6 0;
+ C7H16 0;
+ C7H8 0;
+ C8H10 0;
+ C8H18 0;
+ C9H20 0;
+ CH3OH 0;
+ CH4N2O 0;
+ CarnahanStarling 0;
+ CallbackRegistry 0;
+ CentredFitData 0;
+ CentredFitData 0;
+ CentredFitData 0;
+ CentredFitData 0;
+ ChomiakInjector 0;
+ Cloud 0;
+ Cloud 0;
+ Cloud 0;
+ Cloud 0;
+ Cloud 0;
+ Cloud 0;
+ Cloud 0;
+ CoEuler 0;
+ CompositionModel 0;
+ ConeInjection 0;
+ Constant 0;
+ ConstantRateDevolatilisation 0;
+ CrankNicolson 0;
+ CrossPowerLaw 0;
+ Cs 0;
+ DIC 0;
+ DICGaussSeidel 0;
+ DILU 0;
+ DILUGaussSeidel 0;
+ DataEntry 0;
+ DeardorffDiffStress 0;
+ DispersionModel 0;
+ DispersionRASModel 0;
+ DragModel 0;
+ ETAB 0;
+ Ergun 0;
+ Euler 0;
+ EulerImplicit 0;
+ EulerRotation 0;
+ extendedCellToFaceStencil 0;
+ FDIC 0;
+ FaceCellWave 0;
+ GAMG 0;
+ GAMGAgglomeration 0;
+ GAMGInterface 0;
+ GAMGInterfaceField 0;
+ Gamma 0;
+ Gamma01 0;
+ GammaV 0;
+ Gauss 0;
+ GaussSeidel 0;
+ Gibilaro 0;
+ Gidaspow 0;
+ GidaspowErgunWenYu 0;
+ GidaspowSchillerNaumann 0;
+ GradientDispersionRAS 0;
+ Gulders 0;
+ GuldersEGR 0;
+ H2O 0;
+ HashTable 0;
+ HeatTransferModel 0;
+ HerschelBulkley 0;
+ HrenyaSinclair 0;
+ IC8H18 0;
+ ICCG 0;
+ IDDESDelta 0;
+ IDEA 0;
+ IFstream 0;
+ IOMap 0;
+ IOPtrList 0;
+ IOPtrList 0;
+ IOPtrList 0;
+ IOPtrList 0;
+ IOobject 0;
+ InjectionModel 0;
+ IntegrationScheme 0;
+ JohnsonJackson 0;
+ KRR4 0;
+ KinematicCloud 0;
+ KinematicCloud 0;
+ KinematicCloud 0;
+ KinematicParcel 0;
+ KinematicParcel 0;
+ LESModel 0;
+ LESdelta 0;
+ LESfilter 0;
+ LISA 0;
+ LRR 0;
+ LRRDiffStress 0;
+ LamBremhorstKE 0;
+ LaunderGibsonRSTM 0;
+ LaunderSharmaKE 0;
+ LienCubicKE 0;
+ LienCubicKELowRe 0;
+ LienLeschzinerLowRe 0;
+ MB 0;
+ MC 0;
+ MCV 0;
+ MUSCL 0;
+ MUSCL01 0;
+ MUSCLV 0;
+ ManualInjection 0;
+ MarshakRadiation 0;
+ MarshakRadiationFixedT 0;
+ MassTransferModel 0;
+ MeshWave 0;
+ Minmod 0;
+ MinmodV 0;
+ N2 0;
+ NSRDSfunc0 0;
+ NSRDSfunc1 0;
+ NSRDSfunc14 0;
+ NSRDSfunc2 0;
+ NSRDSfunc3 0;
+ NSRDSfunc4 0;
+ NSRDSfunc5 0;
+ NSRDSfunc6 0;
+ NSRDSfunc7 0;
+ Newtonian 0;
+ NoDispersion 0;
+ NoDrag 0;
+ NoHeatTransfer 0;
+ NoInjection 0;
+ NoMassTransfer 0;
+ NoSurfaceReaction 0;
+ NonlinearKEShih 0;
+ ODE 0;
+ ODESolver 0;
+ OFstream 0;
+ ORourke 0;
+ OSPRE 0;
+ OSPREV 0;
+ P1 0;
+ PBiCG 0;
+ PCG 0;
+ PackedList 0;
+ ParSortableList 0;
+ PatchToPatchInterpolation 0;
+ Phi 0;
+ PointEdgeWave 0;
+ POSIX 0;
+ Prandtl 0;
+ PrimitivePatch 0;
+ Pstream 0;
+ QUICK 0;
+ QUICKV 0;
+ QZeta 0;
+ RASModel 0;
+ RK 0;
+ RNGkEpsilon 0;
+ RanzMarshall 0;
+ ReactingCloud 0;
+ ReactingParcel 0;
+ Rebound 0;
+ ReitzDiwakar 0;
+ ReitzKHRT 0;
+ RosinRammler 0;
+ RutlandFlashBoil 0;
+ SDA 0;
+ SFCD 0;
+ SFCDV 0;
+ SHF 0;
+ SIBS 0;
+ SKA 0;
+ SLTS 0;
+ SRFModel 0;
+ SRFVelocity 0;
+ STARCDRotation 0;
+ Schaeffer 0;
+ SchillerNaumann 0;
+ SinclairJackson 0;
+ SingleKineticRateDevolatilisation 0;
+ SingleMixtureFraction 0;
+ Smagorinsky 0;
+ SolverPerformance 1;
+ SpalartAllmaras 0;
+ SpalartAllmarasDDES 0;
+ SpalartAllmarasIDDES 0;
+ SphereDrag 0;
+ StandardWallInteraction 0;
+ StaticHashTable 0;
+ StochasticDispersionRAS 0;
+ SuperBee 0;
+ SuperBeeV 0;
+ SurfaceReactionModel 0;
+ Syamlal 0;
+ SyamlalOBrien 0;
+ SyamlalRogersOBrien 0;
+ TAB 0;
+ Table 0;
+ ThermoCloud 0;
+ ThermoCloud 0;
+ ThermoParcel 0;
+ ThermoParcel 0;
+ UMIST 0;
+ UMISTV 0;
+ UpwindFitData 0;
+ UpwindFitData 0;
+ UpwindFitData 0;
+ WallInteractionModel 0;
+ WenYu 0;
+ aC11H10 0;
+ absorptionEmissionModel 0;
+ addCell 0;
+ addFace 0;
+ addPatchCellLayer 0;
+ addPoint 0;
+ advective 0;
+ algebraicPair 0;
+ alphaContactAngle 0;
+ alphaFixedPressure 0;
+ alphatWallFunction 0;
+ angularOscillatingDisplacement 0;
+ angularOscillatingVelocity 0;
+ anisotropic 0;
+ ash 0;
+ atomizationModel 0;
+ attachDetach 0;
+ autoDensity 0;
+ autoHexMeshDriver 0;
+ autoLayerDriver 0;
+ autoRefineDriver 0;
+ autoSnapDriver 0;
+ bC11H10 0;
+ backgroundMeshDecomposition 0;
+ backward 0;
+ basePatch 0;
+ basicKinematicCloud 0;
+ basicKinematicParcel 0;
+ basicMixture 0;
+ basicReactingCloud 0;
+ basicReactingParcel 0;
+ fluidThermo 0;
+ fluidThermoCloud 0;
+ fluidThermoParcel 0;
+ biLinearFit 0;
+ binaryAbsorptionEmission 0;
+ blended 0;
+ blobsSheetAtomization 0;
+ blobsSwirlInjector 0;
+ booleanSurface 0;
+ boundaryCutter 0;
+ boundaryMesh 0;
+ boundaryToFace 0;
+ boundedBackward 0;
+ boxToCell 0;
+ boxToFace 0;
+ boxToPoint 0;
+ breakupModel 0;
+ calculated 0;
+ cell 0;
+ cellClassification 0;
+ cellCuts 0;
+ cellDistFuncs 0;
+ cellLimited 0;
+ cellList 0;
+ cellLooper 0;
+ cellMDLimited 0;
+ cellMotion 0;
+ cellPoint 0;
+ cellPointFace 0;
+ cellPointWeight 0;
+ cellSet 0;
+ cellSizeControlSurfaces 0;
+ cellToCell 0;
+ cellToFace 0;
+ cellToPoint 0;
+ cellZone 0;
+ centredCECStencil 0;
+ centredCFCStencil 0;
+ chemistryReader 0;
+ chemistrySolver 0;
+ chemkinReader 0;
+ clippedLinear 0;
+ cloud 0;
+ cloudAbsorptionEmission 0;
+ cloudScatter 0;
+ collisionModel 0;
+ combineFaces 0;
+ commSchedule 0;
+ commonRailInjector 0;
+ compound 0;
+ constInjector 0;
+ constant 0;
+ constantAbsorptionEmission 0;
+ constantAlphaContactAngle 0;
+ constantScatter 0;
+ coordinateRotation 0;
+ coordinateSystem 0;
+ coordinateSystems 0;
+ corrected 0;
+ coupled 0;
+ cubeRootVol 0;
+ cubic 0;
+ cubicUpwindFit 0;
+ curve 0;
+ cyclic 0;
+ cyclicLduInterface 0;
+ cyclicLduInterfaceField 0;
+ cylinderToCell 0;
+ cylindrical 0;
+ decompositionMethod 0;
+ definedHollowConeInjector 0;
+ definedInjector 0;
+ definedPressureSwirlInjector 0;
+ diagTensorField 0;
+ diagonal 0;
+ dictionary 0;
+ dimensionSet 1;
+ mappedBase 0;
+ mappedPatch 0;
+ mappedVelocityFlux 0;
+ directionMixed 0;
+ directional 0;
+ disallowGenericFvPatchField 0;
+ disallowGenericPointPatchField 0;
+ disallowGenericPolyPatch 0;
+ dispersionLESModel 0;
+ dispersionModel 0;
+ dispersionRASModel 0;
+ displacementComponentLaplacian 0;
+ displacementInterpolation 0;
+ displacementLaplacian 0;
+ displacementSBRStress 0;
+ distanceSurface 0;
+ Distribution 0;
+ downwind 0;
+ dragModel 0;
+ duplicatePoints 0;
+ dx 0;
+ dynMixedSmagorinsky 0;
+ dynOneEqEddy 0;
+ dynSmagorinsky 0;
+ dynamicAlphaContactAngle 0;
+ dynamicFvMesh 0;
+ dynamicInkJetFvMesh 0;
+ dynamicMotionSolverFvMesh 0;
+ dynamicRefineFvMesh 0;
+ edgeIntersections 0;
+ edgeList 0;
+ edgeSurface 0;
+ empty 0;
+ engineMesh 0;
+ enrichedPatch 0;
+ epsilonWallFunction 0;
+ errorDrivenRefinement 0;
+ evaporationModel 0;
+ exponential 0;
+ extendedLeastSquares 0;
+ extendedLeastSquaresVectors 0;
+ face 0;
+ faceAreaPair 0;
+ faceCoupleInfo 0;
+ faceLimited 0;
+ faceList 0;
+ faceMDLimited 0;
+ faceSet 0;
+ faceToCell 0;
+ faceToFace 0;
+ faceToPoint 0;
+ faceZone 0;
+ fan 0;
+ featureEdgeMesh 0;
+ fieldToCell 0;
+ file 0;
+ fileName 2;
+ filteredLinear 0;
+ filteredLinear2 0;
+ filteredLinear2V 0;
+ filteredLinear3 0;
+ filteredLinear3V 0;
+ fixedEnthalpy 0;
+ buoyantPressure 0;
+ fixedFluxBoussinesqBuoyantPressure 0;
+ fixedFluxPressure 0;
+ fixedGradient 0;
+ fixedInternalEnergy 0;
+ fixedInternalValue 0;
+ fixedNormalSlip 0;
+ fixedPressureCompressibleDensity 0;
+ fixedUnburntEnthalpy 0;
+ fixedValue 0;
+ flowRateInletVelocity 0;
+ fluxCorrectedVelocity 0;
+ foamChemistryReader 0;
+ foamFile 0;
+ forceCoeffs 0;
+ forces 0;
+ fourth 0;
+ freestream 0;
+ freestreamPressure 0;
+ frictionalStressModel 0;
+ functionObject 0;
+ fv 0;
+ fvMesh 0;
+ fvMeshDistribute 0;
+ fvMotionSolver 0;
+ fvPatchField 0;
+ fvScalarMatrix 0;
+ fvSchemes 0;
+ fvSphericalTensorMatrix 0;
+ fvSymmTensorMatrix 0;
+ fvTensorMatrix 0;
+ fvVectorMatrix 0;
+ fvsPatchField 0;
+ general 0;
+ generic 0;
+ genericPatch 0;
+ geomCellLooper 0;
+ geometricSurfacePatch 0;
+ global 0;
+ globalIndexAndTransform 0;
+ globalMeshData 0;
+ globalPoints 0;
+ gnuplot 0;
+ gradientDispersionRAS 0;
+ gradientEnthalpy 0;
+ gradientInternalEnergy 0;
+ gradientUnburntEnthalpy 0;
+ granularPressureModel 0;
+ hCombustionThermo 0;
+ hMixtureThermo>>>> 0;
+ hMixtureThermo>>>> 0;
+ hMixtureThermo>>>> 0;
+ hMixtureThermo>>>> 0;
+ hMixtureThermo>>>> 0;
+ hMixtureThermo 0;
+ hMixtureThermo>>>> 0;
+ hMixtureThermo>>>> 0;
+ hThermo>>>> 0;
+ hThermo>>>> 0;
+ hThermo>>>> 0;
+ harmonic 0;
+ heatTransferModel 0;
+ hexCellLooper 0;
+ hexRef8 0;
+ hhuCombustionThermo 0;
+ hhuMixtureThermo>>>> 0;
+ hhuMixtureThermo>>>> 0;
+ hhuMixtureThermo>>>> 0;
+ hhuMixtureThermo>>>> 0;
+ hhuMixtureThermo>>>> 0;
+ hhuMixtureThermo>>>> 0;
+ hhuMixtureThermo>>>> 0;
+ hhuMixtureThermo>>>> 0;
+ hierarchical 0;
+ hollowConeInjector 0;
+ iC3H8O 0;
+ indexedOctree 0;
+ indexedParticle 0;
+ injectorModel 0;
+ injectorType 0;
+ inletOutlet 0;
+ inletOutletTotalTemperature 0;
+ interfaceCompression 0;
+ intersectedSurface 0;
+ inverseDistance 0;
+ inverseFaceDistance 0;
+ inversePointDistance 0;
+ inverseVolume 0;
+ isoSurface 0;
+ isoSurfaceCell 0;
+ jplot 0;
+ jumpCyclic 0;
+ kEpsilon 0;
+ kOmega 0;
+ kOmegaSST 0;
+ kOmegaSSTSAS 0;
+ kqRWallFunction 0;
+ kinematicCloud 0;
+ labelField 0;
+ labelList 0;
+ labelListList 0;
+ labelToCell 0;
+ labelToFace 0;
+ labelToPoint 0;
+ laminar 0;
+ laminarFlameSpeed 0;
+ laplace 0;
+ layerAdditionRemoval 0;
+ layered 0;
+ lduInterface 0;
+ lduInterfaceField 0;
+ lduMatrix 1;
+ lduMesh 0;
+ leastSquares 0;
+ leastSquaresVectors 0;
+ level 2;
+ limitWith 0;
+ limited 0;
+ limitedCubic 0;
+ limitedCubic01 0;
+ limitedCubicV 0;
+ limitedGamma 0;
+ limitedLimitedCubic 0;
+ limitedLimitedLinear 0;
+ limitedLinear 0;
+ limitedLinear01 0;
+ limitedLinearV 0;
+ limitedMUSCL 0;
+ limitedSurfaceInterpolationScheme 0;
+ limitedVanLeer 0;
+ linear 0;
+ linearFit 0;
+ linearUpwind 0;
+ linearUpwindV 0;
+ liquid 0;
+ locDynOneEqEddy 0;
+ localBlended 0;
+ localMax 0;
+ localMin 0;
+ localPointRegion 0;
+ lowReOneEqEddy 0;
+ manual 0;
+ meshCutAndRemove 0;
+ meshCutter 0;
+ meshModifier 0;
+ meshRefinement 0;
+ meshSearch 0;
+ meshToMesh 0;
+ metis 0;
+ midPoint 0;
+ midPointAndFace 0;
+ mixed 0;
+ mixedEnthalpy 0;
+ mixedInternalEnergy 0;
+ mixedSmagorinsky 0;
+ mixedUnburntEnthalpy 0;
+ mixerFvMesh 0;
+ modifyCell 0;
+ modifyFace 0;
+ modifyPoint 0;
+ motionDiffusivity 0;
+ motionDirectional 0;
+ motionSmoother 0;
+ motionSolver 0;
+ movingConeTopoFvMesh 0;
+ movingWallVelocity 0;
+ muSgsSpalartAllmarasWallFunction 0;
+ multiDirRefinement 0;
+ multiHoleInjector 0;
+ multiLevel 0;
+ multivariateSelection 0;
+ mutRoughWallFunction 0;
+ mutSpalartAllmarasStandardRoughWallFunction 0;
+ mutSpalartAllmarasStandardWallFunction 0;
+ mutSpalartAllmarasWallFunction 0;
+ mutWallFunction 0;
+ nC3H8O 0;
+ nbrToCell 0;
+ nearestToCell 0;
+ nearestToPoint 0;
+ noAbsorptionEmission 0;
+ noDragModel 0;
+ noRadiation 0;
+ none 0;
+ normal 0;
+ normalToFace 0;
+ nuSgsSpalartAllmarasWallFunction 0;
+ nutRoughWallFunction 0;
+ nutSpalartAllmarasStandardRoughWallFunction 0;
+ nutSpalartAllmarasStandardWallFunction 0;
+ nutSpalartAllmarasWallFunction 0;
+ nutWallFunction 0;
+ obj 0;
+ objectRegistry 0;
+ off 0;
+ omegaWallFunction 0;
+ oneEqEddy 0;
+ orientedSurface 0;
+ oscillatingDisplacement 0;
+ oscillatingFixedValue 0;
+ oscillatingVelocity 0;
+ outletInlet 0;
+ outletStabilised 0;
+ pair 0;
+ parabolicCylindrical 0;
+ parcel 0;
+ partialSlip 0;
+ passiveParticle 0;
+ patch 0;
+ patchToFace 0;
+ patchZones 0;
+ pdf 0;
+ perfectInterface 0;
+ pointIndexHitList 0;
+ pointPatchField 0;
+ pointScalarField 0;
+ pointScalarField::DimensionedInternalField 0;
+ pointSet 0;
+ pointSphericalTensorField 0;
+ pointSphericalTensorField::DimensionedInternalField 0;
+ pointSymmTensorField 0;
+ pointSymmTensorField::DimensionedInternalField 0;
+ pointTensorField 0;
+ pointTensorField::DimensionedInternalField 0;
+ pointToCell 0;
+ pointToFace 0;
+ pointToPoint 0;
+ pointVectorField 0;
+ pointVectorField::DimensionedInternalField 0;
+ pointZone 0;
+ polyBoundaryMesh 0;
+ polyMesh 0;
+ polyMeshGeometry 0;
+ polyMeshInfo 0;
+ polyTopoChange 0;
+ polyTopoChanger 0;
+ powerLaw 0;
+ pressureDirectedInletOutletVelocity 0;
+ pressureDirectedInletVelocity 0;
+ pressureInletOutletVelocity 0;
+ pressureInletUniformVelocity 0;
+ pressureInletVelocity 0;
+ pressureNormalInletOutletVelocity 0;
+ pressureSwirlInjector 0;
+ primitiveMesh 0;
+ primitiveMeshGeometry 0;
+ probes 0;
+ processor 0;
+ processorLduInterface 0;
+ processorLduInterfaceField 0;
+ pureMixture>>> 0;
+ pureMixture>>> 0;
+ pureMixture>>> 0;
+ quadratic 0;
+ quadraticFit 0;
+ quadraticLinearFit 0;
+ quadraticLinearUpwindFit 0;
+ quadraticUpwindFit 0;
+ radiationModel 0;
+ raw 0;
+ reactingCloud 0;
+ reaction 0;
+ realizableKE 0;
+ refinementHistory 0;
+ refinementIterator 0;
+ reflect 0;
+ regIOobject 0;
+ regionSplit 0;
+ regionToCell 0;
+ remove 0;
+ removeCell 0;
+ removeCells 0;
+ removeFace 0;
+ removeFaces 0;
+ removePoint 0;
+ removePoints 0;
+ reverseLinear 0;
+ rotatedBoxToCell 0;
+ rotatingPressureInletOutletVelocity 0;
+ rotatingTotalPressure 0;
+ sampledPatch 0;
+ sampledPlane 0;
+ sampledSet 0;
+ sampledSurface 0;
+ saturateEvaporationModel 0;
+ scalarAverageField 0;
+ scalarField 0;
+ scalarRange 0;
+ scaleSimilarity 0;
+ scatterModel 0;
+ searchableBox 0;
+ searchableSurface 0;
+ sequential 0;
+ setUpdater 0;
+ sets 0;
+ shapeList 0;
+ shapeToCell 0;
+ simple 0;
+ sixDoFRigidBodyMotionConstraint 0;
+ skewCorrected 0;
+ skewCorrectionVectors 0;
+ sliced 0;
+ slidingInterface 0;
+ slip 0;
+ smooth 0;
+ smoothSolver 0;
+ solid 0;
+ solidBodyMotionFunction 0;
+ solidBodyMotionFvMesh 0;
+ solution 0;
+ spectEddyVisc 0;
+ sphereToCell 0;
+ spherical 0;
+ sphericalTensorAverageField 0;
+ sphericalTensorField 0;
+ standardDragModel 0;
+ standardEvaporationModel 0;
+ staticFvMesh 0;
+ steadyState 0;
+ stl 0;
+ string 0;
+ stochasticDispersionRAS 0;
+ supersonicFreestream 0;
+ surfaceFeatures 0;
+ surfaceInterpolation 0;
+ surfaceInterpolationScheme 0;
+ surfaceIntersection 0;
+ surfaceNormalFixedValue 0;
+ surfacePatch 0;
+ surfacePatchIOList 0;
+ surfaceScalarField 0;
+ surfaceScalarField::DimensionedInternalField 0;
+ surfaceSlipDisplacement 0;
+ surfaceSphericalTensorField 0;
+ surfaceSphericalTensorField::DimensionedInternalField 0;
+ surfaceSymmTensorField 0;
+ surfaceSymmTensorField::DimensionedInternalField 0;
+ surfaceTensorField 0;
+ surfaceTensorField::DimensionedInternalField 0;
+ surfaceToCell 0;
+ surfaceToPoint 0;
+ surfaceVectorField 0;
+ surfaceVectorField::DimensionedInternalField 0;
+ surfaceWriter 0;
+ surfaces 0;
+ swirlInjector 0;
+ symmTensorAverageField 0;
+ symmTensorField 0;
+ symmetryPlane 0;
+ syringePressure 0;
+ tensorAverageField 0;
+ tensorField 0;
+ tetDecomposedPolyMesh 0;
+ thermoCloud 0;
+ thermophysicalFunction 0;
+ time 0;
+ timeVaryingAlphaContactAngle 0;
+ timeVaryingFlowRateInletVelocity 0;
+ timeVaryingMappedFixedValue 0;
+ timeVaryingTotalPressure 0;
+ timeVaryingUniformFixedValue 0;
+ timer 0;
+ topoAction 0;
+ topoCellLooper 0;
+ topoChangerFvMesh 0;
+ topoSet 0;
+ topoSetSource 0;
+ toroidal 0;
+ totalPressure 0;
+ totalTemperature 0;
+ trackedParticle 0;
+ trajectory 0;
+ transform 0;
+ treeDataCell 0;
+ treeDataFace 0;
+ treeDataTriSurface 0;
+ treeLeaf 0;
+ treeNode 0;
+ triSurface 0;
+ triSurfaceMesh 0;
+ turbulenceModel 0;
+ turbulentHeatFluxTemperature 0;
+ turbulentInlet 0;
+ turbulentIntensityKineticEnergyInlet 0;
+ turbulentMixingLengthDissipationRateInlet 0;
+ turbulentMixingLengthFrequencyInlet 0;
+ uncorrected 0;
+ undoableMeshCutter 0;
+ uniform 0;
+ uniformFixedValue 0;
+ unitInjector 0;
+ upwind 0;
+ upwindCFCStencil 0;
+ value 0;
+ vanAlbada 0;
+ vanAlbadaV 0;
+ vanDriest 0;
+ vanLeer 0;
+ vanLeer01 0;
+ vanLeerV 0;
+ vector2DField 0;
+ vectorAverageField 0;
+ vectorField 0;
+ velocityComponentLaplacian 0;
+ velocityLaplacian 0;
+ viscosityModel 0;
+ volPointInterpolation 0;
+ volScalarField 0;
+ volScalarField::DimensionedInternalField 0;
+ volSphericalTensorField 0;
+ volSphericalTensorField::DimensionedInternalField 0;
+ volSymmTensorField 0;
+ volSymmTensorField::DimensionedInternalField 0;
+ volTensorField 0;
+ volTensorField::DimensionedInternalField 0;
+ volVectorField 0;
+ volVectorField::DimensionedInternalField 0;
+ vtk 0;
+ walkPatch 0;
+ wall 0;
+ wallHeatTransfer 0;
+ wallLayerCells 0;
+ wallModel 0;
+ warnUnboundedGauss 1;
+ waveTransmissive 0;
+ wedge 0;
+ weighted 0;
+ word 2;
+ writer 0;
+ xmgr 0;
+ zeroGradient 0;
+ zoneToCell 0;
+ zoneToFace 0;
+ zoneToPoint 0;
+}
+
+
+DimensionedConstants
+{
+ unitSet CGS; // SI; // USCS
+
+ SICoeffs
+ {
+ universal
+ {
+ c c [ 0 1 -1 0 0 0 0 ] 2.99792e+08;
+ G G [ -1 3 -2 0 0 0 0 ] 6.67429e-11;
+ h h [ 1 2 -1 0 0 0 0 ] 6.62607e-34;
+ }
+ electromagnetic
+ {
+ e e [ 0 0 1 0 0 1 0 ] 1.60218e-19;
+ }
+ atomic
+ {
+ me me [ 1 0 0 0 0 0 0 ] 9.10938e-31;
+ mp mp [ 1 0 0 0 0 0 0 ] 1.67262e-27;
+ }
+ physicoChemical
+ {
+ mu mu [ 1 0 0 0 0 0 0 ] 1.66054e-27;
+ k k [ 1 2 -2 -1 0 0 0 ] 1.38065e-23;
+ }
+ standard
+ {
+ //- Standard pressure [Pa]
+ Pstd Pstd [ 1 -1 -2 0 0 0 0 ] 100000;
+ //- Standard temperature [degK]
+ Tstd Tstd [ 0 0 0 1 0 0 0 ] 298.15;
+ }
+ }
+ USCSCoeffs
+ {
+ universal
+ {
+ c c [ 0 1 -1 0 0 0 0 ] 9.83558e+08;
+ G G [ -1 3 -2 0 0 0 0 ] 1.06909e-09;
+ h h [ 1 2 -1 0 0 0 0 ] 1.57234e-32;
+ }
+ electromagnetic
+ {
+ e e [ 0 0 1 0 0 1 0 ] 1.60218e-19;
+ }
+ atomic
+ {
+ me me [ 1 0 0 0 0 0 0 ] 2.00825e-30;
+ mp mp [ 1 0 0 0 0 0 0 ] 3.68746e-27;
+ }
+ physicoChemical
+ {
+ mu mu [ 1 0 0 0 0 0 0 ] 3.66083e-27;
+ k k [ 1 2 -2 -1 0 0 0 ] 1.82012e-22;
+ }
+ standard
+ {
+ //- Standard pressure [lbm/ft^2]
+ Pstd Pstd [ 1 -1 -2 0 0 0 0 ] 2088.6;
+ //- Standard temperature [degR]
+ Tstd Tstd [ 0 0 0 1 0 0 0 ] 536.67;
+ }
+ }
+}
+
+
+DimensionSets
+{
+ unitSet SI; // USCS
+
+ SICoeffs
+ {
+ // Basic units
+ kg kg [ 1 0 0 0 0 0 0 ] 1.0;
+ m m [ 0 1 0 0 0 0 0 ] 1.0;
+ s s [ 0 0 1 0 0 0 0 ] 1.0;
+ K K [ 0 0 0 1 0 0 0 ] 1.0;
+ mol mol [ 0 0 0 0 1 0 0 ] 1.0;
+ A A [ 0 0 0 0 0 1 0 ] 1.0;
+ Cd Cd [ 0 0 0 0 0 0 1 ] 1.0;
+
+ // Derived units
+ Hz Hz [ s^-1 ] 1.0;
+ N N [ kg m s^-2 ] 1.0;
+ Pa Pa [ N m^-2 ] 1.0;
+ J J [ N m ] 1.0;
+ W W [ J s^-1 ] 1.0;
+
+ // Some non-symbolic ones
+ area area [m^2] 1.0;
+ volume volume [m^3] 1.0;
+ density density [ kg m^-3 ] 1.0;
+ acceleration acceleration [ m s^-2 ] 1.0;
+ kinematicPressure kinematicPressure [ Pa density^-1 ] 1.0;
+
+ // Scaled units. Only allowed in dimensionedType (dimensionedScalar,
+ // dimensionedVector etc.) and UniformDimensionedField, not
+ // in DimensionedField or GeometricField
+ cm cm [ m ] 1e-2;
+ mm mm [ m ] 1e-3;
+ km km [ m ] 1e3;
+
+ // Set of units used for printing. Can be any basic or derived
+ // but not scaled (only supported for dimensionedScalar, etc)
+ //writeUnits (kg m s K mol A Cd);
+ }
+
+ USCSCoeffs
+ {
+ // Basic units
+ lb lb [ 1 0 0 0 0 0 0 ] 1.0;
+ ft ft [ 0 1 0 0 0 0 0 ] 1.0;
+ s s [ 0 0 1 0 0 0 0 ] 1.0;
+ R R [ 0 0 0 1 0 0 0 ] 1.0;
+ mol mol [ 0 0 0 0 1 0 0 ] 1.0;
+ A A [ 0 0 0 0 0 1 0 ] 1.0;
+ Cd Cd [ 0 0 0 0 0 0 1 ] 1.0;
+
+ // Set of units used for printing. Can be any basic or derived
+ // but not scaled (only supported for dimensionedScalar, etc)
+ //writeUnits (lb ft s R mol A Cd);
+ }
+}
+
+
+
+// ************************************************************************* //
diff --git a/src/lagrangian/cfdemParticle/etc/cshrc b/src/lagrangian/cfdemParticle/etc/cshrc
index dc314a16..0e30c683 100755
--- a/src/lagrangian/cfdemParticle/etc/cshrc
+++ b/src/lagrangian/cfdemParticle/etc/cshrc
@@ -24,7 +24,7 @@
#setenv CFDEM_UT_DIR $CFDEM_PROJECT_DIR/applications/utilities
#setenv CFDEM_TUT_DIR $CFDEM_PROJECT_DIR/tutorials
#setenv CFDEM_PROJECT_USER_DIR $HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION
-#setenv CFDEM_bashrc $CFDEM_SRC_DIR/etc/cshrc
+#setenv CFDEM_bashrc $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cshrc
#setenv CFDEM_LIGGGHTS_SRC_DIR $HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src
#setenv CFDEM_LIGGGHTS_MAKEFILE_NAME fedora_fpic
#setenv CFDEM_LPP_DIR $HOME/LIGGGHTS/mylpp/src
@@ -44,7 +44,7 @@ setenv CFDEM_LIGGGHTS_LIB_NAME lmp_$CFDEM_LIGGGHTS_MAKEFILE_NAME
setenv CFDEM_LIB_NAME lagrangianCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION
#- LMP M2M lib path
-setenv CFDEM_M2MLIB_PATH $CFDEM_SRC_DIR/subModels/dataExchangeModel/twoWayM2M/library
+setenv CFDEM_M2MLIB_PATH $CFDEM_SRC_DIR/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library
#- path to test harness
setenv CFDEM_TEST_HARNESS_PATH $CFDEM_PROJECT_USER_DIR/log/logFilesCFDEM-$CFDEM_VERSION-$WM_PROJECT_VERSION
@@ -99,37 +99,40 @@ alias cfdemDox 'firefox $CFDEM_DOC_DIR/doxygen/html/index.html'
alias cfdemLIG 'cd $CFDEM_LIGGGHTS_SRC_DIR'
#- shortcut to system test
-alias cfdemSysTest 'bash $CFDEM_SRC_DIR/etc/cfdemSystemTest.sh'
+alias cfdemSysTest 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh'
#- shortcut to pull LIGGGHTS
-alias cfdemPullLIG 'bash $CFDEM_SRC_DIR/etc/pullLIGGGHTS.sh'
+alias cfdemPullLIG 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh'
+
+#- shortcut to pull CFDEMcoupling
+alias cfdemPullCFDEMcoupling 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/pullCFDEMcoupling.sh'
#- shortcut to clean CFDEM
-alias cfdemCleanCFDEM 'bash $CFDEM_SRC_DIR/etc/cleanCFDEMcoupling.sh'
+alias cfdemCleanCFDEM 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cleanCFDEMcoupling.sh'
#- shortcut to compile LIGGGHTS
-alias cfdemCompLIG 'bash $CFDEM_SRC_DIR/etc/compileLIGGGHTS.sh'
+alias cfdemCompLIG 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh'
#- shortcut to compile CFDEMcoupling +LIGGGHTS
-alias cfdemCompCFDEMall 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_all.sh'
+alias cfdemCompCFDEMall 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh'
#- shortcut to compile CFDEMcoupling (src+solvers)
-alias cfdemCompCFDEM 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling.sh'
+alias cfdemCompCFDEM 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh'
#- shortcut to compile CFDEMcoupling src
-alias cfdemCompCFDEMsrc 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_src.sh'
+alias cfdemCompCFDEMsrc 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh'
#- shortcut to compile CFDEMcoupling solvers
-alias cfdemCompCFDEMsol 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_sol.sh'
+alias cfdemCompCFDEMsol 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh'
#- shortcut to compile CFDEMcoupling utilities
-alias cfdemCompCFDEMuti 'bash $CFDEM_SRC_DIR/etc/compileCFDEMcoupling_uti.sh'
+alias cfdemCompCFDEMuti 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh'
#- shortcut to compile couple library
-alias cfdemCompM2M 'bash $CFDEM_SRC_DIR/etc/compileM2Mlib.sh'
+alias cfdemCompM2M 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileM2Mlib.sh'
#- shortcut to test basic tutorials
-alias cfdemTestTUT 'bash $CFDEM_SRC_DIR/etc/testTutorials.sh'
+alias cfdemTestTUT 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/testTutorials.sh'
#- shortcut to run liggghts in serial
alias cfdemLiggghts '$CFDEM_LIGGGHTS_SRC_DIR/lmp_$CFDEM_LIGGGHTS_MAKEFILE_NAME'
diff --git a/src/lagrangian/cfdemParticle/etc/functions.sh b/src/lagrangian/cfdemParticle/etc/functions.sh
index db5934fd..b2b6a741 100755
--- a/src/lagrangian/cfdemParticle/etc/functions.sh
+++ b/src/lagrangian/cfdemParticle/etc/functions.sh
@@ -27,7 +27,8 @@ pullRepo()
#- header
echo 2>&1 | tee -a $logpath/$logfileName
- echo "// $headerText //" 2>&1 | tee -a $logpath/$logfileName
+ echo 2>&1 | tee -a $logpath/$logfileName
+ echo "//=== $headerText ===//" 2>&1 | tee -a $logpath/$logfileName
echo 2>&1 | tee -a $logpath/$logfileName
#- write path
@@ -149,6 +150,8 @@ compileLIGGGHTS()
echo 2>&1 | tee -a $logpath/$logfileName
#- wclean and wmake
+ rm $CFDEM_LIGGGHTS_SRC_DIR/"lmp_"$CFDEM_LIGGGHTS_MAKEFILE_NAME
+ rm $CFDEM_LIGGGHTS_SRC_DIR/"lib"$CFDEM_LIGGGHTS_LIB_NAME".a"
make clean-all 2>&1 | tee -a $logpath/$logfileName
make $CFDEM_LIGGGHTS_MAKEFILE_NAME -j $WM_NCOMPPROCS 2>&1 | tee -a $logpath/$logfileName
make makelib 2>&1 | tee -a $logpath/$logfileName
@@ -206,34 +209,99 @@ cleanCFDEM()
echo "if not, abort with ctrl-C"
read
+ #**********************************************
+ #cleaning libraries
+ whitelist="$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/library-list.txt"
echo ""
+ echo "Please provide the libraries to be cleaned in the $CWD/$whitelist file."
+
+ if [ ! -f "$CWD/$whitelist" ];then
+ echo "$whitelist does not exist in $CWD. Nothing will be done."
+ NLINES=0
+ COUNT=0
+ else
+ NLINES=`wc -l < $CWD/$whitelist`
+ COUNT=0
+ fi
+
+ while [ $COUNT -lt $NLINES ]
+ do
+ let COUNT++
+ LINE=`head -n $COUNT $CWD/$whitelist | tail -1`
+
+ # white lines
+ if [[ "$LINE" == "" ]]; then
+ continue
+ # comments
+ elif [[ "$LINE" == \#* ]]; then
+ continue
+ # paths
+ elif [[ "$LINE" == */dir ]]; then
+ echo "will change path..."
+ LINE=$(echo "${LINE%????}")
+ path="$CFDEM_PROJECT_DIR/src/$LINE"
+ cd $path
+ #continue
+ fi
+
+ cd $path
+ echo "cleaning library $PWD"
+ rmdepall
+ wclean
+ rm -r ./Make/linux*
+ rm -r ./lnInclude
+ done
+
+
+ #**********************************************
+ #cleaning utilities
echo "removing object files in"
- echo " $CFDEM_SRC_DIR"
- echo " and"
echo " $CFDEM_UT_DIR"
rm -r $CFDEM_UT_DIR/*/Make/linux*
rm -r $CFDEM_UT_DIR/*/Make/linux*
rm -r $CFDEM_UT_DIR/*/*.dep
- rm -r $CFDEM_SRC_DIR/Make/linux*
- rm -r $CFDEM_SRC_DIR/lnInclude
- rm -r $CFDEM_SRC_DIR/../../finiteVolume/Make/linux*
- rm -r $CFDEM_SRC_DIR/../../finiteVolume/lnInclude
+ #**********************************************
+ #cleaning solvers
+ whitelist="$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/solver-list.txt"
echo ""
- echo "cleaning $CFDEM_SRC_DIR"
- cd $CFDEM_SRC_DIR
- rmdepall
- wclean
+ echo "Please provide the solvers to be cleaned in the $CWD/$whitelist file."
- for solver in "cfdemSolverIB" "cfdemSolverPiso" "cfdemSolverPisoScalar"
+ if [ ! -f "$CWD/$whitelist" ];then
+ echo "$whitelist does not exist in $CWD. Nothing will be done."
+ NLINES=0
+ COUNT=0
+ else
+ NLINES=`wc -l < $CWD/$whitelist`
+ COUNT=0
+ fi
+
+ while [ $COUNT -lt $NLINES ]
do
- echo ""
- echo "cleaning $CFDEM_SOLVER_DIRapplications/$solver"
- cd $CFDEM_SOLVER_DIR/$solver
- rmdepall
- wclean
+ let COUNT++
+ LINE=`head -n $COUNT $CWD/$whitelist | tail -1`
+
+ # white lines
+ if [[ "$LINE" == "" ]]; then
+ continue
+ # comments
+ elif [[ "$LINE" == \#* ]]; then
+ continue
+ # paths
+ elif [[ "$LINE" == */dir ]]; then
+ echo "will change path..."
+ LINE=$(echo "${LINE%????}")
+ path="$CFDEM_SOLVER_DIR/$LINE"
+ cd $path
+ #continue
+ fi
+
+ cd $path
+ echo "cleaning solver $PWD"
+ rmdepall
+ wclean
done
}
#==================================#
diff --git a/src/lagrangian/cfdemParticle/etc/library-list.txt b/src/lagrangian/cfdemParticle/etc/library-list.txt
new file mode 100644
index 00000000..e97f7fee
--- /dev/null
+++ b/src/lagrangian/cfdemParticle/etc/library-list.txt
@@ -0,0 +1,3 @@
+cylPorousMedia/dir
+finiteVolume/dir
+lagrangian/cfdemParticle/dir
diff --git a/src/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh b/src/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh
index 8bd2d979..c21b979a 100644
--- a/src/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh
+++ b/src/lagrangian/cfdemParticle/etc/pullLIGGGHTS.sh
@@ -6,12 +6,12 @@
#===================================================================
#- include functions
-source $CFDEM_SRC_DIR/etc/functions.sh
+source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
NOW="$(date +"%Y-%m-%d-%H:%M")"
logDir="log"
-cd $CFDEM_SRC_DIR/etc
+cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc
mkdir -p $logDir
#--------------------------------------------------------------------------------#
diff --git a/src/lagrangian/cfdemParticle/etc/solver-list.txt b/src/lagrangian/cfdemParticle/etc/solver-list.txt
index 803579e7..8c6566e2 100644
--- a/src/lagrangian/cfdemParticle/etc/solver-list.txt
+++ b/src/lagrangian/cfdemParticle/etc/solver-list.txt
@@ -1,5 +1,7 @@
+cfdemSolverInterDyM/dir
cfdemSolverPimple/dir
cfdemSolverPisoMS/dir
cfdemSolverPiso/dir
cfdemSolverIB/dir
cfdemSolverPisoScalar/dir
+cfdemSolverPimpleDyM_22x/dir
diff --git a/src/lagrangian/cfdemParticle/etc/tutorial-list.txt b/src/lagrangian/cfdemParticle/etc/tutorial-list.txt
index 51e965b4..a9669d55 100644
--- a/src/lagrangian/cfdemParticle/etc/tutorial-list.txt
+++ b/src/lagrangian/cfdemParticle/etc/tutorial-list.txt
@@ -17,3 +17,21 @@ cfdemSolverPiso/ErgunTestMPI_restart/dir
cfdemSolverIB/twoSpheresGlowinskiMPI/dir
cfdemSolverPisoScalar/packedBedTemp/dir
+
+#===================================================================#
+# not in release:
+
+#cfdemSolverPiso/settlingTestBigParticleMPI/dir
+#cfdemSolverPiso/ErgunTestCG/dir
+#cfdemSolverPiso/ErgunTestM2M/dir
+#cfdemSolverPiso/HopperEmptying/dir
+
+#cfdemSolverPisoMS/settlingTestMPI/dir
+#cfdemSolverPisoMS/ErgunTestMPI/dir
+
+#cfdemSolverPimple/ErgunTestMPI/dir
+
+#cfdemSolverInterDyM/twoPhaseSettlingTest/dir
+#cfdemSolverInterDyM/ErgunTestMPI/dir
+#cfdemSolverInterDyM/granularPiston/dir
+#cfdemSolverInterDyM/sugarNcoffee/dir
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H
index dd17059f..db14e440 100755
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H
@@ -210,10 +210,10 @@ public:
}
}
- inline bool checkExactTiming() const
+ /*inline bool checkExactTiming() const
{
-
- }
+ return false;
+ }*/
//void checkNClumpTypes() const {};
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.d
index 4072213c..7ea4724c 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.d
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.d
@@ -1,112 +1,31 @@
-error.o: error.cpp /usr/lib/openmpi/include/mpi.h \
+error.o: error.cpp \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \
- /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \
- /usr/include/c++/4.6/bits/stl_algobase.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \
- /usr/include/features.h /usr/include/bits/predefs.h \
- /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
- /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \
- /usr/include/c++/4.6/bits/functexcept.h \
- /usr/include/c++/4.6/bits/exception_defines.h \
- /usr/include/c++/4.6/bits/cpp_type_traits.h \
- /usr/include/c++/4.6/ext/type_traits.h \
- /usr/include/c++/4.6/ext/numeric_traits.h \
- /usr/include/c++/4.6/bits/stl_pair.h /usr/include/c++/4.6/bits/move.h \
- /usr/include/c++/4.6/bits/concept_check.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_types.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \
- /usr/include/c++/4.6/bits/stl_iterator.h \
- /usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \
- /usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \
- /usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \
- /usr/include/c++/4.6/backward/binders.h \
- /usr/include/c++/4.6/bits/stl_map.h \
- /usr/include/c++/4.6/initializer_list \
- /usr/include/c++/4.6/bits/stl_multimap.h \
- /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \
- /usr/include/c++/4.6/bits/stl_relops.h \
- /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h /usr/include/stdio.h \
- /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
- /usr/include/c++/4.6/iostream /usr/include/c++/4.6/ostream \
- /usr/include/c++/4.6/ios /usr/include/c++/4.6/iosfwd \
- /usr/include/c++/4.6/bits/stringfwd.h \
- /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \
- /usr/include/bits/wchar.h /usr/include/xlocale.h \
- /usr/include/bits/wchar2.h /usr/include/c++/4.6/bits/char_traits.h \
- /usr/include/c++/4.6/bits/localefwd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \
- /usr/include/c++/4.6/clocale /usr/include/locale.h \
- /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \
- /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
- /usr/include/bits/byteswap.h /usr/include/c++/4.6/bits/ios_base.h \
- /usr/include/c++/4.6/ext/atomicity.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \
- /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
- /usr/include/bits/sched.h /usr/include/bits/time.h /usr/include/signal.h \
- /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
- /usr/include/bits/setjmp.h /usr/include/unistd.h \
- /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
- /usr/include/bits/confname.h /usr/include/getopt.h \
- /usr/include/bits/unistd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \
- /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \
- /usr/include/c++/4.6/bits/ostream_insert.h \
- /usr/include/c++/4.6/bits/cxxabi_forced.h \
- /usr/include/c++/4.6/bits/basic_string.h \
- /usr/include/c++/4.6/bits/basic_string.tcc \
- /usr/include/c++/4.6/bits/locale_classes.tcc \
- /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \
- /usr/include/c++/4.6/bits/basic_ios.h \
- /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \
- /usr/include/wctype.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \
- /usr/include/c++/4.6/bits/streambuf_iterator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \
- /usr/include/c++/4.6/bits/locale_facets.tcc \
- /usr/include/c++/4.6/bits/basic_ios.tcc \
- /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \
- /usr/include/c++/4.6/bits/istream.tcc \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \
- /usr/include/string.h /usr/include/bits/string3.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h \
- /usr/include/stdlib.h /usr/include/bits/waitflags.h \
- /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
- /usr/include/sys/select.h /usr/include/bits/select.h \
- /usr/include/sys/sysmacros.h /usr/include/alloca.h \
- /usr/include/bits/stdlib.h error.h
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h error.h
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.o
new file mode 100644
index 00000000..87ce04e4
Binary files /dev/null and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/error.o differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/files.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/files.d
index 0ee83743..20ece65d 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/files.d
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/files.d
@@ -1,12 +1,17 @@
files.o: files.cpp /usr/include/stdio.h /usr/include/features.h \
- /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
- /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
- /usr/include/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
- /usr/include/bits/types.h /usr/include/bits/typesizes.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \
- /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
- /usr/include/string.h /usr/include/xlocale.h /usr/include/bits/string3.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string3.h \
files.h
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/files.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/files.o
new file mode 100644
index 00000000..72a28a1c
Binary files /dev/null and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/files.o differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/irregular.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/irregular.d
index c93efb64..29a6707d 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/irregular.d
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/irregular.d
@@ -1,112 +1,32 @@
irregular.o: irregular.cpp /usr/include/stdio.h /usr/include/features.h \
- /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
- /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
- /usr/include/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
- /usr/include/bits/types.h /usr/include/bits/typesizes.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \
- /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
- /usr/include/stdlib.h /usr/include/bits/waitflags.h \
- /usr/include/bits/waitstatus.h /usr/include/endian.h \
- /usr/include/bits/endian.h /usr/include/bits/byteswap.h \
- /usr/include/xlocale.h /usr/include/sys/types.h /usr/include/time.h \
- /usr/include/sys/select.h /usr/include/bits/select.h \
- /usr/include/bits/sigset.h /usr/include/bits/time.h \
- /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
- /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \
- /usr/include/bits/string3.h irregular.h /usr/lib/openmpi/include/mpi.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \
- /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \
- /usr/include/c++/4.6/bits/stl_algobase.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \
- /usr/include/c++/4.6/bits/functexcept.h \
- /usr/include/c++/4.6/bits/exception_defines.h \
- /usr/include/c++/4.6/bits/cpp_type_traits.h \
- /usr/include/c++/4.6/ext/type_traits.h \
- /usr/include/c++/4.6/ext/numeric_traits.h \
- /usr/include/c++/4.6/bits/stl_pair.h /usr/include/c++/4.6/bits/move.h \
- /usr/include/c++/4.6/bits/concept_check.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_types.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \
- /usr/include/c++/4.6/bits/stl_iterator.h \
- /usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \
- /usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \
- /usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \
- /usr/include/c++/4.6/backward/binders.h \
- /usr/include/c++/4.6/bits/stl_map.h \
- /usr/include/c++/4.6/initializer_list \
- /usr/include/c++/4.6/bits/stl_multimap.h \
- /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \
- /usr/include/c++/4.6/bits/stl_relops.h /usr/include/c++/4.6/iostream \
- /usr/include/c++/4.6/ostream /usr/include/c++/4.6/ios \
- /usr/include/c++/4.6/iosfwd /usr/include/c++/4.6/bits/stringfwd.h \
- /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \
- /usr/include/bits/wchar.h /usr/include/bits/wchar2.h \
- /usr/include/c++/4.6/bits/char_traits.h \
- /usr/include/c++/4.6/bits/localefwd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \
- /usr/include/c++/4.6/clocale /usr/include/locale.h \
- /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \
- /usr/include/ctype.h /usr/include/c++/4.6/bits/ios_base.h \
- /usr/include/c++/4.6/ext/atomicity.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \
- /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
- /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \
- /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
- /usr/include/bits/confname.h /usr/include/getopt.h \
- /usr/include/bits/unistd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \
- /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \
- /usr/include/c++/4.6/bits/ostream_insert.h \
- /usr/include/c++/4.6/bits/cxxabi_forced.h \
- /usr/include/c++/4.6/bits/basic_string.h \
- /usr/include/c++/4.6/bits/basic_string.tcc \
- /usr/include/c++/4.6/bits/locale_classes.tcc \
- /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \
- /usr/include/c++/4.6/bits/basic_ios.h \
- /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \
- /usr/include/wctype.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \
- /usr/include/c++/4.6/bits/streambuf_iterator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \
- /usr/include/c++/4.6/bits/locale_facets.tcc \
- /usr/include/c++/4.6/bits/basic_ios.tcc \
- /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \
- /usr/include/c++/4.6/bits/istream.tcc \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h memory.h \
- error.h
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h irregular.h \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \
+ memory.h error.h
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/irregular.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/irregular.o
new file mode 100644
index 00000000..281a7039
Binary files /dev/null and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/irregular.o differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.d
index fb41e38b..557cb88d 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.d
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.d
@@ -1,114 +1,32 @@
lammps_data_write.o: lammps_data_write.cpp /usr/include/stdlib.h \
- /usr/include/features.h /usr/include/bits/predefs.h \
- /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
- /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
- /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
- /usr/include/endian.h /usr/include/bits/endian.h \
- /usr/include/bits/byteswap.h /usr/include/xlocale.h \
- /usr/include/sys/types.h /usr/include/bits/types.h \
- /usr/include/bits/typesizes.h /usr/include/time.h \
- /usr/include/sys/select.h /usr/include/bits/select.h \
- /usr/include/bits/sigset.h /usr/include/bits/time.h \
- /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
- /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \
- /usr/include/bits/string3.h lammps_data_write.h send2one.h \
- /usr/lib/openmpi/include/mpi.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \
- /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \
- /usr/include/c++/4.6/bits/stl_algobase.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \
- /usr/include/c++/4.6/bits/functexcept.h \
- /usr/include/c++/4.6/bits/exception_defines.h \
- /usr/include/c++/4.6/bits/cpp_type_traits.h \
- /usr/include/c++/4.6/ext/type_traits.h \
- /usr/include/c++/4.6/ext/numeric_traits.h \
- /usr/include/c++/4.6/bits/stl_pair.h /usr/include/c++/4.6/bits/move.h \
- /usr/include/c++/4.6/bits/concept_check.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_types.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \
- /usr/include/c++/4.6/bits/stl_iterator.h \
- /usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \
- /usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \
- /usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \
- /usr/include/c++/4.6/backward/binders.h \
- /usr/include/c++/4.6/bits/stl_map.h \
- /usr/include/c++/4.6/initializer_list \
- /usr/include/c++/4.6/bits/stl_multimap.h \
- /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \
- /usr/include/c++/4.6/bits/stl_relops.h \
- /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
- /usr/include/c++/4.6/iostream /usr/include/c++/4.6/ostream \
- /usr/include/c++/4.6/ios /usr/include/c++/4.6/iosfwd \
- /usr/include/c++/4.6/bits/stringfwd.h \
- /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \
- /usr/include/bits/wchar.h /usr/include/bits/wchar2.h \
- /usr/include/c++/4.6/bits/char_traits.h \
- /usr/include/c++/4.6/bits/localefwd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \
- /usr/include/c++/4.6/clocale /usr/include/locale.h \
- /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \
- /usr/include/ctype.h /usr/include/c++/4.6/bits/ios_base.h \
- /usr/include/c++/4.6/ext/atomicity.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \
- /usr/include/pthread.h /usr/include/sched.h /usr/include/bits/sched.h \
- /usr/include/signal.h /usr/include/bits/setjmp.h /usr/include/unistd.h \
- /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
- /usr/include/bits/confname.h /usr/include/getopt.h \
- /usr/include/bits/unistd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \
- /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \
- /usr/include/c++/4.6/bits/ostream_insert.h \
- /usr/include/c++/4.6/bits/cxxabi_forced.h \
- /usr/include/c++/4.6/bits/basic_string.h \
- /usr/include/c++/4.6/bits/basic_string.tcc \
- /usr/include/c++/4.6/bits/locale_classes.tcc \
- /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \
- /usr/include/c++/4.6/bits/basic_ios.h \
- /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \
- /usr/include/wctype.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \
- /usr/include/c++/4.6/bits/streambuf_iterator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \
- /usr/include/c++/4.6/bits/locale_facets.tcc \
- /usr/include/c++/4.6/bits/basic_ios.tcc \
- /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \
- /usr/include/c++/4.6/bits/istream.tcc \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h memory.h \
- error.h
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h lammps_data_write.h \
+ send2one.h \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h memory.h error.h
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.o
new file mode 100644
index 00000000..cc7f38a2
Binary files /dev/null and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/lammps_data_write.o differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/libcouple.a b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/libcouple.a
index e94f2ec1..02da51e5 100644
Binary files a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/libcouple.a and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/libcouple.a differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2many.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2many.d
index 10eda04a..f2ea4db0 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2many.d
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2many.d
@@ -1,14 +1,27 @@
-many2many.o: many2many.cpp /usr/lib/openmpi/include/mpi.h \
+many2many.o: many2many.cpp \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \
- /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \
+ /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h many2many.h irregular.h \
+ memory.h error.h /usr/include/c++/4.6/map \
+ /usr/include/c++/4.6/bits/stl_tree.h \
/usr/include/c++/4.6/bits/stl_algobase.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \
- /usr/include/features.h /usr/include/bits/predefs.h \
- /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
- /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++config.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/os_defines.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/cpu_defines.h \
/usr/include/c++/4.6/bits/functexcept.h \
/usr/include/c++/4.6/bits/exception_defines.h \
/usr/include/c++/4.6/bits/cpp_type_traits.h \
@@ -20,89 +33,11 @@ many2many.o: many2many.cpp /usr/lib/openmpi/include/mpi.h \
/usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.6/bits/stl_iterator.h \
/usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++allocator.h \
/usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \
/usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \
/usr/include/c++/4.6/backward/binders.h \
/usr/include/c++/4.6/bits/stl_map.h \
/usr/include/c++/4.6/initializer_list \
/usr/include/c++/4.6/bits/stl_multimap.h \
- /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \
- /usr/include/c++/4.6/bits/stl_relops.h \
- /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h /usr/include/stdio.h \
- /usr/include/bits/types.h /usr/include/bits/typesizes.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
- /usr/include/c++/4.6/iostream /usr/include/c++/4.6/ostream \
- /usr/include/c++/4.6/ios /usr/include/c++/4.6/iosfwd \
- /usr/include/c++/4.6/bits/stringfwd.h \
- /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \
- /usr/include/bits/wchar.h /usr/include/xlocale.h \
- /usr/include/bits/wchar2.h /usr/include/c++/4.6/bits/char_traits.h \
- /usr/include/c++/4.6/bits/localefwd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \
- /usr/include/c++/4.6/clocale /usr/include/locale.h \
- /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \
- /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
- /usr/include/bits/byteswap.h /usr/include/c++/4.6/bits/ios_base.h \
- /usr/include/c++/4.6/ext/atomicity.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \
- /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
- /usr/include/bits/sched.h /usr/include/bits/time.h /usr/include/signal.h \
- /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
- /usr/include/bits/setjmp.h /usr/include/unistd.h \
- /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
- /usr/include/bits/confname.h /usr/include/getopt.h \
- /usr/include/bits/unistd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \
- /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \
- /usr/include/c++/4.6/bits/ostream_insert.h \
- /usr/include/c++/4.6/bits/cxxabi_forced.h \
- /usr/include/c++/4.6/bits/basic_string.h \
- /usr/include/c++/4.6/bits/basic_string.tcc \
- /usr/include/c++/4.6/bits/locale_classes.tcc \
- /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \
- /usr/include/c++/4.6/bits/basic_ios.h \
- /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \
- /usr/include/wctype.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \
- /usr/include/c++/4.6/bits/streambuf_iterator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \
- /usr/include/c++/4.6/bits/locale_facets.tcc \
- /usr/include/c++/4.6/bits/basic_ios.tcc \
- /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \
- /usr/include/c++/4.6/bits/istream.tcc \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \
- /usr/include/string.h /usr/include/bits/string3.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h many2many.h \
- irregular.h memory.h error.h
+ /usr/include/c++/4.6/bits/range_access.h
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2many.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2many.o
new file mode 100644
index 00000000..107468c4
Binary files /dev/null and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2many.o differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2one.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2one.d
index 4ba1adc3..e0ec5ef6 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2one.d
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2one.d
@@ -1,112 +1,31 @@
-many2one.o: many2one.cpp /usr/lib/openmpi/include/mpi.h \
+many2one.o: many2one.cpp \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \
- /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \
- /usr/include/c++/4.6/bits/stl_algobase.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \
- /usr/include/features.h /usr/include/bits/predefs.h \
- /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
- /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \
- /usr/include/c++/4.6/bits/functexcept.h \
- /usr/include/c++/4.6/bits/exception_defines.h \
- /usr/include/c++/4.6/bits/cpp_type_traits.h \
- /usr/include/c++/4.6/ext/type_traits.h \
- /usr/include/c++/4.6/ext/numeric_traits.h \
- /usr/include/c++/4.6/bits/stl_pair.h /usr/include/c++/4.6/bits/move.h \
- /usr/include/c++/4.6/bits/concept_check.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_types.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \
- /usr/include/c++/4.6/bits/stl_iterator.h \
- /usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \
- /usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \
- /usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \
- /usr/include/c++/4.6/backward/binders.h \
- /usr/include/c++/4.6/bits/stl_map.h \
- /usr/include/c++/4.6/initializer_list \
- /usr/include/c++/4.6/bits/stl_multimap.h \
- /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \
- /usr/include/c++/4.6/bits/stl_relops.h \
- /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h /usr/include/stdio.h \
- /usr/include/bits/types.h /usr/include/bits/typesizes.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
- /usr/include/c++/4.6/iostream /usr/include/c++/4.6/ostream \
- /usr/include/c++/4.6/ios /usr/include/c++/4.6/iosfwd \
- /usr/include/c++/4.6/bits/stringfwd.h \
- /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \
- /usr/include/bits/wchar.h /usr/include/xlocale.h \
- /usr/include/bits/wchar2.h /usr/include/c++/4.6/bits/char_traits.h \
- /usr/include/c++/4.6/bits/localefwd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \
- /usr/include/c++/4.6/clocale /usr/include/locale.h \
- /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \
- /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
- /usr/include/bits/byteswap.h /usr/include/c++/4.6/bits/ios_base.h \
- /usr/include/c++/4.6/ext/atomicity.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \
- /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
- /usr/include/bits/sched.h /usr/include/bits/time.h /usr/include/signal.h \
- /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
- /usr/include/bits/setjmp.h /usr/include/unistd.h \
- /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
- /usr/include/bits/confname.h /usr/include/getopt.h \
- /usr/include/bits/unistd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \
- /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \
- /usr/include/c++/4.6/bits/ostream_insert.h \
- /usr/include/c++/4.6/bits/cxxabi_forced.h \
- /usr/include/c++/4.6/bits/basic_string.h \
- /usr/include/c++/4.6/bits/basic_string.tcc \
- /usr/include/c++/4.6/bits/locale_classes.tcc \
- /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \
- /usr/include/c++/4.6/bits/basic_ios.h \
- /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \
- /usr/include/wctype.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \
- /usr/include/c++/4.6/bits/streambuf_iterator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \
- /usr/include/c++/4.6/bits/locale_facets.tcc \
- /usr/include/c++/4.6/bits/basic_ios.tcc \
- /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \
- /usr/include/c++/4.6/bits/istream.tcc \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \
- /usr/include/string.h /usr/include/bits/string3.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h \
- /usr/include/stdlib.h /usr/include/bits/waitflags.h \
- /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
- /usr/include/sys/select.h /usr/include/bits/select.h \
- /usr/include/sys/sysmacros.h /usr/include/alloca.h \
- /usr/include/bits/stdlib.h many2one.h memory.h
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \
+ /usr/include/stdio.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h many2one.h memory.h
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2one.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2one.o
new file mode 100644
index 00000000..a18b718f
Binary files /dev/null and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/many2one.o differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/memory.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/memory.d
index 7d2e3bea..ca00442f 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/memory.d
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/memory.d
@@ -1,112 +1,31 @@
-memory.o: memory.cpp /usr/lib/openmpi/include/mpi.h \
+memory.o: memory.cpp \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \
- /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \
- /usr/include/c++/4.6/bits/stl_algobase.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \
- /usr/include/features.h /usr/include/bits/predefs.h \
- /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
- /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \
- /usr/include/c++/4.6/bits/functexcept.h \
- /usr/include/c++/4.6/bits/exception_defines.h \
- /usr/include/c++/4.6/bits/cpp_type_traits.h \
- /usr/include/c++/4.6/ext/type_traits.h \
- /usr/include/c++/4.6/ext/numeric_traits.h \
- /usr/include/c++/4.6/bits/stl_pair.h /usr/include/c++/4.6/bits/move.h \
- /usr/include/c++/4.6/bits/concept_check.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_types.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \
- /usr/include/c++/4.6/bits/stl_iterator.h \
- /usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \
- /usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \
- /usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \
- /usr/include/c++/4.6/backward/binders.h \
- /usr/include/c++/4.6/bits/stl_map.h \
- /usr/include/c++/4.6/initializer_list \
- /usr/include/c++/4.6/bits/stl_multimap.h \
- /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \
- /usr/include/c++/4.6/bits/stl_relops.h \
- /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h /usr/include/stdio.h \
- /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
- /usr/include/c++/4.6/iostream /usr/include/c++/4.6/ostream \
- /usr/include/c++/4.6/ios /usr/include/c++/4.6/iosfwd \
- /usr/include/c++/4.6/bits/stringfwd.h \
- /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \
- /usr/include/bits/wchar.h /usr/include/xlocale.h \
- /usr/include/bits/wchar2.h /usr/include/c++/4.6/bits/char_traits.h \
- /usr/include/c++/4.6/bits/localefwd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \
- /usr/include/c++/4.6/clocale /usr/include/locale.h \
- /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \
- /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
- /usr/include/bits/byteswap.h /usr/include/c++/4.6/bits/ios_base.h \
- /usr/include/c++/4.6/ext/atomicity.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \
- /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
- /usr/include/bits/sched.h /usr/include/bits/time.h /usr/include/signal.h \
- /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
- /usr/include/bits/setjmp.h /usr/include/unistd.h \
- /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
- /usr/include/bits/confname.h /usr/include/getopt.h \
- /usr/include/bits/unistd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \
- /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \
- /usr/include/c++/4.6/bits/ostream_insert.h \
- /usr/include/c++/4.6/bits/cxxabi_forced.h \
- /usr/include/c++/4.6/bits/basic_string.h \
- /usr/include/c++/4.6/bits/basic_string.tcc \
- /usr/include/c++/4.6/bits/locale_classes.tcc \
- /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \
- /usr/include/c++/4.6/bits/basic_ios.h \
- /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \
- /usr/include/wctype.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \
- /usr/include/c++/4.6/bits/streambuf_iterator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \
- /usr/include/c++/4.6/bits/locale_facets.tcc \
- /usr/include/c++/4.6/bits/basic_ios.tcc \
- /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \
- /usr/include/c++/4.6/bits/istream.tcc \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \
- /usr/include/string.h /usr/include/bits/string3.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h \
- /usr/include/stdlib.h /usr/include/bits/waitflags.h \
- /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
- /usr/include/sys/select.h /usr/include/bits/select.h \
- /usr/include/sys/sysmacros.h /usr/include/alloca.h \
- /usr/include/bits/stdlib.h memory.h error.h
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h memory.h error.h
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/memory.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/memory.o
new file mode 100644
index 00000000..d7417bcf
Binary files /dev/null and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/memory.o differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/one2many.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/one2many.d
index 54bfe15a..801eb5db 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/one2many.d
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/one2many.d
@@ -1,14 +1,17 @@
-one2many.o: one2many.cpp /usr/lib/openmpi/include/mpi.h \
+one2many.o: one2many.cpp \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \
- /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \
+ one2many.h /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \
/usr/include/c++/4.6/bits/stl_algobase.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \
- /usr/include/features.h /usr/include/bits/predefs.h \
- /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
- /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++config.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/os_defines.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/cpu_defines.h \
/usr/include/c++/4.6/bits/functexcept.h \
/usr/include/c++/4.6/bits/exception_defines.h \
/usr/include/c++/4.6/bits/cpp_type_traits.h \
@@ -20,89 +23,11 @@ one2many.o: one2many.cpp /usr/lib/openmpi/include/mpi.h \
/usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.6/bits/stl_iterator.h \
/usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++allocator.h \
/usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \
/usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \
/usr/include/c++/4.6/backward/binders.h \
/usr/include/c++/4.6/bits/stl_map.h \
/usr/include/c++/4.6/initializer_list \
/usr/include/c++/4.6/bits/stl_multimap.h \
- /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \
- /usr/include/c++/4.6/bits/stl_relops.h \
- /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h /usr/include/stdio.h \
- /usr/include/bits/types.h /usr/include/bits/typesizes.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
- /usr/include/c++/4.6/iostream /usr/include/c++/4.6/ostream \
- /usr/include/c++/4.6/ios /usr/include/c++/4.6/iosfwd \
- /usr/include/c++/4.6/bits/stringfwd.h \
- /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \
- /usr/include/bits/wchar.h /usr/include/xlocale.h \
- /usr/include/bits/wchar2.h /usr/include/c++/4.6/bits/char_traits.h \
- /usr/include/c++/4.6/bits/localefwd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \
- /usr/include/c++/4.6/clocale /usr/include/locale.h \
- /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \
- /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
- /usr/include/bits/byteswap.h /usr/include/c++/4.6/bits/ios_base.h \
- /usr/include/c++/4.6/ext/atomicity.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \
- /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
- /usr/include/bits/sched.h /usr/include/bits/time.h /usr/include/signal.h \
- /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
- /usr/include/bits/setjmp.h /usr/include/unistd.h \
- /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
- /usr/include/bits/confname.h /usr/include/getopt.h \
- /usr/include/bits/unistd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \
- /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \
- /usr/include/c++/4.6/bits/ostream_insert.h \
- /usr/include/c++/4.6/bits/cxxabi_forced.h \
- /usr/include/c++/4.6/bits/basic_string.h \
- /usr/include/c++/4.6/bits/basic_string.tcc \
- /usr/include/c++/4.6/bits/locale_classes.tcc \
- /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \
- /usr/include/c++/4.6/bits/basic_ios.h \
- /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \
- /usr/include/wctype.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \
- /usr/include/c++/4.6/bits/streambuf_iterator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \
- /usr/include/c++/4.6/bits/locale_facets.tcc \
- /usr/include/c++/4.6/bits/basic_ios.tcc \
- /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \
- /usr/include/c++/4.6/bits/istream.tcc \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \
- /usr/include/string.h /usr/include/bits/string3.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h one2many.h \
- memory.h
+ /usr/include/c++/4.6/bits/range_access.h memory.h
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/one2many.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/one2many.o
new file mode 100644
index 00000000..9c59bd05
Binary files /dev/null and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/one2many.o differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/send2one.d b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/send2one.d
index bef8bc19..e9176652 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/send2one.d
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/send2one.d
@@ -1,112 +1,31 @@
-send2one.o: send2one.cpp /usr/lib/openmpi/include/mpi.h \
+send2one.o: send2one.cpp \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi.h \
/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h \
- /usr/include/c++/4.6/map /usr/include/c++/4.6/bits/stl_tree.h \
- /usr/include/c++/4.6/bits/stl_algobase.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/os_defines.h \
- /usr/include/features.h /usr/include/bits/predefs.h \
- /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
- /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/cpu_defines.h \
- /usr/include/c++/4.6/bits/functexcept.h \
- /usr/include/c++/4.6/bits/exception_defines.h \
- /usr/include/c++/4.6/bits/cpp_type_traits.h \
- /usr/include/c++/4.6/ext/type_traits.h \
- /usr/include/c++/4.6/ext/numeric_traits.h \
- /usr/include/c++/4.6/bits/stl_pair.h /usr/include/c++/4.6/bits/move.h \
- /usr/include/c++/4.6/bits/concept_check.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_types.h \
- /usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \
- /usr/include/c++/4.6/bits/stl_iterator.h \
- /usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/allocator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++allocator.h \
- /usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \
- /usr/include/c++/4.6/exception /usr/include/c++/4.6/bits/stl_function.h \
- /usr/include/c++/4.6/backward/binders.h \
- /usr/include/c++/4.6/bits/stl_map.h \
- /usr/include/c++/4.6/initializer_list \
- /usr/include/c++/4.6/bits/stl_multimap.h \
- /usr/include/c++/4.6/bits/range_access.h /usr/include/c++/4.6/utility \
- /usr/include/c++/4.6/bits/stl_relops.h \
- /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h /usr/include/stdio.h \
- /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /home/goniva/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/openmpi-1.6.3/include/mpi_portable_platform.h \
+ /usr/include/stdlib.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/stdio.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
- /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
- /usr/include/c++/4.6/iostream /usr/include/c++/4.6/ostream \
- /usr/include/c++/4.6/ios /usr/include/c++/4.6/iosfwd \
- /usr/include/c++/4.6/bits/stringfwd.h \
- /usr/include/c++/4.6/bits/postypes.h /usr/include/c++/4.6/cwchar \
- /usr/include/bits/wchar.h /usr/include/xlocale.h \
- /usr/include/bits/wchar2.h /usr/include/c++/4.6/bits/char_traits.h \
- /usr/include/c++/4.6/bits/localefwd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++locale.h \
- /usr/include/c++/4.6/clocale /usr/include/locale.h \
- /usr/include/bits/locale.h /usr/include/c++/4.6/cctype \
- /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \
- /usr/include/bits/byteswap.h /usr/include/c++/4.6/bits/ios_base.h \
- /usr/include/c++/4.6/ext/atomicity.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h \
- /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
- /usr/include/bits/sched.h /usr/include/bits/time.h /usr/include/signal.h \
- /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h \
- /usr/include/bits/setjmp.h /usr/include/unistd.h \
- /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
- /usr/include/bits/confname.h /usr/include/getopt.h \
- /usr/include/bits/unistd.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/atomic_word.h \
- /usr/include/c++/4.6/bits/locale_classes.h /usr/include/c++/4.6/string \
- /usr/include/c++/4.6/bits/ostream_insert.h \
- /usr/include/c++/4.6/bits/cxxabi_forced.h \
- /usr/include/c++/4.6/bits/basic_string.h \
- /usr/include/c++/4.6/bits/basic_string.tcc \
- /usr/include/c++/4.6/bits/locale_classes.tcc \
- /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \
- /usr/include/c++/4.6/bits/basic_ios.h \
- /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \
- /usr/include/wctype.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_base.h \
- /usr/include/c++/4.6/bits/streambuf_iterator.h \
- /usr/include/c++/4.6/x86_64-linux-gnu/bits/ctype_inline.h \
- /usr/include/c++/4.6/bits/locale_facets.tcc \
- /usr/include/c++/4.6/bits/basic_ios.tcc \
- /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \
- /usr/include/c++/4.6/bits/istream.tcc \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/constants.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/exception.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/datatype_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h \
- /usr/include/string.h /usr/include/bits/string3.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/request_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/comm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/topology_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/intercomm_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/group_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/errhandler_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/status_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/info_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/win_inln.h \
- /usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file_inln.h \
- /usr/include/stdlib.h /usr/include/bits/waitflags.h \
- /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
- /usr/include/sys/select.h /usr/include/bits/select.h \
- /usr/include/sys/sysmacros.h /usr/include/alloca.h \
- /usr/include/bits/stdlib.h send2one.h memory.h error.h
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h send2one.h memory.h error.h
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/send2one.o b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/send2one.o
new file mode 100644
index 00000000..8e4b011d
Binary files /dev/null and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/library/send2one.o differ
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/twoWayM2M.C b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/twoWayM2M.C
index b2f60901..d226ec94 100644
--- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/twoWayM2M.C
+++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayM2M/twoWayM2M.C
@@ -259,7 +259,7 @@ void twoWayM2M::giveData
//}
//==================
}else{
- Warning << "not implemented!"<exchange(pos_lammpsSync ? pos_lammpsSync[0] : NULL, tmp_);
@@ -551,8 +561,8 @@ void Foam::twoWayM2M::syncIDs() const
}
MPI_Barrier(MPI_COMM_WORLD);
Pout << couplingStep_ << "st nlocal_lammps_=" << nlocal_lammps_ << endl;
- Pout << couplingStep_ << "st nlocal_foam_=" << nlocal_foam_ << endl;
- //=======================================================================*/
+ Pout << couplingStep_ << "st nlocal_foam_=" << nlocal_foam_ << endl;*/
+ //=======================================================================
// correct mapping
particleCloud_.clockM().start(11,"setup_Comm");
@@ -565,20 +575,25 @@ void Foam::twoWayM2M::syncIDs() const
lmp2foam_vec_ = new Many2Many(MPI_COMM_WORLD);
foam2lmp_vec_ = new Many2Many(MPI_COMM_WORLD);
- if(firstRun_)
+ if(firstRun_ || particleLost_)
{
lmp2foam_->setup(nlocal_lammps_,id_lammps_,nlocal_foam_,id_foam_);
lmp2foam_vec_->setup(nlocal_lammps_*3,id_lammpsVec_,nlocal_foam_*3,id_foamVec_);
foam2lmp_vec_->setup(nlocal_foam_*3,id_foamVec_,nlocal_lammps_*3,id_lammpsVec_);
- id_lammps_=NULL; // free pointer from LIG
- pos_lammps_ = NULL; // free pointer from LIG
}else
{
lmp2foam_->setup(nlocal_lammps_,id_lammpsSync,nlocal_foam_,id_foam_);
lmp2foam_vec_->setup(nlocal_lammps_*3,id_lammpsVec_,nlocal_foam_*3,id_foamVec_);
foam2lmp_vec_->setup(nlocal_foam_*3,id_foamVec_,nlocal_lammps_*3,id_lammpsVec_);
}
+ id_lammps_=NULL; // free pointer from LIG
+ id_lammpsSync=NULL; // free pointer from LIG
+ pos_lammps_ = NULL; // free pointer from LIG
+
particleCloud_.clockM().stop("setup_Comm");
+
+//MPI_Barrier(MPI_COMM_WORLD);
+//Info << "update communication - done." << endl;
}
void Foam::twoWayM2M::locateParticle(int* id_lammpsSync) const
@@ -632,6 +647,7 @@ void Foam::twoWayM2M::locateParticle(int* id_lammpsSync) const
nlocal_foam_ += 1;
//Pout << couplingStep_ << "st stage1 found particle at pos=" << pos << " ,id_lammps_[i]=" << id_lammps_[i] << endl;
+
}
else
{
@@ -796,7 +812,7 @@ void Foam::twoWayM2M::locateParticle(int* id_lammpsSync) const
}
int nlocal_foam_lostAll = LAMMPS_NS::MPI_Allgather_Vector(lost_pos_, nlocal_foam_lost_*3, lost_posAll, MPI_COMM_WORLD)/3; // new[] für lost_posAll!!!
LAMMPS_NS::MPI_Allgather_Vector(id_foamLost_, nlocal_foam_lost_, id_foamLostAll, MPI_COMM_WORLD);
- //Info << couplingStep_ << "st nlocal_foam_lostAll=" << nlocal_foam_lostAll << endl;
+ Info << couplingStep_ << "st nlocal_foam_lostAll=" << nlocal_foam_lostAll << endl;
// locate lost particles
for (int i = 0; i < nlocal_foam_lostAll; i++)
@@ -847,14 +863,14 @@ void Foam::twoWayM2M::locateParticle(int* id_lammpsSync) const
{
// a particle was found nowhere
particleLost_=true;
- Info << "running in particleLost_ mode" << endl;
// delete liggghts particles which were not found from comm
for (int j=0;j vValues;
- vValues.clear();
- vValues.append(force); //first entry must the be the force
-
- Field sValues;
- sValues.clear();
- sValues.append(pow(dp,3)/6*M_PI); //other are debug
-
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(force); //first entry must the be the force
+ sValues.append(pow(dp,3)/6*M_PI);
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
}
if(!treatDEM_)
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/ArchimedesIB/ArchimedesIB.C b/src/lagrangian/cfdemParticle/subModels/forceModel/ArchimedesIB/ArchimedesIB.C
index 21b7cca9..d2ab3da3 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/ArchimedesIB/ArchimedesIB.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/ArchimedesIB/ArchimedesIB.C
@@ -104,9 +104,7 @@ void ArchimedesIB::setForce() const
{
vector force;
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index = 0;index < particleCloud_.numberOfParticles(); ++index)
{
@@ -124,14 +122,12 @@ void ArchimedesIB::setForce() const
}
//Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(force); //first entry must the be the force
-
- Field sValues;
- sValues.clear();
-
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(force); //first entry must the be the force
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
// set force on particle
if(twoDimensional_) Warning<<"ArchimedesIB model doesn't work for 2D right now!!\n"<< endl;
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.C
index 7ff82c9f..abf2ef58 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.C
@@ -115,7 +115,6 @@ void DiFeliceDrag::setForce() const
vector Ufluid(0,0,0);
vector drag(0,0,0);
label cellI=0;
-
vector Us(0,0,0);
vector Ur(0,0,0);
scalar ds(0);
@@ -128,9 +127,7 @@ void DiFeliceDrag::setForce() const
interpolationCellPoint voidfractionInterpolator_(voidfraction_);
interpolationCellPoint UInterpolator_(U_);
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index = 0;index < particleCloud_.numberOfParticles(); index++)
{
@@ -149,7 +146,7 @@ void DiFeliceDrag::setForce() const
Ufluid = UInterpolator_.interpolate(position,cellI);
}else
{
- voidfraction = particleCloud_.voidfraction(index);
+ voidfraction = voidfraction_[cellI];
Ufluid = U_[cellI];
}
@@ -182,32 +179,29 @@ void DiFeliceDrag::setForce() const
if(verbose_ && index >100 && index <102)
{
- Info << "index = " << index << endl;
- Info << "Us = " << Us << endl;
- Info << "Ur = " << Ur << endl;
- Info << "ds = " << ds << endl;
- Info << "rho = " << rho << endl;
- Info << "nuf = " << nuf << endl;
- Info << "voidfraction = " << voidfraction << endl;
- Info << "Rep = " << Rep << endl;
- Info << "Cd = " << Cd << endl;
- Info << "drag = " << drag << endl;
+ Pout << "index = " << index << endl;
+ Pout << "Us = " << Us << endl;
+ Pout << "Ur = " << Ur << endl;
+ Pout << "ds = " << ds << endl;
+ Pout << "rho = " << rho << endl;
+ Pout << "nuf = " << nuf << endl;
+ Pout << "voidfraction = " << voidfraction << endl;
+ Pout << "Rep = " << Rep << endl;
+ Pout << "Cd = " << Cd << endl;
+ Pout << "drag = " << drag << endl;
}
//Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(drag); //first entry must the be the force
- vValues.append(Ur); //other are debug
-
- Field sValues;
- sValues.clear();
- sValues.append(Rep); //other are debug
- sValues.append(Cd); //other are debug
- sValues.append(voidfraction); //other are debug
-
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
-
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(drag); //first entry must the be the force
+ vValues.append(Ur);
+ sValues.append(Rep);
+ sValues.append(Cd);
+ sValues.append(voidfraction);
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
}
// set force on particle
if(treatExplicit_) for(int j=0;j<3;j++) expForces()[index][j] += drag[j];
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C
index d2a2a37a..bd7337ad 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C
@@ -67,7 +67,8 @@ GidaspowDrag::GidaspowDrag
velFieldName_(propsDict_.lookup("velFieldName")),
U_(sm.mesh().lookupObject (velFieldName_)),
densityFieldName_(propsDict_.lookup("densityFieldName")),
- rho_(sm.mesh().lookupObject (densityFieldName_))
+ rho_(sm.mesh().lookupObject (densityFieldName_)),
+ phi_(readScalar(propsDict_.lookup("phi")))
{
//Append the field names to be probed
particleCloud_.probeM().initialize(typeName, "gidaspowDrag.logDat");
@@ -100,9 +101,7 @@ void GidaspowDrag::setForce() const
const volScalarField& nufField = particleCloud_.turbulence().nu();
#endif
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index = 0;index < particleCloud_.numberOfParticles(); ++index)
{
@@ -116,7 +115,7 @@ void GidaspowDrag::setForce() const
vector Us = particleCloud_.velocity(index);
vector Ur = U_[cellI]-Us;
scalar magUr = mag(Ur);
- scalar ds = 2*particleCloud_.radius(index);
+ scalar ds = 2*particleCloud_.radius(index)*phi_;
scalar voidfraction = particleCloud_.voidfraction(index);
scalar rho = rho_[cellI];
scalar nuf = nufField[cellI];
@@ -149,18 +148,15 @@ void GidaspowDrag::setForce() const
//Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(drag); //first entry must the be the force
- vValues.append(Ur); //other are debug
-
- Field sValues;
- sValues.clear();
- sValues.append(KslLag); //other are debug
- sValues.append(voidfraction); //other are debug
-
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
-
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(drag); //first entry must the be the force
+ vValues.append(Ur);
+ sValues.append(KslLag);
+ sValues.append(voidfraction);
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
}
// set force on particle
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.H b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.H
index 44319b43..c8c0ef1b 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.H
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.H
@@ -69,6 +69,8 @@ private:
const volScalarField& rho_;
+ const scalar phi_;
+
public:
//- Runtime type information
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C
index 8956fede..56652cea 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C
@@ -144,9 +144,7 @@ void KochHillDrag::setForce() const
interpolationCellPoint voidfractionInterpolator_(voidfraction_);
interpolationCellPoint UInterpolator_(U_);
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index = 0;index < particleCloud_.numberOfParticles(); index++)
{
@@ -171,7 +169,7 @@ void KochHillDrag::setForce() const
if(voidfraction<0.40) voidfraction = 0.40;
}else
{
- voidfraction = particleCloud_.voidfraction(index);
+ voidfraction = voidfraction_[cellI];
Ufluid = U_[cellI];
}
@@ -222,6 +220,7 @@ void KochHillDrag::setForce() const
if(verbose_ && index >=0 && index <2)
{
+ Pout << "cellI = " << cellI << endl;
Pout << "index = " << index << endl;
Pout << "Us = " << Us << endl;
Pout << "Ur = " << Ur << endl;
@@ -234,20 +233,17 @@ void KochHillDrag::setForce() const
Pout << "drag = " << drag << endl;
}
- //Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(drag); //first entry must the be the force
- vValues.append(Ur); //other are debug
-
- Field sValues;
- sValues.clear();
- sValues.append(Rep); //other are debug
- sValues.append(betaP); //other are debug
- sValues.append(voidfraction); //other are debug
-
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
-
+ //Set value fields and write the probe
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(drag); //first entry must the be the force
+ vValues.append(Ur);
+ sValues.append(Rep);
+ sValues.append(betaP);
+ sValues.append(voidfraction);
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
}
// set force on particle
if(treatExplicit_) for(int j=0;j<3;j++) expForces()[index][j] += drag[j];
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillRWDrag/KochHillRWDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillRWDrag/KochHillRWDrag.C
index dfe1c67f..0ad0b471 100755
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillRWDrag/KochHillRWDrag.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillRWDrag/KochHillRWDrag.C
@@ -136,6 +136,12 @@ void KochHillRWDrag::allocateMyArrays() const
void KochHillRWDrag::setForce() const
{
+
+ // realloc the arrays
+ reAllocArrays();
+
+Info << "huhu" << endl;
+
if (scale_ > 1)
Info << "KochHillRW using scale = " << scale_ << endl;
else if (cg() > 1){
@@ -212,7 +218,7 @@ void KochHillRWDrag::setForce() const
Ufluid =vector(0,0,0);
// Pout << "RW-TEST: cellI = " << cellI << endl; // TEST-Output
-
+Info << "haha1" << endl;
if (cellI > -1) // particle Found
{
if(interpolation_)
@@ -246,7 +252,7 @@ void KochHillRWDrag::setForce() const
if(partTime_[index][0] > t+10*timeE)
partTime_[index][0] = t;
// -------------------------
-
+Info << "haha2" << endl;
//Pout << "RW-TEST: t = " << t << " partTime_ = " << partTime_[index][0] << endl; // TEST-Output
if(t>=partTime_[index][0])
{
@@ -281,6 +287,7 @@ void KochHillRWDrag::setForce() const
} else {
minDeltaT = timeE;
}
+Info << "haha3" << endl;
//Pout << "RW-TEST: timeE = " << timeE << " timeCR = " << timeCr << endl; // TEST-Output
// calculate time step of next update
@@ -295,9 +302,11 @@ void KochHillRWDrag::setForce() const
//Pout << "RW-TEST: Ufluid[" << dim << "] = " << Ufluid[dim] << " Ufluct = " << partUfluct_[index][dim] << " k = " << k << endl; // TEST-Output
Ufluid[dim] = Ufluid[dim] + partUfluct_[index][dim];
}
+Info << "haha4" << endl;
}
else
{
+Info << "haha5" << endl;
// no update of the turbulent velocity part
// modify current fluid velocity
for(int dim=0;dim<3;dim++)
@@ -315,7 +324,7 @@ void KochHillRWDrag::setForce() const
Rep = 0;
Vs = ds*ds*ds*M_PI/6;
volumefraction = 1-voidfraction+SMALL;
-
+Info << "haha6" << endl;
if (magUr > 0)
{
// calc particle Re Nr
@@ -349,6 +358,7 @@ void KochHillRWDrag::setForce() const
if (modelType_=="B")
drag /= voidfraction;
+Info << "haha7" << endl;
}
if(verbose_ && index >=0 && index <2)
@@ -364,7 +374,9 @@ void KochHillRWDrag::setForce() const
Pout << "Rep = " << Rep << endl;
Pout << "drag = " << drag << endl;
}
+Info << "haha8" << endl;
}
+Info << "haha9" << endl;
// set force on particle
if(treatExplicit_) for(int j=0;j<3;j++) expForces()[index][j] += drag[j];
else for(int j=0;j<3;j++) impForces()[index][j] += drag[j];
@@ -382,9 +394,10 @@ void KochHillRWDrag::setForce() const
}else{
for(int j=0;j<3;j++) DEMForces()[index][j] += drag[j];
}
-
+Info << "haha10" << endl;
//}
}
+Info << "haha11" << endl;
}
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/MeiLift/MeiLift.C b/src/lagrangian/cfdemParticle/subModels/forceModel/MeiLift/MeiLift.C
index 738244a8..38d5527d 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/MeiLift/MeiLift.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/MeiLift/MeiLift.C
@@ -138,9 +138,7 @@ void MeiLift::setForce() const
interpolationCellPoint UInterpolator_(U_);
interpolationCellPoint VorticityInterpolator_(vorticityField);
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index = 0;index < particleCloud_.numberOfParticles(); index++)
{
@@ -248,19 +246,17 @@ void MeiLift::setForce() const
}
//Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(lift); //first entry must the be the force
- vValues.append(Ur); //other are debug
- vValues.append(vorticity); //other are debug
-
- Field sValues;
- sValues.clear();
- sValues.append(Rep); //other are debug
- sValues.append(Rew); //other are debug
- sValues.append(J_star); //other are debug
-
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(lift); //first entry must the be the force
+ vValues.append(Ur);
+ vValues.append(vorticity);
+ sValues.append(Rep);
+ sValues.append(Rew);
+ sValues.append(J_star);
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
// END OF SAMPLING AND VERBOSE OUTOUT
//**********************************
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/SchillerNaumannDrag/SchillerNaumannDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/SchillerNaumannDrag/SchillerNaumannDrag.C
index c2476af5..0630b0f9 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/SchillerNaumannDrag/SchillerNaumannDrag.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/SchillerNaumannDrag/SchillerNaumannDrag.C
@@ -101,9 +101,7 @@ void SchillerNaumannDrag::setForce() const
const volScalarField& nufField = particleCloud_.turbulence().nu();
#endif
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index = 0;index < particleCloud_.numberOfParticles(); index++)
{
@@ -155,18 +153,15 @@ void SchillerNaumannDrag::setForce() const
}
//Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(drag); //first entry must the be the force
- vValues.append(Ur); //other are debug
-
- Field sValues;
- sValues.clear();
- sValues.append(Rep); //other are debug
- sValues.append(Cd); //other are debug
-
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
-
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(drag); //first entry must the be the force
+ vValues.append(Ur);
+ sValues.append(Rep);
+ sValues.append(Cd);
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
}
// set force on particle
if(treatExplicit_) for(int j=0;j<3;j++) expForces()[index][j] += drag[j];
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/ShirgaonkarIB/ShirgaonkarIB.C b/src/lagrangian/cfdemParticle/subModels/forceModel/ShirgaonkarIB/ShirgaonkarIB.C
index 57aa3aa8..43968692 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/ShirgaonkarIB/ShirgaonkarIB.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/ShirgaonkarIB/ShirgaonkarIB.C
@@ -115,9 +115,7 @@ void ShirgaonkarIB::setForce() const
volVectorField h = rho_*(nufField*fvc::laplacian(U_)-fvc::grad(p_));
#endif
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index=0; index< particleCloud_.numberOfParticles(); index++)
{
@@ -140,14 +138,13 @@ void ShirgaonkarIB::setForce() const
// set force on particle
if(twoDimensional_) drag /= depth_;
- //Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(drag); //first entry must the be the force
-
- Field sValues;
- sValues.clear();
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ //Set value fields and write the probe
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(drag); //first entry must the be the force
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
if(treatExplicit_) for(int j=0;j<3;j++) expForces()[index][j] += drag[j];
else for(int j=0;j<3;j++) impForces()[index][j] += drag[j];
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.C b/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.C
index ab00f0a8..d4b94e37 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.C
@@ -85,7 +85,8 @@ forceModel::forceModel
),
coupleForce_(true),
modelType_(sm.modelType()),
- cg_(1.)
+ cg_(1.),
+ probeIt_(sm.probeM().active())
{}
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.H b/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.H
index fc839e51..82ebb0ad 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.H
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.H
@@ -77,6 +77,8 @@ protected:
mutable scalar cg_;
+ bool probeIt_;
+
public:
//- Runtime type information
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/gradPForce/gradPForce.C b/src/lagrangian/cfdemParticle/subModels/forceModel/gradPForce/gradPForce.C
index 4a83f372..4bddbff0 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/gradPForce/gradPForce.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/gradPForce/gradPForce.C
@@ -133,9 +133,7 @@ void gradPForce::setForce() const
interpolationCellPoint gradPInterpolator_(gradPField);
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index = 0;index < particleCloud_.numberOfParticles(); index++)
{
@@ -174,15 +172,14 @@ void gradPForce::setForce() const
}
//Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(force); //first entry must the be the force
- Field sValues;
- sValues.clear();
- sValues.append(Vs);
- sValues.append(rho);
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
-
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(force); //first entry must the be the force
+ sValues.append(Vs);
+ sValues.append(rho);
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
}
// set force on particle
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.C
index a4cf37f7..1bafc1f3 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.C
@@ -60,8 +60,18 @@ noDrag::noDrag
cfdemCloud& sm
)
:
- forceModel(dict,sm)
+ forceModel(dict,sm),
+ propsDict_(dict),
+ verbose_(false),
+ noDEMForce_(false)
{
+ if(dict.found(word(typeName + "Props")))
+ propsDict_=dictionary(dict.subDict(typeName + "Props"));
+
+ if (propsDict_.found("noDEMForce")) noDEMForce_=true;
+
+ if (propsDict_.found("keepCFDForce")) keepCFDForce_=true;
+
coupleForce_=false;
}
@@ -80,12 +90,14 @@ void noDrag::setForce() const
Info << "noDrag::setForce" << endl;
for(int index = 0;index < particleCloud_.numberOfParticles(); ++index)
{
- //if(mask[index][0])
- //{
- // set force on particle
+ // set force on particle
+ if(!keepCFDForce_)
+ {
if(treatExplicit_) for(int j=0;j<3;j++) expForces()[index][j] = 0.;
else for(int j=0;j<3;j++) impForces()[index][j] = 0.;
- //}
+ }
+ if(noDEMForce_)for(int j=0;j<3;j++) DEMForces()[index][j] = 0.;
+
}
}
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.H b/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.H
index e07fc373..89282670 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.H
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.H
@@ -54,11 +54,19 @@ class noDrag
:
public forceModel
{
+private:
+ dictionary propsDict_;
+
+ bool verbose_;
+
+ bool noDEMForce_;
+
+ bool keepCFDForce_;
public:
//- Runtime type information
- TypeName("off");
+ TypeName("noDrag");
// Constructors
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.C b/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.C
index 21ae1c06..5ea98110 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.C
@@ -79,6 +79,19 @@ particleCellVolume::particleCellVolume
mesh_,
dimensionedScalar("zero", dimensionSet(0,0,0,0,0), 0)
),
+ scalarField2_
+ (
+ IOobject
+ (
+ "cellVolume",
+ mesh_.time().timeName(),
+ mesh_,
+ IOobject::NO_READ,
+ IOobject::AUTO_WRITE
+ ),
+ mesh_,
+ dimensionedScalar("zero", dimensionSet(0,0,0,0,0), 0)
+ ),
upperThreshold_(readScalar(propsDict_.lookup("upperThreshold"))),
lowerThreshold_(readScalar(propsDict_.lookup("lowerThreshold"))),
verbose_(false)
@@ -122,20 +135,26 @@ void particleCellVolume::setForce() const
{
cellVol = mesh_.V()[cellI];
scalarField_[cellI] = (1-fieldValue) * cellVol;
+ scalarField2_[cellI] = cellVol;
}
else
{
scalarField_[cellI] = 0.;
+ scalarField2_[cellI] = 0.;
}
}
scalarField_.internalField() = gSum(scalarField_);
+ scalarField2_.internalField() = gSum(scalarField2_);
if(verbose_)
{
- Info << "calculated integral of field: " << scalarFieldName_
+ Info << "calculated integral particle volume "
<< " = " << scalarField_[0]
<< ",\n considering cells where the field < " << upperThreshold_
- << ", and > " << lowerThreshold_ << endl;
+ << ", and > " << lowerThreshold_
+ << ",\n the total volume of cells holding particles = " << scalarField2_[0]
+ << ",\n this results in an average volume fraction of:" << scalarField_[0]/(scalarField2_[0]+SMALL)
+ << endl;
}
}// end if time >= startTime_
}
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.H b/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.H
index 1b0e3177..4beb226f 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.H
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.H
@@ -66,6 +66,8 @@ private:
mutable volScalarField scalarField_;
+ mutable volScalarField scalarField2_;
+
mutable scalar upperThreshold_;
mutable scalar lowerThreshold_;
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/virtualMassForce/virtualMassForce.C b/src/lagrangian/cfdemParticle/subModels/forceModel/virtualMassForce/virtualMassForce.C
index 1fb56690..89ab4a70 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/virtualMassForce/virtualMassForce.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/virtualMassForce/virtualMassForce.C
@@ -107,9 +107,7 @@ void virtualMassForce::setForce() const
scalar dt = U_.mesh().time().deltaT().value();
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index = 0;index < particleCloud_.numberOfParticles(); index++)
{
@@ -137,17 +135,16 @@ void virtualMassForce::setForce() const
virtualMassForce = 0.5 * rho * Vs * ddtUrel;
//Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(virtualMassForce); //first entry must the be the force
- vValues.append(Ur);
- vValues.append(UrelOld);
- Field sValues;
- sValues.clear();
- sValues.append(Vs);
- sValues.append(rho);
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
-
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(virtualMassForce); //first entry must the be the force
+ vValues.append(Ur);
+ vValues.append(UrelOld);
+ sValues.append(Vs);
+ sValues.append(rho);
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
}
// set force on particle
if(treatExplicit_) for(int j=0;j<3;j++) expForces()[index][j] += virtualMassForce[j];
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/viscForce/viscForce.C b/src/lagrangian/cfdemParticle/subModels/forceModel/viscForce/viscForce.C
index af58137e..85a47d93 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModel/viscForce/viscForce.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModel/viscForce/viscForce.C
@@ -131,9 +131,7 @@ void viscForce::setForce() const
interpolationCellPoint divTauInterpolator_(divTauField);
- //set probeModel parameters for this force model
- particleCloud_.probeM().setOutputFile();
- particleCloud_.probeM().setCounter();
+ #include "setupProbeModel.H"
for(int index = 0;index < particleCloud_.numberOfParticles(); index++)
{
@@ -170,14 +168,13 @@ void viscForce::setForce() const
}
//Set value fields and write the probe
- Field vValues;
- vValues.clear();
- vValues.append(force); //first entry must the be the force
- Field sValues;
- sValues.clear();
- sValues.append(Vs);
- particleCloud_.probeM().writeProbe(index, sValues, vValues);
-
+ if(probeIt_)
+ {
+ #include "setupProbeModelfields.H"
+ vValues.append(force); //first entry must the be the force
+ sValues.append(Vs);
+ particleCloud_.probeM().writeProbe(index, sValues, vValues);
+ }
}
// set force on particle
@@ -191,7 +188,6 @@ void viscForce::setForce() const
}
}
-
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.C b/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.C
index b90c593d..78788ced 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.C
@@ -75,6 +75,15 @@ DiFeliceDragMS::DiFeliceDragMS
//sphereToClump_(readScalar(propsDict_.lookup("sphereToClump")))
dH_(readScalar(propsDict_.lookup("hydraulicDiameter")))
{
+ //Append the field names to be probed
+ particleCloud_.probeM().initialize(typeName, "diFeliceDrag.logDat");
+ particleCloud_.probeM().vectorFields_.append("dragForce"); //first entry must the be the force
+ particleCloud_.probeM().vectorFields_.append("Urel"); //other are debug
+ particleCloud_.probeM().scalarFields_.append("Rep"); //other are debug
+ particleCloud_.probeM().scalarFields_.append("Cd"); //other are debug
+ particleCloud_.probeM().scalarFields_.append("voidfraction"); //other are debug
+ particleCloud_.probeM().writeHeader();
+
if (propsDict_.found("verbose")) verbose_=true;
if (propsDict_.found("treatExplicit")) treatExplicit_=true;
if (propsDict_.found("interpolation"))
@@ -82,6 +91,7 @@ DiFeliceDragMS::DiFeliceDragMS
Info << "using interpolated value of U." << endl;
interpolation_=true;
}
+ particleCloud_.checkCG(false);
}
@@ -102,11 +112,11 @@ void DiFeliceDragMS::setForce() const
const volScalarField& nufField = cloudRefMS().turbulence().nu();
#endif
- interpolationCellPoint UInterpolator(U_);
- interpolationCellPoint voidfractionInterpolator(voidfraction_);
- vector U(0,0,0);
vector position(0,0,0);
scalar voidfraction(1);
+ vector Ufluid(0,0,0);
+ vector drag(0,0,0);
+ label cellI=0;
vector Us(0,0,0);
vector Ur(0,0,0);
scalar ds(0);
@@ -116,32 +126,38 @@ void DiFeliceDragMS::setForce() const
scalar Rep(0);
scalar Cd(0);
+ interpolationCellPoint voidfractionInterpolator(voidfraction_);
+ interpolationCellPoint UInterpolator(U_);
+
cloudRefMS().resetArray(cloudRefMS().expForcesCM(),cloudRefMS().numberOfClumps(),3);
cloudRefMS().resetArray(cloudRefMS().impForcesCM(),cloudRefMS().numberOfClumps(),3);
+ cloudRefMS().resetArray(cloudRefMS().DEMForcesCM(),cloudRefMS().numberOfClumps(),3);
+
+ #include "setupProbeModel.H"
for(int index = 0;index < cloudRefMS().numberOfClumps(); index++)
{
//if(mask[index][0]) // would have to be transformed from body ID to particle ID
//{
- vector drag(0,0,0);
- label cellI = cloudRefMS().cellIDCM(index);
+ cellI = cloudRefMS().cellIDCM(index);
+ drag = vector(0,0,0);
if (cellI > -1) // particle Found
{
if(interpolation_)
{
position = cloudRefMS().positionCM(index);
- U = UInterpolator.interpolate(position,cellI);
+ Ufluid = UInterpolator.interpolate(position,cellI);
voidfraction = voidfractionInterpolator.interpolate(position,cellI);
}else
{
- U = U_[cellI];
- voidfraction = voidfraction_[cellI];
+ Ufluid = U_[cellI];
+ voidfraction = voidfraction_[cellI]; //particleCloud_.voidfraction(index); ???//
}
Us = cloudRefMS().velocityCM(index);
- Ur = U-Us;
+ Ur = Ufluid-Us;
//ds = 2*cloudRefMS().radius(index)/sphereToClump_; // scale from particle diameter
ds = dH_; // use dict defined diameter
@@ -156,7 +172,7 @@ void DiFeliceDragMS::setForce() const
if (magUr > 0)
{
// calc particle Re Nr
- Rep = ds*voidfraction*magUr/nuf;
+ Rep = ds*voidfraction*magUr/(nuf+SMALL);
// calc fluid drag Coeff
// phi=1; //AsurfAequi/Asurf;
@@ -194,6 +210,7 @@ void DiFeliceDragMS::setForce() const
// set force on bodies
if(treatExplicit_) for(int j=0;j<3;j++) cloudRefMS().expForcesCM()[index][j] += drag[j];
else for(int j=0;j<3;j++) cloudRefMS().impForcesCM()[index][j] += drag[j];
+ for(int j=0;j<3;j++) cloudRefMS().DEMForcesCM()[index][j] += drag[j];
//}
}
diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.C b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.C
index 9af73318..c154b6ff 100644
--- a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.C
+++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.C
@@ -68,6 +68,7 @@ execute::execute
commandList_(0),
command_(""),
scalarList_(0),
+ labelList_(0),
runTimeModifiable_(true),
timeStamp_(false)
{
@@ -83,9 +84,13 @@ execute::execute
// read list of scalars
if(propsDict_.found("scalars")) scalarList_ = scalarList(propsDict_.lookup("scalars"));
+ // read list of labels
+ if(propsDict_.found("labels")) labelList_ = labelList(propsDict_.lookup("labels"));
+
bool addBlank = true; // std no blanks after each word
fileName add;
label numberCount=0; // nr of scalars inserted to command
+ label labelCount=0; // nr of labels inserted to command
forAll(commandList_,i)
{
@@ -125,6 +130,18 @@ execute::execute
sprintf(h,"%f",scalarList_[numberCount]);
add = h;
numberCount ++;
+ }else if (add=="label") // next command will be a number read from scalarList_
+ {
+ if (!propsDict_.found("labels"))
+ {
+ FatalError<<"you want to use a label in the command\n - specify a label list with all numbers"
+ << abort(FatalError);
+
+ }
+ char h[50];
+ sprintf(h,"%d",labelList_[labelCount]);
+ add = h;
+ labelCount ++;
}
// compose command
diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.H b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.H
index 46f91100..20c9f3b4 100644
--- a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.H
+++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.H
@@ -69,6 +69,8 @@ private:
scalarList scalarList_;
+ labelList labelList_;
+
bool runTimeModifiable_;
bool timeStamp_;
diff --git a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.C b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.C
index 762eefab..b3c38d4a 100644
--- a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.C
+++ b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.C
@@ -96,9 +96,9 @@ label engineSearch::findCell
//if(mask[index][0] && particleCloud_.radius(index) > SMALL)
if(particleCloud_.radius(index) > SMALL)
{
-
// create pos vector
for(int i=0;i<3;i++) position[i] = positions[index][i];
+
// find cell
cellIDs[index][0] =searchEngine_.findCell(position,cellIDs[index][0],treeSearch_);
}
diff --git a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.C b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.C
index 0b97a824..64dd4cc6 100644
--- a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.C
+++ b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.C
@@ -36,6 +36,7 @@ Description
#include "addToRunTimeSelectionTable.H"
#include "mathematicalConstants.H"
+#include "mpi.h"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -66,8 +67,13 @@ engineSearchIB::engineSearchIB
engineSearch(dict.subDict(typeName + "Props"),sm),
propsDict_(dict.subDict(typeName + "Props")),
zSplit_(readLabel(propsDict_.lookup("zSplit"))),
- xySplit_(readLabel(propsDict_.lookup("xySplit")))
-{}
+ xySplit_(readLabel(propsDict_.lookup("xySplit"))),
+ checkPeriodicCells_(false)
+{
+
+ if(propsDict_.found("checkPeriodicCells")) checkPeriodicCells_=true;
+
+}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
@@ -87,6 +93,13 @@ label engineSearchIB::findCell
int size
) const
{
+
+ int numprocs, me;
+ MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
+ MPI_Comm_rank(MPI_COMM_WORLD, &me);
+ const boundBox& globalBb = particleCloud_.mesh().bounds();
+
+
vector position;
for(int index = 0;index < size; ++index)
{
@@ -118,7 +131,8 @@ label engineSearchIB::findCell
pos[2]+=radius;
else if(countPoints==1)
pos[2]-=radius;
- else {
+ else
+ {
thetaLevel=(countPoints-2)/xySplit_;
theta=factor*thetaSize*thetaLevel;
phi=factor*phiSize*(countPoints-2-thetaLevel*xySplit_);
@@ -128,6 +142,23 @@ label engineSearchIB::findCell
}
altStartPos=findSingleCell(pos,oldID); //particleCloud_.mesh().findCell(pos);//
+ //check for periodic domains
+ if(checkPeriodicCells_)
+ {
+ for(int iDir=0;iDir<3;iDir++)
+ {
+ if( pos[iDir] > globalBb.max()[iDir] )
+ {
+ pos[iDir]-=globalBb.max()[iDir]-globalBb.min()[iDir];
+ }
+ else if( pos[iDir] < globalBb.min()[iDir] )
+ {
+ pos[iDir]+=globalBb.max()[iDir]-globalBb.min()[iDir];
+ }
+ }
+ altStartPos=findSingleCell(pos,oldID); //particleCloud_.mesh().findCell(pos);//
+ }
+
if(altStartPos>=0) foundPos=1;
countPoints++;
}
diff --git a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.H b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.H
index 0ef6f114..ad65d017 100644
--- a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.H
+++ b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.H
@@ -62,6 +62,8 @@ private:
const label zSplit_;
const label xySplit_;
+
+ bool checkPeriodicCells_;
public:
diff --git a/src/lagrangian/cfdemParticle/subModels/probeModel/noProbe/noProbe.H b/src/lagrangian/cfdemParticle/subModels/probeModel/noProbe/noProbe.H
index c47ebd2b..789b8ff6 100644
--- a/src/lagrangian/cfdemParticle/subModels/probeModel/noProbe/noProbe.H
+++ b/src/lagrangian/cfdemParticle/subModels/probeModel/noProbe/noProbe.H
@@ -80,7 +80,7 @@ public:
~noProbe();
// Member Functions
-
+ bool active() const {return false;};
};
diff --git a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C
index 1263ee09..dc480bdc 100644
--- a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C
+++ b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C
@@ -78,7 +78,7 @@ particleProbe::particleProbe
sampleAll_(false),
probeDebug_(false),
includePosition_(false),
- particleIDsToSample_(dict.lookup("particleIDsToSample")),
+ particleIDsToSample_(propsDict_.lookup("particleIDsToSample")),
itemsToSample_(NULL),
sPtrList_(NULL),
itemCounter_(0),
diff --git a/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H b/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H
index 0c182bd4..0330dc1c 100644
--- a/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H
+++ b/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H
@@ -138,7 +138,7 @@ public:
virtual void writeProbe(int index, Field sValues, Field vValues) const {};
virtual bool checkIDForPrint(int) const {return false;};
virtual void setCounter() const {};
-
+ virtual bool active() const {return true;};
const char* wordToChar(word&) const;
// Access
diff --git a/src/lagrangian/cfdemParticle/subModels/smoothingModel/constDiffSmoothing/constDiffSmoothing.C b/src/lagrangian/cfdemParticle/subModels/smoothingModel/constDiffSmoothing/constDiffSmoothing.C
index 84dc75d7..c1adbc0f 100644
--- a/src/lagrangian/cfdemParticle/subModels/smoothingModel/constDiffSmoothing/constDiffSmoothing.C
+++ b/src/lagrangian/cfdemParticle/subModels/smoothingModel/constDiffSmoothing/constDiffSmoothing.C
@@ -110,8 +110,14 @@ bool constDiffSmoothing::doSmoothing() const
dSmooth.internalField() = dSmooth0;
}*/
-void Foam::constDiffSmoothing::smoothen(volScalarField& field) const
+void Foam::constDiffSmoothing::smoothen(volScalarField& fieldSrc) const
{
+ // transfer data to working field to not mess up ddt
+ volScalarField field=fieldSrc;
+ field.correctBoundaryConditions();
+ field.oldTime()=fieldSrc;
+ field.oldTime().correctBoundaryConditions();
+
double deltaT = field.mesh().time().deltaTValue();
DT_.value() = smoothingLength_.value() * smoothingLength_.value() / deltaT;
@@ -127,7 +133,10 @@ void Foam::constDiffSmoothing::smoothen(volScalarField& field) const
{
field[cellI]=max(lowerLimit_,min(upperLimit_,field[cellI]));
}
-
+
+ // get data from working field
+ fieldSrc=field;
+ fieldSrc.correctBoundaryConditions();
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
void Foam::constDiffSmoothing::smoothen(volVectorField& field) const
@@ -184,7 +193,7 @@ void Foam::constDiffSmoothing::smoothenReferenceField(volVectorField& field) con
(
fvm::ddt(field) == fvm::laplacian( DT_, field)
+ NLarge() / deltaT * field.oldTime() //add source to keep cell values constant
- - fvm::Sp( NLarge() / deltaT, field) //add sink to keep cell values constant
+ - fvm::Sp( NLarge() / deltaT, field) //add sink to keep cell values constant
);
}
diff --git a/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.C b/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.C
index febfdf3b..01a73ab1 100644
--- a/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.C
+++ b/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.C
@@ -71,19 +71,13 @@ noSmoothing::~noSmoothing()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::noSmoothing::smoothen(volScalarField& field) const
-{
- field=field.oldTime();
-}
+{}
void Foam::noSmoothing::smoothen(volVectorField& field) const
-{
- field=field.oldTime();
-}
+{}
void Foam::noSmoothing::smoothenReferenceField(volVectorField& field) const
-{
- field=field.oldTime();
-}
+{}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/lagrangian/cfdemParticle/subModels/voidFractionModel/IBVoidFraction/IBVoidFraction.C b/src/lagrangian/cfdemParticle/subModels/voidFractionModel/IBVoidFraction/IBVoidFraction.C
index f78fdb43..25888f09 100755
--- a/src/lagrangian/cfdemParticle/subModels/voidFractionModel/IBVoidFraction/IBVoidFraction.C
+++ b/src/lagrangian/cfdemParticle/subModels/voidFractionModel/IBVoidFraction/IBVoidFraction.C
@@ -36,6 +36,7 @@ Description
#include "locateModel.H"
#include "dataExchangeModel.H"
+#include "mpi.h"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -67,7 +68,8 @@ IBVoidFraction::IBVoidFraction
propsDict_(dict.subDict(typeName + "Props")),
alphaMin_(readScalar(propsDict_.lookup("alphaMin"))),
alphaLimited_(0),
- scaleUpVol_(readScalar(propsDict_.lookup("scaleUpVol")))
+ scaleUpVol_(readScalar(propsDict_.lookup("scaleUpVol"))),
+ checkPeriodicCells_(false)
{
Info << "\n\n W A R N I N G - do not use in combination with differentialRegion model! \n\n" << endl;
//Info << "\n\n W A R N I N G - this model does not yet work properly! \n\n" << endl;
@@ -75,6 +77,8 @@ IBVoidFraction::IBVoidFraction
if(scaleUpVol_ < 1){ FatalError<< "scaleUpVol shloud be > 1."<< abort(FatalError); }
if(alphaMin_ > 1 || alphaMin_ < 0.01){ FatalError<< "alphaMin shloud be > 1 and < 0.01." << abort(FatalError); }
+
+ if(propsDict_.found("checkPeriodicCells")) checkPeriodicCells_=true;
}
@@ -88,6 +92,12 @@ IBVoidFraction::~IBVoidFraction()
void IBVoidFraction::setvoidFraction(double** const& mask,double**& voidfractions,double**& particleWeights,double**& particleVolumes) const
{
+
+ int numprocs, me;
+ MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
+ MPI_Comm_rank(MPI_COMM_WORLD, &me);
+ const boundBox& globalBb = particleCloud_.mesh().bounds();
+
reAllocArrays();
voidfractionNext_.internalField()=1;
@@ -117,55 +127,186 @@ void IBVoidFraction::setvoidFraction(double** const& mask,double**& voidfraction
vector cellCentrePosition = particleCloud_.mesh().C()[particleCenterCellID];
scalar centreDist=mag(cellCentrePosition-positionCenter);
- if(centreDist + 0.5*sqrt(3.0)*pow(particleCloud_.mesh().V()[particleCenterCellID],0.33333) < radius){
+ vector minPeriodicParticlePos;
+ if(checkPeriodicCells_) //consider minimal distance to all periodic images of this particle
+ {
+ centreDist = minPeriodicDistance(cellCentrePosition, positionCenter, globalBb,
+ minPeriodicParticlePos);
+ }
+
+ if(centreDist + 0.5*sqrt(3.0)*pow(particleCloud_.mesh().V()[particleCenterCellID],0.33333) < radius)
+ {
voidfractionNext_[particleCenterCellID] = 0;
}
- else {
+ else
+ {
const labelList& vertices = particleCloud_.mesh().cellPoints()[particleCenterCellID];
- forAll(vertices, i){
+ forAll(vertices, i)
+ {
vector vertexPosition = particleCloud_.mesh().points()[vertices[i]];
- if(centreDist < radius && mag(vertexPosition-positionCenter) < radius){
+ scalar centreVertexDist = mag(vertexPosition-positionCenter);
+ if(checkPeriodicCells_) //consider minimal distance to all periodic images of this particle
+ {
+ centreVertexDist = minPeriodicDistance(vertexPosition, positionCenter, globalBb,
+ minPeriodicParticlePos);
+ }
+
+ if(centreDist radius){
+ else if(centreDistradius)
+ {
//compute lambda
- scalar a = (vertexPosition - cellCentrePosition)&(vertexPosition - cellCentrePosition);
- scalar b = 2.* (vertexPosition - cellCentrePosition)&(cellCentrePosition-positionCenter);
- scalar c = ((cellCentrePosition-positionCenter)&(cellCentrePosition-positionCenter))-radius*radius;
+ if(!checkPeriodicCells_) //set if no periodic check of cells
+ {
+ minPeriodicParticlePos = positionCenter;
+ }
+
+ scalar a = (vertexPosition - cellCentrePosition)
+ & (vertexPosition - cellCentrePosition);
+ scalar b = 2. * (vertexPosition - cellCentrePosition)
+ & (cellCentrePosition-minPeriodicParticlePos);
+ scalar c = ((cellCentrePosition-minPeriodicParticlePos)
+ & (cellCentrePosition-minPeriodicParticlePos)
+ )
+ - radius*radius;
+
scalar lambda = 0.;
- if(b*b-4*a*c>=0) lambda = (-b+sqrt(b*b-4*a*c))/(2*a);
- if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID] -=lambda*.125;
- else {
+ if (b*b-4*a*c>=0) lambda = (-b+sqrt(b*b-4*a*c))/(2*a);
+ if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID]-=lambda*.125;
+ else
+ {
lambda = (-b-sqrt(b*b-4*a*c))/(2*a);
- if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID] -=lambda * 0.125;
+ if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID]-=lambda*.125;
}
}
- else if(centreDist > radius && mag(vertexPosition-positionCenter) < radius){
+ else if(centreDist>radius && centreVertexDist=0) lambda = (-b+sqrt(b*b-4*a*c))/(2*a);
- if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID] -=(1-lambda) * 0.125;
- else {
+ if(lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID]-=(1-lambda)*0.125;
+ else
+ {
lambda = (-b-sqrt(b*b-4*a*c))/(2*a);
- if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID] -=(1-lambda) * 0.125;
+ if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID]-=(1-lambda)*0.125;
}
}
}
}
- buildLabelHashSet(radius, positionCenter, particleCenterCellID, hashSett);
-
//generating list with cell and subcells
+ buildLabelHashSet(radius, minPeriodicParticlePos, particleCenterCellID, hashSett, true);
+
+ //Add cells of periodic particle images on same processor
+ if(checkPeriodicCells_)
+ {
+ int doPeriodicImage[3];
+ for(int iDir=0;iDir<3;iDir++)
+ {
+ doPeriodicImage[iDir]= 0;
+ if( (minPeriodicParticlePos[iDir]+radius)>globalBb.max()[iDir] )
+ {
+ doPeriodicImage[iDir] =-1;
+ }
+ if( (minPeriodicParticlePos[iDir]-radius) particlePosList; //List of particle center position
+ List