mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
release on 2014-07-17_15-58-48
This commit is contained in:
81
README
81
README
@ -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.
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
Binary file not shown.
Binary file not shown.
@ -3,10 +3,10 @@ forceModels = subModels/forceModel
|
|||||||
forceModelsMS = subModels/forceModelMS
|
forceModelsMS = subModels/forceModelMS
|
||||||
IOModels = subModels/IOModel
|
IOModels = subModels/IOModel
|
||||||
voidFractionModels = subModels/voidFractionModel
|
voidFractionModels = subModels/voidFractionModel
|
||||||
|
voidFractionModelsMS = subModels/voidFractionModelMS
|
||||||
locateModels = subModels/locateModel
|
locateModels = subModels/locateModel
|
||||||
meshMotionModels = subModels/meshMotionModel
|
meshMotionModels = subModels/meshMotionModel
|
||||||
momCoupleModels = subModels/momCoupleModel
|
momCoupleModels = subModels/momCoupleModel
|
||||||
regionModels = subModels/regionModel
|
|
||||||
dataExchangeModels = subModels/dataExchangeModel
|
dataExchangeModels = subModels/dataExchangeModel
|
||||||
averagingModels = subModels/averagingModel
|
averagingModels = subModels/averagingModel
|
||||||
clockModels = subModels/clockModel
|
clockModels = subModels/clockModel
|
||||||
@ -15,6 +15,7 @@ smoothingModels = subModels/smoothingModel
|
|||||||
probeModels = subModels/probeModel
|
probeModels = subModels/probeModel
|
||||||
|
|
||||||
$(cfdemCloud)/cfdemCloud.C
|
$(cfdemCloud)/cfdemCloud.C
|
||||||
|
derived/cfdemCloudBiDisperse/cfdemCloudBiDisperse.C
|
||||||
derived/cfdemCloudIB/cfdemCloudIB.C
|
derived/cfdemCloudIB/cfdemCloudIB.C
|
||||||
derived/cfdemCloudMS/cfdemCloudMS.C
|
derived/cfdemCloudMS/cfdemCloudMS.C
|
||||||
|
|
||||||
@ -23,36 +24,59 @@ $(forceModels)/forceModel/newForceModel.C
|
|||||||
$(forceModels)/noDrag/noDrag.C
|
$(forceModels)/noDrag/noDrag.C
|
||||||
$(forceModels)/checkCouplingInterval/checkCouplingInterval.C
|
$(forceModels)/checkCouplingInterval/checkCouplingInterval.C
|
||||||
$(forceModels)/DiFeliceDrag/DiFeliceDrag.C
|
$(forceModels)/DiFeliceDrag/DiFeliceDrag.C
|
||||||
|
$(forceModels)/DiFeliceDragNLift/DiFeliceDragNLift.C
|
||||||
$(forceModels)/GidaspowDrag/GidaspowDrag.C
|
$(forceModels)/GidaspowDrag/GidaspowDrag.C
|
||||||
$(forceModels)/SchillerNaumannDrag/SchillerNaumannDrag.C
|
$(forceModels)/SchillerNaumannDrag/SchillerNaumannDrag.C
|
||||||
$(forceModels)/Archimedes/Archimedes.C
|
$(forceModels)/Archimedes/Archimedes.C
|
||||||
$(forceModels)/ArchimedesIB/ArchimedesIB.C
|
$(forceModels)/ArchimedesIB/ArchimedesIB.C
|
||||||
$(forceModels)/interface/interface.C
|
$(forceModels)/interface/interface.C
|
||||||
$(forceModels)/ShirgaonkarIB/ShirgaonkarIB.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)/KochHillDrag/KochHillDrag.C
|
||||||
$(forceModels)/KochHillRWDrag/KochHillRWDrag.C
|
$(forceModels)/KochHillRWDrag/KochHillRWDrag.C
|
||||||
|
$(forceModels)/BeetstraDrag/multiphaseFlowBasic/multiphaseFlowBasic.C
|
||||||
|
$(forceModels)/BeetstraDrag/BeetstraDrag.C
|
||||||
|
$(forceModels)/LaEuScalarLiquid/LaEuScalarLiquid.C
|
||||||
$(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C
|
$(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C
|
||||||
|
$(forceModels)/LaEuScalarDust/LaEuScalarDust.C
|
||||||
$(forceModels)/virtualMassForce/virtualMassForce.C
|
$(forceModels)/virtualMassForce/virtualMassForce.C
|
||||||
$(forceModels)/gradPForce/gradPForce.C
|
$(forceModels)/gradPForce/gradPForce.C
|
||||||
|
$(forceModels)/gradULiftForce/gradULiftForce.C
|
||||||
|
$(forceModels)/HollowayDrag/HollowayDrag.C
|
||||||
$(forceModels)/viscForce/viscForce.C
|
$(forceModels)/viscForce/viscForce.C
|
||||||
$(forceModels)/MeiLift/MeiLift.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)/particleCellVolume/particleCellVolume.C
|
||||||
$(forceModels)/fieldTimeAverage/fieldTimeAverage.C
|
|
||||||
$(forceModels)/volWeightedAverage/volWeightedAverage.C
|
|
||||||
|
|
||||||
$(forceModelsMS)/forceModelMS/forceModelMS.C
|
$(forceModelsMS)/forceModelMS/forceModelMS.C
|
||||||
$(forceModelsMS)/forceModelMS/newForceModelMS.C
|
$(forceModelsMS)/forceModelMS/newForceModelMS.C
|
||||||
$(forceModelsMS)/DiFeliceDragMS/DiFeliceDragMS.C
|
$(forceModelsMS)/DiFeliceDragMS/DiFeliceDragMS.C
|
||||||
|
$(forceModelsMS)/GidaspowDragMS/GidaspowDragMS.C
|
||||||
|
$(forceModelsMS)/noDragMS/noDragMS.C
|
||||||
|
|
||||||
$(probeModels)/probeModel/probeModel.C
|
$(probeModels)/probeModel/probeModel.C
|
||||||
$(probeModels)/probeModel/newProbeModel.C
|
$(probeModels)/probeModel/newProbeModel.C
|
||||||
$(probeModels)/noProbe/noProbe.C
|
$(probeModels)/noProbe/noProbe.C
|
||||||
$(probeModels)/particleProbe/particleProbe.C
|
$(probeModels)/particleProbe/particleProbe.C
|
||||||
|
/*$(probeModels)/interfaceParticleProbe/interfaceParticleProbe.C*/
|
||||||
|
|
||||||
$(IOModels)/IOModel/IOModel.C
|
$(IOModels)/IOModel/IOModel.C
|
||||||
$(IOModels)/IOModel/newIOModel.C
|
$(IOModels)/IOModel/newIOModel.C
|
||||||
$(IOModels)/noIO/noIO.C
|
$(IOModels)/noIO/noIO.C
|
||||||
$(IOModels)/basicIO/basicIO.C
|
$(IOModels)/basicIO/basicIO.C
|
||||||
|
$(IOModels)/tempIO/tempIO.C
|
||||||
|
$(IOModels)/colorIO/colorIO.C
|
||||||
$(IOModels)/trackIO/trackIO.C
|
$(IOModels)/trackIO/trackIO.C
|
||||||
$(IOModels)/sophIO/sophIO.C
|
$(IOModels)/sophIO/sophIO.C
|
||||||
|
|
||||||
@ -60,46 +84,53 @@ $(voidFractionModels)/voidFractionModel/voidFractionModel.C
|
|||||||
$(voidFractionModels)/voidFractionModel/newVoidFractionModel.C
|
$(voidFractionModels)/voidFractionModel/newVoidFractionModel.C
|
||||||
$(voidFractionModels)/centreVoidFraction/centreVoidFraction.C
|
$(voidFractionModels)/centreVoidFraction/centreVoidFraction.C
|
||||||
$(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C
|
$(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C
|
||||||
|
$(voidFractionModels)/dividedVoidFractionBiDi/dividedVoidFractionBiDi.C
|
||||||
$(voidFractionModels)/dividedVoidFractionMS/dividedVoidFractionMS.C
|
$(voidFractionModels)/dividedVoidFractionMS/dividedVoidFractionMS.C
|
||||||
$(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C
|
$(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C
|
||||||
$(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C
|
$(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C
|
||||||
$(voidFractionModels)/IBVoidFraction/IBVoidFraction.C
|
$(voidFractionModels)/IBVoidFraction/IBVoidFraction.C
|
||||||
|
$(voidFractionModels)/weightedNeigbhorsVoidFraction/weightedNeigbhorsVoidFraction.C
|
||||||
|
|
||||||
|
$(voidFractionModelsMS)/voidFractionModelMS/voidFractionModelMS.C
|
||||||
|
$(voidFractionModelsMS)/voidFractionModelMS/newVoidFractionModelMS.C
|
||||||
|
|
||||||
$(locateModels)/locateModel/locateModel.C
|
$(locateModels)/locateModel/locateModel.C
|
||||||
$(locateModels)/locateModel/newLocateModel.C
|
$(locateModels)/locateModel/newLocateModel.C
|
||||||
$(locateModels)/standardSearch/standardSearch.C
|
$(locateModels)/standardSearch/standardSearch.C
|
||||||
$(locateModels)/engineSearch/engineSearch.C
|
$(locateModels)/engineSearch/engineSearch.C
|
||||||
$(locateModels)/turboEngineSearch/turboEngineSearch.C
|
|
||||||
$(locateModels)/engineSearchMany2Many/engineSearchMany2Many.C
|
$(locateModels)/engineSearchMany2Many/engineSearchMany2Many.C
|
||||||
|
$(locateModels)/turboEngineSearch/turboEngineSearch.C
|
||||||
|
$(locateModels)/turboEngineSearchM2M/turboEngineSearchM2M.C
|
||||||
$(locateModels)/engineSearchIB/engineSearchIB.C
|
$(locateModels)/engineSearchIB/engineSearchIB.C
|
||||||
|
$(locateModels)/hyperEngineSearch/hyperEngineSearch.C
|
||||||
|
$(locateModels)/ijkSearch/ijkSearch.C
|
||||||
|
|
||||||
$(meshMotionModels)/meshMotionModel/meshMotionModel.C
|
$(meshMotionModels)/meshMotionModel/meshMotionModel.C
|
||||||
$(meshMotionModels)/meshMotionModel/newMeshMotionModel.C
|
$(meshMotionModels)/meshMotionModel/newMeshMotionModel.C
|
||||||
$(meshMotionModels)/noMeshMotion/noMeshMotion.C
|
$(meshMotionModels)/noMeshMotion/noMeshMotion.C
|
||||||
|
$(meshMotionModels)/DEMdrivenMeshMotion/DEMdrivenMeshMotion.C
|
||||||
|
|
||||||
$(momCoupleModels)/momCoupleModel/momCoupleModel.C
|
$(momCoupleModels)/momCoupleModel/momCoupleModel.C
|
||||||
$(momCoupleModels)/momCoupleModel/newMomCoupleModel.C
|
$(momCoupleModels)/momCoupleModel/newMomCoupleModel.C
|
||||||
$(momCoupleModels)/explicitCouple/explicitCouple.C
|
$(momCoupleModels)/explicitCouple/explicitCouple.C
|
||||||
|
$(momCoupleModels)/explicitCoupleSource/explicitCoupleSource.C
|
||||||
$(momCoupleModels)/implicitCouple/implicitCouple.C
|
$(momCoupleModels)/implicitCouple/implicitCouple.C
|
||||||
$(momCoupleModels)/noCouple/noCouple.C
|
$(momCoupleModels)/noCouple/noCouple.C
|
||||||
|
|
||||||
$(regionModels)/regionModel/regionModel.C
|
|
||||||
$(regionModels)/regionModel/newRegionModel.C
|
|
||||||
$(regionModels)/allRegion/allRegion.C
|
|
||||||
|
|
||||||
$(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C
|
$(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C
|
||||||
$(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C
|
$(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C
|
||||||
$(dataExchangeModels)/oneWayVTK/oneWayVTK.C
|
$(dataExchangeModels)/oneWayVTK/oneWayVTK.C
|
||||||
$(dataExchangeModels)/twoWayFiles/twoWayFiles.C
|
$(dataExchangeModels)/twoWayFiles/twoWayFiles.C
|
||||||
$(dataExchangeModels)/noDataExchange/noDataExchange.C
|
$(dataExchangeModels)/noDataExchange/noDataExchange.C
|
||||||
$(dataExchangeModels)/twoWayMPI/twoWayMPI.C
|
$(dataExchangeModels)/twoWayMPI/twoWayMPI.C
|
||||||
|
$(dataExchangeModels)/twoWayM2M/twoWayM2M.C
|
||||||
$(dataExchangeModels)/twoWayMany2Many/twoWayMany2Many.C
|
$(dataExchangeModels)/twoWayMany2Many/twoWayMany2Many.C
|
||||||
|
|
||||||
$(averagingModels)/averagingModel/averagingModel.C
|
$(averagingModels)/averagingModel/averagingModel.C
|
||||||
$(averagingModels)/averagingModel/newAveragingModel.C
|
$(averagingModels)/averagingModel/newAveragingModel.C
|
||||||
$(averagingModels)/dilute/dilute.C
|
$(averagingModels)/dilute/dilute.C
|
||||||
$(averagingModels)/dense/dense.C
|
$(averagingModels)/dense/dense.C
|
||||||
|
$(averagingModels)/denseBiDi/denseBiDi.C
|
||||||
|
|
||||||
$(clockModels)/clockModel/clockModel.C
|
$(clockModels)/clockModel/clockModel.C
|
||||||
$(clockModels)/clockModel/newClockModel.C
|
$(clockModels)/clockModel/newClockModel.C
|
||||||
@ -108,6 +139,7 @@ $(clockModels)/noClock/noClock.C
|
|||||||
|
|
||||||
$(liggghtsCommandModels)/liggghtsCommandModel/liggghtsCommandModel.C
|
$(liggghtsCommandModels)/liggghtsCommandModel/liggghtsCommandModel.C
|
||||||
$(liggghtsCommandModels)/liggghtsCommandModel/newLiggghtsCommandModel.C
|
$(liggghtsCommandModels)/liggghtsCommandModel/newLiggghtsCommandModel.C
|
||||||
|
$(liggghtsCommandModels)/colorParticles/colorParticles.C
|
||||||
$(liggghtsCommandModels)/execute/execute.C
|
$(liggghtsCommandModels)/execute/execute.C
|
||||||
$(liggghtsCommandModels)/runLiggghts/runLiggghts.C
|
$(liggghtsCommandModels)/runLiggghts/runLiggghts.C
|
||||||
$(liggghtsCommandModels)/writeLiggghts/writeLiggghts.C
|
$(liggghtsCommandModels)/writeLiggghts/writeLiggghts.C
|
||||||
@ -117,5 +149,6 @@ $(smoothingModels)/smoothingModel/smoothingModel.C
|
|||||||
$(smoothingModels)/smoothingModel/newSmoothingModel.C
|
$(smoothingModels)/smoothingModel/newSmoothingModel.C
|
||||||
$(smoothingModels)/noSmoothing/noSmoothing.C
|
$(smoothingModels)/noSmoothing/noSmoothing.C
|
||||||
$(smoothingModels)/constDiffSmoothing/constDiffSmoothing.C
|
$(smoothingModels)/constDiffSmoothing/constDiffSmoothing.C
|
||||||
|
$(smoothingModels)/localPSizeDiffSmoothing/localPSizeDiffSmoothing.C
|
||||||
|
|
||||||
LIB = $(CFDEM_LIB_DIR)/lib$(CFDEM_LIB_NAME)
|
LIB = $(CFDEM_LIB_DIR)/lib$(CFDEM_LIB_NAME)
|
||||||
|
|||||||
@ -14,11 +14,12 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/OpenFOAM/containers/HashTables/labelHashSet \
|
-I$(LIB_SRC)/OpenFOAM/containers/HashTables/labelHashSet \
|
||||||
-I$(CFDEM_LIGGGHTS_SRC_DIR) \
|
-I$(CFDEM_LIGGGHTS_SRC_DIR) \
|
||||||
-I$(CFDEM_M2MLIB_PATH) \
|
-I$(CFDEM_M2MLIB_PATH) \
|
||||||
|
-I$(CFDEM_Many2ManyLIB_PATH) \
|
||||||
-I$(CFDEM_SRC_DIR)/cfdTools \
|
-I$(CFDEM_SRC_DIR)/cfdTools \
|
||||||
|
|
||||||
LIB_LIBS = \
|
LIB_LIBS = \
|
||||||
$(PLIBS) \
|
$(PLIBS) \
|
||||||
-L$(CFDEM_LIB_DIR) \
|
-L$(FOAM_USER_LIBBIN) \
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lincompressibleRASModels \
|
-lincompressibleRASModels \
|
||||||
-lincompressibleLESModels \
|
-lincompressibleLESModels \
|
||||||
@ -27,5 +28,11 @@ LIB_LIBS = \
|
|||||||
-lmpi_cxx \
|
-lmpi_cxx \
|
||||||
-L$(CFDEM_LIGGGHTS_SRC_DIR) \
|
-L$(CFDEM_LIGGGHTS_SRC_DIR) \
|
||||||
-Wl,--whole-archive -l$(CFDEM_LIGGGHTS_LIB_NAME) -Wl,--no-whole-archive \
|
-Wl,--whole-archive -l$(CFDEM_LIGGGHTS_LIB_NAME) -Wl,--no-whole-archive \
|
||||||
|
-L$(CFDEM_M2MLIB_PATH) \
|
||||||
|
-lcouple \
|
||||||
-L$(CFDEM_Many2ManyLIB_PATH) \
|
-L$(CFDEM_Many2ManyLIB_PATH) \
|
||||||
-lcoupleMany2Many
|
-lcoupleMany2Many \
|
||||||
|
|
||||||
|
/* add -I$(CFDEM_POEMSLIB_PATH) \ to EXE_INC */
|
||||||
|
/* -L$(CFDEM_POEMSLIB_PATH) \ */
|
||||||
|
/* -lpoems */
|
||||||
|
|||||||
@ -1,4 +0,0 @@
|
|||||||
#syntax: makefileName/dir
|
|
||||||
#note: dir is not a path, just a keyword here
|
|
||||||
###############################################
|
|
||||||
Many2Many/dir
|
|
||||||
@ -1,2 +1,11 @@
|
|||||||
lagrangian/cfdemParticle/dir
|
lagrangian/cfdemParticle/dir
|
||||||
|
|
||||||
|
#====================================================='
|
||||||
|
#- RADL
|
||||||
|
fvOptions/dir
|
||||||
|
cylPorousMedia/dir
|
||||||
|
|
||||||
|
#====================================================='
|
||||||
|
#- other
|
||||||
finiteVolume/dir
|
finiteVolume/dir
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,14 @@
|
|||||||
cfdemSolverPisoMS/dir
|
|
||||||
cfdemSolverPiso/dir
|
cfdemSolverPiso/dir
|
||||||
cfdemSolverIB/dir
|
cfdemSolverIB/dir
|
||||||
cfdemSolverPisoScalar/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
|
||||||
|
|||||||
@ -7,15 +7,51 @@
|
|||||||
#===================================================================#
|
#===================================================================#
|
||||||
|
|
||||||
cfdemSolverPiso/settlingTestMPI/dir
|
cfdemSolverPiso/settlingTestMPI/dir
|
||||||
|
|
||||||
cfdemSolverPiso/ErgunTestMPI/dir
|
cfdemSolverPiso/ErgunTestMPI/dir
|
||||||
|
|
||||||
cfdemSolverPiso/ErgunTestMPI_cgs/dir
|
cfdemSolverPiso/ErgunTestMPI_cgs/dir
|
||||||
|
|
||||||
cfdemSolverPiso/ErgunTestMPI_restart/dir
|
cfdemSolverPiso/ErgunTestMPI_restart/dir
|
||||||
|
|
||||||
cfdemSolverIB/twoSpheresGlowinskiMPI/dir
|
cfdemSolverIB/twoSpheresGlowinskiMPI/dir
|
||||||
|
|
||||||
cfdemSolverPisoScalar/packedBedTemp/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/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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -18,5 +18,12 @@ else
|
|||||||
blockMesh
|
blockMesh
|
||||||
fi
|
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/parDEMrun.sh
|
||||||
|
fi
|
||||||
|
|
||||||
#- run parallel CFD-DEM in new terminal
|
#- run parallel CFD-DEM in new terminal
|
||||||
gnome-terminal --title='cfdemSolverPiso ErgunTestCG CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
gnome-terminal --title='cfdemSolverPiso ErgunTestCG CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||||
|
|||||||
@ -224,6 +224,6 @@ dividedProps
|
|||||||
twoWayMPIProps
|
twoWayMPIProps
|
||||||
{
|
{
|
||||||
maxNumberOfParticles 10100;
|
maxNumberOfParticles 10100;
|
||||||
liggghtsPath "../DEM/in.liggghts_resume";
|
liggghtsPath "../DEM/in.liggghts_run";
|
||||||
}
|
}
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -103,7 +103,7 @@ ylabel("pressure drop [Pa]")
|
|||||||
axis([0,Uend,0,dpErgun(length(dpErgun))])
|
axis([0,Uend,0,dpErgun(length(dpErgun))])
|
||||||
|
|
||||||
%print('cfdemSolverPiso_settlingTest.eps','-deps2')
|
%print('cfdemSolverPiso_settlingTest.eps','-deps2')
|
||||||
print -color "cfdemSolverPiso_ErgunTestMPI.eps"
|
print -color "cfdemSolverPiso_ErgunTestCG.eps"
|
||||||
replot;
|
replot;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ echo both
|
|||||||
#######################################################
|
#######################################################
|
||||||
# variables #
|
# variables #
|
||||||
#######################################################
|
#######################################################
|
||||||
variable cg equal 1
|
variable cg equal 2
|
||||||
variable r0 equal 0.00025
|
variable r0 equal 0.00025
|
||||||
variable nPorg equal 71000
|
variable nPorg equal 71000
|
||||||
variable nPscal equal ${nPorg}/(${cg}*${cg}*${cg})
|
variable nPscal equal ${nPorg}/(${cg}*${cg}*${cg})
|
||||||
@ -75,5 +75,5 @@ dump dmp all custom 5000 post/dump.liggghts_init id type type x y z ix iy iz vx
|
|||||||
#node : f_couple_cfd[6]
|
#node : f_couple_cfd[6]
|
||||||
#cell id : f_couple_cfd[7]
|
#cell id : f_couple_cfd[7]
|
||||||
|
|
||||||
run 10000 upto
|
run 10000 upto
|
||||||
write_restart liggghts.restart_coarseGraining_${cg}
|
write_restart ../DEM/post/restart/liggghts.restart_coarseGraining_${cg}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ echo both
|
|||||||
#######################################################
|
#######################################################
|
||||||
# variables #
|
# variables #
|
||||||
#######################################################
|
#######################################################
|
||||||
variable cg equal 3
|
variable cg equal 2
|
||||||
variable r0 equal 0.00025
|
variable r0 equal 0.00025
|
||||||
variable nPorg equal 71000
|
variable nPorg equal 71000
|
||||||
variable nPscal equal ${nPorg}/(${cg}*${cg}*${cg})
|
variable nPscal equal ${nPorg}/(${cg}*${cg}*${cg})
|
||||||
@ -25,7 +25,8 @@ units si
|
|||||||
processors 2 2 1
|
processors 2 2 1
|
||||||
|
|
||||||
#read the restart file
|
#read the restart file
|
||||||
read_restart ../DEM/liggghts.restart_coarseGraining_${cg}
|
read_restart ../DEM/post/restart/liggghts.restart_coarseGraining_${cg}
|
||||||
|
#_coarseGraining_${cg}
|
||||||
|
|
||||||
neighbor 0.001 bin
|
neighbor 0.001 bin
|
||||||
neigh_modify delay 0
|
neigh_modify delay 0
|
||||||
0
tutorials/cfdemSolverPiso/ErgunTestCG/DEM/post/restart/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverPiso/ErgunTestCG/DEM/post/restart/.gitignore
vendored
Normal file
@ -16,7 +16,7 @@ source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
|
|||||||
#- define variables
|
#- define variables
|
||||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
logpath=$casePath
|
logpath=$casePath
|
||||||
headerText="run_parallel_cfdemSolverPiso_ErgunTestMPI_CFDDEM"
|
headerText="run_parallel_cfdemSolverPiso_ErgunTestCG_CFDDEM"
|
||||||
logfileName="log_$headerText"
|
logfileName="log_$headerText"
|
||||||
solverName="cfdemSolverPiso"
|
solverName="cfdemSolverPiso"
|
||||||
nrProcs="4"
|
nrProcs="4"
|
||||||
@ -40,17 +40,17 @@ if [ $runOctave == "true" ]
|
|||||||
cd octave
|
cd octave
|
||||||
|
|
||||||
#- rmove old graph
|
#- rmove old graph
|
||||||
rm cfdemSolverPiso_ErgunTestMPI.eps
|
rm cfdemSolverPiso_ErgunTestCG.eps
|
||||||
|
|
||||||
#- run octave
|
#- run octave
|
||||||
octave totalPressureDrop.m
|
octave totalPressureDrop.m
|
||||||
|
|
||||||
#- show plot
|
#- show plot
|
||||||
evince cfdemSolverPiso_ErgunTestMPI.eps
|
evince cfdemSolverPiso_ErgunTestCG.eps
|
||||||
|
|
||||||
#- copy log file to test harness
|
#- copy log file to test harness
|
||||||
cp ../../$logfileName $testHarnessPath
|
cp ../../$logfileName $testHarnessPath
|
||||||
cp cfdemSolverPiso_ErgunTestMPI.eps $testHarnessPath
|
cp cfdemSolverPiso_ErgunTestCG.eps $testHarnessPath
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $postproc == "true" ]
|
if [ $postproc == "true" ]
|
||||||
@ -62,7 +62,7 @@ if [ $postproc == "true" ]
|
|||||||
|
|
||||||
#- get VTK data from liggghts dump file
|
#- get VTK data from liggghts dump file
|
||||||
cd $casePath/DEM/post
|
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
|
#- get VTK data from CFD sim
|
||||||
cd $casePath/CFD
|
cd $casePath/CFD
|
||||||
@ -86,6 +86,8 @@ source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
|||||||
cd $casePath/CFD
|
cd $casePath/CFD
|
||||||
cleanCase
|
cleanCase
|
||||||
rm -r $casePath/CFD/clockData
|
rm -r $casePath/CFD/clockData
|
||||||
rm -r $casePath/DEM/post/*
|
rm -r $casePath/DEM/post/*.*
|
||||||
(cd $casePath/DEM/post && touch dummy)
|
rm -r $casePath/DEM/post/restart/*.*
|
||||||
|
touch $casePath/DEM/post/.gitignore
|
||||||
|
touch $casePath/DEM/post/restart/.gitignore
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|||||||
28
tutorials/cfdemSolverPiso/ErgunTestCG/parDEMrun.sh
Executable file
28
tutorials/cfdemSolverPiso/ErgunTestCG/parDEMrun.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#===================================================================#
|
||||||
|
# DEMrun script for ErgunTestMPI testcase
|
||||||
|
# init ErgunTestMPI
|
||||||
|
# Daniel Queteschiner - June 2014
|
||||||
|
#===================================================================#
|
||||||
|
|
||||||
|
#- source CFDEM env vars
|
||||||
|
. ~/.bashrc
|
||||||
|
|
||||||
|
#- include functions
|
||||||
|
source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
|
||||||
|
|
||||||
|
#--------------------------------------------------------------------------------#
|
||||||
|
#- define variables
|
||||||
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
|
logpath="$casePath"
|
||||||
|
headerText="run_liggghts_init_DEM"
|
||||||
|
logfileName="log_$headerText"
|
||||||
|
solverName="in.liggghts_init"
|
||||||
|
nrProcs="4"
|
||||||
|
machineFileName="none" # yourMachinefileName | none
|
||||||
|
#--------------------------------------------------------------------------------#
|
||||||
|
|
||||||
|
#- call function to run DEM case
|
||||||
|
parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
|||||||
cd $casePath/CFD
|
cd $casePath/CFD
|
||||||
cleanCase
|
cleanCase
|
||||||
rm -r $casePath/CFD/clockData
|
rm -r $casePath/CFD/clockData
|
||||||
rm -r $casePath/DEM/post/*.*
|
rm $casePath/DEM/post/*.*
|
||||||
rm -r $casePath/DEM/post/restart/*.*
|
rm -r $casePath/DEM/post/restart/*.*
|
||||||
touch $casePath/DEM/post/.gitignore
|
touch $casePath/DEM/post/.gitignore
|
||||||
touch $casePath/DEM/post/restart/.gitignore
|
touch $casePath/DEM/post/restart/.gitignore
|
||||||
|
|||||||
Reference in New Issue
Block a user