diff --git a/README b/README new file mode 100644 index 00000000..a677e0a8 --- /dev/null +++ b/README @@ -0,0 +1,82 @@ +/*---------------------------------------------------------------------------*\ + 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. +\*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/cfdemPostproc/cfdemPostproc.C b/applications/utilities/cfdemPostproc/cfdemPostproc.C index 52dc61c5..7fbec647 100644 --- a/applications/utilities/cfdemPostproc/cfdemPostproc.C +++ b/applications/utilities/cfdemPostproc/cfdemPostproc.C @@ -62,6 +62,7 @@ int main(int argc, char *argv[]) int count=0; int DEM_dump_Interval=1000; + particleCloud.reAllocArrays(); double **positions_; double **velocities_; @@ -73,11 +74,14 @@ int main(int argc, char *argv[]) particleCloud.dataExchangeM().allocateArray(positions_,0.,3); particleCloud.dataExchangeM().allocateArray(velocities_,0.,3); - particleCloud.dataExchangeM().allocateArray(radii_,0.,1); + particleCloud.get_radii(radii_); // get ref to radii + //particleCloud.dataExchangeM().allocateArray(radii_,0.,1); particleCloud.dataExchangeM().allocateArray(voidfractions_,0.,1); particleCloud.dataExchangeM().allocateArray(particleWeights_,0.,1); particleCloud.dataExchangeM().allocateArray(particleVolumes_,0.,1); - particleCloud.dataExchangeM().allocateArray(cellIDs_,0.,1); + particleCloud.get_cellIDs(cellIDs_); // get ref to cellIDs + //particleCloud.dataExchangeM().allocateArray(cellIDs_,0.,1); + while (runTime.loop()) { @@ -97,12 +101,8 @@ int main(int argc, char *argv[]) particleCloud.dataExchangeM().getData("v","vector-atom",velocities_,count); particleCloud.dataExchangeM().getData("radius","scalar-atom",radii_,count); - particleCloud.set_radii(radii_); - particleCloud.locateM().findCell(NULL,positions_,cellIDs_,particleCloud.numberOfParticles()); - particleCloud.set_cellIDs(cellIDs_); - particleCloud.voidFractionM().setvoidFraction ( NULL,voidfractions_,particleWeights_,particleVolumes_ @@ -128,13 +128,13 @@ int main(int argc, char *argv[]) } - delete positions_; - delete velocities_; - delete radii_; - delete voidfractions_; - delete particleWeights_; - delete particleVolumes_; - delete cellIDs_; + particleCloud.dataExchangeM().destroy(positions_,3); + particleCloud.dataExchangeM().destroy(velocities_,3); + //particleCloud.dataExchangeM().destroy(radii_); // destroyed in cloud + particleCloud.dataExchangeM().destroy(voidfractions_,1); + particleCloud.dataExchangeM().destroy(particleWeights_,1); + particleCloud.dataExchangeM().destroy(particleVolumes_,1); + //particleCloud.dataExchangeM().destroy(cellIDs_); // destroyed in cloud Info<< "End\n" << endl; diff --git a/doc/CFDEMcoupling_Manual.pdf b/doc/CFDEMcoupling_Manual.pdf new file mode 100644 index 00000000..455d35f7 Binary files /dev/null and b/doc/CFDEMcoupling_Manual.pdf differ diff --git a/doc/githubAccess_public.pdf b/doc/githubAccess_public.pdf new file mode 100644 index 00000000..4e14c2ce Binary files /dev/null and b/doc/githubAccess_public.pdf differ diff --git a/doc/liggghtsCommandModel_writeLiggghts.html b/doc/liggghtsCommandModel_writeLiggghts.html index 709e7063..685b9014 100644 --- a/doc/liggghtsCommandModel_writeLiggghts.html +++ b/doc/liggghtsCommandModel_writeLiggghts.html @@ -25,7 +25,7 @@ writeLiggghtsProps overwrite switch2; } -