From f092e67b02f9aae73f35acb05fb2f66a7e8a60f4 Mon Sep 17 00:00:00 2001 From: cfdem Date: Tue, 17 Jul 2012 16:13:20 +0200 Subject: [PATCH] release on 2012-07-17_16-13-20 --- README | 82 ++++++++++++++++++++++++ doc/CFDEMcoupling_Manual.pdf | Bin 507350 -> 507230 bytes doc/githubAccess_public.pdf | Bin 361661 -> 361661 bytes doc/locateModel_engineSearch.html | 2 +- doc/locateModel_engineSearch.txt | 2 +- doc/locateModel_turboEngineSearch.html | 8 +-- doc/locateModel_turboEngineSearch.txt | 7 +- src/lagrangian/cfdemParticle/Make/files | 18 ++++++ 8 files changed, 106 insertions(+), 13 deletions(-) create mode 100644 README 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/doc/CFDEMcoupling_Manual.pdf b/doc/CFDEMcoupling_Manual.pdf index 718fba148012c60856652c06cccfcde517e84a11..598f4080cd30eccce02c73d76ed4dbb89f97dba2 100644 GIT binary patch delta 3616 zcmai0c{r4N8z#nR?4cN9RFdlCop=4cl_f-~5h9gxXpE&rS+Z4zqJ0@{Q`WK;(juuW zEy|!erxZf8YGF>BrA6r*zVCFL_wBmA_n*10=X#d=xu5%ae$&`*)c(~-v|EvjaItt% zqDVebG$K)?kSJ0t5ivZwHDDN>hI6f5)Mo!omL z&nQ#DBU0vR@N{m#WoutmL?d6UR%qU}*n%cZl5gKV!upuS%WJp!UqWtV-rZ+XJIXpv z={o0qKwJLShQN!tfjYweW@!52h2iY}S}56G(xzrF-+g~p_{H4UH=7rx_wj;x^`h(@ z#H5I!dzwM-A$dM{lvqUKU$*^$SV zQbB*hva09L#}`iC)AZ%OT;ZQ}Tezu?g+<|e?BZK51hHK6yLsO~2y0g;O~o(m?)R(K z%8GfB<5^mM_w(Jui-oh!o>DA2BihJ(G>d(sc126bNFPJ?==M&J*UviAcJUMVJ>n3jO9cwFx97vbn{-Z`^nKyCR&{g?F`@zlq zD_zF^weZEOo6g6Ke>)qHn=YJkCsI16g>Pj0W!xl`%T@aEg^9xXa0 z*Gth(?F+hu-^&vh3;S~O*QShnY@+&2$+IZIv(1r_jJtTrNiHjWEZ%e}Z@qAeY5t}u zb3Y~}mBp>;RbWWHJdV!T#F18ZYOQ~F&p0imt;A=Odb#F%UEZC!91Cg9z7(~&I>~i; zSlg_V7n9S+Np@ad2_nI1_3{q)@$Tc|ENV2^vr5#ikA8DfaMSlMS3)$ev8iH-dR;x- zsWZ2VxM#JnRiyN(Tg7?Rg3O@#LLJk?U0qj_cdh@%9OyK7ko@jp)|T@nGoS3a)dDUZ zJ1Ws|OR7#Q2vTTbCMRU8td9tqCvcOpKO3u6+6z#wsg&3Lsxv;25%E4CHZ0TPZ0@z$ zqu)4Wl%%Ca_1)8`xo>DRKQDgdsjCv9XWouxqL92PtuZi+33ICslIA(RWUJ3i*MDEO zu_wC6AS|alq%=W?8K$8C5JdcBK2uk?wiQyXc;%^SnX?TH>`W_sDB!_T7oSzCJ)?Zq z38sexcpc3~$8P=p$#s9)q~?~YX{%hW!KVA)eMlOxQofq^yIhd6>xe@A&*=-+_KbSn zG4PzT-PU5OUviWcs`<5&=!(D!mENWox=MM=3yRIUCiIPJl5N3#HT&2nIeQ!0ga>+` zy)|FZJprE{G^hTCib;BIk74~4n@QLNY^tu?q(f41hG5J%Y zw@GqKU-9f8f(K^E&Jp>Ji&R(r5txkmmlGYEQ_3|Hm zbyiNQYS_1^!{S|G$+m)1J9;f8`n!>Mxy|dfVD!uflipcuR-q6FRL*VrQX#wd7W|9j{I} z(P#Ry$ft&Vn(bS#xMyd?fwpnyXTI#+x@+zlgAL|KBAgvh5)Ey3-c7#yBTP1AIzD}% z;%{a(#v;17z%^p`53|a;^249mUYj}{80>soqY&tv6#pwjQvns%C z@|#U!l^BjiAp7`fPKC%THqOzV#khO2yy&cwTUadvGqxMgcN}0JQpjFqzDs+)ME;i7 z#}gfHa<%K`@mvp2I^&_^X@1@A%&Ao8!~D)g%8QO%@U2UIYKXDU2tpIvD@b>H<4TUO zb&6uGL4sO+zWq%f%j}7!wMC~lJlYU6r-4zIvw7`r*5}8#cgDErH`*N^PdpsGxbXCk z{GMa{$66b#iTP%Rj*=9cgAbppeV7fxvpUe@&E9kJqnpCRIUgz|s3oUc% z-uFFnpIdRZX~QRE{H;=Qj9=xQ-kLQ&4^i!w z?CT1u{M4Ng%s?`%+_KlbYH2-S>CCs_W$viF{D6Uu5+ zgAtg<0)e0ytuP7!YIg(*1G*o8VQLKwLWUZa_5XA31cn1Zb0oR6V1f(N*dh=*XaLdX zP5_t~&ekCRC_%z7jRlh4F@Wf_0*Ih#0dP^A$^zixfGR=&lWq{TW0?_0DJ%d4`WNa! z&;a3*RAyw)6NHODUSv)*MW_t{1jnd(#n0I1RcC;t0$cT7iF5Alplfh8+bosR8U405Q5U00yJ9d>BIfl&Hc2)*Y)Dqmd2pekf1@TzL~L2XoZ;;c2!f9dt}V`o{SiJy@MZUv?@##habE(1tY-dSkL6ZY btgvw3(D0~Gfj5-OC6 zqkV#apdv*ZmVgSVfQYhh3W^IL$ZAlw2QSz+EzRxB%S2BaZi!U$mqF%c+jS+&I4Sb3pDk-SiH*Sck7 zTI3^1MNavFy1?hqs_A7F!PSVjSqFcJ zI>sqe)M;~19@S0s_b%+%(aV&3eIm5eU)n=`t#Z#ys{f~n9xHm*rgY;Doj~clm^j5f z?QP00PyLi(m8<8p$C;Z?^P6Z5lUk-PYr29rS0ST$OHVIRo8}ah@#?O+)8<*V>63iL z0h^tgDY^ajsldVc>Jo9|-6@+(JYl2WX?%-vQ< zv~e(A_i&xTO>W9HcE!%Z3$<9Z+hmL;`-<+jISMhRKX1(LGwaA91Ok;48s-(nxz0H? z_q=y!*2%xm z^*M0=QKs(|l^3oJ0er=6K0X&dKv})pRG+nQ4x~gse|I4}VRNI7xymT3zh#!ry(Z(Hd{<)o5o$@=r;`;Yy{MU)j~>m~9Ejm3?^k-a_N6&$cyz z&a#`<7f0NesAkMR2r_*C`Ris^tsjKv8@ry$Th6NW^?&1#bf&!~2Cs-+@U4zCMsJYH zUFXz+v9OQnSoq*sQ;GkWx99z!iQ2TXUB5CP!Ccf%!$Xnuq2US=N01kJt7&neF+&8P(G1jOPo6Z_4YRWdu+8_LX0lD>=L6 zfxG1)hoKbja;fN5_d0C6*MHt_lo6__of6p0yqf+Rk_~)xz)C@eBR6C$&A;2~QdMdf z)l!r_^l>D;%~Q$ya;tll@ixx)74Lh5jZxX?&gh?i3^?;y&Ar~KgSVw}+~8FZ-p{pK zXgT7Nq_F*2O}erj^$OvVGRLyjKKLsF9+{dM+so>Q5ROE@##!kP1> z{)s+S3i@|Uk~QbpMeTxmwLP}iJI)mTGdv(ZeA=^MS1;S&cgEhV6ooCvsCsV+Pk6ho8UIe{X~M)O#z1S|8of z_dxsd*D~J!v5ob4${o<#(c60*s0Y}zU)S$oXH|UOu4B_qDuPf-rO<@vP@{X zUfKP_;J<=}SMwM=qlYmhe>N~@jbSYUg7l!KxN`Z$$m1*&_C zl*6?A=5yjyGX}#C*B&Zg_~x0@@K%%R(2JukBUcSw>iUD~Jd^f)ADkJ+2zr^IqRkLA zsM`h~Sd9)JK3%~+R_}H_{lyxIcdJA6e<{A=9GX=Qn64hzS2!suScW>4qB-f06CbO0 z_en?GxudFXG*-E5q(v^G=#EJ)$1kNvtu4mwn(0AWy^4M2L)-7XCM^RqCzh|(s9v?X z01{0$lawMm_&ErR=O((eEgfFd+_aQVkUGR^_?IA|VC)*vEJ}HV*22XzdWqxP> z&$cG*1Ey6U8!m3Xv}+)(<(jX@{pa66_}usTkb`E$3lPly$Nn1A>?@%c5*SG)KE+Rd zS>P5s{FGA~ z>k`m_gmLj039}$dj38Nm#uodFCMHQzJehznSR6G05$KZSFS!Ja0&y?|jFaLl5D1IH z41sVkKxx8a5#p!`7DiASqljq!MGSwkK%gi@eU3!MStT$S`!cX-{y+9kU;qN*1#yT) zNhT1K!WMy2K?4{UUmXEhLVB%TXk42ZJ;U;v4O0W8Q2 z5uaET1gIDbfCc{r^&)7%V!=pSVljP_DTNInS~Ud}iy)|V0hu;lOjqKFs|BDiLK#8i zOUei+3#U{?QHq)YivLYL0{h=?Ie&-%puZb)sj2|B_)YX)A{K!C4M2=441lq43KgPb z^4EGC5uX_TH%&yYp)?jjq{K*ET#*2Ws3O1-m{JcH`7JG~l)iZ{g-D#BxC!7QC5gAk zNrbXMQ7Vx(Q%cw2Ab|QKiio=k5Ew=QK;VGVi~uk-mt;|%1JLiLT553sV9Ln`BE?f0 zi}Xj?8o;RX12{n;UL>HU+x=p3AUe;Kf+R#aOp8~XvLOR diff --git a/doc/githubAccess_public.pdf b/doc/githubAccess_public.pdf index 01bba353a4cd3f62af93708ad54eb75bbb8c3d45..115be5cd54ff8fe7a538bac60f2f95fcc43e5096 100644 GIT binary patch delta 103 zcmdnnDYmy$Y(fvSp|N3Oe``NuYd=$KKXYq8%hrC@3(Za@i55l%#zw}LDJI4#X-TG* d29~KwX%=aT<`x!4X-UR*HiT46U)aJb0{{%sAgBNU delta 103 zcmdnnDYmy$Y(fvSfsture``NuYd=$KKXYq8%hrC@3(Zc+1{TK2X-4L0CZ+~ymZph7 b(lpI1&A`Mw$;c!n#mvrzkc#OGTUccP7Fr;j diff --git a/doc/locateModel_engineSearch.html b/doc/locateModel_engineSearch.html index 3c44c7df..fd286783 100644 --- a/doc/locateModel_engineSearch.html +++ b/doc/locateModel_engineSearch.html @@ -19,7 +19,7 @@ engineProps treeSearch switch1; } -
  • switch1 = names of the finite volume scalar fields to be temporally averaged +
    • switch1 = switch to use tree search algorithm
    diff --git a/doc/locateModel_engineSearch.txt b/doc/locateModel_engineSearch.txt index a341b03a..2e7447ad 100644 --- a/doc/locateModel_engineSearch.txt +++ b/doc/locateModel_engineSearch.txt @@ -17,7 +17,7 @@ engineProps treeSearch switch1; \} :pre -{switch1} = names of the finite volume scalar fields to be temporally averaged :ulb,l +{switch1} = switch to use tree search algorithm :ulb,l :ule [Examples:] diff --git a/doc/locateModel_turboEngineSearch.html b/doc/locateModel_turboEngineSearch.html index a6367e6a..58c5edfe 100644 --- a/doc/locateModel_turboEngineSearch.html +++ b/doc/locateModel_turboEngineSearch.html @@ -16,13 +16,10 @@
    locateModel turboEngine;
     turboEngineProps
     {
    -    faceDecomp switch1;
    -    treeSearch switch2;
    +    treeSearch switch1;
     } 
     
    -
    • switch1 = time to start the averaging (default 0) - -
    • switch2 = names of the finite volume scalar fields to be temporally averaged +
      • switch1 = switch to use tree search algorithm
      @@ -31,7 +28,6 @@ turboEngineProps
      locateModel turboEngine;
       turboEngineProps
       {
      -    faceDecomp false;
           treeSearch false;
       } 
       
      diff --git a/doc/locateModel_turboEngineSearch.txt b/doc/locateModel_turboEngineSearch.txt index 72425788..0689ca6c 100644 --- a/doc/locateModel_turboEngineSearch.txt +++ b/doc/locateModel_turboEngineSearch.txt @@ -14,12 +14,10 @@ Defined in couplingProperties dictionary. locateModel turboEngine; turboEngineProps \{ - faceDecomp switch1; - treeSearch switch2; + treeSearch switch1; \} :pre -{switch1} = time to start the averaging (default 0) :ulb,l -{switch2} = names of the finite volume scalar fields to be temporally averaged :l +{switch1} = switch to use tree search algorithm :ulb,l :ule [Examples:] @@ -27,7 +25,6 @@ turboEngineProps locateModel turboEngine; turboEngineProps \{ - faceDecomp false; treeSearch false; \} :pre diff --git a/src/lagrangian/cfdemParticle/Make/files b/src/lagrangian/cfdemParticle/Make/files index 296016c3..276ddec6 100644 --- a/src/lagrangian/cfdemParticle/Make/files +++ b/src/lagrangian/cfdemParticle/Make/files @@ -1,5 +1,6 @@ cfdemCloud = cfdemCloud forceModels = subModels/forceModel +forceModelsMS = subModels/forceModelMS IOModels = subModels/IOModel voidFractionModels = subModels/voidFractionModel locateModels = subModels/locateModel @@ -13,23 +14,37 @@ liggghtsCommandModels = subModels/liggghtsCommandModel $(cfdemCloud)/cfdemCloud.C derived/cfdemCloudIB/cfdemCloudIB.C +derived/cfdemCloudMS/cfdemCloudMS.C $(forceModels)/forceModel/forceModel.C $(forceModels)/forceModel/newForceModel.C $(forceModels)/noDrag/noDrag.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)/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)/KochHillDragNLift/KochHillDragNLift.C + +$(forceModelsMS)/forceModelMS/forceModelMS.C +$(forceModelsMS)/forceModelMS/newForceModelMS.C +$(forceModelsMS)/DiFeliceDragMS/DiFeliceDragMS.C $(IOModels)/IOModel/IOModel.C $(IOModels)/IOModel/newIOModel.C @@ -40,6 +55,7 @@ $(voidFractionModels)/voidFractionModel/voidFractionModel.C $(voidFractionModels)/voidFractionModel/newVoidFractionModel.C $(voidFractionModels)/centreVoidFraction/centreVoidFraction.C $(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C +$(voidFractionModels)/dividedVoidFractionMS/dividedVoidFractionMS.C $(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C $(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C $(voidFractionModels)/IBVoidFraction/IBVoidFraction.C @@ -55,6 +71,7 @@ $(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 @@ -65,6 +82,7 @@ $(momCoupleModels)/noCouple/noCouple.C $(regionModels)/regionModel/regionModel.C $(regionModels)/regionModel/newRegionModel.C $(regionModels)/allRegion/allRegion.C +$(regionModels)/differentialRegion/differentialRegion.C $(dataExchangeModels)/dataExchangeModel/dataExchangeModel.C $(dataExchangeModels)/dataExchangeModel/newDataExchangeModel.C