diff --git a/README b/README
deleted file mode 100755
index fd2ca756..00000000
--- a/README
+++ /dev/null
@@ -1,81 +0,0 @@
-/*---------------------------------------------------------------------------*\
- 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/doc/CFDEMcoupling_Manual.pdf b/doc/CFDEMcoupling_Manual.pdf
index a1e50042..54228f6f 100644
Binary files a/doc/CFDEMcoupling_Manual.pdf and b/doc/CFDEMcoupling_Manual.pdf differ
diff --git a/doc/clockModel_standardClock.html b/doc/clockModel_standardClock.html
index 57ec9ee9..b757df1f 100644
--- a/doc/clockModel_standardClock.html
+++ b/doc/clockModel_standardClock.html
@@ -23,7 +23,7 @@
The "standardClock" model is a basic clockModel model which measures the run time between every ".start(int arrayPos,string name)" and ".stop(string name)" statement placed in the code. If a ".start(name)" is called more than once (e.g. in a loop) the accumulated times are calculated. After the simulation has finished, the data is stored in $caseDir/CFD/clockData/$startTime/*.txt .
Since the measurements are stored in an array, it is necessary to put a variable arrayPos (type integer) at the start command. Those do not need to be in ascending order and positions may be omitted. The standard size of this array is 30 and can be changed at the initialization of the standardClock class. If arrayPos is out of bounds, the array size will be doubled. The stop command does not need arrayPos, since the class remembers the positions. The string name is intended for easier evaluation afterwards an may be omitted like ".start(int arrayPos)" and ".stop()". The command ".stop(string name)" is a safety feature, because if the name is not equal to the started name, output will be produced for information.
-After the case ran you may use the matPlot.py script located in $CFDEM_UT_DIR/vizClock/ to produce a graphical output of your measurements. The usage is like 'python < matPlot.py' and you have to be in the directory of the desired time step, where there is a file called "timeEvalFull.txt", which contains averaged and maximum data with respect to the number of processes.
+After the case ran you may use the matPlot.py script located in $CFDEM_UT_DIR/vizClock/ to produce a graphical output of your measurements. The usage is like 'python < matPlot.py' and you have to be in the directory of the desired time step, where there is a file called "timeEvalFull.txt", which contains averaged and maximum data with respect to the number of processes. There is an alias called "vizClock" to run this python routine for visualizing the data.
Restrictions: none.
diff --git a/doc/clockModel_standardClock.txt b/doc/clockModel_standardClock.txt
index 30d675cb..bae9832a 100644
--- a/doc/clockModel_standardClock.txt
+++ b/doc/clockModel_standardClock.txt
@@ -21,7 +21,7 @@ clockModel standardClock; :pre
The "standardClock" model is a basic clockModel model which measures the run time between every ".start(int arrayPos,string name)" and ".stop(string name)" statement placed in the code. If a ".start(name)" is called more than once (e.g. in a loop) the accumulated times are calculated. After the simulation has finished, the data is stored in $caseDir/CFD/clockData/$startTime/*.txt .
Since the measurements are stored in an array, it is necessary to put a variable {arrayPos} (type integer) at the start command. Those do not need to be in ascending order and positions may be omitted. The standard size of this array is 30 and can be changed at the initialization of the standardClock class. If {arrayPos} is out of bounds, the array size will be doubled. The stop command does not need {arrayPos}, since the class remembers the positions. The string name is intended for easier evaluation afterwards an may be omitted like ".start(int arrayPos)" and ".stop()". The command ".stop(string name)" is a safety feature, because if the name is not equal to the started name, output will be produced for information.
-After the case ran you may use the matPlot.py script located in $CFDEM_UT_DIR/vizClock/ to produce a graphical output of your measurements. The usage is like 'python < matPlot.py' and you have to be in the directory of the desired time step, where there is a file called "timeEvalFull.txt", which contains averaged and maximum data with respect to the number of processes.
+After the case ran you may use the matPlot.py script located in $CFDEM_UT_DIR/vizClock/ to produce a graphical output of your measurements. The usage is like 'python < matPlot.py' and you have to be in the directory of the desired time step, where there is a file called "timeEvalFull.txt", which contains averaged and maximum data with respect to the number of processes. There is an alias called "vizClock" to run this python routine for visualizing the data.
[Restrictions:] none.
diff --git a/doc/githubAccess_public.pdf b/doc/githubAccess_public.pdf
index 354497c7..f02de639 100644
Binary files a/doc/githubAccess_public.pdf and b/doc/githubAccess_public.pdf differ
diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files
index f9b90c0e..affac79f 100644
--- a/src/finiteVolume/Make/files
+++ b/src/finiteVolume/Make/files
@@ -2,11 +2,11 @@ fvPatchFields = fields/fvPatchFields
derivedFvPatchFields = $(fvPatchFields)/derived
general = cfdTools/general
-porosity = $(general)/porosityModel
+/*porosity = $(general)/porosityModel*/
$(derivedFvPatchFields)/uniformFixedValueVoidfraction/uniformFixedValueVoidfractionFvPatchFields.C
$(derivedFvPatchFields)/uniformFixedValueTube/uniformFixedValueTubeFvPatchFields.C
-$(porosity)/DarcyForchheimerLimiter/DarcyForchheimerLimiter.C
+/*$(porosity)/DarcyForchheimerLimiter/DarcyForchheimerLimiter.C*/
LIB = $(CFDEM_LIB_DIR)/libfiniteVolumeCFDEM
diff --git a/src/lagrangian/cfdemParticle/Make/files b/src/lagrangian/cfdemParticle/Make/files
index a6bcedac..3ce050bb 100644
--- a/src/lagrangian/cfdemParticle/Make/files
+++ b/src/lagrangian/cfdemParticle/Make/files
@@ -3,10 +3,10 @@ forceModels = subModels/forceModel
forceModelsMS = subModels/forceModelMS
IOModels = subModels/IOModel
voidFractionModels = subModels/voidFractionModel
+voidFractionModelsMS = subModels/voidFractionModelMS
locateModels = subModels/locateModel
meshMotionModels = subModels/meshMotionModel
momCoupleModels = subModels/momCoupleModel
-regionModels = subModels/regionModel
dataExchangeModels = subModels/dataExchangeModel
averagingModels = subModels/averagingModel
clockModels = subModels/clockModel
@@ -15,6 +15,7 @@ smoothingModels = subModels/smoothingModel
probeModels = subModels/probeModel
$(cfdemCloud)/cfdemCloud.C
+derived/cfdemCloudBiDisperse/cfdemCloudBiDisperse.C
derived/cfdemCloudIB/cfdemCloudIB.C
derived/cfdemCloudMS/cfdemCloudMS.C
@@ -23,36 +24,59 @@ $(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)/interfaceParticleProbe/interfaceParticleProbe.C
+$(forceModels)/fieldStore/fieldStore.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)/stokesSpheroidDrag/stokesSpheroidDrag.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
$(probeModels)/noProbe/noProbe.C
$(probeModels)/particleProbe/particleProbe.C
+/*$(probeModels)/interfaceParticleProbe/interfaceParticleProbe.C*/
$(IOModels)/IOModel/IOModel.C
$(IOModels)/IOModel/newIOModel.C
$(IOModels)/noIO/noIO.C
$(IOModels)/basicIO/basicIO.C
+$(IOModels)/tempIO/tempIO.C
+$(IOModels)/colorIO/colorIO.C
$(IOModels)/trackIO/trackIO.C
$(IOModels)/sophIO/sophIO.C
@@ -60,46 +84,53 @@ $(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
+
+$(voidFractionModelsMS)/voidFractionModelMS/voidFractionModelMS.C
+$(voidFractionModelsMS)/voidFractionModelMS/newVoidFractionModelMS.C
$(locateModels)/locateModel/locateModel.C
$(locateModels)/locateModel/newLocateModel.C
$(locateModels)/standardSearch/standardSearch.C
$(locateModels)/engineSearch/engineSearch.C
-$(locateModels)/turboEngineSearch/turboEngineSearch.C
$(locateModels)/engineSearchMany2Many/engineSearchMany2Many.C
+$(locateModels)/turboEngineSearch/turboEngineSearch.C
+$(locateModels)/turboEngineSearchM2M/turboEngineSearchM2M.C
$(locateModels)/engineSearchIB/engineSearchIB.C
-
+$(locateModels)/hyperEngineSearch/hyperEngineSearch.C
+$(locateModels)/ijkSearch/ijkSearch.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
$(dataExchangeModels)/twoWayFiles/twoWayFiles.C
$(dataExchangeModels)/noDataExchange/noDataExchange.C
$(dataExchangeModels)/twoWayMPI/twoWayMPI.C
+$(dataExchangeModels)/twoWayM2M/twoWayM2M.C
$(dataExchangeModels)/twoWayMany2Many/twoWayMany2Many.C
$(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
@@ -108,6 +139,7 @@ $(clockModels)/noClock/noClock.C
$(liggghtsCommandModels)/liggghtsCommandModel/liggghtsCommandModel.C
$(liggghtsCommandModels)/liggghtsCommandModel/newLiggghtsCommandModel.C
+$(liggghtsCommandModels)/colorParticles/colorParticles.C
$(liggghtsCommandModels)/execute/execute.C
$(liggghtsCommandModels)/runLiggghts/runLiggghts.C
$(liggghtsCommandModels)/writeLiggghts/writeLiggghts.C
@@ -117,5 +149,6 @@ $(smoothingModels)/smoothingModel/smoothingModel.C
$(smoothingModels)/smoothingModel/newSmoothingModel.C
$(smoothingModels)/noSmoothing/noSmoothing.C
$(smoothingModels)/constDiffSmoothing/constDiffSmoothing.C
+$(smoothingModels)/localPSizeDiffSmoothing/localPSizeDiffSmoothing.C
LIB = $(CFDEM_LIB_DIR)/lib$(CFDEM_LIB_NAME)
diff --git a/src/lagrangian/cfdemParticle/Make/options b/src/lagrangian/cfdemParticle/Make/options
index cc45d5c7..4d01d3d8 100644
--- a/src/lagrangian/cfdemParticle/Make/options
+++ b/src/lagrangian/cfdemParticle/Make/options
@@ -14,11 +14,12 @@ EXE_INC = \
-I$(LIB_SRC)/OpenFOAM/containers/HashTables/labelHashSet \
-I$(CFDEM_LIGGGHTS_SRC_DIR) \
-I$(CFDEM_M2MLIB_PATH) \
+ -I$(CFDEM_Many2ManyLIB_PATH) \
-I$(CFDEM_SRC_DIR)/cfdTools \
LIB_LIBS = \
$(PLIBS) \
- -L$(CFDEM_LIB_DIR) \
+ -L$(FOAM_USER_LIBBIN) \
-lfiniteVolume \
-lincompressibleRASModels \
-lincompressibleLESModels \
@@ -27,5 +28,11 @@ LIB_LIBS = \
-lmpi_cxx \
-L$(CFDEM_LIGGGHTS_SRC_DIR) \
-Wl,--whole-archive -l$(CFDEM_LIGGGHTS_LIB_NAME) -Wl,--no-whole-archive \
+ -L$(CFDEM_M2MLIB_PATH) \
+ -lcouple \
-L$(CFDEM_Many2ManyLIB_PATH) \
- /*-lcouple*/
+ -lcoupleMany2Many \
+
+/* add -I$(CFDEM_POEMSLIB_PATH) \ to EXE_INC */
+/* -L$(CFDEM_POEMSLIB_PATH) \ */
+/* -lpoems */
diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C
index 58e57813..114ac5f7 100644
--- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C
+++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C
@@ -598,7 +598,7 @@ bool Foam::cfdemCloud::reAllocArrays() const
dataExchangeM().allocateArray(Cds_,0.,1);
dataExchangeM().allocateArray(radii_,0.,1);
dataExchangeM().allocateArray(voidfractions_,1.,voidFractionM().maxCellsPerParticle());
- dataExchangeM().allocateArray(cellIDs_,0.,voidFractionM().maxCellsPerParticle());
+ dataExchangeM().allocateArray(cellIDs_,-1.,voidFractionM().maxCellsPerParticle());
dataExchangeM().allocateArray(particleWeights_,0.,voidFractionM().maxCellsPerParticle());
dataExchangeM().allocateArray(particleVolumes_,0.,voidFractionM().maxCellsPerParticle());
arraysReallocated_ = true;
diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C b/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C
index 2fe8810c..c282416c 100644
--- a/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C
+++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMS.C
@@ -93,15 +93,15 @@ cfdemCloudMS::cfdemCloudMS
cfdemCloudMS::~cfdemCloudMS()
{
- delete positionsCM_;
- delete velocitiesCM_;
- delete cellIDsCM_;
- delete bodies_;
- delete nrigids_;
- delete clumpType_;
- delete clumpVol_;
- delete clumpDH_;
- delete clumpWeights_;
+ dataExchangeM().destroy(positionsCM_,3);
+ dataExchangeM().destroy(velocitiesCM_,3);
+ dataExchangeM().destroy(cellIDsCM_,1);
+ dataExchangeM().destroy(bodies_,1);
+ dataExchangeM().destroy(nrigids_,1);
+ dataExchangeM().destroy(clumpType_,1);
+ dataExchangeM().destroy(clumpVol_,1);
+ dataExchangeM().destroy(clumpDH_,1);
+ dataExchangeM().destroy(clumpWeights_,1);
//delete exCM_;
//delete eyCM_;
//delete ezCM_;
@@ -109,9 +109,9 @@ cfdemCloudMS::~cfdemCloudMS()
//delete scalingCM_;
//delete Cclump_ex_;
//delete Cclump_ey_;
- delete impForcesCM_;
- delete expForcesCM_;
- delete DEMForcesCM_;
+ dataExchangeM().destroy(impForcesCM_,3);
+ dataExchangeM().destroy(expForcesCM_,3);
+ dataExchangeM().destroy(DEMForcesCM_,3);
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
@@ -137,7 +137,6 @@ void cfdemCloudMS::getDEMdata()
typeDH[k][0]=pow(typeVol_[k]*1.9099,1./3.); // 6/pi=1.9099 // calc a hydraulic diameter as d of vol equal sphere
int ct(0);
- double dh(0);
for(int ind = 0;ind < numberOfClumps(); ind++)
{
ct=clumpType()[0][ind];
@@ -147,7 +146,7 @@ void cfdemCloudMS::getDEMdata()
//Info << "clumpVol()[ind][0]=" << clumpVol()[ind][0] << endl;
//Info << "clumpDH()[ind][0]=" << clumpDH()[ind][0] << endl;
}
- delete typeDH;
+ dataExchangeM().destroy(typeDH,1);
// --
//dataExchangeM().getData("ex_space","vector-multisphere",exCM_); // axis of inertia
diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMSI.H b/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMSI.H
index 53f5a88d..3a5d0fd2 100644
--- a/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMSI.H
+++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudMS/cfdemCloudMSI.H
@@ -42,7 +42,13 @@ inline label Foam::cfdemCloudMS::body(int index)
inline double cfdemCloudMS::particleVolume(int index)
{
int ind = body(index); // particle to clump ID
- double Vp(clumpVol_[ind][0]);
+
+ double Vp(SMALL);
+ if(ind >= 0 && ind 0) Vp/=nR;
return Vp;
diff --git a/src/lagrangian/cfdemParticle/etc/bashrc b/src/lagrangian/cfdemParticle/etc/bashrc
index 0e9b3fbe..d78af936 100755
--- a/src/lagrangian/cfdemParticle/etc/bashrc
+++ b/src/lagrangian/cfdemParticle/etc/bashrc
@@ -145,6 +145,9 @@ alias cfdemCompCFDEMuti='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compil
#- shortcut to test basic tutorials
alias cfdemTestTUT='bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/testTutorials.sh'
+#- shortcut to visualize the clock model data
+alias vizClock='python $CFDEM_UT_DIR/vizClock/matPlot.py'
+
#- recursive touch of current directory
alias touchRec='find ./* -exec touch {} \;'
diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh
index a8aa9c5c..6dbbb3a0 100755
--- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh
+++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh
@@ -51,15 +51,16 @@ else
logpath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")/$logDir"
##number of solvers compiled at a time
- nsteps=$WM_NCOMPPROCS
- echo "do compilation on $nsteps procs"
- nchunk=`echo $njobs/$nsteps+1 | bc`
- if [[ $WM_NCOMPPROCS == "" ]]; then
- echo "do compilation in serial"
+
+ if [[ $WM_NCOMPPROCS == "" ]] || [ $WM_NCOMPPROCS -eq 1 ]; then
nsteps=1
- nchunk=1
- else
- echo "do compilation on $nsteps procs in $nchunk chunks"
+ let nchunk=$njobs+1 # +1, to wait for the last compilation too
+ echo "do compilation in serial"
+ else
+ nsteps=$WM_NCOMPPROCS
+ nchunk=`echo $njobs/$nsteps+1 | bc`
+ echo "do compilation on $nsteps procs in $nchunk chunks"
+ let nchunk++ # +1, to wait for the last compilation too
fi
counter=0
@@ -108,6 +109,8 @@ else
let counter++
fi
done
+
+ sleep 1 # wait a second until compilation starts
done
echo "compilation done."
diff --git a/src/lagrangian/cfdemParticle/etc/cshrc b/src/lagrangian/cfdemParticle/etc/cshrc
index 1bc6818c..351de826 100755
--- a/src/lagrangian/cfdemParticle/etc/cshrc
+++ b/src/lagrangian/cfdemParticle/etc/cshrc
@@ -143,6 +143,9 @@ alias cfdemCompCFDEMuti 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compil
#- shortcut to test basic tutorials
alias cfdemTestTUT 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/testTutorials.sh'
+#- shortcut to visualize the clock model data
+alias vizClock 'python $CFDEM_UT_DIR/vizClock/matPlot.py'
+
#- shortcut to run liggghts in serial
alias cfdemLiggghts '$CFDEM_LIGGGHTS_SRC_DIR/lmp_$CFDEM_LIGGGHTS_MAKEFILE_NAME'
diff --git a/src/lagrangian/cfdemParticle/etc/library-liggghts-list.txt b/src/lagrangian/cfdemParticle/etc/library-liggghts-list.txt
deleted file mode 100644
index a5db17a9..00000000
--- a/src/lagrangian/cfdemParticle/etc/library-liggghts-list.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-#syntax: makefileName/dir
-#note: dir is not a path, just a keyword here
-###############################################
-Many2Many/dir
diff --git a/src/lagrangian/cfdemParticle/etc/library-list.txt b/src/lagrangian/cfdemParticle/etc/library-list.txt
index 27e798d4..e34c2541 100644
--- a/src/lagrangian/cfdemParticle/etc/library-list.txt
+++ b/src/lagrangian/cfdemParticle/etc/library-list.txt
@@ -1 +1,11 @@
lagrangian/cfdemParticle/dir
+
+#====================================================='
+#- RADL
+fvOptions/dir
+cylPorousMedia/dir
+
+#====================================================='
+#- other
+finiteVolume/dir
+
diff --git a/src/lagrangian/cfdemParticle/etc/solver-list.txt b/src/lagrangian/cfdemParticle/etc/solver-list.txt
index 925e9976..960eff2f 100644
--- a/src/lagrangian/cfdemParticle/etc/solver-list.txt
+++ b/src/lagrangian/cfdemParticle/etc/solver-list.txt
@@ -1,4 +1,14 @@
-cfdemSolverPisoMS/dir
cfdemSolverPiso/dir
cfdemSolverIB/dir
cfdemSolverPisoScalar/dir
+cfdemSolverPimpleImEx/dir
+cfdemSolverIBInterLubrication/dir
+cfdemSolverIBScalar/dir
+cfdemSolverInterDyM/dir
+cfdemSolverInterDyMPC/dir
+cfdemSolverBubble/dir
+cfdemSolverPisoMS/dir
+cfdemSolverPimpleDyM_22x/dir
+cfdemSolverPimpleDyMMS_22x/dir
+cfdemSolverPimpleDyMScalar_22x/dir
+myPimpleDyMFoam/dir
diff --git a/src/lagrangian/cfdemParticle/etc/tutorial-list.txt b/src/lagrangian/cfdemParticle/etc/tutorial-list.txt
index d893faf1..92456e25 100644
--- a/src/lagrangian/cfdemParticle/etc/tutorial-list.txt
+++ b/src/lagrangian/cfdemParticle/etc/tutorial-list.txt
@@ -7,15 +7,51 @@
#===================================================================#
cfdemSolverPiso/settlingTestMPI/dir
-
cfdemSolverPiso/ErgunTestMPI/dir
-
cfdemSolverPiso/ErgunTestMPI_cgs/dir
-
cfdemSolverPiso/ErgunTestMPI_restart/dir
-
cfdemSolverIB/twoSpheresGlowinskiMPI/dir
-
cfdemSolverPisoScalar/packedBedTemp/dir
+#===================================================================#
+# RADL
+cfdemSolverPimpleImEx/settlingTestMPI/dir
+cfdemSolverPimpleImEx/ErgunTestMPI/dir
+#cfdemSolverPimpleImEx/crossFlow/dir
+#cfdemSolverIB/periodicCase/dir
+#cfdemSolverIB/cfdemIBPeriodicCubicalBox_fullyPeriodic/dir
+#cfdemSolverIBInterLubrication/twoCoatedParticlesRelMotion_smallTest/dir
+#cfdemSolverIBScalar/cfdemIBPeriodicCubicalBoxScalar/dir
+
+#===================================================================#
+# NesteJacobs
+#Projects/Neste/cfdemSolverBubble/3pFBreactor/dir
+#Projects/Neste/cfdemSolverInterDyM/3pFBreactor/dir
+
+#===================================================================#
+# not in release:
+
+#cfdemSolverPiso/settlingTestBigParticleMPI/dir
cfdemSolverPiso/ErgunTestCG/dir
+cfdemSolverPiso/ErgunTestM2M/dir
+#cfdemSolverPiso/HopperEmptying/dir
+
+cfdemSolverPimpleDyM/ErgunTestMPI/dir
+
+#cfdemSolverPisoMS/settlingTestMPI/dir
+#cfdemSolverPisoMS/ErgunTestMPI/dir
+
+#cfdemSolverInterDyM/twoPhaseSettlingTest/dir
+#cfdemSolverInterDyM/ErgunTestMPI/dir
+#cfdemSolverInterDyM/granularPiston/dir
+#cfdemSolverInterDyM/sugarNcoffee/dir
+
+#cfdemSolverBubble/ErgunTestMPI_pureLiquid/dir
+
+#- these examples are already designed for 2.3.x
+#cfdemSolverInterDyMPC/sugarNcoffee/dir
+#cfdemSolverInterDyMPC/granularPiston/dir
+#cfdemSolverInterDyMPC/meltingPot/dir
+
+
+
diff --git a/src/lagrangian/cfdemParticle/subModels/averagingModel/dense/dense.C b/src/lagrangian/cfdemParticle/subModels/averagingModel/dense/dense.C
index 374ef8ee..77892444 100644
--- a/src/lagrangian/cfdemParticle/subModels/averagingModel/dense/dense.C
+++ b/src/lagrangian/cfdemParticle/subModels/averagingModel/dense/dense.C
@@ -150,6 +150,9 @@ void dense::setVectorAverage
{
for(int i=0;i<3;i++) valueVec[i] = value[index][i];
weightP = weight[index][subCell];
+
+ if(weightP calcShift() const; //detects empty indices in vector, when times are evaluated
- void Hist() const; //calc Histogram
- virtual void normHist() const; //calc normalized Histogram
+ std::vector calcShift() const; //detects empty indices in vector, when times are evaluated
+ void Hist() const; //calc Histogram
+ virtual void normHist() const; //calc normalized Histogram
void plotHist(double,std::string,int,int) const; //plot histogramm to terminal
void getRAMUsage() const;
diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMany2Many/library/libcoupleMany2Many.a b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMany2Many/library/libcoupleMany2Many.a
index fc190a46..b104468d 100644
Binary files a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMany2Many/library/libcoupleMany2Many.a and b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMany2Many/library/libcoupleMany2Many.a differ
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.C b/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.C
index 465b35cf..06b64221 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.C
+++ b/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.C
@@ -93,6 +93,7 @@ DiFeliceDragMS::DiFeliceDragMS
{
Info << "using interpolated value of U." << endl;
interpolation_=true;
+ Warning << " interpolation is commented for this force model - it seems to be unstable with AMI!" << endl;
}
if (propsDict_.found("splitImplicitExplicit"))
{
@@ -141,8 +142,8 @@ void DiFeliceDragMS::setForce() const
vector dragExplicit(0,0,0);
scalar dragCoefficient(0);
- interpolationCellPoint voidfractionInterpolator_(voidfraction_);
- interpolationCellPoint UInterpolator_(U_);
+ //interpolationCellPoint voidfractionInterpolator_(voidfraction_);
+ //interpolationCellPoint UInterpolator_(U_);
#include "setupProbeModel.H"
@@ -157,16 +158,19 @@ void DiFeliceDragMS::setForce() const
if (cellI > -1) // particle Found
{
- if(interpolation_)
- {
- position = cloudRefMS().positionCM(index);
- voidfraction = voidfractionInterpolator_.interpolate(position,cellI);
- Ufluid = UInterpolator_.interpolate(position,cellI);
- }else
+ //if(interpolation_)
+ //{
+ // position = cloudRefMS().positionCM(index);
+ // voidfraction = voidfractionInterpolator_.interpolate(position,cellI);
+ // Ufluid = UInterpolator_.interpolate(position,cellI);
+ //}else
{
voidfraction = voidfraction_[cellI];
Ufluid = U_[cellI];
}
+ //Ensure void fraction to be meaningful
+ if(voidfraction>1.00) voidfraction = 1.00;
+ if(voidfraction<0.40) voidfraction = 0.40;
Us = cloudRefMS().velocityCM(index);
Ur = Ufluid-Us;
@@ -178,7 +182,7 @@ void DiFeliceDragMS::setForce() const
Cd = 0;
dragCoefficient = 0;
- if (magUr > SMALL)
+ if (magUr > SMALL && ds > SMALL)
{
// calc particle Re Nr
diff --git a/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.H b/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.H
index 9367ff3c..eb487e08 100644
--- a/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.H
+++ b/src/lagrangian/cfdemParticle/subModels/forceModelMS/DiFeliceDragMS/DiFeliceDragMS.H
@@ -107,6 +107,7 @@ public:
// Member Functions
void setForce() const;
+
};
diff --git a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh
index f05a3d2d..23837007 100755
--- a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh
+++ b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh
@@ -14,7 +14,7 @@ casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
echo $casePath
# check if mesh was built
-if [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
+if [ -f "$casePath/CFD/constant/polyMesh/boundary" ]; then
echo "mesh was built before - using old mesh"
else
echo "mesh needs to be built"
@@ -23,7 +23,5 @@ else
fi
-#gnome-terminal --title='cfdemSolverIB two settling disks CFD' -e "CFDrun()"
gnome-terminal --title='cfdemSolverIB twoSpheresGlowinskiMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
-#gnome-terminal --title='cfdemSolverIB two settling disks DEM' -e "DEMrun()"
-#gnome-terminal --title='cfdemSolverIB twoSpheresGlowinskiMPI DEM' -e "bash $casePath/DEMrun.sh"
+
diff --git a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/couplingProperties b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/couplingProperties
index a4d8f861..5cb31dc6 100644
--- a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/couplingProperties
+++ b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/couplingProperties
@@ -91,7 +91,7 @@ twoWayFilesProps
twoWayMPIProps
{
maxNumberOfParticles 10100;
- liggghtsPath "../DEM/in.liggghts_init";
+ liggghtsPath "../DEM/in.liggghts_run";
}
IBProps
diff --git a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/in.liggghts_init b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/in.liggghts_init
deleted file mode 100644
index aa7fe3cb..00000000
--- a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/in.liggghts_init
+++ /dev/null
@@ -1,123 +0,0 @@
-#echo both
-
-atom_style granular
-atom_modify map array
-communicate single vel yes
-
-#--modified C.K.
-#dimension 2
-
-#--modified C.K.
-#boundary f f p
-boundary f f f
-newton off
-
-units si
-processors 2 2 1
-
-region reg block 0 1 0 1 0 4 units box
-create_box 1 reg
-
-neighbor 0.3 bin
-neigh_modify delay 0 binsize 0.01
-
-
-#Material properties required for new pair styles
-
-fix m1 all property/global youngsModulus peratomtype 5.e7
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.9
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-
-#pair style
-pair_style gran model hertz tangential history #Hertzian without cohesion
-pair_coeff * *
-
-#timestep, gravity
-timestep 0.00003
-
-#fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
-fix gravi all gravity 981 vector 0.0 0.0 -1.0
-
-#walls
-fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.
-fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 1.
-fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.
-fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 1.
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 4.
-
-#-import mesh from cad:
-#fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0.
-
-#-use the imported mesh as granular wall
-#fix bucket_wall all wall/gran/hertz/history 1 0 mesh/gran 1 cad1
-
-
-#cfd coupling
-fix cfd all couple/cfd couple_every 10 mpi
-fix cfd2 all couple/cfd/force
-
-
-#- create single partciles
-#create_atoms 1 single 0.05 0.3 0.025 units box
-#create_atoms 1 single 1 0.001 0.0 units box
-create_atoms 1 single .5 .5 3.5 units box
-create_atoms 1 single .5 .5 3.16 units box
-#create_atoms 1 single .5 .5 3.26 units box
-#create_atoms 1 single 1.5 -0.001 0.0 units box
-#set atom 1 diameter 0.015 density 100 vx 0 vy -.5 vz 0
-set atom 1 diameter 0.167 density 1.5 vx 0 vy 0 vz 0
-#set atom 2 diameter 0.167 density 1.14 vx 0 vy 0 vz 0
-set atom 2 diameter 0.167 density 1.5 vx 0 vy 0 vz 0
-
-#create_atoms 1 single 0.048 0.018 0.05 units box
-#set atom 1 diameter 0.001 density 3000 vx 0.1 vy 0 vz 0
-#create_atoms 1 single 0.052 0.018 0.05 units box
-#set atom 2 diameter 0.001 density 3000 vx -0.1 vy 0 vz 0
-
-variable vx1 equal vx[1]
-variable vy1 equal vy[1]
-variable vz1 equal vz[1]
-variable vx2 equal vx[2]
-variable vy2 equal vy[2]
-variable vz2 equal vz[2]
-variable x1 equal x[1]
-variable y1 equal y[1]
-variable z1 equal z[1]
-variable x2 equal x[2]
-variable y2 equal y[2]
-variable z2 equal z[2]
-variable time equal step*dt
-fix extra1 all print 100 "${time} ${vx1} ${vy1} ${vz1}" file ../DEM/post/velocity_particle_1.txt title "%" screen no
-fix extra2 all print 100 "${time} ${vx2} ${vy2} ${vz2}" file ../DEM/post/velocity_particle_2.txt title "%" screen no
-fix extra3 all print 100 "${time} ${x1} ${y1} ${z1}" file ../DEM/post/position_particle_1.txt title "%" screen no
-fix extra4 all print 100 "${time} ${x2} ${y2} ${z2}" file ../DEM/post/position_particle_2.txt title "%" screen no
-
-
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere #wenn das ausgeblendet, dann kein vel update
-#fix 1 all nve/noforce
-
-#--modified C.K.
-#fix 2D all enforce2d
-
-#screen output
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 vol
-thermo 1000
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
-
-#insert the first particles so that dump is not empty
-#dump myDump all stl 1 ../DEM/post/dump.stl
-#run 1
-dump dmp all custom 100 ../DEM/post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
-#undump myDump
-
-#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2]
-#node : f_couple_cfd[6]
-#cell id : f_couple_cfd[7]
-
-run 1 upto #80000 upto
-#write_restart liggghts.restart
diff --git a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/post/dummy b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/post/dummy
deleted file mode 100644
index ebf63dfd..00000000
--- a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/post/dummy
+++ /dev/null
@@ -1 +0,0 @@
-dummyfile
diff --git a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/parCFDDEMrun.sh b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/parCFDDEMrun.sh
index d22d9e44..4e0e5095 100644
--- a/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/parCFDDEMrun.sh
+++ b/tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/parCFDDEMrun.sh
@@ -45,7 +45,7 @@ if [ $postproc == "true" ]
then
#- get VTK data from liggghts dump file
cd $casePath/DEM/post
- python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_init
+ python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_run
#- get VTK data from CFD sim
cd $casePath/CFD
@@ -79,6 +79,6 @@ rm -r $casePath/log_*
echo "done"
#- preserve post directory
-echo "dummyfile" >> $casePath/DEM/post/dummy
+touch $casePath/DEM/post/.gitignore
diff --git a/tutorials/cfdemSolverPiso/ErgunTestCG/CFD/constant/couplingProperties b/tutorials/cfdemSolverPiso/ErgunTestCG/CFD/constant/couplingProperties
index 5764aac3..ac2af52f 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestCG/CFD/constant/couplingProperties
+++ b/tutorials/cfdemSolverPiso/ErgunTestCG/CFD/constant/couplingProperties
@@ -149,6 +149,7 @@ GidaspowDragProps
velFieldName "U";
densityFieldName "rho";
voidfractionFieldName "voidfraction";
+ granVelFieldName "Us";
phi 1;
//interpolation; // this case does not like interpolation
implDEM_;
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh b/tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh
index 9baa0289..409a7694 100755
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh
@@ -2,18 +2,15 @@
#===================================================================#
# allrun script for testcase as part of test routine
-# run ErgunTestMPI
-# Christoph Goniva - June 2014
+# run settlingTest
+# Christoph Goniva - Sept. 2010
#===================================================================#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
-#- include functions
-source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
-
# check if mesh was built
-if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
+if [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
echo "mesh was built before - using old mesh"
else
echo "mesh needs to be built"
@@ -21,27 +18,11 @@ else
blockMesh
fi
-# check if DEM case was run
-if [ -f "$casePath/DEM/liggghts.restart" ]; then
- echo "DEM restart file found"
+if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
+ echo "LIGGGHTS init was run before - using existing restart file"
else
- echo "starting DEM run..."
- #--------------------------------------------------------------------------------#
- #- define variables
- logpath="$casePath"
- headerText="run_liggghts_ErgunTestMPI_DEM"
- logfileName="log_$headerText"
- solverName="in.liggghts_init"
- nrProcs=4
- machineFileName="none"
- debugMode="off"
- #--------------------------------------------------------------------------------#
-
- #- clean up case
- rm -r $casePath/DEM/post/*
-
- #- call function to run DEM case
- parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
+ #- run DEM in new terminal
+ $casePath/DEMrun.sh
fi
#- run parallel CFD-DEM in new terminal
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/couplingProperties b/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/couplingProperties
index aa9fa97a..5453b2fe 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/couplingProperties
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/couplingProperties
@@ -228,11 +228,11 @@ dividedProps
twoWayMPIProps
{
- liggghtsPath "../DEM/in.liggghts_resume";
+ liggghtsPath "../DEM/in.liggghts_run";
}
twoWayM2MProps
{
maxNumberOfParticles 10100;
- liggghtsPath "../DEM/in.liggghts_resume";
+ liggghtsPath "../DEM/in.liggghts_run";
}
// ************************************************************************* //
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init
index e6f325c0..363df49c 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init
@@ -1,64 +1,64 @@
# Pour granular particles into chute container, then induce flow
-echo both
-atom_style granular
-atom_modify map array
-communicate single vel yes
+echo both
+atom_style granular
+atom_modify map array
+communicate single vel yes
-boundary m m m
-newton off
+boundary m m m
+newton off
-units si
+units si
-region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
-create_box 1 reg
+region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
+create_box 1 reg
-neighbor 0.001 bin
-neigh_modify delay 0
+neighbor 0.001 bin
+neigh_modify delay 0
-#Material properties required for new pair styles
+# Material properties required for granular pair styles
-fix m1 all property/global youngsModulus peratomtype 5.e6
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
+fix m1 all property/global youngsModulus peratomtype 5.e6
+fix m2 all property/global poissonsRatio peratomtype 0.45
+fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
+fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-#pair style
-pair_style gran model hertz tangential history #Hertzian without cohesion
-pair_coeff * *
+# pair style
+pair_style gran model hertz tangential history # Hertzian without cohesion
+pair_coeff * *
-#timestep, gravity
-timestep 0.00001
-fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
+# timestep, gravity
+timestep 0.00001
+fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
-#walls
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
-fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
+# walls
+fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
+fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
+fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
-#particle distributions and insertion
-region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
-fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2000 radius constant 0.0005
-fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0
+# particle distributions and insertion
+region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
+fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2000 radius constant 0.0005
+fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
-fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
+fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere
+# apply nve integration to all particles that are inserted as single particles
+fix integr all nve/sphere
-#screen output
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 vol
-thermo 1000
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
+# screen output
+compute rke all erotate/sphere
+thermo_style custom step atoms ke c_rke vol
+thermo 1000
+thermo_modify lost ignore norm no
+compute_modify thermo_temp dynamic yes
-#insert the first particles so that dump is not empty
-run 1
-dump dmp all custom 5000 post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
+# insert the first particles so that dump is not empty
+run 1
+dump dmp all custom 5000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2]
#node : f_couple_cfd[6]
#cell id : f_couple_cfd[7]
-run 10000 upto
-write_restart liggghts.restart
+run 10000 upto
+write_restart post/restart/liggghts.restart
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_resume b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_resume
deleted file mode 100644
index 47fd1395..00000000
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_resume
+++ /dev/null
@@ -1,71 +0,0 @@
-# Pour granular particles into chute container, then induce flow
-
-atom_style granular
-atom_modify map array
-communicate single vel yes
-
-boundary m m m
-newton off
-
-units si
-processors 2 2 1
-
-#read the restart file
-read_restart ../DEM/liggghts.restart
-
-#do not do this here, the simulation box is in the restart file!
-#region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
-#create_box 1 reg
-
-neighbor 0.0005 bin
-neigh_modify delay 0
-
-#Material properties required for new pair styles
-
-fix m1 all property/global youngsModulus peratomtype 5.e6
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-
-#pair style
-pair_style gran model hertz tangential history #Hertzian without cohesion
-pair_coeff * *
-
-#timestep, gravity
-timestep 0.00001
-fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
-
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
-fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
-
-# change the particles density
-set group all density 2000
-
-#cfd coupling
-fix cfd all couple/cfd couple_every 100 mpi
-fix cfd2 all couple/cfd/force
-
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere
-
-#center of mass
-compute centerOfMass all com
-
-#compute total dragforce
-compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
-
-#screen output
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
-thermo 10
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
-
-#insert the first particles so that dump is not empty
-dump myDump all stl 1 post/dump_*.stl
-#run 1
-dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
-undump myDump
-
-run 1
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/liggghts.restart b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/liggghts.restart
deleted file mode 100644
index b3584a04..00000000
Binary files a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/liggghts.restart and /dev/null differ
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/post/dummy b/tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/post/dummy
deleted file mode 100644
index e69de29b..00000000
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh b/tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh
index de2c30b4..8531cb05 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh
@@ -62,7 +62,7 @@ if [ $postproc == "true" ]
#- get VTK data from liggghts dump file
cd $casePath/DEM/post
- python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_restart
+ python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run
#- get VTK data from CFD sim
cd $casePath/CFD
@@ -86,6 +86,8 @@ source $WM_PROJECT_DIR/bin/tools/CleanFunctions
cd $casePath/CFD
cleanCase
rm -r $casePath/CFD/clockData
-rm -r $casePath/DEM/post/*
-(cd $casePath/DEM/post && touch dummy)
+rm -r $casePath/DEM/post/*.*
+rm -r $casePath/DEM/post/restart/*.*
+touch $casePath/DEM/post/.gitignore
+touch $casePath/DEM/post/restart/.gitignore
echo "done"
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/Allrun.sh b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/Allrun.sh
index bfbb0e25..9b4354a9 100755
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/Allrun.sh
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/Allrun.sh
@@ -18,17 +18,13 @@ else
blockMesh
fi
-echo "WARNING:copying a CGS based controlDict to $HOME/.OpenFOAM/$WM_PROJECT_VERSION"
-echo "this will make your simulations use CGS unit system"
-read
-echo "Make sure $HOME/.OpenFOAM/$WM_PROJECT_VERSION/controlDict is removed after this simulation."
-
-mkdir -p $FOAM_INST_DIR/.OpenFOAM//$WM_PROJECT_VERSION
-cp $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/controlDict_cgs_$WM_PROJECT_VERSION $FOAM_INST_DIR/.OpenFOAM/$WM_PROJECT_VERSION/controlDict
+if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
+ echo "LIGGGHTS init was run before - using existing restart file"
+else
+ #- run DEM
+ $casePath/DEMrun.sh
+fi
#- run parallel CFD-DEM in new terminal
-gnome-terminal --title='cfdemSolverPiso ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
+gnome-terminal --title='cfdemSolverPiso ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
-echo "removing $FOAM_INST_DIR/.OpenFOAM/$WM_PROJECT_VERSION/controlDict?"
-read
-rm -r $FOAM_INST_DIR/.OpenFOAM/$WM_PROJECT_VERSION/controlDict*
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/constant/couplingProperties b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/constant/couplingProperties
index 558e491e..d727158b 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/constant/couplingProperties
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/constant/couplingProperties
@@ -184,11 +184,11 @@ dividedProps
twoWayMPIProps
{
//maxNumberOfParticles 10100;
- liggghtsPath "../DEM/in.liggghts_resume";
+ liggghtsPath "../DEM/in.liggghts_run";
}
twoWayM2MProps
{
maxNumberOfParticles 10100;
- liggghtsPath "../DEM/in.liggghts_resume";
+ liggghtsPath "../DEM/in.liggghts_run";
}
// ************************************************************************* //
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/octave/totalPressureDrop.m b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/octave/totalPressureDrop.m
index 15cf5406..4c225a38 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/octave/totalPressureDrop.m
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/octave/totalPressureDrop.m
@@ -5,6 +5,7 @@ clc;
%====================================%
% simulation data 1
%====================================%
+rhoG = 0.01 % density in g/cm3
%path = '../probes/0/p'; % 2.1.x
path = '../postProcessing/probes/0/p'; % 2.2.x
columns=22;
@@ -12,7 +13,7 @@ headerlines=4;
data = loaddata(path,columns,headerlines);
data=transpose(data);
[x,y]=size(data)
-dp_sim = (data(:,2)-data(:,y))*0.01/10; % *rhoG to get pressure, then *10 to get from Ba in Pa
+dp_sim = (data(:,2)-data(:,y))*rhoG*0.1; % *rhoG to get pressure, then *0.1 to get from Ba in Pa
t_sim = data(:,1);
%fprintf('final pressureDrop of sim = %f Pa\n',dp_sim(length(dp_sim)) )
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/system/controlDict b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/system/controlDict
index 1b7262f8..6fcc089c 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/system/controlDict
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/system/controlDict
@@ -23,7 +23,7 @@ startTime 0;
stopAt endTime;
-endTime 0.1;//0.1;
+endTime 0.1;
deltaT 0.001;
@@ -49,7 +49,104 @@ adjustTimeStep no;
maxCo 0.1;
-libs ( "libgroovyBC.so" );
+//libs ( "libgroovyBC.so" );
+DimensionedConstants
+{
+ unitSet CGS; // SI; // USCS; //
+
+ CGSCoeffs
+ {
+ universal
+ {
+ c c [ 0 1 -1 0 0 0 0 ] 2.99792e+10; // speed of light in vacuum (cm/s)
+ G G [ -1 3 -2 0 0 0 0 ] 6.67429e-8; // gravitational constant (cm^3/(gs^2))
+ h h [ 1 2 -1 0 0 0 0 ] 6.62607e-27; // Planck's constant (erg.s)
+ }
+ electromagnetic
+ {
+ e e [ 0 0 1 0 0 1 0 ] 4.803204e-10; // elementary charge (statcoulomb)
+ }
+ atomic
+ {
+ me me [ 1 0 0 0 0 0 0 ] 9.10938e-28; // electron mass (g)
+ mp mp [ 1 0 0 0 0 0 0 ] 1.67262e-24; // proton mass (g)
+ }
+ physicoChemical
+ {
+ mu mu [ 1 0 0 0 0 0 0 ] 1.66054e-24; // atomic mass unit (g)
+ k k [ 1 2 -2 -1 0 0 0 ] 1.38065e-16; // Boltzman constant (erg/K)
+ }
+ standard
+ {
+ //- Standard pressure [bar]
+ Pstd Pstd [ 1 -1 -2 0 0 0 0 ] 1000000; // 1 bar (barye)
+ //- Standard temperature [degK]
+ Tstd Tstd [ 0 0 0 1 0 0 0 ] 298.15; // should be same as in SI unit system
+ }
+ }
+
+ 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;
+ }
+ }
+}
functions
(
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/in.liggghts_init b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/in.liggghts_init
index 72bda982..dbb6f114 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/in.liggghts_init
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/in.liggghts_init
@@ -1,63 +1,64 @@
# Pour granular particles into chute container, then induce flow
-echo both
-atom_style granular
-atom_modify map array
-communicate single vel yes
+echo both
+atom_style granular
+atom_modify map array
+communicate single vel yes
-boundary m m m
-newton off
-units cgs
+boundary m m m
+newton off
-region reg block -1.5 1.5 -1.5 1.5 -0.1 5.54 units box
-create_box 1 reg
+units cgs
-neighbor 0.1 bin
-neigh_modify delay 0
+region reg block -1.5 1.5 -1.5 1.5 -0.1 5.54 units box
+create_box 1 reg
+
+neighbor 0.1 bin
+neigh_modify delay 0
-#Material properties required for new pair styles
+# Material properties required for granular pair styles
-fix m1 all property/global youngsModulus peratomtype 5.e6
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
+fix m1 all property/global youngsModulus peratomtype 5.e6
+fix m2 all property/global poissonsRatio peratomtype 0.45
+fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
+fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-#pair style
-pair_style gran model hertz tangential history #Hertzian without cohesion
-pair_coeff * *
+# pair style
+pair_style gran model hertz tangential history # Hertzian without cohesion
+pair_coeff * *
-#timestep, gravity
-timestep 0.00001
-fix gravi all gravity 981 vector 0.0 0.0 -1.0
+# timestep, gravity
+timestep 0.00001
+fix gravi all gravity 981 vector 0.0 0.0 -1.0
-#walls
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 5.53
-fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 1.385 0. 0.
+# walls
+fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
+fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 5.53
+fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 1.385 0. 0.
-#particle distributions and insertion
-region bc cylinder z 0.0 0.0 1.2 0. 5.5 units box
-fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2. radius constant 0.05
-fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0
+# particle distributions and insertion
+region bc cylinder z 0.0 0.0 1.2 0. 5.5 units box
+fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2. radius constant 0.05
+fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
-fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -100. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
+fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -100. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere
+# apply nve integration to all particles that are inserted as single particles
+fix integr all nve/sphere
-#screen output
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 vol
-thermo 1000
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
+# screen output
+compute rke all erotate/sphere
+thermo_style custom step atoms ke c_rke vol
+thermo 1000
+thermo_modify lost ignore norm no
+compute_modify thermo_temp dynamic yes
-#insert the first particles so that dump is not empty
-run 1
-dump dmp all custom 5000 post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
+# insert the first particles so that dump is not empty
+run 1
+dump dmp all custom 5000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2]
#node : f_couple_cfd[6]
#cell id : f_couple_cfd[7]
-run 10000 upto
-write_restart liggghts.restart
+run 10000 upto
+write_restart post/restart/liggghts.restart
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/in.liggghts_resume b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/in.liggghts_resume
deleted file mode 100644
index 80bece3e..00000000
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/in.liggghts_resume
+++ /dev/null
@@ -1,67 +0,0 @@
-# Pour granular particles into chute container, then induce flow
-
-atom_style granular
-atom_modify map array
-communicate single vel yes
-
-boundary m m m
-newton off
-units cgs
-processors 2 2 1
-
-#read the restart file
-read_restart ../DEM/liggghts.restart
-
-neighbor 0.1 bin
-neigh_modify delay 0
-
-#Material properties required for new pair styles
-
-fix m1 all property/global youngsModulus peratomtype 5.e6
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-
-#pair style
-pair_style gran model hertz tangential history #Hertzian without cohesion
-pair_coeff * *
-
-#timestep, gravity
-timestep 0.00001
-fix gravi all gravity 981 vector 0.0 0.0 -1.0
-
-#walls
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 5.53
-fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 1.385 0. 0.
-
-# change the particles density
-set group all density 2.0
-
-#cfd coupling
-fix cfd all couple/cfd couple_every 100 mpi
-fix cfd2 all couple/cfd/force
-
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere
-
-#center of mass
-compute centerOfMass all com
-
-#compute total dragforce
-compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
-
-#screen output
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
-thermo 10
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
-
-#insert the first particles so that dump is not empty
-dump myDump all stl 1 post/dump_*.stl
-#run 1
-dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
-undump myDump
-
-run 1
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/liggghts.restart b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/liggghts.restart
deleted file mode 100644
index 7cf08a01..00000000
Binary files a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/liggghts.restart and /dev/null differ
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/post/dummy b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/post/dummy
deleted file mode 100644
index ebf63dfd..00000000
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/post/dummy
+++ /dev/null
@@ -1 +0,0 @@
-dummyfile
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/parCFDDEMrun.sh b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/parCFDDEMrun.sh
index a5145f89..cf5f3b20 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/parCFDDEMrun.sh
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/parCFDDEMrun.sh
@@ -62,7 +62,7 @@ if [ $postproc == "true" ]
#- get VTK data from liggghts dump file
cd $casePath/DEM/post
- python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_restart
+ python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run
#- get VTK data from CFD sim
cd $casePath/CFD
@@ -90,14 +90,13 @@ rm -r $casePath/CFD/octave/octave-core
rm -r $casePath/CFD/VTK
rm -r $casePath/CFD/processor*
rm -r $casePath/CFD/couplingFiles/*
-rm -r $casePath/DEM/post/*
-rm -r $casePath/DEM/log.*
-rm -r $casePath/DEM/liggghts.restartCFDEM*
rm -r $casePath/CFD/probes
rm -r $casePath/CFD/postProcessing
rm -r $casePath/CFD/lagrangian
rm -r $casePath/CFD/clockData
+rm -r $casePath/DEM/log.*
+rm -r $casePath/DEM/post/*.*
+rm -r $casePath/DEM/post/restart/*.*
+touch $casePath/DEM/post/.gitignore
+touch $casePath/DEM/post/restart/.gitignore
echo "done"
-
-#- preserve post directory
-echo "dummyfile" >> $casePath/DEM/post/dummy
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh
index 91417599..3e330e24 100755
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh
@@ -20,11 +20,18 @@ else
blockMesh
fi
+if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
+ echo "LIGGGHTS init was run before - using existing restart file"
+else
+ #- run DEM in new terminal
+ $casePath/DEMrun.sh
+fi
+
#-------------------------------------------------------#
# adapt settings for init run
-cp $casePath/CFD/constant/liggghtsCommands_init $casePath/CFD/constant/liggghtsCommands
-cp $casePath/CFD/constant/couplingProperties_init $casePath/CFD/constant/couplingProperties
-cp $casePath/CFD/system/controlDict_init $casePath/CFD/system/controlDict
+cp $casePath/CFD/constant/liggghtsCommands_run $casePath/CFD/constant/liggghtsCommands
+cp $casePath/CFD/constant/couplingProperties_run $casePath/CFD/constant/couplingProperties
+cp $casePath/CFD/system/controlDict_run $casePath/CFD/system/controlDict
#-------------------------------------------------------#
#- run parallel CFD-DEM in new terminal
@@ -102,7 +109,8 @@ source $WM_PROJECT_DIR/bin/tools/CleanFunctions
cd $casePath/CFD
cleanCase
rm -r $casePath/CFD/clockData
-rm -r $casePath/DEM/post/*
-rm $casePath/DEM/liggghts.restartCFDEM*
-(cd $casePath/DEM/post && touch dummy)
-echo "done"
\ No newline at end of file
+rm -r $casePath/DEM/post/*.*
+rm -r $casePath/DEM/post/restart/*.*
+touch $casePath/DEM/post/.gitignore
+touch $casePath/DEM/post/restart/.gitignore
+echo "done"
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/constant/couplingProperties_init b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/constant/couplingProperties_init
deleted file mode 100644
index f5336a0a..00000000
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/constant/couplingProperties_init
+++ /dev/null
@@ -1,235 +0,0 @@
-/*---------------------------------------------------------------------------*\
-| ========= | |
-| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
-| \\ / O peration | Version: 1.4 |
-| \\ / A nd | Web: http://www.openfoam.org |
-| \\/ M anipulation | |
-\*---------------------------------------------------------------------------*/
-
-
-FoamFile
-{
- version 2.0;
- format ascii;
-
- root "";
- case "";
- instance "";
- local "";
-
- class dictionary;
- object couplingProperties;
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-//===========================================================================//
-// sub-models & settings
-
-modelType "A"; // A or B
-
-couplingInterval 100;
-
-voidFractionModel divided;//centre;//
-
-locateModel engine;//turboEngineM2M;//
-
-meshMotionModel noMeshMotion;
-
-regionModel allRegion;
-
-IOModel basicIO;
-
-probeModel off;
-
-dataExchangeModel twoWayMPI;//twoWayM2M;//twoWayFiles;//oneWayVTK;//
-
-averagingModel dense;//dilute;//
-
-clockModel standardClock;//off;
-
-smoothingModel off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
-
-forceModels
-(
- //GidaspowDrag
- //BeetstraDrag
- //DiFeliceDrag
- KochHillDrag
- gradPForce
- viscForce
- //Archimedes
- //volWeightedAverage
- //totalMomentumExchange
- //particleCellVolume
-);
-
-momCoupleModels
-(
- implicitCouple
-);
-
-turbulenceModelType "RASProperties";//"LESProperties";//
-
-//===========================================================================//
-// sub-model properties
-
-localPSizeDiffSmoothingProps
-{
- lowerLimit 0.1;
- upperLimit 1e10;
- dSmoothingLength 1.5e-3;
- Csmoothing 1.0;
-}
-
-constDiffSmoothingProps
-{
- lowerLimit 0.1;
- upperLimit 1e10;
- smoothingLength 1.5e-3;
-}
-
-implicitCoupleProps
-{
- velFieldName "U";
- granVelFieldName "Us";
- voidfractionFieldName "voidfraction";
-}
-
-ArchimedesProps
-{
- densityFieldName "rho";
- gravityFieldName "g";
-}
-gradPForceProps
-{
- pFieldName "p";
- densityFieldName "rho";
- voidfractionFieldName "voidfraction";
- velocityFieldName "U";
- //interpolation;
-}
-
-viscForceProps
-{
- velocityFieldName "U";
- densityFieldName "rho";
- interpolation;
-}
-volWeightedAverageProps
-{
- scalarFieldNames
- (
- voidfraction
- );
- vectorFieldNames
- (
- );
- upperThreshold 0.999;
- lowerThreshold 0;
- verbose;
-}
-totalMomentumExchangeProps
-{
- implicitMomExFieldName "Ksl";
- explicitMomExFieldName "none";
- fluidVelFieldName "U";
- granVelFieldName "Us";
- densityFieldName "rho";
-}
-GidaspowDragProps
-{
- verbose;
- velFieldName "U";
- densityFieldName "rho";
- voidfractionFieldName "voidfraction";
- phi 1;
-}
-DiFeliceDragProps
-{
- velFieldName "U";
- densityFieldName "rho";
- voidfractionFieldName "voidfraction";
-}
-
-KochHillDragProps
-{
- //verbose;
- velFieldName "U";
- densityFieldName "rho";
- voidfractionFieldName "voidfraction";
-}
-
-BeetstraDragProps
-{
- velFieldName "U";
- densityFieldName "rho";
- gravityFieldName "g";
- rhoParticle 2000.;
- voidfractionFieldName "voidfraction";
- interpolation ;
- useFilteredDragModel ;
- useParcelSizeDependentFilteredDrag ;
- k 0.05;
- aLimit 0.0;
-// verbose ;
-}
-
-virtualMassForceProps
-{
- velFieldName "U";
- densityFieldName "rho";
-}
-
-particleCellVolumeProps
-{
- upperThreshold 0.999;
- lowerThreshold 0.;
- verbose;
-}
-
-oneWayVTKProps
-{
- couplingFilename "vtk_out%4.4d.vtk";
- maxNumberOfParticles 30000;
-}
-
-twoWayFilesProps
-{
- maxNumberOfParticles 10100;
-}
-
-centreProps
-{
- alphaMin 0.10;
-}
-
-engineProps
-{
- treeSearch true;
-}
-
-turboEngineM2MProps
-{
- turboEngineProps
- {
- treeSearch true;
- }
-}
-
-dividedProps
-{
- alphaMin 0.01;
- scaleUpVol 1.0;
-}
-
-twoWayMPIProps
-{
- liggghtsPath "../DEM/in.liggghts_resume";
-}
-twoWayM2MProps
-{
- maxNumberOfParticles 10100;
- liggghtsPath "../DEM/in.liggghts_resume";
-}
-// ************************************************************************* //
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/constant/liggghtsCommands_init b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/constant/liggghtsCommands_init
deleted file mode 100644
index 292da9a3..00000000
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/constant/liggghtsCommands_init
+++ /dev/null
@@ -1,44 +0,0 @@
-/*---------------------------------------------------------------------------*\
-| ========= | |
-| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
-| \\ / O peration | Version: 1.4 |
-| \\ / A nd | Web: http://www.openfoam.org |
-| \\/ M anipulation | |
-\*---------------------------------------------------------------------------*/
-
-
-FoamFile
-{
- version 2.0;
- format ascii;
-
- root "";
- case "";
- instance "";
- local "";
-
- class dictionary;
- object liggghtsCommands;
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-liggghtsCommandModels
-(
- runLiggghts
- writeLiggghts
-);
-
-runLiggghtsProps
-{
- preNo false;
-}
-
-//- optional
-writeLiggghtsProps
-{
- writeLast off;
- overwrite off;
-}
-
-// ************************************************************************* //
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/system/controlDict_init b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/system/controlDict_init
deleted file mode 100644
index 1d2f9b52..00000000
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/system/controlDict_init
+++ /dev/null
@@ -1,117 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| ========= | |
-| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
-| \\ / O peration | Version: 1.6 |
-| \\ / A nd | Web: www.OpenFOAM.org |
-| \\/ M anipulation | |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- location "system";
- object controlDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-application pisoFoam;
-
-startFrom startTime;
-
-startTime 0;
-
-stopAt endTime;
-
-endTime 0.05;
-
-deltaT 0.001;
-
-writeControl adjustableRunTime;
-
-writeInterval 0.01;
-
-purgeWrite 0;
-
-writeFormat ascii;
-
-writePrecision 6;
-
-writeCompression uncompressed;
-
-timeFormat general;
-
-timePrecision 6;
-
-runTimeModifiable yes;
-
-adjustTimeStep no;
-
-maxCo 0.1;
-
-//libs ( "libgroovyBC.so" "libfiniteVolumeCFDEM.so");
-
-functions
-(
-
- probes
- {
- type probes;
- // Where to load it from
- functionObjectLibs ( "libsampling.so" );
- // Name of the directory for probe data
- name probes;
- probeLocations
- (
- (0 0 0.0001)
- (0 0 0.0026)
- (0 0 0.0051)
- (0 0 0.0076)
- (0 0 0.0101)
- (0 0 0.0126)
- (0 0 0.0151)
- (0 0 0.0176)
- (0 0 0.0201)
- (0 0 0.0226)
- (0 0 0.0251)
- (0 0 0.0276)
- (0 0 0.0301)
- (0 0 0.0326)
- (0 0 0.0351)
- (0 0 0.0375)
- (0 0 0.0401)
- (0 0 0.0426)
- (0 0 0.0451)
- (0 0 0.0476)
- (0 0 0.0529)
- );
-
- // Fields to be probed
- fields ( p U voidfraction volAverage_voidfraction voidfractionNext voidfractionPrev);
-
- // Write at same frequency as fields
- outputControl timeStep;//outputTime;
- outputInterval 1;
- }
-
- /*pressureDrop
- {
- type patchAverage;
- functionObjectLibs
- (
- "libsimpleFunctionObjects.so"
- );
- verbose true;
- patches
- (
- inlet
- outlet
- );
- fields
- (
- p
- );
- factor 1;
- }*/
-);
-// ************************************************************************* //
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_init b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_init
index e6f325c0..5f28012f 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_init
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_init
@@ -1,64 +1,64 @@
# Pour granular particles into chute container, then induce flow
-echo both
-atom_style granular
-atom_modify map array
-communicate single vel yes
+echo both
+atom_style granular
+atom_modify map array
+communicate single vel yes
-boundary m m m
-newton off
+boundary m m m
+newton off
-units si
+units si
-region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
-create_box 1 reg
+region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
+create_box 1 reg
-neighbor 0.001 bin
-neigh_modify delay 0
+neighbor 0.001 bin
+neigh_modify delay 0
-#Material properties required for new pair styles
+# Material properties required for granular pair styles
-fix m1 all property/global youngsModulus peratomtype 5.e6
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
+fix m1 all property/global youngsModulus peratomtype 5.e6
+fix m2 all property/global poissonsRatio peratomtype 0.45
+fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
+fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-#pair style
-pair_style gran model hertz tangential history #Hertzian without cohesion
-pair_coeff * *
+# pair style
+pair_style gran model hertz tangential history # Hertzian without cohesion
+pair_coeff * *
-#timestep, gravity
-timestep 0.00001
-fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
+# timestep, gravity
+timestep 0.00001
+fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
-#walls
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
-fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
+# walls
+fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
+fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
+fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
-#particle distributions and insertion
-region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
-fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2000 radius constant 0.0005
-fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0
+# particle distributions and insertion
+region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
+fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2000 radius constant 0.0005
+fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
-fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
+fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere
+# apply nve integration to all particles that are inserted as single particles
+fix integr all nve/sphere
-#screen output
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 vol
-thermo 1000
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
+# screen output
+compute rke all erotate/sphere
+thermo_style custom step atoms ke c_rke vol
+thermo 1000
+thermo_modify lost ignore norm no
+compute_modify thermo_temp dynamic yes
-#insert the first particles so that dump is not empty
-run 1
-dump dmp all custom 5000 post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
+# insert the first particles so that dump is not empty
+run 1
+dump dmp all custom 5000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2]
#node : f_couple_cfd[6]
#cell id : f_couple_cfd[7]
-run 10000 upto
-write_restart liggghts.restart
+run 10000 upto
+write_restart post/restart/liggghts.restart
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_restart b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_restart
index 5dc462e5..251ce3e7 100644
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_restart
+++ b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_restart
@@ -1,71 +1,65 @@
# Pour granular particles into chute container, then induce flow
+log ../DEM/log.liggghts
+thermo_log ../DEM/post/thermo.txt
-atom_style granular
-atom_modify map array
-communicate single vel yes
+atom_style granular
+atom_modify map array
+communicate single vel yes
-boundary m m m
-newton off
+boundary m m m
+newton off
-units si
-processors 2 2 1
+units si
+processors 2 2 1
-#read the restart file
-read_restart ../DEM/liggghts.restartCFDEM_0.050000
+# read the restart file
+read_restart ../DEM/post/restart/liggghts.restartCFDEM
-#do not do this here, the simulation box is in the restart file!
-#region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
-#create_box 1 reg
+neighbor 0.0005 bin
+neigh_modify delay 0
-neighbor 0.0005 bin
-neigh_modify delay 0
+# Material properties required for granular pair styles
-#Material properties required for new pair styles
+fix m1 all property/global youngsModulus peratomtype 5.e6
+fix m2 all property/global poissonsRatio peratomtype 0.45
+fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
+fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-fix m1 all property/global youngsModulus peratomtype 5.e6
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
+# pair style
+pair_style gran model hertz tangential history # Hertzian without cohesion
+pair_coeff * *
-#pair style
-pair_style gran model hertz tangential history #Hertzian without cohesion
-pair_coeff * *
+# timestep, gravity
+timestep 0.00001
+fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
-#timestep, gravity
-timestep 0.00001
-fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
-
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
-fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
+fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
+fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
+fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
# change the particles density
-set group all density 2000
+set group all density 2000
-#cfd coupling
-fix cfd all couple/cfd couple_every 100 mpi
-fix cfd2 all couple/cfd/force
+# cfd coupling
+fix cfd all couple/cfd couple_every 100 mpi
+fix cfd2 all couple/cfd/force
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere
+# apply nve integration to all particles that are inserted as single particles
+fix integr all nve/sphere
-#center of mass
-compute centerOfMass all com
+# center of mass
+compute centerOfMass all com
-#compute total dragforce
-compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
+# compute total dragforce
+compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
-#screen output
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
-thermo 10
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
+# screen output
+compute rke all erotate/sphere
+thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
+thermo 10
+thermo_modify lost ignore norm no
+compute_modify thermo_temp dynamic yes
-#insert the first particles so that dump is not empty
-dump myDump all stl 1 post/dump_*.stl
-#run 1
-dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
-undump myDump
+dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
-run 1
+run 1
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_resume b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_resume
deleted file mode 100644
index 4ef8baba..00000000
--- a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/in.liggghts_resume
+++ /dev/null
@@ -1,71 +0,0 @@
-# Pour granular particles into chute container, then induce flow
-
-atom_style granular
-atom_modify map array
-communicate single vel yes
-
-boundary m m m
-newton off
-
-units si
-processors 2 2 1
-
-#read the restart file
-read_restart ../DEM/liggghts.restart
-
-#do not do this here, the simulation box is in the restart file!
-#region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
-#create_box 1 reg
-
-neighbor 0.0005 bin
-neigh_modify delay 0
-
-#Material properties required for new pair styles
-
-fix m1 all property/global youngsModulus peratomtype 5.e6
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-
-#pair style
-pair_style gran model hertz tangential history #Hertzian without cohesion
-pair_coeff * *
-
-#timestep, gravity
-timestep 0.00001
-fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
-
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
-fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
-
-# change the particles density
-set group all density 2000
-
-#cfd coupling
-fix cfd all couple/cfd couple_every 100 mpi
-fix cfd2 all couple/cfd/force
-
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere
-
-#center of mass
-compute centerOfMass all com
-
-#compute total dragforce
-compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
-
-#screen output
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
-thermo 10
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
-
-#insert the first particles so that dump is not empty
-dump myDump all stl 1 post/dump_*.stl
-#run 1
-dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
-undump myDump
-
-run 1
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/liggghts.restart b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/liggghts.restart
deleted file mode 100644
index 93e0dd41..00000000
Binary files a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/liggghts.restart and /dev/null differ
diff --git a/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/post/dummy b/tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/post/dummy
deleted file mode 100644
index e69de29b..00000000
diff --git a/tutorials/cfdemSolverPiso/settlingTestMPI/CFD/constant/couplingProperties b/tutorials/cfdemSolverPiso/settlingTestMPI/CFD/constant/couplingProperties
index 4a83deba..377798f4 100755
--- a/tutorials/cfdemSolverPiso/settlingTestMPI/CFD/constant/couplingProperties
+++ b/tutorials/cfdemSolverPiso/settlingTestMPI/CFD/constant/couplingProperties
@@ -48,7 +48,7 @@ averagingModel dense;//dilute;//
clockModel off; //standardClock;//
-smoothingModel off;//constDiffSmoothing; //
+smoothingModel constDiffSmoothing; //off;//
//useDDTvoidfraction;
@@ -137,7 +137,7 @@ oneWayVTKProps
twoWayMPIProps
{
- liggghtsPath "../DEM/in.liggghts_init";
+ liggghtsPath "../DEM/in.liggghts_run";
}
twoWayFilesProps
@@ -166,7 +166,7 @@ bigParticleProps
engineProps
{
- treeSearch true;
+ treeSearch true;
}
// ************************************************************************* //
diff --git a/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/in.liggghts_init b/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/in.liggghts_init
deleted file mode 100644
index 832f7c4c..00000000
--- a/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/in.liggghts_init
+++ /dev/null
@@ -1,79 +0,0 @@
-echo both
-
-# Pour granular particles into chute container, then induce flow
-
-atom_style granular
-atom_modify map array sort 0 0
-communicate single vel yes
-#processors 1 1 2
-
-boundary f f f
-newton off
-
-units si
-
-region reg block 0 0.1 0 0.1 0 0.1 units box
-create_box 1 reg
-
-neighbor 0.003 bin
-neigh_modify delay 0 binsize 0.01
-
-
-#Material properties required for new pair styles
-fix m1 all property/global youngsModulus peratomtype 5.e6
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-#fix m5 all property/global characteristicVelocity scalar 2.0
-
-#pair style
-pair_style gran model hertz tangential history #hertzan without cohesion
-pair_coeff * *
-
-#timestep, gravity
-timestep 0.00001
-fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
-
-#walls (liggghts 2.0)
-fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0
-fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.1
-fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.0
-fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.1
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.01
-
-#-import mesh from cad:
-#fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0.
-
-#-use the imported mesh as granular wall
-#fix bucket_wall all wall/gran/hertz/history 1 0 mesh/gran 1 cad1
-
-#- create single partciles
-create_atoms 1 single 0.05 0.025 0.05 units box
-set group all diameter 0.0001 density 3000
-
-#cfd coupling
-fix cfd all couple/cfd couple_every 100 mpi
-fix cfd2 all couple/cfd/force
-
-variable vx equal vx[1]
-variable vy equal vy[1]
-variable vz equal vz[1]
-variable time equal step*dt
-fix extra all print 100 "${time} ${vx} ${vy} ${vz}" file ../DEM/post/velocity.txt title "%" screen no
-
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere
-
-#screen output
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 vol
-thermo 1000
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
-
-#insert the first particles so that dump is not empty
-run 1
-dump dmp all custom 1000 ../DEM/post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
-
-run 1 upto
diff --git a/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/post/dummy b/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/post/dummy
deleted file mode 100644
index ebf63dfd..00000000
--- a/tutorials/cfdemSolverPiso/settlingTestMPI/DEM/post/dummy
+++ /dev/null
@@ -1 +0,0 @@
-dummyfile
diff --git a/tutorials/cfdemSolverPiso/settlingTestMPI/parCFDDEMrun.sh b/tutorials/cfdemSolverPiso/settlingTestMPI/parCFDDEMrun.sh
index 5d20182c..2bedf5db 100644
--- a/tutorials/cfdemSolverPiso/settlingTestMPI/parCFDDEMrun.sh
+++ b/tutorials/cfdemSolverPiso/settlingTestMPI/parCFDDEMrun.sh
@@ -59,7 +59,7 @@ if [ $postproc == "true" ]
#- get VTK data from liggghts dump file
cd $casePath/DEM/post
- python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_init
+ python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_run
#- get VTK data from CFD sim
cd $casePath/CFD
@@ -90,5 +90,5 @@ if [ $cleanCase == "true" ]
fi
#- preserve post directory
-echo "dummyfile" >> $casePath/DEM/post/dummy
+touch $casePath/DEM/post/.gitignore
diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/Allrun.sh b/tutorials/cfdemSolverPisoScalar/packedBedTemp/Allrun.sh
index b03f71a0..9375e5e9 100755
--- a/tutorials/cfdemSolverPisoScalar/packedBedTemp/Allrun.sh
+++ b/tutorials/cfdemSolverPisoScalar/packedBedTemp/Allrun.sh
@@ -2,18 +2,15 @@
#===================================================================#
# allrun script for testcase as part of test routine
-# run packedBedTemp
-# Christoph Goniva - June 2014
+# run settlingTest
+# Christoph Goniva - August 2011
#===================================================================#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
-#- include functions
-source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
-
# check if mesh was built
-if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
+if [ -f "$casePath/CFD/constant/polyMesh/boundary" ]; then
echo "mesh was built before - using old mesh"
else
echo "mesh needs to be built"
@@ -21,27 +18,11 @@ else
blockMesh
fi
-# check if DEM case was run
-if [ -f "$casePath/DEM/liggghts.restart" ]; then
- echo "DEM restart file found"
+if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
+ echo "LIGGGHTS init was run before - using existing restart file"
else
- echo "starting DEM run..."
- #--------------------------------------------------------------------------------#
- #- define variables
- logpath="$casePath"
- headerText="run_liggghts_packedBedTemp_DEM"
- logfileName="log_$headerText"
- solverName="in.liggghts_init"
- nrProcs=4
- machineFileName="none"
- debugMode="off"
- #--------------------------------------------------------------------------------#
-
- #- clean up case
- rm -r $casePath/DEM/post/*
-
- #- call function to run DEM case
- parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
+ #- run DEM init
+ $casePath/parDEMrun.sh
fi
#- run parallel CFD-DEM in new terminal
diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/constant/couplingProperties b/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/constant/couplingProperties
index fea2ab5b..f6e1a5b1 100644
--- a/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/constant/couplingProperties
+++ b/tutorials/cfdemSolverPisoScalar/packedBedTemp/CFD/constant/couplingProperties
@@ -132,7 +132,7 @@ oneWayVTKProps
twoWayMPIProps
{
maxNumberOfParticles 10000;
- liggghtsPath "../DEM/in.liggghts_resume";
+ liggghtsPath "../DEM/in.liggghts_run";
}
centreProps
diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.liggghts_init b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.liggghts_init
index 0a3bf057..f739d162 100644
--- a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.liggghts_init
+++ b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/in.liggghts_init
@@ -1,73 +1,73 @@
-#Particle packing by insertion and successive growing of particles
+# Particle packing by insertion and successive growing of particles
-atom_style granular
-atom_modify map array
-boundary m m m
-newton off
-echo both
+atom_style granular
+atom_modify map array
+boundary m m m
+newton off
+echo both
-communicate single vel yes
+communicate single vel yes
-units si
-processors 1 1 *
+units si
+processors 1 1 2
-region reg block 0. 0.1 0. 0.1 0. 1.1 units box
-create_box 1 reg
+region reg block 0. 0.1 0. 0.1 0. 1.1 units box
+create_box 1 reg
-neighbor 0.002 bin
-neigh_modify delay 0
+neighbor 0.002 bin
+neigh_modify delay 0
-#Material properties required for new pair styles
+# Material properties required for granular pair styles
-fix m1 all property/global youngsModulus peratomtype 5.e6
-fix m2 all property/global poissonsRatio peratomtype 0.45
-fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
-fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
+fix m1 all property/global youngsModulus peratomtype 5.e6
+fix m2 all property/global poissonsRatio peratomtype 0.45
+fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
+fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
-#New pair style
-pair_style gran model hertz tangential history #Hertzian without cohesion
-pair_coeff * *
+# pair style
+pair_style gran model hertz tangential history #Hertzian without cohesion
+pair_coeff * *
-timestep 0.00001
+timestep 0.00001
-#walls
-fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.
-fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.1
-fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.
-fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.1
-fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.
-fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 1.1
+# walls
+fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0
+fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.1
+fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.0
+fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.1
+fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
+fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 1.1
-fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
+fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
-#heat transfer
-fix ftco all property/global thermalConductivity peratomtype 5.
-fix ftca all property/global thermalCapacity peratomtype 10.
-fix heattransfer all heat/gran initial_temperature 263.
+# heat transfer
+fix ftco all property/global thermalConductivity peratomtype 5.
+fix ftca all property/global thermalCapacity peratomtype 10.
+fix heattransfer all heat/gran initial_temperature 263.
-#particle distributions and insertion
-region bc block 0. 0.1 0. 0.1 0. 1.1 units box
-fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.011
-fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0
+# particle distributions and insertion
+region bc block 0. 0.1 0. 0.1 0. 1.1 units box
+fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.011
+fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
-fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -3. insert_every 10000 overlapcheck yes all_in yes particles_in_region 1005 region bc
+fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -3. insert_every 10000 overlapcheck yes all_in yes particles_in_region 1005 region bc
-#apply nve integration to all particles that are inserted as single particles
-fix integr all nve/sphere
+# apply nve integration to all particles that are inserted as single particles
+fix integr all nve/sphere
-#output settings, include total thermal energy
-compute 1 all erotate/sphere
-thermo_style custom step atoms ke c_1 f_heattransfer vol
-thermo 1000
-thermo_modify lost ignore norm no
-compute_modify thermo_temp dynamic yes
+# output settings, include total thermal energy
+compute rke all erotate/sphere
+thermo_style custom step atoms ke c_rke f_heattransfer vol
+thermo 1000
+thermo_modify lost ignore norm no
+compute_modify thermo_temp dynamic yes
#insert the first particles
-run 1
-dump dmp all custom 1000 post/dump.packing id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius f_heattransfer[0] f_heatFlux[0]
+run 1
+dump dmp all custom 1000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius f_heattransfer[0] f_heatFlux[0]
-run 150000
+run 150000
-write_restart liggghts.restart
+write_restart post/restart/liggghts.restart
diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/liggghts.restart b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/liggghts.restart
deleted file mode 100644
index 048b4a9f..00000000
Binary files a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/liggghts.restart and /dev/null differ
diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/post/dummy b/tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/post/dummy
deleted file mode 100644
index e69de29b..00000000
diff --git a/tutorials/cfdemSolverPisoScalar/packedBedTemp/parCFDDEMrun.sh b/tutorials/cfdemSolverPisoScalar/packedBedTemp/parCFDDEMrun.sh
index 603a70e3..7c402d46 100644
--- a/tutorials/cfdemSolverPisoScalar/packedBedTemp/parCFDDEMrun.sh
+++ b/tutorials/cfdemSolverPisoScalar/packedBedTemp/parCFDDEMrun.sh
@@ -65,7 +65,7 @@ if [ $postproc == "true" ]
#- get VTK data from liggghts dump file
cd $casePath/DEM/post
- python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_init
+ python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_run
#- get VTK data from CFD sim
cd $casePath/CFD
@@ -83,11 +83,26 @@ if [ $postproc == "true" ]
fi
#- clean up case
-echo "deleting data at: $casePath :\n"
-source $WM_PROJECT_DIR/bin/tools/CleanFunctions
-cd $casePath/CFD
-cleanCase
-rm -r $casePath/CFD/clockData
-rm -r $casePath/DEM/post/*
-(cd $casePath/DEM/post && touch dummy)
+echo "deleting data at: $casePath : ???\n"
+rm -r $casePath/CFD/0.*
+rm -r $casePath/CFD/1
+rm -r $casePath/CFD/callgrind.*
+rm -r $casePath/CFD/*.out
+rm -r $casePath/CFD/octave/*.eps
+rm -r $casePath/CFD/octave/octave-core
+rm -r $casePath/CFD/VTK
+rm -r $casePath/CFD/processor*
+rm -r $casePath/DEM/post/*.*
+rm -r $casePath/DEM/post/restart/*.*
+rm -r $casePath/DEM/log.*
+rm -r $casePath/CFD/log.*
+rm -r $casePath/CFD/probes
+rm -r $casePath/CFD/postProcessing
+rm -r $casePath/log_*
echo "done"
+
+#- preserve post directory
+touch $casePath/DEM/post/.gitignore
+touch $casePath/DEM/post/restart/.gitignore
+
+