mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
release on 2014-03-11_15-15-12
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.
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -51,8 +51,11 @@ Contributions
|
||||
#include "dynamicFvMesh.H" //dyM
|
||||
|
||||
#include "cellSet.H"
|
||||
#include "meshToMeshNew.H"
|
||||
#include "fvIOoptionList.H"
|
||||
|
||||
#if defined(version22)
|
||||
#include "meshToMeshNew.H"
|
||||
#include "fvIOoptionList.H"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -68,7 +71,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
#include "initContinuityErrs.H"
|
||||
|
||||
#include "createFvOptions.H"
|
||||
#if defined(version22)
|
||||
#include "createFvOptions.H"
|
||||
#endif
|
||||
|
||||
// create cfdemCloud
|
||||
#include "readGravitationalAcceleration.H"
|
||||
@ -102,13 +107,17 @@ int main(int argc, char *argv[])
|
||||
fvm::ddt(voidfraction,U)
|
||||
+ fvm::div(phi, U)
|
||||
+ turbulence->divDevReff(U)
|
||||
#if defined(version22)
|
||||
==
|
||||
fvOptions(U)
|
||||
#endif
|
||||
);
|
||||
|
||||
UEqn.relax();
|
||||
|
||||
#if defined(version22)
|
||||
fvOptions.constrain(UEqn);
|
||||
#endif
|
||||
|
||||
if (momentumPredictor)
|
||||
{
|
||||
@ -126,7 +135,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
adjustPhi(phi, U, p);
|
||||
|
||||
#if defined(version22)
|
||||
fvOptions.relativeFlux(phi);
|
||||
#endif
|
||||
|
||||
// Non-orthogonal pressure corrector loop
|
||||
for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
|
||||
@ -172,7 +183,9 @@ int main(int argc, char *argv[])
|
||||
volScalarField voidfractionNext=mesh.lookupObject<volScalarField>("voidfractionNext");
|
||||
particleCloud.calcVelocityCorrection(p,U,phiIB,voidfractionNext);
|
||||
|
||||
#if defined(version22)
|
||||
fvOptions.correct(U);
|
||||
#endif
|
||||
|
||||
runTime.write();
|
||||
|
||||
|
||||
Binary file not shown.
@ -21,6 +21,7 @@ GidaspowDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "density";
|
||||
voidfractionFieldName "voidfraction";
|
||||
phi "scalar";
|
||||
};
|
||||
</PRE>
|
||||
@ -28,6 +29,8 @@ GidaspowDragProps
|
||||
|
||||
<LI><I>density</I> = name of the finite volume gravity field
|
||||
|
||||
<LI><I>voidfraction</I> = name of the finite volume voidfraction field
|
||||
|
||||
<LI><I>phi</I> = drag correction factor (in doubt 1)
|
||||
|
||||
|
||||
@ -42,6 +45,7 @@ GidaspowDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
|
||||
@ -19,11 +19,13 @@ GidaspowDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
densityFieldName "density";
|
||||
voidfractionFieldName "voidfraction";
|
||||
phi "scalar";
|
||||
\}; :pre
|
||||
|
||||
{U} = name of the finite volume fluid velocity field :ulb,l
|
||||
{density} = name of the finite volume gravity field :l
|
||||
{voidfraction} = name of the finite volume voidfraction field :l
|
||||
{phi} = drag correction factor (in doubt 1) :l
|
||||
:ule
|
||||
|
||||
@ -37,6 +39,7 @@ GidaspowDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>This routine describes how to setup a github account and pull repositories of the CFDEMproject.
|
||||
After setting some environment variables LIGGGHTS and CFDEMcoupling can be compiled
|
||||
<P>This routine describes how to setup a github account and pull repositories of the CFDEM(R)project.
|
||||
After setting some environment variables LIGGGHTS(R) and CFDEM(R)coupling can be compiled
|
||||
</P>
|
||||
<P><B>Procedure:</B>
|
||||
</P>
|
||||
@ -30,7 +30,7 @@ After setting some environment variables LIGGGHTS and CFDEMcoupling can be compi
|
||||
|
||||
<LI>set environment variables
|
||||
|
||||
<LI>compile LIGGGHTS and CFDEMcoupling
|
||||
<LI>compile LIGGGHTS(R) and CFDEM(R)coupling
|
||||
|
||||
<LI>run your own cases
|
||||
|
||||
@ -38,7 +38,7 @@ After setting some environment variables LIGGGHTS and CFDEMcoupling can be compi
|
||||
</UL>
|
||||
<P><B><I>git clone</I> the desired repository:</B>
|
||||
</P>
|
||||
<P>If not already done, open a terminal and create a directory for LIGGGHTS in $HOME:
|
||||
<P>If not already done, open a terminal and create a directory for LIGGGHTS(R) in $HOME:
|
||||
</P>
|
||||
<PRE>cd
|
||||
</PRE>
|
||||
@ -50,7 +50,7 @@ After setting some environment variables LIGGGHTS and CFDEMcoupling can be compi
|
||||
</P>
|
||||
<PRE><H6>git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC
|
||||
</H6></PRE>
|
||||
<P>If not already done, open a terminal and create a directory for CFDEMcoupling in $HOME:
|
||||
<P>If not already done, open a terminal and create a directory for CFDEM(R)coupling in $HOME:
|
||||
</P>
|
||||
<PRE>cd
|
||||
</PRE>
|
||||
@ -58,9 +58,9 @@ After setting some environment variables LIGGGHTS and CFDEMcoupling can be compi
|
||||
</PRE>
|
||||
<PRE>cd CFDEM
|
||||
</PRE>
|
||||
<P>Make sure that OpenFOAM(R)-2.1.x is already set up correctly!
|
||||
<P>Make sure that OpenFOAM(R) is already set up correctly!
|
||||
</P>
|
||||
<P>To clone the public CFDEMcoupling repository, open a terminal and execute:
|
||||
<P>To clone the public CFDEM(R)coupling repository, open a terminal and execute:
|
||||
</P>
|
||||
<PRE><H6>git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION
|
||||
</H6></PRE>
|
||||
@ -117,13 +117,13 @@ $CFDEM_LIGGGHTS_SRC_DIR
|
||||
</PRE>
|
||||
<P>to get some information if the paths are set correctly.
|
||||
</P>
|
||||
<P><B>Compile LIGGGHTS and CFDEMcoupling:</B>
|
||||
<P><B>Compile LIGGGHTS(R) and CFDEM(R)coupling:</B>
|
||||
</P>
|
||||
<P>If above settings were done correctly, you can compile LIGGGHTS by typing:
|
||||
<P>If above settings were done correctly, you can compile LIGGGHTS(R) by typing:
|
||||
</P>
|
||||
<PRE>cfdemCompLIG
|
||||
</PRE>
|
||||
<P>and you can then compile CFDEMcoupling by typing:
|
||||
<P>and you can then compile CFDEM(R)coupling by typing:
|
||||
</P>
|
||||
<PRE>cfdemCompCFDEM
|
||||
</PRE>
|
||||
@ -149,6 +149,17 @@ Changes in $CFDEM_TUT_DIR will be lost after every <I>git stash</I>!
|
||||
</PRE>
|
||||
<PRE>git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/lpp mylpp
|
||||
</PRE>
|
||||
<P><B>Backward Compatibility:</B>
|
||||
</P>
|
||||
<P>Basically CFDEM(R)coupling supports one OpenFOAM(R) version therefore all settings are prepared for that. Nevertheless we try to maintain backward compatibility as long as it works with reasonable effort.
|
||||
</P>
|
||||
<P>The supported OpenFOAM(R) and LIGGGHTS(R) versions are stated in:
|
||||
src/lagrangian/cfdemParticle/cfdTools/versionInfo.H
|
||||
</P>
|
||||
<P>For using other versions you can manipulate:
|
||||
src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H
|
||||
(still not all functionality might work then!)
|
||||
</P>
|
||||
<P><B>Troubleshooting:</B>
|
||||
</P>
|
||||
<UL><LI>toubles with git clone?
|
||||
|
||||
Binary file not shown.
@ -11,8 +11,8 @@ githubAccess_public :h3
|
||||
|
||||
[Description:]
|
||||
|
||||
This routine describes how to setup a github account and pull repositories of the CFDEMproject.
|
||||
After setting some environment variables LIGGGHTS and CFDEMcoupling can be compiled
|
||||
This routine describes how to setup a github account and pull repositories of the CFDEM(R)project.
|
||||
After setting some environment variables LIGGGHTS(R) and CFDEM(R)coupling can be compiled
|
||||
|
||||
[Procedure:]
|
||||
|
||||
@ -21,13 +21,13 @@ Basically the following steps have to be performed:
|
||||
{git clone} the desired repository :ulb,l
|
||||
update your repositories by {git pull} :l
|
||||
set environment variables :l
|
||||
compile LIGGGHTS and CFDEMcoupling :l
|
||||
compile LIGGGHTS(R) and CFDEM(R)coupling :l
|
||||
run your own cases :l
|
||||
:ule
|
||||
|
||||
[{git clone} the desired repository:]
|
||||
|
||||
If not already done, open a terminal and create a directory for LIGGGHTS in $HOME:
|
||||
If not already done, open a terminal and create a directory for LIGGGHTS(R) in $HOME:
|
||||
|
||||
cd :pre
|
||||
mkdir LIGGGHTS :pre
|
||||
@ -37,15 +37,15 @@ To clone the public LIGGGHTS repository, open a terminal and execute:
|
||||
|
||||
git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC :pre,h6
|
||||
|
||||
If not already done, open a terminal and create a directory for CFDEMcoupling in $HOME:
|
||||
If not already done, open a terminal and create a directory for CFDEM(R)coupling in $HOME:
|
||||
|
||||
cd :pre
|
||||
mkdir CFDEM :pre
|
||||
cd CFDEM :pre
|
||||
|
||||
Make sure that OpenFOAM(R)-2.1.x is already set up correctly!
|
||||
Make sure that OpenFOAM(R) is already set up correctly!
|
||||
|
||||
To clone the public CFDEMcoupling repository, open a terminal and execute:
|
||||
To clone the public CFDEM(R)coupling repository, open a terminal and execute:
|
||||
|
||||
git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION :pre,h6
|
||||
|
||||
@ -103,13 +103,13 @@ cfdemSysTest :pre
|
||||
|
||||
to get some information if the paths are set correctly.
|
||||
|
||||
[Compile LIGGGHTS and CFDEMcoupling:]
|
||||
[Compile LIGGGHTS(R) and CFDEM(R)coupling:]
|
||||
|
||||
If above settings were done correctly, you can compile LIGGGHTS by typing:
|
||||
If above settings were done correctly, you can compile LIGGGHTS(R) by typing:
|
||||
|
||||
cfdemCompLIG :pre
|
||||
|
||||
and you can then compile CFDEMcoupling by typing:
|
||||
and you can then compile CFDEM(R)coupling by typing:
|
||||
|
||||
cfdemCompCFDEM :pre
|
||||
|
||||
@ -134,6 +134,17 @@ You can pull the latest version of lpp with:
|
||||
cd $HOME/LIGGGHTS :pre
|
||||
git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/lpp mylpp :pre
|
||||
|
||||
[Backward Compatibility:]
|
||||
|
||||
Basically CFDEM(R)coupling supports one OpenFOAM(R) version therefore all settings are prepared for that. Nevertheless we try to maintain backward compatibility as long as it works with reasonable effort.
|
||||
|
||||
The supported OpenFOAM(R) and LIGGGHTS(R) versions are stated in:
|
||||
src/lagrangian/cfdemParticle/cfdTools/versionInfo.H
|
||||
|
||||
For using other versions you can manipulate:
|
||||
src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H
|
||||
(still not all functionality might work then!)
|
||||
|
||||
[Troubleshooting:]
|
||||
|
||||
toubles with git clone? :ulb,l
|
||||
|
||||
@ -6,7 +6,6 @@ voidFractionModels = subModels/voidFractionModel
|
||||
locateModels = subModels/locateModel
|
||||
meshMotionModels = subModels/meshMotionModel
|
||||
momCoupleModels = subModels/momCoupleModel
|
||||
regionModels = subModels/regionModel
|
||||
dataExchangeModels = subModels/dataExchangeModel
|
||||
averagingModels = subModels/averagingModel
|
||||
clockModels = subModels/clockModel
|
||||
@ -15,6 +14,7 @@ smoothingModels = subModels/smoothingModel
|
||||
probeModels = subModels/probeModel
|
||||
|
||||
$(cfdemCloud)/cfdemCloud.C
|
||||
derived/cfdemCloudBiDisperse/cfdemCloudBiDisperse.C
|
||||
derived/cfdemCloudIB/cfdemCloudIB.C
|
||||
derived/cfdemCloudMS/cfdemCloudMS.C
|
||||
|
||||
@ -23,26 +23,44 @@ $(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)/fieldTimeAverage/fieldTimeAverage.C
|
||||
$(forceModels)/fieldBound/fieldBound.C
|
||||
$(forceModels)/volWeightedAverage/volWeightedAverage.C
|
||||
$(forceModels)/totalMomentumExchange/totalMomentumExchange.C
|
||||
$(forceModels)/KochHillDrag/KochHillDrag.C
|
||||
$(forceModels)/KochHillRWDrag/KochHillRWDrag.C
|
||||
$(forceModels)/BeetstraDrag/multiphaseFlowBasic/multiphaseFlowBasic.C
|
||||
$(forceModels)/BeetstraDrag/BeetstraDrag.C
|
||||
$(forceModels)/LaEuScalarLiquid/LaEuScalarLiquid.C
|
||||
$(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C
|
||||
$(forceModels)/LaEuScalarDust/LaEuScalarDust.C
|
||||
$(forceModels)/virtualMassForce/virtualMassForce.C
|
||||
$(forceModels)/gradPForce/gradPForce.C
|
||||
$(forceModels)/gradULiftForce/gradULiftForce.C
|
||||
$(forceModels)/HollowayDrag/HollowayDrag.C
|
||||
$(forceModels)/viscForce/viscForce.C
|
||||
$(forceModels)/MeiLift/MeiLift.C
|
||||
$(forceModels)/melting/melting.C
|
||||
$(forceModels)/KochHillDragNLift/KochHillDragNLift.C
|
||||
$(forceModels)/solidsPressureForce/solidsPressureForce.C
|
||||
$(forceModels)/periodicPressure/periodicPressure.C
|
||||
$(forceModels)/periodicPressureControl/periodicPressureControl.C
|
||||
$(forceModels)/averageSlipVel/averageSlipVel.C
|
||||
$(forceModels)/particleCellVolume/particleCellVolume.C
|
||||
$(forceModels)/fieldTimeAverage/fieldTimeAverage.C
|
||||
$(forceModels)/volWeightedAverage/volWeightedAverage.C
|
||||
|
||||
$(forceModelsMS)/forceModelMS/forceModelMS.C
|
||||
$(forceModelsMS)/forceModelMS/newForceModelMS.C
|
||||
$(forceModelsMS)/DiFeliceDragMS/DiFeliceDragMS.C
|
||||
$(forceModelsMS)/GidaspowDragMS/GidaspowDragMS.C
|
||||
$(forceModelsMS)/noDragMS/noDragMS.C
|
||||
|
||||
$(probeModels)/probeModel/probeModel.C
|
||||
$(probeModels)/probeModel/newProbeModel.C
|
||||
@ -60,10 +78,12 @@ $(voidFractionModels)/voidFractionModel/voidFractionModel.C
|
||||
$(voidFractionModels)/voidFractionModel/newVoidFractionModel.C
|
||||
$(voidFractionModels)/centreVoidFraction/centreVoidFraction.C
|
||||
$(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C
|
||||
$(voidFractionModels)/dividedVoidFractionBiDi/dividedVoidFractionBiDi.C
|
||||
$(voidFractionModels)/dividedVoidFractionMS/dividedVoidFractionMS.C
|
||||
$(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C
|
||||
$(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C
|
||||
$(voidFractionModels)/IBVoidFraction/IBVoidFraction.C
|
||||
$(voidFractionModels)/weightedNeigbhorsVoidFraction/weightedNeigbhorsVoidFraction.C
|
||||
|
||||
$(locateModels)/locateModel/locateModel.C
|
||||
$(locateModels)/locateModel/newLocateModel.C
|
||||
@ -73,21 +93,18 @@ $(locateModels)/turboEngineSearch/turboEngineSearch.C
|
||||
$(locateModels)/turboEngineSearchM2M/turboEngineSearchM2M.C
|
||||
$(locateModels)/engineSearchIB/engineSearchIB.C
|
||||
|
||||
|
||||
$(meshMotionModels)/meshMotionModel/meshMotionModel.C
|
||||
$(meshMotionModels)/meshMotionModel/newMeshMotionModel.C
|
||||
$(meshMotionModels)/noMeshMotion/noMeshMotion.C
|
||||
$(meshMotionModels)/DEMdrivenMeshMotion/DEMdrivenMeshMotion.C
|
||||
|
||||
$(momCoupleModels)/momCoupleModel/momCoupleModel.C
|
||||
$(momCoupleModels)/momCoupleModel/newMomCoupleModel.C
|
||||
$(momCoupleModels)/explicitCouple/explicitCouple.C
|
||||
$(momCoupleModels)/explicitCoupleSource/explicitCoupleSource.C
|
||||
$(momCoupleModels)/implicitCouple/implicitCouple.C
|
||||
$(momCoupleModels)/noCouple/noCouple.C
|
||||
|
||||
$(regionModels)/regionModel/regionModel.C
|
||||
$(regionModels)/regionModel/newRegionModel.C
|
||||
$(regionModels)/allRegion/allRegion.C
|
||||
|
||||
$(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C
|
||||
$(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C
|
||||
$(dataExchangeModels)/oneWayVTK/oneWayVTK.C
|
||||
@ -100,6 +117,7 @@ $(averagingModels)/averagingModel/averagingModel.C
|
||||
$(averagingModels)/averagingModel/newAveragingModel.C
|
||||
$(averagingModels)/dilute/dilute.C
|
||||
$(averagingModels)/dense/dense.C
|
||||
$(averagingModels)/denseBiDi/denseBiDi.C
|
||||
|
||||
$(clockModels)/clockModel/clockModel.C
|
||||
$(clockModels)/clockModel/newClockModel.C
|
||||
@ -117,5 +135,6 @@ $(smoothingModels)/smoothingModel/smoothingModel.C
|
||||
$(smoothingModels)/smoothingModel/newSmoothingModel.C
|
||||
$(smoothingModels)/noSmoothing/noSmoothing.C
|
||||
$(smoothingModels)/constDiffSmoothing/constDiffSmoothing.C
|
||||
$(smoothingModels)/localPSizeDiffSmoothing/localPSizeDiffSmoothing.C
|
||||
|
||||
LIB = $(FOAM_USER_LIBBIN)/lib$(CFDEM_LIB_NAME)
|
||||
LIB = $(CFDEM_LIB_DIR)/lib$(CFDEM_LIB_NAME)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
word CFDEMversion="cfdem-2.6.0";
|
||||
word CFDEMversion="cfdem-2.6.1";
|
||||
word compatibleLIGGGHTSversion="3.0.0";
|
||||
word OFversion="2.2.x-commit-7c405a31b2f7299f5e2669fa18fb251ea219dd03";
|
||||
word OFversion="2.2.x-commit-61b850bc107bdd60bbf1bf9a6417b9faf701d128";
|
||||
|
||||
Info << "\nCFDEMcoupling version: " << CFDEMversion << "\n" << endl;
|
||||
Info << "\n, compatible to LIGGGHTS version: " << compatibleLIGGGHTSversion << "\n" << endl;
|
||||
|
||||
@ -30,6 +30,16 @@ Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "momCoupleModel.H"
|
||||
#include "smoothingModel.H"
|
||||
#include "meshMotionModel.H"
|
||||
#include "averagingModel.H"
|
||||
#include "clockModel.H"
|
||||
#include "IOModel.H"
|
||||
#include "voidFractionModel.H"
|
||||
#include "locateModel.H"
|
||||
#include "probeModel.H"
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
|
||||
@ -55,8 +55,17 @@ cfdemCloudIB::cfdemCloudIB
|
||||
cfdemCloud(mesh),
|
||||
angularVelocities_(NULL),
|
||||
pRefCell_(readLabel(mesh.solutionDict().subDict("PISO").lookup("pRefCell"))),
|
||||
pRefValue_(readScalar(mesh.solutionDict().subDict("PISO").lookup("pRefValue")))
|
||||
{}
|
||||
pRefValue_(readScalar(mesh.solutionDict().subDict("PISO").lookup("pRefValue"))),
|
||||
haveEvolvedOnce_(false),
|
||||
skipLagrangeToEulerMapping_(false)
|
||||
{
|
||||
|
||||
if(this->couplingProperties().found("skipLagrangeToEulerMapping"))
|
||||
{
|
||||
Info << "Will skip lagrange-to-Euler mapping..." << endl;
|
||||
skipLagrangeToEulerMapping_=true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
@ -95,20 +104,25 @@ bool Foam::cfdemCloudIB::evolve()
|
||||
Info << "\n timeStepFraction() = " << dataExchangeM().timeStepFraction() << endl;
|
||||
doCouple=true;
|
||||
|
||||
if(verbose_) Info << "- getDEMdata()" << endl;
|
||||
getDEMdata();
|
||||
Info << "nr particles = " << numberOfParticles() << endl;
|
||||
|
||||
// search cellID of particles
|
||||
if(verbose_) Info << "- findCell()" << endl;
|
||||
locateM().findCell(NULL,positions_,cellIDs_,numberOfParticles());
|
||||
if(verbose_) Info << "findCell done." << endl;
|
||||
|
||||
// set void fraction field
|
||||
if(verbose_) Info << "- setvoidFraction()" << endl;
|
||||
voidFractionM().setvoidFraction(NULL,voidfractions_,particleWeights_,particleVolumes_);
|
||||
if(verbose_) Info << "setvoidFraction done." << endl;
|
||||
// Info << "skipLagrangeToEulerMapping_: " << skipLagrangeToEulerMapping_
|
||||
// << " haveEvolvedOnce_: " << haveEvolvedOnce_ << endl;
|
||||
if(!skipLagrangeToEulerMapping_ || !haveEvolvedOnce_)
|
||||
{
|
||||
if(verbose_) Info << "- getDEMdata()" << endl;
|
||||
getDEMdata();
|
||||
Info << "nr particles = " << numberOfParticles() << endl;
|
||||
|
||||
// search cellID of particles
|
||||
if(verbose_) Info << "- findCell()" << endl;
|
||||
locateM().findCell(NULL,positions_,cellIDs_,numberOfParticles());
|
||||
if(verbose_) Info << "findCell done." << endl;
|
||||
|
||||
// set void fraction field
|
||||
if(verbose_) Info << "- setvoidFraction()" << endl;
|
||||
voidFractionM().setvoidFraction(NULL,voidfractions_,particleWeights_,particleVolumes_);
|
||||
if(verbose_) Info << "setvoidFraction done." << endl;
|
||||
}
|
||||
|
||||
// set particles forces
|
||||
if(verbose_) Info << "- setForce(forces_)" << endl;
|
||||
for(int index = 0;index < numberOfParticles_; ++index){
|
||||
@ -124,6 +138,8 @@ bool Foam::cfdemCloudIB::evolve()
|
||||
// write DEM data
|
||||
if(verbose_) Info << " -giveDEMdata()" << endl;
|
||||
giveDEMdata();
|
||||
|
||||
haveEvolvedOnce_=true;
|
||||
}
|
||||
Info << "evolve done." << endl;
|
||||
|
||||
|
||||
@ -61,6 +61,9 @@ protected:
|
||||
mutable double **angularVelocities_;
|
||||
label pRefCell_;
|
||||
scalar pRefValue_;
|
||||
|
||||
mutable bool haveEvolvedOnce_;
|
||||
mutable bool skipLagrangeToEulerMapping_;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
//#define comp // if comp is on - you must use Make/options_comp!
|
||||
|
||||
//define multi sphere
|
||||
#define multisphere
|
||||
//#define multisphere
|
||||
|
||||
// features of 2.1 work also in 2.2
|
||||
#if defined(version22)
|
||||
|
||||
@ -39,6 +39,10 @@ echo ""
|
||||
if [ ! -f "$CWD/$whitelist" ];then
|
||||
echo "$whitelist does not exist in $CWD"
|
||||
else
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
logpath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")/$logDir"
|
||||
|
||||
NLINES=`wc -l < $CWD/$whitelist`
|
||||
COUNT=0
|
||||
|
||||
@ -71,12 +75,13 @@ else
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
logpath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")/$logDir"
|
||||
#logpath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")/$logDir"
|
||||
logfileName="log_compileCFDEMcoupling""_$LINE"
|
||||
casePath="$CFDEM_SOLVER_DIR/$LINE"
|
||||
headerText="$logfileName""_$LINE""-$NOW"
|
||||
parallel="false"
|
||||
#--------------------------------------------------------------------------------#
|
||||
compileSolver $logpath $logfileName $casePath $headerText
|
||||
compileSolver $logpath $logfileName $casePath $headerText $parallel
|
||||
|
||||
#echo "did the solvers compile correcty? - press enter to proceed."
|
||||
#read
|
||||
|
||||
@ -60,6 +60,8 @@ mkdir -p $logDir
|
||||
casePath="$path"
|
||||
headerText="$logfileName""-$NOW"
|
||||
#--------------------------------------------------------------------------------#
|
||||
# remove old log file
|
||||
rm "$logpath/$logfileName"*
|
||||
compileLib $logpath $logfileName $casePath $headerText
|
||||
done
|
||||
|
||||
|
||||
@ -93,6 +93,7 @@ compileSolver()
|
||||
casePath="$3"
|
||||
headerText="$4"
|
||||
#doClean="$5"
|
||||
parallel="$5"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- clean up old log file
|
||||
@ -115,7 +116,13 @@ compileSolver()
|
||||
rmdepall 2>&1 | tee -a $logpath/$logfileName
|
||||
wclean 2>&1 | tee -a $logpath/$logfileName
|
||||
#fi
|
||||
wmake 2>&1 | tee -a $logpath/$logfileName
|
||||
|
||||
# compile parallel?
|
||||
if [[ $parallel == "true" ]]; then
|
||||
wmake 2>&1 | tee -a $logpath/$logfileName &
|
||||
else
|
||||
wmake 2>&1 | tee -a $logpath/$logfileName
|
||||
fi
|
||||
|
||||
#- keep terminal open
|
||||
#read
|
||||
@ -306,6 +313,26 @@ cleanCFDEM()
|
||||
}
|
||||
#==================================#
|
||||
|
||||
#==================================#
|
||||
#- function to clean CFDEMcoupling case
|
||||
|
||||
cleanCFDEMcase()
|
||||
{
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
casepath="$1"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
echo "deleting data at: $casePath :\n"
|
||||
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/DEM/post/*
|
||||
echo "dummyfile" >> $casePath/DEM/post/dummy
|
||||
cd $casePath
|
||||
echo "done"
|
||||
}
|
||||
|
||||
#==================================#
|
||||
#- function to run a DEM case
|
||||
|
||||
@ -443,7 +470,7 @@ CFDrun()
|
||||
echo 2>&1 | tee -a $logpath/$logfileName
|
||||
|
||||
#- clean up case
|
||||
rm couplingFiles/*
|
||||
#rm couplingFiles/*
|
||||
|
||||
#- run applictaion
|
||||
$debugMode $solverName 2>&1 | tee -a $logpath/$logfileName
|
||||
|
||||
@ -1 +1,11 @@
|
||||
lagrangian/cfdemParticle/dir
|
||||
|
||||
#====================================================='
|
||||
#- RADL
|
||||
fvOptions/dir
|
||||
cylPorousMedia/dir
|
||||
|
||||
#====================================================='
|
||||
#- other
|
||||
finiteVolume/dir
|
||||
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
cfdemSolverPimple/dir
|
||||
cfdemSolverPisoMS/dir
|
||||
cfdemSolverPiso/dir
|
||||
cfdemSolverIB/dir
|
||||
cfdemSolverPisoScalar/dir
|
||||
cfdemSolverPimpleImEx/dir
|
||||
cfdemSolverIBInterLubrication/dir
|
||||
cfdemSolverIBScalar/dir
|
||||
cfdemSolverInterDyM/dir
|
||||
cfdemSolverBubble/dir
|
||||
cfdemSolverPimple/dir
|
||||
cfdemSolverPisoMS/dir
|
||||
cfdemSolverPimpleDyM_22x/dir
|
||||
|
||||
@ -6,23 +6,46 @@
|
||||
# Christoph Goniva - June. 2011, DCS Computing GmbH
|
||||
#===================================================================#
|
||||
|
||||
cfdemSolverPiso/settlingTestMPI/dir
|
||||
#cfdemSolverPiso/settlingTestMPI/dir
|
||||
#cfdemSolverPiso/ErgunTestMPI/dir
|
||||
#cfdemSolverPiso/ErgunTestMPI_cgs/dir
|
||||
#cfdemSolverPiso/ErgunTestMPI_restart/dir
|
||||
#cfdemSolverIB/twoSpheresGlowinskiMPI/dir
|
||||
#cfdemSolverPisoScalar/packedBedTemp/dir
|
||||
|
||||
cfdemSolverPiso/ErgunTestMPI/dir
|
||||
#===================================================================#
|
||||
# RADL
|
||||
#cfdemSolverPimpleImEx/settlingTestMPI/dir
|
||||
#cfdemSolverPimpleImEx/crossFlow/dir
|
||||
cfdemSolverIB/periodicCase/dir
|
||||
cfdemSolverIB/cfdemIBPeriodicCubicalBox_fullyPeriodic/dir
|
||||
#cfdemSolverIBInterLubrication/twoCoatedParticlesRelMotion_smallTest/dir
|
||||
#cfdemSolverIBScalar/cfdemIBPeriodicCubicalBoxScalar/dir
|
||||
|
||||
cfdemSolverPiso/ErgunTestMPI_cgs/dir
|
||||
#===================================================================#
|
||||
# NesteJacobs
|
||||
#Projects/Neste/cfdemSolverBubble/3pFBreactor/dir
|
||||
#Projects/Neste/cfdemSolverInterDyM/3pFBreactor/dir
|
||||
|
||||
cfdemSolverPiso/ErgunTestMPI_restart/dir
|
||||
#===================================================================#
|
||||
# not in release:
|
||||
|
||||
cfdemSolverIB/twoSpheresGlowinskiMPI/dir
|
||||
#cfdemSolverPiso/settlingTestBigParticleMPI/dir
|
||||
#cfdemSolverPiso/ErgunTestCG/dir
|
||||
#cfdemSolverPiso/ErgunTestM2M/dir
|
||||
#cfdemSolverPiso/HopperEmptying/dir
|
||||
|
||||
cfdemSolverPisoScalar/packedBedTemp/dir
|
||||
#cfdemSolverPisoMS/settlingTestMPI/dir
|
||||
#cfdemSolverPisoMS/ErgunTestMPI/dir
|
||||
|
||||
#cfdemSolverPimple/ErgunTestMPI/dir
|
||||
|
||||
#cfdemSolverInterDyM/twoPhaseSettlingTest/dir
|
||||
#cfdemSolverInterDyM/ErgunTestMPI/dir
|
||||
#cfdemSolverInterDyM/granularPiston/dir
|
||||
#cfdemSolverInterDyM/sugarNcoffee/dir
|
||||
|
||||
cfdemSolverPiso/ErgunTestCG/dir
|
||||
|
||||
cfdemSolverPimple/ErgunTestMPI/dir
|
||||
#cfdemSolverBubble/ErgunTestMPI_pureLiquid/dir
|
||||
|
||||
|
||||
|
||||
|
||||
@ -68,14 +68,16 @@ GidaspowDrag::GidaspowDrag
|
||||
U_(sm.mesh().lookupObject<volVectorField> (velFieldName_)),
|
||||
densityFieldName_(propsDict_.lookup("densityFieldName")),
|
||||
rho_(sm.mesh().lookupObject<volScalarField> (densityFieldName_)),
|
||||
voidfractionFieldName_(propsDict_.lookup("voidfractionFieldName")),
|
||||
voidfraction_(sm.mesh().lookupObject<volScalarField> (voidfractionFieldName_)),
|
||||
phi_(readScalar(propsDict_.lookup("phi")))
|
||||
{
|
||||
//Append the field names to be probed
|
||||
particleCloud_.probeM().initialize(typeName, "gidaspowDrag.logDat");
|
||||
particleCloud_.probeM().vectorFields_.append("dragForce"); //first entry must the be the force
|
||||
particleCloud_.probeM().vectorFields_.append("Urel"); //other are debug
|
||||
particleCloud_.probeM().scalarFields_.append("KslLag"); //other are debug
|
||||
particleCloud_.probeM().scalarFields_.append("voidfraction"); //other are debug
|
||||
particleCloud_.probeM().vectorFields_.append("Urel");
|
||||
particleCloud_.probeM().scalarFields_.append("KslLag");
|
||||
particleCloud_.probeM().scalarFields_.append("voidfraction");
|
||||
particleCloud_.probeM().writeHeader();
|
||||
|
||||
if (propsDict_.found("verbose")) verbose_=true;
|
||||
@ -116,7 +118,7 @@ void GidaspowDrag::setForce() const
|
||||
vector Ur = U_[cellI]-Us;
|
||||
scalar magUr = mag(Ur);
|
||||
scalar ds = 2*particleCloud_.radius(index)*phi_;
|
||||
scalar voidfraction = particleCloud_.voidfraction(index);
|
||||
scalar voidfraction = voidfraction_[cellI];
|
||||
scalar rho = rho_[cellI];
|
||||
scalar nuf = nufField[cellI];
|
||||
scalar CdMagUrLag=0;//Cd of the very particle
|
||||
@ -146,6 +148,18 @@ void GidaspowDrag::setForce() const
|
||||
if (modelType_=="B")
|
||||
drag /= voidfraction;
|
||||
|
||||
if(verbose_ && index >=0 && index <2)
|
||||
{
|
||||
Pout << "cellI = " << cellI << endl;
|
||||
Pout << "index = " << index << endl;
|
||||
Pout << "Us = " << Us << endl;
|
||||
Pout << "Ur = " << Ur << endl;
|
||||
Pout << "ds = " << ds << endl;
|
||||
Pout << "rho = " << rho << endl;
|
||||
Pout << "nuf = " << nuf << endl;
|
||||
Pout << "voidfraction = " << voidfraction << endl;
|
||||
Pout << "drag = " << drag << endl;
|
||||
}
|
||||
|
||||
//Set value fields and write the probe
|
||||
if(probeIt_)
|
||||
|
||||
@ -69,6 +69,10 @@ private:
|
||||
|
||||
const volScalarField& rho_;
|
||||
|
||||
word voidfractionFieldName_;
|
||||
|
||||
const volScalarField& voidfraction_;
|
||||
|
||||
const scalar phi_;
|
||||
|
||||
public:
|
||||
|
||||
@ -71,6 +71,7 @@ gradPForce::gradPForce
|
||||
rho_(sm.mesh().lookupObject<volScalarField> (densityFieldName_)),
|
||||
useRho_(false),
|
||||
useU_(false),
|
||||
addedMassCoeff_(0.0),
|
||||
interpolation_(false)
|
||||
{
|
||||
if (modelType_ == "B")
|
||||
@ -84,6 +85,12 @@ gradPForce::gradPForce
|
||||
if (propsDict_.found("verbose")) verbose_=true;
|
||||
if (propsDict_.found("treatExplicit")) treatExplicit_=true;
|
||||
if (propsDict_.found("useU")) useU_=true;
|
||||
if (propsDict_.found("useAddedMass"))
|
||||
{
|
||||
addedMassCoeff_ = readScalar(propsDict_.lookup("useAddedMass"));
|
||||
Info << "gradP will also include added mass with coefficient: " << addedMassCoeff_ << endl;
|
||||
Info << "WARNING: use fix nve/sphere/addedMass in LIGGGHTS input script to correctly account for added mass effects!" << endl;
|
||||
}
|
||||
if (propsDict_.found("interpolation"))
|
||||
{
|
||||
Info << "using interpolated value of pressure gradient." << endl;
|
||||
@ -160,9 +167,9 @@ void gradPForce::setForce() const
|
||||
|
||||
// calc particle's pressure gradient force
|
||||
if (useRho_)
|
||||
force = -Vs*gradP*rho;
|
||||
force = -Vs*gradP*rho*(1.0+addedMassCoeff_);
|
||||
else
|
||||
force = -Vs*gradP;
|
||||
force = -Vs*gradP*(1.0+addedMassCoeff_);
|
||||
|
||||
if(verbose_ && index >=0 && index <2)
|
||||
{
|
||||
|
||||
@ -81,6 +81,8 @@ private:
|
||||
|
||||
bool useU_; // if false: substitution p=0.5*rho*U^2
|
||||
|
||||
mutable double addedMassCoeff_; //added mass coefficient
|
||||
|
||||
bool interpolation_; // use interpolated field values
|
||||
|
||||
public:
|
||||
|
||||
@ -67,6 +67,7 @@ viscForce::viscForce
|
||||
U_(sm.mesh().lookupObject<volVectorField> (velocityFieldName_)),
|
||||
densityFieldName_(propsDict_.lookup("densityFieldName")),
|
||||
rho_(sm.mesh().lookupObject<volScalarField> (densityFieldName_)),
|
||||
addedMassCoeff_(0.0),
|
||||
interpolation_(false)
|
||||
{
|
||||
if (modelType_ == "B")
|
||||
@ -79,6 +80,14 @@ viscForce::viscForce
|
||||
}
|
||||
if (propsDict_.found("verbose")) verbose_=true;
|
||||
if (propsDict_.found("treatExplicit")) treatExplicit_=true;
|
||||
|
||||
if (propsDict_.found("useAddedMass"))
|
||||
{
|
||||
addedMassCoeff_ = readScalar(propsDict_.lookup("useAddedMass"));
|
||||
Info << "viscForce will also include added mass with coefficient: " << addedMassCoeff_ << endl;
|
||||
Info << "WARNING: use fix nve/sphere/addedMass in LIGGGHTS input script to correctly account for added mass effects!" << endl;
|
||||
}
|
||||
|
||||
if (propsDict_.found("interpolation"))
|
||||
{
|
||||
Info << "using interpolated value of pressure gradient." << endl;
|
||||
@ -158,7 +167,7 @@ void viscForce::setForce() const
|
||||
|
||||
// calc the contribution of the deviatoric stress
|
||||
// to the generalized buoyancy force
|
||||
force = -Vs*divTau;
|
||||
force = -Vs*divTau*(1.0+addedMassCoeff_);
|
||||
|
||||
if(verbose_ && index >0 && index <2)
|
||||
{
|
||||
|
||||
@ -69,6 +69,8 @@ private:
|
||||
|
||||
const volScalarField& rho_;
|
||||
|
||||
mutable double addedMassCoeff_; //added mass coefficient
|
||||
|
||||
bool interpolation_; // use interpolated field values
|
||||
|
||||
public:
|
||||
|
||||
@ -127,7 +127,7 @@ void IBVoidFraction::setvoidFraction(double** const& mask,double**& voidfraction
|
||||
vector cellCentrePosition = particleCloud_.mesh().C()[particleCenterCellID];
|
||||
scalar centreDist=mag(cellCentrePosition-positionCenter);
|
||||
|
||||
vector minPeriodicParticlePos;
|
||||
vector minPeriodicParticlePos=positionCenter;
|
||||
if(checkPeriodicCells_) //consider minimal distance to all periodic images of this particle
|
||||
{
|
||||
centreDist = minPeriodicDistance(cellCentrePosition, positionCenter, globalBb,
|
||||
@ -158,11 +158,6 @@ void IBVoidFraction::setvoidFraction(double** const& mask,double**& voidfraction
|
||||
else if(centreDist<radius && centreVertexDist>radius)
|
||||
{
|
||||
//compute lambda
|
||||
if(!checkPeriodicCells_) //set if no periodic check of cells
|
||||
{
|
||||
minPeriodicParticlePos = positionCenter;
|
||||
}
|
||||
|
||||
scalar a = (vertexPosition - cellCentrePosition)
|
||||
& (vertexPosition - cellCentrePosition);
|
||||
scalar b = 2. * (vertexPosition - cellCentrePosition)
|
||||
@ -185,11 +180,6 @@ void IBVoidFraction::setvoidFraction(double** const& mask,double**& voidfraction
|
||||
else if(centreDist>radius && centreVertexDist<radius)
|
||||
{
|
||||
//compute another lambda too
|
||||
if(!checkPeriodicCells_) //set if no periodic check of cells
|
||||
{
|
||||
minPeriodicParticlePos = positionCenter;
|
||||
}
|
||||
|
||||
scalar a = (vertexPosition - cellCentrePosition)
|
||||
& (vertexPosition - cellCentrePosition);
|
||||
scalar b = 2.* (vertexPosition - cellCentrePosition)
|
||||
|
||||
@ -99,7 +99,6 @@ IBProps
|
||||
maxCellsPerParticle 1000;
|
||||
alphaMin 0.30;
|
||||
scaleUpVol 1.0;
|
||||
checkPeriodicCells;
|
||||
}
|
||||
|
||||
bigParticleProps
|
||||
@ -127,7 +126,6 @@ engineIBProps
|
||||
}
|
||||
zSplit 8;
|
||||
xySplit 16;
|
||||
checkPeriodicCells;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -21,8 +21,6 @@ else
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
gnome-terminal --title='cfdemSolverPimple ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ clc;
|
||||
% simulation data 1
|
||||
%====================================%
|
||||
%path = '../probes/0/p';
|
||||
path = '../probes/0/p';
|
||||
path = '../postProcessing/0/p';
|
||||
columns=22;
|
||||
headerlines=4;
|
||||
data = loaddata(path,columns,headerlines);
|
||||
|
||||
@ -75,3 +75,4 @@ dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -139,8 +139,11 @@ totalMomentumExchangeProps
|
||||
}
|
||||
GidaspowDragProps
|
||||
{
|
||||
verbose;
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
phi 1;
|
||||
}
|
||||
DiFeliceDragProps
|
||||
{
|
||||
|
||||
@ -94,6 +94,7 @@ 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
|
||||
echo "done"
|
||||
|
||||
@ -56,3 +56,5 @@ dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
|
||||
Reference in New Issue
Block a user