mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
release on 2012-07-17_16-12-17
This commit is contained in:
82
README
82
README
@ -1,82 +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 Silicon Graphics
|
|
||||||
International Corp. This offering is not affiliated, approved or endorsed by
|
|
||||||
Silicon Graphics International Corp., the producer of the OpenFOAM(R) software
|
|
||||||
and owner of the OpenFOAM(R) trademark.
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
@ -207,14 +207,14 @@ listing below of styles within certain commands.
|
|||||||
<TR ALIGN="center"><TD ><A HREF = "liggghtsCommandModel_readLiggghtsData.html">liggghtsCommandModel_readLiggghtsData</A></TD><TD ><A HREF = "liggghtsCommandModel_runLiggghts.html">liggghtsCommandModel_runLiggghts</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "liggghtsCommandModel_readLiggghtsData.html">liggghtsCommandModel_readLiggghtsData</A></TD><TD ><A HREF = "liggghtsCommandModel_runLiggghts.html">liggghtsCommandModel_runLiggghts</A></TD></TR>
|
||||||
<TR ALIGN="center"><TD ><A HREF = "liggghtsCommandModel_writeLiggghts.html">liggghtsCommandModel_writeLiggghts</A></TD><TD ><A HREF = "locateModel.html">locateModel</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "liggghtsCommandModel_writeLiggghts.html">liggghtsCommandModel_writeLiggghts</A></TD><TD ><A HREF = "locateModel.html">locateModel</A></TD></TR>
|
||||||
<TR ALIGN="center"><TD ><A HREF = "locateModel_engineSearch.html">locateModel_engineSearch</A></TD><TD ><A HREF = "locateModel_engineSearchIB.html">locateModel_engineSearchIB</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "locateModel_engineSearch.html">locateModel_engineSearch</A></TD><TD ><A HREF = "locateModel_engineSearchIB.html">locateModel_engineSearchIB</A></TD></TR>
|
||||||
<TR ALIGN="center"><TD ><A HREF = "locateModel_standardSearch.html">locateModel_standardSearch</A></TD><TD ><A HREF = "meshMotionModel.html">meshMotionModel</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "locateModel_standardSearch.html">locateModel_standardSearch</A></TD><TD ><A HREF = "locateModel_turboEngineSearch.html">locateModel_turboEngineSearch</A></TD></TR>
|
||||||
<TR ALIGN="center"><TD ><A HREF = "meshMotionModel_noMeshMotion.html">meshMotionModel_noMeshMotion</A></TD><TD ><A HREF = "momCoupleModel.html">momCoupleModel</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "meshMotionModel.html">meshMotionModel</A></TD><TD ><A HREF = "meshMotionModel_noMeshMotion.html">meshMotionModel_noMeshMotion</A></TD></TR>
|
||||||
<TR ALIGN="center"><TD ><A HREF = "momCoupleModel_explicitCouple.html">momCoupleModel_explicitCouple</A></TD><TD ><A HREF = "momCoupleModel_implicitCouple.html">momCoupleModel_implicitCouple</A></TD></TR>
|
<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_noCouple.html">momCoupleModel_noCouple</A></TD><TD ><A HREF = "regionModel.html">regionModel</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_allRegion.html">regionModel_allRegion</A></TD><TD ><A HREF = "voidFractionModel.html">voidfractionModel</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_GaussVoidFraction.html">voidfractionModel_GaussVoidFraction</A></TD><TD ><A HREF = "voidFractionModel_IBVoidFraction.html">voidfractionModel_IBVoidFraction</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_bigParticleVoidFraction.html">voidfractionModel_bigParticleVoidFraction</A></TD><TD ><A HREF = "voidFractionModel_centreVoidFraction.html">voidfractionModel_centreVoidFraction</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_dividedVoidFraction.html">voidfractionModel_dividedVoidFraction</A>
|
<TR ALIGN="center"><TD ><A HREF = "voidFractionModel_centreVoidFraction.html">voidfractionModel_centreVoidFraction</A></TD><TD ><A HREF = "voidFractionModel_dividedVoidFraction.html">voidfractionModel_dividedVoidFraction</A>
|
||||||
</TD></TR></TABLE></DIV>
|
</TD></TR></TABLE></DIV>
|
||||||
|
|
||||||
</HTML>
|
</HTML>
|
||||||
|
|||||||
Binary file not shown.
@ -434,6 +434,7 @@ listing below of styles within certain commands.
|
|||||||
"locateModel_engineSearch"_locateModel_engineSearch.html,
|
"locateModel_engineSearch"_locateModel_engineSearch.html,
|
||||||
"locateModel_engineSearchIB"_locateModel_engineSearchIB.html,
|
"locateModel_engineSearchIB"_locateModel_engineSearchIB.html,
|
||||||
"locateModel_standardSearch"_locateModel_standardSearch.html,
|
"locateModel_standardSearch"_locateModel_standardSearch.html,
|
||||||
|
"locateModel_turboEngineSearch"_locateModel_turboEngineSearch.html,
|
||||||
"meshMotionModel"_meshMotionModel.html,
|
"meshMotionModel"_meshMotionModel.html,
|
||||||
"meshMotionModel_noMeshMotion"_meshMotionModel_noMeshMotion.html,
|
"meshMotionModel_noMeshMotion"_meshMotionModel_noMeshMotion.html,
|
||||||
"momCoupleModel"_momCoupleModel.html,
|
"momCoupleModel"_momCoupleModel.html,
|
||||||
|
|||||||
Binary file not shown.
56
doc/locateModel_turboEngineSearch.html
Normal file
56
doc/locateModel_turboEngineSearch.html
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
<HTML>
|
||||||
|
<CENTER><A HREF = "http://www.cfdem.com">CFDEMproject WWW Site</A> - <A HREF = "CFDEMcoupling_Manual.html#comm">CFDEM Commands</A>
|
||||||
|
</CENTER>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<H3>locateModel_turboEngineSearch command
|
||||||
|
</H3>
|
||||||
|
<P><B>Syntax:</B>
|
||||||
|
</P>
|
||||||
|
<P>Defined in couplingProperties dictionary.
|
||||||
|
</P>
|
||||||
|
<PRE>locateModel turboEngine;
|
||||||
|
turboEngineProps
|
||||||
|
{
|
||||||
|
faceDecomp switch1;
|
||||||
|
treeSearch switch2;
|
||||||
|
}
|
||||||
|
</PRE>
|
||||||
|
<UL><LI><I>switch1</I> = time to start the averaging (default 0)
|
||||||
|
|
||||||
|
<LI><I>switch2</I> = names of the finite volume scalar fields to be temporally averaged
|
||||||
|
|
||||||
|
|
||||||
|
</UL>
|
||||||
|
<P><B>Examples:</B>
|
||||||
|
</P>
|
||||||
|
<PRE>locateModel turboEngine;
|
||||||
|
turboEngineProps
|
||||||
|
{
|
||||||
|
faceDecomp false;
|
||||||
|
treeSearch false;
|
||||||
|
}
|
||||||
|
</PRE>
|
||||||
|
<P><B>Description:</B>
|
||||||
|
</P>
|
||||||
|
<P>The locateModel "turboEngine" locates the CFD cell and cellID corresponding to a given position. The algorithm is improved compared to engine search to show better parallel performance.
|
||||||
|
</P>
|
||||||
|
<P>The turboEngineSearch locate Model can be used with different settings to use different algorithms:
|
||||||
|
</P>
|
||||||
|
<UL><LI>faceDecomp false; treeSearch false; will execute some geometric (linear) search using the last known cellID (recommended)
|
||||||
|
|
||||||
|
<LI>faceDecomp false; treeSearch true; will use a recursive tree structure to find the cell.
|
||||||
|
|
||||||
|
|
||||||
|
</UL>
|
||||||
|
<P><B>Restrictions:</B> none.
|
||||||
|
</P>
|
||||||
|
<P><B>Related commands:</B>
|
||||||
|
</P>
|
||||||
|
<P><A HREF = "locateModel.html">locateModel</A>
|
||||||
|
</P>
|
||||||
|
</HTML>
|
||||||
49
doc/locateModel_turboEngineSearch.txt
Normal file
49
doc/locateModel_turboEngineSearch.txt
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c
|
||||||
|
|
||||||
|
:link(lws,http://www.cfdem.com)
|
||||||
|
:link(lc,CFDEMcoupling_Manual.html#comm)
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
locateModel_turboEngineSearch command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
Defined in couplingProperties dictionary.
|
||||||
|
|
||||||
|
locateModel turboEngine;
|
||||||
|
turboEngineProps
|
||||||
|
\{
|
||||||
|
faceDecomp switch1;
|
||||||
|
treeSearch switch2;
|
||||||
|
\} :pre
|
||||||
|
|
||||||
|
{switch1} = time to start the averaging (default 0) :ulb,l
|
||||||
|
{switch2} = names of the finite volume scalar fields to be temporally averaged :l
|
||||||
|
:ule
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
locateModel turboEngine;
|
||||||
|
turboEngineProps
|
||||||
|
\{
|
||||||
|
faceDecomp false;
|
||||||
|
treeSearch false;
|
||||||
|
\} :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
The locateModel "turboEngine" locates the CFD cell and cellID corresponding to a given position. The algorithm is improved compared to engine search to show better parallel performance.
|
||||||
|
|
||||||
|
The turboEngineSearch locate Model can be used with different settings to use different algorithms:
|
||||||
|
|
||||||
|
faceDecomp false; treeSearch false; will execute some geometric (linear) search using the last known cellID (recommended) :ulb,l
|
||||||
|
faceDecomp false; treeSearch true; will use a recursive tree structure to find the cell. :l
|
||||||
|
:ule
|
||||||
|
|
||||||
|
[Restrictions:] none.
|
||||||
|
|
||||||
|
[Related commands:]
|
||||||
|
|
||||||
|
"locateModel"_locateModel.html
|
||||||
|
|
||||||
@ -1,5 +1,6 @@
|
|||||||
cfdemCloud = cfdemCloud
|
cfdemCloud = cfdemCloud
|
||||||
forceModels = subModels/forceModel
|
forceModels = subModels/forceModel
|
||||||
|
forceModelsMS = subModels/forceModelMS
|
||||||
IOModels = subModels/IOModel
|
IOModels = subModels/IOModel
|
||||||
voidFractionModels = subModels/voidFractionModel
|
voidFractionModels = subModels/voidFractionModel
|
||||||
locateModels = subModels/locateModel
|
locateModels = subModels/locateModel
|
||||||
@ -13,23 +14,37 @@ liggghtsCommandModels = subModels/liggghtsCommandModel
|
|||||||
|
|
||||||
$(cfdemCloud)/cfdemCloud.C
|
$(cfdemCloud)/cfdemCloud.C
|
||||||
derived/cfdemCloudIB/cfdemCloudIB.C
|
derived/cfdemCloudIB/cfdemCloudIB.C
|
||||||
|
derived/cfdemCloudMS/cfdemCloudMS.C
|
||||||
|
|
||||||
$(forceModels)/forceModel/forceModel.C
|
$(forceModels)/forceModel/forceModel.C
|
||||||
$(forceModels)/forceModel/newForceModel.C
|
$(forceModels)/forceModel/newForceModel.C
|
||||||
$(forceModels)/noDrag/noDrag.C
|
$(forceModels)/noDrag/noDrag.C
|
||||||
$(forceModels)/DiFeliceDrag/DiFeliceDrag.C
|
$(forceModels)/DiFeliceDrag/DiFeliceDrag.C
|
||||||
|
$(forceModels)/DiFeliceDragNLift/DiFeliceDragNLift.C
|
||||||
$(forceModels)/GidaspowDrag/GidaspowDrag.C
|
$(forceModels)/GidaspowDrag/GidaspowDrag.C
|
||||||
$(forceModels)/SchillerNaumannDrag/SchillerNaumannDrag.C
|
$(forceModels)/SchillerNaumannDrag/SchillerNaumannDrag.C
|
||||||
$(forceModels)/Archimedes/Archimedes.C
|
$(forceModels)/Archimedes/Archimedes.C
|
||||||
$(forceModels)/ArchimedesIB/ArchimedesIB.C
|
$(forceModels)/ArchimedesIB/ArchimedesIB.C
|
||||||
$(forceModels)/interface/interface.C
|
$(forceModels)/interface/interface.C
|
||||||
$(forceModels)/ShirgaonkarIB/ShirgaonkarIB.C
|
$(forceModels)/ShirgaonkarIB/ShirgaonkarIB.C
|
||||||
|
$(forceModels)/fieldTimeAverage/fieldTimeAverage.C
|
||||||
|
$(forceModels)/fieldBound/fieldBound.C
|
||||||
|
$(forceModels)/volWeightedAverage/volWeightedAverage.C
|
||||||
|
$(forceModels)/totalMomentumExchange/totalMomentumExchange.C
|
||||||
$(forceModels)/KochHillDrag/KochHillDrag.C
|
$(forceModels)/KochHillDrag/KochHillDrag.C
|
||||||
|
$(forceModels)/LaEuScalarLiquid/LaEuScalarLiquid.C
|
||||||
$(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C
|
$(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C
|
||||||
|
$(forceModels)/LaEuScalarDust/LaEuScalarDust.C
|
||||||
$(forceModels)/virtualMassForce/virtualMassForce.C
|
$(forceModels)/virtualMassForce/virtualMassForce.C
|
||||||
$(forceModels)/gradPForce/gradPForce.C
|
$(forceModels)/gradPForce/gradPForce.C
|
||||||
|
$(forceModels)/gradULiftForce/gradULiftForce.C
|
||||||
$(forceModels)/viscForce/viscForce.C
|
$(forceModels)/viscForce/viscForce.C
|
||||||
$(forceModels)/MeiLift/MeiLift.C
|
$(forceModels)/MeiLift/MeiLift.C
|
||||||
|
$(forceModels)/KochHillDragNLift/KochHillDragNLift.C
|
||||||
|
|
||||||
|
$(forceModelsMS)/forceModelMS/forceModelMS.C
|
||||||
|
$(forceModelsMS)/forceModelMS/newForceModelMS.C
|
||||||
|
$(forceModelsMS)/DiFeliceDragMS/DiFeliceDragMS.C
|
||||||
|
|
||||||
$(IOModels)/IOModel/IOModel.C
|
$(IOModels)/IOModel/IOModel.C
|
||||||
$(IOModels)/IOModel/newIOModel.C
|
$(IOModels)/IOModel/newIOModel.C
|
||||||
@ -40,6 +55,7 @@ $(voidFractionModels)/voidFractionModel/voidFractionModel.C
|
|||||||
$(voidFractionModels)/voidFractionModel/newVoidFractionModel.C
|
$(voidFractionModels)/voidFractionModel/newVoidFractionModel.C
|
||||||
$(voidFractionModels)/centreVoidFraction/centreVoidFraction.C
|
$(voidFractionModels)/centreVoidFraction/centreVoidFraction.C
|
||||||
$(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C
|
$(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C
|
||||||
|
$(voidFractionModels)/dividedVoidFractionMS/dividedVoidFractionMS.C
|
||||||
$(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C
|
$(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C
|
||||||
$(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C
|
$(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C
|
||||||
$(voidFractionModels)/IBVoidFraction/IBVoidFraction.C
|
$(voidFractionModels)/IBVoidFraction/IBVoidFraction.C
|
||||||
@ -48,12 +64,14 @@ $(locateModels)/locateModel/locateModel.C
|
|||||||
$(locateModels)/locateModel/newLocateModel.C
|
$(locateModels)/locateModel/newLocateModel.C
|
||||||
$(locateModels)/standardSearch/standardSearch.C
|
$(locateModels)/standardSearch/standardSearch.C
|
||||||
$(locateModels)/engineSearch/engineSearch.C
|
$(locateModels)/engineSearch/engineSearch.C
|
||||||
|
$(locateModels)/turboEngineSearch/turboEngineSearch.C
|
||||||
$(locateModels)/engineSearchIB/engineSearchIB.C
|
$(locateModels)/engineSearchIB/engineSearchIB.C
|
||||||
|
|
||||||
|
|
||||||
$(meshMotionModels)/meshMotionModel/meshMotionModel.C
|
$(meshMotionModels)/meshMotionModel/meshMotionModel.C
|
||||||
$(meshMotionModels)/meshMotionModel/newMeshMotionModel.C
|
$(meshMotionModels)/meshMotionModel/newMeshMotionModel.C
|
||||||
$(meshMotionModels)/noMeshMotion/noMeshMotion.C
|
$(meshMotionModels)/noMeshMotion/noMeshMotion.C
|
||||||
|
$(meshMotionModels)/DEMdrivenMeshMotion/DEMdrivenMeshMotion.C
|
||||||
|
|
||||||
$(momCoupleModels)/momCoupleModel/momCoupleModel.C
|
$(momCoupleModels)/momCoupleModel/momCoupleModel.C
|
||||||
$(momCoupleModels)/momCoupleModel/newMomCoupleModel.C
|
$(momCoupleModels)/momCoupleModel/newMomCoupleModel.C
|
||||||
@ -64,6 +82,7 @@ $(momCoupleModels)/noCouple/noCouple.C
|
|||||||
$(regionModels)/regionModel/regionModel.C
|
$(regionModels)/regionModel/regionModel.C
|
||||||
$(regionModels)/regionModel/newRegionModel.C
|
$(regionModels)/regionModel/newRegionModel.C
|
||||||
$(regionModels)/allRegion/allRegion.C
|
$(regionModels)/allRegion/allRegion.C
|
||||||
|
$(regionModels)/differentialRegion/differentialRegion.C
|
||||||
|
|
||||||
$(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C
|
$(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C
|
||||||
$(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C
|
$(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C
|
||||||
|
|||||||
@ -0,0 +1,136 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
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 "turboEngineSearch.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
defineTypeNameAndDebug(turboEngineSearch, 0);
|
||||||
|
|
||||||
|
addToRunTimeSelectionTable
|
||||||
|
(
|
||||||
|
locateModel,
|
||||||
|
turboEngineSearch,
|
||||||
|
dictionary
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Construct from components
|
||||||
|
turboEngineSearch::turboEngineSearch
|
||||||
|
(
|
||||||
|
const dictionary& dict,
|
||||||
|
cfdemCloud& sm
|
||||||
|
)
|
||||||
|
:
|
||||||
|
locateModel(dict,sm),
|
||||||
|
propsDict_(dict.subDict(typeName + "Props")),
|
||||||
|
treeSearch_(propsDict_.lookup("treeSearch")),
|
||||||
|
#ifdef version16ext
|
||||||
|
searchEngine_(particleCloud_.mesh(),false), //(particleCloud_.mesh(),faceDecomp_)
|
||||||
|
#elif defined(version21)
|
||||||
|
searchEngine_(particleCloud_.mesh(),polyMesh::FACEPLANES), // FACEPLANES or FACECENTRETETS; FACEDIAGTETS not stable
|
||||||
|
#endif
|
||||||
|
bb_(particleCloud_.mesh().points(),false)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
turboEngineSearch::~turboEngineSearch()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
label turboEngineSearch::findCell
|
||||||
|
(
|
||||||
|
double** const& mask,
|
||||||
|
double**& positions,
|
||||||
|
double**& cellIDs,
|
||||||
|
int size
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
bool first=true;
|
||||||
|
vector position;
|
||||||
|
for(int index = 0;index < size; ++index)
|
||||||
|
{
|
||||||
|
cellIDs[index][0]=-1;
|
||||||
|
|
||||||
|
if(mask[index][0] && particleCloud_.radius(index) > SMALL)
|
||||||
|
{
|
||||||
|
// create pos vector
|
||||||
|
for(int i=0;i<3;i++) position[i] = positions[index][i];
|
||||||
|
|
||||||
|
// find cell
|
||||||
|
if(first)
|
||||||
|
{
|
||||||
|
cellIDs[index][0] =searchEngine_.findCell(position,cellIDs[index][0],treeSearch_);
|
||||||
|
first=false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(bb_.contains(position))
|
||||||
|
cellIDs[index][0] =searchEngine_.findCell(position,cellIDs[index][0],treeSearch_);
|
||||||
|
else
|
||||||
|
cellIDs[index][0] =-1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
label turboEngineSearch::findSingleCell
|
||||||
|
(
|
||||||
|
vector& position,
|
||||||
|
label& oldCellID
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
// find cell
|
||||||
|
return searchEngine_.findCell(position,oldCellID,treeSearch_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,117 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
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
|
||||||
|
turboEngineSearch
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
turboEngineSearch.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef turboEngineSearch_H
|
||||||
|
#define turboEngineSearch_H
|
||||||
|
|
||||||
|
#include "locateModel.H"
|
||||||
|
|
||||||
|
#include "meshSearch.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class noDrag Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class turboEngineSearch
|
||||||
|
:
|
||||||
|
public locateModel
|
||||||
|
{
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
dictionary propsDict_;
|
||||||
|
|
||||||
|
Switch faceDecomp_;
|
||||||
|
|
||||||
|
Switch treeSearch_;
|
||||||
|
|
||||||
|
meshSearch searchEngine_;
|
||||||
|
|
||||||
|
boundBox bb_;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("turboEngine");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from components
|
||||||
|
turboEngineSearch
|
||||||
|
(
|
||||||
|
const dictionary& dict,
|
||||||
|
cfdemCloud& sm
|
||||||
|
);
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
|
||||||
|
~turboEngineSearch();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
label findCell
|
||||||
|
(
|
||||||
|
double** const& mask,
|
||||||
|
double**& positions,
|
||||||
|
double**& cellIDs,
|
||||||
|
int size
|
||||||
|
) const;
|
||||||
|
|
||||||
|
label findSingleCell
|
||||||
|
(
|
||||||
|
vector& position,
|
||||||
|
label& oldCellID
|
||||||
|
) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
Reference in New Issue
Block a user