mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
release on 2013-05-16_07-06-53
This commit is contained in:
81
README
81
README
@ -1,81 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling - Open Source CFD-DEM coupling
|
||||
|
||||
CFDEMcoupling is part of the CFDEMproject
|
||||
www.cfdem.com
|
||||
Christoph Goniva, christoph.goniva@cfdem.com
|
||||
Copyright 2009-2012 JKU Linz
|
||||
Copyright 2012- DCS Computing GmbH, Linz
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of CFDEMcoupling.
|
||||
|
||||
CFDEMcoupling is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
CFDEMcoupling is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with CFDEMcoupling; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS
|
||||
and OpenFOAM. Note: this code is not part of OpenFOAM (see DISCLAIMER).
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
CFDEM coupling provides an open source parallel coupled CFD-DEM framework
|
||||
combining the strengths of LIGGGHTS DEM code and the Open Source
|
||||
CFD package OpenFOAM(R)(*). The CFDEMcoupling toolbox allows to expand
|
||||
standard CFD solvers of OpenFOAM(R)(*) to include a coupling to the DEM
|
||||
code LIGGGHTS. In this toolbox the particle representation within the
|
||||
CFD solver is organized by "cloud" classes. Key functionalities are organised
|
||||
in sub-models (e.g. force models, data exchange models, etc.) which can easily
|
||||
be selected and combined by dictionary settings.
|
||||
|
||||
The coupled solvers run fully parallel on distributed-memory clusters.
|
||||
|
||||
Features are:
|
||||
|
||||
- its modular approach allows users to easily implement new models
|
||||
- its MPI parallelization enables to use it for large scale problems
|
||||
- the "forum"_lws on CFD-DEM gives the possibility to exchange with other
|
||||
users / developers
|
||||
- the use of GIT allows to easily update to the latest version
|
||||
- basic documentation is provided
|
||||
|
||||
The file structure:
|
||||
|
||||
- "src" directory including the source files of the coupling toolbox and models
|
||||
- "applications" directory including the solver files for coupled CFD-DEM simulations
|
||||
- "doc" directory including the documentation of CFDEMcoupling
|
||||
- "tutorials" directory including basic tutorial cases showing the functionality
|
||||
|
||||
|
||||
|
||||
Details on installation are given on the "www.cfdem.com"
|
||||
|
||||
The functionality of this CFD-DEM framwork is described via "tutorial cases" showing
|
||||
how to use different solvers and models.
|
||||
|
||||
CFDEMcoupling stands for Computational Fluid Dynamics (CFD) -
|
||||
Discrete Element Method (DEM) coupling.
|
||||
|
||||
CFDEMcoupling is an open-source code, distributed freely under the terms of the
|
||||
GNU Public License (GPL).
|
||||
|
||||
Core development of CFDEMcoupling is done by
|
||||
Christoph Goniva and Christoph Kloss, both at DCS Computing GmbH, 2012
|
||||
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
(*) "OpenFOAM(R)"_of is a registered trade mark of the ESI Group.
|
||||
This offering is not affiliated, approved or endorsed by ESI Group,
|
||||
the producer of the OpenFOAM® software and owner of the OpenFOAM® trade mark.
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -123,7 +123,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
fvScalarMatrix pEqn
|
||||
(
|
||||
fvm::laplacian(rUA, p) == fvc::div(phi) + fvc::ddt(voidfraction)
|
||||
fvm::laplacian(rUA, p) == fvc::div(phi) + particleCloud.ddtVoidfraction()
|
||||
);
|
||||
|
||||
pEqn.setReference(pRefCell, pRefValue);
|
||||
|
||||
@ -43,6 +43,7 @@ Description
|
||||
|
||||
#include "cfdemCloud.H"
|
||||
#include "implicitCouple.H"
|
||||
#include "smoothingModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -80,7 +81,8 @@ int main(int argc, char *argv[])
|
||||
particleCloud.evolve(voidfraction,Us,U);
|
||||
|
||||
Info << "update Ksl.internalField()" << endl;
|
||||
Ksl.internalField() = particleCloud.momCoupleM(0).impMomSource();
|
||||
Ksl.oldTime().internalField() = particleCloud.momCoupleM(0).impMomSource();
|
||||
particleCloud.smoothingM().smoothen(Ksl);
|
||||
Ksl.correctBoundaryConditions();
|
||||
|
||||
// --- Pressure-velocity PIMPLE corrector loop
|
||||
|
||||
@ -41,6 +41,7 @@ Description
|
||||
#include "cfdemCloud.H"
|
||||
#include "implicitCouple.H"
|
||||
#include "clockModel.H"
|
||||
#include "smoothingModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -74,7 +75,8 @@ int main(int argc, char *argv[])
|
||||
particleCloud.evolve(voidfraction,Us,U);
|
||||
|
||||
Info << "update Ksl.internalField()" << endl;
|
||||
Ksl.internalField() = particleCloud.momCoupleM(0).impMomSource();
|
||||
Ksl.oldTime().internalField() = particleCloud.momCoupleM(0).impMomSource();
|
||||
particleCloud.smoothingM().smoothen(Ksl);
|
||||
Ksl.correctBoundaryConditions();
|
||||
|
||||
#include "solverDebugInfo.H"
|
||||
|
||||
@ -41,6 +41,7 @@ Description
|
||||
#include "cfdemCloud.H"
|
||||
#include "implicitCouple.H"
|
||||
#include "forceModel.H"
|
||||
#include "smoothingModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -74,9 +75,11 @@ int main(int argc, char *argv[])
|
||||
Info << "- evolve()" << endl;
|
||||
particleCloud.evolve(voidfraction,Us,U);
|
||||
|
||||
Ksl.internalField() = particleCloud.momCoupleM(0).impMomSource();
|
||||
Ksl.oldTime().internalField() = particleCloud.momCoupleM(0).impMomSource();
|
||||
particleCloud.smoothingM().smoothen(Ksl);
|
||||
Ksl.correctBoundaryConditions();
|
||||
|
||||
|
||||
#include "solverDebugInfo.H"
|
||||
|
||||
// get scalar source from DEM
|
||||
|
||||
@ -229,9 +229,11 @@ listing below of styles within certain commands.
|
||||
<TR ALIGN="center"><TD ><A HREF = "momCoupleModel.html">momCoupleModel</A></TD><TD ><A HREF = "momCoupleModel_explicitCouple.html">momCoupleModel_explicitCouple</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "momCoupleModel_implicitCouple.html">momCoupleModel_implicitCouple</A></TD><TD ><A HREF = "momCoupleModel_noCouple.html">momCoupleModel_noCouple</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "regionModel.html">regionModel</A></TD><TD ><A HREF = "regionModel_allRegion.html">regionModel_allRegion</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "voidFractionModel.html">voidfractionModel</A></TD><TD ><A HREF = "voidFractionModel_GaussVoidFraction.html">voidfractionModel_GaussVoidFraction</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "voidFractionModel_IBVoidFraction.html">voidfractionModel_IBVoidFraction</A></TD><TD ><A HREF = "voidFractionModel_bigParticleVoidFraction.html">voidfractionModel_bigParticleVoidFraction</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "voidFractionModel_centreVoidFraction.html">voidfractionModel_centreVoidFraction</A></TD><TD ><A HREF = "voidFractionModel_dividedVoidFraction.html">voidfractionModel_dividedVoidFraction</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "smoothingModel.html">smoothingModel</A></TD><TD ><A HREF = "smoothingModel_constDiffSmoothing.html">smoothingModel_constDiffSmoothing</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "smoothingModel_noSmoothing.html">smoothingModel_noSmoothing</A></TD><TD ><A HREF = "voidFractionModel.html">voidfractionModel</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "voidFractionModel_GaussVoidFraction.html">voidfractionModel_GaussVoidFraction</A></TD><TD ><A HREF = "voidFractionModel_IBVoidFraction.html">voidfractionModel_IBVoidFraction</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "voidFractionModel_bigParticleVoidFraction.html">voidfractionModel_bigParticleVoidFraction</A></TD><TD ><A HREF = "voidFractionModel_centreVoidFraction.html">voidfractionModel_centreVoidFraction</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "voidFractionModel_dividedVoidFraction.html">voidfractionModel_dividedVoidFraction</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
</HTML>
|
||||
|
||||
Binary file not shown.
@ -260,6 +260,9 @@ listing below of styles within certain commands.
|
||||
"momCoupleModel_noCouple"_momCoupleModel_noCouple.html,
|
||||
"regionModel"_regionModel.html,
|
||||
"regionModel_allRegion"_regionModel_allRegion.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,
|
||||
|
||||
Binary file not shown.
34
doc/smoothingModel.html
Normal file
34
doc/smoothingModel.html
Normal file
@ -0,0 +1,34 @@
|
||||
<HTML>
|
||||
<CENTER><A HREF = "http://www.cfdem.com">CFDEMproject WWW Site</A> - <A HREF = "CFDEMcoupling_Manual.html#comm">CFDEM Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>smoothingModel command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<P>Defined in couplingProperties dictionary.
|
||||
</P>
|
||||
<PRE>smoothingModel model;
|
||||
</PRE>
|
||||
<UL><LI>model = name of the smoothingModel to be applied
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>smoothingModel off;
|
||||
</PRE>
|
||||
<P>Note: This examples list might not be complete - please look for other models (smoothingModel_XY) in this documentation.
|
||||
</P>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>The smoothingModel is the base class for models smoothen the exchange fields.
|
||||
</P>
|
||||
<P><B>Restrictions:</B> none.
|
||||
</P>
|
||||
<P><B>Default:</B> none.
|
||||
</P>
|
||||
</HTML>
|
||||
30
doc/smoothingModel.txt
Normal file
30
doc/smoothingModel.txt
Normal file
@ -0,0 +1,30 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
smoothingModel command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
smoothingModel model; :pre
|
||||
|
||||
model = name of the smoothingModel to be applied :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
smoothingModel off; :pre
|
||||
|
||||
Note: This examples list might not be complete - please look for other models (smoothingModel_XY) in this documentation.
|
||||
|
||||
[Description:]
|
||||
|
||||
The smoothingModel is the base class for models smoothen the exchange fields.
|
||||
|
||||
[Restrictions:] none.
|
||||
|
||||
[Default:] none.
|
||||
49
doc/smoothingModel_constDiffSmoothing.html
Normal file
49
doc/smoothingModel_constDiffSmoothing.html
Normal file
@ -0,0 +1,49 @@
|
||||
<HTML>
|
||||
<CENTER><A HREF = "http://www.cfdem.com">CFDEMproject WWW Site</A> - <A HREF = "CFDEMcoupling_Manual.html#comm">CFDEM Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>smoothingModel_constDiffSmoothing command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<P>Defined in couplingProperties dictionary.
|
||||
</P>
|
||||
<PRE>smoothingModel constDiffSmoothing;
|
||||
constDiffSmoothingProps
|
||||
{
|
||||
lowerLimit number1;
|
||||
upperLimit number2;
|
||||
DT number3;
|
||||
}
|
||||
</PRE>
|
||||
<UL><LI><I>number1</I> = scalar fields will be bound to this lower value
|
||||
|
||||
<LI><I>number2</I> = scalar fields will be bound to this upper value
|
||||
|
||||
<LI><I>number3</I> = diffusion constant
|
||||
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>constDiffSmoothingProps
|
||||
{
|
||||
lowerLimit 0.1;
|
||||
upperLimit 1e10;
|
||||
DT 1e-3;
|
||||
}
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>The "constDiffSmoothing" model is a basic smoothingModel model which reads a diffusion coefficient being used for smoothening the exchange fields (voidfraction, Ksl, f if present).
|
||||
</P>
|
||||
<P><B>Restrictions:</B> none.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "smoothingModel.html">smoothingModel</A>
|
||||
</P>
|
||||
</HTML>
|
||||
44
doc/smoothingModel_constDiffSmoothing.txt
Normal file
44
doc/smoothingModel_constDiffSmoothing.txt
Normal file
@ -0,0 +1,44 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
smoothingModel_constDiffSmoothing command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
smoothingModel constDiffSmoothing;
|
||||
constDiffSmoothingProps
|
||||
\{
|
||||
lowerLimit number1;
|
||||
upperLimit number2;
|
||||
DT number3;
|
||||
\} :pre
|
||||
|
||||
{number1} = scalar fields will be bound to this lower value :ulb,l
|
||||
{number2} = scalar fields will be bound to this upper value :l
|
||||
{number3} = diffusion constant :l
|
||||
|
||||
[Examples:]
|
||||
|
||||
constDiffSmoothingProps
|
||||
\{
|
||||
lowerLimit 0.1;
|
||||
upperLimit 1e10;
|
||||
DT 1e-3;
|
||||
\} :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The "constDiffSmoothing" model is a basic smoothingModel model which reads a diffusion coefficient being used for smoothening the exchange fields (voidfraction, Ksl, f if present).
|
||||
|
||||
[Restrictions:] none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"smoothingModel"_smoothingModel.html
|
||||
|
||||
32
doc/smoothingModel_noSmoothing.html
Normal file
32
doc/smoothingModel_noSmoothing.html
Normal file
@ -0,0 +1,32 @@
|
||||
<HTML>
|
||||
<CENTER><A HREF = "http://www.cfdem.com">CFDEMproject WWW Site</A> - <A HREF = "CFDEMcoupling_Manual.html#comm">CFDEM Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>smoothingModel_noSmoothing command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<P>Defined in couplingProperties dictionary.
|
||||
</P>
|
||||
<PRE>smoothingModel off;
|
||||
</PRE>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>smoothingModel off;
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>The "noSmoothing" model is a dummy smoothingModel model which does no smoothing.
|
||||
</P>
|
||||
<P><B>Restrictions:</B> none.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "smoothingModel.html">smoothingModel</A>
|
||||
</P>
|
||||
</HTML>
|
||||
29
doc/smoothingModel_noSmoothing.txt
Normal file
29
doc/smoothingModel_noSmoothing.txt
Normal file
@ -0,0 +1,29 @@
|
||||
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||
|
||||
:link(lws,http://www.cfdem.com)
|
||||
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
smoothingModel_noSmoothing command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
Defined in couplingProperties dictionary.
|
||||
|
||||
smoothingModel off; :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
smoothingModel off; :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The "noSmoothing" model is a dummy smoothingModel model which does no smoothing.
|
||||
|
||||
[Restrictions:] none.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"smoothingModel"_smoothingModel.html
|
||||
|
||||
@ -6,11 +6,11 @@ voidFractionModels = subModels/voidFractionModel
|
||||
locateModels = subModels/locateModel
|
||||
meshMotionModels = subModels/meshMotionModel
|
||||
momCoupleModels = subModels/momCoupleModel
|
||||
regionModels = subModels/regionModel
|
||||
dataExchangeModels = subModels/dataExchangeModel
|
||||
averagingModels = subModels/averagingModel
|
||||
clockModels = subModels/clockModel
|
||||
liggghtsCommandModels = subModels/liggghtsCommandModel
|
||||
smoothingModels = subModels/smoothingModel
|
||||
|
||||
$(cfdemCloud)/cfdemCloud.C
|
||||
derived/cfdemCloudIB/cfdemCloudIB.C
|
||||
@ -21,20 +21,33 @@ $(forceModels)/forceModel/newForceModel.C
|
||||
$(forceModels)/noDrag/noDrag.C
|
||||
$(forceModels)/checkCouplingInterval/checkCouplingInterval.C
|
||||
$(forceModels)/DiFeliceDrag/DiFeliceDrag.C
|
||||
$(forceModels)/DiFeliceDragNLift/DiFeliceDragNLift.C
|
||||
$(forceModels)/GidaspowDrag/GidaspowDrag.C
|
||||
$(forceModels)/SchillerNaumannDrag/SchillerNaumannDrag.C
|
||||
$(forceModels)/Archimedes/Archimedes.C
|
||||
$(forceModels)/ArchimedesIB/ArchimedesIB.C
|
||||
$(forceModels)/interface/interface.C
|
||||
$(forceModels)/ShirgaonkarIB/ShirgaonkarIB.C
|
||||
$(forceModels)/fieldTimeAverage/fieldTimeAverage.C
|
||||
$(forceModels)/fieldBound/fieldBound.C
|
||||
$(forceModels)/volWeightedAverage/volWeightedAverage.C
|
||||
$(forceModels)/totalMomentumExchange/totalMomentumExchange.C
|
||||
$(forceModels)/KochHillDrag/KochHillDrag.C
|
||||
$(forceModels)/BeetstraDrag/multiphaseFlowBasic/multiphaseFlowBasic.C
|
||||
$(forceModels)/BeetstraDrag/BeetstraDrag.C
|
||||
$(forceModels)/LaEuScalarLiquid/LaEuScalarLiquid.C
|
||||
$(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C
|
||||
$(forceModels)/LaEuScalarDust/LaEuScalarDust.C
|
||||
$(forceModels)/virtualMassForce/virtualMassForce.C
|
||||
$(forceModels)/gradPForce/gradPForce.C
|
||||
$(forceModels)/gradULiftForce/gradULiftForce.C
|
||||
$(forceModels)/viscForce/viscForce.C
|
||||
$(forceModels)/MeiLift/MeiLift.C
|
||||
$(forceModels)/fieldTimeAverage/fieldTimeAverage.C
|
||||
$(forceModels)/volWeightedAverage/volWeightedAverage.C
|
||||
$(forceModels)/KochHillDragNLift/KochHillDragNLift.C
|
||||
$(forceModels)/solidsPressureForce/solidsPressureForce.C
|
||||
$(forceModels)/periodicPressure/periodicPressure.C
|
||||
$(forceModels)/periodicPressureControl/periodicPressureControl.C
|
||||
$(forceModels)/averageSlipVel/averageSlipVel.C
|
||||
|
||||
$(forceModelsMS)/forceModelMS/forceModelMS.C
|
||||
$(forceModelsMS)/forceModelMS/newForceModelMS.C
|
||||
@ -64,21 +77,18 @@ $(locateModels)/turboEngineSearch/turboEngineSearch.C
|
||||
$(locateModels)/turboEngineSearchM2M/turboEngineSearchM2M.C
|
||||
$(locateModels)/engineSearchIB/engineSearchIB.C
|
||||
|
||||
|
||||
$(meshMotionModels)/meshMotionModel/meshMotionModel.C
|
||||
$(meshMotionModels)/meshMotionModel/newMeshMotionModel.C
|
||||
$(meshMotionModels)/noMeshMotion/noMeshMotion.C
|
||||
$(meshMotionModels)/DEMdrivenMeshMotion/DEMdrivenMeshMotion.C
|
||||
|
||||
$(momCoupleModels)/momCoupleModel/momCoupleModel.C
|
||||
$(momCoupleModels)/momCoupleModel/newMomCoupleModel.C
|
||||
$(momCoupleModels)/explicitCouple/explicitCouple.C
|
||||
$(momCoupleModels)/explicitCoupleSource/explicitCoupleSource.C
|
||||
$(momCoupleModels)/implicitCouple/implicitCouple.C
|
||||
$(momCoupleModels)/noCouple/noCouple.C
|
||||
|
||||
$(regionModels)/regionModel/regionModel.C
|
||||
$(regionModels)/regionModel/newRegionModel.C
|
||||
$(regionModels)/allRegion/allRegion.C
|
||||
|
||||
$(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C
|
||||
$(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C
|
||||
$(dataExchangeModels)/oneWayVTK/oneWayVTK.C
|
||||
@ -104,4 +114,9 @@ $(liggghtsCommandModels)/runLiggghts/runLiggghts.C
|
||||
$(liggghtsCommandModels)/writeLiggghts/writeLiggghts.C
|
||||
$(liggghtsCommandModels)/readLiggghtsData/readLiggghtsData.C
|
||||
|
||||
LIB = $(FOAM_USER_LIBBIN)/lib$(CFDEM_LIB_NAME)
|
||||
$(smoothingModels)/smoothingModel/smoothingModel.C
|
||||
$(smoothingModels)/smoothingModel/newSmoothingModel.C
|
||||
$(smoothingModels)/noSmoothing/noSmoothing.C
|
||||
$(smoothingModels)/constDiffSmoothing/constDiffSmoothing.C
|
||||
|
||||
LIB = $(CFDEM_LIB_DIR)/lib$(CFDEM_LIB_NAME)
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
word CFDEMversion="cfdem-2.5.3";
|
||||
word CFDEMversion="cfdem-2.5.4";
|
||||
word compatibleLIGGGHTSversion="2.3.2";
|
||||
|
||||
Info << "\nCFDEMcoupling version: " << CFDEMversion << "\n" << endl;
|
||||
|
||||
@ -40,6 +40,7 @@ Description
|
||||
#include "IOModel.H"
|
||||
#include "averagingModel.H"
|
||||
#include "clockModel.H"
|
||||
#include "smoothingModel.H"
|
||||
#include "liggghtsCommandModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
@ -180,6 +181,14 @@ Foam::cfdemCloud::cfdemCloud
|
||||
*this
|
||||
)
|
||||
),
|
||||
smoothingModel_
|
||||
(
|
||||
smoothingModel::New
|
||||
(
|
||||
couplingProperties_,
|
||||
*this
|
||||
)
|
||||
),
|
||||
meshMotionModel_
|
||||
(
|
||||
meshMotionModel::New
|
||||
@ -503,7 +512,10 @@ bool Foam::cfdemCloud::evolve
|
||||
|
||||
clockM().start(24,"interpolateEulerFields");
|
||||
// update voidFractionField
|
||||
alpha.internalField() = voidFractionM().voidFractionInterp();
|
||||
alpha.oldTime().internalField() = voidFractionM().voidFractionInterp();
|
||||
|
||||
// smoothing exchange field
|
||||
smoothingM().smoothen(alpha);
|
||||
alpha.correctBoundaryConditions();
|
||||
|
||||
// calc ddt(voidfraction)
|
||||
|
||||
@ -67,6 +67,7 @@ class dataExchangeModel;
|
||||
class IOModel;
|
||||
class averagingModel;
|
||||
class clockModel;
|
||||
class smoothingModel;
|
||||
class momCoupleModel;
|
||||
class meshMotionModel;
|
||||
class liggghtsCommandModel;
|
||||
@ -164,6 +165,8 @@ protected:
|
||||
|
||||
autoPtr<clockModel> clockModel_;
|
||||
|
||||
autoPtr<smoothingModel> smoothingModel_;
|
||||
|
||||
autoPtr<meshMotionModel> meshMotionModel_;
|
||||
|
||||
autoPtr<liggghtsCommandModel>* liggghtsCommand_;
|
||||
@ -285,6 +288,8 @@ public:
|
||||
|
||||
inline const clockModel& clockM() const;
|
||||
|
||||
inline const smoothingModel& smoothingM() const;
|
||||
|
||||
inline const meshMotionModel& meshMotionM() const;
|
||||
|
||||
inline const wordList& liggghtsCommandModelList() const;
|
||||
|
||||
@ -192,6 +192,11 @@ inline const clockModel& cfdemCloud::clockM() const
|
||||
return clockModel_;
|
||||
}
|
||||
|
||||
inline const smoothingModel& cfdemCloud::smoothingM() const
|
||||
{
|
||||
return smoothingModel_;
|
||||
}
|
||||
|
||||
inline const meshMotionModel& cfdemCloud::meshMotionM() const
|
||||
{
|
||||
return meshMotionModel_;
|
||||
|
||||
@ -54,7 +54,7 @@ namespace Foam
|
||||
|
||||
class cfdemCloudIB
|
||||
:
|
||||
private cfdemCloud
|
||||
public cfdemCloud
|
||||
{
|
||||
protected:
|
||||
|
||||
|
||||
@ -0,0 +1,107 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling - Open Source CFD-DEM coupling
|
||||
|
||||
CFDEMcoupling is part of the CFDEMproject
|
||||
www.cfdem.com
|
||||
Christoph Goniva, christoph.goniva@cfdem.com
|
||||
Copyright 2009-2012 JKU Linz
|
||||
Copyright 2012- DCS Computing GmbH, Linz
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of CFDEMcoupling.
|
||||
|
||||
CFDEMcoupling is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
CFDEMcoupling is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with CFDEMcoupling; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS
|
||||
and OpenFOAM(R). Note: this code is not part of OpenFOAM(R) (see DISCLAIMER).
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "error.H"
|
||||
|
||||
#include "constDiffSmoothing.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
defineTypeNameAndDebug(constDiffSmoothing, 0);
|
||||
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
smoothingModel,
|
||||
constDiffSmoothing,
|
||||
dictionary
|
||||
);
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
// Construct from components
|
||||
constDiffSmoothing::constDiffSmoothing
|
||||
(
|
||||
const dictionary& dict,
|
||||
cfdemCloud& sm
|
||||
)
|
||||
:
|
||||
smoothingModel(dict,sm),
|
||||
propsDict_(dict.subDict(typeName + "Props")),
|
||||
lowerLimit_(readScalar(propsDict_.lookup("lowerLimit"))),
|
||||
upperLimit_(readScalar(propsDict_.lookup("upperLimit"))),
|
||||
DT_(dimensionedScalar("DT",dimensionSet(0,2,-1,0,0,0,0),readScalar(propsDict_.lookup("DT"))))
|
||||
{}
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
constDiffSmoothing::~constDiffSmoothing()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
void Foam::constDiffSmoothing::smoothen(volScalarField& field) const
|
||||
{
|
||||
// do smoothing
|
||||
solve
|
||||
(
|
||||
fvm::ddt(field)
|
||||
-fvm::laplacian(DT_, field)
|
||||
);
|
||||
|
||||
// bound field
|
||||
forAll(field,cellI)
|
||||
{
|
||||
field[cellI]=max(lowerLimit_,min(upperLimit_,field[cellI]));
|
||||
}
|
||||
}
|
||||
|
||||
void Foam::constDiffSmoothing::smoothen(volVectorField& field) const
|
||||
{
|
||||
// do smoothing
|
||||
solve
|
||||
(
|
||||
fvm::ddt(field)
|
||||
-fvm::laplacian(DT_, field)
|
||||
);
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,100 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling - Open Source CFD-DEM coupling
|
||||
|
||||
CFDEMcoupling is part of the CFDEMproject
|
||||
www.cfdem.com
|
||||
Christoph Goniva, christoph.goniva@cfdem.com
|
||||
Copyright 2009-2012 JKU Linz
|
||||
Copyright 2012- DCS Computing GmbH, Linz
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of CFDEMcoupling.
|
||||
|
||||
CFDEMcoupling is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
CFDEMcoupling is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with CFDEMcoupling; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS
|
||||
and OpenFOAM(R). Note: this code is not part of OpenFOAM(R) (see DISCLAIMER).
|
||||
|
||||
Class
|
||||
constDiffSmoothing
|
||||
|
||||
SourceFiles
|
||||
constDiffSmoothing.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef constDiffSmoothing_H
|
||||
#define constDiffSmoothing_H
|
||||
|
||||
#include "smoothingModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class constDiffSmoothing Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class constDiffSmoothing
|
||||
:
|
||||
public smoothingModel
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
dictionary propsDict_;
|
||||
scalar lowerLimit_;
|
||||
scalar upperLimit_;
|
||||
dimensionedScalar DT_;
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("constDiffSmoothing");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
constDiffSmoothing
|
||||
(
|
||||
const dictionary& dict,
|
||||
cfdemCloud& sm
|
||||
);
|
||||
|
||||
// Destructor
|
||||
|
||||
~constDiffSmoothing();
|
||||
|
||||
|
||||
// Member Functions
|
||||
void smoothen(volScalarField&) const;
|
||||
|
||||
void smoothen(volVectorField&) const;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,87 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling - Open Source CFD-DEM coupling
|
||||
|
||||
CFDEMcoupling is part of the CFDEMproject
|
||||
www.cfdem.com
|
||||
Christoph Goniva, christoph.goniva@cfdem.com
|
||||
Copyright 2009-2012 JKU Linz
|
||||
Copyright 2012- DCS Computing GmbH, Linz
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of CFDEMcoupling.
|
||||
|
||||
CFDEMcoupling is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
CFDEMcoupling is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with CFDEMcoupling; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS
|
||||
and OpenFOAM(R). Note: this code is not part of OpenFOAM(R) (see DISCLAIMER).
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "error.H"
|
||||
|
||||
#include "noSmoothing.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
defineTypeNameAndDebug(noSmoothing, 0);
|
||||
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
smoothingModel,
|
||||
noSmoothing,
|
||||
dictionary
|
||||
);
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
// Construct from components
|
||||
noSmoothing::noSmoothing
|
||||
(
|
||||
const dictionary& dict,
|
||||
cfdemCloud& sm
|
||||
)
|
||||
:
|
||||
smoothingModel(dict,sm)
|
||||
{}
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
noSmoothing::~noSmoothing()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
void Foam::noSmoothing::smoothen(volScalarField& field) const
|
||||
{
|
||||
field=field.oldTime();
|
||||
}
|
||||
|
||||
void Foam::noSmoothing::smoothen(volVectorField& field) const
|
||||
{
|
||||
field=field.oldTime();
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,93 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling - Open Source CFD-DEM coupling
|
||||
|
||||
CFDEMcoupling is part of the CFDEMproject
|
||||
www.cfdem.com
|
||||
Christoph Goniva, christoph.goniva@cfdem.com
|
||||
Copyright 2009-2012 JKU Linz
|
||||
Copyright 2012- DCS Computing GmbH, Linz
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of CFDEMcoupling.
|
||||
|
||||
CFDEMcoupling is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
CFDEMcoupling is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with CFDEMcoupling; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS
|
||||
and OpenFOAM(R). Note: this code is not part of OpenFOAM(R) (see DISCLAIMER).
|
||||
|
||||
Class
|
||||
noSmoothing
|
||||
|
||||
SourceFiles
|
||||
noSmoothing.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef noSmoothing_H
|
||||
#define noSmoothing_H
|
||||
|
||||
#include "smoothingModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class noSmoothing Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class noSmoothing
|
||||
:
|
||||
public smoothingModel
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("off");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
noSmoothing
|
||||
(
|
||||
const dictionary& dict,
|
||||
cfdemCloud& sm
|
||||
);
|
||||
|
||||
// Destructor
|
||||
|
||||
~noSmoothing();
|
||||
|
||||
|
||||
// Member Functions
|
||||
void smoothen(volScalarField&) const;
|
||||
|
||||
void smoothen(volVectorField&) const;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,84 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling - Open Source CFD-DEM coupling
|
||||
|
||||
CFDEMcoupling is part of the CFDEMproject
|
||||
www.cfdem.com
|
||||
Christoph Goniva, christoph.goniva@cfdem.com
|
||||
Copyright 2009-2012 JKU Linz
|
||||
Copyright 2012- DCS Computing GmbH, Linz
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of CFDEMcoupling.
|
||||
|
||||
CFDEMcoupling is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
CFDEMcoupling is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with CFDEMcoupling; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS
|
||||
and OpenFOAM(R). Note: this code is not part of OpenFOAM(R) (see DISCLAIMER).
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "error.H"
|
||||
|
||||
#include "smoothingModel.H"
|
||||
#include "standardSearch.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
autoPtr<smoothingModel> smoothingModel::New
|
||||
(
|
||||
const dictionary& dict,
|
||||
cfdemCloud& sm
|
||||
)
|
||||
{
|
||||
word smoothingModelType
|
||||
(
|
||||
dict.lookup("smoothingModel")
|
||||
);
|
||||
|
||||
Info<< "Selecting smoothingModel "
|
||||
<< smoothingModelType << endl;
|
||||
|
||||
|
||||
dictionaryConstructorTable::iterator cstrIter =
|
||||
dictionaryConstructorTablePtr_->find(smoothingModelType);
|
||||
|
||||
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
||||
{
|
||||
FatalError
|
||||
<< "smoothingModel::New(const dictionary&, const spray&) : "
|
||||
<< endl
|
||||
<< " unknown smoothingModelType type "
|
||||
<< smoothingModelType
|
||||
<< ", constructor not in hash table" << endl << endl
|
||||
<< " Valid smoothingModel types are :"
|
||||
<< endl;
|
||||
Info<< dictionaryConstructorTablePtr_->toc()
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
return autoPtr<smoothingModel>(cstrIter()(dict,sm));
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,74 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling - Open Source CFD-DEM coupling
|
||||
|
||||
CFDEMcoupling is part of the CFDEMproject
|
||||
www.cfdem.com
|
||||
Christoph Goniva, christoph.goniva@cfdem.com
|
||||
Copyright 2009-2012 JKU Linz
|
||||
Copyright 2012- DCS Computing GmbH, Linz
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of CFDEMcoupling.
|
||||
|
||||
CFDEMcoupling is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
CFDEMcoupling is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with CFDEMcoupling; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS
|
||||
and OpenFOAM(R). Note: this code is not part of OpenFOAM(R) (see DISCLAIMER).
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "error.H"
|
||||
#include "smoothingModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
defineTypeNameAndDebug(smoothingModel, 0);
|
||||
|
||||
defineRunTimeSelectionTable(smoothingModel, dictionary);
|
||||
|
||||
// * * * * * * * * * * * * * public Member Functions * * * * * * * * * * * * //
|
||||
|
||||
// * * * * * * * * * * * * * private Member Functions * * * * * * * * * * * * //
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
// Construct from components
|
||||
Foam::smoothingModel::smoothingModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
cfdemCloud& sm
|
||||
)
|
||||
:
|
||||
dict_(dict),
|
||||
particleCloud_(sm)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::smoothingModel::~smoothingModel()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,118 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
CFDEMcoupling - Open Source CFD-DEM coupling
|
||||
|
||||
CFDEMcoupling is part of the CFDEMproject
|
||||
www.cfdem.com
|
||||
Christoph Goniva, christoph.goniva@cfdem.com
|
||||
Copyright 2009-2012 JKU Linz
|
||||
Copyright 2012- DCS Computing GmbH, Linz
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of CFDEMcoupling.
|
||||
|
||||
CFDEMcoupling is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
CFDEMcoupling is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with CFDEMcoupling; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
This code is designed to realize coupled CFD-DEM simulations using LIGGGHTS
|
||||
and OpenFOAM(R). Note: this code is not part of OpenFOAM(R) (see DISCLAIMER).
|
||||
|
||||
Class
|
||||
smoothingModel
|
||||
|
||||
SourceFiles
|
||||
smoothingModel.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef smoothingModel_H
|
||||
#define smoothingModel_H
|
||||
|
||||
#include "fvCFD.H"
|
||||
#include "cfdemCloud.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class smoothingModel Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class smoothingModel
|
||||
{
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
const dictionary& dict_;
|
||||
cfdemCloud& particleCloud_;
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("smoothingModel");
|
||||
|
||||
// Declare runtime constructor selection table
|
||||
|
||||
declareRunTimeSelectionTable
|
||||
(
|
||||
autoPtr,
|
||||
smoothingModel,
|
||||
dictionary,
|
||||
(
|
||||
const dictionary& dict,
|
||||
cfdemCloud& sm
|
||||
),
|
||||
(dict,sm)
|
||||
);
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
smoothingModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
cfdemCloud& sm
|
||||
);
|
||||
|
||||
// Destructor
|
||||
|
||||
virtual ~smoothingModel();
|
||||
|
||||
// Selector
|
||||
|
||||
static autoPtr<smoothingModel> New
|
||||
(
|
||||
const dictionary& dict,
|
||||
cfdemCloud& sm
|
||||
);
|
||||
|
||||
// Member Functions
|
||||
|
||||
virtual void smoothen(volScalarField&) const=0;
|
||||
|
||||
virtual void smoothen(volVectorField&) const=0;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -48,6 +48,8 @@ averagingModel dilute;
|
||||
|
||||
clockModel off;
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
ShirgaonkarIB
|
||||
|
||||
@ -46,6 +46,8 @@ averagingModel dense;//dilute;//
|
||||
|
||||
clockModel off;
|
||||
|
||||
smoothingModel constDiffSmoothing;
|
||||
|
||||
forceModels
|
||||
(
|
||||
//GidaspowDrag
|
||||
@ -68,6 +70,13 @@ turbulenceModelType RASProperties;//LESProperties;//
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
constDiffSmoothingProps
|
||||
{
|
||||
lowerLimit 0.1;
|
||||
upperLimit 1e10;
|
||||
DT 1e-3;
|
||||
}
|
||||
|
||||
implicitCoupleProps
|
||||
{
|
||||
velFieldName "U";
|
||||
|
||||
@ -54,6 +54,13 @@ solvers
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
"(voidfraction|Ksl|f)"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
|
||||
@ -1,3 +1,68 @@
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
|
||||
@ -18,7 +18,7 @@ casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
logpath=$casePath
|
||||
headerText="run_parallel_cfdemSolverPimple_ErgunTestMPI_CFDDEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="cfdemSolverPimple"
|
||||
solverName="cfdemSolverPimpleSmooth"
|
||||
nrProcs="2"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
debugMode="off" # on | off
|
||||
|
||||
@ -46,6 +46,8 @@ averagingModel dense;//dilute;//
|
||||
|
||||
clockModel standardClock;//off;
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
//GidaspowDrag
|
||||
|
||||
@ -46,6 +46,8 @@ averagingModel dense;//dilute;//
|
||||
|
||||
clockModel standardClock;//off;
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
//GidaspowDrag
|
||||
|
||||
@ -46,6 +46,8 @@ averagingModel dense;//dilute;//
|
||||
|
||||
clockModel off;
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
//GidaspowDrag
|
||||
|
||||
@ -46,6 +46,8 @@ averagingModel dense;//dilute;//
|
||||
|
||||
clockModel off;
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
//GidaspowDrag
|
||||
|
||||
@ -43,3 +43,4 @@ dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
dummyfile
|
||||
|
||||
@ -46,6 +46,8 @@ averagingModel dense;//dilute;//
|
||||
|
||||
clockModel standardClock;//off; //
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
DiFeliceDrag
|
||||
|
||||
@ -46,6 +46,8 @@ averagingModel dense;//dilute;//
|
||||
|
||||
clockModel off;//standardClock;//
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
KochHillDrag
|
||||
|
||||
Reference in New Issue
Block a user