Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b4bc2d67dc | |||
| 5cb9190126 |
@ -48,7 +48,7 @@ Contributions
|
||||
#include "turbulenceModel.H"
|
||||
#endif
|
||||
#include "cfdemCloudIB.H"
|
||||
#if defined(SUPERQUADRIC_ACTIVE_FLAG)
|
||||
#if defined(superquadrics_flag)
|
||||
#include "cfdemCloudIBSuperquadric.H"
|
||||
#endif
|
||||
#include "implicitCouple.H"
|
||||
@ -90,7 +90,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
// create cfdemCloud
|
||||
#include "readGravitationalAcceleration.H"
|
||||
#if defined(SUPERQUADRIC_ACTIVE_FLAG)
|
||||
#if defined(superquadrics_flag)
|
||||
cfdemCloudIBSuperquadric particleCloud(mesh);
|
||||
#else
|
||||
cfdemCloudIB particleCloud(mesh);
|
||||
@ -122,6 +122,7 @@ int main(int argc, char *argv[])
|
||||
particleCloud.evolve(voidfraction, interFace);
|
||||
|
||||
// Pressure-velocity PISO corrector
|
||||
if(particleCloud.solveFlow())
|
||||
{
|
||||
// Momentum predictor
|
||||
|
||||
@ -214,9 +215,10 @@ int main(int argc, char *argv[])
|
||||
|
||||
U -= rUA*fvc::grad(p);
|
||||
U.correctBoundaryConditions();
|
||||
}
|
||||
}
|
||||
}
|
||||
} //end solveFlow
|
||||
|
||||
laminarTransport.correct();
|
||||
turbulence->correct();
|
||||
|
||||
Info << "particleCloud.calcVelocityCorrection() " << endl;
|
||||
|
||||
@ -55,7 +55,7 @@ Description
|
||||
#if defined(anisotropicRotation)
|
||||
#include "cfdemCloudRotation.H"
|
||||
#endif
|
||||
#if defined(SUPERQUADRIC_ACTIVE_FLAG)
|
||||
#if defined(superquadrics_flag)
|
||||
#include "cfdemCloudRotationSuperquadric.H"
|
||||
#endif
|
||||
#include "implicitCouple.H"
|
||||
@ -84,7 +84,7 @@ int main(int argc, char *argv[])
|
||||
#include "checkImCoupleM.H"
|
||||
#if defined(anisotropicRotation)
|
||||
cfdemCloudRotation particleCloud(mesh);
|
||||
#elif defined(SUPERQUADRIC_ACTIVE_FLAG)
|
||||
#elif defined(superquadrics_flag)
|
||||
cfdemCloudRotationSuperquadric particleCloud(mesh);
|
||||
#else
|
||||
cfdemCloud particleCloud(mesh);
|
||||
@ -192,39 +192,7 @@ int main(int argc, char *argv[])
|
||||
rUAvoidfraction = volScalarField("(voidfraction2|A(U))",rUA*voidfraction*voidfraction);
|
||||
|
||||
// Update the fixedFluxPressure BCs to ensure flux consistency
|
||||
#ifndef versionExt32
|
||||
#ifndef version40
|
||||
if (modelType=="A")
|
||||
{
|
||||
setSnGrad<fixedFluxPressureFvPatchScalarField>
|
||||
(
|
||||
#ifdef versionv1612plus
|
||||
p.boundaryFieldRef(),
|
||||
#else
|
||||
p.boundaryField(),
|
||||
#endif
|
||||
(
|
||||
phi.boundaryField()
|
||||
- (mesh.Sf().boundaryField() & U.boundaryField())
|
||||
)/(mesh.magSf().boundaryField()*rUAf.boundaryField()*voidfractionf.boundaryField())
|
||||
);
|
||||
}else
|
||||
{
|
||||
setSnGrad<fixedFluxPressureFvPatchScalarField>
|
||||
(
|
||||
#ifdef versionv1612plus
|
||||
p.boundaryFieldRef(),
|
||||
#else
|
||||
p.boundaryField(),
|
||||
#endif
|
||||
(
|
||||
phi.boundaryField()
|
||||
- (mesh.Sf().boundaryField() & U.boundaryField())
|
||||
)/(mesh.magSf().boundaryField()*rUAf.boundaryField())
|
||||
);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#include "fixedFluxPressureHandling.H"
|
||||
|
||||
|
||||
// Non-orthogonal pressure corrector loop
|
||||
@ -279,6 +247,7 @@ int main(int argc, char *argv[])
|
||||
} // end piso loop
|
||||
}
|
||||
|
||||
laminarTransport.correct();
|
||||
turbulence->correct();
|
||||
}// end solveFlow
|
||||
else
|
||||
|
||||
@ -43,6 +43,11 @@ Description
|
||||
#else
|
||||
#include "turbulenceModel.H"
|
||||
#endif
|
||||
#if defined(versionv1606plus) || defined(version40)
|
||||
#include "fvOptions.H"
|
||||
#else
|
||||
#include "fvIOoptionList.H"
|
||||
#endif
|
||||
#include "fixedFluxPressureFvPatchScalarField.H"
|
||||
#ifdef MS
|
||||
#include "cfdemCloudMS.H"
|
||||
@ -70,6 +75,7 @@ int main(int argc, char *argv[])
|
||||
#include "createTimeControls.H"
|
||||
#endif
|
||||
#include "createFields.H"
|
||||
#include "createFvOptions.H"
|
||||
#include "initContinuityErrs.H"
|
||||
|
||||
// create cfdemCloud
|
||||
@ -96,8 +102,6 @@ int main(int argc, char *argv[])
|
||||
Info<< "\nStarting time loop\n" << endl;
|
||||
while (runTime.loop())
|
||||
{
|
||||
particleCloud.clockM().start(1,"Global");
|
||||
|
||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||
|
||||
#if defined(version30)
|
||||
@ -110,6 +114,7 @@ int main(int argc, char *argv[])
|
||||
#endif
|
||||
|
||||
// do particle stuff
|
||||
particleCloud.clockM().start(1,"Global");
|
||||
particleCloud.clockM().start(2,"Coupling");
|
||||
bool hasEvolved = particleCloud.evolve(voidfraction,Us,U);
|
||||
|
||||
@ -118,7 +123,6 @@ int main(int argc, char *argv[])
|
||||
particleCloud.smoothingM().smoothenAbsolutField(particleCloud.forceM(0).impParticleForces());
|
||||
}
|
||||
|
||||
Info << "update Ksl.internalField()" << endl;
|
||||
Ksl = particleCloud.momCoupleM(particleCloud.registryM().getProperty("implicitCouple_index")).impMomSource();
|
||||
Ksl.correctBoundaryConditions();
|
||||
|
||||
@ -149,9 +153,11 @@ int main(int argc, char *argv[])
|
||||
+ particleCloud.divVoidfractionTau(U, voidfraction)
|
||||
==
|
||||
- fvm::Sp(Ksl/rho,U)
|
||||
+ fvOptions(U)
|
||||
);
|
||||
|
||||
UEqn.relax();
|
||||
fvOptions.constrain(UEqn);
|
||||
|
||||
#if defined(version30)
|
||||
if (piso.momentumPredictor())
|
||||
@ -163,6 +169,8 @@ int main(int argc, char *argv[])
|
||||
solve(UEqn == - fvc::grad(p) + Ksl/rho*Us);
|
||||
else
|
||||
solve(UEqn == - voidfraction*fvc::grad(p) + Ksl/rho*Us);
|
||||
|
||||
fvOptions.correct(U);
|
||||
}
|
||||
|
||||
// --- PISO loop
|
||||
@ -194,40 +202,7 @@ int main(int argc, char *argv[])
|
||||
rUAvoidfraction = volScalarField("(voidfraction2|A(U))",rUA*voidfraction*voidfraction);
|
||||
|
||||
// Update the fixedFluxPressure BCs to ensure flux consistency
|
||||
#ifndef versionExt32
|
||||
#ifndef version40
|
||||
if (modelType=="A")
|
||||
{
|
||||
setSnGrad<fixedFluxPressureFvPatchScalarField>
|
||||
(
|
||||
#ifdef versionv1612plus
|
||||
p.boundaryFieldRef(),
|
||||
#else
|
||||
p.boundaryField(),
|
||||
#endif
|
||||
(
|
||||
phi.boundaryField()
|
||||
- (mesh.Sf().boundaryField() & U.boundaryField())
|
||||
)/(mesh.magSf().boundaryField()*rUAf.boundaryField()*voidfractionf.boundaryField())
|
||||
);
|
||||
}else
|
||||
{
|
||||
setSnGrad<fixedFluxPressureFvPatchScalarField>
|
||||
(
|
||||
#ifdef versionv1612plus
|
||||
p.boundaryFieldRef(),
|
||||
#else
|
||||
p.boundaryField(),
|
||||
#endif
|
||||
(
|
||||
phi.boundaryField()
|
||||
- (mesh.Sf().boundaryField() & U.boundaryField())
|
||||
)/(mesh.magSf().boundaryField()*rUAf.boundaryField())
|
||||
);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "fixedFluxPressureHandling.H"
|
||||
|
||||
// Non-orthogonal pressure corrector loop
|
||||
#if defined(version30)
|
||||
@ -276,10 +251,12 @@ int main(int argc, char *argv[])
|
||||
U -= voidfraction*rUA*fvc::grad(p) - Ksl/rho*Us*rUA;
|
||||
|
||||
U.correctBoundaryConditions();
|
||||
fvOptions.correct(U);
|
||||
|
||||
} // end piso loop
|
||||
}
|
||||
|
||||
laminarTransport.correct();
|
||||
turbulence->correct();
|
||||
}// end solveFlow
|
||||
else
|
||||
|
||||
@ -203,40 +203,7 @@ int main(int argc, char *argv[])
|
||||
rUAvoidfraction = volScalarField("(voidfraction2|A(U))",rUA*voidfraction*voidfraction);
|
||||
|
||||
// Update the fixedFluxPressure BCs to ensure flux consistency
|
||||
#ifndef versionExt32
|
||||
#ifndef version40
|
||||
if (modelType=="A")
|
||||
{
|
||||
setSnGrad<fixedFluxPressureFvPatchScalarField>
|
||||
(
|
||||
#ifdef versionv1612plus
|
||||
p.boundaryFieldRef(),
|
||||
#else
|
||||
p.boundaryField(),
|
||||
#endif
|
||||
(
|
||||
phi.boundaryField()
|
||||
- (mesh.Sf().boundaryField() & U.boundaryField())
|
||||
)/(mesh.magSf().boundaryField()*rUAf.boundaryField()*voidfractionf.boundaryField())
|
||||
);
|
||||
}else
|
||||
{
|
||||
setSnGrad<fixedFluxPressureFvPatchScalarField>
|
||||
(
|
||||
#ifdef versionv1612plus
|
||||
p.boundaryFieldRef(),
|
||||
#else
|
||||
p.boundaryField(),
|
||||
#endif
|
||||
(
|
||||
phi.boundaryField()
|
||||
- (mesh.Sf().boundaryField() & U.boundaryField())
|
||||
)/(mesh.magSf().boundaryField()*rUAf.boundaryField())
|
||||
);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "fixedFluxPressureHandling.H"
|
||||
|
||||
// Non-orthogonal pressure corrector loop
|
||||
#if defined(version30)
|
||||
@ -289,6 +256,7 @@ int main(int argc, char *argv[])
|
||||
} // end piso loop
|
||||
}
|
||||
|
||||
laminarTransport.correct();
|
||||
turbulence->correct();
|
||||
}// end solveFlow
|
||||
else
|
||||
|
||||
@ -132,6 +132,10 @@ int main(int argc, char *argv[])
|
||||
false
|
||||
);
|
||||
|
||||
//write Us field
|
||||
Us = particleCloud.averagingM().UsInterp();
|
||||
Us.correctBoundaryConditions();
|
||||
|
||||
for (int i=0;i<particleCloud.nrForceModels();i++) particleCloud.forceM(i).setForce();
|
||||
|
||||
runTime.write();
|
||||
|
||||
@ -1,585 +0,0 @@
|
||||
"CFDEM®project WWW Site"_lws :c
|
||||
|
||||
:line
|
||||
CFDEM®coupling Documentation :h2,c
|
||||
:line
|
||||
:c,image(Portfolio_CFDEMcoupling.png)
|
||||
:line
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
:link(of,http://www.openfoam.com)
|
||||
:link(lig,https://www.cfdem.com/liggghtsr-open-source-discrete-element-method-particle-simulation-code)
|
||||
|
||||
1. Contents :h3
|
||||
|
||||
The CFDEM®coupling documentation is organized into the following sections. If you find any errors or omissions in this manual or have suggestions for useful information to add, please send an email to the developers so the CFDEM®coupling documentation can be improved.
|
||||
|
||||
1.1 "About CFDEM®coupling"_#1_1
|
||||
1.2 "Installation"_#1_2
|
||||
1.3 "Tutorials"_#1_3
|
||||
1.4 "couplingProperties dictionary"_#1_4
|
||||
1.5 "liggghtsCommands dictionary"_#1_5
|
||||
1.6 "Models and solvers"_#cmd_5 :all(b)
|
||||
|
||||
:line
|
||||
|
||||
1.1 About CFDEM®coupling :link(1_1),h4
|
||||
|
||||
CFDEM®coupling provides an open source parallel coupled CFD-DEM framework combining the strengths of "LIGGGHTS®"_lig DEM code and the Open Source CFD package "OpenFOAM®(*)"_of. The CFDEM®coupling toolbox allows to expand standard CFD solvers of "OpenFOAM®(*)"_of to include a coupling to the DEM code "LIGGGHTS®"_lig. 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 :ulb,l
|
||||
its MPI parallelization enables to use it for large scale problems :l
|
||||
the "forum"_lws on CFD-DEM gives the possibility to exchange with other users / developers :l
|
||||
the use of GIT allows to easily update to the latest version :l
|
||||
basic documentation is provided :l
|
||||
:ule
|
||||
|
||||
The file structure:
|
||||
|
||||
{src} directory contains the source-code files of the CFDEM®coupling toolbox library and models :ulb,l
|
||||
{applications} directory contains the solver source files for coupled CFD-DEM simulations :l
|
||||
{doc} directory including the documentation of CFDEM®coupling :l
|
||||
{tutorials} directory including basic tutorial cases showing the functionality :l
|
||||
:ule
|
||||
|
||||
The functionality of this CFD-DEM framework is described via "tutorial cases"_#1_3 showing how to use different solvers and models.
|
||||
|
||||
CFDEM®coupling stands for Computational Fluid Dynamics (CFD) -Discrete Element Method (DEM) coupling.
|
||||
|
||||
CFDEM®coupling is an open-source code, distributed freely under the terms of the GNU Public License (GPL).
|
||||
|
||||
Core development of CFDEM®coupling is done by Christoph Goniva and Christoph Kloss, both at DCS Computing GmbH, 2012
|
||||
|
||||
This documentation was written by DCS Computing GmbH, 2017
|
||||
|
||||
:line
|
||||
How CFDEM®coupling works, a short description:
|
||||
|
||||
The launched applications are CFDEM®coupling solvers, e.g. cfdemSolverPiso. Its job is to solve the Navier-Stokes equations with a solid phase present.
|
||||
A general formulation with a solid phase:
|
||||
|
||||
:c,image(Eqs/NavierStokesLiquSoli.png)
|
||||
|
||||
In general "l" denotes liquid and "s" solid properties. AlphaL is the fluid (liquid) content of a calculation-cell, the voidfraction. "rhoL" is the fluid (liquid) density, uL the fluid (liquid) velocity, p the pressure, Ksl the implicit momentum exchange term between solid and liquid phase, us the solid velocity, tau the liquid-stress-tensor, g the gravity vector and t the time. "f" is a general explicit term which can be used to explicitely exchange momentum from the solid to the liquid phase.
|
||||
|
||||
All cfdemSolvers use a "cfdemCloud" object, which takes care of many things. The most important are:
|
||||
|
||||
Control and communicate with the LIGGGHTS® library object. (liggghtsCommandModel and dataExchangeModel)
|
||||
Find the cell ID of a certain position, e.g. the particle center. (locateModel)
|
||||
Calculate the voidfraction field from particle positions, particle volumes and cell volumes. (voidFractionModel)
|
||||
Calculate the forces on the CFD field and the particle forces. These may be assembled by various forceModels, e.g. buyoancy and a drag-law. (forceModel and forceSubModel)
|
||||
Calculate the implicit and if necessary explicit source terms from the force fields for the Navier-Stokes-Equations, the solver needs to solve. (momCoupleModel)
|
||||
Calculate the "Us" field from particle data, map the particle data to the CFD-field. (averagingModel) :ul
|
||||
|
||||
In the standard setting the momentum coupling model takes the calculated forces of forceModels and produces the implicit momentum source term Ksl with
|
||||
|
||||
:c,image(Eqs/Ksl.png)
|
||||
|
||||
More advanced solvers have also an explicit source term field f which is assembled from those forces which have the treatForceExplicit=true flag (see forceSubModels).
|
||||
|
||||
:line
|
||||
(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.
|
||||
|
||||
:line
|
||||
|
||||
1.2 Installation :link(1_2),h4
|
||||
|
||||
:link(github,http://github.com/)
|
||||
:link(gitHelp,http://help.github.com/linux-set-up-git)
|
||||
:link(gitCFDEM,http://github.com/CFDEMproject)
|
||||
:link(gitscm,http://git-scm.com/downloads)
|
||||
:link(compOF,https://github.com/CFDEMproject/CFDEMcoupling-PUBLIC/blob/master/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H)
|
||||
:link(bashrc,https://github.com/CFDEMproject/CFDEMcoupling-PUBLIC/blob/master/src/lagrangian/cfdemParticle/etc/bashrc)
|
||||
:link(downOF,https://openfoam.org/download/source/)
|
||||
:link(vtklink,http://www.vtk.org/)
|
||||
:link(ParaViewlink,https://www.paraview.org/)
|
||||
|
||||
:line
|
||||
|
||||
This section describes how to download repositories of the CFDEM®project from "github.com"_github .
|
||||
After setting some environment variables, LIGGGHTS® and CFDEM®coupling can be compiled.
|
||||
|
||||
|
||||
[Procedure:]
|
||||
|
||||
Short summary:
|
||||
|
||||
"Install git"_#install_1
|
||||
"Download CFDEM®project software"_#install_2
|
||||
"Download the correct OpenFOAM® version"_#install_3
|
||||
"Setup prerequisites"_#install_4
|
||||
"Setup and compile OpenFOAM®"_#install_5
|
||||
"Set environment variables and paths"_#install_6
|
||||
"Compile LIGGGHTS® and CFDEM®coupling"_#install_7
|
||||
"Additional information"_additionalInstall
|
||||
"Run your own cases"_#install_8 :ul
|
||||
|
||||
:line
|
||||
[Install git:] :link(install_1)
|
||||
This step is optional, but recommended. Git allows you to update the source code very easily with the git pull command.
|
||||
On debian based systems you can run
|
||||
|
||||
sudo apt-get install git-core :pre
|
||||
|
||||
Similar packages are available on other systems too:
|
||||
|
||||
sudo zypper install git-core
|
||||
sudo yum install git :pre
|
||||
|
||||
NOTE: In this tutorial the git protocol is used to transfer files. If port 9418 is closed for internet connections, please switch to "https://" instead of "git://" for git clone commands.
|
||||
|
||||
:line
|
||||
[Download CFDEMproject software:] :link(install_2)
|
||||
With git you can clone git repositories from "github"_github . The following terminal commands will download the CFDEM®project software to your machine in the typical folder structure. The download of the post-processing tool LPP is optional and requires python-numpy.
|
||||
|
||||
cd $HOME
|
||||
mkdir CFDEM
|
||||
cd CFDEM
|
||||
git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git
|
||||
cd $HOME
|
||||
mkdir LIGGGHTS
|
||||
cd LIGGGHTS
|
||||
git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git
|
||||
git clone git://github.com/CFDEMproject/LPP.git lpp :pre
|
||||
|
||||
If you do not have git, you can use the download buttons after visiting a repository in the "CFDEMproject project page"_gitCFDEM and unzip the archives to the proper locations. Typically github tags the folders with "-master", please rename them with
|
||||
|
||||
cd $HOME/CFDEM
|
||||
mv CFDEMcoupling-PUBLIC-master CFDEMcoupling-PUBLIC
|
||||
cd $HOME/LIGGGHTS
|
||||
mv LIGGGHTS-PUBLIC-master LIGGGHTS-PUBLIC
|
||||
mv LPP-master lpp :pre
|
||||
|
||||
:line
|
||||
[Download the correct OpenFOAM® version:] :link(install_3)
|
||||
All mentions of OpenFOAM® refer to "this"_footnotes . It is strongly recommended to compile OpenFOAM® yourself with the latest compatible version.
|
||||
The latest compatible OpenFOAM®-version can be found in the in your local copy of CFDEM®coupling in src/lagrangian/cfdemParticle/cfdTools/versionInfo.H, or directly at "github"_compOF .
|
||||
Look for the git commit hashtag in the following line:
|
||||
|
||||
word OFversion="<OF-Release>-commit-<commitHashtag>";
|
||||
e.g. word OFversion="3.0.x-commit-ac3f6c67e02f0aac3777c27f9fb7558fc3536e37"; :pre
|
||||
|
||||
With git you can use the following recipe to get the correct version:
|
||||
|
||||
cd $HOME
|
||||
mkdir OpenFOAM
|
||||
cd OpenFOAM
|
||||
git clone git://github.com/OpenFOAM/OpenFOAM-<OF-Release>.git
|
||||
git clone git://github.com/OpenFOAM/ThirdParty-<OF-Release>.git
|
||||
cd OpenFOAM-<OF-Release>
|
||||
git checkout <commitHashtag> :pre
|
||||
|
||||
Without git you can visit git://github.com/OpenFOAM/OpenFOAM-<OF-Release>/tree/<commitHashtag> and use the download button.
|
||||
|
||||
Other OpenFOAM® versions can be used for compilation, but aren't officially supported. The list includes 4.x, 2.4.x, 1612+, 1606+ and extend-3.2
|
||||
|
||||
:line
|
||||
[Setup prerequisites for CFDEM®project:] :link(install_4)
|
||||
Prerequisites for OpenFOAM® can be found "here"_downOF .
|
||||
On an Ubuntu system (14.04+), you can use the following
|
||||
|
||||
sudo apt-get install build-essential flex bison cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev libscotch-dev libptscotch-dev :pre
|
||||
|
||||
CFDEM®project requires OpenFOAM® with a working MPI version.
|
||||
Optional, but strongly recommended is the use of "VTK"_vtklink . VTK is used to directly write data in vtk format, which is readable by "ParaView"_ParaViewlink . The minimum version is VTK 5.8, recommended is 6.3. On debian-based systems it is sufficient to run
|
||||
|
||||
sudo apt-get install libvtk6-dev :pre
|
||||
|
||||
For manual VTK compilation, please read the "additional installation hints"_additionalInstall .
|
||||
|
||||
The post-processing tool lpp requires the python numpy package.
|
||||
|
||||
sudo apt-get install python-numpy :pre
|
||||
|
||||
:line
|
||||
[Setup and compile OpenFOAM®] :link(install_5)
|
||||
You can follow the OpenFOAM® git compilation "instructions"_downOF , with a small number of exceptions:
|
||||
CFDEM®coupling requires the WM_LABEL_SIZE=32 , which is the standard setting.
|
||||
|
||||
On an Ubuntu system (14.04+), you can use the following steps to install OpenFOAM®:
|
||||
|
||||
gedit ~/.bashrc
|
||||
add the following two lines in the end, where <NofProcs> is the integer number of the processors you want to compile with. Save and exit gedit.
|
||||
"export WM_NCOMPPROCS=<NofProcs>"
|
||||
"source $HOME/OpenFOAM/OpenFOAM-<OF-Release>/etc/bashrc"
|
||||
now again in the terminal:
|
||||
source ~/.bashrc
|
||||
cd $WM_PROJECT_DIR
|
||||
foamSystemCheck
|
||||
./Allwmake :pre
|
||||
|
||||
Additional OpenFOAM® installation hints can be found "here"_additionalInstall .
|
||||
|
||||
:line
|
||||
[Set environment variables and paths] :link(install_6)
|
||||
Typically the CFDEM®coupling folder is tagged with the OpenFOAM® version number. To do this, perform the following steps:
|
||||
|
||||
cd $HOME/CFDEM
|
||||
mv CFDEMcoupling-PUBLIC CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION :pre
|
||||
|
||||
You need to set some environment variables in ~/.bashrc (if you use c-shell, manipulate ~/.cshrc accordingly). Open your .bashrc and the CFDEM®coupling bashrc file.
|
||||
|
||||
gedit ~/.bashrc $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION/src/lagrangian/cfdemParticle/etc/bashrc :pre
|
||||
|
||||
Add the STANDARD block to the end of your bashrc and modify entries if necessary. Make sure the statements are not comments; remove the "#". Similar to:
|
||||
|
||||
#================================================#
|
||||
#- source cfdem env vars
|
||||
export CFDEM_VERSION=PUBLIC
|
||||
export CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSION
|
||||
export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION
|
||||
export CFDEM_bashrc=$CFDEM_PROJECT_DIR/src/lagrangian/cfdemParticle/etc/bashrc
|
||||
export CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src
|
||||
export CFDEM_LIGGGHTS_MAKEFILE_NAME=auto
|
||||
export CFDEM_LPP_DIR=$HOME/LIGGGHTS/lpp/src
|
||||
. $CFDEM_bashrc
|
||||
#================================================# :pre
|
||||
|
||||
You may insert the EXTENDED block above ". $CFDEM_bashrc" for further customization.
|
||||
The detailed description for allowed entries can be found "here"_additionalInstall .
|
||||
|
||||
To load and check the environment you can run now
|
||||
|
||||
source ~/.bashrc
|
||||
cfdemSysTest :pre
|
||||
|
||||
NOTE: Many useful aliases are set with sourcing of the CFDEMcoupling bashrc, e.g. cfdemEtc . Make use of them!
|
||||
|
||||
:line
|
||||
[Compile LIGGGHTS® and CFDEM®coupling] :link(install_7)
|
||||
To compile CFDEM®project open a new terminal and run
|
||||
|
||||
cfdemCompCFDEMall :pre
|
||||
|
||||
It compiles the LIGGGHTS® executable, LIGGGHTS® as a shared library, the CFDEM®coupling libraries, CFDEM®coupling solvers and CFDEM®coupling utilities. The compilation will stop, if build errors occur. Having a previous manually compiled LIGGGHTS® is not enough, it needs to be compiled as shared library with the cfdemCompLIG command.
|
||||
|
||||
As step by step compilation of only specific parts, the following commands are available:
|
||||
|
||||
cfdemCompLIG
|
||||
cfdemCompCFDEMsrc
|
||||
cfdemCompCFDEmsol
|
||||
cfdenCompCFDEMuti :pre
|
||||
|
||||
The compilation is automatically logged and the logs can be found in:
|
||||
|
||||
$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/log :pre
|
||||
|
||||
In case questions concerning the installation arise, please feel free to contact our forum at "www.cfdem.com"_lws .
|
||||
|
||||
:line
|
||||
[Run your own cases] :link(install_8)
|
||||
|
||||
If you want to run your own cases, please do so in {$CFDEM_PROJECT_USER_DIR/run} which is automatically being generated. E.g. copy one of the tutorial cases there, adapt it to your needs.
|
||||
Changes in $CFDEM_TUT_DIR might be lost after every {git stash}.
|
||||
|
||||
You can run all the tutorial cases by executing the alias cfdemTestTUT.
|
||||
Alternatively you can run each tutorial using the {Allrun.sh} scripts in the tutorial directories.
|
||||
|
||||
:line
|
||||
[Backwards Compatibility:]
|
||||
|
||||
Basically CFDEM®coupling supports one OpenFOAM® version therefore all settings are prepared for that. Nevertheless we try to maintain backwards compatibility as long as it works with reasonable effort.
|
||||
|
||||
The supported OpenFOAM® and LIGGGHTS® 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!)
|
||||
|
||||
:link(VTK63,http://www.vtk.org/files/release/6.3/VTK-6.3.0.zip)
|
||||
:link(VTKinst,http://www.vtk.org/Wiki/VTK/Configure_and_Build#On_Unix-like_systems)
|
||||
|
||||
:line
|
||||
[Installation, additional information] :link(additionalInstall)
|
||||
:line
|
||||
|
||||
[Procedure:]
|
||||
|
||||
"Setup prerequisites"_#ainstall_4
|
||||
"Setup and compile OpenFOAM®"_#ainstall_5
|
||||
"Set environment variables and paths"_#ainstall_6
|
||||
"Compile LIGGGHTS® and CFDEM®coupling"_#ainstall_7 :ul
|
||||
|
||||
:line
|
||||
|
||||
[Setup prerequisites for CFDEM®project:] :link(ainstall_4)
|
||||
|
||||
If you need to compile VTK on your machine yourself, we recommend version 6.3, which is available "here"_VTK63 . The installation guide is available "here"_VTKinst .
|
||||
|
||||
Please note the VTK components necessary need cmake, MPI and some X11 libraries on your machine. Compilation using ccmake is recommended. In the standard configuration MPI related packages are disabled. Enable Parallel / MPI packages during configuration. For VTK-6.3 set VTK_Group_MPI:BOOL=ON .
|
||||
|
||||
:line
|
||||
[Setup and compile OpenFOAM®] :link(ainstall_5)
|
||||
All mentions of OpenFOAM® refer to "this"_afootnotes .
|
||||
|
||||
Often problems arise configuring OpenFOAM® to work with a specific MPI installation on a cluster. However it has built-in capability to work with nearly any MPI implementation.
|
||||
Set the following variable in the OpenFOAM® bashrc:
|
||||
|
||||
export WM_MPLIB=SYSTEMMPI :pre
|
||||
|
||||
Defining the following variables in your ~/.bashrc BEFORE the sourcing of OpenFOAM® will take care of the rest. This is an example for older MVAPICH installations where there is no libmpi.so, only libmpich.so :
|
||||
|
||||
export MPI_ROOT=<path/to/mpi/installation>
|
||||
export MPI_ARCH_PATH=$MPI_ROOT
|
||||
export MPI_ARCH_FLAGS="-DMPICH_SKIP_MPICXX"
|
||||
export MPI_ARCH_INC="-I$MPI_ARCH_PATH/include"
|
||||
export MPI_ARCH_LIBS='-L$(MPI_ARCH_PATH)/lib -lmpich -lmpichcxx -lmpl -lopa -lrt' :pre
|
||||
|
||||
:line
|
||||
[Set environment variables and paths] :link(ainstall_6)
|
||||
Detailed description of the environment variables:
|
||||
|
||||
standard block:
|
||||
|
||||
CFDEM_VERSION, CFDEMcoupling branch name; e.g. PUBLIC
|
||||
CFDEM_PROJECT_DIR, path to the installation directory of CFDEM®coupling
|
||||
CFDEM_PROJECT_USER_DIR, path to the user directory; used to store users simulation cases and source-code
|
||||
CFDEM_bashrc, location of the CFDEM®coupling bashrc (or cshrc)\, which sets up the environment
|
||||
CFDEM_LIGGGHTS_SRC_DIR, path to the LIGGGHTS src directory
|
||||
CFDEM_LIGGGHTS_MAKEFILE_NAME, Name of the LIGGGHTS® Makefile which defines how to compile LIGGGHTS®; more information on which Makefile to select is within the LIGGGHTS® documentation; standard is auto
|
||||
CFDEM_LPP_DIR path, to the src directory of the local lpp installation :tb
|
||||
|
||||
extended block may be inserted above ". $CFDEM_bashrc":
|
||||
|
||||
CFDEM_SRC_DIR, can be used to use alternative src directory
|
||||
CFDEM_SOLVER_DIR, can be used to use alternative solver directory
|
||||
CFDEM_DOC_DIR, can be used to use alternative doc directory
|
||||
CFDEM_UT_DIR, can be used to use alternative utilities directory
|
||||
CFDEM_TUT_DIR, can be used to use alternative tutorials directory
|
||||
CFDEM_LIGGGHTS_MAKEFILE_POSTIFX, if you wish to compile LIGGGHTS® to CFDEM®coupling with a postfix auto Makefile; for more information on postfixes please read the LIGGGHTS® documentation
|
||||
CFDEM_VERBOSE, if set to false\, standard output of environment variables is suppressed :tb
|
||||
|
||||
:line
|
||||
additionalLibs:
|
||||
|
||||
The additionalLibs are used as a centralized system for adding libraries and paths to CFDEM®coupling compilations. There is and automated detection of your OpenFOAM® version, which should select the proper additionalLibs file.
|
||||
If the automated selection of the additionalLibs fails or if you wish to set it manually to a specific file, you may set the following environment variables above ". $CFDEM_bashrc":
|
||||
|
||||
CFDEM_ADD_LIBS_DIR, path containing the user-defined additionalLibs file
|
||||
CFDEM_ADD_LIBS_NAME, filename of the user-defined additionalLibs file :tb
|
||||
|
||||
even further customization with variables:
|
||||
|
||||
CFDEM_LAMMPS_LIB_DIR, alternative path to LIGGGHTS® lib folder containing additional LIGGGHTS® packages; e.g. ASPHERE
|
||||
CFDEM_LIGGGHTS_LIB_PATH, path to compiled LIGGGHTS® library; useful if the compiled LIGGGHTS® library has manually been moved from the LIGGGHTS® src path to an alternative location
|
||||
CFDEM_LIB_DIR, alternative target directory for CFDEM®coupling libraries
|
||||
CFDEM_USER_LIB_DIR, alternative target directory for CFDEM®coupling user-libraries
|
||||
CFDEM_APP_DIR, alternative target directory for CFDEMcoupling executables
|
||||
CFDEM_USER_APP_DIR, alternative target directory for CFDEM®coupling user-executables :tb
|
||||
|
||||
:line
|
||||
[Compile LIGGGHTS® and CFDEM®coupling] :link(ainstall_7)
|
||||
|
||||
LIGGGHTS® needs to be compiled as library with the cfdemCompLIG command. You can compile LIGGGHTS® manually as a shared library with "make -f Makefile.shlib <Makefilename>" within your LIGGGHTS® src directory.
|
||||
LIGGGHTS® is included into CFDEM®coupling by the creation of a symbolic link in $CFDEM_LIB_DIR to the LIGGGHTS shared library. This link is automatically created during the compilation of the CFDEM®coupling lagrangian library at the beginning of the make phase. This means even if you compile the lagrangian library manually with "wmake libso", the link is created.
|
||||
|
||||
|
||||
:line
|
||||
[Footnotes:] :link(footnotes)
|
||||
|
||||
OPENFOAM® is a registered trade mark of OpenCFD Limited, producer and distributor of the OpenFOAM software via wwww.openfoam.com.
|
||||
|
||||
:line
|
||||
1.3 Tutorials :link(1_3),h4
|
||||
|
||||
[General:]
|
||||
|
||||
Each solver of the CFDEM®coupling comes with at least one tutorial example, showing its functionality and correct usage. Provided that the installation is correct, the tutorials can be run via "Allrun.sh" shell scripts. These scripts perform all necessary steps (preprocessing, run, postprocessing, visualization).
|
||||
|
||||
[Location:]
|
||||
|
||||
The tutorials can be found in the directory $CFDEM_PROJECT_DIR/tutorials, which can be reached by typing "cfdemTut"
|
||||
|
||||
[Structure:]
|
||||
|
||||
Each case is structured in a directory called "CFD" covering the CFD relevant settings and data, and a dirctory called "DEM" covering the DEM relevant settings and data. This allows to easily expand a pure CFD or DEM simulation case to a coupled case.
|
||||
|
||||
[Usage:]
|
||||
|
||||
Provided that the installation is correct, the tutorials can be run via "Allrun.sh" shell script, executed by typing "./Allrun.sh". The successful run of the script might need some third party software (e.g. octave, evince, etc.).
|
||||
|
||||
A typical Allrun.sh script executes the following steps:
|
||||
|
||||
DEM: LIGGGHTS init run
|
||||
CFD: mesh generation (blockMesh)
|
||||
CFD: mesh decomposition (decomposePar)
|
||||
CFDEM: parallel CFDEM run; mpirun -np X cfdemSolverXXX -parallel
|
||||
post-processing :ul
|
||||
|
||||
[Settings:]
|
||||
|
||||
The main settings of a simulation are done via dictionaries:
|
||||
|
||||
The DEM setup of each case is defined by a "LIGGGHTS®"_lig input file located in $caseDir/DEM (e.g. in.liggghts_init). For details on the "LIGGGHTS®"_lig setup, please have a look at the "LIGGGHTS®"_lig manual.
|
||||
|
||||
Standard CFD settings are defined in $caseDir/CFD/constant (e.g. transportProperties, RASproperties, etc.) and $caseDir/CFD/system (e.g. fvSchemes, controlDict). For settings related to the solver such as discretization schemes, solution settings for the equations and solver control (e.g. corrector or non-orthogonal corrector steps for non-orthogonal meshes) you can find more information in "OpenFOAM®(*)"_of documentations (www.openFoam.com)(*).
|
||||
|
||||
Settings of the coupling routines are defined in $caseDir/CFD/constant/"couplingProperies"_#1_4 (e.g. force models, data exchange model, etc.) and $caseDir/CFD/constant/"liggghtsCommands"_#1_5 (allows to execute a LIGGGHTS® command during a coupled simulation).
|
||||
|
||||
:line
|
||||
|
||||
1.4 "couplingProperties" dictionary :link(1_4),h4
|
||||
|
||||
[General:]
|
||||
|
||||
In the "couplingProperties" dictionary the setup of the coupling routines of the CFD-DEM simulation are defined.
|
||||
|
||||
[Location:] $caseDir/CFD/constant
|
||||
|
||||
[Structure:]
|
||||
|
||||
The dictionary is divided into two parts, "sub-models & settings" and "sub-model properties".
|
||||
|
||||
In "sub-models & settings" the following routines must be specified:
|
||||
|
||||
modelType
|
||||
couplingInterval
|
||||
voidFractionModel
|
||||
locateModel
|
||||
meshMotionModel
|
||||
IOModel
|
||||
probeModel
|
||||
dataExchangeModel
|
||||
averagingModel
|
||||
clockModel
|
||||
smoothingModel
|
||||
forceModels
|
||||
momCoupleModels
|
||||
turbulenceModelType :ul
|
||||
|
||||
In "sub-model properties" sub-dictionaries might be defined to specify model specific parameters.
|
||||
|
||||
[Settings:]
|
||||
|
||||
Reasonable example settings for the "couplingProperties" dictionary are given in the tutorial cases.
|
||||
|
||||
modelType :pre
|
||||
|
||||
"modelType" refers to the formulation of the equations to be solved. Choose "A", "B" or "Bfull", according to Zhou et al. (2010): "Discrete particle simulation of particle-fluid flow: model formulations and their applicability", JFM. "A" requires the use of the force models gradPForce and viscForce, whereas "B" requires the force model "Archimedes". "Bfull" refers to model type I, "A" refers to model type II and "B" refers to type III in the nomenclature used by Zhou et al.
|
||||
|
||||
couplingInterval :pre
|
||||
|
||||
The coupling interval determines the time passing between two CFD-DEM data exchanges.
|
||||
|
||||
A useful procedure would be:
|
||||
|
||||
Set the DEM timestep in the in.xxx file according to the needs of the pure DEM problem.
|
||||
Set the "couplingInterval", which refers to the DEM timesteps. Depending on the problem you will need to have a close (small couplingInterval) or loose coupling.
|
||||
Choose the CFD timestep in the controlDict. It must be equal to or smaller than the coupling time, otherwise you will get the error: "Error - TS bigger than coupling interval!".
|
||||
To ensure a synchronous run, the coupling time should be a multiple of the CFD timestep, or you'll get a warning "Warning - Coupling time (= DEM time step * coupling interval) is not a multiple of CFD time-step!" :ol
|
||||
|
||||
Example: DEMts=1.0e-5s, couplingInterval=10 exchange data (=couple) will happen every 1.0e-4s.
|
||||
|
||||
:line
|
||||
|
||||
1.5 "liggghtsCommands" dictionary :h4,link(1_5)
|
||||
|
||||
[General:]
|
||||
|
||||
In the "liggghtsCommands" dictionary LIGGGHTS® commands being executed during a coupled CFD-DEM simulation are specified.
|
||||
The most important command is the "run" command. After the start-up read of the LIGGGHTS®-input-script it is fed by CFDEM®coupling
|
||||
with commands. User-defined commands may be added.
|
||||
|
||||
[Location:] $caseDir/CFD/constant
|
||||
|
||||
[Structure:]
|
||||
|
||||
The dictionary is divided into two parts, first a list of "liggghtsCommandModels" is defined, then the settings for each model must be specified.
|
||||
|
||||
[Settings:]
|
||||
|
||||
Reasonable example settings for the "liggghtsCommands" dictionary are given in the tutorial cases.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
|
||||
|
||||
1.6 Models/Solvers :h4,link(cmd_5),link(comm)
|
||||
|
||||
This section lists all CFDEMcoupling sub-models and solvers alphabetically, with a separate
|
||||
listing below of styles within certain commands.
|
||||
|
||||
|
||||
"IOModel"_IOModel.html,
|
||||
"IOModel_basicIO"_IOModel_basicIO.html,
|
||||
"IOModel_noIO"_IOModel_noIO.html,
|
||||
"IOModel_sophIO"_IOModel_sophIO.html,
|
||||
"IOModel_trackIO"_IOModel_trackIO.html,
|
||||
"averagingModel"_averagingModel.html,
|
||||
"averagingModel_dense"_averagingModel_dense.html,
|
||||
"averagingModel_dilute"_averagingModel_dilute.html,
|
||||
"cfdemSolverIB"_cfdemSolverIB.html,
|
||||
"cfdemSolverPiso"_cfdemSolverPiso.html,
|
||||
"cfdemSolverPisoSTM"_cfdemSolverPisoSTM.html,
|
||||
"cfdemSolverPisoScalar"_cfdemSolverPisoScalar.html,
|
||||
"clockModel"_clockModel.html,
|
||||
"clockModel_noClock"_clockModel_noClock.html,
|
||||
"clockModel_standardClock"_clockModel_standardClock.html,
|
||||
"couple/cfd"_fix_couple_cfd.html,
|
||||
"couple/cfd/force"_fix_couple_cfd_force.html,
|
||||
"couple/cfd/force/implicit"_fix_couple_cfd_force_implicit.html,
|
||||
"dataExchangeModel"_dataExchangeModel.html,
|
||||
"dataExchangeModel_noDataExchange"_dataExchangeModel_noDataExchange.html,
|
||||
"dataExchangeModel_oneWayVTK"_dataExchangeModel_oneWayVTK.html,
|
||||
"dataExchangeModel_twoWayFiles"_dataExchangeModel_twoWayFiles.html,
|
||||
"dataExchangeModel_twoWayMPI"_dataExchangeModel_twoWayMPI.html,
|
||||
"forceModel"_forceModel.html,
|
||||
"forceModel_Archimedes"_forceModel_Archimedes.html,
|
||||
"forceModel_ArchimedesIB"_forceModel_ArchimedesIB.html,
|
||||
"forceModel_DiFeliceDrag"_forceModel_DiFeliceDrag.html,
|
||||
"forceModel_GidaspowDrag"_forceModel_GidaspowDrag.html,
|
||||
"forceModel_KochHillDrag"_forceModel_KochHillDrag.html,
|
||||
"forceModel_LaEuScalarTemp"_forceModel_LaEuScalarTemp.html,
|
||||
"forceModel_MeiLift"_forceModel_MeiLift.html,
|
||||
"forceModel_SchillerNaumannDrag"_forceModel_SchillerNaumannDrag.html,
|
||||
"forceModel_ShirgaonkarIB"_forceModel_ShirgaonkarIB.html,
|
||||
"forceModel_checkCouplingInterval"_forceModel_checkCouplingInterval.html,
|
||||
"forceModel_fieldStore"_forceModel_fieldStore.html,
|
||||
"forceModel_fieldTimeAverage"_forceModel_fieldTimeAverage.html,
|
||||
"forceModel_gradPForce"_forceModel_gradPForce.html,
|
||||
"forceModel_noDrag"_forceModel_noDrag.html,
|
||||
"forceModel_particleCellVolume"_forceModel_particleCellVolume.html,
|
||||
"forceModel_particleVolume"_forceModel_particleVolume.html,
|
||||
"forceModel_scalarGeneralExchange"_forceModel_scalarGeneralExchange.html,
|
||||
"forceModel_virtualMassForce"_forceModel_virtualMassForce.html,
|
||||
"forceModel_viscForce"_forceModel_viscForce.html,
|
||||
"forceModel_volWeightedAverage"_forceModel_volWeightedAverage.html,
|
||||
"forceSubModel"_forceSubModel.html,
|
||||
"forceSubModel_ImEx"_forceSubModel_ImEx.html,
|
||||
"liggghtsCommandModel"_liggghtsCommandModel.html,
|
||||
"liggghtsCommandModel_execute"_liggghtsCommandModel_execute.html,
|
||||
"liggghtsCommandModel_readLiggghtsData"_liggghtsCommandModel_readLiggghtsData.html,
|
||||
"liggghtsCommandModel_runLiggghts"_liggghtsCommandModel_runLiggghts.html,
|
||||
"liggghtsCommandModel_setDEMGravity"_liggghtsCommandModel_setDEMGravity.html,
|
||||
"liggghtsCommandModel_writeLiggghts"_liggghtsCommandModel_writeLiggghts.html,
|
||||
"locateModel"_locateModel.html,
|
||||
"locateModel_engineSearch"_locateModel_engineSearch.html,
|
||||
"locateModel_engineSearchIB"_locateModel_engineSearchIB.html,
|
||||
"locateModel_standardSearch"_locateModel_standardSearch.html,
|
||||
"meshMotionModel"_meshMotionModel.html,
|
||||
"meshMotionModel_noMeshMotion"_meshMotionModel_noMeshMotion.html,
|
||||
"momCoupleModel"_momCoupleModel.html,
|
||||
"momCoupleModel_explicitCouple"_momCoupleModel_explicitCouple.html,
|
||||
"momCoupleModel_implicitCouple"_momCoupleModel_implicitCouple.html,
|
||||
"momCoupleModel_noCouple"_momCoupleModel_noCouple.html,
|
||||
"probeModel"_probeModel.html,
|
||||
"probeModel_noProbe"_probeModel_noProbe.html,
|
||||
"probeModel_particleProbe"_probeModel_particleProbe.html,
|
||||
"scalarTransportModel"_scalarTransportModel.html,
|
||||
"scalarTransportModel_generalManual"_scalarTransportModel_generalManual.html,
|
||||
"smoothingModel"_smoothingModel.html,
|
||||
"smoothingModel_constDiffSmoothing"_smoothingModel_constDiffSmoothing.html,
|
||||
"smoothingModel_noSmoothing"_smoothingModel_noSmoothing.html,
|
||||
"voidfractionModel"_voidFractionModel.html,
|
||||
"voidfractionModel_GaussVoidFraction"_voidFractionModel_GaussVoidFraction.html,
|
||||
"voidfractionModel_IBVoidFraction"_voidFractionModel_IBVoidFraction.html,
|
||||
"voidfractionModel_bigParticleVoidFraction"_voidFractionModel_bigParticleVoidFraction.html,
|
||||
"voidfractionModel_centreVoidFraction"_voidFractionModel_centreVoidFraction.html,
|
||||
"voidfractionModel_dividedVoidFraction"_voidFractionModel_dividedVoidFraction.html,
|
||||
"voidfractionModel_noVoidFractionVoidFraction"_voidFractionModel_noVoidFraction.html,
|
||||
"voidfractionModel_trilinearVoidFraction"_voidFractionModel_trilinearVoidFraction.html :tb(c=2,ea=c)
|
||||
@ -1,36 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
IOModel command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
IOModel "model"; :pre
|
||||
|
||||
model = name of IO-model to be applied :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
IOModel "off";
|
||||
|
||||
NOTE: This examples list might not be complete - please look for other models (IOModel_XY) in this documentation.
|
||||
|
||||
[Description:]
|
||||
|
||||
The IO-model is the base class to write data (e.g. particle properties) to files within the CFD file-structure.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"basicIO"_IOModel_basicIO.html, "noIO"_IOModel_noIO.html, "sophIO"_IOModel_sophIO.html, "trackIO"_IOModel_trackIO.html
|
||||
|
||||
[Default:] none.
|
||||
@ -1,29 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
IOModel_basicIO command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
IOModel "basicIO"; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
IOModel "basicIO"; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The basic IO-model writes particle positions velocities and radii to files. The default output directory ($casePath/CFD/proc*/time/lagrangian). Using the keyword "serialOutput;" in couplingProperties the IO is serial to the directory ($casePath/CFD/lagrangian). In the latter case only the data on processor 0 is written! Data is written every write time of the CFD simulation.
|
||||
|
||||
[Restrictions:] None.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"IOModel"_IOModel.html
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
IOModel_noIO command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
IOModel "off"; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
IOModel "off"; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The noIO-model is a dummy IO model.
|
||||
|
||||
[Restrictions:] None.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"IOModel"_IOModel.html
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
IOModel_sophIO command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
IOModel "sophIO"; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
IOModel "sophIO"; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The sophIO-model is based on basicIO model and additionally writes voidfraction, implicit forces, explicit forces. Data is written every write time of the CFD simulation.
|
||||
|
||||
[Restrictions:] None.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"IOModel"_IOModel.html
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
IOModel_trackIO command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
IOModel "trackIO"; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
IOModel "trackIO"; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The trackIO-model is based on sophIO model and additionally writes fields necessary to use the particleTracks utility (which needs a particleTrackProperties file in the constant dir). The particleTracks utility generates tracks of the particles and writes them to a vtk file.
|
||||
|
||||
[Restrictions:] None.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"IOModel"_IOModel.html
|
||||
|
||||
BIN
doc/_build/doctrees/CFDEMcoupling_Manual.doctree
vendored
BIN
doc/_build/doctrees/CFDEMcoupling_Manual.doctree
vendored
Binary file not shown.
BIN
doc/_build/doctrees/IOModel_trackIO.doctree
vendored
BIN
doc/_build/doctrees/IOModel_trackIO.doctree
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
doc/_build/doctrees/averagingModel_dense.doctree
vendored
BIN
doc/_build/doctrees/averagingModel_dense.doctree
vendored
Binary file not shown.
BIN
doc/_build/doctrees/cfdemSolverIB.doctree
vendored
BIN
doc/_build/doctrees/cfdemSolverIB.doctree
vendored
Binary file not shown.
BIN
doc/_build/doctrees/cfdemSolverPiso.doctree
vendored
BIN
doc/_build/doctrees/cfdemSolverPiso.doctree
vendored
Binary file not shown.
BIN
doc/_build/doctrees/clockModel_noClock.doctree
vendored
BIN
doc/_build/doctrees/clockModel_noClock.doctree
vendored
Binary file not shown.
BIN
doc/_build/doctrees/clockModel_standardClock.doctree
vendored
BIN
doc/_build/doctrees/clockModel_standardClock.doctree
vendored
Binary file not shown.
BIN
doc/_build/doctrees/dataExchangeModel.doctree
vendored
BIN
doc/_build/doctrees/dataExchangeModel.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
doc/_build/doctrees/environment.pickle
vendored
BIN
doc/_build/doctrees/environment.pickle
vendored
Binary file not shown.
BIN
doc/_build/doctrees/fix_couple_cfd.doctree
vendored
BIN
doc/_build/doctrees/fix_couple_cfd.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
doc/_build/doctrees/forceModel.doctree
vendored
BIN
doc/_build/doctrees/forceModel.doctree
vendored
Binary file not shown.
BIN
doc/_build/doctrees/forceModel_Archimedes.doctree
vendored
BIN
doc/_build/doctrees/forceModel_Archimedes.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
doc/_build/doctrees/forceModel_noDrag.doctree
vendored
BIN
doc/_build/doctrees/forceModel_noDrag.doctree
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
doc/_build/doctrees/forceSubModel.doctree
vendored
BIN
doc/_build/doctrees/forceSubModel.doctree
vendored
Binary file not shown.
BIN
doc/_build/doctrees/forceSubModel_ImEx.doctree
vendored
BIN
doc/_build/doctrees/forceSubModel_ImEx.doctree
vendored
Binary file not shown.
BIN
doc/_build/doctrees/fvOptions.doctree
vendored
Normal file
BIN
doc/_build/doctrees/fvOptions.doctree
vendored
Normal file
Binary file not shown.
BIN
doc/_build/doctrees/fvOptions_meanSupVelocityForce.doctree
vendored
Normal file
BIN
doc/_build/doctrees/fvOptions_meanSupVelocityForce.doctree
vendored
Normal file
Binary file not shown.
BIN
doc/_build/doctrees/liggghtsCommandModel.doctree
vendored
BIN
doc/_build/doctrees/liggghtsCommandModel.doctree
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
doc/_build/doctrees/locateModel.doctree
vendored
BIN
doc/_build/doctrees/locateModel.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
doc/_build/doctrees/meshMotionModel.doctree
vendored
BIN
doc/_build/doctrees/meshMotionModel.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
doc/_build/doctrees/scalarTransportModel.doctree
vendored
BIN
doc/_build/doctrees/scalarTransportModel.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
doc/_build/doctrees/voidFractionModel.doctree
vendored
BIN
doc/_build/doctrees/voidFractionModel.doctree
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
90
doc/_build/html/CFDEMcoupling_Manual.html
vendored
90
doc/_build/html/CFDEMcoupling_Manual.html
vendored
@ -264,7 +264,7 @@ mv LPP-master lpp
|
||||
The latest compatible OpenFOAM®-version can be found in the in your local copy of CFDEM®coupling in src/lagrangian/cfdemParticle/cfdTools/versionInfo.H, or directly at <a class="reference external" href="https://github.com/CFDEMproject/CFDEMcoupling-PUBLIC/blob/master/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H">github</a> .
|
||||
Look for the git commit hashtag in the following line:</p>
|
||||
<div class="highlight-python"><div class="highlight"><pre>word OFversion="<OF-Release>-commit-<commitHashtag>";
|
||||
e.g. word OFversion="3.0.x-commit-ac3f6c67e02f0aac3777c27f9fb7558fc3536e37";
|
||||
e.g. word OFversion="5.x-commit-538044ac05c4672b37c7df607dca1116fa88df88";
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>With git you can use the following recipe to get the correct version:</p>
|
||||
@ -278,7 +278,7 @@ git checkout <commitHashtag>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Without git you can visit git://github.com/OpenFOAM/OpenFOAM-<OF-Release>/tree/<commitHashtag> and use the download button.</p>
|
||||
<p>Other OpenFOAM® versions can be used for compilation, but aren’t officially supported. The list includes 4.x, 2.4.x, 1612+, 1606+ and extend-3.2</p>
|
||||
<p>Other OpenFOAM® versions can be used for compilation, but aren’t officially supported. The list includes 4.x, 3.x, 2.4.x, 1612+, 1606+ and extend-3.2</p>
|
||||
<hr class="docutils" />
|
||||
<p id="install-4"><strong>Setup prerequisites for CFDEM®project:</strong></p>
|
||||
<p>Prerequisites for OpenFOAM® can be found <a class="reference external" href="https://openfoam.org/download/source/">here</a> .
|
||||
@ -374,6 +374,12 @@ cfdemSysTest
|
||||
Changes in $CFDEM_TUT_DIR might be lost after every <em>git stash</em>.</p>
|
||||
<p>You can run all the tutorial cases by executing the alias cfdemTestTUT.
|
||||
Alternatively you can run each tutorial using the <em>Allrun.sh</em> scripts in the tutorial directories.</p>
|
||||
<p>To run pure LIGGGHTS® cases, you can use the aliases</p>
|
||||
<div class="highlight-python"><div class="highlight"><pre>cfdemLiggghts inputScriptName
|
||||
cfdemLiggghtsPar inputScriptName nOfProcs
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>or you can set a link in /usr/local/bin to the LIGGGHTS® executable as described in the <a class="reference external" href="https://www.cfdem.com/media/DEM/docu/Section_start.html#steps-to-build-a-liggghts-r-public-executable">LIGGGHTS®documentation</a> .</p>
|
||||
<hr class="docutils" />
|
||||
<p><strong>Backwards Compatibility:</strong></p>
|
||||
<p>Basically CFDEM®coupling supports one OpenFOAM® version therefore all settings are prepared for that. Nevertheless we try to maintain backwards compatibility as long as it works with reasonable effort.</p>
|
||||
@ -391,6 +397,7 @@ src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H
|
||||
<li><a class="reference internal" href="#ainstall-5"><em>Setup and compile OpenFOAM®</em></a></li>
|
||||
<li><a class="reference internal" href="#ainstall-6"><em>Set environment variables and paths</em></a></li>
|
||||
<li><a class="reference internal" href="#ainstall-7"><em>Compile LIGGGHTS® and CFDEM®coupling</em></a></li>
|
||||
<li><a class="reference internal" href="#ainstall-8"><em>Compiling OpenFOAM®, LIGGGHTS® and CFDEM®coupling in debug mode</em></a></li>
|
||||
</ul>
|
||||
<hr class="docutils" />
|
||||
<p id="ainstall-4"><strong>Setup prerequisites for CFDEM®project:</strong></p>
|
||||
@ -541,6 +548,11 @@ If the automated selection of the additionalLibs fails or if you wish to set it
|
||||
<p>LIGGGHTS® needs to be compiled as library with the cfdemCompLIG command. You can compile LIGGGHTS® manually as a shared library with “make -f Makefile.shlib <Makefilename>” within your LIGGGHTS® src directory.
|
||||
LIGGGHTS® is included into CFDEM®coupling by the creation of a symbolic link in $CFDEM_LIB_DIR to the LIGGGHTS shared library. This link is automatically created during the compilation of the CFDEM®coupling lagrangian library at the beginning of the make phase. This means even if you compile the lagrangian library manually with “wmake libso”, the link is created.</p>
|
||||
<hr class="docutils" />
|
||||
<p id="ainstall-8"><strong>Compiling OpenFOAM®, LIGGGHTS® and CFDEM®coupling in debug mode</strong></p>
|
||||
<p>Set the WM_COMPILE_OPTION parameter in the OF bashrc to “Debug” and compile OF with the Allwmake script.
|
||||
If you are using the LIGGGHTS® auto Makefile, simply compile LIGGGHTS® and CFDEM®coupling with “cfdemCompCFDEMall”. CFDEM®coupling detects the OpenFOAM® variable compiles LIGGGHTS® in debug mode. The coupling itself is compiled with OpenFOAM®s wmake, so this is automatically taken care of.
|
||||
If you aren’t using the auto Makefile, you need to make sure the “-O0 -g” or “-O2 -g” compilation parameters are set properly within the LIGGGHTS®-Makefile.</p>
|
||||
<hr class="docutils" />
|
||||
<p id="footnotes"><strong>Footnotes:</strong></p>
|
||||
<p>OPENFOAM® is a registered trade mark of OpenCFD Limited, producer and distributor of the OpenFOAM software via wwww.openfoam.com.</p>
|
||||
<hr class="docutils" />
|
||||
@ -579,6 +591,7 @@ LIGGGHTS® is included into CFDEM®coupling by the creation of a symbolic link i
|
||||
<p>The dictionary is divided into two parts, “sub-models & settings” and “sub-model properties”.</p>
|
||||
<p>In “sub-models & settings” the following routines must be specified:</p>
|
||||
<ul class="simple">
|
||||
<li>solveFlow</li>
|
||||
<li>modelType</li>
|
||||
<li>couplingInterval</li>
|
||||
<li>voidFractionModel</li>
|
||||
@ -597,6 +610,10 @@ LIGGGHTS® is included into CFDEM®coupling by the creation of a symbolic link i
|
||||
<p>In “sub-model properties” sub-dictionaries might be defined to specify model specific parameters.</p>
|
||||
<p><strong>Settings:</strong></p>
|
||||
<p>Reasonable example settings for the “couplingProperties” dictionary are given in the tutorial cases.</p>
|
||||
<div class="highlight-python"><div class="highlight"><pre><span class="n">solveFlow</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The solveFlow switch determines, whether the fluid equations are solved or not. By setting solveFlow to false, the fluid solver becomes inactive.</p>
|
||||
<div class="highlight-python"><div class="highlight"><pre><span class="n">modelType</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -634,8 +651,8 @@ with commands. User-defined commands may be added.</p>
|
||||
listing below of styles within certain commands.</p>
|
||||
<table border="1" class="docutils">
|
||||
<colgroup>
|
||||
<col width="48%" />
|
||||
<col width="52%" />
|
||||
<col width="48%" />
|
||||
</colgroup>
|
||||
<tbody valign="top">
|
||||
<tr class="row-odd"><td><a class="reference internal" href="IOModel.html"><em>IOModel</em></a></td>
|
||||
@ -707,53 +724,56 @@ listing below of styles within certain commands.</p>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="forceSubModel.html"><em>forceSubModel</em></a></td>
|
||||
<td><a class="reference internal" href="forceSubModel_ImEx.html"><em>forceSubModel_ImEx</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><a class="reference internal" href="liggghtsCommandModel.html"><em>liggghtsCommandModel</em></a></td>
|
||||
<td><a class="reference internal" href="liggghtsCommandModel_execute.html"><em>liggghtsCommandModel_execute</em></a></td>
|
||||
<tr class="row-even"><td><a class="reference internal" href="fvOptions_meanSupVelocityForce.html"><em>fvOptions_meanSupVelocityForce</em></a></td>
|
||||
<td><a class="reference internal" href="liggghtsCommandModel.html"><em>liggghtsCommandModel</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="liggghtsCommandModel_readLiggghtsData.html"><em>liggghtsCommandModel_readLiggghtsData</em></a></td>
|
||||
<td><a class="reference internal" href="liggghtsCommandModel_runLiggghts.html"><em>liggghtsCommandModel_runLiggghts</em></a></td>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="liggghtsCommandModel_execute.html"><em>liggghtsCommandModel_execute</em></a></td>
|
||||
<td><a class="reference internal" href="liggghtsCommandModel_readLiggghtsData.html"><em>liggghtsCommandModel_readLiggghtsData</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><a class="reference internal" href="liggghtsCommandModel_setDEMGravity.html"><em>liggghtsCommandModel_setDEMGravity</em></a></td>
|
||||
<td><a class="reference internal" href="liggghtsCommandModel_writeLiggghts.html"><em>liggghtsCommandModel_writeLiggghts</em></a></td>
|
||||
<tr class="row-even"><td><a class="reference internal" href="liggghtsCommandModel_runLiggghts.html"><em>liggghtsCommandModel_runLiggghts</em></a></td>
|
||||
<td><a class="reference internal" href="liggghtsCommandModel_setDEMGravity.html"><em>liggghtsCommandModel_setDEMGravity</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="locateModel.html"><em>locateModel</em></a></td>
|
||||
<td><a class="reference internal" href="locateModel_engineSearch.html"><em>locateModel_engineSearch</em></a></td>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="liggghtsCommandModel_writeLiggghts.html"><em>liggghtsCommandModel_writeLiggghts</em></a></td>
|
||||
<td><a class="reference internal" href="locateModel.html"><em>locateModel</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><a class="reference internal" href="locateModel_engineSearchIB.html"><em>locateModel_engineSearchIB</em></a></td>
|
||||
<td><a class="reference internal" href="locateModel_standardSearch.html"><em>locateModel_standardSearch</em></a></td>
|
||||
<tr class="row-even"><td><a class="reference internal" href="locateModel_engineSearch.html"><em>locateModel_engineSearch</em></a></td>
|
||||
<td><a class="reference internal" href="locateModel_engineSearchIB.html"><em>locateModel_engineSearchIB</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="meshMotionModel.html"><em>meshMotionModel</em></a></td>
|
||||
<td><a class="reference internal" href="meshMotionModel_noMeshMotion.html"><em>meshMotionModel_noMeshMotion</em></a></td>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="locateModel_standardSearch.html"><em>locateModel_standardSearch</em></a></td>
|
||||
<td><a class="reference internal" href="meshMotionModel.html"><em>meshMotionModel</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><a class="reference internal" href="momCoupleModel.html"><em>momCoupleModel</em></a></td>
|
||||
<td><a class="reference internal" href="momCoupleModel_explicitCouple.html"><em>momCoupleModel_explicitCouple</em></a></td>
|
||||
<tr class="row-even"><td><a class="reference internal" href="meshMotionModel_noMeshMotion.html"><em>meshMotionModel_noMeshMotion</em></a></td>
|
||||
<td><a class="reference internal" href="momCoupleModel.html"><em>momCoupleModel</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="momCoupleModel_implicitCouple.html"><em>momCoupleModel_implicitCouple</em></a></td>
|
||||
<td><a class="reference internal" href="momCoupleModel_noCouple.html"><em>momCoupleModel_noCouple</em></a></td>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="momCoupleModel_explicitCouple.html"><em>momCoupleModel_explicitCouple</em></a></td>
|
||||
<td><a class="reference internal" href="momCoupleModel_implicitCouple.html"><em>momCoupleModel_implicitCouple</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><a class="reference internal" href="probeModel.html"><em>probeModel</em></a></td>
|
||||
<td><a class="reference internal" href="probeModel_noProbe.html"><em>probeModel_noProbe</em></a></td>
|
||||
<tr class="row-even"><td><a class="reference internal" href="momCoupleModel_noCouple.html"><em>momCoupleModel_noCouple</em></a></td>
|
||||
<td><a class="reference internal" href="probeModel.html"><em>probeModel</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="probeModel_particleProbe.html"><em>probeModel_particleProbe</em></a></td>
|
||||
<td><a class="reference internal" href="scalarTransportModel.html"><em>scalarTransportModel</em></a></td>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="probeModel_noProbe.html"><em>probeModel_noProbe</em></a></td>
|
||||
<td><a class="reference internal" href="probeModel_particleProbe.html"><em>probeModel_particleProbe</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><a class="reference internal" href="scalarTransportModel_generalManual.html"><em>scalarTransportModel_generalManual</em></a></td>
|
||||
<td><a class="reference internal" href="smoothingModel.html"><em>smoothingModel</em></a></td>
|
||||
<tr class="row-even"><td><a class="reference internal" href="scalarTransportModel.html"><em>scalarTransportModel</em></a></td>
|
||||
<td><a class="reference internal" href="scalarTransportModel_generalManual.html"><em>scalarTransportModel_generalManual</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="smoothingModel_constDiffSmoothing.html"><em>smoothingModel_constDiffSmoothing</em></a></td>
|
||||
<td><a class="reference internal" href="smoothingModel_noSmoothing.html"><em>smoothingModel_noSmoothing</em></a></td>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="smoothingModel.html"><em>smoothingModel</em></a></td>
|
||||
<td><a class="reference internal" href="smoothingModel_constDiffSmoothing.html"><em>smoothingModel_constDiffSmoothing</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><a class="reference internal" href="voidFractionModel.html"><em>voidfractionModel</em></a></td>
|
||||
<td><a class="reference internal" href="voidFractionModel_GaussVoidFraction.html"><em>voidfractionModel_GaussVoidFraction</em></a></td>
|
||||
<tr class="row-even"><td><a class="reference internal" href="smoothingModel_noSmoothing.html"><em>smoothingModel_noSmoothing</em></a></td>
|
||||
<td><a class="reference internal" href="voidFractionModel.html"><em>voidfractionModel</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="voidFractionModel_IBVoidFraction.html"><em>voidfractionModel_IBVoidFraction</em></a></td>
|
||||
<td><a class="reference internal" href="voidFractionModel_bigParticleVoidFraction.html"><em>voidfractionModel_bigParticleVoidFraction</em></a></td>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="voidFractionModel_GaussVoidFraction.html"><em>voidfractionModel_GaussVoidFraction</em></a></td>
|
||||
<td><a class="reference internal" href="voidFractionModel_IBVoidFraction.html"><em>voidfractionModel_IBVoidFraction</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><a class="reference internal" href="voidFractionModel_centreVoidFraction.html"><em>voidfractionModel_centreVoidFraction</em></a></td>
|
||||
<td><a class="reference internal" href="voidFractionModel_dividedVoidFraction.html"><em>voidfractionModel_dividedVoidFraction</em></a></td>
|
||||
<tr class="row-even"><td><a class="reference internal" href="voidFractionModel_bigParticleVoidFraction.html"><em>voidfractionModel_bigParticleVoidFraction</em></a></td>
|
||||
<td><a class="reference internal" href="voidFractionModel_centreVoidFraction.html"><em>voidfractionModel_centreVoidFraction</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="voidFractionModel_noVoidFraction.html"><em>voidfractionModel_noVoidFractionVoidFraction</em></a></td>
|
||||
<td><a class="reference internal" href="voidFractionModel_trilinearVoidFraction.html"><em>voidfractionModel_trilinearVoidFraction</em></a></td>
|
||||
<tr class="row-odd"><td><a class="reference internal" href="voidFractionModel_dividedVoidFraction.html"><em>voidfractionModel_dividedVoidFraction</em></a></td>
|
||||
<td><a class="reference internal" href="voidFractionModel_noVoidFraction.html"><em>voidfractionModel_noVoidFractionVoidFraction</em></a></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><a class="reference internal" href="voidFractionModel_trilinearVoidFraction.html"><em>voidfractionModel_trilinearVoidFraction</em></a></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
2
doc/_build/html/IOModel_trackIO.html
vendored
2
doc/_build/html/IOModel_trackIO.html
vendored
@ -152,7 +152,7 @@
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The trackIO-model is based on sophIO model and additionally writes fields necessary to use the particleTracks utility (which needs a particleTrackProperties file in the constant dir). The particleTracks utility generates tracks of the particles and writes them to a vtk file.</p>
|
||||
<p>The trackIO-model writes in addition to basicIO fields the particleID from LIGGGHTS. This id can be used with Paraviews TemporalParticlesToPathlines filter to generate particle path-lines in post-processing.</p>
|
||||
</div>
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2>
|
||||
|
||||
197
doc/_build/html/_sources/CFDEMcoupling_Manual.txt
vendored
197
doc/_build/html/_sources/CFDEMcoupling_Manual.txt
vendored
@ -160,6 +160,10 @@ Installation
|
||||
|
||||
|
||||
|
||||
.. _LigLinkCreate: https://www.cfdem.com/media/DEM/docu/Section_start.html#steps-to-build-a-liggghts-r-public-executable
|
||||
|
||||
|
||||
|
||||
|
||||
----------
|
||||
|
||||
@ -254,7 +258,7 @@ Look for the git commit hashtag in the following line:
|
||||
.. parsed-literal::
|
||||
|
||||
word OFversion="<OF-Release>-commit-<commitHashtag>";
|
||||
e.g. word OFversion="3.0.x-commit-ac3f6c67e02f0aac3777c27f9fb7558fc3536e37";
|
||||
e.g. word OFversion="5.x-commit-538044ac05c4672b37c7df607dca1116fa88df88";
|
||||
|
||||
With git you can use the following recipe to get the correct version:
|
||||
|
||||
@ -270,7 +274,7 @@ With git you can use the following recipe to get the correct version:
|
||||
|
||||
Without git you can visit git://github.com/OpenFOAM/OpenFOAM-<OF-Release>/tree/<commitHashtag> and use the download button.
|
||||
|
||||
Other OpenFOAM® versions can be used for compilation, but aren't officially supported. The list includes 4.x, 2.4.x, 1612+, 1606+ and extend-3.2
|
||||
Other OpenFOAM® versions can be used for compilation, but aren't officially supported. The list includes 4.x, 3.x, 2.4.x, 1612+, 1606+ and extend-3.2
|
||||
|
||||
|
||||
----------
|
||||
@ -427,6 +431,15 @@ Changes in $CFDEM_TUT_DIR might be lost after every *git stash*.
|
||||
You can run all the tutorial cases by executing the alias cfdemTestTUT.
|
||||
Alternatively you can run each tutorial using the *Allrun.sh* scripts in the tutorial directories.
|
||||
|
||||
To run pure LIGGGHTS® cases, you can use the aliases
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
cfdemLiggghts inputScriptName
|
||||
cfdemLiggghtsPar inputScriptName nOfProcs
|
||||
|
||||
or you can set a link in /usr/local/bin to the LIGGGHTS® executable as described in the `LIGGGHTS®documentation <LigLinkCreate_>`_ .
|
||||
|
||||
|
||||
----------
|
||||
|
||||
@ -468,6 +481,7 @@ src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H
|
||||
* :ref:`Setup and compile OpenFOAM® <ainstall_5>`
|
||||
* :ref:`Set environment variables and paths <ainstall_6>`
|
||||
* :ref:`Compile LIGGGHTS® and CFDEM®coupling <ainstall_7>`
|
||||
* :ref:`Compiling OpenFOAM®, LIGGGHTS® and CFDEM®coupling in debug mode <ainstall_8>`
|
||||
|
||||
|
||||
----------
|
||||
@ -600,6 +614,18 @@ LIGGGHTS® is included into CFDEM®coupling by the creation of a symbolic link i
|
||||
----------
|
||||
|
||||
|
||||
.. _ainstall_8:
|
||||
|
||||
**Compiling OpenFOAM®, LIGGGHTS® and CFDEM®coupling in debug mode**
|
||||
|
||||
Set the WM_COMPILE_OPTION parameter in the OF bashrc to "Debug" and compile OF with the Allwmake script.
|
||||
If you are using the LIGGGHTS® auto Makefile, simply compile LIGGGHTS® and CFDEM®coupling with "cfdemCompCFDEMall". CFDEM®coupling detects the OpenFOAM® variable compiles LIGGGHTS® in debug mode. The coupling itself is compiled with OpenFOAM®s wmake, so this is automatically taken care of.
|
||||
If you aren't using the auto Makefile, you need to make sure the "-O0 -g" or "-O2 -g" compilation parameters are set properly within the LIGGGHTS®-Makefile.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _footnotes:
|
||||
|
||||
**Footnotes:**
|
||||
@ -670,6 +696,7 @@ The dictionary is divided into two parts, "sub-models & settings" and "sub-model
|
||||
|
||||
In "sub-models & settings" the following routines must be specified:
|
||||
|
||||
* solveFlow
|
||||
* modelType
|
||||
* couplingInterval
|
||||
* voidFractionModel
|
||||
@ -691,6 +718,12 @@ In "sub-model properties" sub-dictionaries might be defined to specify model spe
|
||||
|
||||
Reasonable example settings for the "couplingProperties" dictionary are given in the tutorial cases.
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
solveFlow
|
||||
|
||||
The solveFlow switch determines, whether the fluid equations are solved or not. By setting solveFlow to false, the fluid solver becomes inactive.
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
modelType
|
||||
@ -751,85 +784,87 @@ Models/Solvers
|
||||
This section lists all CFDEMcoupling sub-models and solvers alphabetically, with a separate
|
||||
listing below of styles within certain commands.
|
||||
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`IOModel <IOModel>` | :doc:`IOModel_basicIO <IOModel_basicIO>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`IOModel_noIO <IOModel_noIO>` | :doc:`IOModel_sophIO <IOModel_sophIO>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`IOModel_trackIO <IOModel_trackIO>` | :doc:`averagingModel <averagingModel>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`averagingModel_dense <averagingModel_dense>` | :doc:`averagingModel_dilute <averagingModel_dilute>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`cfdemSolverIB <cfdemSolverIB>` | :doc:`cfdemSolverPiso <cfdemSolverPiso>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`cfdemSolverPisoSTM <cfdemSolverPisoSTM>` | :doc:`cfdemSolverPisoScalar <cfdemSolverPisoScalar>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`clockModel <clockModel>` | :doc:`clockModel_noClock <clockModel_noClock>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`clockModel_standardClock <clockModel_standardClock>` | :doc:`couple/cfd <fix_couple_cfd>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`couple/cfd/force <fix_couple_cfd_force>` | :doc:`couple/cfd/force/implicit <fix_couple_cfd_force_implicit>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`dataExchangeModel <dataExchangeModel>` | :doc:`dataExchangeModel_noDataExchange <dataExchangeModel_noDataExchange>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`dataExchangeModel_oneWayVTK <dataExchangeModel_oneWayVTK>` | :doc:`dataExchangeModel_twoWayFiles <dataExchangeModel_twoWayFiles>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`dataExchangeModel_twoWayMPI <dataExchangeModel_twoWayMPI>` | :doc:`forceModel <forceModel>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_Archimedes <forceModel_Archimedes>` | :doc:`forceModel_ArchimedesIB <forceModel_ArchimedesIB>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_DiFeliceDrag <forceModel_DiFeliceDrag>` | :doc:`forceModel_GidaspowDrag <forceModel_GidaspowDrag>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_KochHillDrag <forceModel_KochHillDrag>` | :doc:`forceModel_LaEuScalarTemp <forceModel_LaEuScalarTemp>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_MeiLift <forceModel_MeiLift>` | :doc:`forceModel_SchillerNaumannDrag <forceModel_SchillerNaumannDrag>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_ShirgaonkarIB <forceModel_ShirgaonkarIB>` | :doc:`forceModel_checkCouplingInterval <forceModel_checkCouplingInterval>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_fieldStore <forceModel_fieldStore>` | :doc:`forceModel_fieldTimeAverage <forceModel_fieldTimeAverage>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_gradPForce <forceModel_gradPForce>` | :doc:`forceModel_noDrag <forceModel_noDrag>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_particleCellVolume <forceModel_particleCellVolume>` | :doc:`forceModel_particleVolume <forceModel_particleVolume>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_scalarGeneralExchange <forceModel_scalarGeneralExchange>` | :doc:`forceModel_virtualMassForce <forceModel_virtualMassForce>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_viscForce <forceModel_viscForce>` | :doc:`forceModel_volWeightedAverage <forceModel_volWeightedAverage>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`forceSubModel <forceSubModel>` | :doc:`forceSubModel_ImEx <forceSubModel_ImEx>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`liggghtsCommandModel <liggghtsCommandModel>` | :doc:`liggghtsCommandModel_execute <liggghtsCommandModel_execute>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`liggghtsCommandModel_readLiggghtsData <liggghtsCommandModel_readLiggghtsData>` | :doc:`liggghtsCommandModel_runLiggghts <liggghtsCommandModel_runLiggghts>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`liggghtsCommandModel_setDEMGravity <liggghtsCommandModel_setDEMGravity>` | :doc:`liggghtsCommandModel_writeLiggghts <liggghtsCommandModel_writeLiggghts>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`locateModel <locateModel>` | :doc:`locateModel_engineSearch <locateModel_engineSearch>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`locateModel_engineSearchIB <locateModel_engineSearchIB>` | :doc:`locateModel_standardSearch <locateModel_standardSearch>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`meshMotionModel <meshMotionModel>` | :doc:`meshMotionModel_noMeshMotion <meshMotionModel_noMeshMotion>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`momCoupleModel <momCoupleModel>` | :doc:`momCoupleModel_explicitCouple <momCoupleModel_explicitCouple>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`momCoupleModel_implicitCouple <momCoupleModel_implicitCouple>` | :doc:`momCoupleModel_noCouple <momCoupleModel_noCouple>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`probeModel <probeModel>` | :doc:`probeModel_noProbe <probeModel_noProbe>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`probeModel_particleProbe <probeModel_particleProbe>` | :doc:`scalarTransportModel <scalarTransportModel>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`scalarTransportModel_generalManual <scalarTransportModel_generalManual>` | :doc:`smoothingModel <smoothingModel>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`smoothingModel_constDiffSmoothing <smoothingModel_constDiffSmoothing>` | :doc:`smoothingModel_noSmoothing <smoothingModel_noSmoothing>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`voidfractionModel <voidFractionModel>` | :doc:`voidfractionModel_GaussVoidFraction <voidFractionModel_GaussVoidFraction>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`voidfractionModel_IBVoidFraction <voidFractionModel_IBVoidFraction>` | :doc:`voidfractionModel_bigParticleVoidFraction <voidFractionModel_bigParticleVoidFraction>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`voidfractionModel_centreVoidFraction <voidFractionModel_centreVoidFraction>` | :doc:`voidfractionModel_dividedVoidFraction <voidFractionModel_dividedVoidFraction>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
| :doc:`voidfractionModel_noVoidFractionVoidFraction <voidFractionModel_noVoidFraction>` | :doc:`voidfractionModel_trilinearVoidFraction <voidFractionModel_trilinearVoidFraction>` |
|
||||
+----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`IOModel <IOModel>` | :doc:`IOModel_basicIO <IOModel_basicIO>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`IOModel_noIO <IOModel_noIO>` | :doc:`IOModel_sophIO <IOModel_sophIO>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`IOModel_trackIO <IOModel_trackIO>` | :doc:`averagingModel <averagingModel>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`averagingModel_dense <averagingModel_dense>` | :doc:`averagingModel_dilute <averagingModel_dilute>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`cfdemSolverIB <cfdemSolverIB>` | :doc:`cfdemSolverPiso <cfdemSolverPiso>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`cfdemSolverPisoSTM <cfdemSolverPisoSTM>` | :doc:`cfdemSolverPisoScalar <cfdemSolverPisoScalar>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`clockModel <clockModel>` | :doc:`clockModel_noClock <clockModel_noClock>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`clockModel_standardClock <clockModel_standardClock>` | :doc:`couple/cfd <fix_couple_cfd>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`couple/cfd/force <fix_couple_cfd_force>` | :doc:`couple/cfd/force/implicit <fix_couple_cfd_force_implicit>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`dataExchangeModel <dataExchangeModel>` | :doc:`dataExchangeModel_noDataExchange <dataExchangeModel_noDataExchange>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`dataExchangeModel_oneWayVTK <dataExchangeModel_oneWayVTK>` | :doc:`dataExchangeModel_twoWayFiles <dataExchangeModel_twoWayFiles>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`dataExchangeModel_twoWayMPI <dataExchangeModel_twoWayMPI>` | :doc:`forceModel <forceModel>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_Archimedes <forceModel_Archimedes>` | :doc:`forceModel_ArchimedesIB <forceModel_ArchimedesIB>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_DiFeliceDrag <forceModel_DiFeliceDrag>` | :doc:`forceModel_GidaspowDrag <forceModel_GidaspowDrag>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_KochHillDrag <forceModel_KochHillDrag>` | :doc:`forceModel_LaEuScalarTemp <forceModel_LaEuScalarTemp>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_MeiLift <forceModel_MeiLift>` | :doc:`forceModel_SchillerNaumannDrag <forceModel_SchillerNaumannDrag>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_ShirgaonkarIB <forceModel_ShirgaonkarIB>` | :doc:`forceModel_checkCouplingInterval <forceModel_checkCouplingInterval>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_fieldStore <forceModel_fieldStore>` | :doc:`forceModel_fieldTimeAverage <forceModel_fieldTimeAverage>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_gradPForce <forceModel_gradPForce>` | :doc:`forceModel_noDrag <forceModel_noDrag>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_particleCellVolume <forceModel_particleCellVolume>` | :doc:`forceModel_particleVolume <forceModel_particleVolume>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_scalarGeneralExchange <forceModel_scalarGeneralExchange>` | :doc:`forceModel_virtualMassForce <forceModel_virtualMassForce>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceModel_viscForce <forceModel_viscForce>` | :doc:`forceModel_volWeightedAverage <forceModel_volWeightedAverage>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`forceSubModel <forceSubModel>` | :doc:`forceSubModel_ImEx <forceSubModel_ImEx>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`fvOptions_meanSupVelocityForce <fvOptions_meanSupVelocityForce>` | :doc:`liggghtsCommandModel <liggghtsCommandModel>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`liggghtsCommandModel_execute <liggghtsCommandModel_execute>` | :doc:`liggghtsCommandModel_readLiggghtsData <liggghtsCommandModel_readLiggghtsData>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`liggghtsCommandModel_runLiggghts <liggghtsCommandModel_runLiggghts>` | :doc:`liggghtsCommandModel_setDEMGravity <liggghtsCommandModel_setDEMGravity>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`liggghtsCommandModel_writeLiggghts <liggghtsCommandModel_writeLiggghts>` | :doc:`locateModel <locateModel>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`locateModel_engineSearch <locateModel_engineSearch>` | :doc:`locateModel_engineSearchIB <locateModel_engineSearchIB>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`locateModel_standardSearch <locateModel_standardSearch>` | :doc:`meshMotionModel <meshMotionModel>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`meshMotionModel_noMeshMotion <meshMotionModel_noMeshMotion>` | :doc:`momCoupleModel <momCoupleModel>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`momCoupleModel_explicitCouple <momCoupleModel_explicitCouple>` | :doc:`momCoupleModel_implicitCouple <momCoupleModel_implicitCouple>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`momCoupleModel_noCouple <momCoupleModel_noCouple>` | :doc:`probeModel <probeModel>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`probeModel_noProbe <probeModel_noProbe>` | :doc:`probeModel_particleProbe <probeModel_particleProbe>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`scalarTransportModel <scalarTransportModel>` | :doc:`scalarTransportModel_generalManual <scalarTransportModel_generalManual>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`smoothingModel <smoothingModel>` | :doc:`smoothingModel_constDiffSmoothing <smoothingModel_constDiffSmoothing>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`smoothingModel_noSmoothing <smoothingModel_noSmoothing>` | :doc:`voidfractionModel <voidFractionModel>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`voidfractionModel_GaussVoidFraction <voidFractionModel_GaussVoidFraction>` | :doc:`voidfractionModel_IBVoidFraction <voidFractionModel_IBVoidFraction>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`voidfractionModel_bigParticleVoidFraction <voidFractionModel_bigParticleVoidFraction>` | :doc:`voidfractionModel_centreVoidFraction <voidFractionModel_centreVoidFraction>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`voidfractionModel_dividedVoidFraction <voidFractionModel_dividedVoidFraction>` | :doc:`voidfractionModel_noVoidFractionVoidFraction <voidFractionModel_noVoidFraction>` |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
| :doc:`voidfractionModel_trilinearVoidFraction <voidFractionModel_trilinearVoidFraction>` | |
|
||||
+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||||
|
||||
|
||||
.. _liws: http://www.cfdem.com
|
||||
|
||||
2
doc/_build/html/_sources/IOModel_trackIO.txt
vendored
2
doc/_build/html/_sources/IOModel_trackIO.txt
vendored
@ -22,7 +22,7 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
The trackIO-model is based on sophIO model and additionally writes fields necessary to use the particleTracks utility (which needs a particleTrackProperties file in the constant dir). The particleTracks utility generates tracks of the particles and writes them to a vtk file.
|
||||
The trackIO-model writes in addition to basicIO fields the particleID from LIGGGHTS. This id can be used with Paraviews TemporalParticlesToPathlines filter to generate particle path-lines in post-processing.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
2
doc/_build/html/_sources/forceModel.txt
vendored
2
doc/_build/html/_sources/forceModel.txt
vendored
@ -44,7 +44,7 @@ Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
Most force models are ready to be used with coarse graining. If any force model used in the simulation is not ready for coarse graining, but is used with coarse graining, a warning is written to the terminal (log file). Setting a flag "cgWarnOnly false;" in coupling properties, the simulation will be stopped if there is a violation.
|
||||
Most force models are ready to be used with coarse graining. If any force model used in the simulation is not ready for coarse graining, but is used with coarse graining, the simulation is stopped. Setting a flag "cgWarnOnly true;" in coupling properties, the simulation will print a warning to the terminal (log file).
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -30,8 +30,8 @@ Defined in couplingProperties dictionary.
|
||||
* *bool1* = (optional, default true) switch to warn or stop simulation if criterion is broken.
|
||||
* *word1* = (optional, default U) name of velocity field.
|
||||
* *scalar1* = particle density assumed for calculation of the particle relaxation time
|
||||
* *scalar2* = (optional, default=50) maximum allowed CFL number.
|
||||
* *scalar3* = (optional, default=50) maximum allowed particle coupling CFL number.
|
||||
* *scalar2* = (optional, default=1) maximum allowed CFL number.
|
||||
* *scalar3* = (optional, default=1) maximum allowed particle coupling CFL number.
|
||||
* *scalar4* = (optional, default=0.005) maximum allowed ratio of coupling time to particle relaxation time.
|
||||
* *scalar5* = maximum expected velocity fluid velocity (e.g. due to BCs) - used for CFL estimation.
|
||||
* *scalar6* = (optional, default=3) min allowed volume ratio of cell / particle.
|
||||
|
||||
@ -19,12 +19,10 @@ noDragProps
|
||||
{
|
||||
noDEMForce "switch1";
|
||||
keepCFDForce "switch2";
|
||||
treatForceExplicit "switch3";
|
||||
}
|
||||
|
||||
* *switch1* = (optional, default false) do not apply the previously calculated forces in DEM integration
|
||||
* *switch2* = (optional, default false) do not delete the previously calculated forces and use them in CFD source terms
|
||||
* *switch3* = (optional, default false) sub model switch, see :doc:`forceSubModel <forceSubModel>` for details
|
||||
* *switch1* = (optional, default false) do not apply the previously calculated forces (implicitly and explicitly treated) in DEM integration
|
||||
* *switch2* = (optional, default false) do not delete the previously calculated forces (implicitly and explicitly treated) and use them in CFD source terms
|
||||
|
||||
|
||||
Examples
|
||||
|
||||
24
doc/_build/html/_sources/fvOptions.txt
vendored
Normal file
24
doc/_build/html/_sources/fvOptions.txt
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
fvOptions dictionary
|
||||
====================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
An fvOptions dictionary ca be used to impose physics that can be represented as forces or constraints on the governing equations, such as for example porous media or imposed flow velocities.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
No known restrictions.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
|
||||
.. _liws: http://www.cfdem.com
|
||||
.. _ld: Manual.html
|
||||
.. _lc: Section_commands.html#comm
|
||||
60
doc/_build/html/_sources/fvOptions_meanSupVelocityForce.txt
vendored
Normal file
60
doc/_build/html/_sources/fvOptions_meanSupVelocityForce.txt
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
.. index:: fvOptions_meanSupVelocityForce
|
||||
|
||||
fvOptions_meanSupVelocityForce command
|
||||
======================================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
Defined in an fvOptions dictionary in the system folder of the CFD case. Can only be applied if solver is able to handle fvOptions.
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fvOptions uniformFixedValueVoidfraction;
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
momentumSource
|
||||
{
|
||||
type meanSupVelocityForce;
|
||||
active yes;
|
||||
meanSupVelocityForceCoeffs
|
||||
{
|
||||
seletionMode all; // all and cellZoneSet is permitted
|
||||
fieldNames (U); // velocity field
|
||||
twoPhase true; // refers to the number of fluid/liquid phases
|
||||
alphaField alpha.water; // mandatory if twoPhase is set to true
|
||||
coupled true; // refers to the presence of a particle phase
|
||||
voidfractionField voidfraction; // mandatory if coupled is set to true
|
||||
Ubar (1 0 0); // desired mean superficial velocity
|
||||
relaxation 0.9; // optional relaxation factor;
|
||||
alphaMin 0.9999; // settings will only take place in cells with alpha >= alphaMin (smoothening)
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
The fvOption meanSupVelocityForce can be used to impose an average superficial velocity within a specific area (either defined by all when the whole domain is affected or the name of the according cellZoneSet), while at the same time accounting for the resulting pressure drop. The fvOption can be used for fluid/fluid, fluid/particle and fluid/fluid/particle cases, whereas Ubar can only be imposed to one of the fluid phases. Application examples are periodic channel flow situations or pumps within the computational domain. Please note that particularly for periodic channel flows instabilities might occur at the air-water interface due to the big differences in the densities. For such cases a cutoff-vlaue alphaMin has been introduced, which allows the user to restrict the affected area by means of a minimal phase fraction.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
No known restrictions.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fvOptions <fvOptions>`
|
||||
|
||||
|
||||
.. _liws: http://www.cfdem.com
|
||||
.. _ld: Manual.html
|
||||
.. _lc: Section_commands.html#comm
|
||||
@ -28,7 +28,7 @@ Defined in liggghtsCommmands dictionary.
|
||||
verbose;
|
||||
}
|
||||
|
||||
* *command* = LIGGGHTS command to be executed. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation)
|
||||
* *command* = LIGGGHTS command to be executed. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation). For using arbitrary labels and number use the placeholders label and number in the command and define them in a labels and scalars section below the command (see example below). For using pathes within commands, particular keywords are provided (details see description)
|
||||
* *switch1* = switch (choose on/off) if the command is executed only at first time step
|
||||
* *switch2* = switch (choose on/off) if the command is executed only at last time step
|
||||
* *switch3* = switch (choose on/off) if the command is executed at every coupling step
|
||||
@ -45,6 +45,7 @@ Examples
|
||||
(
|
||||
execute
|
||||
execute
|
||||
execute
|
||||
);
|
||||
executeProps0
|
||||
{
|
||||
@ -75,11 +76,42 @@ Examples
|
||||
runEveryCouplingStep off;
|
||||
runEveryWriteStep on;
|
||||
}
|
||||
executeProps3
|
||||
{
|
||||
command
|
||||
(
|
||||
create_atoms
|
||||
label
|
||||
single
|
||||
number
|
||||
number
|
||||
number
|
||||
units
|
||||
box
|
||||
);
|
||||
labels
|
||||
(
|
||||
1
|
||||
);
|
||||
scalars
|
||||
(
|
||||
0.
|
||||
0.
|
||||
0.001
|
||||
);
|
||||
runFirst off;
|
||||
runLast off;
|
||||
runEveryCouplingStep off;
|
||||
runEveryWriteStep off;
|
||||
startTime 0.09;
|
||||
endTime 0.09;
|
||||
timeInterval 0.001;
|
||||
}
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
The execute liggghtsCommand Model can be used to execute a LIGGGHTS command during a CFD run. In above example execute_0 for instance executes "run $couplingInterval" every coupling step. $couplingInterval is automatically replaced by the correct number of DEM steps. Additionally execute_1 executes "write_restart ../DEM/liggghts.restart_$timeStamp" every writing step, where $timeStamp is automatically set.
|
||||
The execute liggghtsCommand Model can be used to execute a LIGGGHTS command during a CFD run. In above example execute_0 for instance executes "run $couplingInterval" every coupling step. $couplingInterval is automatically replaced by the correct number of DEM steps. Additionally execute_1 executes "write_restart ../DEM/liggghts.restart_$timeStamp" every writing step, where $timeStamp is automatically set. The keywords used in the command (dot, dotdot, slash) are replaced by the according signs internally, noBlanks inidicates the the following words are not separated by blanks. Using the keyword blanks would re-enable the usage of blanks again.
|
||||
|
||||
These rather complex execute commands can be replaced by the "readLiggghts" and "writeLiggghts" commands!
|
||||
---------------------------------------------------------------------------------------------------------
|
||||
|
||||
@ -22,6 +22,7 @@ liggghtsCommandModels
|
||||
endTime scalar2;
|
||||
timeInterval scalar3;
|
||||
verbose;
|
||||
unfix switch2;
|
||||
}
|
||||
|
||||
* *switch1* = switch (must be on!!!) to select if executed only first step.
|
||||
@ -29,6 +30,7 @@ liggghtsCommandModels
|
||||
* *scalar2* = end time of command (use simulation start time)
|
||||
* *scalar3* = time interval of command (use 1.)
|
||||
*verbose* = (normally off) for verbose run
|
||||
* *switch2* = (false by default) switch to select if the command is used as fix (default) or unfix
|
||||
|
||||
|
||||
Examples
|
||||
@ -48,6 +50,7 @@ Examples
|
||||
endTime 0;
|
||||
timeInterval 1;
|
||||
verbose;
|
||||
unfix false;
|
||||
}
|
||||
|
||||
Description
|
||||
|
||||
2
doc/_build/html/forceModel.html
vendored
2
doc/_build/html/forceModel.html
vendored
@ -172,7 +172,7 @@
|
||||
</div>
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Most force models are ready to be used with coarse graining. If any force model used in the simulation is not ready for coarse graining, but is used with coarse graining, a warning is written to the terminal (log file). Setting a flag “cgWarnOnly false;” in coupling properties, the simulation will be stopped if there is a violation.</p>
|
||||
<p>Most force models are ready to be used with coarse graining. If any force model used in the simulation is not ready for coarse graining, but is used with coarse graining, the simulation is stopped. Setting a flag “cgWarnOnly true;” in coupling properties, the simulation will print a warning to the terminal (log file).</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2>
|
||||
|
||||
@ -162,8 +162,8 @@ checkCouplingIntervalProps
|
||||
<li><em>bool1</em> = (optional, default true) switch to warn or stop simulation if criterion is broken.</li>
|
||||
<li><em>word1</em> = (optional, default U) name of velocity field.</li>
|
||||
<li><em>scalar1</em> = particle density assumed for calculation of the particle relaxation time</li>
|
||||
<li><em>scalar2</em> = (optional, default=50) maximum allowed CFL number.</li>
|
||||
<li><em>scalar3</em> = (optional, default=50) maximum allowed particle coupling CFL number.</li>
|
||||
<li><em>scalar2</em> = (optional, default=1) maximum allowed CFL number.</li>
|
||||
<li><em>scalar3</em> = (optional, default=1) maximum allowed particle coupling CFL number.</li>
|
||||
<li><em>scalar4</em> = (optional, default=0.005) maximum allowed ratio of coupling time to particle relaxation time.</li>
|
||||
<li><em>scalar5</em> = maximum expected velocity fluid velocity (e.g. due to BCs) - used for CFL estimation.</li>
|
||||
<li><em>scalar6</em> = (optional, default=3) min allowed volume ratio of cell / particle.</li>
|
||||
|
||||
8
doc/_build/html/forceModel_noDrag.html
vendored
8
doc/_build/html/forceModel_noDrag.html
vendored
@ -150,13 +150,11 @@
|
||||
{</p>
|
||||
<blockquote>
|
||||
<div>noDEMForce “switch1”;
|
||||
keepCFDForce “switch2”;
|
||||
treatForceExplicit “switch3”;</div></blockquote>
|
||||
keepCFDForce “switch2”;</div></blockquote>
|
||||
<p>}</p>
|
||||
<ul class="simple">
|
||||
<li><em>switch1</em> = (optional, default false) do not apply the previously calculated forces in DEM integration</li>
|
||||
<li><em>switch2</em> = (optional, default false) do not delete the previously calculated forces and use them in CFD source terms</li>
|
||||
<li><em>switch3</em> = (optional, default false) sub model switch, see <a class="reference internal" href="forceSubModel.html"><em>forceSubModel</em></a> for details</li>
|
||||
<li><em>switch1</em> = (optional, default false) do not apply the previously calculated forces (implicitly and explicitly treated) in DEM integration</li>
|
||||
<li><em>switch2</em> = (optional, default false) do not delete the previously calculated forces (implicitly and explicitly treated) and use them in CFD source terms</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="examples">
|
||||
|
||||
214
doc/_build/html/fvOptions.html
vendored
Normal file
214
doc/_build/html/fvOptions.html
vendored
Normal file
@ -0,0 +1,214 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
||||
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<title>fvOptions dictionary — CFDEMcoupling v3.X documentation</title>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="top" title="CFDEMcoupling v3.X documentation" href="index.html"/>
|
||||
|
||||
|
||||
<script src="_static/js/modernizr.min.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
|
||||
|
||||
|
||||
<a href="CFDEMcoupling_Manual.html" class="icon icon-home"> CFDEMcoupling
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
v3.X
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
<!-- Local TOC -->
|
||||
<div class="local-toc"><ul>
|
||||
<li><a class="reference internal" href="#">fvOptions dictionary</a><ul>
|
||||
<li><a class="reference internal" href="#syntax">Syntax</a></li>
|
||||
<li><a class="reference internal" href="#description">Description</a></li>
|
||||
<li><a class="reference internal" href="#restrictions">Restrictions</a></li>
|
||||
<li><a class="reference internal" href="#related-commands">Related commands</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="CFDEMcoupling_Manual.html">CFDEMcoupling</a>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="CFDEMcoupling_Manual.html">Docs</a> »</li>
|
||||
|
||||
<li>fvOptions dictionary</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
|
||||
<a href="http://www.cfdem.com"> Website</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="fvoptions-dictionary">
|
||||
<h1>fvOptions dictionary<a class="headerlink" href="#fvoptions-dictionary" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="section" id="syntax">
|
||||
<h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
|
||||
<p>An fvOptions dictionary ca be used to impose physics that can be represented as forces or constraints on the governing equations, such as for example porous media or imposed flow velocities.</p>
|
||||
</div>
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2>
|
||||
<p>No known restrictions.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© Copyright 2016, DCS Computing GmbH, JKU Linz.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT:'./',
|
||||
VERSION:'v3.X',
|
||||
COLLAPSE_INDEX:false,
|
||||
FILE_SUFFIX:'.html',
|
||||
HAS_SOURCE: true
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript" src="_static/jquery.js"></script>
|
||||
<script type="text/javascript" src="_static/underscore.js"></script>
|
||||
<script type="text/javascript" src="_static/doctools.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="_static/js/theme.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.StickyNav.enable();
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
244
doc/_build/html/fvOptions_meanSupVelocityForce.html
vendored
Normal file
244
doc/_build/html/fvOptions_meanSupVelocityForce.html
vendored
Normal file
@ -0,0 +1,244 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
||||
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<title>fvOptions_meanSupVelocityForce command — CFDEMcoupling v3.X documentation</title>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="top" title="CFDEMcoupling v3.X documentation" href="index.html"/>
|
||||
|
||||
|
||||
<script src="_static/js/modernizr.min.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
|
||||
|
||||
|
||||
<a href="CFDEMcoupling_Manual.html" class="icon icon-home"> CFDEMcoupling
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
v3.X
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
<!-- Local TOC -->
|
||||
<div class="local-toc"><ul>
|
||||
<li><a class="reference internal" href="#">fvOptions_meanSupVelocityForce command</a><ul>
|
||||
<li><a class="reference internal" href="#syntax">Syntax</a></li>
|
||||
<li><a class="reference internal" href="#examples">Examples</a></li>
|
||||
<li><a class="reference internal" href="#description">Description</a></li>
|
||||
<li><a class="reference internal" href="#restrictions">Restrictions</a></li>
|
||||
<li><a class="reference internal" href="#related-commands">Related commands</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="CFDEMcoupling_Manual.html">CFDEMcoupling</a>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="CFDEMcoupling_Manual.html">Docs</a> »</li>
|
||||
|
||||
<li>fvOptions_meanSupVelocityForce command</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
|
||||
<a href="http://www.cfdem.com"> Website</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<div class="section" id="fvoptions-meansupvelocityforce-command">
|
||||
<span id="index-0"></span><h1>fvOptions_meanSupVelocityForce command<a class="headerlink" href="#fvoptions-meansupvelocityforce-command" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="section" id="syntax">
|
||||
<h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Defined in an fvOptions dictionary in the system folder of the CFD case. Can only be applied if solver is able to handle fvOptions.</p>
|
||||
<div class="highlight-python"><div class="highlight"><pre>fvOptions uniformFixedValueVoidfraction;
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="examples">
|
||||
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python"><div class="highlight"><pre>momentumSource
|
||||
{
|
||||
type meanSupVelocityForce;
|
||||
active yes;
|
||||
meanSupVelocityForceCoeffs
|
||||
{
|
||||
seletionMode all; // all and cellZoneSet is permitted
|
||||
fieldNames (U); // velocity field
|
||||
twoPhase true; // refers to the number of fluid/liquid phases
|
||||
alphaField alpha.water; // mandatory if twoPhase is set to true
|
||||
coupled true; // refers to the presence of a particle phase
|
||||
voidfractionField voidfraction; // mandatory if coupled is set to true
|
||||
Ubar (1 0 0); // desired mean superficial velocity
|
||||
relaxation 0.9; // optional relaxation factor;
|
||||
alphaMin 0.9999; // settings will only take place in cells with alpha >= alphaMin (smoothening)
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-python"><div class="highlight"><pre> }
|
||||
}
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The fvOption meanSupVelocityForce can be used to impose an average superficial velocity within a specific area (either defined by all when the whole domain is affected or the name of the according cellZoneSet), while at the same time accounting for the resulting pressure drop. The fvOption can be used for fluid/fluid, fluid/particle and fluid/fluid/particle cases, whereas Ubar can only be imposed to one of the fluid phases. Application examples are periodic channel flow situations or pumps within the computational domain. Please note that particularly for periodic channel flows instabilities might occur at the air-water interface due to the big differences in the densities. For such cases a cutoff-vlaue alphaMin has been introduced, which allows the user to restrict the affected area by means of a minimal phase fraction.</p>
|
||||
</div>
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2>
|
||||
<p>No known restrictions.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2>
|
||||
<p><a class="reference internal" href="fvOptions.html"><em>fvOptions</em></a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>
|
||||
© Copyright 2016, DCS Computing GmbH, JKU Linz.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT:'./',
|
||||
VERSION:'v3.X',
|
||||
COLLAPSE_INDEX:false,
|
||||
FILE_SUFFIX:'.html',
|
||||
HAS_SOURCE: true
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript" src="_static/jquery.js"></script>
|
||||
<script type="text/javascript" src="_static/underscore.js"></script>
|
||||
<script type="text/javascript" src="_static/doctools.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="_static/js/theme.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.StickyNav.enable();
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
4
doc/_build/html/genindex.html
vendored
4
doc/_build/html/genindex.html
vendored
@ -336,6 +336,10 @@
|
||||
<dt><a href="forceSubModel_ImEx.html#index-0">forceSubModel_ImEx</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="fvOptions_meanSupVelocityForce.html#index-0">fvOptions_meanSupVelocityForce</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
|
||||
@ -163,7 +163,7 @@ executeProps0
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><em>command</em> = LIGGGHTS command to be executed. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation)</li>
|
||||
<li><em>command</em> = LIGGGHTS command to be executed. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation). For using arbitrary labels and number use the placeholders label and number in the command and define them in a labels and scalars section below the command (see example below). For using pathes within commands, particular keywords are provided (details see description)</li>
|
||||
<li><em>switch1</em> = switch (choose on/off) if the command is executed only at first time step</li>
|
||||
<li><em>switch2</em> = switch (choose on/off) if the command is executed only at last time step</li>
|
||||
<li><em>switch3</em> = switch (choose on/off) if the command is executed at every coupling step</li>
|
||||
@ -177,6 +177,7 @@ executeProps0
|
||||
(
|
||||
execute
|
||||
execute
|
||||
execute
|
||||
);
|
||||
executeProps0
|
||||
{
|
||||
@ -207,12 +208,43 @@ executeProps1
|
||||
runEveryCouplingStep off;
|
||||
runEveryWriteStep on;
|
||||
}
|
||||
executeProps3
|
||||
{
|
||||
command
|
||||
(
|
||||
create_atoms
|
||||
label
|
||||
single
|
||||
number
|
||||
number
|
||||
number
|
||||
units
|
||||
box
|
||||
);
|
||||
labels
|
||||
(
|
||||
1
|
||||
);
|
||||
scalars
|
||||
(
|
||||
0.
|
||||
0.
|
||||
0.001
|
||||
);
|
||||
runFirst off;
|
||||
runLast off;
|
||||
runEveryCouplingStep off;
|
||||
runEveryWriteStep off;
|
||||
startTime 0.09;
|
||||
endTime 0.09;
|
||||
timeInterval 0.001;
|
||||
}
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The execute liggghtsCommand Model can be used to execute a LIGGGHTS command during a CFD run. In above example execute_0 for instance executes “run $couplingInterval” every coupling step. $couplingInterval is automatically replaced by the correct number of DEM steps. Additionally execute_1 executes “write_restart ../DEM/liggghts.restart_$timeStamp” every writing step, where $timeStamp is automatically set.</p>
|
||||
<p>The execute liggghtsCommand Model can be used to execute a LIGGGHTS command during a CFD run. In above example execute_0 for instance executes “run $couplingInterval” every coupling step. $couplingInterval is automatically replaced by the correct number of DEM steps. Additionally execute_1 executes “write_restart ../DEM/liggghts.restart_$timeStamp” every writing step, where $timeStamp is automatically set. The keywords used in the command (dot, dotdot, slash) are replaced by the according signs internally, noBlanks inidicates the the following words are not separated by blanks. Using the keyword blanks would re-enable the usage of blanks again.</p>
|
||||
<div class="section" id="these-rather-complex-execute-commands-can-be-replaced-by-the-readliggghts-and-writeliggghts-commands">
|
||||
<h3>These rather complex execute commands can be replaced by the “readLiggghts” and “writeLiggghts” commands!<a class="headerlink" href="#these-rather-complex-execute-commands-can-be-replaced-by-the-readliggghts-and-writeliggghts-commands" title="Permalink to this headline">¶</a></h3>
|
||||
</div>
|
||||
|
||||
@ -152,6 +152,7 @@
|
||||
endTime scalar2;
|
||||
timeInterval scalar3;
|
||||
verbose;
|
||||
unfix switch2;
|
||||
}
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -161,6 +162,7 @@
|
||||
<li><em>scalar2</em> = end time of command (use simulation start time)</li>
|
||||
<li><em>scalar3</em> = time interval of command (use 1.)
|
||||
<em>verbose</em> = (normally off) for verbose run</li>
|
||||
<li><em>switch2</em> = (false by default) switch to select if the command is used as fix (default) or unfix</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="examples">
|
||||
@ -177,6 +179,7 @@ setDEMGravityProps1
|
||||
endTime 0;
|
||||
timeInterval 1;
|
||||
verbose;
|
||||
unfix false;
|
||||
}
|
||||
</pre></div>
|
||||
</div>
|
||||
|
||||
BIN
doc/_build/html/objects.inv
vendored
BIN
doc/_build/html/objects.inv
vendored
Binary file not shown.
2
doc/_build/html/searchindex.js
vendored
2
doc/_build/html/searchindex.js
vendored
File diff suppressed because one or more lines are too long
@ -1,37 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
averagingModel command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
averagingModel model; :pre
|
||||
|
||||
model = name of averaging model to be applied :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
averagingModel dense;
|
||||
averagingModel dilute; :pre
|
||||
|
||||
NOTE: This examples list might not be complete - please have a look for other averaging models (averagingModel_XY) in this documentation.
|
||||
|
||||
[Description:]
|
||||
|
||||
The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities).
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
None.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"dense"_averagingModel_dense.html, "dilute"_averagingModel_dilute.html
|
||||
|
||||
[Default:] none
|
||||
@ -1,31 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
averagingModel_dense command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
averagingModel dense; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
averagingModel dense; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). In the "cfdemParticle cloud" this averaging model is used to calculate the average particle velocity inside a CFD cell. The "dense" model is supposed to be applied to cases where the granular regime is rather dense.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
No known restrictions.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"averagingModel"_averagingModel.html, "dilute"_averagingModel_dilute.html
|
||||
|
||||
@ -1,32 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
averagingModel_dilute command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
averagingModel dilute; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
averagingModel dilute; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities).
|
||||
In the "cfdemParticle cloud" this averaging model is used to calculate the average particle velocity inside a CFD cell. The "dilute" model is supposed to be applied to cases where the granular regime is rather dilute. The particle velocity inside a CFD cell is evaluated from a single particle in a cell (no averaging).
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This model is computationally efficient, but should only be used when only one particle is inside one CFD cell.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"averagingModel"_averagingModel.html, "dense"_averagingModel_dense.html
|
||||
|
||||
@ -1,44 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
cfdemSolverIB command :h3
|
||||
|
||||
[Description:]
|
||||
|
||||
"cfdemSolverIB" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework, for calculating
|
||||
the dynamics between immersed bodies and the surrounding fluid. Being an implementation of an immersed boundary method it allows tackling problems where the body diameter exceeds the maximal size of a fluid cell. Using the toolbox of OpenFOAM®(*) the governing equations of the fluid are computed and the corrections of velocity and pressure field with respect to the body-movement information, gained from LIGGGHTS, are incorporated.
|
||||
|
||||
Code of this solver contributions by Alice Hager, JKU.
|
||||
|
||||
[Algorithm:]
|
||||
|
||||
For each time step ...
|
||||
|
||||
the motion of the spheres is calculated (position, velocity, angular velocity, force...) with LIGGGHTS using the velocity and pressure-field from the previous time step (initial condition for t=0). :ulb,l
|
||||
the Navier-Stokes equations are solved on the whole computational domain, disregarding the solid phase. :l
|
||||
the spheres are located within the mesh: each sphere is represented by a cluster of cells, which are either totally or partially covered by the body, depending on its exact position. :l
|
||||
the correction of the velocity and pressure field of the fluid phase takes place, using the information about the location of the spheres and their (angular) velocity. :l
|
||||
:ule
|
||||
|
||||
[Use:]
|
||||
|
||||
The solver is realized within the Open Source framework CFDEMcoupling. Just as for the unresolved CFD-DEM solver cfdemSolverPiso the file CFD/constant/couplingProperties contains information about the settings for the different models. While IOmodel, DataExchangeModel etc. are applicable for all CFDEMcoupling-solvers, special locate-, force- and void fraction models were designed for the present case:
|
||||
|
||||
"engineSearchIB"_locateModel_engineSearchIB.html, "ArchimedesIB"_forceModel_ArchimedesIB.html, "ShirgaonkarIB"_forceModel_ShirgaonkarIB.html, "IBVoidfraction"_voidFractionModel_IBVoidFraction.html
|
||||
|
||||
[References:]
|
||||
|
||||
GONIVA, C., KLOSS, C., HAGER,A., WIERINK, G. and PIRKER, S. (2011): "A MULTI-PURPOSE OPEN SOURCE CFD-DEM APPROACH", Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway
|
||||
|
||||
and
|
||||
|
||||
HAGER, A., KLOSS, C. and GONIVA, C. (2011): "TOWARDS AN EFFICIENT IMMERSED BOUNDARY METHOD WITHIN AN OPEN SOURCE FRAMEWORK", Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway
|
||||
|
||||
:line
|
||||
(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.
|
||||
|
||||
:line
|
||||
@ -1,24 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
cfdemSolverPiso command :h3
|
||||
|
||||
[Description:]
|
||||
|
||||
"cfdemSolverPiso" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam®(*), a finite volume based solver for turbulent Navier-Stokes equations applying the PISO algorithm, "cfdemSolverPiso" has additional functionality for a coupling to the DEM code "LIGGGHTS". The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles whose trajectories are calculated in the DEM code LIGGGHTS.
|
||||
|
||||
see:
|
||||
|
||||
GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): "An Open Source CFD-DEM Perspective", Proc. of OpenFOAM Workshop, Göteborg, June 22.-24.
|
||||
|
||||
|
||||
|
||||
|
||||
:line
|
||||
(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.
|
||||
|
||||
:line
|
||||
@ -1,21 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
cfdemSolverPisoSTM command :h3
|
||||
|
||||
[Description:]
|
||||
|
||||
"cfdemSolverPisoSTM" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam®(*), a finite volume based solver for turbulent Navier-Stokes equations applying PISO algorithm, "cfdemSolverPisoSTM" has additional functionality for a coupling to the DEM code "LIGGGHTS" as well as a scalar transport equation. The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles, whose trajectories are calculated in the DEM code LIGGGHTS. Scalar transport equations coupled to scalar properties of the particle phase, (e.g. convective heat transfer) in a fluid granular system can be modeled with "cfdemSolverPisoSTM".
|
||||
|
||||
see:
|
||||
|
||||
GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): "An Open Source CFD-DEM Perspective", Proc. of OpenFOAM Workshop, Göteborg, June 22.-24.
|
||||
|
||||
:line
|
||||
(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.
|
||||
|
||||
:line
|
||||
@ -1,44 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
cfdemSolverPisoScalar command :h3
|
||||
|
||||
[Description:]
|
||||
|
||||
"cfdemSolverPisoScalar" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam®(*), a finite volume based solver for turbulent Navier-Stokes equations applying PISO algorithm, "cfdemSolverPisoScalar" has additional functionality for a coupling to the DEM code "LIGGGHTS" as well as a scalar transport equation. The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles, whose trajectories are calculated in the DEM code LIGGGHTS. The scalar transport equation is coupled to scalar properties of the particle phase, thus convective heat transfer in a fluid granular system can be modeled with "cfdemSolverPisoScalar".
|
||||
|
||||
The transport equation uses a field "alphat" to calculate local kinematic turbulent thermal conductivities based on the laminar and turbulent Prandtl numbers. There can be source terms with the field Tsource and radiation.
|
||||
|
||||
Necessary additional input is:
|
||||
|
||||
name, location, type, unit
|
||||
T, 0, scalar field, K
|
||||
Tsource, 0, scalar field, K/s
|
||||
alphat, 0, scalar field, m²/s
|
||||
Pr, transportProperties, scalar, 1
|
||||
Prt, transportProperties, scalar, 1 :tb
|
||||
|
||||
The transport equation is:
|
||||
|
||||
alphat = nut/Prt
|
||||
|
||||
alphaEff = nu/Pr + alphat
|
||||
|
||||
d(voidfraction*T)/dt + div(phi*T) - div(alphaEff*voidfraction grad(T)) = Tsource + SourceRadiation
|
||||
|
||||
see:
|
||||
|
||||
GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): "An Open Source CFD-DEM Perspective", Proc. of OpenFOAM Workshop, Göteborg, June 22.-24.
|
||||
|
||||
The heat transfer equation is implemented according to Nield & Bejan (2013), Convection in Porous Media, DOI 10.1007/978-1-4614-5541-7_2, Springer
|
||||
|
||||
|
||||
|
||||
:line
|
||||
(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.
|
||||
|
||||
:line
|
||||
@ -1,32 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
clockModel command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
clockModel model; :pre
|
||||
|
||||
model = name of the clockModel to be applied :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
clockModel standardClock; :pre
|
||||
|
||||
NOTE: This examples list might not be complete - please look for other models (clockModel_XY) in this documentation.
|
||||
|
||||
[Description:]
|
||||
|
||||
The clockModel is the base class for models to examine the code/algorithm with respect to run time.
|
||||
|
||||
Main parts of the clockModel classes are written by Josef Kerbl, JKU.
|
||||
|
||||
[Restrictions:] none.
|
||||
|
||||
[Default:] none.
|
||||
@ -1,29 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
clockModel_noClock command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
clockModel off; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
clockModel off; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The "noClock" model is a dummy clockModel model which does not measure/evaluate the run time.
|
||||
|
||||
[Restrictions:] none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"clockModel"_clockModel.html
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
clockModel_standardClock command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
clockModel standardClock; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
clockModel standardClock; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
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. There is an alias called "vizClock" to run this python routine for visualizing the data.
|
||||
|
||||
[Restrictions:] none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"clockModel"_clockModel.html
|
||||
|
||||
@ -1,39 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
dataExchangeModel command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
dataExchangeModel model; :pre
|
||||
|
||||
model = name of data exchange model to be applied :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
dataExchangeModel twoWayFiles;
|
||||
dataExchangeModel twoWayMPI; :pre
|
||||
|
||||
NOTE: This examples list might not be complete - please look for other models (dataExchangeModel_XY) in this documentation.
|
||||
|
||||
[Description:]
|
||||
|
||||
The data exchange model performs the data exchange between LIGGGHTS® and the cfdemCloud within CFDEM®coupling toolbox. The exchanged data at least consits of positions, radii, velocities and forces.
|
||||
|
||||
The twoWayMPI model is considered as the standard model, whereas the file-exchange is much slower and its purpose is debugging.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
None.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"noDataExchange"_dataExchangeModel_noDataExchange.html, "oneWayVTK"_dataExchangeModel_oneWayVTK.html, "twoWayFiles"_dataExchangeModel_twoWayFiles.html, "twoWayMPI"_dataExchangeModel_twoWayMPI.html
|
||||
|
||||
[Default:] none
|
||||
@ -1,31 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
dataExchangeModel_noDataExchange command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
dataExchangeModel noDataExchange; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
dataExchangeModel noDataExchange; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The data exchange model performs the data exchange between the DEM code and the CFD code. The noDataExchange model is a dummy model where no data is exchanged.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
None.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"dataExchangeModel"_dataExchangeModel.html
|
||||
|
||||
@ -1,51 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
dataExchangeModel_oneWayVTK command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
dataExchangeModel oneWayVTK;
|
||||
oneWayVTKProps
|
||||
\{
|
||||
DEMts timeStep;
|
||||
relativePath "path";
|
||||
couplingFilename "filename";
|
||||
maxNumberOfParticles number;
|
||||
\}; :pre
|
||||
|
||||
{timeStep} = time step size of stored DEM data :ulb,l
|
||||
{path} = path to the VTK data files relative do simulation directory :l
|
||||
{filename} = filename of the VTK file series :l
|
||||
{number} = maximum number of particles in DEM simulation :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
dataExchangeModel oneWayVTK;
|
||||
oneWayVTKProps
|
||||
\{
|
||||
DEMts 0.0001;
|
||||
relativePath "../DEM/post";
|
||||
couplingFilename "vtk_out%4.4d.vtk";
|
||||
maxNumberOfParticles 30000;
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The data exchange model performs the data exchange between the DEM code and the CFD code. The oneWayVTK model is a model that can exchange particle properties from DEM to CFD based on previously stored VTK data.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
None.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"dataExchangeModel"_dataExchangeModel.html
|
||||
|
||||
@ -1,47 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
dataExchangeModel_twoWayFiles command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
dataExchangeModel twoWayFiles;
|
||||
twoWayFilesProps
|
||||
\{
|
||||
couplingFilename "filename";
|
||||
maxNumberOfParticles scalar1;
|
||||
DEMts scalar2;
|
||||
\}; :pre
|
||||
|
||||
{filename} = filename of the VTK file series :ulb,l
|
||||
{scalar1} = maximum number of particles in DEM simulation :l
|
||||
{scalar2} = DEM time step width :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
dataExchangeModel twoWayFiles;
|
||||
twoWayFilesProps
|
||||
\{
|
||||
couplingFilename "vtk_out%4.4d.vtk";
|
||||
maxNumberOfParticles 30000;
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayFiles model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via files that are sequentially written/read by the codes.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Developed only for two processors, one for DEM and one for CFD run.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"dataExchangeModel"_dataExchangeModel.html
|
||||
|
||||
@ -1,42 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
dataExchangeModel_twoWayMPI command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
dataExchangeModel twoWayMPI;
|
||||
twoWayMPIProps
|
||||
\{
|
||||
liggghtsPath "path";
|
||||
\}; :pre
|
||||
|
||||
{path} = path to the DEM simulation input file :ulb,l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
dataExchangeModel twoWayMPI;
|
||||
twoWayMPIProps
|
||||
\{
|
||||
liggghtsPath "../DEM/in.liggghts_init";
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayMPI model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via MPI technique. The DEM run is executed by the coupling model, via a liggghtsCommandModel object.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"dataExchangeModel"_dataExchangeModel.html
|
||||
|
||||
@ -1,38 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
couple/cfd command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID couple/cfd couple_every N mpi :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
couple/cfd = style name of this fix command :l
|
||||
couple_every = obligatory keyword :l
|
||||
N = number of DEM time steps between two coupling steps :l
|
||||
mpi = mandatory keyword :ls
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix cfd all couple/cfd couple_every 1000 mpi
|
||||
|
||||
[Description:]
|
||||
|
||||
This fix is responsible for the coupling between CFD and DEM calculation, i.e. for pushing and pulling of properties.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
None.
|
||||
|
||||
[Related Commands:]
|
||||
"fix couple/cfd/force"_fix_couple_cfd_force.html
|
||||
|
||||
[Default:]
|
||||
|
||||
None
|
||||
@ -1,44 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
couple/cfd/force command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID couple/cfd/force :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
couple/cfd = style name of this fix command :l
|
||||
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force/implicit transfer_type yes
|
||||
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force/implicit transfer_property name color type scalar-atom
|
||||
|
||||
[Description:]
|
||||
|
||||
The command couple/cfd/force can only be used in combination with "fix_couple_cfd"_fix_couple_cfd.html. This model transfers the force that the fluid exceeds on each particle to the DEM calculation. At every coupling time step the force term, which contains contributions from all force models active in the CFD calculation, is passed on to LIGGGHTS®. This (constant) term is then used in the particle calculations at every DEM time step until the next coupling takes place.
|
||||
|
||||
Additional information, as the LIGGGHTS® atom_type can be transferred to the CFDEMcoupling environment with the keywork transfer_type yes. Similar keywords are transfer_density, transfer_torque and the more general transfer_property. The syntax is transfer_property name "name" type "data-type". The data-type can be scalar-atom or vector-atom and this needs to be a per atom property previously defined.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
None
|
||||
|
||||
[Related Commands:]
|
||||
"fix couple/cfd"_fix_couple_cfd.html
|
||||
|
||||
[Default:]
|
||||
|
||||
None
|
||||
@ -1,45 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
couple/cfd/force/implicit command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID couple/cfd/force/implicit args:pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
couple/cfd = style name of this fix command :l
|
||||
args = list of optional arguments :l
|
||||
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force/implicit
|
||||
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force/implicit CrankNicolson 0.5 CAddRhoFluid 0.4
|
||||
|
||||
[Description:]
|
||||
|
||||
The usage of the couple/cfd/force/implicit can only be used in combination with a "fix couple/cfd"_fix_couple_cfd.html command. At every coupling time step the drag coefficient and the fluid velocity is transferred to LIGGGHTS®. Depending on the varying particle velocity (and thus relative velocity between fluid and particles) the drag force on the particles is calculated at every DEM time step until new data is obtained in the next coupling time step.
|
||||
|
||||
If the Crank-Nicolson keyword is present, Crank-Nicolson integration scheme with given CN is applied.
|
||||
|
||||
When the CAddRhoFluid keyword is active, couple/cfd/force/implicit will consider added mass, where CAddRhoFluid = rhoFluid / rhoParticle.
|
||||
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
None
|
||||
|
||||
[Related Commands:]
|
||||
"fix couple/cfd"_fix_couple_cfd.html
|
||||
|
||||
[Default:]
|
||||
|
||||
None
|
||||
@ -1,48 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
forceModel command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
forceModels
|
||||
(
|
||||
model_x
|
||||
model_y
|
||||
); :pre
|
||||
|
||||
model = name of force model to be applied :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
forceModels
|
||||
(
|
||||
Archimedes
|
||||
DiFeliceDrag
|
||||
); :pre
|
||||
|
||||
NOTE: This examples list might not be complete - please look for other models (forceModel_XY) in this documentation.
|
||||
|
||||
[Description:]
|
||||
|
||||
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle and on each CFD cell. All force models selected are executed sequentially and the forces on the particles are superposed. If the fluid density field is needed, by default a field named "rho" will be used. Via the forceSubModel an alternative field can be chosen.
|
||||
|
||||
Some force models aren't actual force calculations, but might be used to create additional output fields.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Most force models are ready to be used with coarse graining. If any force model used in the simulation is not ready for coarse graining, but is used with coarse graining, a warning is written to the terminal (log file). Setting a flag "cgWarnOnly false;" in coupling properties, the simulation will be stopped if there is a violation.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"Archimedes"_forceModel_Archimedes.html, "DiFeliceDrag"_forceModel_DiFeliceDrag.html, "gradPForce"_forceModel_gradPForce.html, "viscForce"_forceModel_viscForce.html
|
||||
|
||||
Note: This examples list may be incomplete - please look for other models (forceModel_XY) in this documentation.
|
||||
|
||||
[Default:] none.
|
||||
@ -1,56 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
forceModel_Archimedes command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
forceModels
|
||||
(
|
||||
Archimedes
|
||||
);
|
||||
ArchimedesProps
|
||||
\{
|
||||
gravityFieldName "gravity";
|
||||
twoDimensional;
|
||||
suppressProbe switch1;
|
||||
treatForceDEM switch2;
|
||||
verbose switch3;
|
||||
\}; :pre
|
||||
|
||||
{gravity} = name of the finite volume gravity field :ulb,l
|
||||
{twoDimensional} = optional keyword for conducting a two dimensional calculation :l
|
||||
{switch1} = (optional, default false) can be used to suppress the output of the probe model :l
|
||||
{switch2} = (optional, default true) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch3} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
forceModels
|
||||
(
|
||||
Archimedes
|
||||
);
|
||||
ArchimedesProps
|
||||
\{
|
||||
gravityFieldName "g";
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The Archimedes model is a model that calculates the Archimedes' volumetric lift force stemming from density difference of fluid and particle.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"forceModel"_forceModel.html
|
||||
|
||||
@ -1,55 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
forceModel_ArchimedesIB command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
forceModels
|
||||
(
|
||||
ArchimedesIB
|
||||
);
|
||||
ArchimedesIBProps
|
||||
\{
|
||||
gravityFieldName "gravity";
|
||||
voidfractionFieldName "voidfraction";
|
||||
twoDimensional;
|
||||
treatForceExplicit switch1;
|
||||
\}; :pre
|
||||
|
||||
{gravity} = name of the finite volume gravity field :ulb,l
|
||||
{voidfraction} = name of the finite volume voidfraction field :l
|
||||
{twoDimensional} = optional keyword for conducting a two dimensional calculation :l
|
||||
{switch1} = (optional, default true) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
forceModels
|
||||
(
|
||||
ArchimedesIB
|
||||
);
|
||||
ArchimedesIBProps
|
||||
\{
|
||||
gravityFieldName "g";
|
||||
voidfractionFieldName "voidfractionNext";
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The ArchimedesIB model is a model that calculates the ArchimedesIB' volumetric lift force stemming from density difference of fluid and particle. This model is especially suited for resolved CFD-DEM simulations where the particle is represented by immersed boundary method.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Only for immersed boundary solvers.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"forceModel"_forceModel.html
|
||||
|
||||
@ -1,75 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
forceModel_DiFeliceDrag command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
forceModels
|
||||
(
|
||||
DiFeliceDrag
|
||||
);
|
||||
DiFeliceDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
voidfractionFieldName "voidfraction";
|
||||
granVelFieldName "Us";
|
||||
interpolation switch1;
|
||||
voidfractionInterpolationType "type1";
|
||||
UInterpolationType "type2";
|
||||
suppressProbe switch2;
|
||||
scale scalar1;
|
||||
scaleDrag scalar2;
|
||||
treatForceExplicit switch3;
|
||||
implForceDEM switch4;
|
||||
verbose switch5;
|
||||
scalarViscosity switch6;
|
||||
nu scalar3;
|
||||
\}; :pre
|
||||
|
||||
{U} = name of the finite volume fluid velocity field :ulb,l
|
||||
{voidfraction} = name of the finite volume voidfraction field :l
|
||||
{Us} = name of the finite volume granular velocity field :l
|
||||
{switch1} = (optional, normally off) flag to use interpolated voidfraction and velocity values :l
|
||||
{type1} = (optional, default cellPoint) interpolation type for voidfraction field :l
|
||||
{type2} = (optional, default cellPointFace) interpolation type for velocity field :l
|
||||
{switch2} = (optional, default false) can be used to suppress the output of the probe model :l
|
||||
{scalar1} = (optional) scaling of particle diameter: d_sim=scale*d_real. d_sim=(potentially coarse grained) particle diameter. scale=coarse graining factor. d_real= particle diameter as it is measured. :l
|
||||
{scalar2} = (optional) scaling factor which directly scales the drag force. :l
|
||||
{switch3} = sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch4} = sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch5} = sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch6} = sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{scalar3} = optional, only if switch6 is true :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
forceModels
|
||||
(
|
||||
DiFeliceDrag
|
||||
);
|
||||
DiFeliceDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
interpolation true;
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The DiFeliceDrag model is a model that calculates the particle based drag force following the correlation of Di Felice (see Zhou et al. (2010), JFM).
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"forceModel"_forceModel.html
|
||||
|
||||
@ -1,82 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
forceModel_GidaspowDrag command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
forceModels
|
||||
(
|
||||
GidaspowDrag
|
||||
);
|
||||
GidaspowDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
voidfractionFieldName "voidfraction";
|
||||
granVelFieldName "Us";
|
||||
phi scalar1;
|
||||
interpolation switch1;
|
||||
voidfractionInterpolationType "type1"
|
||||
UInterpolationType "type2"
|
||||
implForceDEM switch2;
|
||||
suppressProbe switch3;
|
||||
scale scalar2;
|
||||
scaleDrag scalar3;
|
||||
switchingVoidfraction scalar4;
|
||||
treatForceExplicit switch4;
|
||||
implForceDEM switch5;
|
||||
verbose switch6;
|
||||
scalarViscosity switch7;
|
||||
nu scalar5;
|
||||
\}; :pre
|
||||
|
||||
{U} = name of the finite volume fluid velocity field :ulb,l
|
||||
{voidfraction} = name of the finite volume voidfraction field :l
|
||||
{Us} = name of the finite volume cell averaged particle velocity field :l
|
||||
{scalar1} = (optional, default 1) drag correction factor :l
|
||||
{switch1} = (optional, default off) flag to use interpolated voidfraction and fluid velocity values :l
|
||||
{type1} = (optional, default cellPoint) interpolation type for voidfraction field :l
|
||||
{type2} = (optional, default cellPointFace) interpolation type for velocity field :l
|
||||
{switch2} = (optional, default false) flag to use implicit formulation of drag on DEM side:l
|
||||
{switch3} = (optional, default false) can be used to suppress the output of the probe model :l
|
||||
{scalar2} = (optional) scaling of particle diameter: d_sim=scale*d_real. d_sim=(potentially coarse grained) particle diameter. scale=coarse graining factor. d_real= particle diameter as it is measured. :l
|
||||
{scalar3} = (optional) scaling of drag law :l
|
||||
{scalar4} = (optional) voidfraction above which dilute formulation will be used :l
|
||||
{switch4} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch5} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch6} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch7} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{scalar5} = (optional, default false) optional, only if switch6 is true :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
forceModels
|
||||
(
|
||||
GidaspowDrag
|
||||
);
|
||||
GidaspowDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
voidfractionFieldName "voidfraction";
|
||||
granVelFieldName "Us";
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The GidaspowDrag model is a model that calculates the particle based drag force following the correlation of Gidaspow which is a combination of Ergun (1952) and Wen & Yu (1966) (see Zhu et al. (2007): "Discrete particle simulation of particulate systems: Theoretical developments", ChemEngScience).
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"forceModel"_forceModel.html
|
||||
|
||||
@ -1,77 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
forceModel_KochHillDrag command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
forceModels
|
||||
(
|
||||
KochHillDrag
|
||||
);
|
||||
KochHillDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
voidfractionFieldName "voidfraction";
|
||||
granVelFieldName "Us"
|
||||
interpolation "switch1";
|
||||
voidfractionInterpolationType "type1"
|
||||
UInterpolationType "type2"
|
||||
implForceDEM "switch2";
|
||||
suppressProbe "switch3";
|
||||
scale "scalar1";
|
||||
scaleDrag "scalar2";
|
||||
treatForceExplicit "switch4";
|
||||
verbose "switch5";
|
||||
implForceDEMaccumulated "switch6";
|
||||
scalarViscosity "switch7";
|
||||
nu "scalar3";
|
||||
\}; :pre
|
||||
|
||||
{U} = name of the finite volume fluid velocity field :ulb,l
|
||||
{voidfraction} = name of the finite volume voidfraction field :l
|
||||
{Us} = (optional) name of finite volume granular velocity field :l
|
||||
{switch1} = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values :l
|
||||
{type1} = (optional, default cellPoint) interpolation type for voidfraction field :l
|
||||
{type2} = (optional, default cellPointFace) interpolation type for velocity field :l
|
||||
{switch2} = (optional, normally off) flag to use implicit formulation of drag on DEM side:l
|
||||
{switch3} = (optional, default false) can be used to suppress the output of the probe model :l
|
||||
{scalar1} = (optional) scaling of particle diameter: d_sim=scale*d_real. d_sim=(potentially coarse grained) particle diameter. scale=coarse graining factor. d_real= particle diameter as it is measured. :l
|
||||
{scalar2} = (optional) scaling of drag law :l
|
||||
{switch4} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch5} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch6} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch7} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{scalar3} = optional, only if switch7 is true :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
forceModels
|
||||
(
|
||||
KochHillDrag
|
||||
);
|
||||
KochHillDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
voidfractionFieldName "voidfraction";
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The KochHillDrag model is a model that calculates the particle based drag force following the correlation of Koch & Hill (2001) (see van Buijtenen et al. (2011): "Numerical and experimental study on multiple-spout fluidized beds", ChemEngScience).
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"forceModel"_forceModel.html
|
||||
|
||||
@ -1,84 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
forceModel_LaEuScalarTemp command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
forceModels
|
||||
(
|
||||
LaEuScalarTemp
|
||||
);
|
||||
LaEuScalarTempProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
tempFieldName "T";
|
||||
voidfractionFieldName "voidfraction";
|
||||
partTempName "Temp";
|
||||
partHeatFluxName "convectiveHeatFlux";
|
||||
partHeatTransCoeffName "heatTransCoeff";
|
||||
partHeatFluidName "heatFluid";
|
||||
lambda scalar1;
|
||||
Cp scalar2;
|
||||
interpolation switch1;
|
||||
TInterpolationType "type1"
|
||||
verbose switch2;
|
||||
maxSource scalar3;
|
||||
scale scalar4;
|
||||
scalarViscosity switch3;
|
||||
nu scalar5;
|
||||
\}; :pre
|
||||
|
||||
{U} = name of the finite volume fluid velocity field :ulb,l
|
||||
{T} = name of the finite volume scalar temperature field :l
|
||||
{voidfraction} = name of the finite volume voidfraction field :l
|
||||
{Temp} = name of the DEM data representing the particles temperature :l
|
||||
{convectiveHeatFlux} = name of the DEM data representing the particle-fluid convective heat flux :l
|
||||
{heatTransCoeff} = name of heat transfer coefficient :l
|
||||
{heatFluid} =
|
||||
{scalar1} = fluid thermal conductivity \[W/(m*K)\] :l
|
||||
{scalar2} = fluid specific heat capacity \[W*s/(kg*K)\] :l
|
||||
{switch1} = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values :l
|
||||
{type1} = (optional, default cellPoint) interpolation type for T field :l
|
||||
{switch2} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{scalar3} = (optional) limit maximal turbulence :l
|
||||
{scalar4} = scaling of particle diameter: d_sim=scale*d_real. d_sim=(potentially coarse grained) particle diameter. scale=coarse graining factor. d_real= particle diameter as it is measured. :l
|
||||
{switch3} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{scalar5} = optional, only if switch3 is true :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
forceModels
|
||||
(
|
||||
LaEuScalarTemp
|
||||
);
|
||||
LaEuScalarTempProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
tempFieldName "T";
|
||||
voidfractionFieldName "voidfraction";
|
||||
partTempName "Temp";
|
||||
partHeatFluxName "convectiveHeatFlux";
|
||||
lambda 0.0256;
|
||||
Cp 1007;
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
This "forceModel" does not influence the particles or the fluid flow! Using the particles' temperature a scalar field representing "particle-fluid heatflux" is calculated. The solver then uses this source field in the scalar transport equation for the temperature. The model for convective heat transfer is based on Li and Mason (2000), A computational investigation of transient heat transfer in pneumatic transport of granular particles, Pow.Tech 112
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Goes only with cfdemSolverScalar. The force model has to be the second (!!!) model in the forces list.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"forceModel"_forceModel.html
|
||||
|
||||
@ -1,67 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
forceModel_MeiLift command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
forceModels
|
||||
(
|
||||
MeiLift
|
||||
);
|
||||
MeiLiftProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
useSecondOrderTerms;
|
||||
interpolation switch1;
|
||||
vorticityInterpolationType "type1"
|
||||
UInterpolationType "type2"
|
||||
verbose switch2;
|
||||
treatForceExplicit switch3;
|
||||
scalarViscosity switch4;
|
||||
nu scalar1;
|
||||
\}; :pre
|
||||
|
||||
{U} = name of the finite volume fluid velocity field :ulb,l
|
||||
{useSecondOrderTerms} = switch to activate second order terms in the lift force model :l
|
||||
{switch1} = switch to activate tri-linear interpolation of the flow quantities at the particle position :l
|
||||
{type1} = (optional, default cellPoint) interpolation type for vorticity field :l
|
||||
{type2} = (optional, default cellPointFace) interpolation type for velocity field :l
|
||||
{switch2} = switch to activate the report of per-particle quantities to the screen :l
|
||||
{switch3} = (optional, default true) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{switch4} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l
|
||||
{scalar1} = optional, only if switch4 is true :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
forceModels
|
||||
(
|
||||
MeiLift
|
||||
);
|
||||
MeiLiftProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
useSecondOrderTerms;
|
||||
interpolation true;
|
||||
verbose true;
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The MeiLift model calculates the lift force for each particle based on Loth and Dorgan (2009). In case the keyword "useSecondOrderTerms" is not specified, this lift force model uses the expression of McLaughlin (1991, Journal of Fluid Mechanics 224:261-274).
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
None.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"forceModel"_forceModel.html
|
||||
|
||||
@ -1,58 +0,0 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
forceModel_SchillerNaumannDrag command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
forceModels
|
||||
(
|
||||
SchillerNaumannDrag
|
||||
);
|
||||
SchillerNaumannDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
voidfractionFieldName "voidfraction";
|
||||
interpolation "bool1";
|
||||
voidfractionInterpolationType "type1"
|
||||
UInterpolationType "type2"
|
||||
implForceDEM "bool2";
|
||||
\}; :pre
|
||||
|
||||
{U} = name of the finite volume fluid velocity field :ulb,l
|
||||
{voidfraction} = name of the finite volume voidfraction field :l
|
||||
{bool1} = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values :l
|
||||
{type1} = (optional, default cellPoint) interpolation type for voidfraction field :l
|
||||
{type2} = (optional, default cellPointFace) interpolation type for velocity field :l
|
||||
{bool2} = (optional, normally off) flag to use implicit formulation of drag on DEM side:l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
forceModels
|
||||
(
|
||||
SchillerNaumannDrag
|
||||
);
|
||||
SchillerNaumannDragProps
|
||||
\{
|
||||
velFieldName "U";
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The SchillerNaumannDrag model is a model that calculates the particle based drag force following the correlation of Schiller and Naumann.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"forceModel"_forceModel.html
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user