From b2e028fb4bcb657139962e3dbdf803fc91c0ceb7 Mon Sep 17 00:00:00 2001 From: Christoph Goniva Date: Mon, 5 Sep 2016 10:53:18 +0200 Subject: [PATCH] release on 2016-09-05_10-53-18 --- COPYING | 678 -- DISCLAIMER | 10 - README | 107 - .../solvers/cfdemSolverIB/cfdemSolverIB.C | 2 +- .../solvers/cfdemSolverIB/createFields.H | 15 + .../solvers/cfdemSolverPiso/cfdemSolverPiso.C | 54 +- .../solvers/cfdemSolverPiso/createFields.H | 16 +- .../cfdemSolverPisoSTM/cfdemSolverPisoSTM.C | 46 +- .../solvers/cfdemSolverPisoSTM/createFields.H | 26 +- .../cfdemSolverPisoScalar.C | 30 +- .../cfdemSolverPisoScalar/createFields.H | 14 +- doc/CFDEMcoupling_Manual.html | 246 +- doc/CFDEMcoupling_Manual.pdf | Bin 615272 -> 0 bytes doc/CFDEMcoupling_Manual.txt | 257 + doc/IOModel.html | 40 - doc/IOModel.txt | 36 + doc/IOModel_basicIO.html | 32 - doc/IOModel_basicIO.txt | 29 + doc/IOModel_noIO.html | 32 - doc/IOModel_noIO.txt | 29 + doc/IOModel_sophIO.html | 32 - doc/IOModel_sophIO.txt | 29 + doc/IOModel_trackIO.html | 32 - doc/IOModel_trackIO.txt | 29 + .../doctrees/CFDEMcoupling_Manual.doctree | Bin 0 -> 93626 bytes doc/_build/doctrees/IOModel.doctree | Bin 0 -> 8174 bytes doc/_build/doctrees/IOModel_basicIO.doctree | Bin 0 -> 7975 bytes doc/_build/doctrees/IOModel_noIO.doctree | Bin 0 -> 7251 bytes doc/_build/doctrees/IOModel_sophIO.doctree | Bin 0 -> 7554 bytes doc/_build/doctrees/IOModel_trackIO.doctree | Bin 0 -> 7771 bytes doc/_build/doctrees/averagingModel.doctree | Bin 0 -> 9075 bytes .../doctrees/averagingModel_dense.doctree | Bin 0 -> 8301 bytes .../doctrees/averagingModel_dilute.doctree | Bin 0 -> 8693 bytes doc/_build/doctrees/cfdemSolverIB.doctree | Bin 0 -> 14927 bytes doc/_build/doctrees/cfdemSolverPiso.doctree | Bin 0 -> 7606 bytes .../doctrees/cfdemSolverPisoScalar.doctree | Bin 0 -> 8768 bytes doc/_build/doctrees/clockModel.doctree | Bin 0 -> 8016 bytes .../doctrees/clockModel_noClock.doctree | Bin 0 -> 7431 bytes .../doctrees/clockModel_standardClock.doctree | Bin 0 -> 12541 bytes doc/_build/doctrees/dataExchangeModel.doctree | Bin 0 -> 10095 bytes .../dataExchangeModel_noDataExchange.doctree | Bin 0 -> 7657 bytes .../dataExchangeModel_oneWayVTK.doctree | Bin 0 -> 10439 bytes .../dataExchangeModel_twoWayFiles.doctree | Bin 0 -> 9983 bytes .../dataExchangeModel_twoWayMPI.doctree | Bin 0 -> 8849 bytes doc/_build/doctrees/environment.pickle | Bin 0 -> 182363 bytes doc/_build/doctrees/forceModel.doctree | Bin 0 -> 11470 bytes .../doctrees/forceModel_Archimedes.doctree | Bin 0 -> 11985 bytes .../doctrees/forceModel_ArchimedesIB.doctree | Bin 0 -> 11377 bytes .../doctrees/forceModel_DiFeliceDrag.doctree | Bin 0 -> 17779 bytes .../doctrees/forceModel_GidaspowDrag.doctree | Bin 0 -> 20434 bytes .../doctrees/forceModel_KochHillDrag.doctree | Bin 0 -> 19073 bytes .../forceModel_LaEuScalarTemp.doctree | Bin 0 -> 18569 bytes .../doctrees/forceModel_MeiLift.doctree | Bin 0 -> 14628 bytes .../forceModel_SchillerNaumannDrag.doctree | Bin 0 -> 12058 bytes .../doctrees/forceModel_ShirgaonkarIB.doctree | Bin 0 -> 13823 bytes .../forceModel_checkCouplingInterval.doctree | Bin 0 -> 14889 bytes .../doctrees/forceModel_fieldStore.doctree | Bin 0 -> 9546 bytes .../forceModel_fieldTimeAverage.doctree | Bin 0 -> 10525 bytes .../doctrees/forceModel_gradPForce.doctree | Bin 0 -> 14060 bytes doc/_build/doctrees/forceModel_noDrag.doctree | Bin 0 -> 12419 bytes .../forceModel_particleCellVolume.doctree | Bin 0 -> 11991 bytes .../forceModel_particleVolume.doctree | Bin 0 -> 10302 bytes .../forceModel_scalarGeneralExchange.doctree | Bin 0 -> 35134 bytes .../forceModel_virtualMassForce.doctree | Bin 0 -> 14421 bytes .../doctrees/forceModel_viscForce.doctree | Bin 0 -> 15102 bytes .../forceModel_volWeightedAverage.doctree | Bin 0 -> 14572 bytes doc/_build/doctrees/forceSubModel.doctree | Bin 0 -> 16534 bytes .../doctrees/forceSubModel_ImEx.doctree | Bin 0 -> 10682 bytes .../doctrees/githubAccess_public.doctree | Bin 0 -> 49644 bytes .../doctrees/liggghtsCommandModel.doctree | Bin 0 -> 7897 bytes .../liggghtsCommandModel_execute.doctree | Bin 0 -> 15329 bytes ...gghtsCommandModel_readLiggghtsData.doctree | Bin 0 -> 14262 bytes .../liggghtsCommandModel_runLiggghts.doctree | Bin 0 -> 8740 bytes ...liggghtsCommandModel_setDEMGravity.doctree | Bin 0 -> 12071 bytes ...liggghtsCommandModel_writeLiggghts.doctree | Bin 0 -> 11651 bytes doc/_build/doctrees/locateModel.doctree | Bin 0 -> 7914 bytes .../doctrees/locateModel_engineSearch.doctree | Bin 0 -> 9613 bytes .../locateModel_engineSearchIB.doctree | Bin 0 -> 12960 bytes .../locateModel_standardSearch.doctree | Bin 0 -> 7643 bytes doc/_build/doctrees/meshMotionModel.doctree | Bin 0 -> 7851 bytes .../meshMotionModel_noMeshMotion.doctree | Bin 0 -> 7503 bytes doc/_build/doctrees/momCoupleModel.doctree | Bin 0 -> 11524 bytes .../momCoupleModel_explicitCouple.doctree | Bin 0 -> 8912 bytes .../momCoupleModel_implicitCouple.doctree | Bin 0 -> 10658 bytes .../doctrees/momCoupleModel_noCouple.doctree | Bin 0 -> 7587 bytes doc/_build/doctrees/probeModel.doctree | Bin 0 -> 9043 bytes .../doctrees/probeModel_noProbe.doctree | Bin 0 -> 8232 bytes .../doctrees/probeModel_particleProbe.doctree | Bin 0 -> 22175 bytes doc/_build/doctrees/regionModel.doctree | Bin 0 -> 7909 bytes .../doctrees/regionModel_allRegion.doctree | Bin 0 -> 7621 bytes .../doctrees/scalarTransportModel.doctree | Bin 0 -> 17186 bytes doc/_build/doctrees/smoothingModel.doctree | Bin 0 -> 9436 bytes .../smoothingModel_constDiffSmoothing.doctree | Bin 0 -> 13458 bytes .../smoothingModel_noSmoothing.doctree | Bin 0 -> 7501 bytes doc/_build/doctrees/voidFractionModel.doctree | Bin 0 -> 7913 bytes ...oidFractionModel_GaussVoidFraction.doctree | Bin 0 -> 13052 bytes .../voidFractionModel_IBVoidFraction.doctree | Bin 0 -> 12653 bytes ...ctionModel_bigParticleVoidFraction.doctree | Bin 0 -> 13114 bytes ...idFractionModel_centreVoidFraction.doctree | Bin 0 -> 9713 bytes ...dFractionModel_dividedVoidFraction.doctree | Bin 0 -> 14888 bytes .../voidFractionModel_noVoidFraction.doctree | Bin 0 -> 7597 bytes ...ractionModel_trilinearVoidFraction.doctree | Bin 0 -> 9419 bytes doc/_build/html/.buildinfo | 4 + doc/_build/html/CFDEMcoupling_Manual.html | 451 + doc/_build/html/IOModel.html | 229 + doc/_build/html/IOModel_basicIO.html | 227 + doc/_build/html/IOModel_noIO.html | 227 + doc/_build/html/IOModel_sophIO.html | 227 + doc/_build/html/IOModel_trackIO.html | 227 + .../html/_images}/Portfolio_CFDEMcoupling.png | Bin .../html/_sources/CFDEMcoupling_Manual.txt | 314 + doc/_build/html/_sources/IOModel.txt | 45 + doc/_build/html/_sources/IOModel_basicIO.txt | 39 + doc/_build/html/_sources/IOModel_noIO.txt | 39 + doc/_build/html/_sources/IOModel_sophIO.txt | 39 + doc/_build/html/_sources/IOModel_trackIO.txt | 39 + doc/_build/html/_sources/averagingModel.txt | 48 + .../html/_sources/averagingModel_dense.txt | 41 + .../html/_sources/averagingModel_dilute.txt | 42 + doc/_build/html/_sources/cfdemSolverIB.txt | 51 + doc/_build/html/_sources/cfdemSolverPiso.txt | 28 + .../html/_sources/cfdemSolverPisoScalar.txt | 30 + doc/_build/html/_sources/clockModel.txt | 42 + .../html/_sources/clockModel_noClock.txt | 39 + .../_sources/clockModel_standardClock.txt | 41 + .../html/_sources/dataExchangeModel.txt | 48 + .../dataExchangeModel_noDataExchange.txt | 41 + .../_sources/dataExchangeModel_oneWayVTK.txt | 61 + .../dataExchangeModel_twoWayFiles.txt | 57 + .../_sources/dataExchangeModel_twoWayMPI.txt | 52 + doc/_build/html/_sources/forceModel.txt | 57 + .../html/_sources/forceModel_Archimedes.txt | 66 + .../html/_sources/forceModel_ArchimedesIB.txt | 65 + .../html/_sources/forceModel_DiFeliceDrag.txt | 85 + .../html/_sources/forceModel_GidaspowDrag.txt | 92 + .../html/_sources/forceModel_KochHillDrag.txt | 87 + .../_sources/forceModel_LaEuScalarTemp.txt | 94 + .../html/_sources/forceModel_MeiLift.txt | 77 + .../forceModel_SchillerNaumannDrag.txt | 68 + .../_sources/forceModel_ShirgaonkarIB.txt | 73 + .../forceModel_checkCouplingInterval.txt | 74 + .../html/_sources/forceModel_fieldStore.txt | 73 + .../_sources/forceModel_fieldTimeAverage.txt | 76 + .../html/_sources/forceModel_gradPForce.txt | 74 + .../html/_sources/forceModel_noDrag.txt | 67 + .../forceModel_particleCellVolume.txt | 69 + .../_sources/forceModel_particleVolume.txt | 64 + .../forceModel_scalarGeneralExchange.txt | 192 + .../_sources/forceModel_virtualMassForce.txt | 74 + .../html/_sources/forceModel_viscForce.txt | 74 + .../forceModel_volWeightedAverage.txt | 91 + doc/_build/html/_sources/forceSubModel.txt | 77 + .../html/_sources/forceSubModel_ImEx.txt | 48 + .../html/_sources/githubAccess_public.txt | 317 + .../html/_sources/liggghtsCommandModel.txt | 50 + .../_sources/liggghtsCommandModel_execute.txt | 99 + .../liggghtsCommandModel_readLiggghtsData.txt | 91 + .../liggghtsCommandModel_runLiggghts.txt | 51 + .../liggghtsCommandModel_setDEMGravity.txt | 70 + .../liggghtsCommandModel_writeLiggghts.txt | 62 + doc/_build/html/_sources/locateModel.txt | 40 + .../_sources/locateModel_engineSearch.txt | 55 + .../_sources/locateModel_engineSearchIB.txt | 68 + .../_sources/locateModel_standardSearch.txt | 39 + doc/_build/html/_sources/meshMotionModel.txt | 40 + .../_sources/meshMotionModel_noMeshMotion.txt | 39 + doc/_build/html/_sources/momCoupleModel.txt | 51 + .../momCoupleModel_explicitCouple.txt | 58 + .../momCoupleModel_implicitCouple.txt | 66 + .../html/_sources/momCoupleModel_noCouple.txt | 47 + doc/_build/html/_sources/probeModel.txt | 52 + .../html/_sources/probeModel_noProbe.txt | 51 + .../_sources/probeModel_particleProbe.txt | 90 + doc/_build/html/_sources/regionModel.txt | 40 + .../html/_sources/regionModel_allRegion.txt | 39 + .../html/_sources/scalarTransportModel.txt | 95 + doc/_build/html/_sources/smoothingModel.txt | 50 + .../smoothingModel_constDiffSmoothing.txt | 63 + .../_sources/smoothingModel_noSmoothing.txt | 39 + .../html/_sources/voidFractionModel.txt | 40 + .../voidFractionModel_GaussVoidFraction.txt | 63 + .../voidFractionModel_IBVoidFraction.txt | 62 + ...dFractionModel_bigParticleVoidFraction.txt | 65 + .../voidFractionModel_centreVoidFraction.txt | 55 + .../voidFractionModel_dividedVoidFraction.txt | 69 + .../voidFractionModel_noVoidFraction.txt | 35 + ...oidFractionModel_trilinearVoidFraction.txt | 50 + doc/_build/html/_static/ajax-loader.gif | Bin 0 -> 673 bytes doc/_build/html/_static/basic.css | 537 + doc/_build/html/_static/comment-bright.png | Bin 0 -> 3500 bytes doc/_build/html/_static/comment-close.png | Bin 0 -> 3578 bytes doc/_build/html/_static/comment.png | Bin 0 -> 3445 bytes doc/_build/html/_static/css/badge_only.css | 2 + .../html/_static/css/badge_only.css.map | 7 + doc/_build/html/_static/css/theme.css | 5 + doc/_build/html/_static/css/theme.css.map | 7 + doc/_build/html/_static/doctools.js | 238 + doc/_build/html/_static/down-pressed.png | Bin 0 -> 368 bytes doc/_build/html/_static/down.png | Bin 0 -> 363 bytes doc/_build/html/_static/file.png | Bin 0 -> 392 bytes doc/_build/html/_static/fonts/FontAwesome.otf | Bin 0 -> 85908 bytes .../html/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 66352 bytes .../_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 84548 bytes doc/_build/html/_static/fonts/Lato-Bold.ttf | Bin 0 -> 121788 bytes .../html/_static/fonts/Lato-Regular.ttf | Bin 0 -> 120196 bytes .../html/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes .../html/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes .../_static/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes .../_static/fonts/fontawesome-webfont.svg | 520 + .../_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes .../_static/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes doc/_build/html/_static/jquery.js | 9404 +++++++++++++++++ doc/_build/html/_static/js/modernizr.min.js | 4 + doc/_build/html/_static/js/theme.js | 156 + doc/_build/html/_static/minus.png | Bin 0 -> 199 bytes doc/_build/html/_static/plus.png | Bin 0 -> 199 bytes doc/_build/html/_static/pygments.css | 62 + doc/_build/html/_static/searchtools.js | 622 ++ doc/_build/html/_static/underscore.js | 1226 +++ doc/_build/html/_static/up-pressed.png | Bin 0 -> 372 bytes doc/_build/html/_static/up.png | Bin 0 -> 363 bytes doc/_build/html/_static/websupport.js | 808 ++ doc/_build/html/averagingModel.html | 232 + doc/_build/html/averagingModel_dense.html | 226 + doc/_build/html/averagingModel_dilute.html | 227 + doc/_build/html/cfdemSolverIB.html | 221 + doc/_build/html/cfdemSolverPiso.html | 206 + doc/_build/html/cfdemSolverPisoScalar.html | 207 + doc/_build/html/clockModel.html | 228 + doc/_build/html/clockModel_noClock.html | 227 + doc/_build/html/clockModel_standardClock.html | 229 + doc/_build/html/dataExchangeModel.html | 232 + .../dataExchangeModel_noDataExchange.html | 226 + .../html/dataExchangeModel_oneWayVTK.html | 246 + .../html/dataExchangeModel_twoWayFiles.html | 242 + .../html/dataExchangeModel_twoWayMPI.html | 237 + doc/_build/html/forceModel.html | 240 + doc/_build/html/forceModel_Archimedes.html | 251 + doc/_build/html/forceModel_ArchimedesIB.html | 250 + doc/_build/html/forceModel_DiFeliceDrag.html | 270 + doc/_build/html/forceModel_GidaspowDrag.html | 277 + doc/_build/html/forceModel_KochHillDrag.html | 272 + .../html/forceModel_LaEuScalarTemp.html | 279 + doc/_build/html/forceModel_MeiLift.html | 262 + .../html/forceModel_SchillerNaumannDrag.html | 253 + doc/_build/html/forceModel_ShirgaonkarIB.html | 256 + .../forceModel_checkCouplingInterval.html | 259 + doc/_build/html/forceModel_fieldStore.html | 258 + .../html/forceModel_fieldTimeAverage.html | 261 + doc/_build/html/forceModel_gradPForce.html | 259 + doc/_build/html/forceModel_noDrag.html | 251 + .../html/forceModel_particleCellVolume.html | 254 + .../html/forceModel_particleVolume.html | 249 + .../forceModel_scalarGeneralExchange.html | 372 + .../html/forceModel_virtualMassForce.html | 259 + doc/_build/html/forceModel_viscForce.html | 259 + .../html/forceModel_volWeightedAverage.html | 276 + doc/_build/html/forceSubModel.html | 252 + doc/_build/html/forceSubModel_ImEx.html | 234 + doc/_build/html/genindex.html | 594 ++ doc/_build/html/githubAccess_public.html | 411 + doc/_build/html/liggghtsCommandModel.html | 234 + .../html/liggghtsCommandModel_execute.html | 290 + ...liggghtsCommandModel_readLiggghtsData.html | 276 + .../liggghtsCommandModel_runLiggghts.html | 239 + .../liggghtsCommandModel_setDEMGravity.html | 258 + .../liggghtsCommandModel_writeLiggghts.html | 250 + doc/_build/html/locateModel.html | 227 + doc/_build/html/locateModel_engineSearch.html | 243 + .../html/locateModel_engineSearchIB.html | 251 + .../html/locateModel_standardSearch.html | 227 + doc/_build/html/meshMotionModel.html | 227 + .../html/meshMotionModel_noMeshMotion.html | 227 + doc/_build/html/momCoupleModel.html | 234 + .../html/momCoupleModel_explicitCouple.html | 243 + .../html/momCoupleModel_implicitCouple.html | 251 + doc/_build/html/momCoupleModel_noCouple.html | 232 + doc/_build/html/objects.inv | 5 + doc/_build/html/probeModel.html | 231 + doc/_build/html/probeModel_noProbe.html | 231 + doc/_build/html/probeModel_particleProbe.html | 270 + doc/_build/html/regionModel.html | 227 + doc/_build/html/regionModel_allRegion.html | 227 + doc/_build/html/scalarTransportModel.html | 277 + doc/_build/html/search.html | 204 + doc/_build/html/searchindex.js | 1 + doc/_build/html/smoothingModel.html | 234 + .../smoothingModel_constDiffSmoothing.html | 250 + .../html/smoothingModel_noSmoothing.html | 227 + doc/_build/html/voidFractionModel.html | 227 + .../voidFractionModel_GaussVoidFraction.html | 249 + .../voidFractionModel_IBVoidFraction.html | 248 + ...FractionModel_bigParticleVoidFraction.html | 250 + .../voidFractionModel_centreVoidFraction.html | 242 + ...voidFractionModel_dividedVoidFraction.html | 254 + .../voidFractionModel_noVoidFraction.html | 223 + ...idFractionModel_trilinearVoidFraction.html | 238 + doc/averagingModel.html | 41 - doc/averagingModel.txt | 37 + doc/averagingModel_dense.html | 34 - doc/averagingModel_dense.txt | 31 + doc/averagingModel_dilute.html | 35 - doc/averagingModel_dilute.txt | 32 + doc/cfdemSolverIB.html | 53 - doc/cfdemSolverIB.txt | 44 + doc/cfdemSolverPiso.html | 26 - doc/cfdemSolverPiso.txt | 24 + doc/cfdemSolverPisoScalar.html | 28 - doc/cfdemSolverPisoScalar.txt | 25 + doc/clockModel.html | 36 - doc/clockModel.txt | 32 + doc/clockModel_noClock.html | 32 - doc/clockModel_noClock.txt | 29 + doc/clockModel_standardClock.html | 34 - doc/clockModel_standardClock.txt | 31 + doc/dataExchangeModel.html | 41 - doc/dataExchangeModel.txt | 37 + doc/dataExchangeModel_noDataExchange.html | 34 - doc/dataExchangeModel_noDataExchange.txt | 31 + doc/dataExchangeModel_oneWayVTK.html | 58 - doc/dataExchangeModel_oneWayVTK.txt | 51 + doc/dataExchangeModel_twoWayFiles.html | 53 - doc/dataExchangeModel_twoWayFiles.txt | 47 + doc/dataExchangeModel_twoWayMPI.html | 46 - doc/dataExchangeModel_twoWayMPI.txt | 42 + doc/forceModel.html | 50 - doc/forceModel.txt | 46 + doc/forceModel_Archimedes.html | 61 - doc/forceModel_Archimedes.txt | 56 + doc/forceModel_ArchimedesIB.html | 62 - doc/forceModel_ArchimedesIB.txt | 55 + doc/forceModel_DiFeliceDrag.html | 92 - doc/forceModel_DiFeliceDrag.txt | 75 + doc/forceModel_GidaspowDrag.html | 101 - doc/forceModel_GidaspowDrag.txt | 82 + doc/forceModel_KochHillDrag.html | 94 - doc/forceModel_KochHillDrag.txt | 77 + doc/forceModel_LaEuScalarTemp.html | 102 - doc/forceModel_LaEuScalarTemp.txt | 84 + doc/forceModel_MeiLift.html | 79 - doc/forceModel_MeiLift.txt | 67 + doc/forceModel_SchillerNaumannDrag.html | 66 - doc/forceModel_SchillerNaumannDrag.txt | 58 + doc/forceModel_ShirgaonkarIB.html | 72 - doc/forceModel_ShirgaonkarIB.txt | 63 + doc/forceModel_checkCouplingInterval.txt | 64 + doc/forceModel_fieldStore.html | 68 - doc/forceModel_fieldStore.txt | 63 + doc/forceModel_fieldTimeAverage.html | 72 - doc/forceModel_fieldTimeAverage.txt | 66 + doc/forceModel_gradPForce.html | 75 - doc/forceModel_gradPForce.txt | 64 + doc/forceModel_noDrag.html | 62 - doc/forceModel_noDrag.txt | 54 + doc/forceModel_particleCellVolume.html | 67 - doc/forceModel_particleCellVolume.txt | 59 + doc/forceModel_particleVolume.html | 61 - doc/forceModel_particleVolume.txt | 54 + doc/forceModel_scalarGeneralExchange.html | 212 - doc/forceModel_scalarGeneralExchange.txt | 184 + doc/forceModel_virtualMassForce.html | 76 - doc/forceModel_virtualMassForce.txt | 64 + doc/forceModel_viscForce.html | 76 - doc/forceModel_viscForce.txt | 64 + doc/forceModel_volWeightedAverage.html | 93 - doc/forceModel_volWeightedAverage.txt | 81 + doc/forceSubModel.html | 70 - doc/forceSubModel.txt | 58 + doc/forceSubModel_ImEx.html | 45 - doc/forceSubModel_ImEx.txt | 42 + doc/githubAccess_public.html | 284 - doc/githubAccess_public.pdf | Bin 371232 -> 0 bytes doc/githubAccess_public.txt | 263 + doc/liggghtsCommandModel.html | 44 - doc/liggghtsCommandModel.txt | 40 + doc/liggghtsCommandModel_execute.html | 97 - doc/liggghtsCommandModel_execute.txt | 88 + ...liggghtsCommandModel_readLiggghtsData.html | 93 - doc/liggghtsCommandModel_readLiggghtsData.txt | 82 + doc/liggghtsCommandModel_runLiggghts.html | 44 - doc/liggghtsCommandModel_runLiggghts.txt | 41 + doc/liggghtsCommandModel_setDEMGravity.txt | 60 + doc/liggghtsCommandModel_writeLiggghts.html | 59 - doc/liggghtsCommandModel_writeLiggghts.txt | 52 + doc/locateModel.html | 34 - doc/locateModel.txt | 30 + doc/locateModel_engineSearch.html | 51 - doc/locateModel_engineSearch.txt | 45 + doc/locateModel_engineSearchIB.html | 73 - doc/locateModel_engineSearchIB.txt | 58 + doc/locateModel_standardSearch.html | 32 - doc/locateModel_standardSearch.txt | 30 + doc/meshMotionModel.html | 34 - doc/meshMotionModel.txt | 30 + doc/meshMotionModel_noMeshMotion.html | 32 - doc/meshMotionModel_noMeshMotion.txt | 29 + doc/momCoupleModel.html | 45 - doc/momCoupleModel.txt | 41 + doc/momCoupleModel_explicitCouple.html | 52 - doc/momCoupleModel_explicitCouple.txt | 48 + doc/momCoupleModel_implicitCouple.html | 62 - doc/momCoupleModel_implicitCouple.txt | 56 + doc/momCoupleModel_noCouple.html | 40 - doc/momCoupleModel_noCouple.txt | 38 + doc/probeModel.html | 42 - doc/probeModel.txt | 38 + doc/probeModel_noProbe.html | 45 - doc/probeModel_noProbe.txt | 41 + doc/probeModel_particleProbe.html | 94 - doc/probeModel_particleProbe.txt | 82 + doc/regionModel.html | 34 - doc/regionModel.txt | 30 + doc/regionModel_allRegion.html | 32 - doc/regionModel_allRegion.txt | 29 + doc/scalarTransportModel.html | 89 - doc/scalarTransportModel.txt | 78 + doc/smoothingModel.html | 40 - doc/smoothingModel.txt | 34 + doc/smoothingModel_constDiffSmoothing.html | 61 - doc/smoothingModel_constDiffSmoothing.txt | 54 + doc/smoothingModel_noSmoothing.html | 32 - doc/smoothingModel_noSmoothing.txt | 29 + doc/voidFractionModel.html | 34 - doc/voidFractionModel.txt | 30 + doc/voidFractionModel_GaussVoidFraction.html | 60 - doc/voidFractionModel_GaussVoidFraction.txt | 53 + doc/voidFractionModel_IBVoidFraction.html | 59 - doc/voidFractionModel_IBVoidFraction.txt | 52 + ...FractionModel_bigParticleVoidFraction.html | 62 - ...dFractionModel_bigParticleVoidFraction.txt | 55 + doc/voidFractionModel_centreVoidFraction.html | 50 - doc/voidFractionModel_centreVoidFraction.txt | 45 + ...voidFractionModel_dividedVoidFraction.html | 66 - doc/voidFractionModel_dividedVoidFraction.txt | 59 + doc/voidFractionModel_noVoidFraction.html | 32 - doc/voidFractionModel_noVoidFraction.txt | 29 + ...idFractionModel_trilinearVoidFraction.html | 44 - ...oidFractionModel_trilinearVoidFraction.txt | 39 + .../scalarTransportModelsCFDEM/Make/files | 1 + .../eulerianScalarField/eulerianScalarField.C | 22 +- .../eulerianScalarField/eulerianScalarField.H | 2 +- .../generalManual/generalManual.C | 16 +- .../noTransport/noTransport.C | 8 +- .../noTransport/noTransport.H | 2 +- .../phaseChangeModel/phaseChangeModel.C | 36 +- .../scalarTransportModel.C | 2 +- .../scalarTransportModel.H | 2 +- .../temperatureModel/temperatureModel.C | 2 +- .../temperatureModel/temperatureModel.H | 2 +- src/lagrangian/cfdemParticle/Make/files | 125 - src/lagrangian/cfdemParticle/Make/options | 34 - .../cfdemParticle/cfdTools/forceCheckEx.H | 16 +- .../cfdemParticle/cfdTools/forceCheckIm.H | 11 +- .../cfdTools/readPISOControls_OF30.H | 1 - .../cfdemParticle/cfdTools/setupProbeModel.H | 6 +- .../cfdemParticle/cfdTools/versionInfo.H | 4 +- .../cfdemParticle/cfdemCloud/cfdemCloud.C | 55 +- .../cfdemParticle/cfdemCloud/cfdemCloud.H | 22 +- .../cfdemParticle/cfdemCloud/cfdemCloudI.H | 25 + .../derived/cfdemCloudIB/cfdemCloudIB.C | 98 +- .../derived/cfdemCloudIB/cfdemCloudIB.H | 11 +- .../cfdemParticle/etc/OFversion/OFversion.H | 42 - .../cfdemParticle/etc/additionalLibs_2.4.x | 41 - .../cfdemParticle/etc/additionalLibs_3.0.x | 43 - .../cfdemParticle/etc/additionalLibs_3.2 | 45 - src/lagrangian/cfdemParticle/etc/bashrc | 20 +- .../cfdemParticle/etc/cfdemSystemTest.sh | 5 + .../cfdemParticle/etc/compileCFDEMcoupling.sh | 6 +- .../etc/compileCFDEMcoupling_all.sh | 4 +- .../etc/compileCFDEMcoupling_sol.sh | 9 +- .../etc/compileCFDEMcoupling_uti.sh | 24 +- src/lagrangian/cfdemParticle/etc/cshrc | 30 +- src/lagrangian/cfdemParticle/etc/functions.sh | 160 +- .../etc/library-liggghts-list.txt | 3 - .../cfdemParticle/etc/library-list.txt | 2 - .../cfdemParticle/etc/solver-list.txt | 4 - .../cfdemParticle/etc/tutorial-list.txt | 22 - .../cfdemParticle/etc/utilities-list.txt | 1 - .../averagingModel/averagingModel.C | 43 +- .../dataExchangeModel/dataExchangeModel.H | 5 +- .../dataExchangeModel/twoWayMPI/twoWayMPI.C | 5 +- .../forceModel/Archimedes/Archimedes.C | 80 +- .../forceModel/ArchimedesIB/ArchimedesIB.C | 2 +- .../forceModel/DiFeliceDrag/DiFeliceDrag.C | 48 +- .../forceModel/DiFeliceDrag/DiFeliceDrag.H | 4 - .../forceModel/GidaspowDrag/GidaspowDrag.C | 71 +- .../forceModel/GidaspowDrag/GidaspowDrag.H | 4 - .../forceModel/KochHillDrag/KochHillDrag.C | 38 +- .../forceModel/KochHillDrag/KochHillDrag.H | 6 +- .../LaEuScalarTemp/LaEuScalarTemp.C | 60 +- .../LaEuScalarTemp/LaEuScalarTemp.H | 7 +- .../subModels/forceModel/MeiLift/MeiLift.C | 47 +- .../subModels/forceModel/MeiLift/MeiLift.H | 3 - .../SchillerNaumannDrag/SchillerNaumannDrag.C | 42 +- .../SchillerNaumannDrag/SchillerNaumannDrag.H | 4 - .../forceModel/ShirgaonkarIB/ShirgaonkarIB.C | 2 +- .../checkCouplingInterval.C | 135 +- .../checkCouplingInterval.H | 18 + .../forceModel/forceModel/forceModel.C | 4 + .../forceSubModel/forceSubModel.C | 66 +- .../forceSubModel/forceSubModel.H | 22 +- .../forceModel/gradPForce/gradPForce.C | 2 +- .../subModels/forceModel/noDrag/noDrag.C | 23 +- .../subModels/forceModel/noDrag/noDrag.H | 6 +- .../particleCellVolume/particleCellVolume.C | 6 +- .../scalarGeneralExchange.C | 62 +- .../virtualMassForce/virtualMassForce.C | 23 +- .../forceModel/viscForce/viscForce.C | 2 +- .../volWeightedAverage/volWeightedAverage.C | 6 +- .../liggghtsCommandModel/execute/execute.C | 3 +- .../liggghtsCommandModel/execute/execute.H | 2 - .../liggghtsCommandModel.C | 8 +- .../liggghtsCommandModel.H | 4 +- .../setDEMGravity/setDEMGravity.C | 156 + .../setDEMGravity/setDEMGravity.H | 121 + .../locateModel/engineSearch/engineSearch.C | 12 +- .../locateModel/engineSearch/engineSearch.H | 13 +- .../engineSearchIB/engineSearchIB.C | 67 +- .../engineSearchIB/engineSearchIB.H | 10 +- .../explicitCouple/explicitCouple.C | 56 +- .../explicitCouple/explicitCouple.H | 2 + .../implicitCouple/implicitCouple.C | 38 +- .../momCoupleModel/momCoupleModel.C | 12 + .../momCoupleModel/momCoupleModel.H | 2 + .../probeModel/particleProbe/particleProbe.C | 49 +- .../probeModel/particleProbe/particleProbe.H | 2 +- .../probeModel/probeModel/probeModel.H | 2 +- .../constDiffSmoothing/constDiffSmoothing.C | 35 +- .../smoothingModel/noSmoothing/noSmoothing.C | 6 + .../smoothingModel/noSmoothing/noSmoothing.H | 4 + .../smoothingModel/smoothingModel.C | 28 + .../smoothingModel/smoothingModel.H | 4 + .../GaussVoidFraction/GaussVoidFraction.C | 2 +- .../IBVoidFraction/IBVoidFraction.C | 381 +- .../IBVoidFraction/IBVoidFraction.H | 17 +- .../bigParticleVoidFraction.C | 2 +- .../dividedVoidFraction/dividedVoidFraction.C | 46 +- .../dividedVoidFraction/dividedVoidFraction.H | 2 + .../dividedVoidFraction/setWeightedSource.H | 9 + .../voidFractionModel/voidFractionModel.C | 87 +- .../voidFractionModel/voidFractionModel.H | 11 + src/lagrangian/cfdemParticleComp/Make/files | 127 - src/lagrangian/cfdemParticleComp/Make/options | 40 - .../twoSpheresGlowinskiMPI/Allrun.sh | 2 +- .../CFD/constant/couplingProperties | 5 +- .../cfdemSolverPiso/ErgunTestMPI/Allrun.sh | 2 +- .../cfdemSolverPiso/ErgunTestMPI/CFD/0/p | 4 + .../ErgunTestMPI/CFD/system/controlDict | 10 +- .../ErgunTestMPI_cgs/Allrun.sh | 2 +- .../ErgunTestMPI_restart/Allrun.sh | 5 +- .../cfdemSolverPiso/settlingTestMPI/Allrun.sh | 2 +- .../cfdemSolverPiso/settlingTestMPI/CFD/0/Ksl | 2 +- .../cfdemSolverPiso/settlingTestMPI/CFD/0/Us | 2 +- .../cfdemSolverPiso/settlingTestMPI/CFD/0/rho | 4 +- .../settlingTestMPI/CFD/0/voidfraction | 2 +- .../settlingTestMPI/CFD/system/fvSchemes | 8 +- .../voidfractionTest/Allrun.sh | 2 +- .../CFD/constant/couplingProperties | 17 +- .../CFD/constant/polyMesh/blockMeshDict | 5 +- .../voidfractionTest/CFD/system/controlDict | 2 +- .../packedBedTemp/Allrun.sh | 2 +- .../cfdemSolverPisoSTM/packedBedTemp/CFD/0/p | 6 +- .../CFD/constant/couplingProperties | 14 +- .../packedBedTemp/CFD/system/controlDict | 60 + .../packedBedTemp/Allrun.sh | 2 +- .../packedBedTemp/CFD/0/p | 6 +- .../packedBedTemp/CFD/system/controlDict | 60 + 567 files changed, 45167 insertions(+), 7002 deletions(-) delete mode 100644 COPYING delete mode 100644 DISCLAIMER delete mode 100755 README mode change 100644 => 120000 doc/CFDEMcoupling_Manual.html delete mode 100644 doc/CFDEMcoupling_Manual.pdf create mode 100644 doc/CFDEMcoupling_Manual.txt delete mode 100644 doc/IOModel.html create mode 100644 doc/IOModel.txt delete mode 100644 doc/IOModel_basicIO.html create mode 100644 doc/IOModel_basicIO.txt delete mode 100644 doc/IOModel_noIO.html create mode 100644 doc/IOModel_noIO.txt delete mode 100644 doc/IOModel_sophIO.html create mode 100644 doc/IOModel_sophIO.txt delete mode 100644 doc/IOModel_trackIO.html create mode 100644 doc/IOModel_trackIO.txt create mode 100644 doc/_build/doctrees/CFDEMcoupling_Manual.doctree create mode 100644 doc/_build/doctrees/IOModel.doctree create mode 100644 doc/_build/doctrees/IOModel_basicIO.doctree create mode 100644 doc/_build/doctrees/IOModel_noIO.doctree create mode 100644 doc/_build/doctrees/IOModel_sophIO.doctree create mode 100644 doc/_build/doctrees/IOModel_trackIO.doctree create mode 100644 doc/_build/doctrees/averagingModel.doctree create mode 100644 doc/_build/doctrees/averagingModel_dense.doctree create mode 100644 doc/_build/doctrees/averagingModel_dilute.doctree create mode 100644 doc/_build/doctrees/cfdemSolverIB.doctree create mode 100644 doc/_build/doctrees/cfdemSolverPiso.doctree create mode 100644 doc/_build/doctrees/cfdemSolverPisoScalar.doctree create mode 100644 doc/_build/doctrees/clockModel.doctree create mode 100644 doc/_build/doctrees/clockModel_noClock.doctree create mode 100644 doc/_build/doctrees/clockModel_standardClock.doctree create mode 100644 doc/_build/doctrees/dataExchangeModel.doctree create mode 100644 doc/_build/doctrees/dataExchangeModel_noDataExchange.doctree create mode 100644 doc/_build/doctrees/dataExchangeModel_oneWayVTK.doctree create mode 100644 doc/_build/doctrees/dataExchangeModel_twoWayFiles.doctree create mode 100644 doc/_build/doctrees/dataExchangeModel_twoWayMPI.doctree create mode 100644 doc/_build/doctrees/environment.pickle create mode 100644 doc/_build/doctrees/forceModel.doctree create mode 100644 doc/_build/doctrees/forceModel_Archimedes.doctree create mode 100644 doc/_build/doctrees/forceModel_ArchimedesIB.doctree create mode 100644 doc/_build/doctrees/forceModel_DiFeliceDrag.doctree create mode 100644 doc/_build/doctrees/forceModel_GidaspowDrag.doctree create mode 100644 doc/_build/doctrees/forceModel_KochHillDrag.doctree create mode 100644 doc/_build/doctrees/forceModel_LaEuScalarTemp.doctree create mode 100644 doc/_build/doctrees/forceModel_MeiLift.doctree create mode 100644 doc/_build/doctrees/forceModel_SchillerNaumannDrag.doctree create mode 100644 doc/_build/doctrees/forceModel_ShirgaonkarIB.doctree create mode 100644 doc/_build/doctrees/forceModel_checkCouplingInterval.doctree create mode 100644 doc/_build/doctrees/forceModel_fieldStore.doctree create mode 100644 doc/_build/doctrees/forceModel_fieldTimeAverage.doctree create mode 100644 doc/_build/doctrees/forceModel_gradPForce.doctree create mode 100644 doc/_build/doctrees/forceModel_noDrag.doctree create mode 100644 doc/_build/doctrees/forceModel_particleCellVolume.doctree create mode 100644 doc/_build/doctrees/forceModel_particleVolume.doctree create mode 100644 doc/_build/doctrees/forceModel_scalarGeneralExchange.doctree create mode 100644 doc/_build/doctrees/forceModel_virtualMassForce.doctree create mode 100644 doc/_build/doctrees/forceModel_viscForce.doctree create mode 100644 doc/_build/doctrees/forceModel_volWeightedAverage.doctree create mode 100644 doc/_build/doctrees/forceSubModel.doctree create mode 100644 doc/_build/doctrees/forceSubModel_ImEx.doctree create mode 100644 doc/_build/doctrees/githubAccess_public.doctree create mode 100644 doc/_build/doctrees/liggghtsCommandModel.doctree create mode 100644 doc/_build/doctrees/liggghtsCommandModel_execute.doctree create mode 100644 doc/_build/doctrees/liggghtsCommandModel_readLiggghtsData.doctree create mode 100644 doc/_build/doctrees/liggghtsCommandModel_runLiggghts.doctree create mode 100644 doc/_build/doctrees/liggghtsCommandModel_setDEMGravity.doctree create mode 100644 doc/_build/doctrees/liggghtsCommandModel_writeLiggghts.doctree create mode 100644 doc/_build/doctrees/locateModel.doctree create mode 100644 doc/_build/doctrees/locateModel_engineSearch.doctree create mode 100644 doc/_build/doctrees/locateModel_engineSearchIB.doctree create mode 100644 doc/_build/doctrees/locateModel_standardSearch.doctree create mode 100644 doc/_build/doctrees/meshMotionModel.doctree create mode 100644 doc/_build/doctrees/meshMotionModel_noMeshMotion.doctree create mode 100644 doc/_build/doctrees/momCoupleModel.doctree create mode 100644 doc/_build/doctrees/momCoupleModel_explicitCouple.doctree create mode 100644 doc/_build/doctrees/momCoupleModel_implicitCouple.doctree create mode 100644 doc/_build/doctrees/momCoupleModel_noCouple.doctree create mode 100644 doc/_build/doctrees/probeModel.doctree create mode 100644 doc/_build/doctrees/probeModel_noProbe.doctree create mode 100644 doc/_build/doctrees/probeModel_particleProbe.doctree create mode 100644 doc/_build/doctrees/regionModel.doctree create mode 100644 doc/_build/doctrees/regionModel_allRegion.doctree create mode 100644 doc/_build/doctrees/scalarTransportModel.doctree create mode 100644 doc/_build/doctrees/smoothingModel.doctree create mode 100644 doc/_build/doctrees/smoothingModel_constDiffSmoothing.doctree create mode 100644 doc/_build/doctrees/smoothingModel_noSmoothing.doctree create mode 100644 doc/_build/doctrees/voidFractionModel.doctree create mode 100644 doc/_build/doctrees/voidFractionModel_GaussVoidFraction.doctree create mode 100644 doc/_build/doctrees/voidFractionModel_IBVoidFraction.doctree create mode 100644 doc/_build/doctrees/voidFractionModel_bigParticleVoidFraction.doctree create mode 100644 doc/_build/doctrees/voidFractionModel_centreVoidFraction.doctree create mode 100644 doc/_build/doctrees/voidFractionModel_dividedVoidFraction.doctree create mode 100644 doc/_build/doctrees/voidFractionModel_noVoidFraction.doctree create mode 100644 doc/_build/doctrees/voidFractionModel_trilinearVoidFraction.doctree create mode 100644 doc/_build/html/.buildinfo create mode 100644 doc/_build/html/CFDEMcoupling_Manual.html create mode 100644 doc/_build/html/IOModel.html create mode 100644 doc/_build/html/IOModel_basicIO.html create mode 100644 doc/_build/html/IOModel_noIO.html create mode 100644 doc/_build/html/IOModel_sophIO.html create mode 100644 doc/_build/html/IOModel_trackIO.html rename doc/{ => _build/html/_images}/Portfolio_CFDEMcoupling.png (100%) mode change 100755 => 100644 create mode 100644 doc/_build/html/_sources/CFDEMcoupling_Manual.txt create mode 100644 doc/_build/html/_sources/IOModel.txt create mode 100644 doc/_build/html/_sources/IOModel_basicIO.txt create mode 100644 doc/_build/html/_sources/IOModel_noIO.txt create mode 100644 doc/_build/html/_sources/IOModel_sophIO.txt create mode 100644 doc/_build/html/_sources/IOModel_trackIO.txt create mode 100644 doc/_build/html/_sources/averagingModel.txt create mode 100644 doc/_build/html/_sources/averagingModel_dense.txt create mode 100644 doc/_build/html/_sources/averagingModel_dilute.txt create mode 100644 doc/_build/html/_sources/cfdemSolverIB.txt create mode 100644 doc/_build/html/_sources/cfdemSolverPiso.txt create mode 100644 doc/_build/html/_sources/cfdemSolverPisoScalar.txt create mode 100644 doc/_build/html/_sources/clockModel.txt create mode 100644 doc/_build/html/_sources/clockModel_noClock.txt create mode 100644 doc/_build/html/_sources/clockModel_standardClock.txt create mode 100644 doc/_build/html/_sources/dataExchangeModel.txt create mode 100644 doc/_build/html/_sources/dataExchangeModel_noDataExchange.txt create mode 100644 doc/_build/html/_sources/dataExchangeModel_oneWayVTK.txt create mode 100644 doc/_build/html/_sources/dataExchangeModel_twoWayFiles.txt create mode 100644 doc/_build/html/_sources/dataExchangeModel_twoWayMPI.txt create mode 100644 doc/_build/html/_sources/forceModel.txt create mode 100644 doc/_build/html/_sources/forceModel_Archimedes.txt create mode 100644 doc/_build/html/_sources/forceModel_ArchimedesIB.txt create mode 100644 doc/_build/html/_sources/forceModel_DiFeliceDrag.txt create mode 100644 doc/_build/html/_sources/forceModel_GidaspowDrag.txt create mode 100644 doc/_build/html/_sources/forceModel_KochHillDrag.txt create mode 100644 doc/_build/html/_sources/forceModel_LaEuScalarTemp.txt create mode 100644 doc/_build/html/_sources/forceModel_MeiLift.txt create mode 100644 doc/_build/html/_sources/forceModel_SchillerNaumannDrag.txt create mode 100644 doc/_build/html/_sources/forceModel_ShirgaonkarIB.txt create mode 100644 doc/_build/html/_sources/forceModel_checkCouplingInterval.txt create mode 100644 doc/_build/html/_sources/forceModel_fieldStore.txt create mode 100644 doc/_build/html/_sources/forceModel_fieldTimeAverage.txt create mode 100644 doc/_build/html/_sources/forceModel_gradPForce.txt create mode 100644 doc/_build/html/_sources/forceModel_noDrag.txt create mode 100644 doc/_build/html/_sources/forceModel_particleCellVolume.txt create mode 100644 doc/_build/html/_sources/forceModel_particleVolume.txt create mode 100644 doc/_build/html/_sources/forceModel_scalarGeneralExchange.txt create mode 100644 doc/_build/html/_sources/forceModel_virtualMassForce.txt create mode 100644 doc/_build/html/_sources/forceModel_viscForce.txt create mode 100644 doc/_build/html/_sources/forceModel_volWeightedAverage.txt create mode 100644 doc/_build/html/_sources/forceSubModel.txt create mode 100644 doc/_build/html/_sources/forceSubModel_ImEx.txt create mode 100644 doc/_build/html/_sources/githubAccess_public.txt create mode 100644 doc/_build/html/_sources/liggghtsCommandModel.txt create mode 100644 doc/_build/html/_sources/liggghtsCommandModel_execute.txt create mode 100644 doc/_build/html/_sources/liggghtsCommandModel_readLiggghtsData.txt create mode 100644 doc/_build/html/_sources/liggghtsCommandModel_runLiggghts.txt create mode 100644 doc/_build/html/_sources/liggghtsCommandModel_setDEMGravity.txt create mode 100644 doc/_build/html/_sources/liggghtsCommandModel_writeLiggghts.txt create mode 100644 doc/_build/html/_sources/locateModel.txt create mode 100644 doc/_build/html/_sources/locateModel_engineSearch.txt create mode 100644 doc/_build/html/_sources/locateModel_engineSearchIB.txt create mode 100644 doc/_build/html/_sources/locateModel_standardSearch.txt create mode 100644 doc/_build/html/_sources/meshMotionModel.txt create mode 100644 doc/_build/html/_sources/meshMotionModel_noMeshMotion.txt create mode 100644 doc/_build/html/_sources/momCoupleModel.txt create mode 100644 doc/_build/html/_sources/momCoupleModel_explicitCouple.txt create mode 100644 doc/_build/html/_sources/momCoupleModel_implicitCouple.txt create mode 100644 doc/_build/html/_sources/momCoupleModel_noCouple.txt create mode 100644 doc/_build/html/_sources/probeModel.txt create mode 100644 doc/_build/html/_sources/probeModel_noProbe.txt create mode 100644 doc/_build/html/_sources/probeModel_particleProbe.txt create mode 100644 doc/_build/html/_sources/regionModel.txt create mode 100644 doc/_build/html/_sources/regionModel_allRegion.txt create mode 100644 doc/_build/html/_sources/scalarTransportModel.txt create mode 100644 doc/_build/html/_sources/smoothingModel.txt create mode 100644 doc/_build/html/_sources/smoothingModel_constDiffSmoothing.txt create mode 100644 doc/_build/html/_sources/smoothingModel_noSmoothing.txt create mode 100644 doc/_build/html/_sources/voidFractionModel.txt create mode 100644 doc/_build/html/_sources/voidFractionModel_GaussVoidFraction.txt create mode 100644 doc/_build/html/_sources/voidFractionModel_IBVoidFraction.txt create mode 100644 doc/_build/html/_sources/voidFractionModel_bigParticleVoidFraction.txt create mode 100644 doc/_build/html/_sources/voidFractionModel_centreVoidFraction.txt create mode 100644 doc/_build/html/_sources/voidFractionModel_dividedVoidFraction.txt create mode 100644 doc/_build/html/_sources/voidFractionModel_noVoidFraction.txt create mode 100644 doc/_build/html/_sources/voidFractionModel_trilinearVoidFraction.txt create mode 100644 doc/_build/html/_static/ajax-loader.gif create mode 100644 doc/_build/html/_static/basic.css create mode 100644 doc/_build/html/_static/comment-bright.png create mode 100644 doc/_build/html/_static/comment-close.png create mode 100644 doc/_build/html/_static/comment.png create mode 100644 doc/_build/html/_static/css/badge_only.css create mode 100644 doc/_build/html/_static/css/badge_only.css.map create mode 100644 doc/_build/html/_static/css/theme.css create mode 100644 doc/_build/html/_static/css/theme.css.map create mode 100644 doc/_build/html/_static/doctools.js create mode 100644 doc/_build/html/_static/down-pressed.png create mode 100644 doc/_build/html/_static/down.png create mode 100644 doc/_build/html/_static/file.png create mode 100644 doc/_build/html/_static/fonts/FontAwesome.otf create mode 100644 doc/_build/html/_static/fonts/Inconsolata-Bold.ttf create mode 100644 doc/_build/html/_static/fonts/Inconsolata-Regular.ttf create mode 100644 doc/_build/html/_static/fonts/Lato-Bold.ttf create mode 100644 doc/_build/html/_static/fonts/Lato-Regular.ttf create mode 100644 doc/_build/html/_static/fonts/RobotoSlab-Bold.ttf create mode 100644 doc/_build/html/_static/fonts/RobotoSlab-Regular.ttf create mode 100644 doc/_build/html/_static/fonts/fontawesome-webfont.eot create mode 100644 doc/_build/html/_static/fonts/fontawesome-webfont.svg create mode 100644 doc/_build/html/_static/fonts/fontawesome-webfont.ttf create mode 100644 doc/_build/html/_static/fonts/fontawesome-webfont.woff create mode 100644 doc/_build/html/_static/jquery.js create mode 100644 doc/_build/html/_static/js/modernizr.min.js create mode 100644 doc/_build/html/_static/js/theme.js create mode 100644 doc/_build/html/_static/minus.png create mode 100644 doc/_build/html/_static/plus.png create mode 100644 doc/_build/html/_static/pygments.css create mode 100644 doc/_build/html/_static/searchtools.js create mode 100644 doc/_build/html/_static/underscore.js create mode 100644 doc/_build/html/_static/up-pressed.png create mode 100644 doc/_build/html/_static/up.png create mode 100644 doc/_build/html/_static/websupport.js create mode 100644 doc/_build/html/averagingModel.html create mode 100644 doc/_build/html/averagingModel_dense.html create mode 100644 doc/_build/html/averagingModel_dilute.html create mode 100644 doc/_build/html/cfdemSolverIB.html create mode 100644 doc/_build/html/cfdemSolverPiso.html create mode 100644 doc/_build/html/cfdemSolverPisoScalar.html create mode 100644 doc/_build/html/clockModel.html create mode 100644 doc/_build/html/clockModel_noClock.html create mode 100644 doc/_build/html/clockModel_standardClock.html create mode 100644 doc/_build/html/dataExchangeModel.html create mode 100644 doc/_build/html/dataExchangeModel_noDataExchange.html create mode 100644 doc/_build/html/dataExchangeModel_oneWayVTK.html create mode 100644 doc/_build/html/dataExchangeModel_twoWayFiles.html create mode 100644 doc/_build/html/dataExchangeModel_twoWayMPI.html create mode 100644 doc/_build/html/forceModel.html create mode 100644 doc/_build/html/forceModel_Archimedes.html create mode 100644 doc/_build/html/forceModel_ArchimedesIB.html create mode 100644 doc/_build/html/forceModel_DiFeliceDrag.html create mode 100644 doc/_build/html/forceModel_GidaspowDrag.html create mode 100644 doc/_build/html/forceModel_KochHillDrag.html create mode 100644 doc/_build/html/forceModel_LaEuScalarTemp.html create mode 100644 doc/_build/html/forceModel_MeiLift.html create mode 100644 doc/_build/html/forceModel_SchillerNaumannDrag.html create mode 100644 doc/_build/html/forceModel_ShirgaonkarIB.html create mode 100644 doc/_build/html/forceModel_checkCouplingInterval.html create mode 100644 doc/_build/html/forceModel_fieldStore.html create mode 100644 doc/_build/html/forceModel_fieldTimeAverage.html create mode 100644 doc/_build/html/forceModel_gradPForce.html create mode 100644 doc/_build/html/forceModel_noDrag.html create mode 100644 doc/_build/html/forceModel_particleCellVolume.html create mode 100644 doc/_build/html/forceModel_particleVolume.html create mode 100644 doc/_build/html/forceModel_scalarGeneralExchange.html create mode 100644 doc/_build/html/forceModel_virtualMassForce.html create mode 100644 doc/_build/html/forceModel_viscForce.html create mode 100644 doc/_build/html/forceModel_volWeightedAverage.html create mode 100644 doc/_build/html/forceSubModel.html create mode 100644 doc/_build/html/forceSubModel_ImEx.html create mode 100644 doc/_build/html/genindex.html create mode 100644 doc/_build/html/githubAccess_public.html create mode 100644 doc/_build/html/liggghtsCommandModel.html create mode 100644 doc/_build/html/liggghtsCommandModel_execute.html create mode 100644 doc/_build/html/liggghtsCommandModel_readLiggghtsData.html create mode 100644 doc/_build/html/liggghtsCommandModel_runLiggghts.html create mode 100644 doc/_build/html/liggghtsCommandModel_setDEMGravity.html create mode 100644 doc/_build/html/liggghtsCommandModel_writeLiggghts.html create mode 100644 doc/_build/html/locateModel.html create mode 100644 doc/_build/html/locateModel_engineSearch.html create mode 100644 doc/_build/html/locateModel_engineSearchIB.html create mode 100644 doc/_build/html/locateModel_standardSearch.html create mode 100644 doc/_build/html/meshMotionModel.html create mode 100644 doc/_build/html/meshMotionModel_noMeshMotion.html create mode 100644 doc/_build/html/momCoupleModel.html create mode 100644 doc/_build/html/momCoupleModel_explicitCouple.html create mode 100644 doc/_build/html/momCoupleModel_implicitCouple.html create mode 100644 doc/_build/html/momCoupleModel_noCouple.html create mode 100644 doc/_build/html/objects.inv create mode 100644 doc/_build/html/probeModel.html create mode 100644 doc/_build/html/probeModel_noProbe.html create mode 100644 doc/_build/html/probeModel_particleProbe.html create mode 100644 doc/_build/html/regionModel.html create mode 100644 doc/_build/html/regionModel_allRegion.html create mode 100644 doc/_build/html/scalarTransportModel.html create mode 100644 doc/_build/html/search.html create mode 100644 doc/_build/html/searchindex.js create mode 100644 doc/_build/html/smoothingModel.html create mode 100644 doc/_build/html/smoothingModel_constDiffSmoothing.html create mode 100644 doc/_build/html/smoothingModel_noSmoothing.html create mode 100644 doc/_build/html/voidFractionModel.html create mode 100644 doc/_build/html/voidFractionModel_GaussVoidFraction.html create mode 100644 doc/_build/html/voidFractionModel_IBVoidFraction.html create mode 100644 doc/_build/html/voidFractionModel_bigParticleVoidFraction.html create mode 100644 doc/_build/html/voidFractionModel_centreVoidFraction.html create mode 100644 doc/_build/html/voidFractionModel_dividedVoidFraction.html create mode 100644 doc/_build/html/voidFractionModel_noVoidFraction.html create mode 100644 doc/_build/html/voidFractionModel_trilinearVoidFraction.html delete mode 100644 doc/averagingModel.html create mode 100644 doc/averagingModel.txt delete mode 100644 doc/averagingModel_dense.html create mode 100644 doc/averagingModel_dense.txt delete mode 100644 doc/averagingModel_dilute.html create mode 100644 doc/averagingModel_dilute.txt delete mode 100644 doc/cfdemSolverIB.html create mode 100644 doc/cfdemSolverIB.txt delete mode 100644 doc/cfdemSolverPiso.html create mode 100644 doc/cfdemSolverPiso.txt delete mode 100644 doc/cfdemSolverPisoScalar.html create mode 100644 doc/cfdemSolverPisoScalar.txt delete mode 100644 doc/clockModel.html create mode 100644 doc/clockModel.txt delete mode 100644 doc/clockModel_noClock.html create mode 100644 doc/clockModel_noClock.txt delete mode 100644 doc/clockModel_standardClock.html create mode 100644 doc/clockModel_standardClock.txt delete mode 100644 doc/dataExchangeModel.html create mode 100644 doc/dataExchangeModel.txt delete mode 100644 doc/dataExchangeModel_noDataExchange.html create mode 100644 doc/dataExchangeModel_noDataExchange.txt delete mode 100644 doc/dataExchangeModel_oneWayVTK.html create mode 100644 doc/dataExchangeModel_oneWayVTK.txt delete mode 100644 doc/dataExchangeModel_twoWayFiles.html create mode 100644 doc/dataExchangeModel_twoWayFiles.txt delete mode 100644 doc/dataExchangeModel_twoWayMPI.html create mode 100644 doc/dataExchangeModel_twoWayMPI.txt delete mode 100644 doc/forceModel.html create mode 100644 doc/forceModel.txt delete mode 100644 doc/forceModel_Archimedes.html create mode 100644 doc/forceModel_Archimedes.txt delete mode 100644 doc/forceModel_ArchimedesIB.html create mode 100644 doc/forceModel_ArchimedesIB.txt delete mode 100644 doc/forceModel_DiFeliceDrag.html create mode 100644 doc/forceModel_DiFeliceDrag.txt delete mode 100644 doc/forceModel_GidaspowDrag.html create mode 100644 doc/forceModel_GidaspowDrag.txt delete mode 100644 doc/forceModel_KochHillDrag.html create mode 100644 doc/forceModel_KochHillDrag.txt delete mode 100644 doc/forceModel_LaEuScalarTemp.html create mode 100644 doc/forceModel_LaEuScalarTemp.txt delete mode 100644 doc/forceModel_MeiLift.html create mode 100644 doc/forceModel_MeiLift.txt delete mode 100644 doc/forceModel_SchillerNaumannDrag.html create mode 100644 doc/forceModel_SchillerNaumannDrag.txt delete mode 100644 doc/forceModel_ShirgaonkarIB.html create mode 100644 doc/forceModel_ShirgaonkarIB.txt create mode 100644 doc/forceModel_checkCouplingInterval.txt delete mode 100644 doc/forceModel_fieldStore.html create mode 100644 doc/forceModel_fieldStore.txt delete mode 100644 doc/forceModel_fieldTimeAverage.html create mode 100644 doc/forceModel_fieldTimeAverage.txt delete mode 100644 doc/forceModel_gradPForce.html create mode 100644 doc/forceModel_gradPForce.txt delete mode 100644 doc/forceModel_noDrag.html create mode 100644 doc/forceModel_noDrag.txt delete mode 100644 doc/forceModel_particleCellVolume.html create mode 100644 doc/forceModel_particleCellVolume.txt delete mode 100644 doc/forceModel_particleVolume.html create mode 100644 doc/forceModel_particleVolume.txt delete mode 100644 doc/forceModel_scalarGeneralExchange.html create mode 100644 doc/forceModel_scalarGeneralExchange.txt delete mode 100644 doc/forceModel_virtualMassForce.html create mode 100644 doc/forceModel_virtualMassForce.txt delete mode 100644 doc/forceModel_viscForce.html create mode 100644 doc/forceModel_viscForce.txt delete mode 100644 doc/forceModel_volWeightedAverage.html create mode 100644 doc/forceModel_volWeightedAverage.txt delete mode 100644 doc/forceSubModel.html create mode 100644 doc/forceSubModel.txt delete mode 100644 doc/forceSubModel_ImEx.html create mode 100644 doc/forceSubModel_ImEx.txt delete mode 100644 doc/githubAccess_public.html delete mode 100644 doc/githubAccess_public.pdf create mode 100644 doc/githubAccess_public.txt delete mode 100644 doc/liggghtsCommandModel.html create mode 100644 doc/liggghtsCommandModel.txt delete mode 100644 doc/liggghtsCommandModel_execute.html create mode 100644 doc/liggghtsCommandModel_execute.txt delete mode 100644 doc/liggghtsCommandModel_readLiggghtsData.html create mode 100644 doc/liggghtsCommandModel_readLiggghtsData.txt delete mode 100644 doc/liggghtsCommandModel_runLiggghts.html create mode 100644 doc/liggghtsCommandModel_runLiggghts.txt create mode 100644 doc/liggghtsCommandModel_setDEMGravity.txt delete mode 100644 doc/liggghtsCommandModel_writeLiggghts.html create mode 100644 doc/liggghtsCommandModel_writeLiggghts.txt delete mode 100644 doc/locateModel.html create mode 100644 doc/locateModel.txt delete mode 100644 doc/locateModel_engineSearch.html create mode 100644 doc/locateModel_engineSearch.txt delete mode 100644 doc/locateModel_engineSearchIB.html create mode 100644 doc/locateModel_engineSearchIB.txt delete mode 100644 doc/locateModel_standardSearch.html create mode 100644 doc/locateModel_standardSearch.txt delete mode 100644 doc/meshMotionModel.html create mode 100644 doc/meshMotionModel.txt delete mode 100644 doc/meshMotionModel_noMeshMotion.html create mode 100644 doc/meshMotionModel_noMeshMotion.txt delete mode 100644 doc/momCoupleModel.html create mode 100644 doc/momCoupleModel.txt delete mode 100644 doc/momCoupleModel_explicitCouple.html create mode 100644 doc/momCoupleModel_explicitCouple.txt delete mode 100644 doc/momCoupleModel_implicitCouple.html create mode 100644 doc/momCoupleModel_implicitCouple.txt delete mode 100644 doc/momCoupleModel_noCouple.html create mode 100644 doc/momCoupleModel_noCouple.txt delete mode 100644 doc/probeModel.html create mode 100644 doc/probeModel.txt delete mode 100644 doc/probeModel_noProbe.html create mode 100644 doc/probeModel_noProbe.txt delete mode 100644 doc/probeModel_particleProbe.html create mode 100644 doc/probeModel_particleProbe.txt delete mode 100644 doc/regionModel.html create mode 100644 doc/regionModel.txt delete mode 100644 doc/regionModel_allRegion.html create mode 100644 doc/regionModel_allRegion.txt delete mode 100644 doc/scalarTransportModel.html create mode 100644 doc/scalarTransportModel.txt delete mode 100644 doc/smoothingModel.html create mode 100644 doc/smoothingModel.txt delete mode 100644 doc/smoothingModel_constDiffSmoothing.html create mode 100644 doc/smoothingModel_constDiffSmoothing.txt delete mode 100644 doc/smoothingModel_noSmoothing.html create mode 100644 doc/smoothingModel_noSmoothing.txt delete mode 100644 doc/voidFractionModel.html create mode 100644 doc/voidFractionModel.txt delete mode 100644 doc/voidFractionModel_GaussVoidFraction.html create mode 100644 doc/voidFractionModel_GaussVoidFraction.txt delete mode 100644 doc/voidFractionModel_IBVoidFraction.html create mode 100644 doc/voidFractionModel_IBVoidFraction.txt delete mode 100644 doc/voidFractionModel_bigParticleVoidFraction.html create mode 100644 doc/voidFractionModel_bigParticleVoidFraction.txt delete mode 100644 doc/voidFractionModel_centreVoidFraction.html create mode 100644 doc/voidFractionModel_centreVoidFraction.txt delete mode 100644 doc/voidFractionModel_dividedVoidFraction.html create mode 100644 doc/voidFractionModel_dividedVoidFraction.txt delete mode 100644 doc/voidFractionModel_noVoidFraction.html create mode 100644 doc/voidFractionModel_noVoidFraction.txt delete mode 100644 doc/voidFractionModel_trilinearVoidFraction.html create mode 100644 doc/voidFractionModel_trilinearVoidFraction.txt delete mode 100755 src/lagrangian/cfdemParticle/Make/files delete mode 100755 src/lagrangian/cfdemParticle/Make/options delete mode 100644 src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H delete mode 100644 src/lagrangian/cfdemParticle/etc/additionalLibs_2.4.x delete mode 100644 src/lagrangian/cfdemParticle/etc/additionalLibs_3.0.x delete mode 100644 src/lagrangian/cfdemParticle/etc/additionalLibs_3.2 delete mode 100644 src/lagrangian/cfdemParticle/etc/library-liggghts-list.txt delete mode 100644 src/lagrangian/cfdemParticle/etc/library-list.txt delete mode 100644 src/lagrangian/cfdemParticle/etc/solver-list.txt delete mode 100644 src/lagrangian/cfdemParticle/etc/tutorial-list.txt delete mode 100644 src/lagrangian/cfdemParticle/etc/utilities-list.txt create mode 100644 src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/setDEMGravity/setDEMGravity.C create mode 100644 src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/setDEMGravity/setDEMGravity.H delete mode 100755 src/lagrangian/cfdemParticleComp/Make/files delete mode 100755 src/lagrangian/cfdemParticleComp/Make/options diff --git a/COPYING b/COPYING deleted file mode 100644 index de2dcce..0000000 --- a/COPYING +++ /dev/null @@ -1,678 +0,0 @@ -------------------------------------------------------------------------- - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program 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. - - This program 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 this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - -------------------------------------------------------------------------- diff --git a/DISCLAIMER b/DISCLAIMER deleted file mode 100644 index 5a7dfe2..0000000 --- a/DISCLAIMER +++ /dev/null @@ -1,10 +0,0 @@ -Parts of the code uses OpenFOAM® technology. This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. - -Detailed information on the OpenFOAM trademark can be found at - - - http://www.openfoam.com/legal/trademark-policy.php - - http://www.openfoam.com/legal/trademark-guidelines.php - -For further information on OpenCFD and OpenFOAM, please refer to - - - http://www.openfoam.com diff --git a/README b/README deleted file mode 100755 index 816c6c1..0000000 --- a/README +++ /dev/null @@ -1,107 +0,0 @@ -/*---------------------------------------------------------------------------*\ - CFDEMcoupling - Open Source CFD-DEM coupling - - CFD-DEM coupling toolbox, released by - DCS Computing GmbH, Linz, Austria - www.dcs-computing.com, office@dcs-computing.com - - CFDEMcoupling is part of the CFDEMproject - www.cfdem.com - - 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 part of CFDEMproject: - www.liggghts.com | www.cfdem.com - - Core developer and main author: - Christoph Goniva, christoph.goniva@dcs-computing.com - - LIGGGHTS® and CFDEM® are registered trade marks of DCS Computing GmbH, - the producer of the LIGGGHTS® software and the CFDEM®coupling software - See http://www.cfdem.com/terms-trademark-policy for details. -/*---------------------------------------------------------------------------*\ -Copyright - - Copyright 2012- DCS Computing GmbH, Linz - Copyright 2009-2015 JKU Linz - - Some parts of CFDEMcoupling are based on OpenFOAM® and Copyright on these - parts is held by the OpenFOAM® Foundation (www.openFoam.org) - and potentially other parties. - Some parts of CFDEMcoupling are contributied by other parties, which are - holding the Copyright. This is listed in each file of the distribution. -/*---------------------------------------------------------------------------*\ -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 provides models and solvers to realize coupled CFD-DEM simulations - using LIGGGHTS and OpenFOAM® technology. - Note: this code is not part of OpenFOAM®. - This offering is not approved or endorsed by OpenCFD Limited, - the producer of the OpenFOAM® software and owner of the OPENFOAM® - and OpenCFD® trade marks. -\*---------------------------------------------------------------------------*/ - - -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®(*). The CFDEM®coupling toolbox allows to expand -standard CFD solvers of OpenFOAM®(*) 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" (www.cfdem.com) 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 CFDEM®coupling distribution includes the following files and directories: - -- "README" file (this file) -- "COPYING" file the GNU General Public License (GPL) -- "DISCLAIMER" file -- "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 CFDEM®coupling -- "tutorials" directory including basic tutorial cases showing the functionality - -Details on installation are given on the "www.cfdem.com" website. - -The functionality of this CFD-DEM framwork is described via "tutorial cases" showing -how to use different solvers and models. - -CFDEM®coupling stands for Computational Fluid Dynamics (CFD) - -Discrete Element Method (DEM) coupling. - -\*---------------------------------------------------------------------------*/ -(*) This offering is not approved or endorsed by OpenCFD Limited, - the producer of the OpenFOAM software and - owner of the OPENFOAM® and OpenCFD® trade marks. -\*---------------------------------------------------------------------------*/ diff --git a/applications/solvers/cfdemSolverIB/cfdemSolverIB.C b/applications/solvers/cfdemSolverIB/cfdemSolverIB.C index a45a519..3a005b1 100755 --- a/applications/solvers/cfdemSolverIB/cfdemSolverIB.C +++ b/applications/solvers/cfdemSolverIB/cfdemSolverIB.C @@ -121,7 +121,7 @@ int main(int argc, char *argv[]) // do particle stuff Info << "- evolve()" << endl; - particleCloud.evolve(voidfraction); + particleCloud.evolve(voidfraction, interFace); // Pressure-velocity PISO corrector { diff --git a/applications/solvers/cfdemSolverIB/createFields.H b/applications/solvers/cfdemSolverIB/createFields.H index 017d435..276d6e2 100755 --- a/applications/solvers/cfdemSolverIB/createFields.H +++ b/applications/solvers/cfdemSolverIB/createFields.H @@ -42,6 +42,21 @@ mesh ); + /*Info<< "\nCreating outside field\n" << endl; + volScalarField outside + ( + IOobject + ( + "outside", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + scalar(0) + );*/ + //======================== // drag law modelling //======================== diff --git a/applications/solvers/cfdemSolverPiso/cfdemSolverPiso.C b/applications/solvers/cfdemSolverPiso/cfdemSolverPiso.C index 31651a1..104a0a8 100644 --- a/applications/solvers/cfdemSolverPiso/cfdemSolverPiso.C +++ b/applications/solvers/cfdemSolverPiso/cfdemSolverPiso.C @@ -108,13 +108,16 @@ int main(int argc, char *argv[]) if(hasEvolved) { - particleCloud.smoothingM().smoothen(particleCloud.forceM(0).impParticleForces()); + particleCloud.smoothingM().smoothenAbsolutField(particleCloud.forceM(0).impParticleForces()); } Info << "update Ksl.internalField()" << endl; Ksl = particleCloud.momCoupleM(0).impMomSource(); Ksl.correctBoundaryConditions(); + surfaceScalarField voidfractionf = fvc::interpolate(voidfraction); + phi = voidfractionf*phiByVoidfraction; + //Force Checks #include "forceCheckIm.H" @@ -168,18 +171,46 @@ int main(int argc, char *argv[]) U = rUA*UEqn.H(); #ifdef version23 - phi = ( fvc::interpolate(U*voidfraction) & mesh.Sf() ) - + rUAfvoidfraction*fvc::ddtCorr(U, phi); + phi = ( fvc::interpolate(U) & mesh.Sf() ) + + rUAfvoidfraction*fvc::ddtCorr(U, phiByVoidfraction); #else - phi = ( fvc::interpolate(U*voidfraction) & mesh.Sf() ) - + fvc::ddtPhiCorr(rUAvoidfraction, U, phi); + phi = ( fvc::interpolate(U) & mesh.Sf() ) + + fvc::ddtPhiCorr(rUAvoidfraction, U, phiByVoidfraction); #endif - surfaceScalarField phiS(fvc::interpolate(Us*voidfraction) & mesh.Sf()); - surfaceScalarField phiGes = phi + rUAf*(fvc::interpolate(Ksl/rho) * phiS); + surfaceScalarField phiS(fvc::interpolate(Us) & mesh.Sf()); + phi += rUAf*(fvc::interpolate(Ksl/rho) * phiS); if (modelType=="A") rUAvoidfraction = volScalarField("(voidfraction2|A(U))",rUA*voidfraction*voidfraction); + // Update the fixedFluxPressure BCs to ensure flux consistency + #ifndef versionExt32 + #ifndef version40 + if (modelType=="A") + { + setSnGrad + ( + p.boundaryField(), + ( + phi.boundaryField() + - (mesh.Sf().boundaryField() & U.boundaryField()) + )/(mesh.magSf().boundaryField()*rUAf.boundaryField()*voidfractionf.boundaryField()) + ); + }else + { + setSnGrad + ( + p.boundaryField(), + ( + phi.boundaryField() + - (mesh.Sf().boundaryField() & U.boundaryField()) + )/(mesh.magSf().boundaryField()*rUAf.boundaryField()) + ); + } + #endif + #endif + + // Non-orthogonal pressure corrector loop #if defined(version30) while (piso.correctNonOrthogonal()) @@ -190,7 +221,7 @@ int main(int argc, char *argv[]) // Pressure corrector fvScalarMatrix pEqn ( - fvm::laplacian(rUAvoidfraction, p) == fvc::div(phiGes) + particleCloud.ddtVoidfraction() + fvm::laplacian(rUAvoidfraction, p) == fvc::div(voidfractionf*phi) + particleCloud.ddtVoidfraction() ); pEqn.setReference(pRefCell, pRefValue); @@ -198,8 +229,7 @@ int main(int argc, char *argv[]) pEqn.solve(mesh.solver(p.select(piso.finalInnerIter()))); if (piso.finalNonOrthogonalIter()) { - phiGes -= pEqn.flux(); - phi = phiGes; + phiByVoidfraction = phi - pEqn.flux()/voidfractionf; } #else if( corr == nCorr-1 && nonOrth == nNonOrthCorr ) @@ -213,13 +243,13 @@ int main(int argc, char *argv[]) if (nonOrth == nNonOrthCorr) { - phiGes -= pEqn.flux(); - phi = phiGes; + phiByVoidfraction = phi - pEqn.flux()/voidfractionf; } #endif } // end non-orthogonal corrector loop + phi = voidfractionf*phiByVoidfraction; #include "continuityErrorPhiPU.H" if (modelType=="B" || modelType=="Bfull") diff --git a/applications/solvers/cfdemSolverPiso/createFields.H b/applications/solvers/cfdemSolverPiso/createFields.H index 849ef33..a09be9a 100644 --- a/applications/solvers/cfdemSolverPiso/createFields.H +++ b/applications/solvers/cfdemSolverPiso/createFields.H @@ -60,7 +60,7 @@ mesh ); - Info<< "\nCreating dummy density field rho\n" << endl; + Info<< "\nCreating density field rho\n" << endl; volScalarField rho ( IOobject @@ -109,7 +109,19 @@ surfaceScalarField phi ); #endif - +Info<< "Generating interstitial face flux field phiByVoidfraction\n" << endl; +surfaceScalarField phiByVoidfraction +( + IOobject + ( + "phiByVoidfraction", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + linearInterpolate(U) & mesh.Sf() +); label pRefCell = 0; scalar pRefValue = 0.0; diff --git a/applications/solvers/cfdemSolverPisoSTM/cfdemSolverPisoSTM.C b/applications/solvers/cfdemSolverPisoSTM/cfdemSolverPisoSTM.C index 5cfb879..d4763f8 100644 --- a/applications/solvers/cfdemSolverPisoSTM/cfdemSolverPisoSTM.C +++ b/applications/solvers/cfdemSolverPisoSTM/cfdemSolverPisoSTM.C @@ -106,13 +106,16 @@ int main(int argc, char *argv[]) if(hasEvolved) { - particleCloud.smoothingM().smoothen(particleCloud.forceM(0).impParticleForces()); + particleCloud.smoothingM().smoothenAbsolutField(particleCloud.forceM(0).impParticleForces()); } Info << "update Ksl.internalField()" << endl; Ksl = particleCloud.momCoupleM(0).impMomSource(); Ksl.correctBoundaryConditions(); + surfaceScalarField voidfractionf = fvc::interpolate(voidfraction); + phi = voidfractionf*phiByVoidfraction; + //Force Checks #include "forceCheckIm.H" @@ -121,24 +124,12 @@ int main(int argc, char *argv[]) particleCloud.clockM().start(26,"Flow"); - /*// get scalar source from DEM + // get scalar source from DEM particleCloud.forceM(1).manipulateScalarField(Tsource); - Tsource.correctBoundaryConditions();*/ + Tsource.correctBoundaryConditions(); stm().update(); - /*// solve scalar transport equation - fvScalarMatrix TEqn - ( - fvm::ddt(voidfraction,T) - fvm::Sp(fvc::ddt(voidfraction),T) - + fvm::div(phi, T) - fvm::Sp(fvc::div(phi),T) - - fvm::laplacian(DT*voidfraction, T) - == - Tsource - ); - TEqn.relax(); - TEqn.solve();*/ - particleCloud.clockM().start(26,"Flow"); if(particleCloud.solveFlow()) @@ -186,23 +177,23 @@ int main(int argc, char *argv[]) U = rUA*UEqn.H(); #ifdef version23 - phi = ( fvc::interpolate(U*voidfraction) & mesh.Sf() ) - + rUAfvoidfraction*fvc::ddtCorr(U, phi); + phi = ( fvc::interpolate(U) & mesh.Sf() ) + + rUAfvoidfraction*fvc::ddtCorr(U, phiByVoidfraction); #else - phi = ( fvc::interpolate(U*voidfraction) & mesh.Sf() ) - + fvc::ddtPhiCorr(rUAvoidfraction, U, phi); + phi = ( fvc::interpolate(U) & mesh.Sf() ) + + fvc::ddtPhiCorr(rUAvoidfraction, U, phiByVoidfraction); #endif - surfaceScalarField phiS(fvc::interpolate(Us*voidfraction) & mesh.Sf()); - surfaceScalarField phiGes = phi + rUAf*(fvc::interpolate(Ksl/rho) * phiS); + surfaceScalarField phiS(fvc::interpolate(Us) & mesh.Sf()); + phi += rUAf*(fvc::interpolate(Ksl/rho) * phiS); if (modelType=="A") rUAvoidfraction = volScalarField("(voidfraction2|A(U))",rUA*voidfraction*voidfraction); // Update the fixedFluxPressure BCs to ensure flux consistency #ifndef versionExt32 + #ifndef version40 if (modelType=="A") { - surfaceScalarField voidfractionf(fvc::interpolate(voidfraction)); setSnGrad ( p.boundaryField(), @@ -223,6 +214,8 @@ int main(int argc, char *argv[]) ); } #endif + #endif + // Non-orthogonal pressure corrector loop #if defined(version30) @@ -234,7 +227,7 @@ int main(int argc, char *argv[]) // Pressure corrector fvScalarMatrix pEqn ( - fvm::laplacian(rUAvoidfraction, p) == fvc::div(phiGes) + particleCloud.ddtVoidfraction() + fvm::laplacian(rUAvoidfraction, p) == fvc::div(voidfractionf*phi) + particleCloud.ddtVoidfraction() ); pEqn.setReference(pRefCell, pRefValue); @@ -242,8 +235,7 @@ int main(int argc, char *argv[]) pEqn.solve(mesh.solver(p.select(piso.finalInnerIter()))); if (piso.finalNonOrthogonalIter()) { - phiGes -= pEqn.flux(); - phi = phiGes; + phiByVoidfraction = phi - pEqn.flux()/voidfractionf; } #else if( corr == nCorr-1 && nonOrth == nNonOrthCorr ) @@ -257,13 +249,13 @@ int main(int argc, char *argv[]) if (nonOrth == nNonOrthCorr) { - phiGes -= pEqn.flux(); - phi = phiGes; + phiByVoidfraction = phi - pEqn.flux()/voidfractionf; } #endif } // end non-orthogonal corrector loop + phi = voidfractionf*phiByVoidfraction; #include "continuityErrorPhiPU.H" if (modelType=="B" || modelType=="Bfull") diff --git a/applications/solvers/cfdemSolverPisoSTM/createFields.H b/applications/solvers/cfdemSolverPisoSTM/createFields.H index 5766995..09dbfe6 100644 --- a/applications/solvers/cfdemSolverPisoSTM/createFields.H +++ b/applications/solvers/cfdemSolverPisoSTM/createFields.H @@ -105,7 +105,7 @@ ), mesh//, //dimensionedScalar("0", dimensionSet(0, 0, -1, 1, 0), 273.15) - ); + );*/ Info<< "\nCreating fluid-particle heat flux field\n" << endl; volScalarField Tsource @@ -115,14 +115,14 @@ "Tsource", runTime.timeName(), mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE + IOobject::NO_READ, + IOobject::NO_WRITE ), - mesh//, - //dimensionedScalar("0", dimensionSet(0, 0, -1, 1, 0), 0.0) + mesh, + dimensionedScalar("0", dimensionSet(0, 0, -1, 1, 0), 0.0) ); - IOdictionary transportProperties + /*IOdictionary transportProperties ( IOobject ( @@ -159,7 +159,19 @@ surfaceScalarField phi ); #endif - +Info<< "Generating interstitial face flux field phiByVoidfraction\n" << endl; +surfaceScalarField phiByVoidfraction +( + IOobject + ( + "phiByVoidfraction", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + linearInterpolate(U) & mesh.Sf() +); label pRefCell = 0; scalar pRefValue = 0.0; diff --git a/applications/solvers/cfdemSolverPisoScalar/cfdemSolverPisoScalar.C b/applications/solvers/cfdemSolverPisoScalar/cfdemSolverPisoScalar.C index 8e29a87..b1af991 100644 --- a/applications/solvers/cfdemSolverPisoScalar/cfdemSolverPisoScalar.C +++ b/applications/solvers/cfdemSolverPisoScalar/cfdemSolverPisoScalar.C @@ -100,13 +100,16 @@ int main(int argc, char *argv[]) if(hasEvolved) { - particleCloud.smoothingM().smoothen(particleCloud.forceM(0).impParticleForces()); + particleCloud.smoothingM().smoothenAbsolutField(particleCloud.forceM(0).impParticleForces()); } Info << "update Ksl.internalField()" << endl; Ksl = particleCloud.momCoupleM(0).impMomSource(); Ksl.correctBoundaryConditions(); + surfaceScalarField voidfractionf = fvc::interpolate(voidfraction); + phi = voidfractionf*phiByVoidfraction; + //Force Checks #include "forceCheckIm.H" @@ -176,23 +179,23 @@ int main(int argc, char *argv[]) U = rUA*UEqn.H(); #ifdef version23 - phi = ( fvc::interpolate(U*voidfraction) & mesh.Sf() ) - + rUAfvoidfraction*fvc::ddtCorr(U, phi); + phi = ( fvc::interpolate(U) & mesh.Sf() ) + + rUAfvoidfraction*fvc::ddtCorr(U, phiByVoidfraction); #else - phi = ( fvc::interpolate(U*voidfraction) & mesh.Sf() ) - + fvc::ddtPhiCorr(rUAvoidfraction, U, phi); + phi = ( fvc::interpolate(U) & mesh.Sf() ) + + fvc::ddtPhiCorr(rUAvoidfraction, U, phiByVoidfraction); #endif - surfaceScalarField phiS(fvc::interpolate(Us*voidfraction) & mesh.Sf()); - surfaceScalarField phiGes = phi + rUAf*(fvc::interpolate(Ksl/rho) * phiS); + surfaceScalarField phiS(fvc::interpolate(Us) & mesh.Sf()); + phi += rUAf*(fvc::interpolate(Ksl/rho) * phiS); if (modelType=="A") rUAvoidfraction = volScalarField("(voidfraction2|A(U))",rUA*voidfraction*voidfraction); // Update the fixedFluxPressure BCs to ensure flux consistency #ifndef versionExt32 + #ifndef version40 if (modelType=="A") { - surfaceScalarField voidfractionf(fvc::interpolate(voidfraction)); setSnGrad ( p.boundaryField(), @@ -213,6 +216,8 @@ int main(int argc, char *argv[]) ); } #endif + #endif + // Non-orthogonal pressure corrector loop #if defined(version30) @@ -224,7 +229,7 @@ int main(int argc, char *argv[]) // Pressure corrector fvScalarMatrix pEqn ( - fvm::laplacian(rUAvoidfraction, p) == fvc::div(phiGes) + particleCloud.ddtVoidfraction() + fvm::laplacian(rUAvoidfraction, p) == fvc::div(voidfractionf*phi) + particleCloud.ddtVoidfraction() ); pEqn.setReference(pRefCell, pRefValue); @@ -232,8 +237,7 @@ int main(int argc, char *argv[]) pEqn.solve(mesh.solver(p.select(piso.finalInnerIter()))); if (piso.finalNonOrthogonalIter()) { - phiGes -= pEqn.flux(); - phi = phiGes; + phiByVoidfraction = phi - pEqn.flux()/voidfractionf; } #else if( corr == nCorr-1 && nonOrth == nNonOrthCorr ) @@ -247,13 +251,13 @@ int main(int argc, char *argv[]) if (nonOrth == nNonOrthCorr) { - phiGes -= pEqn.flux(); - phi = phiGes; + phiByVoidfraction = phi - pEqn.flux()/voidfractionf; } #endif } // end non-orthogonal corrector loop + phi = voidfractionf*phiByVoidfraction; #include "continuityErrorPhiPU.H" if (modelType=="B" || modelType=="Bfull") diff --git a/applications/solvers/cfdemSolverPisoScalar/createFields.H b/applications/solvers/cfdemSolverPisoScalar/createFields.H index 2e442af..0a7d7c5 100644 --- a/applications/solvers/cfdemSolverPisoScalar/createFields.H +++ b/applications/solvers/cfdemSolverPisoScalar/createFields.H @@ -159,7 +159,19 @@ surfaceScalarField phi ); #endif - +Info<< "Generating interstitial face flux field phiByVoidfraction\n" << endl; +surfaceScalarField phiByVoidfraction +( + IOobject + ( + "phiByVoidfraction", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + linearInterpolate(U) & mesh.Sf() +); label pRefCell = 0; scalar pRefValue = 0.0; diff --git a/doc/CFDEMcoupling_Manual.html b/doc/CFDEMcoupling_Manual.html deleted file mode 100644 index ea2e8b0..0000000 --- a/doc/CFDEMcoupling_Manual.html +++ /dev/null @@ -1,245 +0,0 @@ - -
CFDEMproject WWW Site -
- - - - - - - - -
- -

CFDEMcoupling Documentation -

-
- -
-
-
- -

1. Contents -

-

The CFDEMcoupling documentation is organized into the following sections. If you find any errors or omissions in this manual or have suggestions for useful information to add, please send an email to the developers so the CFDEMcoupling documentation can be improved. -

-1.1 About CFDEMcoupling
-1.2 Installation
-1.3 Tutorials
-1.4 couplingProperties dictionary
-1.5 liggghtsCommands dictionary
-1.6 Models and solvers
- -
- -

1.1 About CFDEMcoupling -

-

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 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 CFDEMproject WWW Site . -The functionality of this CFD-DEM framework 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 -

-

This documentation was written by Christoph Goniva, DCS Computing GmbH, 2012 -

-
- -

(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. -

-
- -

1.2 Installation -

-

Please follow the installation routine provided at www.cfdem.com. -In order to get the latest code version, please use the git repository at http://github.com (githubAccess). -

-
- -

1.3 Tutorials -

-

General: -

-

Each solver of the CFDEMcoupling comes with at least one tutorial example, showing its functionality and correct usage. Provided that the installation is correct, the tutorials can be run via "Allrun.sh" shell scripts. These scripts perform all necessary steps (preprocessing, run, postprocessing, visualization). -

-

Location: -

-

The tutorials can be found in the directory $CFDEM_PROJECT_DIR/tutorials, which can be reached by typing "cfdemTut" -

-

Structure: -

-

Each case is structured in a directory called "CFD" covering the CFD relevant settings and data, and a dirctory called "DEM" covering the DEM relevant settings and data. This allows to easily expand a pure CFD or DEM simulation case to a coupled case. -

-

Usage: -

-

Provided that the installation is correct, the tutorials can be run via "Allrun.sh" shell script, executed by typing "./Allrun.sh". The successful run of the script might need some third party software (e.g. octave, evince, etc.). -

-

Settings: -

-

The main settings of a simulation are done via dictionaries: -

-

The DEM setup of each case is defined by a LIGGGHTS input file located in $caseDir/DEM (e.g. in.liggghts_init). For details on the LIGGGHTS setup, please have a look at the LIGGGHTS manual. -

-

Standard CFD settings are defined in $caseDir/CFD/constant (e.g. transportProperties, RASproperties, etc.) and $caseDir/CFD/system (e.g. fvSchemes, controlDict). You can find more information on that in OpenFOAM(R)(*) documentations (www.openFoam.com)(*). -

-

Settings of the coupling routines are defined in $caseDir/CFD/constant/couplingProperies (e.g. force models, data exchange model, etc.) and $caseDir/CFD/constant/liggghtsCommands (allows to execute a LIGGGHTS command during a coupled simulation). -

-
- -

1.4 "couplingProperties" dictionary -

-

General: -

-

In the "couplingProperties" dictionary the setup of the coupling routines of the CFD-DEM simulation are defined. -

-

Location: $caseDir/CFD/constant -

-

Structure: -

-

The dictionary is divided into two parts, "sub-models & settings" and "sub-model properties". -

-

In "sub-models & settings" the following routines must be specified: -

-
  • modelType - -
  • couplingInterval - -
  • voidFractionModel - -
  • locateModel - -
  • meshMotionModel - -
  • regionModel - -
  • IOModel - -
  • dataExchangeModel - -
  • averagingModel - -
  • forceModels - -
  • momCoupleModels - -
  • turbulenceModelType - - -
-

In "sub-model properties" sub-dictionaries might be defined to specify model specific parameters. -

-

Settings: -

-

Reasonable example settings for the "couplingProperties" dictionary are given in the tutorial cases. -

-
modelType 
-
-

"modelType" refers to the formulation of the equations to be solved. Choose "A", "B" or "Bfull", according to Zhou et al. (2010): "Discrete particle simulation of particle-fluid flow: model formulations and their applicability", JFM. "A" requires the use of the force models gradPForce and viscForce, whereas "B" requires the force model "Archimedes". "Bfull" refers to model type I. -

-
couplingInterval 
-
-

The coupling interval determines the time passing between two CFD-DEM data exchanges. -

-

A useful procedure would be: -1) Set the DEM timestep in the in.xxx file according to the needs of the pure DEM problem. -2) Set the "couplingInterval", which refers to the DEM timesteps. Depending on the problem you will need to have a close (small couplingInterval) or loose coupling. -3) Choose the CFD timestep in the controlDict. It must be equal to or smaller than the coupling time, otherwise you will get the error: "Error - TS bigger than coupling interval!". -

-

Example: DEMts=0.00001s, couplingInterval=10 exchange data (=couple) will happen every 0.0001s. -

-
- -

1.5 "liggghtsCommands" dictionary -

-

General: -

-

In the "liggghtsCommands" dictionary liggghts commands being executed during a coupled CFD-DEM simulation are specified. -

-

Location: $caseDir/CFD/constant -

-

Structure: -

-

The dictionary is divided into two parts, first a list of "liggghtsCommandModels" is defined, then the settings for each model must be specified. -

-

Settings: -

-

Reasonable example settings for the "liggghtsCommands" dictionary are given in the tutorial cases. -

-
- -

1.6 Models/Solvers -

-

This section lists all CFDEMcoupling sub-models and solvers alphabetically, with a separate -listing below of styles within certain commands. -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IOModelIOModel_basicIO
IOModel_noIOIOModel_sophIO
IOModel_trackIOaveragingModel
averagingModel_denseaveragingModel_dilute
cfdemSolverIBcfdemSolverPiso
cfdemSolverPisoScalarclockModel
clockModel_noClockclockModel_standardClock
dataExchangeModeldataExchangeModel_noDataExchange
dataExchangeModel_oneWayVTKdataExchangeModel_twoWayFiles
dataExchangeModel_twoWayMPIforceModel
forceModel_ArchimedesforceModel_ArchimedesIB
forceModel_DiFeliceDragforceModel_GidaspowDrag
forceModel_KochHillDragforceModel_LaEuScalarTemp
forceModel_MeiLiftforceModel_SchillerNaumannDrag
forceModel_ShirgaonkarIBforceModel_fieldStore
forceModel_fieldTimeAverageforceModel_gradPForce
forceModel_noDragforceModel_particleCellVolume
forceModel_particleVolumeforceModel_scalarGeneralExchange
forceModel_virtualMassForceforceModel_viscForce
forceModel_volWeightedAverageforceSubModel
forceSubModel_ImExliggghtsCommandModel
liggghtsCommandModel_executeliggghtsCommandModel_readLiggghtsData
liggghtsCommandModel_runLiggghtsliggghtsCommandModel_writeLiggghts
locateModellocateModel_engineSearch
locateModel_engineSearchIBlocateModel_standardSearch
meshMotionModelmeshMotionModel_noMeshMotion
momCoupleModelmomCoupleModel_explicitCouple
momCoupleModel_implicitCouplemomCoupleModel_noCouple
probeModelprobeModel_noProbe
probeModel_particleProberegionModel
regionModel_allRegionscalarTransportModel
smoothingModelsmoothingModel_constDiffSmoothing
smoothingModel_noSmoothingvoidfractionModel
voidfractionModel_GaussVoidFractionvoidfractionModel_IBVoidFraction
voidfractionModel_bigParticleVoidFractionvoidfractionModel_centreVoidFraction
voidfractionModel_dividedVoidFractionvoidfractionModel_noVoidFractionVoidFraction
voidfractionModel_trilinearVoidFraction -
- - diff --git a/doc/CFDEMcoupling_Manual.html b/doc/CFDEMcoupling_Manual.html new file mode 120000 index 0000000..eb84c00 --- /dev/null +++ b/doc/CFDEMcoupling_Manual.html @@ -0,0 +1 @@ +_build/html/CFDEMcoupling_Manual.html \ No newline at end of file diff --git a/doc/CFDEMcoupling_Manual.pdf b/doc/CFDEMcoupling_Manual.pdf deleted file mode 100644 index 8a26cc43faf1cd754f087583d81ea1228eb0f242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 615272 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

F== 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�SE5>xFA2;v$S787e{2DE(S0I$vZT9cekRU1y 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�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%0AHV`-2;Awu^Kw$cC?9-qiRH4@z(jE!pF=@{?Ro zZ{EUJx)Miy-iT)Rq644`?s3cc{XsH|ef0iL(D4l)qKVjA(C39gr#YLYISa|pdWB5W zGOTdkcUnL4LB5I7tqe# zhqmRIYZIJqr{l}H|5oqXZ|v!tBl+dQ?%3U=#@6Ca_;v6r;J1%Yf@z=}C}4>|LAl

HEx=b+3kj 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%0DIZy7RLe)3 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

}FoxoJyam&d^#f?Bvmk)R@Bs+h9Qtf(K>;*K~t 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 `+q;EgkJnCr|A7Pgej1a49=4v5>J6 z)8tDH0g*_E<%NkvHGH2Ku4IF6!ouIE(&~!Q$4xoPR)Gtj^4yr(*%9p@2<&YwC`R6r zeNd=MRn@W^y(3o(g15eyQf^G@S3nO#q8g2;j?CRG%jZywzyN%zPL#!ZgCr!Md4eiv zC4wmxpJ>W4l3@3Ky*ju?425$YC`MvyIHj4oVo8pHE!x=Y%t`go8h{s}g1pFTI7AMB z!dF}l2g0Y!C}UbF4Tu-|8=X4)f^>Mav>+vq414XyLU$Bjmd$=bTDFh77-`Ot!aWqUZo7GX3- z<#GmyqG?OR^3P-|3k4{FPLGIcywGNa55{gwd2{nU# zm<|zh9kywS%k8IIo+bhn@3f1Ak|uac`_}d>(2YJ$ODZn;;YbNuwR2T$@VnuG`>2>u zB$X^0H;S|%2UhXv28Nlp^MO<)%+M3541v#NJP%U&zjv$~R}$v=0;AMOOgv7(6Bk(m zS0%BRuSj4!9PiCpOBJ;+c^Kg*K$+~gRK#hd8ts!hsL&tui8ii^f2vqsaxrNl9(Sb< zGnq%whE6TZfZ{SvPSlr^sRx4Y>_qrnLl2Cl9>XV>6CjZ~jIB~Fu7)7mFwFeKRs`O% zn)~EVRv!Rox6F_5c-vB@0nQVe3JbBv5PG=gyL5kK(ggt3l4L&TD^JYmdC^qFDu8OGcrq?3Z`85cw;y;`2hwKRh5S?H|&lwTy_hQ*LOF@2Hw`D)iKyOq$_B$X^)zV?H; z$4;Lhq$&+2aJ7O8Wq$9;u#= zIbg6|>2{ar)|pgoS;^$(ICkTDdPq>{83UQa!|&H74#DO z6c%3KAm{UyJtL_-8PWyoj#h0lZtzWxt*3rg+^|M9P%r(eCH*}-@Q>2}p9Jau-I?^C zO>XFa5BaZ}6Whlq`={n~rYvDI!wdg0lSa7P!#Tf{o*~52^{H0P9tqV22FQ)%qwp$MWMjv_cDuu3bTIpK+Y};d$i0!`tr5VK>nm!yht(fsDD` z$EKsLseR`7))kL*kkd2UtB0PqV$yBhhWBzB2M9SA%3@8>VGGT^IT*%5{ScmGG)x)n= zvq$%sKG}AFNP%}(>BHlynYroiKk3=|r0+FpK$4F{3fZvMaHJ~Y#+B<%M^&rXikl~d zTBpiE4RoEFy)H8lmr_^P>MVvR?jldj;CW7xQfd7gE!k33(E-nsXG(*Nk*}@HYAq+um)~)<;UM&%W%n^uSHi!p#L=22h$U}p&k+$j3m@);i+?y z!COu=^FIC#KmXlV&(#{7Ke%#AdCMhTl{AL}#Djz~fN{Y`mO(6R@fe$iGe{wJ25&wh)0s#r z6M(`dUhRGituGAu0NVBOuii9u3*$zt4%oHK=!p4f?V|OI2wShIvN4QB?0elN8;Q^(Ro=3Xm)@E0xyV7J1@3do{otcC${B0!4CInLK;L z-{rLdc`%@_ zavRhi=V!mi-9G3K>blZ#u%D8MG3ZGZb3gBSTW{XRH)2$P z0ut{Ucs84&bbY}&P#r^-=x&~?8e!u4)n=dlJ2x)bS1(aOa09Xc5r}^5wnt~TxBZ`b zyaXXLDYEeJvf@czioN6M11T_saUV;D&vnrVp&v_zmts_S`D~*2Q>KB_u{Oeqb1_^h zvyk`{VE6)vFJO-|zq$VS5ep#zPRBfY=`MMXS%VNx>SOv|2q^QBazn=|0;(-F1oA8Y zQ2y}AI?A8J{BZqw@L06##i?zASnM(fb!Z-U^y)Xjf-FyfZ=p&*$=$l^cZT?C*zyC6 z;bu~VT#X$`yj;nlfL2Blzug7%^q<)e$~uYGpJ8r zpKRrvd8av%a0&6ZxU63Nh8EUJUGXgzg%fR16K9cBcbC@(s@u`O^Jjs&TGU(fX#O~i z^8FVlOO9TbQCpq?3pTq0ryY(N&lkN&7n01BuRkxEh{Xxw`pDDJJ<@_uz2e z)i!>WKYtGb{Ww_g|4#n=ajN$pwsgNo_g4*=<>LnApBivr!iK{#9rWPFjmqIu-?{iu z6-kZT2iXG6}M9Lg0t-T=#^vS^~OuK2*Wkoe(v(m9qL zU2unJHwbCb&lB38MZN->Wjz7ZfB0tcTvUM0uP>6=WIX;{DjCwJ54FB)U`k`YNqc*YpPisEuoqFsdRVUU<)TJT5)jjhLX zV04iY=fh8vX7~1I?E+Q<>8-qhJ|e)%=A9-Ol#33+2rer@E;2g#i@CE{D2f@3wzLob+U(|uCG_9=jPSg3Tjd(3in&F+i0Mun^`f)IUJGLOr4c$qv zEa&Yg@>JNjg_FdtPi9}Zi_sm#$GZ2RESg|SZ}R6u4q97`1WPO@m0!OyiVR%@3|Np! zIxU(622sLLdoPK6s|2{@o!!k&H@h%AbUiKO=uhg7ns5Xkt#QVQ}$2fpII=i@Tye@*b8D-f9T zcbgO9jgFyGbIO|Hrl4MPelc)87i9f$*_L6^XmN`^C^pM_+ibYQ<4Yv* zLN#W_Tyo&1e@G2=QT6~96`fQ3t7QFqur9-Y9M=6C`wFJt_xt~ltiMP1m&y8((tl1? zMXC6--&g8SrmzG$famMA=F)A6WJ)*+bpnKzKKOL!m5C$XG83P|1SP0r3r*JBA6nBl zf?!a+tiZ8sy*2~&Qc=0(&@{AIHlSCWB;j5rS*gjoYN#BhgxD=3^(5667<=`c;T4?E zQ{U)L+KT2tnv<+R{ZHu%PfagUi#p35!k8X?Z8$aq0oFKg%McKWA+TtP5I}wiaOA-t zKUYnu(gBRk<1DfWLYN*^O5_8E=v#$@AY^k@B$pkOqS_1*|K@OKjQCy92BnpX<{C#n!DdQQ41i|2~4tYcAQ#*))YTaGC zf?oHm+zaW70r}E_K>8VTY54}AFd(?UU1|qoD1Ez01U#HlR-#8wRdo_N3%p4^e?s|} zH0lHpsD4>|H)?qT^L2R(Cj^ghaVe}f)69dm>-g}tB^*k1wcQVt=ncoE3ai;yY8F(v3CvQc_~X<~rPk*Lnp0#XR??Xdf8 zOQ4*Ev7W|BUm;>@nMXh*wow;}W%a02=zWlI#|VE& zv?d(5R=41?dEQ<+4x)p`Q~b;}T@$7zZ!$)oC<>mnZ!n7TY8b7uSSsz@>7D)d&FGfJ zOqi}cO{Uqbw0G)nPH~EUDpR2|fy8&APrGt-Kj6PX@`+tExh+tNw$;)9{4$2b@D?dt z&6VS3>G@!abH_7LY13H_c_$^9hJ%B1sBLcd<$Ye(Sn9!y_Y4V%E2X4<(j?JH4=33Q z|GAm7jmZ0lDk$m?-Ce@Nn`XFA(c9r+LQe}6RP_<^c7si1rHZw}F3xh#+f%wj+P4=? zEwHTLm5b&TzQ9m4I0#K52&;byR`0u|5-`=Ql24`0@g~+4Pe7IsE#{(XjPmVNi76&1 zwN0!)RA|gRvwo~7(>pO248MuSR`NhA*~^V}Fu~EXH~sw593{pGAJG^_nR}3vwfV}^ z0OBF_SW{|KHQLe&SEoer>E(X8XypX|O?a0LwhN)fnnFT~!t9HHx|~^-yU;@&8IBV9 zzB!2k0LAmpTsTn(NQYOVTEmn23z#*sB0!=gZWP-0kYo#$QodC^NFs24H zu(NHIu|#@;ckxsZbFIXVpUhGrC>q#8=*yU*y~bwF5<7#zr-I(G4@Cqifgp2{%^674 zmt!G8P68w3oJ>46O~P+fu*wka5(|S1&1K5GD?OA{ToXBwS#xa3C1L>|hGRX!8=R-tZe@8d1i8l`HglYjB1iFKsrQ@>xgUF&!rnW z#$8^B^tzl=6^DZL0%A-nL!Rm z>G+`kS(0Oa41Wk|7tWUieRyX8CQxo*Rekwe5`#t&e$ll*M6D4_HFR}qADvAlZ-TCr zV6cQ3F$)*-r~D%1hJ781PuL< zD8x_?E+Fh+PR@Le&4v1`Zv+7()4Pdo>_CN)uAY6AkX=HcB*~J<915>cS_ziYUarr! z*#%epP$iG(MVJKkyz!2}5Bx(3a7)1_N7JaNLu>dX$dlMp{nAj1~EXvW%YsYnEHH6OL>2l<3ye3wqe`y+C z!Qnuo^m+NS{WH}&G~fzcA8fOXqdgu$XM}P%3`?Im;6*81v+yAQLZ+s(0WNe=ly}QU znGK8aFxAQ2>*MuGv6^7e#?~cdlTPK?u|=)b#LTOzhAw%82%m-`mx0R4>ytj8sq*) zq=M!5N%9|uw||8X$@W2`{L}E3sU#J>!t$Gb5&9mHR`;a$etCU2iDLz)wV&mxz{l4o zNf;4RTv60q3-@W`S#(K#@aHECTD&T@-c;6`^$4D5dGX8SX>;KlVxv2o|Z(PYnebe=yfz~yOv{G{|GcJxVS-l7h$DNJc90W$Zr25-^ohKFq17c% z>@_$SlQOpiZPg8HT3OKI!u&`49FJwxV&j$p9ycZ%k)UY2!&>HgK1(ES8n05#I@q zm1~HJEArHn67z&Pml=(gHLzw9E~%-cDaOBa=imB5TJbAw;n;3*8Dse?lT)K%vq!N%=zG z#A^Vo3q*J=GZA&$A^_EmZ@v-9PLU^8TqK+ML#KUGdB6$o8|~D&byey0d?68A^$^8! zy9d^!q$m@+lItU?M`ihpaDt>8*uY54)JUsBk4cCrVFuo$em~;@>6T`}^PV13b~yOl z@*;<+HKj#BqAa{T7O7+LXKYt`{8E*i8*AMISuvkGQre#a#<)-|E(Ty;ntP}d>ibEp z`#$U45QYw>kv8XI58OcPkV|V{vlkyMGh=hA?w^0W6>!oLmI}>46hs-qO#?L2gnjCO zu>_j};R6MvNf7nWG^1DOzgj(m^9sORX{gY%09s8ivmW^MVtHYg-ML^ecn zaRue@BA59MHM55<2mH43qU{s2TJT|{fYNG6haVCHv{j#I@Dlh~%W{F9gctqXD_(-| zt_<8)cmeKSz%NyeS45TpRe6!w1!G^2w>6BxNcurb-@c1^&p@UNVtMbM6OL{eO;xqq z%#lx;4JZ$|RMadnC0M&d;yz^?MOe$OTAWUq2N4OeI3e-(Yjq!BDyO}rdjY=_CNum7qRbTe0a&@^$d<^5v6EPZ^P zNTnQZ+Mv0!0CnQfaV>Jun8zdX4q&>@d-khg_U~b*A3B5or8@N29;>V@zu{K@;G#tT zdvt#_w=&cJ!bPdz_uDkT&8_QGi6d#Wv}`TJjb%894J>id2!0I$z-^A*Rv*yms9&T) zL8&6XGUty451Sy|D7a`GTsxl_!Yb@&x7&WKPWDEfkFAF)aF*?Uj_{_NCA;d!eSujL zo6j|d$C-<}T7nTW9b8-@3*g+@{YV$HBo}R~P~&ff(V$GOKh%84LXU7J%Rpd*5PSNH z=9y75IMjQ;eV5okD&)VB0^SgD=au1xhER;CKQy|E*{^#ZGk={ly(74WeSXDht3}G5 zP8O>{n1iONG>C_RxxJ#(5&`LaQ^B?21G>1QX9y&sFpNF7xW2UiL|r=YB~ zvMy+Sl4^f5rjNJX4FesxbS~w*bP{Q`DCVW_loK&78I76T)l1E%^Au9hvnKg(&@ z6k;qxxWG_56EZJP?s1{6G+@dFnuE-$0G9~!Hf7u{WmdU9v#~XjY0z!_vN-=y!#vT6 zDNRqw(*3*LD?QEO9#0C@km1pn<;C4vM?J(zn+Mu9jDCc0H-5sRLn8Wyg_4`KpD;#I z?8LuHjlTzr{(Z+-gYPFO^nQ%J+&LCVFf19$DTYMo{bYs}K39LT#R2)CIA$*wIHxN!7q5w|*D#bN z4HwfNO6G6gTy)&MW|CoD&;*SURtrzQt0Z=k(21dk)KLYeHg&Y)1SZ z@UYHn`5bJ+*`$IYfgx~?dE0=zL)O_=q*2I+pCK!T)x_ZnBe3*86+ zpA}Z3EPmN0EZ=zuY~xpLc`1Hs2|2sfk})gwgqaAn0VDNL!@KhNejD~vcc%EPs=OpG z?>$cr!SmgNQ06{aWYVWZP%)P~AQo|df`$5~zAmfJ z;TJmJ*KlgkEHNBDtQL;TjCo=v;y8TO zVT*X^frxpa?_U7LOv!NLbfrmC5+vY2h8=r5-{A%*nUtUD#tMJn>%@E|>=d>keCXi* zcE3H3g@{Nz%IHj$kJ0YxmKt7L>={*xa^fW?qLa(x!D6rft8DyxxF_TPRos&SkMTD$ zojk4ZuXLgRF8;#$&wcFo;Qy+R(bIp(O@IIX0e@*w`S3^*hWA=ffqv0Pk0H}G6gQ6v zo~==Da@rKOd?lz~jFGSaiW{X$j*7^AUr*JV&Q)bk((4OFiLK*YU^F4o0mW&49Q03x z;{&(*VvCKoF&Qj^i|dWy>U$xHpAj4d#r{}%LX}not?Yl!DDGdvcp=U?LB^fUp{IfY z8eR086Kbkc{+da`{rUL|)5a_|JIof9qi4#v$>Z9fPCq{O%jdhio|*VPWG=W|WJymx zpCl7_ViISxTvyi`Pj5FZil3>27}hp6dc;gT;a^-58VZByg1kb-aMEhjH~IJ3DdWuF zKP=a3HGNo#bp|RJce;A>MTV=x)CLsuRpk=pk1SFzq4mq6>ZOtnq_Airyux&w-N~3% z-gFDB5{O_bMjp6OKxBB4CuhFq84f3+w)+Y8sSo*;fPt-db1V3rfW?p#X@+{VW1Ezh zUgB+piTkh9!4S|gX5H}boH6Y|eoyrwr=o&tRkp^VKv2mSv2opKhZy(GzSijrsS24zjH@~hqe>#N zVLng}?%rl%{kZQFV!G@%nY%44K_ph<~< z%Y@r5IjHdSkwVE{kjR{{s{dX?JSrq~0o@slG9v8@894As4oqpuOTzLt0y7$sKuQBy z*gYcMI*(<2W=BoEz$DS?>k1KrB^dxYcH26OHkdv&DfAY#JCVf9;nEW{WRLMmdV{!H z#EaOsKt+lf+%g_(8XlS|n#%Q8P%~v4ks&bhGDaBEknQ+FqjtBQF4z4ZW_{mmEO;{R zRvCLltl6Mf^E`#V2v`Ss0Fk|zED+DXMkQ-)m94Iw#P({R|7abDo+-1qgFx_mX%1s; z5oPj}B`ju}E&?|E$qDUi#LN&IP)Z}wUsmc+Lg5xMD_Q&*NfJZaYnKTsS^IoNL8kC~ zCL~K1=q_#K0jL}E)Y9nolCAN6uM1S6UQCgnUh00SF2Rg^xD%gACU^trj_^^(-(y>m<+g*3d5ab`>PP$SpE@-`VE!} zpRuf|NY@k#&eh=rwoT0nCv8&%YG3J+H&~n7-1ZtJDQJ64oevaEmA3>=WnW^ELfkb+ z4)7@tLTE<6;oaDuX<4T;AV}y753qN(n#Wg4F}MA$cOp0G9?-G}I;=*}r#v&oD-doM z2J#np2RP;U?@hbIgUiL-?%>RTNFKXWGCHC*Q*Q17n<@A6&7U48t3L;hu<7FEn*;hC zNYaBL&+rA2#yAGpE0x9qT8?q;+wKBq9QlvheF-D*mW2%0R7L~=2I3@?^<|CRIrQ-H zJuq>g@xDqsqHYA^;u?{Srx?|Y(bUu6mMC~{;20i4X5V$i zPJC3&NFShBb`Zdfxz3x=$a=@Kaa+%YlO~CH3vdS$Czx?{wDoGD0cfznBGE)^OhV&@ zPWW`B=jBq@uBD}=?ezqi9`%F%qC@_Sw6t2p$dw3Z7xp!@t|KRox6~WEDYuBvYf)x)BMe`IXOfy(Fm#^iy)!SaJg0(I0I1;% zGFsh-Fal+a<2_k2XIx}vnm-Q|7^QkmynV9d5EA)SqWnFm@Z&hqfB1?1@6J1a+=cqb zwE9< !~5lvm=GKjxhSN)E0XrEq0Hs;&|)B5hl%{w7zYD=4KBK8)^WVGK8-GvbmL zkMSR(-%!}r?Q79^ZzXl4U9!(<{e3)NK$)^9ney2%AG4xuen{wQf9b>lo(W~mv;8;% zXvB2oWwXR3){5=;VRJOzE~K*T7IfSH1FCJ>)}1YLY8I~DO=Q_CsNUt_u;?}4Wxx#b zAcr+)Nk3`=>BU0&XfwGO7e!j9!UP!@xxjEIU0TmgT29~Kfjms4YJQ=tDNs4vO>?S9 zCi_rX@rB@NRc<~FXDTI2oa%$bTR%yeXhbD5QWU&=qH;nE!niZq>}1RZ^T|CSVnnjU zoc4N6BhmJ!NcnYbE2^3M%2%1187oDd3LPfCpG;XPw!%%(Zv8mg9A=ocu|d-B%rZjb zNQmsnbAbT`aOx|iT*5C2=eQSa1W71HPAo^ACKs%v=Rn#oveGg*ox1K|CS2yS^1a$3Q+FrW-eQY1 zZ@Bg?x{angphI8JGvYWan@YK+-kT~i%bXT>VIxCsKNqKwWs}$l^2kB(q!!Mq(jIAx zifKq|C>=m3g~`$t2!x-flv~YdSNIDV=yE-v7GCM;F+v=0-zbOh3ld^$rg&yUv7o#! z1xlMsui5fLfs=v+9DSwT=EmFX!`3i?wQt>#@6UB#)%*-~*vZ0eb=-#U=GdmfJc3Bvz02((NKMxP z#DubWh*~DXO1@W`Tf15FNql%OC*?6YO$=FKLYMR~2+@79q3?QbB#nk1SXNDnHG{tq zy`-l$sy#oTs5}X!Kr+eGfv?1nQ#>(9SL4E2momO@JJro{$&O3SwfkDsuM8{+B`z68 zDl2aFy+^I{fw~jYbu*hV>Wdl(t!H+0uL;%}!rU~EM~%@pR9sG6$*4*sQ za^wj)3xq;)+SUid&rs_sXgurIN5k&Rb?vk@k~w+qTE6hwi0=TT2)1BE{*vP5W+B@L zicc-1#Moddzl7;) zd<9OBA_YVk^_rj=$tE54z1+Y6on@n#qotN|;Um=Wwn3o~4TWCN|JU4`$Hm-zf#a6! zTXxElU6yM08B3&vRw|{9Of}VL-?N00H7QxLlax@ltdT9HqDa}v9w8-?ExzYHGcj|| zJIm|&eSY7sKc3g)xbr^eo_o%@XS?@?=km{8w^_DsK3lAJ@zcHP4d;h^S>sV-m#(*C z&wXY@c9CaftG5G6w~320xT@ZxvUnF(&CA(b7GFb*QI7`XRe155C=9K6+++ zv5`m8kCBJ=@7&xq!_@oKkc2j_398mDjMtw$b7;xcGL}ytjr&WE9ywJ!OywK*Q;Qny zR%vvb$iL-zrO#LWw`A6@P`M$`s{Z+79$aj%n8}sk|C6J|;LtP%O^?3ZK0-@bzqW40 zsf&wmH#rvMF)!6&XgV*s>%}Q5i+{w7)ON}p$lJJC;MT`v;nI#%diu9|+GFx;cc*1N zc87VY9c^2_W4-vJt=(Er)8emg(b@YKD(@J!EXi7J^cQ~az|8maPjIG(Reii$`11Ru zn8_1o{P^_QUh8pTPDtHB@!q}PzRWxw5MO8@N?0+~uy^SiQ|sBO$1bjV)2!!&(QE0} z<=>Kwtp5wWmw%IFM3<#V2>sIn3ZM##QW%S^gg#Iltb6O|_kKu=WnB%e2aV3w_Kdbv z(oIk87TZm0%C$}+R-#_?uHs#1=ZEa-GJOBN{>z-pb5GTlW}f=STcLJwd&|Q;T-CeO z3~f7Mo^IccVe{sVTjA;#JATyUMar|5Wog+2PVQu#_?TtjW~kNIpvBc5VQZAiwKf&b zFuSGICQ(gQZ|T(@V>94M&okvC!fx2?YJ*P);0;L81QGmBkXpHSiB@8A1aU#L$1CX7wh92>5FdKLfO!If8=R8F0q zp3FYbq2`w6{_e_yB1Lx>Z7l5HWvu3qWb6F5dg*mLj5HFemJhv}U9)+WPRrsA2Pa!! zjTTLg*S`Bc(f!q$>Fx)K_4y@DJvz4047=f8TC~aa{FZOaH{SHy z6eOB+y*RXwUR2ZL&pYq4&ojOBJ^r?p)$C`hN?YwQ-=tKQpIY>8t6DCvrdr(AAaCOSf|IZ34>~cT-O7E8 z8WoR^3w`-jY2D|vt?8pb{#BX_oHV=HG5TPH;lU;qQ(H#|?D_ECXU6!8>5rS~np8!5 z)XYe?P}8}c5@xwGY0u_CrI)t#SvR#7tZ))a(77>nqmhMHJPV~L%{k^VA&28A(g!WzIdOkHNx^w>RhKh`w zyr#XzTEDSL4-;l=Teh&pi>eeoTXC7{q>^`4s|^;&WbWI!`N*ur zR+E^Gy}LyXIJj+Q=XXKj!>gY^U%u%<$NN0HLrzPl)D;Sf*2dhoso*)Cwfqu2N@spA z&daq1CocMAjcgiq+;`u1{>c3^kHvpXx!Sqc$0Z@hztl}^zud3sk2l-L#|_e1Us$)^ zVcT5?pG+2; zu5+BK9&VAGyf6?HWzA{FZGP82{ggo8=NF;BL?=;>)*0jyM9Rnw;mWVd56vcsjGL^t6RJFE z`A!|K&v5J8#$abfxUTYe>+?3FoQDoulG@8FA-3!H3gPjyKBM3Fk7{hTyK}D_YG++E z+uzxlzqDQI>Y{0XW`!2XLw1e z3)p2R<}GyUe{{<|UG_9xVduM}zCBIqSzUXeb4JN5b4JHXmn0S2h*_~O)6(9pSXy}G zuc#tO{~IHO>I0nT3`M?_LkSkueJpX{3=`=1NR<% zrLCzk+W3Uu>5Rr+6-{sGwtv3)W_KIa(ND)+-OJY%UklH1h`G||M4zh~+IjO|4nDB{ zRks6SyWF2Ww0J%5T=OelTdrSP-6LKUv47Dkw$I4#>3fX!v(8^{xgdJMwjq52Iz=hn zi&huAXx?@!O{{Ihd)G&wW{Z}*A@~nM{y$Gt{m1y5kFJejQzZXM@}VnKc4$Jb-cVqD z&;O|&^(F&*_IbnX6)u9q?T&VcO-xYUD^Hh|cJ?(rg&_t-`$E_OM_w4Nh=jMlf@>Y&?_L)#LqIzDw`Pk_T|qnMrB+ddf&sX3q18wG3iug?8m}0PXZ^;@zAkkN1tYx zx>}Bjd3RtVcacwgUCNHILvW1gn!m2b8Lh|{>LWXMKQ;MsXz0-s^A}jU*PQb+gbN1) zhZt*5*A85HbpKNJPTl3keeRc7zcdnU%nBcrca&ZfyL)D-z}4SLq2KqeKbBxGp8EA< zS@ab_zl~W_tadRUmd>)$>UAhVZ&afRXG4!R+g{e~07q+f)1g5N=T|hD7^>a6J-hen z8jBatt-ej1ytOKR`HSIZmI0SD+HJ2MW}n{v%gwZmNl{x*=&+9#e%esj`Etd6Pxb|8 zmBrWdbE}hzHhu{D9w<6%qi34I(9KPWJ{TUnp|W3Qx?gT;zDm?CZkKxpV{0bf9D44{ zVx_L8;bIPZMBwSfAsdsAbYv#&?)_q|`jOz1oo83mlb`U-OkG~^jw#F zUVE80FWhAoH2QG;y<@D|_r~J>`Zakvqz%mp;)$ys%U_-`t=XZvQ#~~ zHJ|R{T(ms;_|&7Pj_HretTNbB_|o~_f)`$M*lrWbmJA!%`5OQ86Zi9X;{s>hWEQ!P zc^@H&z90y0l>gA}3EfSQ@RMxtETWC5@lfU=c6vIcoM`!vZ8&{@hja+m@ z?7!CYeL%tBo7Zb9@1R!#U6!q;L)l0eEsOjtL zx@A2&*T})s_TGw+j7x_*q_p<9&e$-qn@Pwn@c==#LE}am6;A3Q;~%emd}jU?;}5J& z8~X8>hqin)(!UnBL)(3-daU8Z;ND6RChEJmgSyw{xhKy{>vZbOHkXqD-#0S3qYv)= zaC@{;n+DuiX-HwEDBOSobT*X2;Sxi40p9On2x%J7vnOki2Xw>CimUB zx9zNJx@U)^hb&j0;`n{gnBmX#1Fg5eT9h8&#?tbD>eiZ+Z3C1nXDy#v((;Vqpw?BH z=Nz^acNq8me(K^yjQvry;qBUIe6=(VuBdDC+V1(ckcq2}KY8pAu6P&B8jvLXlvDBg zp+n~(kkX5GJ&_&mQ?|O`-q+`kcAt0Lym0j#I*b2r8CU7CmjAzkWxf^}EKBhJ(R_1h z+MYy()7xB7>(czu+y&Vu9lCGapA@WmWPgNq`v*DKy?O*(?@{-?#6Yj#=|@p71llcI zbZg&YW0u9j;7Idsn|h4N5qDQrHi`_~;h(WdqxY7)<_jKn7&#)p3BQGBlM!o`*m=$i zN6nq%u_@ttVohD?=8Vmc>!K#j?VO-}@tfDTm>E9D#!k(051Qr}VQ;44Ug>aS^Q7*F zcUYuUb!OkO%b6ARY|@NYi^pB1Tb_T*Wk??y{cp?jKfT$CFTHw4E+H-<`A;j#ap8m?G8SQup9Ytu-tH%)wxS&8(ml4snlBVZfxI&*9PpkRI}SqdGU<4hU-JMC$$WFXy0~s zYwy8NS$2uHFX!AW>Y29tQ2fd?!z1t4D}N4;UzG~~(!r^gU!a*e_*(3)<=rQ2N%}PU z;(@Y*JLA-BF4{y!j`(1zx8iB1b6mp%1`XPG`D4BQv-jNj zK56@B9UlB~MVm97IGQ>o8&Z6RnI9PEal`jPtI`STS00%7jNN>GX)~Q9rINR2g-TKH z7O8iSsy1)@((R#z_q}DA&tHTOd9>83V9E4;DH-t{99k^Bllx+MR86w#mgNhbMBfPT`gtd``-tor%JElCxLti(Xl`rOlRL4g@v`YB)+`ye;!MZj73!;It}|k) z%(BjE+QM4d-bVg1$sN0P9X-=OZ;D`iFY{iVnsm$4Z^pU1b=}}A z^IcqTF5mH~^7OU`tF1kHI{2Q`xEwd<*w>oZZ*RRn#7pit|I(2S*8(zBl75E4A46h^M{%c43%yRGHW7d2_~WEed3> z>Ne5?{%xzOtcX8fe@75zetL<9jRy9qRy+H#)qu2)t=kPOxb-Hp?1{^l#DKL`0|HNWKhSvifx~I+ zr~5~1C;AUDwRJz=cKWC)!@UnmIU0lG&DJhfPxW6~cICtMjibfK7O#sp@!OR9#%=h5 z+?oWBAH}uVH)fTVDCsu8yK%+fr1v{Nls6L%n`XOiwe?2-wcVE79Xn-vUrp5oS^7tw z^<0uw;Bw}r-g|=&U0j>ADBO_Imv_Ty;(qsz!>;yEPwVn>xsCC#jatgy;^M1q*0f6N zFm+dXS^0uSHkQnj9lVM)jaCi*P^Nyz#&>Cdm6Ky*l_rHO-p|Y%s=tz3=<#;d(PlAD z$BXp`NBeZW7x@0{&cgRRkt-f5#=NN~b@aX*u!)z(fL0!@qc{OGCK`K&$Fwpl5#7&~FXyqE2FOl;O} z=cp|s65rJrj&=;|X1gcJtE6VZwH))n$t4l5l&;NqZQI0qS9ElB`iH7fHqLuh5So{_fdRaWDHTitH$efTaEYhJ4QA$IaD%gr~TuqzOTDyH0}CSDBjs*e7hQxHd-@>a2~;1Oi#v+KYVIVmHq3O z_Z)Wu&<(rN^`C+X392s7&p}KMVFV`OtVi+-nk_|W8?8Yt`<=% z-EQQLwwl^wNND%9m#@CAF&mLiSCB7!<^_NZNr|oLzzo~1MG~jy~-OllENlwoH2T9IfrL(_(eS|MP z>M!R-N+|i07s+JM)L=w01ym6&vNCMN*jM3j9_nJ^^3duX+!^f>vP&98j}M)HJU6C@ zeP`F2tv;@fkxjEM35Tn#jhz;0zGOw;`!Sb`hO1@8woXy&$nG<4kVD>#u!;`JWsNtp zn-}VIZMi&i7mgZ%|6ARTvis|cEFgPi+)@Q@tV6Y`b&|yJFIeMtSr zPZ9uE4&kdZ!6oo{DmkKO60oP!#ltS@haWg;nm!rZY!WZ0%<0IEL3dsE9$0aGuujpB zQr_B^xhvB3CqJ0k&QQ1TG_P;Ww}5ABmX6!*YT3H~iuBbl=6t#^PW#8a&ts|=?NPO0 z$2i0=H_h30>Sd|LoE|j~h3zJUlpg`1EN~hrR1x?AyJK)#g?Lqqn`u zg^tNJ6K?6RUp}VjQq-G|dHy={b8T|EUEx>h2-oo+wqEBsyyLCCxs@yQlFu&a7Jbw4 z-RwJI$tP+G3x{0Zw`%>wr|O;k`^SF5}kK==T z?f-nQ%k0A|GrBnE$Lg2e)EQlPNO${&rTLpu-%rY3@07gQWWk!Qac5=^(n%7X2tLxq z>hx~6b;(D%4oiBGc}0ErwQn^uo_RG=eOP|~%OyW^m2u}@HkzhtGBZSTW@h}-*w^oa z4~(niN4veff63&?*IUKzTs5yZOUufu!`hxxo_4a|w!J1dj*J}kDx^AZ$A*lHpS5-_ zE-`3ZI?-XYex7Cj>otOM8{Yu|7rq8I?(fBXc37=r;=T9X?j}?%R1ZFNB-dro?fAEw z=ErXP5yAe}opK;jMV!bliA$cWTUXNQ>1CTq;wJ`o_S!6Ghh?A3S=U8n`bCGmk)Lns zs}>%cbfCNT&>PLdj@E^Ui!Jj^QXDK7xir~iGM{g&Wgj=AAoa`2-2t~8ukmfh?=!!7 zulwqCdrG#pty|Fl$=q$cEw2YOd*|@uS%jJPyxNktx=k~A_C*IbGV(90pIkj^|61{# znC#h$Z8;ajIWKm6>bYI%zH)~8v%h}$mrq9qTPLV!+->Vcvty*``W8J}pndPg3 z#K|4KKfXMy^FgmX!(wxCA2wg9*hR1LJ7K%Btd)E7yyuQ!lo`DZ_21EC*u&)LE6#bE zna?g(MO>_L-80T9_65uSUb^uVOXU})c4M5m`2!|=@o&`kTzLm|9TZysbUpCS->s?o;=ktla1!t3_?aEO-s9@4@>HC+N)fzh&p38~1-~wsFz% zFIpz}(mqZ3?fP%JAi40)6>6D?wzT)TtJP)x)dPH=#14`CR)#N+#2-Dl+suCX#lihd zz5ScKjpL`A-uV8t&kJUgw&Dqq8=SXS`fLC2>k;}vsQgt~FV<=myaXE)ru8-S+mnOm zLUfnK<<{(I^6>qA{jM+_w0-EU`FQG4^}M~zZZ<1rhm$9pK^~yM;2N;Dl7Z96_?JcRVx@AvhVA2 z-Na`s*XG>K?NS$?-~3^AiRZ#?=en2;Pn)e&927p<*6MU&O}X^(*KT$i#o<@jGhOCv znml7yZkue@0GB$ofD!#(&$(j_@4j|_e7@xPhastfJZ~v%CM{cCN4vATu!f0V` znW$^IVot4TUh{PwQ~GrusXWcc`_}nIi=T^BBX6~|T7UD>&4r2k)(*aKWaVAvyogQH zS{`ncKJmm<(ZDhNs+RN+mI~8%b>~GtxY&H%Ca=1oZ&x=jw;bnp=Shn1=lp%idJpDS zjcd(JjlK}jD$S$YhkfkOHsv$i&z%vhouHa>(c5Ro`W*k=CzVrm@|)E8M^7>OtlE0d z_&C>QX&qIL#k1;ap1%0F#K0-2^RPBUFGhNdaMDQE)&F+Fbo{t=I$!b}f|B)|dDHvO z|1$Y?tBZxt@+=CC_6J=)>1G^YetT$%Ucv)|_$Df5etAaUc8KE!6{Y(f9{aLzi#QjK zdwuH9uUd0Rx8K1l2inZh^P1ZIl5nl=mLV>)qi@AnIPqOw!JeRJW=f-@_h zz1+Fj{E0!p*~@D0=MDGYIO^fn5KnX8!*sg$Z>d*!y!d~td;isCk`#9pT&BOde-Ub- z`0Q0SyiX4<6VyUYYLm=54v%}DYZj%=KF%H4WS6SX$L#Ss#%l}O1=%joZ>Ikv(`{(p z`e!ah$Gs0O8Q5O%;>z>3XIG8!fA^wjp3(gALZ*N3?v9@>J>4Dy&;_rq47E{OW!%bi z`YnM+Df>Z8Mx{-STj9=AcV}OEReq&a#=h{g>1MehW8F$^E6z9v9Sn&n*6ym>-1Phy z-(D&oXdjjmnu|B?k9;>lRaB|z~7e&m$#`kL*i_I?QHqTBH z@z0z%b2_6S>P=MJc46PYZG5|K^~B4XTeIv;oHtEbkZsV_`<3O({>GhF8;BmJJecnv zW>C8FkcpjE=ZCu7^+li5EzKR4T}v5}SF#fEn{sr`hM6Rw=pUm~WHB?7!~Gj$yZkJ-FZ1R-;X#i{a|S^Y!1oDj9MjFh}e2 z!aJisy)64S#JIDI!?WIM-i4p9Z2I>7^~0vaFPzmo?Jz0r@@U)pt!B17y6cG1&BIko zmL5KN?X&g$CUd=5VV9HJE?&RAdZ`J|`n$dLW9ua`RePDf$CTaOKgO88%L}@8u}5^I z7V~U#;kaDqFB{8Kb{VN$TASU4IXd!-VYg*pzN}MvKCiM2ah9{-SfB-v)D=~erU z7I6t@3aob>U3BxuiD;9Dn*LAyx>Lo`nIV@F?&NR1e8W8RmOXpR-~hMB2?Ji$?GtPD zjXn1I)GP6Y(iSt9?3Qh zI}>{Gi`ZftzOEJUBkMnd~*5lVDkt2h)RPU6}PjD#KGwlBD%>8?+m~_5)F1XpLje#i_LYqb(d}m-{ z|K!KI>BFtolwWvP=>BB8(0zx}{uz349=6;~H4BEWdXe$=;MckSPe+w*Zr(dh5Y&Ez zU1Raa^c8mb@rT>C5wSj=vCv$-b92DGiK8nfhpPGN#9M81bGVRu$Ic=<#(MOe>Im*s z*V`S2w(51zdULx?ORbv6MHXEWzZtkW>0-Z}YhErZ)|K?=(@3q|Rps<%t%v*jI*v5Cv(F1n`>&Yz zDDq(K80}Wm8$Yt!Y~O z>2v7J{m+K~cS(>x_jmE78GL#F>TmMnY%Wbt@z$y5y%VYauC4*Qmh!oSm%J&x8#&hM zE*Bn+?#7QE-gd+_tM|3NRfi5VpPQn*{?gNp@c!7jaWRdvm+EwB)IGLmOs5q?f`!4e zzddF2iB;Ac(Xv_7#z`(?ZJNC~eKLARpSaMsTkpJ_zF6-{X2gP0?m6`VMOQ{2FPhtN z^y9!&W!VwUJGSaHzQ@E99jd&#^cpefk;f^OWlayOw2k`C%^bLL`Fg{aD|O~Hnz%JU zsjJSW(Y8Z(ZCnuVd8{_bGIMY0qPqDVMnBlI`9sipPrc_^O$x`FO&d|{7Je$fhizHK z=Oo6wjj7>_yIpotN`KV$>*})aKa5^1HE`X!KmY5nY1sj`V;|cxw-nUI)`&dUi4LoL zGPhA$zwzwobzA5CxG{I)$D6~ySf~bFOUl=Y-|#X`Bk*(e@jbI{1lk>q^;oLI9rDD+ z#BZAN<6ciHJ;vx}SDa!8CEPv0s2fvjaMU)@W8b}7<;95^joKW0GE}3-KK{#Y1E2Zi zY+2IOb5Ji)RKk?LlhX=a8XM$w>KgE5OVqg7u&G|RKJ=f_=_A8(&zUwOU6yX``Q_fy zQ{{e_`JTllS2N}$?RZ`KqQlHh=R-GjKa->R^hJ926&sdWE&S2Tnm^0fErBf)4XHkC)M*KmJD3%(C&iT z#UIxO?7Va%Tg~Xn%qHUX&HD|7hU^W;eLC%LQ5Uju@EWz(6X#a;*lHGWq_63k2jXUi zJ({J@IPzmv(V|mxw|!reIpBJ1;dQkohTN>HjPJJXJ>r!7##~w$F`|8PMVmuE4vy)v za{SY5rJXI;dsJOtqhwex(>Bz8f=yXgarT|hB5}dktHV#6JQ?m`{_g4XunwutoXC!+ zSB5$=OcyoTZJ?gqrnY)YNZ9EOy6k=$iL0&*U4F37Wv5T>dWVjUI1pJBpZuuWUbMK& zCf3)kx=~!E*=xc(t?XWGZPzk!gI>D>$1|L+4lzB_*{tYDo`24*mbMG8wVWEiY(edv zO>y^(d|NE8D&P2^dAkWM1DuQ-t(oS2VO5#Erb^P{+bwcM-FLK&9`N!W18=&%9@8h=R=J?odfPabmC;+f^dD=igt4bxEhpZO->$dSFW%nVVrgb+ zzsv0&#+RHr>M>T|tJQ_@eV4EEJrncKt$3KY92wH< zYh0&?eL6R~dE&wtvv2Orqstl(Q4!cBSMoP-COmeSP?*$qAwTGxPp`PRqfa6&TP~e` zZ13=aGy9xe+?L%vWb?W`Baa@ubz;1|{i*4o;fw zf5xka+P7|7n8|n5S{9qd_St#Y{PnWlcHz7Gp498*(WOVh*tA6-UJfj78Le`jU68<)Iz7yNBeNkRvQKFX!G4>ygk8Ca&VaC7an?b`D*`0qHS?KqEzt{QCl zc*-!(*^7-^hK=AKnl<-A@wic=zC<;)88GId#)TZEv%JL8qSBa`rH@#$4)7T$qEUs_D)b$DS z4pif@H4Vi60fB0g1TD3lnh2@CF^ zX6oZ2@^o|&c?XCz+ylKl)iw1*0fF`cNh;hz)5g{gh~QDFiRqeVqEN|)sC0{bgv9-o zfB8FXV$YyJ0-fZWis+{Ji-LbmwH~=7c_X)pbAKgC{sy_?Bqe;K$0{YL9xGxn1&~@! zdaTZ_E+Q{WA5Y-3;RHpbk}^F#Qpx0g@>voq%TM)JB>G3BQ^Wy23TS1^udtx?9G0@7 zey(I2f#g=Lznm+D*3wz%DfCxF{+s2MW(4YyOWZ{HIsfv}8kn=EkF$qFiWM>bW@)7h zP>+!;k#K))`+vgd=Ua-*xR1(1NCXNsT z=k?@>QCI+8!@?#bv7P~vf$|KX0RKjZkGE)=aJKbSV?`1gmOkm^f3ku!XS_d|Gt7#> z5Fa4HK{?M09|dAheW&jQtD)@FBKEH`AYzQNy0?2i!i{~Cj_xy zdYFtBy>!m?>_>NBNC1C{-pya=GR1(>1o^dRXhBV=p~=g%qJHwE36x0f-(e?EHf-{w zQ~Wt$(&X{~Wb)*+&Dh7;eUjMIljJu{xnXN3)5Q8Ilh#h6DStO*M-!obkkr4KD)RDG zK?teN#&w`@g?NSD?0`FM=EG3 z_{|C^SUhwvUIO?_3IZgqHQWgV(VJ(zC#EP0%-`sNg5494?wSxBnWeqoJ36sG|OH8rDC_jDGF{0@5H#0KY@+CJuBDa?){j76k-2`UW|H z-$&qX*ci+Fk@{(qW>D}aGiW$jnkjM;28f*vCoAIpP2?w?rEHOzT7h0Y!bZ-cTVolm_SGvU!61p_Vx{0^_D*v$(P?NK z(9_dG@>j*_GaFuP8DaI)Cykxlt77!im%~orYg|h(`3J!u{4V@)nDih zsZ;+z8Y?S3w?w+YT_7S@nK+y4Xk9Bksy8)9VIX-K-e^gwHhSMobS=OtbBGTqb>8)|-|tqKNG`fQ0jHI%pXZ>*Up3_eub1n6lNjoV~^MB)l;e_9?pkd*V zJzG#u2x&Yehk*W#5O1H~5Yn(*$ShkuA*3OdByj(YkU)R2Cj?4D|KHHluu&n8KQZO5 z{FOYbtP3%*r;nTF6rr0aKusXKJJL)DezO{1cCdu{HxuD(pP)cZOR({tA_|~6IVg}K zEZ|oc)MQ_gw~oaA*bC&$ig%Ewr<&wH(C$S2lrqhlRskY2sPjtzCPF8XXTX>-nr1;> z0rpz(KU0PVQY}^L+S&~Go290nrX_Sq0hkuT{56It9mDzsVM!tEUl6tw!utYa z&4Vk4gDbXYlrJ|AzHA!6kfTK) zqeUP`i$F$;K#mrHj23|$Edm)W0y$a)GFl+}Bxhi>WZYtC$&mwpske7>41=6eJyecN zC{fiz!pC zxl|sJfbpre1w|N7K;mWa85}C*tT2wx;8GP#MHrJuMK$s;aND)0y9x=Iq@P(4#%EG3 zTM959Ja>m-0v^Fe#@YGc@*(-K*|w}MHK~!aV(nOvZ?$b zF^)s?TMoG%KnwL`EBRY46`c{^<58YA2_t0^zQ?C-k0Hh(8v)}4q^z;ExLR~DQr}=4 zgS0sSlVnsC@p3__Nm{rpDx@LC(eRJUCUq5Xu&G8U;`QK z5ilA#<pedWl6xGoPc4ZFTmCURX{Q>V8ZoO0iP3*jWAq zY^q6xppQc}jS?^}mLUNT+aZDExD@eQKC;EovWoURfT6ty{9VL9fKdmk6>xyl%O?2@ zFshlH7{@|90M{7t032h|S7C#9iuNN07Y&;JJ8_xsGGp3J2GY>A!Ja{zokX#5(%meQ; z42FPa9s)cM=ypN$L4O6}3vAPP90Sh-+*3S`h3CNpSAvvXCL6B@lY{5M1VX!M*#qvtFd zJqK3+@tH-V=Md%KaWs0)qS14RxA1&v^qkrW$@OK^=sBB4&)GD3&Zg0GHjSRMY4n^; zqvvcIJ!jMCIovpb=Ru?A;9lWzG&;vNQH3&p>XU_-tqHwX+7l20}T1{3_c6_@(^`nzVN|tki3Ev0J1rJ5NI@x zMh78;z~g9i5Y!Ei6Hwhpit@r2V4V?2&V4A36X4tpL%_hYAz)ygf%pUIjDSToITAQn zY&?!lmAi>?Y!o{)ApSry3FaAp562%2h(GW+oX>%A)UkGg7D>^RgrQsp1H_c14?5nF z-2fPMwnE{1(4vlVO8`T(KubBwQ2-3l0$txUv_M#g@WKX%U>q7+I5f0yX=vfn&_cbp zLe3YG$QVXLi-640vY|(qtQ$};l%rrWAlM*r!1W&FegwU?D9;7muv9Oe;u^u{NEw3c z5LI3$#<7vzfR0P*4k2P32jwy#G(a|y$>7n@g7Xp3K}kak&POmI-HvGyU|Jw{L2Cre zLcfK{A-*snC?V$yRSY~1oMki)=Xl_AG_-JNXn_(F`W}~t7A_4fu<4=S@@V*i_btf2 z(9j~lw6L@=El_1aG_x3(78V23!eXM_4HHt4_8!iU5FsadI}X)ko6;g38-#0MV(>M*jP4=jRjMOYz`Zqa3Q}3mIIGtQit&r z@v0HCIpEo$abS%x4Ec57nW5Sfz_5Mhu#xZ0d>d;xar=fNcrHWoR74W$1f6sG^ZP zfF;M{z$--KBrTeXItXzY(p5-tV;n5%P8Z_0)bq#)hIJa!LwFn))q9vc9(9D2zyU=n z1VcRzY{-z|eGAMB{vIUo$?ri82#tdhJ+dWG7eajI<9rOy!N&et)aE`-P7d>v$3 zP(A`8KWr1BE`+~_^L0!<&et)a)QjgUK(P>b?N~pc288qtOg54i5PKw(5c=V9k^_E< zav)%0xe`EPlw35>N)c3pd*3o@4CyLM3;VkOL%Ir8Q>3c^ zL%IrXC(>1_;fK^|7O;hsNfs0wN&NsAvSE+`K=u@1$cC|K;xb6{qkREjsDA^zUA#sN z7Scf&hinOpf$N+AL$-t}FOWJ7)*jgs79{&fodFmPEj$`p_$Yr5nLZj?1eg|J6=lGeShrvkAop$-7%`*^OaaOhvS{Kr2*FUE5MWrhfT;*CP5cHOJIId( z81iFTH1QjY#i5~vgZw`V1*V0I{67}BFL)de+X!gW!sGbJkEKd&XdD~$BC^4g!t-F$ z$S#{kcG)zt3s#%l%OE?6Z6|~pcpMwsPBsJ}q^z+yChGJrX;k^;qhvWdtJ!tRYa8T?A z81Q}sWkjUEkjlU~czADwWy9n6SbsUtWJB@~;x}Y>!No*;=Hfamiwns<^gUdM1y#lC z1}&t>7IUGni@wLEp#}TO;APX$f_-JGCmPd?ePu`wp|}=ccyHu_Gm2=&wQUxUhNrLv zARa&iH2NOY)sW7B+ll-zsH@>|EL8shlSo|_so-aWr-yugfZ=_W$EBeK*DqO6SHn1P z{Sv$!8d`At!Gf3$=?C=nAs&D#;BnB*PRpV`nJOU?~o$i7IL{0ZIz4A~dx{6Kpn)dY@laA{~k z=SiSw1qmXAmyhfVvIenjE4TF3iB=Ak#|H2kCn}4%ay$Ye7Q` zn}!w+4J{lRT3{nYwBR!rfECrip{pMGF91U^EWnU1fE$bQJ^({LA+%|sybo0nMKnXP z67i2Ixe-8N-(o{Zg2&;$VXA0@$ANQ8@(R=g(*n&*XdD;W7f3AA&;pw+`Yn%!7H9}T z;{?dQu$cm6U#Nr*q7RZS=zEY;%2mcoL z_OPKf3Xj9RJT5$XUmJZWG)3eBi zBNAk605B{s5c{EdaA;(gLnFHosv)`J(8w;NF_9iY%Od_QjqHNS#^Y#YmqR1Fkk-R< zqmf;x)1mdH>0^Yf0QMPZ`WV?zr^DaF^$+lNQ7i;7lqY0EoeqBw$Ic*4qbY#tQa(KrsuPeOJBf9f7F&t`Vr7#gW`RFq1X>H`pBLF z4CR)<^G5a*PP3zUA7IFy!tR0mVt}Do1F~GmzXuqqF>}C_kop0sW>jMa7_w{Ns$g0m zltk+RAr8jDrlAGrGT^ud4J|mA0qspRwD4$X!F_JvUZMRL(%$GiC%{mg$6@0f6u^-0 z$YJ9%yZ}RW9LSm>{RJ4ZrvO9y8;8bs1Q_N4_>O2jzj;Eo8W6mXW+&Ql;4Gl4cf~fltlX=h&Ylp z@a~a*K(vMY64)(K&JCo@H{|QNqfZycbuddqJ31afYn9yOUTHecm^aF#m-P^L%9Mt z?uYyL5MiTu3rdj4z6c-;CFKA#8m)%_ zgq&Po0l4y{FA5nH@_sW2Ls7pxc-crlD9@YpZ6V}DbyzA4C2a|Wq0mvND5sLpl#n3^ zLwO{x045;!3h?+*3qVec`&IHW(Wq=HWCJ0C3GJS zccUIxh-y(U6Lq5a*u~DL3GX)VCYT`IGl{)1%UC$zGf)y zqce{HgMgK!4>oyn&Ea|#BpWQ)q{ua*dR>S;1tbHVt)g!3AY)SwSbMbQko6|_b12xL zJNy6!CY6{6u%3)lATxsZ4>lBSNFG3$6WKND`bji5I66n_5u1ndbyP|V{}y~7gcsr? zQeGgXMdo}d4;bxvkkZ09z#k&%gUt-#0Pc}-3S@^+e*~50Lb?iu2(2Zw!jirtq_p^$ z7D!K$vPR|R5Y3czC)O9dI;5A73qm}FT@dLY>U5A=LgxbjhVF`m3?7QN00v(qX@R;f zDfe7xwIXd8gr;P_9;A^_4?Qdgmpm^?rI9fI;1XDp_i)1znPY^dgi8hqnjvL`_HMZG z0?mVJnI&b7N*R&s!2^ebqy;JoWUiS?4H(+HYsi;}D}=~;D2&5CFdSb+ z@&clU_8tgvkZ%UL4CL!UCoG-^I9+JIu;ir9fO$c33Z-|N@8P`yZWbYHl^pO?kepI^ z71D0-A?`tP0AU`6p*~B%f%;1ThVE8}hzaFXsVIuf>rvf4$nH|t!jgIpyC7L}h2O$O zUZh;Xs$&?sUj-^VD1QntR8OHQKxCZ>V5pV_Fq9_*7+7+WK8Q(>+(XR)=^LDzKuq9O$&JcjQT&I1>W#9^mg@81C^rwSI>S7L*V4<0&fQJn66Z- vx4;?xOBF#}oke^n5tps~=MnH?LhFD)c+5-kTmq~o -

CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

IOModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
IOModel "model"; 
-
-
  • model = name of IO-model to be applied -
-

Examples: -

-

IOModel "off"; -

-

Note: This examples list might not be complete - please look for other models (IOModel_XY) in this documentation. -

-

Description: -

-

The IO-model is the base class to write data (e.g. particle properties) to files. -

-

Restrictions: -

-

none. -

-

Related commands: -

-

Note: This examples list may be incomplete - please look for other models (IOModel_XY) in this documentation. -

-

Default: none. -

- diff --git a/doc/IOModel.txt b/doc/IOModel.txt new file mode 100644 index 0000000..77014da --- /dev/null +++ b/doc/IOModel.txt @@ -0,0 +1,36 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +IOModel command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +IOModel "model"; :pre + +model = name of IO-model to be applied :ul + +[Examples:] + +IOModel "off"; + +Note: This examples list might not be complete - please look for other models (IOModel_XY) in this documentation. + +[Description:] + +The IO-model is the base class to write data (e.g. particle properties) to files. + +[Restrictions:] + +none. + +[Related commands:] + +Note: This examples list may be incomplete - please look for other models (IOModel_XY) in this documentation. + +[Default:] none. diff --git a/doc/IOModel_basicIO.html b/doc/IOModel_basicIO.html deleted file mode 100644 index 8152c9e..0000000 --- a/doc/IOModel_basicIO.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

IOModel_basicIO command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
IOModel "basicIO"; 
-
-

Examples: -

-
IOModel "basicIO"; 
-
-

Description: -

-

The basic IO-model writes particle positions velocities and radii to files. The default output directory ($casePath/CFD/proc*/time/lagrangian). Using the keyword "serialOutput;" in couplingProperties the IO is serial to the directory ($casePath/CFD/lagrangian). In the latter case only the data on processor 0 is written! Data is written every write time of the CFD simulation. -

-

Restrictions: None. -

-

Related commands: -

-

IOModel -

- diff --git a/doc/IOModel_basicIO.txt b/doc/IOModel_basicIO.txt new file mode 100644 index 0000000..98daa37 --- /dev/null +++ b/doc/IOModel_basicIO.txt @@ -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 + +IOModel_basicIO command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +IOModel "basicIO"; :pre + +[Examples:] + +IOModel "basicIO"; :pre + +[Description:] + +The basic IO-model writes particle positions velocities and radii to files. The default output directory ($casePath/CFD/proc*/time/lagrangian). Using the keyword "serialOutput;" in couplingProperties the IO is serial to the directory ($casePath/CFD/lagrangian). In the latter case only the data on processor 0 is written! Data is written every write time of the CFD simulation. + +[Restrictions:] None. + +[Related commands:] + +"IOModel"_IOModel.html + diff --git a/doc/IOModel_noIO.html b/doc/IOModel_noIO.html deleted file mode 100644 index 0fb2343..0000000 --- a/doc/IOModel_noIO.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

IOModel_noIO command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
IOModel "off"; 
-
-

Examples: -

-
IOModel "off"; 
-
-

Description: -

-

The noIO-model is a dummy IO model. -

-

Restrictions: None. -

-

Related commands: -

-

IOModel -

- diff --git a/doc/IOModel_noIO.txt b/doc/IOModel_noIO.txt new file mode 100644 index 0000000..d90d77c --- /dev/null +++ b/doc/IOModel_noIO.txt @@ -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 + +IOModel_noIO command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +IOModel "off"; :pre + +[Examples:] + +IOModel "off"; :pre + +[Description:] + +The noIO-model is a dummy IO model. + +[Restrictions:] None. + +[Related commands:] + +"IOModel"_IOModel.html + diff --git a/doc/IOModel_sophIO.html b/doc/IOModel_sophIO.html deleted file mode 100644 index 2bbf56c..0000000 --- a/doc/IOModel_sophIO.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

IOModel_sophIO command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
IOModel "sophIO"; 
-
-

Examples: -

-
IOModel "sophIO"; 
-
-

Description: -

-

The sophIO-model is based on basicIO model and additionally writes voidfraction, implicit forces, explicit forces. Data is written every write time of the CFD simulation. -

-

Restrictions: None. -

-

Related commands: -

-

IOModel -

- diff --git a/doc/IOModel_sophIO.txt b/doc/IOModel_sophIO.txt new file mode 100644 index 0000000..09dcd3e --- /dev/null +++ b/doc/IOModel_sophIO.txt @@ -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 + +IOModel_sophIO command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +IOModel "sophIO"; :pre + +[Examples:] + +IOModel "sophIO"; :pre + +[Description:] + +The sophIO-model is based on basicIO model and additionally writes voidfraction, implicit forces, explicit forces. Data is written every write time of the CFD simulation. + +[Restrictions:] None. + +[Related commands:] + +"IOModel"_IOModel.html + diff --git a/doc/IOModel_trackIO.html b/doc/IOModel_trackIO.html deleted file mode 100644 index 28d1e86..0000000 --- a/doc/IOModel_trackIO.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

IOModel_trackIO command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
IOModel "trackIO"; 
-
-

Examples: -

-
IOModel "trackIO"; 
-
-

Description: -

-

The trackIO-model is based on sophIO model and additionally writes fields necessary to use the particleTracks utility (which needs a particleTrackProperties file in the constant dir). The particleTracks utility generates tracks of the particles and writes them to a vtk file. -

-

Restrictions: None. -

-

Related commands: -

-

IOModel -

- diff --git a/doc/IOModel_trackIO.txt b/doc/IOModel_trackIO.txt new file mode 100644 index 0000000..dff7906 --- /dev/null +++ b/doc/IOModel_trackIO.txt @@ -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 + +IOModel_trackIO command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +IOModel "trackIO"; :pre + +[Examples:] + +IOModel "trackIO"; :pre + +[Description:] + +The trackIO-model is based on sophIO model and additionally writes fields necessary to use the particleTracks utility (which needs a particleTrackProperties file in the constant dir). The particleTracks utility generates tracks of the particles and writes them to a vtk file. + +[Restrictions:] None. + +[Related commands:] + +"IOModel"_IOModel.html + diff --git a/doc/_build/doctrees/CFDEMcoupling_Manual.doctree b/doc/_build/doctrees/CFDEMcoupling_Manual.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8c5a4a42cad1a7fdccf982ce52961425a10714ae GIT binary patch literal 93626 zcmeEvXMh~VwXO(4V#9-k47A+0h&UN9)Ih-HO9S{T4$HM={~OtZVAshL&4G#MkZ zNhXYT6Yd|lmL zU48nnWji_x9lhmzSE-?=(3vgOakD$yQ?4s6Gvx5%vTkv?`qmYDGTqto!nxT}ae22m zus*%)fB^%#I*ThTN-xJ;eok@FqV&qh=6g!zOjlQ?oGpjcuL`klG@+|BqEzUbmsO?Ws#68usJ3y%)wI=7ZDWh8o9vk48YVlsxTeXDDz3Fi za2IA5*Itxf5o*i5<$}s*x=O`$rbk^ zCs!^}KGV|~#Jt|r^k4{e6ne_&?^1F7sp)~-?(PKM4Hosbu2Jf3FO~DKj#jpHW@nd* z8@k1fT34N$QKf8KceYf@%z;lfo>|-^?8ef#$Ch zovV6#@*QwfU2#~t70n%yD|BZ^bj&IA1t4=a&h?4hZh^%;)wRvLFLRG(ziIWbx=t+sW_^&E>kY6 ze0y&h-8b4Tj;U`Q+}S&qa;4(fnXQ95x-z8_^5bT<4sOqM9H`j&+stfTF5g)yZacHM zUF(Jcj}H&BcKb~0K&@>2%;Jx8D`$FJmj}7C#m44kVaYqhiaX@6)sf40b;1S39cLDQ zQXlRyxW5a1wG;Y$XSX;3eJqEJ^pok4#3WClK4d1sM?-R3=NfV&TL()0;-nlJIk`SJ zc4lte%-l9JbKB0$ji1?@1DqT{~t)U?yCF92@rWI6qcA+a@Xbbdb!`z-Zb%{h`d9L>2_1Mb3u85N|YEBkTp9vEOxWzV_;5ddZYwMa{ z8lT9O%X7z%7%_kT{05swcVB>JV; zkzN~GvAwxoSpGI2fa|7lUpf6%C6?)&k<io6WO#7t!)mP{#)4a%ON=~~ zu`>&^1AU28TF>l4rkmXv2d+qP>jt~bu2WR(wNmS{IAxWCoz|OMTRLssAfS0}aelzN z`8feZzIWr`EFhe!9$ZK)2f>55D)?Ct%)z-q0%pSsn60wC?Ru=rjUr3j0Aq`XV0<*^ z$3rt@!C|@eMMuKZQ9Qgp$I#mH&<6Y4oHr7izg6C-7*6P%*bVfWDH*3B=V(1LCwkZ z7yyRw-Q zYGlPqBHNwGcd?MDI3ac)T(5B~yg`A=sCI`b3|^HjHZ8i~n{JwBG0yyR$W?<#a0SXVq9%sj&_{t`9h zD$YABTI(u8#WU%Pv*LWQx$(u>kt-C|uPdGd_2;_9Uy=Bm;}9IxFe)(~!~OVKJInQP zkSdL%+D7d-t91pCnb)4@HS@ai4DUc~B#QHEqPU*_I;yMz}03%=luP>iFCH^DVG zyTw~zLRj}(@D!J&gAIt{twLO$1jwM<+~V))3|@4MY8dS?Xo_`HnE-W0?>H+LLz&y- zD6@qj?j04%j7}8q1g^W>;vZ;CQ)YAmzP$}NNQ%4N;yo-{-zP;3hT^@f;gMGSe_z!9 zxhodsjIT$>`TCDFeVw~HC$8Lr9esa}9(%woJ_u~Nd+D)%Jom{Gd2TCq`={c$&)nkY0Gs=W zp8JRK+!yrRCjrlW8T8x-RPhx&$FZtr`-)$qyS{OY|AZOw=4Wx<{MIdg$4(n2-W=z7 z(@Y>u^d^u(z8n|t%kSfSS?~E$4ZwA2#hv34Y8mV}`f#-@5?3uJrN*!0=+|$xU)Ay= zFwhgI_r1G#kZJ`~q9)6|Y7iAgPMG$9IWES-YA{vFeRGxbqZu>n;UTpmr7>(OUO>8P zCECm-9lH9ku}-9D?&0v4O~J=*ev6Gol7YwGpH}EjAlArjjab@TW!N z_^=7}EeRin&|{lYntVtg`*{7?g2>b(9*594}x;R?J}1S&hSPS8XFI^hhdTTi3@mGG=z$c(ttOq1xIP zwsHPdZ7Wr_!+&lqhcHXIkuuSswih*4uc`6e)4G<-=MN9e?y4W7$RVmM@Tx|sx^8Z* zEJ2PT$kugZF`!jDK-g6~8U-E*aOEeW1ydJlClT3Mwv*K^rPTzKq#-;?Pr!YS8F++kk`(0hxE-i_P4%8ctdH%#~1s}~Xr~^^b-Jb8^j0a~L zN@cilPC19^joFD=yH9CqYT9+i^h6`Z*tQ*KwIx`W&k$q~WQ9FwZMwDw<*?XsASQnk zvskdp9y_FDYuyh`7Ab0|LYXsa;A<4xZfC~O(}uAJ}a$|m^eB#U{OvYxP+pT|rO z<)s}SuHbZ1`@%%BqpQ%{nM`<(Ga3@j*@cPOy*>K5Sr_Kx=`EG@CZS3)35EHh_TlI^!kBbVtx7n{A=a!13E#Qa>oBbVUZ59X2bT?;t{RLXYY z=!9zargk(ofUffV4l?C3ykBZiyMbRpnsbIoH4E*cG#}>;5o&i4Xi8@>`utmXsajwW zN6u6vuG&M)C;xrs(MLQWqmMoOQLs);g8&ZPJq6)j9zvd+qU>uO40iEyqEk(WAgA#~ zKW^4JYoW(gH3LQTMk{r-F3%xWCQQvCn(N4M`q!Se@8uY@H|y!SRU@kQ!9H|f8i}j+ zr9ypq>=3RVb$D*sPs;b#<#HPK#sMdQvvpm}CFND%G@wrbKSfoUS;6Rm!Cy{8GesSM z60dmx!=e2E3iAYJF6UGm_F%$!$C(%fo8*>e$%h{`3zgBv3=&th;~#D8rw-rGj_1t| zQP$}x<5PhuBT=w}aw8q%y)5f`-s4mA;6R2x;o}6mTf~R6Q42i~t)S+h1g*>=aaEqm zJx>y9#gmSdAE?XaS(zS>gE$@W7Z(^5W*c{PNgZ*QvT>4zyP4VMwknGk$c_gd#V@N#;^5G%%XzW9aevZUd$55f?9U`lEXOWa2tIMko zsrpFt7WkM$@i?g!Gjbk}g5bz`0`^oqvjVpMbBQCDI47bj;HHz1xaws5lX(B>A9D%l zA6L9><&DQLq@zypI%)-!@INH z1+@?t!@XD=rSMF3mu#loi|Za<0*_ax!T@YrH&}Azd79XbUU_b7t~^g?y{7bk8?G~; zA9VR85?7rmXp)WxmR%zUcK9hzJ9;8pZtFtx>(p70LO-4@8qU!gI1_2LwRI({hB_BA zyw3X-Wm{L!Me00k@p5gz(8%>cWApZ=JI-gFFdX7&%VR}aow@+!0COP{SN)p8VE<0g znlIzYb)mDjE29#bxwx6k;8w!B9m6AQJa*Fdz5!O-* zbsJ2@_xbMyM5LGeKEItc+2?m4w(w&owR&;KBWdXAV)QFmhp zy6qk$uDVxB^&Bxv0hcC0#%V|Z;64%iqbIf+IxW;;m8&9Fw62QoXC3dVh_k@b&*}jR zb>z5K%)T9v+mr`c)+8%wweUmO0jLinan+yjZ!U_6s&Y~Eh?GC7%gsd*-5JDYT@=md zT%z1gJ|?x~qNvjbr2dQohiEI;LCt7I;s@l% zc~t~o(}L;E(3kBv({+RvRbg$HH_6(`<*3%F&L4?i7Zs7#`F-^U%B8Q~M8;KbiMU>w zxEPD-udJGK2-WV-w?#$7V)G8{&vz)?BnuxGr~X}tqRZYx;;O%i(xl_rBv{jB=Cbhb zBKW=*lxg!BAl2+V&RDqS>+RsB-FWo@$^kljRrjG(i-O+CT*iFFdV1PCPVL7i2G~!K zxaw0;mUKK@1f~xZ@51Xdk@{Rqg)Y1tbFK9c7CSYsu_hRBUx=)Cs{c~7f2FmjTR@$m zCDkz$m%f}1;}x%-kM?KR^*lK{N+#HODEf2wX6~7DwR&n-eGSd%K{i6W-RIgjVl&c- zKG*)qDm*T~MaEU%iFnfS6cV@1qwl3SqOExXc{BhsLiO_CZW-iUwXAF>Wt^Ah^4e}W z*%{W5a%i4PmPa{!%3E6WkQ#_h_;3Xzt{NnD<*|}O6L27gcdUUygnY_L4`vqtNc#Nf)F!Re$4uClSVOfCaUwfMrP%yMAq^`qv_%Ut4=^4+*- zm-VG;73hyA%c^2I?3_lQEUU35$+9{!u3AIHla8m5=xwsBDa8?O%@gV8wWN?wdDlkH zRqM!hQl^iBjV5b;6ss!b5C^rb%TzC$vO7$zhy9?>`bb>00shT}1&!MD;RIm~`t+lB zH`FFK5|bNilQRGKgQ$n!*yb>CHW6!^de(Sm9E#P4)%jvxZ_&3GxD*IHXj2I&if71X zVj|*GpCL)sBtufjxN36|Pdc7L!n7H(g%n4$HBX{Xx0FIMWGm$GG+ws7;e@RtF^0ry zNI5i5B}19&;RIFG*4P9eh9Pm)aQquS(1gv0ZENviF}>HIjf@Z@BejwAzn~DFU~|Gg zA0_%nd-|u*=XecGzXTWWd3|;_LU;s-*QXMtoLk3!f0951-8A|gXd zyfl}<8<1JmisH(Az)om-;$Nhv+8Zj-+I^6?itnSLwKDJcuWI)F&t>syU(vsxr+*_L z*KbV39~f$X2zm;Irulk zBMyI{CjXk!qv(5cj$G2=L*=xEyjXCwg{4#Fd)JJ>2a3)vPiH6K1+Lw2UyX50-vnSq z^4wm%7zwYM?b6ko?@UZuh!r9Ej#8o?)rKU7Ps(Eu&0-v$>`m6UWXriiXQCdbPtcPqTXQj+B!5GK?MF{vCVM)Yinb-gex-C3er_ zrDM#x)i+JseMp1qh1HneoF`zSz1d=Vb3W@e{hPrqfKhbmLL{y_NFXL1uLbPHN|*jj zL=M&>=@PrNfR$_BTZ!^4D15KM^>Ceqo-7xeP0T6uZDDRM(IlY;WHnl4XLA>3=Z7WQ zF%O@}loOLCPETltbJnD(yM5PTiP0lRjaDw~$8_!?0xR0Ndzj8Wl=Yha$6y}@^XTTo zk+|vz0h@HZwy-F&2o9Hm9lyQ75z37-@k+|wOL6LMkkn9TGFOd^hJSEa#c^-Odl?Lx){CFDcHKqTrXyfU?3T~W%#8tnPmL>nM zKn^C7QWfr=DNQ)bYeHz@|Jm3b!`*X4I?CPsD%|B2^tqz?SDxz1+W*m5`){AoWR_CLbOX_F(CU{}OrT-U*l?$~Md5KDv{yW>EE>;m>e{M~OQ2h1% z7m2I|UtP>Stt;C%lIjxdb7)o;_FpP>2Itn4h5fUL!r4JA{Km+6MsNvunF#L$aF-+J zsw-qW8F{@@U5Ntp1)Jbq2Ft?zt3=)c=q=nAv%JQrkS{NvO(Pz)b@8W)JQf=+uZy)h#IHP2a7QG67&5*&7@NdOh`I{%x$(l#bW< zdlaItZb#y(JE+#XvnL#I-L8B1M(Ekhtm(_~-4hF7q2DH@J6;#66w_ zCtH@7k?LO5GHsCHOF6mQy^qR*ce|V{{v)O3-Eh7-AH#9$4jALzlHB&Tv+M4M-ss{h z+&N^r>eK@$#CY`}5?4Khf8G%bZg}Wn*_NY6{YmnD4p9bgfZ0Q|^9WNtIN9LUqu7tG zehi7L{)~U)9U2wyv<|`w7~)Zn>s`L5aPRU2cA@%{NL=+4{*9;PfY@E-F36r0>F5wK+dt#Tw9s>+`gu=v<)k)-CpAl_oYYd zB8quZ%ljtGN$n-E^0KxPIjOyZ{kb(9Lh(;(uZpY%U%kdXtt*;Ih?068I~>}SGuj(c zVV&F>az^X2&S-BMInM%o`j!aujP_ULT=lkWCxh>%t9P&$y+H8x>Fiw*wxD^ZGqFj= zyvGWm7v0t0uoM3NI}%sDFDjCbXMrFp=duq(k6 zC44OMQB*zVl<)}z!p93%4-^mqOnr(nbjD{$T=ltVN;+Z)hs!@?JFGe75GR}a1ylXX zi-D=W#6Gn4DBlXf(b9En_ zs=@gb4`5_%8P2sl?UylGj&rg17zb}~Ww?lPm_Gr<^_PK%G~NqaipvPFHV`k=H6*6# zcl57|Tud|Jl{nnva3^k&h9#g7*BymY+1@!X zUqUb>Z?z+anD5YwF--YhIydak#^$+(DFd)<01o|6=l?66zYIDNN5Ha3uv`QGJOgZBj!AWxH(A^7qu>ueH6;Kl6#z9gc>PBVUI2ZzscVw@KysPS@3St5v z<)z9>vK>~Da)^jW_R384K;{Edt6(P@wki@=t%iSdXw!xq+D`D0UR@;D(2_DQ1m62c zr+>W6E@1u-$Cw;yl@&dk%fa3@ZLd9cn>=ww+oUObjqne(Vb)uic>PjkF;wVD0t6=F zR6ZGfVf9@tQ7M0;SK>4A+PV0g4K@~+xMsw5rJ2p(-3t0LtP z5_yzhipXZ5b_J2z413YEBobGp@NbAjBXLC9TqL*9lId@tP0kH`0MAJyoKN&pIAKx7 zS}20G-Cf{C5>&z)!U)nP^GqDlIgzCB*6zFv7TB9tbLDKncYlXTPBiJ|WkwNZ^+SsI zx^s0!9O{A4TjF0?CF;F+ok`5a3O)gY$u6p@EHsiwuzcF;y<&}au)z&#OY}pGJGYYV ziMn%vac4d2HT{3zeM8UahYoG!H3A3c2JDXU z!U&O$df_1Bg^>_22h}L#5imlkBpuO+gKA8yij+e*JgCMpZIV|GH5xSzd(fn9khp4F z{F?)c2I3B=?L=~WEt&o+4yga`i=JV)7|S9GcW{($7*V-KlB*)Tm@ji84Bp7=C~sC* zUnwQJ@p>~~hk=q3uKjSr$RlV0;|Jh!$;|ia_xTGQWyFPq)p=MM%9QW!H>mMwa*Wr0 zEIkqR+QG(ajjY%7|5H!xfEI&OJ0ihq9O<8=<8>eDQ#nj_5|N#?h<6z?-FwrGN6G}0 z#Ps<@sSxe+LrkAff`BpcmADs~L^S>aF7fa?6&O`sE1Ym$V2prMK>1|EPUY4}RDWiL3S(CCUCO0bV+(GGF;q(Kgf5wz&7RS=U;w zbO5XM6B=$pz~DuS~XB~>C@ zWTh4+qr#CbW}_hZe)b&fsjNfd8qXh^genIUXmB2hs~r5J!Rh}FOA%imC?>l+ll}B{ zH>>r-*FBIA`?`RAX!=|v2o*tvp0A0l;%g=4C0*W6Uzep;jIVo95cKst?5X%VNnbB^ zI8gIZ2~Ajl#8nINPwy>R-H1O95+y(Ll=Rad2eVo~{NX}A?2kjR4~;n#38Fnvq2~`G ztN7z^DL+D&_tPIoO05`w9EF0QKaR$pia$8P>;>&^P(MczfF6UyRg3V?UbiLuzBQ}1 zjup}4j3{OYrw3wId6yfqYSx^FaDMjBEx6qqfhg--+*S5YGVQqNZWCOPf~i10rUbU0UA#E@j04l4jz_1UzpTk>nHD}l`YL+f zI?9~4P85Nr^uzGX|3jUrPC~mtu9K0t>KD?;N3dJmz&1iJRW_CNxW@2zI&ifauND{S&bwKbDX_q> zX9iHuj=4m~B0~A{lW)eF?b7%BiA=)8M8g;<(uq!dB?S|;mC3Ej%ohf=i_keSgWAQ? zXVF3J=Vnm5L-^#YQOZ`sreGUx-R-j*x9l;0i>;h`PfvH|25#hAzLm|9!BND79!M_<_ z2nFMdezR3CLf?(Y`Vz)@Ts-^LP1^L$V)_efiP5+i3Y0 zp~US}(0@wYL2XM+i90DxO5BAEmZH!mC?SwQiMwT6Q{o=U_c=5Wpv1k{5u^lrfRwn8 zX;XT2bV0cB>W?S`Bko7yst53I7(pZ<6OE^9v6;N1U!rfQai7QEsaGM*O&orI5 zG6YN?u7bR)R+TDAM>L|_R*O}UatMjtwmQ?u6ZJz>aPBSrM=VLXAE}ga0k=0#lWb5w zf~A-aTUP)?JM3)JVe7G8)4u`W`Y?nZ+yIHIHWXM%$3xA|svLG3iO9xUL@p&Tu2tGy zO4xnEXBw4H>G^ky-3b3Eamn$~fc)%ywsXAN1PWt%Xj8Eh?V)o`4<%Ty>4(Fy8T6qe zl1Q-lL#!tq4;-5=9pQLUg*F$dEwmIb7pya@A5~~e7T1m{be?I=RwC;~6{;8QL$r1o zDI^@w41C*64aHuVBLICO_ag#rE%K2b^W!%RV-+3)!;x`SgNP>`Pa$o3R|ayn9U;XL zZO!NLU>r$dJ%&|~jlxcJ;AkXRDAoSZijWyZcJ&|$MULuZX#@wB9Xw`1-bSaK#Yrc@}ok8KI z2)0)2Moafb;;MZ_fv=xN!!6|}xe!rb3#J)u5%cf4mI4Db>DKOtviR2SFSR20{MP=I zHQCyk$hhhN5l=dvLRz+4+a|>kZOy-CYiCioDHdM_MQCw55?6JI65j?5hg;k!f>|vn z{im{X{MOFK{`l6;ks1+vert2A$=2qP!2?VYPdc7LTD4nypcF^6HDAQmc2QXS*2dP2 z-DqhK5?2*Ofv=xN!!4aFf<-MT(*jfW&^}ez7vIW~NJnt_tt_)9TiJ_@tLBM#((x41 zqTR~*QXJ9Nd@)xAhQ| z#<%rQsTV=#xAidAWLpnM25&-(c+&9{(ze~!Bc(W^t(l*_R7X)*k4{m9N23s}{y7pv zViz^O6`BsWdXWeos|96#9t*VaRbk8m>n0zEqWC5sFO?!7{U)Elnr!lk$hhhx5l=dv zLK?Q4e6kcrv^8JKCjWxM`hi9W-YFR54+LQ z^O4|rhbZv%(`dM*7mDDowV)pD3f&V6y?FJ)YwblSi*N14QY(VbZ|x5+%M38V`Y^WHdtm0`gj^76Iuu`8rl%lYfhht9~cq`lDGfR@C(rPdS8S zcf}1-En=nla&|=@g>~f5IF&b|7~Sz-NL+Q3C`vk>9fC65VIFAREP}Ua!E^?vTGA23%z^{OP)(|-?C7L=k&Jn9TL~O8^Kl(*k0WVYiPDL(}I5DDOr|Ompv% z3eo0XW14#}1k8-UeaO4&k5VP+h(^o^+#jnVuT_x1?B+c!|6U)rv^pHj;->Pr%u)wQ!!ioq3!67Y zWKAMi@+b_(blYQsBie1(nQr?t>*=sN{}!B&!yfwc2_y({E$EVt2cBIgLgL-1eB;}DF9MD$Lg&sF6izWU&5E>vgXdNuy zXHz(Bzd*U*{68oBZ!rD$BFn>ft}kIH8u>C31dPT%NaJ{rh`Mq#yecBEX_54yctW1+ z=1m)i)g)fGK)?`*=C7wel!?u1CUmpKULC8IuTNlP(O>;)K!BV=p_Ijoc}dJNO-M4p zNOA%{sDbTF2j1%AhtpYSzZ}-?;LZO`S3{y6L2*V78J|e{p`QE?)>-qycyMoa51%cO zqGsbGd*i(kjLUvZ{8*XC0`RDc9`$c zCFUSl$+TVMX+Bpd;U&Nh+2YGl_?Q{u*RYKNRls5D!;b36<-4;81DJ$W-49mZN{1)# zK2V56({dJCHb?d;$xBChMc%Q!yMp3T`v4{EYRQ{u_aP4g=__e;{$y7Xl~g zcxc%X7V)jYa2HsMKJoFda>C5L^CZ+o+t4ZoCBz-pgHn+(AlioM zPovDw!?KUu1fIz%RZuwlOlF!Gp1?<9+w*hg7-ha9!|~1VG~{b|H-@I)h|{Aqz1`6C zpRCvPA5#23Ns4dbTnrK4A;F_np#r{BK#!*!4hoeaVgNoviLR z*oq95>sDA6>8vVZ!HaZ%kB3+iT%0N976FI>8vHP7JRif_q1+k7HN5_K1=ozopm7M5QQw!`H`qt zFSnX3(RrAlyd^s88adA=39ud7gy*sPDHlRB1^nn zXIsd}^v!mnCfYZTo4(ne0)}Sev4NofQm4vtoyJ&&2%m`k{V#1)E5N~1dn3VvZ)r->@mfl! zR1R-`1`3b7wMfha@qQ?Y>7M^DPr3#)#BjsFRn{0!NVIiycecsJr=?XcK9vZ@U3?Bio#EqD2?D(Qd?je6 zEM|H=GhDqXX7JJwFL8|(FDULjh~+kL2#uGbVtBq(jWfJFFGAG4)JVbw5W5D0vJLyumAal8(0F5KCp;I#xuE z(;^b^RU#sl5O5F6SLCcA@sT*UGP%W{&al>ia&p`2K1|5Z&1EoChgoxc1{;$^{IDz{ zZ)EvF>~gk_Cm~)gwr4T>&a+XeypZ1jq#VWoJjlS;c943ntl{lh0JHinttFO|Eq@!Et&=2C3@KdBRzl~g{PC+?{bgI-nP1lus zKaVo414U4sjv^BN3=xTRlK&L@mne^znu8UpbL-TZD1)uDkhtn>QN(4~(0Yz+1drZU z9JpPj=4BZ^m+;8Ub14^APcb|=u2a84DfFL*#8u~0RNg&>{tILyq<=6f&d+z2bIk|P z24TTQZe;5qPougJyRf3t)B9^|x#}WO<>9_qHmd4P2lP5xT^N43z0kR^PF(_30Dq|% z`HgMlGT8`sxer)f&hoHURhVC=u0RQNUWo+j8$^u<{A$^V>ZEyg^ffFG>%>RN6_8$w zGHAUH3EuUipy}q{$wpKw0Z{ApOu5A224q~-C*sNUdKm6?G-7YbSEA9&>^Mu^$T}&9 z*6ei-|0Q+9rW%{yqn(>5%(p6UM#fdQh-}jFRMEJnO5zyb%HrVrag1Yp8^t7!@gU&y z0QEn1@!tsO_t52dF^X?T9^sv76wfsT6Bv4@Y)gC8U6Su}h#>er9NR;Ee_$G1jdnM7 zVGy_n3BFs6e{OQRNrt8CQZIchRP1(bDuh{`N|A{(M4z1g6enfPIO?z&Bl)`lLW5^&Tv&beL zPZhz~ZhoA_Q8zz9F>y23lX`A8z?Rb8PeP}0_fyEb>S-E>y9FD%^e?il-TjQ@`y3(( zx|{8yyPsvMmoS9@s^?Gyw?B`>RWIP*xSe)m-R@|AXF-7FFiNNwMbPoaikC#u%f2FD zeML6HK1exctaz2>hCZ)J{nzdKZ&ayIQ*7OvOgSpNg^a8ID&jgEOJG!J>nYgW;TDMV zHfyIG+O>)Ej%W#kZfyQLExt=(66ZZ+@E)7U;ypI*#_MWKtT^X?XK|D`?^8^Ov$91T zqUt|u-Y2RLpwO`9L*(&394&)20t}w`Shh85K9PK%Ll{BUuu;_aDO2w&3wkN7^q~3- z`$3t{ks#PJ{tablv=(KIkH3(bU-~tH>?_#_cQ@W3#eQP>nkjw!4Kl9!r-KdU>cco*sz2t5%?G0}cH-NVc`72TQ)sA&{V_*(~<%icIwddk~+hLkWDn z5)xOfjDO>6nyuw)3=d9lWLQOXtm^9k%GG2e-1(J}VRe=p)~q4**R<=eRi!>nv0ZC3 zC2Q6}2A?w)@np=21wnl}4zy|G?Er7qrH+(C>o#xJ6J25Gjm;m>?)nraZ#F;%?`?@} z((zOgjLn;kSRCce#uSU3SUh0;C(efiwh43^;%tgM9yQQ7h$GnGlFejW6DKM8K8Hwx z#9_OrFU2%?V(|c~%~1sAY=Oj8TjJj^hjwc*$M}0IsafyW1h^rx5$^PqWBff7<>K$H zrS33YS7NT{Q6jiDJJA^2hPQ`PL&~9T+uIGIDQwvD_6Q2o+ar;2)hLloI-V**vAsQ- z#ZhmMp_q7^qeKwbQaXDqR2pZGL*7-}&^DYc(9oaT%C>g)c9QRN2qfriHjB>Qo@wkF z_wgu!uYZihRgL&JzNXn)zK)I(JBW@QeH}pg6WIuNer1%{iRFehJ4^iucKwM}>eCe4 zHHj%liOI;|y(|$=rbojMaja?UlurtVxTE)iK~2<_a)`rb(5|92+=#~JkBDFjg~_1Z zkiqP|$R-_66=B&7+MUHw2DMO37_@eTK^k5EdGs;SO@(5^qdkzvS7V6)JQ9HL(4Mlb zd9;`0`y9dv@`#P2zUfSx($!F^87K#vT9LSFZ~PlJ(ReL384m0tH5nC3*95|SWh31E zDaUYNKa>jx_LsUp)pgTjt8yUUg`mXY0i>-{c7p{osW0UaiOqroL~j^|$AUHrlLfPo z!FO0iHtBe(2+U?dJBy<%=%ARefL{O(jw2qtrKCY8G#eUZk$2T>LI4c}Av$@EY-<|i zB;V%{Pml&|9chqfsy|d53sX4|01pmC;;JtE8y?VlEgnQim2T0|FZx0xZx6eQxABd!J zcw4ZcOV5;T?d`K9-{%lX(A#Vmy?r)QeT^9csLnwV{CzGGSN#hA#^1DC%iqxv;ylrD zzOMr?FOZFJ_g6-U3t4WM^J}SpkzN1dD)niK4ZDOXM~F+2!8>Xqp0v(6q2^A#FZhnxdUfxo{rXIpx`1WBW zuKE-Hjc;kPmT#k@#UrBQQC|lTJ|-LCPOpp>e`dL1$>UQ03A_H2RqE3e+w>GujuuZN zg9%^}Po^6x*AqT7Fikg+8#Y_aKCtE)YDzi8V6)~~(HL$(WAi^~{W%JgHP0i1iDHq( zTUgwkatO(0&5JCKvgRd<32PYTy5bpwt^e%#g4kY$TEm`KkayLqv=8K0usIbg=}j!d@1=p zhmeA7U<1j9ub4K;GsbF2)z^>#C%!>~xoP|xP7pvXPDDqRZ$-yQSF)ZIwem58)@-Ye3R7^o*%AxC0p5Rw2ZHl~%7 zLwq(XHW6!Ka2_i*r7&5MKn8QtBAawPRfKD^BFW+?D^e5_RwUwB5kk6@B-tEB3`w>? z9#h>!1Cj_>cwsBq)+DKye4j&TL6WecB*_q_P3a{;tcF4soY@))*4E?SaE3r?aV9$I z3>O^@z7F6XAsb-_RYskWEH~^MCG|(!^~Y4HPg88^Sf;$58HWs}rbRrN-U+^{#y)(c zb)U?_y=OGX5zj9K=eDKpltWZD=e83Y;U+aUe@#5wQ<$6^j|^6&i)_;IR1u`jxkeU8 zIkyAFgmW9la?S_Yf4Y4`kUK)Zq1#W8$MSXp0o?>A+_tl9Yr0L4e4j&9LAtSx)Hji7 zQ+hFA)g*|4X_Jv)ejNXXX~a;AX@(z7Qgc_oCV)MS-OWoad-Sngy z{J<-?;Kwd`uH1{Bq1vosaHNI$Qx1{Y9GNP1!mvD!>_K62WEwJ<_7>Tst9|XaZ{gJrpr}#HKA&Oc&iH=A!MaKcY4uEcxjj(GfBhoCE8^&d%e!E@2 zqe^|6Vlz9Lazx4^gV}8nuRS7ZU$sn|Qk`!o1l#6Ncgi6un{7F<5pGgr^FN6vPhqmn zK?W-aZJBZgW`GyIq@H5d3b0d%2kgq@Lc3_lJ+ zx$xs>Qukn8*P5r1Fd5!FO(hTSyR4aVXw&xoA)+B{(DVMG6sGqNLk2VCBAawPRfJ%B z{|FXGy?-Rd#QU75sbE@4XCDQ1#@R=Uo+9Hgz2K!nemGan%XCGTE2~rA}5NDlYAXOc(QDSJH0ZB{DS3%C8tRJQ|pe;YQ>!?@kb4gJ48g-z3|b4L3`^ z&mp298`wUw;TEP%=^8-Qtq=hpZbRa#-{ar#f%a?hAv(g`E;{b;bpY<2vJrMiWrVql z<%U^*kotGq_3x=tpQhNrdzo^Cxepmkm5X>Xo>`OfyJQh7Dmw`gGXu=B3&5=VsWase zjm@kFM0dC;jV%L~A&>_tO=>-a4C1+oaMJN~5uHt~Ke0GUtw$&pM=cv+zp2%-j39gz z$_=+3LmrE~i2~dbkZ{)HvaPxGgyj1iLJD$=4P=X-WE$a?jZ{4a5pe5iB$%bgzu^|` z*W#98#4}R!S-&PgJ|`PtH>4cHi04r*jCeunzNqWQGomTqnJLXJ%#Sd_E&wB5qRx~< zG&Un%7TsYeh7qq&nv8fA8O*zjaMJN~5uMG5*I688#2XZgV}y-xX&Lb*lp998g*@i) zi2{rekm&5UWm_}i9m)4OgcM{18%RdH%QV6W8>xB^B4EVdkl-69_&1E8{aTEOjyCU$ zjt_htfcv3rgdI{DZ9ZbT;nv4e{}a3Zr&a3H6dU*%Q;s&DBZJ9w5w9}ZG#5H@yCPgm zgj;q2xb+2frW~TNx%H*!4mYK-Wm!3vzoIm`^))iC`bLD4j;D+0Y;OIN#Zhj3OR+d^ z*$Dg3t>pyacTjG)^*!?V+6ZE;kXr&0&RRycHMf?Pe4j%|L2j{u?E2*(5#^SRR4oq? zaBCnEECLse`pYD=UyECY5rd@WV813nt|%K}H>4cHh&q%DBUX~SE9<)Qg>yY~XI&rc zo|)XM7bwigcFzr*fr3R~#VXXBa)`)g#j2t|49BoyHA<5et0RLcc@a)Jo-QJ^S+ORI zqpVnqV#12`gO@i!j7!UlwV~edVjbi$!%rOGg}_9YuPfV{7wbvB&mpKFFW5x#VtuAf z>6%#81`q->Hbmm8jqqKFBq<+$_pQ=)y zrr5;InR3+G0vSxIi@5!?+u~SDHotp*b~!*UZy#8-6*VD94HGNmbG>K`H=wa)c{!4Y zP@1e7ij1qa7U87h=^`eZRl`^uWz}$s39I-hISRP{bQ&n&8lczEX$11F8c6`4li-7Q zM#;9O(`d=}IYbkr6WhkV9>Y{W?~a00V^InojYEQ2di)z6(R3{y8Sif^HMjF?0^jzs z5$^nyW4u2e<>LJxOWj6YH@!>Ty%WBoj5AJFP0jS;bD}+wQ%_7eSg`{wq#RZZPX2`CR?{kPO$Pl)Z44J~TNoKlg16I315^QNk;;P;8Z`eW@wb&9Jby`Hn zR9^>B?;#su_f$rmX)HIq+f(ZAW!Ilxr9Mruoimtn)M-Tqv*se6wANYJtEsrv`@E7z_op-HRTYG%{6|xJo+WF#+DW2Am5kLNM2EP9+8zc}9fOf;OHsoD3i!i`4K?#3lWLvYWUGjYnF$G!17P9v{nCg`l z)u5_Q$bes2B$%Pczu^}F)Z&+6#T==b^J@ZSUN)kvGOTb=F043E>UQb6)^l86#GLwq(%dc;~7oMB0U(qze8WH8k(!b!)|MZ7jk6pN!QDN#&V zk_fUS7V6Tnr3@>EExpKN+MaO07C{R?%$IG=mIadUbBHa-7PgdZS;$mBDPLUwtAij5 z*8B{Ks}9D$VGV)QVoh{Zaz)1>z7F6%R5rpcs*Fm9vE1m!$}r(fsd<)P6A;gqjj#(+ zj$y(%C>JK2D|LUR>so6jtRq37&OqGdo#k^mF?_HJ!HV;!JLM3S&5HBIMi`P|#RZfm zD=tI^)Ak~qbUa-|X|v)Y7DrieF~x)xT!&Dj2}{e3OJKlo<5J}D41h?$4FQUdzf86@ zH!hcapF>zdZm^N$#uZHUGs+rh)s+wfL#{&Ns;lvD7(xuS7!n$Ny# zm~g+;e88^>h!4s}*aa!aFySGT3lkoex_{Djt@WYSL4XB<;U^7x7Z~se^`smkuo>{E z=nI=S40w#vWWb-1!F0U{Cml~05!noQg2hn=JV`NO02hcx;4ZEApMqNB{il(~d_V2O z`vMPL`;2UB?>{T~K8Ij}-e=S3{pXnK6`~Q0>Uk8x^DiKA)reCdP_9jz~CT}5wId>6HTC2IN2AdC}Ow4w5 z?Oo{V#m5%xQ6*XoZoN(Yh~mP;n&o*%?1Y=u*s`)5z3)<*+OM_?CX0nY>~-1o6;Yo2`~c?5Pr8sr(9 zNoRb@RIlf%iC29FL2&MKB$)Zfzu_EF)Z(0B$`?}eOTQ+dekB`Wmmty$_7mLKOv#jQ zkilwt5l_a?E*mP;V2LgQL%yY6#D8I8G2}bZABJNX@;#-=kO2rOiRpX%v)esgL})W) zSr$hbvK)46hJL3JWtb_z{VeoI5K?Jp!5gmKDTr2d+A{k5vp zrztjZZKmYdI>=x)Uc{5}cl0HB>#`}^gO5&jnU8G-2BcUCFm7F1LF5=F7UR|vYvIN< zwyY}0`udb6<2FDBp<_fC;aRvlPFldCKgv3#6}pB;mQa~lPe>U!K}XsBf1NBryQcRxiXr?QLc=km~bU@_Z3FD zv@{tD1BNE!kjGO5A^}YVC^~*y+151KPVxvtgEUAJHj-}Go@wOnD~wi+hZq?0VQAuiPpnd(rr5|yOv$y$$YA^mq4IzM5f)GC1Q?@m&_L4lJ(jX1e zimhXhPiLy5(!{}3Gf)mbwIacj0sI?2(ReLB85Zm#HTh*lT@wiRm5s0i5S0e|iD^Hk zWWoN(U`4%%SGj7QSLoU&o1c>_XFKC&e4@qR#Z2l)lo}=$FAfkpVOWM2ZImW2W+8() zei23x817CvL~8S*oyAdJbWkkrsyT{tX$jH^6NVsJSFNEv7_Ao^H|6YvfOa4 zDD{zz3vx z2fpPx)=`urEjV0vDJ5hRAYQw}lNK0lSkQJ^~4eCXXXWm`M`EXgB?4bq_F**5m|*-Wi976Fjz9F)TQ=ORHI8~hvZ({wHGM@NkF zM92BQ4j{ciHo|VGj2IWP-04@5(-hlw2~+auQe-fpJO6X%7-oO#J z7hJlG+7QKtiN&SMMQgYbjV)`-ae4)%$)ziiK^PkmMvxfpMnjosT@tYSY8FSibPdJ) zYn3>7{b$oU0`FRAHf*{Md4#bc1h7dE!biW8ZOx|ZC66#RNP}!*>)7KrFxA&8aWGXM z%E6}_kznQ?|AtRAUW-qL1vg2}oBf(Vc#CX=9e^k{*iTHiG9?RcLk6qrMLe0FfT38g z3XDVA=6#_!2`e^2Q)2Jtjg}#W}vw^V(z3S~TM5;!jiUj!cKCK|y z4ik$%ABeRuIK!V0DNX)-gbb$nMHrE6xI5(#ug#xNSRCcgrxX+ZB&zbK0(EJr^BJrd z>U@qo9vBb~s3U0Mhc9GXQ|C*`Bkm5;Aa&SMdgUvodNy!z{ja`;ELigm5Pr$eCO)`?(bzI?4rs@HURI|`Xkvg*g*Up?(*aB$VRk2O|hlRqg?nmQ0lIr z>!zpH9?9?tJbd`5NoD5c%L}V8FdzdC4x%MQ=wV`UaIjbm18i(rPsW55DNPR6A%hS- zB8(t7+?{fW+2-KNERJ$;6^aQ5lhrsF0NZ~St}kF$g&o7f)sRQf9s&Xj1uwk0hHPsV zt|@s0?Liu3A=^sdti`k`y=0)(+K>hh*Fl1(3ivlXB$Qe_G^5wLQgc1OCh)E=8)4@l zijT*h4NxxZ*-+|kr0Xt@J@Zw*oL$WL6_5dYHl`&+@?m1JXA`j)258u`DW%Dt1TuIc zAi{`_!`&%|m~HkXSsZ0giek0d69Buk?AaW4412af9*-6X2<#EO@WxiMt=UsAc|`L; z8e|XKO7;w4T7x|S&}t~8!Je&=;OPSX4SNWs7JH(j*l^L&;OhYL5wa0>Q)Ltz$#TQP zQBr@jU4KlK`ZUG1j%CWT=s09B$1mbZiDcwm{}(zk<*d2+t89Q-+p;d=^)RuRwVmh) zLvC!@Ko0foDNSaLM+O0VL>Pf^xEr5hWukS-Jzpb>qs-cYV#2JII4)IC^`Al;3aTBU z&`{_n$Rk1zErUV=435}Ywl#$&NFEV-kOnElMzLEbGHptS(5Xq-4X#W^f~N!cH(a63 zT3j(6Zjze2`ZWP;ifn|t8xeW1pHOyVN)I<9gVp^aZm*8Fy00zUGbi7Zou198jvUTT zm5vRR!1pcGia0z>EZqqKgQ~EI?_X5wlPMFxu{qR?=sQd-j^)HcxIv9A8_AKJr!+a{AcOEbB8;#$ z+?{fW(dJkei=!OtrkHSSgBl#0GNJ!0+gL#MK)+#G0eOVqArP=kaKdXv+14yml1KO* zq(PRkjr2i@X;Zp3SXG7;c-D&qPYCdDct!}dcxKo!UurJ!YXav&*$6uW(RZ+)$PQvk zcKi$(tl}5(YV0t9MB~PvU>VrqQZu6SFtONih*$^%GVC~%(qzYB$lx)62qO*-cc&a; zwApb4i=*r~l47y!2!dQ%b{qx$h8;&Ek4Fmx0(J;a^!hQft=X|i@`%@iG{_FNkv=$< zX_Os7uNNxlvsK3O)xZmEnyzhJrH*(p;0RJ;CZ zRqE3e+ju%t^6U&`Fzqkm_BW%tv!z^1fnTBZu4O_yz^F5+12KD;Sd2PLbcLZewrnDY z^4XLoqs~DFL3>0PA#u1nWKa!gz6F$fjgHX!IK318}86Tpa){IB!u2eUa^VJw2^TmOTnpyX5~B|m3^8s*9uFG` z1;h}f==+;wTNC4E$s=?R(jYO|N_yfJrh4YO7F=~Jf45!#o+|ZeimkktDfxCEGMMZaar;|_-Gy#>h0xqA z1-HSe`>6rZdYD+8dO$RVfj71!7ha(>x$r77nA8_xguvnMltZL8 z7hY#^lnZZAOt`?6?=^8QEj8YR2}6yykjFCtVgWS-D!Tt|+1Au}NAif)gEUADHj~bH zm#JREQxmUx4}xII-;m&m0R9bAh@uu#q9e@vqT>T!2S9%)8)4^EMwpLSZaDX`)c?e; z|7n%_G{t6q#+01<92rc+i+Byr<-2QgE?5lCeL?+*-^0Y>+?Qe}+^oiyq#Wj7QJS3l z8X3gz5n+VJ;qH_}q&DaN$>J#IzNJ_-&INJypK~d}`5jCc&V7$OqWEC;g`5+paNjbr ztvR=>wHVzFaY(H(|j*s&U= z$&S^L!7RN9BR~#!ryQcQ*|8>zqwH9VV!{qa|Eq#fMaDK>C(rW}Q~Kn7FkBA&G3<<3=wc5{tW$%8>#u_j{n zFtHd^FB-yt8(TJ)<8}z8$)KUgAZCvUBPI@aryOFi88nQ=Q3egCm@o(j$bbr{{*z`4 z0o4F~hBPCPN30$i25AHryf8|(HEBjm9`1y9By!OT1U z4NqvY7Eg?Kx0RaP`89!Sd)WwgHe&Q(Kaq@QO7H#{8LY4uaeMV(1s`shrqR`j#^^qH zdk1PlEFLD7w|5kcVF1S4KcO_ey%RE+R2N~yx8d%TLrk`}C$Ko`?THiENS$X^$ z@6&WG??*?87SS=)*8!w^$VS)=l~H0E%MFkAl=^$w^`}>9fQ7jgTk zg4JU4656x~n*t@^)IQXTm^(}?PVqTPT+E#<bHN+2Ep?S@%x$Rp+sVSrhJ68_4_wq{nlfLA$z}r zseYZkMiWJxx^E zIh7eWYXiRTW?e+mVPg5dM|6ZuHnwQr7bs2N&qW5a<|2&PG~AtXh{E>0VsX^>C5nmf zkr`m2T3UCPp~twp7kSLKO;}Bm5ARa0k;f}A2AcwKsaOH5Re}rBC$SU<|ij6voDMyf_ zk--$Vh})4WtfsbQy1Mof>LeOtcY{C2P#@ysFtPZvNc4uA(b!Ti2j;PqCV!4Y2Jvx3 z7{O<_JLM3W&7Tuk9Oci66che1K29vY{xfNa;5!Mb4U>pv;3NXc(!bWU4ZyF z*iTUBFeMYtMFuPBMciJAu3sjdp)x%Pfvn2j1b*CJ@ZdaZLqr@V77xxBtzi&`2NzJ9 zJh%`UOpJ>#0?lxD${{YB2N$t8%7cq3COqIMfKehi*j%QEx;TA!WEb=A76$RA`|v*&KfBis$rAbZ#@_U}DR^-OILpt=_&;LUwV zFhh=i!yB5d#T(=8`=#aseobI|P&UGyjyN~iPc#oPrMDkO1}ox4Jel4d-KSSD1u?dD z6naYKN%`5cryH*)8W$@9PCP<8h=aq#;>4q3FAUFc;xS5-6MseqGvXqQKr`H(a){XG z#1kxza^gvf2`4s-a3ZETOG}fdV8+noY2-22PCTHAz=bQGk!?+rXC;rgI7ovuVN>at z=a@F7mk6_Z9>QSG3rH~Aj(@`(BB{lk=!o-@=y=)J0pPF5M%YP}5$9Ew8xFoE^S``#X!Htb3ng!a6Q1sosG8(`~qb`~dn5-9AJf;c*BA zbQ7HL+Q+i3>Gp}_5grF=kZx=veefw$y~?3FSoImCz_ZVhV1^z4hG&FOi)V%%Ur5a_ z{hGk}m28Baf!H|MPh?*+B|E-B1}oh~JZVMZnpeno&Q_TYYjpy5?PBi&7rvz)#KK`> zap61B7dCIW@I9r;g#jzm_%irsAA7op$mYVbERJ$vIqcS4U?i>xwxy-O@=$9iFc5jn zpVPj9hprtY+nNG{C65?5NP`q$)7a4~GS!i|B3-KLPzcYjgaol~@NYa%%e6co9br}x z9jp2}0CY9k2s@!N!mQ46!=W{#{+f3EwW`#oDK>3wrsU8%$Y2gz#FOc1{#h>4;I^hr zZ>hAm#iK-H#B)(0@N8Y$LIfNp7SGlbo8cxlwlv7$ygsGLvkj0z1RN1YOd0M*1RN&T zn6nX!qdeP~Vlw8W;&>KC+kfVb5VV`XkYV1Y$Rh|25rKIE7!KV`wl(vTl1C66q(SDf zv2;(0X;a#u4jjx;)M|5xgNs`r!3;b84Ht=}78ebJwvw9leoX)#A{$}%APx@p6XH;& zWYE^gV5Pc<+wV(788l_W;^-5U0C$Gd3L@e#vAEM9*23TncScZ}+!=`s=GH|Rfo8ZH z5pkGU+!@W{D0jwCOt_PXF7s)2%BCxqO_nmCc{r}h9qn_4` z5X$%Yt5;S1-mCY&dQ~&7H(inu@FHq1N^EmzSyyC8*eY}AoJph*ZNwHR|UsqHY79IfLL9?<4cB3jOn zOFEj1&2A2*`DTj;enim$5ZuLsGL9k|vrrVx-|5P#qteg;+pF40Pu1K`H^t|1JYJ{r zl9cz`$a5&74M-V}HB@l+uk6Wp+~@D~mV3~(Z0n(RxfX1Q$Z3v;yL(6y5jmsdreW^d zcc$(Zv*cz(UXKdy?ono3ki%}=-9wUy$fxr0{D`cRO(T-;iW64T|5*wx?0xtld6wGy zGz=AosE`2qU!?bMjJchhcQ9)^S4+Xmc15DQD>4Nk?<1N8#VR zvo)KXoC|pw?V?RsK~; z`B%4*=TJm_Cn@9dHK-sNq3i>>+yZeKh+D#|g{CCk&?+QbG9ofx$1!ok5J@63U$0}Q zq3+tZO?QnqkeiYDMpSUakTT=`9(KbWB#Fp;Gat{7%(swDBlDD&yIf0)AAW#tSBu|@ z!Que@Pt0*nAfV zvL`6x*rYuR#bz8)?@`J3HY8#6`?QgsCfq}WewgWO_3rAR^11Lv&FBcmtJbW%A58kl z=nN(WzhsmTXpdPNck-Cr5296<521vm`b)KJHd83M)BZ@t34*DS;o<4&>1=Vrvdh_G zwd`ziHb?VrIxz0TDp|}iZP$|j?7VygJjP1ul#ilnI*-mfA)JxCd<;EKw^?&`?K@|g zbFQ--kRsbYjz@L*1WMYr0VAkw)<|ZbS;1YiStlr$(guA}*^4=x&K;3tgB^F_k+HmF z$)`|hw&K(1aXQtC9VsjB#v`OsP|^zCi=b8%M>3b&dhCciLK%OE&GOZrO>8;W?p>BP z?6az&sBaoBAPGA^2To&!Ydu;%k6L7?+=IGPF`eysXCzN|jm#Np!(+M_jXr(NVGw+NHhAowM_p2l*2EJsrmA^s6-~+DtD`;UL`8?nR|8Uqu>cZwiLrBzEIR zwl3e7&&2NoWCBwr?I2Sz%l1fSpi~^l%GV))_4N%9yojKx!(R+@WL;m*Eg<-3^c8C& z_`gaageBhu$C%M=*~O}uJT8`RY0rAI7E~vY)vQzlyMQ|8$=+qgDh};hzI+Gm zx_lSqpwsCwe4JIzQ=HY_oy$?}8gsfmMz*uYnQ(fX9Zs)z-wHJQygF8=D(8y!?PI z&%?N0k;Ni|3 zy!=Qt+(VJOSX>4}yo*uTHKX63Ess}Ag&2x2KL$5mXh3PKYnn3!`4fHmQ$9U1C0bC1 zpDDx7$^CR}os$swzeTMs zztgq`q_f32Z46s;y#9W#kLK3jig5k4UUYjqqBYlX!T$Z1?3X`47%Ofp+8*VPXzP0W z6DmlesBR96_4a3N%v*0BEoA8Yg>*Ex4YRnrTEw54s05j+Wc+Y1%aqO83>HFW96uSV zWTxG~$(R{+fXg+LmA^tBEAVe1b@@BWaHVhZXiIVhs$c%0Y)9aF(#D3cOdE5aShk=i zwnm;lko2E$!4}BF1*d}GWdoG43usF_7o4u#Lk(`YAghffyI>gN>VmDR`i!LN zGb7b$7tjj2;4IQ5ErD&21o-VB$XlR{!PAO%;Lld>a~j+Lze5{~1-~=B{zo9L;CHI( zT}jpFMyk``X$8SQhIBM{TFdp1?+>+d%gBE$#DM&9Ab9HlWsICAv_pQLa-ZMe2J+q7 zSS<33(#S7>xFWw$RgWfBUlgfMBc~NazK3))x3eX3{jUvv3hv<(FoXZ=WPDr{*3uIf zLk&E!7X+^zpo~31liGP=pK^~ixZ#OQw6R!E9XC}Z3-pdIdt* zxM>A(7f9RVKC30}Yas;OCP-bzQO3AwKs($;<+d8!z-?<|vAAzape^lO@I2*yeuEn>c!4$+>w@Q`UGPGPs|#MF zs$ZN`{gOy^+6A4>@H*o)lHWrKf z?lkU~LtJs+uBz`ys(wYJI*prF5cexd+vDEe68Ebh1l+F%smq-xW85^L9q!jC_iG#6 z!2LRHEEf0uY22@exZ-|;s(xcq^_wEqY237exZh0L?%Q3lYz?(W{uYP<`CCEob^*#5 zIZbGX{J)g@Z4GW9f4epoi~NB!@^?U7k-t+_zbmQw-I3}va#}&;?;#z{o!a`_9Zq9g zPWgKw1>o-ksmuFO#=vPoJK!Hs?hiJ&0sKSSSR`;9ai@`g81jnzBdYtON!=fdbf=Ni z3?lzHX*=XRZ*PhG6OaP(PlD9tE|f8HTF?&pr%&}gJsNE z?OM?R@mJ8^yUOTIoA85^n?>y&>V>T7=3$j<_m~E92h1A{#O~h9kUcfY(F7e zhtV4uR>EI6geQJVK4Y#xKDO@^f}~ zSoU~rQhq^AM!#Jiw;5iuC0w;;+kyNN{fCVctF>UN7PQmM` zI_m`_nE(ZA;}3Xftj4pU&0Duw@<%q;*)uK@FF0hc`H>g@MAaQeC*C2Na3|&eRHaTf zRs#NXpBq#~{;a(li>0c0pkS9xw^T4KOOVTg$Nz$dhl~>ewcN-G%*9W^pQ2;`3Z}!x z3cGSp{-(-8;8VU`vw*T(lD}(rKe9|!1h9)0A{Ddb%RjV#J-z4G#sfD1(9nfP;C-^g z#+opXgxqN5fGk7Tn9;{|kci;r+PgM2W3mF>Mn^4}7&=E*vfdr3;_B%LHMy1KBugjR zx>RJyhr3p>y%s+T^38GB6*+OW%64H_nt~PXjC7HWOU)cFOuJU#NH==+t~UCbgH+a# zvBS9HLYUOU`l>ih*2|VL>{QG4aB;F)aSxiq=U<46_rr2%COb29X7-HiOxP~+avX%p z(51$CPuO$*Fyg8CK_N=Q3Sy~`y4ND77uYiampG;@khSPNWOPmHADm?r^rHjL)rg&& zpLN>X^W`9_YBo}f_ zmB5@SIQT1qH~@D7*~spdrD|nTj$-wM=6Oji?xVrt>7wi72SH(OB95W(a@Ue$S?PmU zk^yxbIu9GihZ~ArvYCYOF=2sIC`Q}M@nFI7jAmMwoi8V#GjANFYtXIuHh$k*tzc(h zOjvRvo*pvRh&kQpdIY+#_5&aR=#(5sbIBfa=17HJqZ!YTlPOTIpSjE(&K6C9df%Zgra!&y zD3IYiMKhpbKXaYVX3c)8SeO;v9A;EEYvMIDhKW~?KVv`&wW>)|RaZ0CV;NAb0K zFNImpO^WAal+IRU)9@{3GqLgK2$~O1=i_QdSNsX-%cH=Wms3z0om_873=g7#_Xns$ zvEp3;)V(jkH>PHN^Ku$HdVt1M59Z}`cH9Q+rn(_7L+rRuJBT_jS$0gR2y?-C8D>YI S9rRaTwz6X@s%EV=p8bDhv$+)j literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/IOModel.doctree b/doc/_build/doctrees/IOModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..024f6b53820bfb10bbd50588371b6f41c3e97d73 GIT binary patch literal 8174 zcmc&(2bdg3m6p~UXQO1vwsKnz8cE(+%Qj%GZ49;~BxJ2*OC{EZVcauayVa|n?y1+^ z+FhWr1=y@G*(8%qHsS6#ayl*nm$=MjE^(R5zQiT&f7RWyGovw|`9ALM`{wKEdR_J2 z``>%@s_NDKJvAq&#gXfUB|mUvSm0(|`cXlz-F;5?B>JMF81n79jFuZR)V+!BE6$Fr zS+j;@7?E3x+`tcY|IBO;Xr7}7R%VCs239q48~jxd&dm1mM|UyQLo2iWcn_ET$X?Qg znb|?K9LhqtPA66 z7`YM91b)SlbD%bf)vy?B;@_r5#CV2&GDp8%jf#m3drl1X4mAcjHEqRWu%=wk0UCXI zS??^?!iIAFrIPJ9sY_kokxK=A1^jtsqOXEK$zIHGUoF;%ei#U*(7RL*^h)hf?2HSN z4T^oY2FDci?%Bie$CL`{a;i2T`0iPI>h?ni4jxONlS`$g$?Hn{N=s?G7Q_wD_2(x~ zh}-Tsa{ClwZ0gAIW9;J+g^}L#z&X7)(brVPKxEIeef6a1GivLSDA*AKtr|!0-BhBl zEsBfS{QJscuxi)N5Ig!hG@Q7>LqmOiSq#)XI}GuDLs|5t)Te+7l;nc?)UtkB5m=#< zC-sf913;50BnFJ!$!qm~u_n^fw&-_#C@=L*=VNvt-fl)14CWI>-=ccd<>k2AX)#31 zyu>_uI_!RHqMuPzFt&n`RZ;C#lcGQEpr5IL>b9cVS60`R)%9g{Ls>!DJ^*taeY@Hp ztDBGZs3#H=N;3xw`T*n{O!T2PIbxGsYM@62+$6kQlTM|&TroC&Rst;svhn&bt8t{5 zDF99OmG!fWYP;Gmp^iSPMr>B3mlYA0cI66n?@079wO`#D!X$d;f+)iD^bkMCq3Vf5 z-w9RCgwJfB&uo1c%ycj_Q=b{5PqKQa+SG$uO^sNb==8uTxdi*4?keIrh`HHB-whQM zi#ril?YOGgi1#G=xw#QDEtIj&^V-Dgvf661X`ZhN#xw(&k94J|7~#E%wizKOypw6d zt3uK}DKKRa)!JBQh?U2(?pr9cs!mO~IG@IMBT+(M&6%|8Gj@n}{)Vt|Cl!N!7^Y7wI!uH(x(rLwpR>{l=72O#so zM8BNvwhN5XmG%~kGlCV&Sx1gfrlcsas?xF>$lTH?0MLEegdA#e(<`jo`7YrwldJLy z#WDC$qF>1ZuYS@3^{XK9!EC0OsC#u6F-OOF-oFMe`93(m7LIydqF>LBVkr+9N5NP4 z$t(ptoai^?UTI4KZ*0>-ze#N~Dd5d&*rb5Va*PIc-+#Ke^dt0O$gTAku z)D1a+_d{wIE+2sG4<`CUESot#x+?pzM1PoNYsj9#o@v@TrQFcUH#ZiCja7H&Rb*jH z#leLg4z_)fv?eY5+o80)AUI>q1!M)0l4O}k46R}Yr80Z>Zq8j1^Uc>^vtcXgk95NO zXg7G5h0&{tztq!-@V8wjeA0SXPsx;OI}P%_i_Zr3Ovl zZOVatIt{$fB>J=L4Bm?$XxWQ@4iZ1!8hf8_|?VvvyfgE2`R~P?8vr?vNT_^u+Bto&68H6xhU=C zj&m*!2PORzExMZs{>g5-Z^cS?{TnQ|4|4s$mnHq1Edq_EH0iT-_jxzJdD&?Z9vq1s`L^+#&d80*Sh*dM3H`c|UIxn zO$#{VoWJb`?&{oLe+O{?_e%afEcXwI{ztYPEBx(M%RQdxe`3q6hvoL{!4B1qy=Z#R z9xM_Zd;i=C?_avXE9UV2^@1Y@suY1gU(o-CeaLqb{qHP`r$ehO-p2gLg?x9Z$9aG8 zpD-COz`1Vvzkuey6a8JVGJ*RYpy2~uDvH)%gNA)Xx^+)s&|1(QI7dDBOXwmzSq(lI zq~8JZ@pSir(<1enUVT}w?dVl1S=ci!hSQdcqQ>;p)Z*e|sW#`xdI_=AVj@0FQa_Ir z{W$W)(G5=8bk-R#cn-)(h$>z%v9T(*%pvkxdOfj)hxHwnNnYNDE zer$Us71g~?jYhcpg3*MRlh&S4V3dVzYFA*4X#+-qYuXhU$CrdAm?IR}nJZA6woax; z;YwCH35_aOaH~_Fbv!!NXEPXlkAYBcJ*#51t9LQe#*BKCP4%#Q>yHLu_U0 zl4t{Z&xp}xHHm8$v=PLFF2Pd_f?%o?bg3a;#>9zmxn2#tN6Md+?IbUc-|oCInn#8fi_%lr&7P-?hNH@YqTI zKRr8%7&r{p1kh)!v@T=q%nCs}E$m)+#|k56C6p4CFc9;33V#V*i)V^y*8(eH(t+~Q ztS}a~nS=J34hxx4t}_g-Z!&<+H<-qgHOk)9C<{$i+Q|8%v*G)BP|H{ma#oAJzT!5XyMVxb-TEoQ*en*)ITR?~R0*stlt z{tOH^*q>=w-`2|d_KbBWcGiNiAK?Gfv&HV%ovz3aVhoTU!e2tq!ZSzC^1lc2!)Cyd z<^UjnwrMny6V}~RSbu1F8^D*u{Fwl{tnARhGa`|NlXD=KqaQQ+DXtVytM-`Ke=?rK{ zx+6e}dllcT7v!0a1!a4vVsX-@I(O?6qnUnb;hlW$r%uj@t?+n271$|o;EYPzRJhmi z_!Zs61Oo^$P(i*2V^D+1eU7Zg^Q4)Rn2_}gzCPmyB<$|{#*DFiBI8zK7oI38r^+u(+&V_UqbS&AZGPwR+kab>6JC7~eJd$s6hA{9edd@g!PFIk|qT zlj%Hn8!|&CLzwFo+#atuZfIBGfXs*wnXyAiG^p*)xl8m)?#46Du2vRZCsOn(P>v3Y zvGyRPS98Zcaq19MdJVr1WEX|>T5cWwL0x^(>zLg*?ujDYRq*6SH9Df#gSsMy<|VdZ zHaq@d5N5=f3DQ-UyunaM!aC|E6&<7I7SbC*J1<5!7MqFaO`wS#E!+Rba-;&^BqB$i zokHhuir&n zJ)!sGSyY#y4zp>YfOoYSWwk8}z5KcrS3EmVaM+JKtZk_DZpXj1Fpf{LSdY20dP$w` z`9FX!34M@<@>v3#fe+!`97oNaVCQx?7DM^!6w+hpTBZ-H MG5){RhTPKs0CUoJH2?qr literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/IOModel_basicIO.doctree b/doc/_build/doctrees/IOModel_basicIO.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ac7e40445886b837ea84cca1d0d23e26ddb03dd5 GIT binary patch literal 7975 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/IOModel_noIO.doctree b/doc/_build/doctrees/IOModel_noIO.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d6109cd54ee2736d66ab8831ad4e8c139d17407a GIT binary patch literal 7251 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 QszW7u8~@&BL2my40o*ghjsO4v literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/IOModel_trackIO.doctree b/doc/_build/doctrees/IOModel_trackIO.doctree new file mode 100644 index 0000000000000000000000000000000000000000..89c9c27b837e4fcd97b3aaf4e2ad2b186e3e6a84 GIT binary patch literal 7771 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 E0R6WWaR2}S literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/averagingModel.doctree b/doc/_build/doctrees/averagingModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f666bf2ef643e570affe68b5b5267a9c578599a0 GIT binary patch literal 9075 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 O7wP-_zQ%&w!v6poN21~Y literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/averagingModel_dense.doctree b/doc/_build/doctrees/averagingModel_dense.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d5a276953e55d9f186eb4cd801bc6fdaec58e183 GIT binary patch literal 8301 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 H^XC2s8`E0a literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/cfdemSolverIB.doctree b/doc/_build/doctrees/cfdemSolverIB.doctree new file mode 100644 index 0000000000000000000000000000000000000000..bf3c79b08681c23e6aba85b2f1647c3dd28c3779 GIT binary patch literal 14927 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/cfdemSolverPiso.doctree b/doc/_build/doctrees/cfdemSolverPiso.doctree new file mode 100644 index 0000000000000000000000000000000000000000..07ac119a335b774613431f6c8c49d9a5d5c6315a GIT binary patch literal 7606 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 Igxt)30l-g2T>t<8 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/cfdemSolverPisoScalar.doctree b/doc/_build/doctrees/cfdemSolverPisoScalar.doctree new file mode 100644 index 0000000000000000000000000000000000000000..242a881ba4c0bfa55407ca35f8f3e8fa48019a1d GIT binary patch literal 8768 zcmeHNd3YR2b(gi)HMZnqt+jX8N1?^b*sB>yUVFW3Fv08fg=|@|Tt+!2Lr-^&s_mZc zsj6-rga$T*L{1>#N=V27xo>hp5^}O6`M zRbO$wx2LBka8>_m_T;I7)%krGbL*aHm?&5jy6Kz9xK7|`=0=T%6MAZJW_}AMVHa2X z&Df7ZH8eB7nP~Y-Mio{QzQZIn6ZPBrz)mA>zbhHuGhA_ri02{*S zL~F2GHBq8np|;KNf+yTaJC^qL8NSm=;;0@)aTvv-YGOynYRB{@K0ttc�ZLy1gj- zc`wlHk^}hm)TkWf`??}2wUFE)hxnHDICjed-)vFrN%){E{lEif>duO~tLU1h^uy({ z<9V5g{m>K31$8&%yEj$)AYbh)|wKU^ry@`o>8I6VQKPguZn zR&}#b-JDfjS({jmz2s4KPpY0;;{&m?K$24jd7lNL?&Sq1jW|ILK-fv2NT_h8GY)iK#C@2n)Xjnaf=EC|^A1JKFw zR6SUfP=tg6B$M~ZgSBd6qX1Cgk+#mC9Sj|14&Ik0*@RTseOnvZYP zMBB%o4WXUPh1Lg0h61OF*^3>_g2^_2wE3ltdtVjH(8kOY*zhu}b2e393HBsyemoz9$6Q>z8c$I z$*@Wb@@qQi<{;bDzE)=OZ#{_$xc|CTRf&5dH*dM$C=J8|XF)qnSy0afKTfJ@#Ls6C zhR3@4?HKb7bD$LXx$qc5K?%WtWs#XBQB#DNL$Q?6mO&tb$I+;3 zc=1xCZ5znp;8lhC@F z6Zr88qdjwR5Y0GZu@sC%Lh+N0UA%Da+`02t=f)VQEQuhXZ-?dQSFD}TG$S3i`75)l zSf8VFaN6Ne@-|>OvxY^BO!OXeTu3~Oi3#GVfq)&xNrQ=HS32Q>fEv6OUC%eoz;Ojl zVNspo-PHn8g>GWs4TKqIOENNofx+vD8xRp>h_izsc)Lm9#9+z~JF&K)W)N7uJLV#5l$hS{N=;q+1kB3MVH1LW7V-%)mB+#P=BNIRuNE znH3X@23QVRO+X@^Ad_8!wr{2DvU1lvj}NuILwOWwL^mfKYPobBPWYtXv=8_(_N3o@ z8TriujvJXO|H;z>F?%h|ebNiQoK6p%9mo(VNu*@zda7=aJJ2=M2ysFMYiEnJ2TG&c zfwHA_poBP3+G`{DS2IQhVBhGZ^y>jtd86= z9nUoN?B!FJ*mIDr85uRl*}1pADHgRzFO0KiC!t_Rj+9GBj+Rxt5p&WF^Kc9EA~1hZ z;#h+Gms7Pu@+VAsP5#eI)z_2!UkUkB^46J{v=UEBd;A8HW=gt{hETqyy*y`}@kQXV zd)dR{I+7LA%Kb=oPv^-F@?fMlvyqOF0bLTF?~JoYE?;0%ljW(&$>S3b9e=PiRXX~> z)X~zhV@Ib-$E!!6-KGX{q1E#@Y9Q^Vfo&}fyZ{>bB1Q5-=-@@EdX#iPsGisLN@G(( zo2(bqH^2>FoT_gm^%S60xE#WN~HblK3+BGiqPT!dbPQj^DOE7pVHWbC5fz-`8(>=qfXj=aQ0GMi_> zZ8tMfJzk>hn{xPQDO@*Y_RI`<;$v@M_D5O*y7UT6xPUYqcxYLD%Np7&^n7bKgrhAZ zcqxqFO9I!+U=rV!s&D^NQ3TYmnneyW&6lU@6QsFP z(b^AlESFi8N`@zxjN|5siHW79rLw)wmr-Y2N8J{kz7rKO)P)l5tJlo$!t$<*PzU-h zxyM;woKoK{3%0DWx099Ers{i$mD^jacqiB;+{v7vEaS%dQ_$}Jy+!#NTLD==2itw0 z9PQlh`{jV$ZeQniuS?bIX}hu3cJ2u_M~4>bym?vG*p2U@w~gq3fOfwNOTWMpF!O_Q zS0^(+B>OEh``gTjq(*`fL)7dC;5(!LbF}{Qx)~oeAkBQRN6D@XDaFqe8~0Vtk|J`wxWKH801@9 z6>VF({CO0x+Z?XdzJH;je(`a|y6hI+np9A~1Y>(+s@?>VqmYSU`O9RTye|-oBADKk z6);=XWt2FxI;Jg|PWST7RP5)QFCc2EUrDG!_p3HpdUL9NtxfUQA8+pmW8h$F9bmep?}O8i!;emmRXfP6DtP#%i62Te!m;M#|YjZ0N&xQ@W`FJV*5j2`=eC- zaSPkq)?yvsm7dsy}bjdS^E*ZznA80+wQTEM8Y6?*@{; zNY#5JH|i4=^+`V5a_P*?Kb5La^X)KsUn9^} zGaoSOuPf?r_@EInl>v?V+jYKN*Addr&?{VXf&|St^>>l_`&9iyk?(8;oGNuy$fu0@ zN3d}_NFzf*8k#L8UO`n=3K8pGjNjz@q9kr6@hyn!+lWvDY?den|?+n_Oh2ZniH64y%)>fQ8Q$VtI3^q!28AFfxjzLTa6*(D_daot7l z+p4I)J2faE7vkM^?GS=O6I}SqdM{1G!q}-*mwYdldLKrn2l+^+h3fq@v5#Lp3ziPh z^FZFg){Ne+{r~iF^;3xWHncfoG}p+Jp|eoLm9Le%(Qe!$UyVNR zN%U<`%3bnx3E$cAUnXp-svocmkK+>w)G?%g`aw$s4Qt!E-kA6$e5iH482u2YR`dyc c+8YPD`TFU2N%b@EDW@v>Bz+%uuy6VQ0G?FYO#lD@ literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/clockModel.doctree b/doc/_build/doctrees/clockModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..637235a8be2a2a1182f825a742bd97df51e03375 GIT binary patch literal 8016 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/clockModel_noClock.doctree b/doc/_build/doctrees/clockModel_noClock.doctree new file mode 100644 index 0000000000000000000000000000000000000000..bf88018728aca27b7fa2fca495b06e8ac7672ab3 GIT binary patch literal 7431 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/clockModel_standardClock.doctree b/doc/_build/doctrees/clockModel_standardClock.doctree new file mode 100644 index 0000000000000000000000000000000000000000..08041e16f4821fc03e0f1bbb93d824a0a0f83f34 GIT binary patch literal 12541 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 HtCap1hSZK9 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/dataExchangeModel.doctree b/doc/_build/doctrees/dataExchangeModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ac76134d7ad51eb5b7c967f768634b26bc0b43b3 GIT binary patch literal 10095 zcmc&)2bdhim6lf8G#eB^psYazjRZR@32dX45H?6M@}fmZ>Se$lk9wwSw|dpnJ@vXr zyKCGA*#@tSGfp_;j5AI+BF%&>w-^;jIA$QMgzT%nSbs_N&s2>i zezoWab^yOTw_u4eUo8sNVxzxek}nEn;rr$|)Gf)YrAB|LN(6@szE`D^P$!KTDNB?* zGPUt1j~GkMYT%7|Uf_CxDENU%fm${^-{|D9*p{zO3Dv0?**=;P;(O4x@Mn@cr)w0LvszqXr>@`-*iNin=hqbcLSR6+oA^K{a?1#pZN>`1p zlC&KQeyP*)YJH~USETJuWlhV9V76ULOr_N6!1#<%oe7M|oQxxImNC!hK&TKDwL!MQ z!YDGC=C(qjLRHr;0iu-Jm^%Pu2BlXPgQaoLwU3&E7w_4%dtdZFFqNGe*qYsvor=Co zUbW)b?)bodsk1|MPSNNL%yEvn8Zg?m11f8z z%mB@>SPg*ZV5l}{j0FtImb}qbG)qT_!QYAxt6E`JU!9vbI!lh}`*=SuZ?s3$M}P`{ z$p-b2dG)9ayoPm-Q0M2C#7(lnG^0~nFtAx|Gv)Hb)WdX>JlFEjFNIbd`|71U!S{JSV4x8&v4ygWBA z&&x}g-3}LROI<9tRppN1HhCg7zR-O&rFKEj?ojP%&||C+Qx()GK$-yZC1Dkc(*+&v z$A++?Gv-&9uo-(Zu>r7TOI|%LBiG7p0_Lb;*=w>P3)v9k)Rt0V?xmsHC%4H9eS}1f z%xPKZybjvbWiWMrs4j=8wZzbXLXrX00R(J!9I$rHtq!uGhZ+opfi>G$vC)jhAu$Cc zM*o4bE6^fyp}G=gNmjhSS~ROg$$`BpRF6*r8`~pw#GcS#h|0^=CWq^ZGNr@S8RMo3 z8OdHB4wcDXbFw@bCCef-T@|?~wQr>ck+E+zL6#h?=N7PeEL7ucGfO(GZEp4-z1|!r zvm#SU!U{W76KussSg{Mu%tg+%T?9SqyZgzj2nx_=(pEGQm^7VLM`jH*x@!`Z!+4Zi z+1#Bt@51JPPL~I_Dxp&B7VEWJy5-n`Ak!%n9j|mGr3kM1p$gcw<*hn*T8}#0RkhBO zz6K%cD0?%Byg5~NhWv_&kz>l}s$c{VbX2J6rf$m3t}k)(NpSN)^yKGgSROGgZsGgRa5BE2(iUHvbqA|Sx%|zp!51rJ%i)86@sF%`hqlPjkGtG=6s$`2J$GT>A*`DMcS+&`3oxr z->!*!ZFfzunqf1Kw`eINiB->(+&pgx)w5XlmWQKTJsZlekNcBuo6l*Xad;8uiRS{a zho|IuK=S#adI2NJ3UAOz0!;iwoHK3=)e95Y8gj;q8Vph|mTPp*c!})MIb&%Ojh99_ zg7;+V|~_mMT5{dYt%%&5}r2jzX}e#I#jP=2Uylk+H}cX=;lzp zmi29izBxm8I+*mXFsJv}nAdGjov3)<{=M7P>*`F@-RkujIVD^5pi>f$-vBfJRkd$~ zXKxDCo7poq;pWIQZdkX3>MiWq)$nWtlfI$!A!++)%F#SE%}q63w#Q|V#+;BFG$v-4 z!3H8dkjB&WMcVPaBk3`Z(q141MXldYXXZqrkh^jtC)I#8B$EX__spud)bHjK-6+u+s-daBr@=AxUb#{?_4mmx-PBhn zF1|l%>bHgJ0}K!^HFni4H9iQ9x7N4z4>ib*TYF8~hY_%55g&mA9}U&V*Z~%I+ibJA zJyaiOtye#5jO7j21xG+)#p$$7t+r+n617bmupDBC_6NyrzH;D z89{nisJ_I(<+bI3`nBbkq4JJ;Ouy0~IL5Rl?yHE$92sAO3ttb_H`oQ1ch@YacZcem zthZhFbysB7x9SvX0KVNy;Tehj-+{te=I=t&_d@l3*2IGDZV1*rq51(z<_7DB4Jy=+ zpG3jBH&j1mqj@oWpm{O;GpN0%K43p@5FQ7tCh`}szondC!j)fz z>euWF%e;3sX!nKcH?03o=pRDT8anKHyXsbN=^bdcLZpBn9 zoULCsu(aZ+D{kh&Xmer?6z)8%ep?qijs5Rh#cpE)$M5H^tSiE`uyQO+VI`GPf52#R zf2jV*!8-q62$p&PhTRu|YV_9YP=Dgt(!XVlPAKF}n%n~D0Ve9tnlx#WtNt>B1wM-P zQd9jkm*y&UccKcF|t-s?+G<<>3_OZY4XInO%c+fXo{I)_Se1{+*}4 z8+j)6A9JUZdTO3h|A|QbJyie2t?dDJ>A&O1(>zR4GsZ#=D9y*a{IlQ{Ff8Kb+y;3+ z1XCLqjOO~`Sfd-X043KQqlI{c)Q*2>&>isaXwST|jVJchfwHKHkLum5bJElq@pft6 z?ua)oV>~c{1HhEh#XWIx7AE|2Et`75I*YGlM5&L(%>kAAx$0kL~ET4Gr1Fb^F* z`8Qbuh!(MYU_p!V64Da3LY_6DEreA|^|#)9pp*E0f)SZus~SL=;FvHjC-ZYO*9~K9 zrqMDG0m&(NgmfzYV@M`gsYYd@1sKaCt`(YVWyCcXj8(dLbzIELk_e2tyl~rA|96LxLPsuK)t z+Ju#gD`*Ew5yxbDz(X8epgE!q#o4^NWBBZNl%t(op*eA5_uq5JQ*9S@u8z$Inj>EnC)wByVgkd)xA??9`5(ZYM!+?ESZ3sP9Qy_rn zVv)0#fCTQnc!cyg{DXV8SVpR&bvQO(X;|00G_JQ6VzSvZwpS+op|lKw%Fy88?#bxWQuLj}3Ytl!L~{Y>lDQ@(5*eSpix zU5=8F4&a}iI4LpC8cOdo-KyziWl(mSEjq~6C$uHJ%&D&l0}ipW6^#ZMOzYGJ3^p1t zijt77V2LnbePTdqD19*6SuVtf6TUX(bpC3#hqs$zdsafggD}FpE7_EEqj^^`tzVnB zxn>^PKmT}CH+ljxU7uHAg6Q$6J!16Lj&6XAPfq|bq&)tOE)ewgKRrPnV0H zQ%JacIt+52OfFo~a1^BF6?JKeOHXcM<;`@TEL}lxg>Fon^wQp^F-;xEKl@?yCZ|w* za6l4doIBNgsU2C7t=T5I|?r$k(S95D=6^w$K0;Y zwlHtN&(Yif+Q20cO>p{1I+~oO*T?57>(kf|;oTJkF+P#VQWcEo(MRzJX%hdDPa7uK z2%Qh46QzZIzabnnr7KLtL7CP9o>UV6o3GX%4>c&+C@2%Pa6B38Ivk-E{gisq*TkYZ ztg{Jr!vtHw;kcHcqq$8j!@>EdWh{G`w31J9q0M@Y}Xf8sgo ze-O`~s~MhGV}R$+*B=kn^UckkzX0so^BcA37uJh@Q7pRIbGCv#e=$E#=y|E7=Pv;d zJbx)3A>D-k#B}lam*X1;l-OXHJ>B-{6`_u~&f>(yO^-G5V-Yd|ViHTAyB{*>2{-E?)!zR=_^J7N2!#Y77&G0ITEFsOeO3 z)qq}ya*tk*|B&9mb&aJ-)-CYiEvE&a-iQ*|c@p$_WZ^iUSHC!+#IX~-31uTVcONT( z0Z02)a_G&V8LQ$^H}E`MZLmc!mi1_SkO#>@x`k_WBfFM_J|lh$zGrYdKvZUrKYe{94dNj!}+jJZ`0Jiz+;VxiEn3t?RnTMoZ8;nbsy;dKbTR zW95wvF6<@Kt@vj9HAV%Ujp^N>A?fzQQ(R(j^>{(=(G^qDba3FqNt@ow)!L1|*uLmQ zo8HIu-$m7Sj-OiV3g4BAQ*HTliMv(td7$MSdy_= zl#4hD_Je8c<4Yj|`XK1XjWu31s8oX!$^Q@w;+Ywa1?j{5(Z}b7$@y$i`-Z?T&eI<&Q;``*|yaw^krmm}R) zX-!>Lay;`$L106~Dc~Xnj{0zifIfr58DkAxE!XA@v(2cWj|SXYp_Dqqktd!ox3n5Mc%=!?2? zKX-@PsOi(4n!2b7F}e$6qrDo84V+J3;`dZ6iaXJlBT2Sf4>Em)t95IZ0UzP|Dt|93 zShjB#0YDtYuW8h4{7%{R~ymH)EJ}pY!SGAm)uzbO*Fu9DeINSHk56VbL#8 zI)hz9a}t>%BK;C19(HsnYeU7aSa!8&ENh-Z>+4qZYi63KulCS=cn|3}_|M4YI2l+m zaXH@QN*w&Gni%HS^u#DXR^z(FIxKa!;bzDh9D=TuyQ{|1hPz?W?Ekl@9n$ZZX8^Nt zObdRGcfI`>ZF@FNjH^a>GEVvQ2UN||{rJ~QKU_YdKjI^#2k^oSywHT+?Ee5j Cuj{!0 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/dataExchangeModel_noDataExchange.doctree b/doc/_build/doctrees/dataExchangeModel_noDataExchange.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f42abf407f67e9f1f1a9f60f93520e432627d96e GIT binary patch literal 7657 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/dataExchangeModel_oneWayVTK.doctree b/doc/_build/doctrees/dataExchangeModel_oneWayVTK.doctree new file mode 100644 index 0000000000000000000000000000000000000000..eb519ca4e5d4dc9c84d55c94e756b2c88652b05d GIT binary patch literal 10439 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 C;Y7s% literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/dataExchangeModel_twoWayFiles.doctree b/doc/_build/doctrees/dataExchangeModel_twoWayFiles.doctree new file mode 100644 index 0000000000000000000000000000000000000000..053f0fd9028d6f31e7ac3b8d64d0e24bb3b6136f GIT binary patch literal 9983 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/environment.pickle b/doc/_build/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..b3f6408a283eb03f1f167a95e9b989690888d5cb GIT binary patch literal 182363 zcmbq+cVHCN_dP0I0kLZ=D_Bq|qGGR95l|F@STJsqC7U5+vu_gw_1Oh`@4Xl7z4zXG z@4fflf9KpcZ+2#9US>bv-yeDR-Fb6vId^B~?qqlNphX8Yl-lymt#gOwTIV#YLhI~Y zYkTjJ9nCF`V?rB>ixi5B>f&O9YI`)c%xrGSm5N<0u%o@XrT18DYt7Ei)wVVlM>jXL z_bzr@=ip-ZhPt|X*lKTXt*h%@%3*Vl8Hevu>{(yCShlUL*lWkyUUmCqRqM=-)`nv5 z9c#O{H@DOH;<~uRpy`Wu>C#2znwkr(lM0QwmSUfV#zF(#m4>!rL#emy-MiQquKMZX zl7nh{sq8+bLWgR|75mqAsqLL@Z&%Ir9qll=lrAnksJ3TgM;qfT6_=S&+oPc+TPk6` z?2Ou;_1T75DmSxKTy93~V$F@E;_@?UyO~{An9)(&vmp;oRIatS;*8=-m4Qsn%|&iC z)0d7$oM|Y`o}F!NEUtX`!NpZ{an(Wj{?2_?tL@&Fg@g8DCf~24K3m(PJ=??pimTUl zlT3>PI_jsd0~d1&&5dJKwxQipQ&->IG&!rm{~v#rRsH)a?KN)XSNpyODaQjacGdru*6i>M=C2N+6ZDEj+i&l#SIyA%B~wB zxFO}>)=Z?ov3X8&W3Dkm{RoM7V_n=NhIa1g{7q?^z|2ujs zWVLZQtJUGYG`mn}$El#n(B4pJEwztso;h=h-Co>UGTKHLw+%AdE-|B#$cV4gRFgqA zqma#LT^z$~{x{@UWU@^;ljY$y^x_%U+?Xx374{jevQ5Qt694wPI6jDfhs5|NApX_d zhJvUkBI-%HxFe&kX8)ZK>-ObXmyNoZ*_>->oYG!Ux#DDrbZ1@MC5UuNVx&_M=_)QW zL7cUSbDA#h$~e>ao{lJYE=S43u}u}~{ll@fFqukmHwkffUECuGanHmMXCOo#V{scn ze0w3jI$hkG@ulpVMR2>9gR3a_ghE4p`{tGwDR;d@*r1DzL4>))2xrF29X1q%*@Q6j zy4cJxE6Sa?zlT^G%CW8(t<%Kpn2sq8*_N!Dnw#BLoF&n==;G`k+SbHq3y7A-Yv@%T zH5J6$hIos*s2Fc`h!P@hDM#D`ZpQCqF23y&UxzNv3F6x)F}}HouU{D$L^BW3?5m6W zF`A_H{o%W#?7M$7#nytzhR(3V0&w%tD>a;;6xt+^?=tZK-QA6c9)AuiCxBZ3f*ObqcTggBs6TS2TxBi3Vd z@mR)MCFD2+y`UWQGEq9`G?yC2@)}z_Ucx;=7f%erJt;BVlM(L94l6;Rry$T%b@4O? zn!5Ap2=Rn+h&&xO%xuifo>FL;lT(wMO9gX$6wi z5#)Kgcs_$n-}?eYd1g7vit{I0HtD)XFly}RF_Rh!9c?YR*w;mhq{ZtH>h-#K14B*Q_eKPGRW!hs=BB2me0yn>>7LE` z=Ozj8W?j4`2=La#0B`eOr%6@PItZwA>LdLkr{?=qqPvyu0Z-s|P` z`XZR14;!J1 zi&gPQiRC9<{5go_m&90pMJ#N9D+~k_{f2mc*Tp{=PiOo6iI{#W$HZ$y$uy=a+lqHj zs@^}s?vuctR8=dO1NS7{$AFLLE&}vbP3^NtA7hF8w2;_Yjb$~I1xE1+7AyEC8VG0|!T zj6pstijt7eN(9B;&6ceOnbcrMWU?}ZR;!4)*xT9!*s8Rj@fcDxhb)@SELwQ~#z$jw z3vL*y)wnxz$Y7$?>KKC@28fc7!$5*e4vAKS9M-^&$YD(gt=1BACWp>pYtw$lV@Ty3 zGI(```jLiwu3^?Fzr7pZid5!gTht&Tna(|@mC1TeQPFwtsDj6rT& ziIR}p)&#}wWrghqDQ$yYk76G$vY&!5E}8R+NO4#t{^IO(r@Ba@!sl^0fBg$eYU@fc`1N!J^P zy4>6x{!fup6NzGilQ7Y0M~p#&JBgBz;ADborn6g5d^P#TgXDI`{zz^Y2(6}w)&A9^ zr_x)-V}RwvlCM|o`xJ1!nlyR5swIedO~XX1T`>lEO&290uiXf8U9SS$L0Y?Gccirk zgjRcsQP=e<4xT|@8IR$WvyvMp32!ay@Q*3HBOa%+bDG=dslAA0a&?$!wKv8fxvVG& z$<-57GkslG(IPH_92L7 z%o8Ocvsnb0dug;7d0P=A(t@3k$ZQC$TE&#Pspf_hXgA|Alyck^H&^BqT6WDf<5obf zaXYz4=TsYE%%O;hRtjT~LrIi`9NGzr-D`5A%9EyonhhYp7I9!y31m+WD-sDBi1#vIH9*Fx02(6A3 zJLcV5{@B7{~ai6Qge%LO=@HZvZ>C`Y^kPa}>y%<2>(82YK0XmuLKAoSBkNeKN6 zf@-E`Ix!sNa3=Oe4rf7Vb+%aSUmfxsddYYUtegyw>G*pLbI#_+21@E&!kE!{m}qrA z#vr2$L`lf#LW0aO-Kq5;t&0FaS{FlTb%~fY$8>e@OX)A;F~o9id~ek0*tN8u@fcD$ zhl-|iJNy@;d3FvTuNXg4T}J@3xE>R&Zon91aib^+S=>ZWtmzEf4f41dyCRQUAhfzw z491$yMBr`ok?|N-ITPLqD8CU>w{sr`e+MR7-H9;>{w`4xg1?&}b0?r|Dv0+UtRmif zA+)+rY?wO%3H#npOBs*O%OUc}F5h9OE4Aa(Az9TpiuW(n14J<32Qks=A&f!54~voz z@FN77Bim&-2>(&+i|`+V(CTrqXpZbuS>HYUeAb zWE&sTbH-z^esX?;PEX-uN#f)u{Q9!TLU2(7*r zJEk#l?EeidW;_N_4z~}&4c)uN`Sx4x#%RC8M62&H2GRZ?Nzw2;@_v^M+U+E zgdGs<&k$PuB4+w`viq;Jm+=@vIo1qfjUVgdM@A0x--u-Rzhk1+9~gu1{}d%5{J#h? zZ|LbDdZ0%g1R4De3^Mu$LaTqpvUx*awT1uaHRCbRa+3VFYT|otmCH8TBV{yhRh5?@-EIIP-R=-t^$_#sLtp=!nV$5Y@fdPBXI_!Y zSFgG$`DWFWEws+cD!d+h5y67?#sv4iF$QTaAxc7;eF!pFB$weJv%c6Dne~IvYDuwZ zu1KlK{`8XZ7+5)(%8zE)>#O;2hFXdkrn59AxC@RkNM~7564F_Yp!g>>qNam{mdD;m zXaxwZRur4@k8C)wE74QNV{qk^c#;q@rgYSs|8UfBH)gRiCb$ERG00+7Q4+FPjUaQ9 zh*%2(&tL}xzB+_f1H_CuNhI$+koGbjLnz0}{~Se6fOU2Nb!Mz#snwa2*H^w03 zwM9t?c@RP7A4y3@gUHvxeu#Ws2(8u=YvvzGouUTQdd6cwVJ6HIXP8e@>iW}+k{vN=KK7;u{ove^QABbzNDwAxB+nq!~}?AG*@@fch= zC7z=~A0MV|?~?Vm_Cpb|-{U?|}*KDPs(xo*_y? z)O!&W`@m(?a*#qDc18+&Lui#1ld(@;I-vFRlkpf@IUn9SiQeg|Yo3jdZ8bEv`!^07 z2xCr-nBX2V#vrGeq9o+hM3A|4(y8?zuRH+As~JKoPt2NIC)L4c(O<@6h~?bYMsD$j z5?|NAr_%6I%1B??LIcclHYT{ij4{ZvAWA}(Z3NX!ALjds_LYf#f_#gBB3}ieRY@H5 z|34XOXABvSVV5({AfniNIGm%|SO)(a>mZUT&%p%upfLt1&lM#h<#_~|Ryxf=kn6s{ zAlLmMwAx=Rn^wAN3z}Xt9s?~W$?xujZegkexD)d^5EI;k#u(&tuqX-n972%!yiLef z5c;85M(Bq@Xmz+4F(151+Ic>0WjwksN69-z<+He2zwqt$zl_Ha z%enEt)fJb0oOC7yort=MD5iEbCb+GPF-YxNQ4&(Sjv({j>duS@nO%?lk=YFpTHPpC z&3~(_Lf=Gh8IJ*$6RY?vn=-AJ46{ z9i(*!c1K!wLTGiD7>#{S*9pFxzA_%eD`&-fS+-9q725JR?C;@zOypinaQ_)&kjVX_ zBqZ_xLFQgo)LanzgV+PHKLnxG!(zwW%W~}h2rXtj22l=|2Yu)+a%;id(tectGUUfF z!98b;LC8;tk`VHf1et?AZZZh_DeQ%?pN7!t8L?#!`c5#<(sIUQFhS@YwY?h)v$M^( z5sw=?&xyI`X|8s$QhTF%K{mW78+zasRl*0{)k{z(@cX5$h1QmAeXgaXUY7k{k^Oo$ zw&WMqc7rx#gnAv?{Mw$g3ylW!2KQgQZQc;O z1>oB5CHaDhdXtO3LZgep=x~^P%b3JhS4XI~Y0zKUNWBxRY^2@|t!${?3syE%?}t`4 zP#**<8>kOME5p@C!OC#;v8;4uTKK5G`ot`C73EW|b<}qE>G=$*R-a=WBz*X!*e?`^ z24ouXHEX;UvufS~&y?6>b>*9B0~-9#|AEA|9KNBFs{okFdo23&ULa#?2flaMoNWOQ zrt}`GK3(4V;d`L?zoyh=foIC^vGVd6=k4kX9qpOOS4tLm=7r$#C6GjQ2VUH&&{Sw+ z{3Z1>cEf#XjI})q^)<;$ojt+%P_B`{*%pJZ~$4$i(nq?vY0Bht3|OztHnb5bdBuO(AK89 z$v)jf`}7Fy(^1=}sija~*IsDA_bd=iPb}v7HF(tvv)Vo?$Ggk;*YQ5tc_r05SY4c} zI5i2Zv014luwnW{6l++%FgrJ_p{dZ?JSRI$xHsdFxkKj;*vIHUj;)Z*N&Vx ze$+4+8zx`KZ{*a3(}!-B@lS00LJ+?A+t|#?sJ>V_vbGoAZA$S=svkCJL(sZ72dM^z zwIsvZ^8Yg|)t_N>hwquqO=>A9_Lw)DdXJKo-fC$q;c~JJgjUO998}x4ZC(?&IZb3da#a@aA@wS{Z;NYx|fj zb)}A(Gn?nCRcNK_P`v1B`{Uf!+&Z&B>+-Ftl3Eq3Gt_Dr2i0~rU)fR_BKk!9s@1VA z?JHMm0C(aAd-SL&8GOmA4bN0)ZOV+BUBA5=h&7K^YBM{v<}!RUp224U8dS3!t(n5i z431qMq(f`_Ov1Ma@x8ZfYp&3NgJliCvUt4|a7^-3TWU=@8URNdtUr9?!I`+b!I>Q< z)Mh3&x9(fJWNvOlOGjg_t_=@u$SIr`)&hElTAQ(SH?LYXh#uqxSle~ZhC`>Tb-3CK zU-kj42?y7@f>{saAkXk4|6sERg2&WnsKFRLW}2O_NV^)sNp0VDd>e0*O+OyJ6ZHq0qDT{GXzK_li)cL_WKSJlX*7c)HbnWr~&D!Jtaka;Phib12FEd^*8JCi=M#eQ{93tb!GHxT|_A>4)boV4Wu{Dusr|N<*;J5Ue!>iw(hQL$KTstTzM;jyPFy2$mchS#t;$ z9fDPdVA&y9ckIc+L$LDL$kIcw_7E&S1gj6h@|kII+yX7dE7i-?SQew)d_YRcbEvJzP3MJ zRrP3ZaOt$|#w0A5?q^5LYJ1NtbhI||L|RfinI$zD5+{rNO+r(CoYX46TfSb3oo~+=oyS@{+)+yRac0Lu&V z$LCMTpOHTkBwqxougc$)zZrDj1HvB#<jWtGp_%Iir!q-x509(UmxKt3303Vl6Qo(JUfd#2hCQsvn|J{Tr-m5*AP z;`5V8<`uvX`IwsWBQ#P@`J9QoUggsl<~7qB2c>x_F3lNF6!QOc^D0@BDo+>k?_D_* zwB;kpCi?*HR-@oh#x{jdA^NHNc zHLtU?sPe2LHxkV&?rN$$x5(Wp^V++YD$g+HzDn&9jk&fQ-jTO9@M1DmUVyb2@%q7O zVj5<0>fmW&S16_0CH=EQU306nfF;Fy7id-3cGXE6v72n@iXBU8ch1!w7;%=Ud=giE z2fhH_Uf0rG!rg&Au@6piGX$`g0L(+MRGlaZ_n!8~LZwX_tHWpIX7^TEEW=_wgjNk= z#JAWeN~Oh&N9TCJmdbJ6zNyJJHkv1x;Z{i-p5uj9j^FXhw&i=Pnb;97njo~w6Xid- zOErrUcfn}r!h@`g9gj4_3AnW(*IUiPG7PssXf+#SV7QeE?`AdR3rZg2hL#)14%LkF zFdhxvNg(gsHO&aVbMqmf&2 zcy^l&Rh5E`{bK~Fc3JfN+IB$GY7WLAn|(xa(=?aso?pp%g5Nic-_L=kE2g?Xq~}*j zW3JT!g79Am2Z|DRPfvs&1nK#;I2d!S4iSV8Ka@(O7Ci=*=C!tG=T=)1#zaSlQPxcF zj*fnc7*K~}3#u?5LaPNB!C7b>V6$P*n$m+vO1 zORyO0K+=32cb2p|4B zl}IgO*Ta;OFeW;BgEDeGd=p#1^IH&Fy^WEFOz3*~4iOoTQ6;m^!ytMhe^+e1XKWe% z-xnoLfaUK4tXuv*6!=GB_{R=7Ju$6MAT58NVva942*T&@b1D)360U?P3^FRZ`hv3J zO86zVfy1vL@J$Ge<0O%i_0U?K@-5u=u?wZWe#Qx@GZ4f&UbS|LlO% z6I1&I(z5s~=34zG2%p8@sYF;zz8t0y$-wCC56bxE@K0<8mw!QM^*2UxS#dd3{}7w; z7-Y3{{woImGX@QvUGQJq__KR5o_$d+f^|#hqL|~KV1n@Z=<0ye6BF!4_$(-R!_i&f zJ;LywR3dabu8AppGBUdBMVW9-?2YXpba4o+mcU3tE3b*F578NqaaPM{U$NNFSTu|- zDT@0A+8^td(WL~wbQr#j15Qs&aal;q=yI5AwY(twf~-I#!f1bV8T=1G;}HHo9^W%8 zcN!_IGCI0kk+Np`lF~znDf{7zl3EFCV73NAtCca5*~C3pp_PosnA6y0e{m~bG#&Mc zoyK5$ky}-~u4cR%_A{bXvX3NI$AZ1M4G`SGFm8=RT*jjdaqSe|0@p&I4 zN~Pb7M_0tJ18K{)F6Q`#f*^eOU@DQal{<~Wop%}xh8~7chCU)EpKGvB&9((oL$Md? zH4H+l^)aGec|6g@v#hf;Uw4`r_ zxmKGC!e?y@QR43DiSR8UE$LffuGQ9p@ZsA~iI5&^DN?v+Omws@Wu&Fp4qL$UNC>S) zVdQa9ZYe-G14<@5-c5`aGh>VyL;YA$;<;Pu#$nx3x4po}hv7Ro;Pk|dCO}&1CStDD zBtiJp?MNj;T|zgJLLQ@{tDPt-x{1ly2Ksh}&}tWqq%Yh}fIx;-ErCAg@abXrZVos-F{|AnErEMrjxQPr!Y6PBl?Z{!jYJBE42<6PqKr2Zb=V9V z_lCe15ipX*ibeuVGQMh=tQT7i#+G5SQ4}|mIjmbIX9~P249`2@^u*knAuW?0=331X zgwJFPl?aoL9wLQGMn-qDDHD2#R%{2C1qiL$Fp|s49s*=C#A?YbiZNx388S*OEt&H$*J@uu_+;)!B|>H=?L!KojE*k%r*yOr8fzf+00^xP z#7I(;+6NHJaMOrQ=^RGbYuQ2K@L=Q65Pyg$mBb_dL$P45VTTFs@Gx$EA}-_61=C-^ zbz89`px_Gy0`Vz7N|Z{!8IP`rKN`|j>=?}Plo~A=$! z(>x2(*5Pc-wK_)-K9T2&5_eBegr5g#>u^5i_=bTXeE5Y_B6Wy06Dj3jOmuV+Wu%$7 z7+b*eB@kL&ijhZ2q?uqq$%Mz7iOa;y<;IMm{t8jzxm)V4#JZ(!p}?;S!>@M0>4_O# z18J$d7IUqx6NFFQ^;9C%B{UN$Rv(k1l~s_LSS+;k-{MZqqqAh zXeLsqWMp*r9A!c?@jSMJ%NHQDdJ!YJOlT$;Vzp$xB*tDg z#tfOSh~g&mRjgYwUlaK2VfY&kI6X1DHz6&VZ()v`r-Jawe1}Se%ubq#6havtUA{}{ zXeQpn8c2N~LaPrjl2k`C!En=vO=%{!w%4)`#o03$ELWeF;UYuLR;#{n*KHC0 z5d5EE{9g_{T`|SKA#Dx*!5ojC5rj|Tf16_!wna-*QSVGDTf4uJ>A&=HQ1(0WfI@MIW>WY*)|L@%+`+t@N0EG|l% z0L$MJShxK35qRG)yq^P3PfTk`NXuV;%(Yrd5I%oPQ;G1G&`qQ;$f)RQ8On-oVp(hh zhs#0W-YZ6O815$23Pfc*##SwhD~h$1j5WhzjVNvwSH`+!aTS5D8iudtfYTFG%RpKd zSH~O=dl7`s;y@}97L!|w6e1ZIy{$nRZz_|PzXm;+8vOmKZjOXqORwc0=sKAjsR|1JIu8jDF~m@QB)#~cG6s=u*&G@ax|r*xfp{rFgq4Pt8o~~Y*KTfwx^Yh z$C%UDP3bVk*^AtG@w$WYYS^D3N+tV9Vj>po#ch({b`0ZoO2pw&FW62FCUf1EZD%OB z|0)ol_bH-O`o)vOv7Pv-khW~Km}@mn5I%fYDv`34JB)FicNh$Y9{BxPRH@>Z_rkyM z82qdkC7!8$5OthU}hMMp?oh<+^N@b-BQ1|;Imq;Z2a1`8?)$vbP|7xJMz2Sn1b%23ewYJJPt59YNK4>+%<-{OLHGn7K_x<9ayOB}Ap@hgBPrwE z#8KD`8jpt1>KKfqv7(y*lZ>xgCXW?c#~E9O$>T+FGkF5mEt4k-{G>4aWCxs{nA<6k zmdR5w$CJGU;WK$Ul?aoLMk0kuMn-pMP$o1IXJR|JJPQKPXu(J>D;o)r$q=h0^BggD zt}$lFJWmuindf8Ol6ir^FAT#ka=__{*bL!=PO=;-ot zN=FZI1=c|7l@MAj#7I(;dI%89aMOrQX&)xrYuQ!e@M`1G5Pyv*mBb_dYq4OjVb=-n z`Y`T>L|n$B3#NY~*KNgaf`U7)0`V!oMU+av_%tfE6MrkDt=MgtYjwLIeE1zyA{8sQ z50g7@9~cZh+({XG7-RWImxJcvF6@YE-3_7DJs44~Jbo0}V_eClv4r0%nEMRI5PrWX z?!+J9x+VTW!9NtnKkUHM71MeI((?W&=2|@_2%oseMTxtoC&HhAw7frwxmHgJ!iPUi zCBl2Gc}St3G11X8l#%A)S!@B%&p~MQJVqWBk>-H`B@-TR9$pYLFB&t3`j-Ofnilk;QM0e17pY#_@O9n0zbmKCGcZ`e-eg&>VVS|v-%9u68JghT74l1 zpTIAvLz2u%1padv{)+=nPt5ICNXz7JnB##dg7BIAgGz)+NAr+EB_pG|KPeNMhrh5LT>cHA z)jt@?WkU175UVBgUorNdF=oi@f|EqjXIJfUy$IGVnTukM&#nr>XQQhFPEX9P8{zh| zs{-#4hWDfrA+wX_A%##zN0+@Q9nC{;tbx?UA@CVij3m|3Jaor$8nG$O!*2Fk)<+!n zH4Y8&{Y0sJ6(jy7v0$%Z{ROvF7`JpHF5}S!(_e<`wqnad(P}w?_!V1TluEz2(~9lH zuK;N)wj$z5a3@W)UmhFsSRyP>K_5e}bSr6p8Wql37uNlU#<-pSwb6OkHl0FD?t=18Q z&)T}8#NE>q;p;(K(g$O%)eu4W@S#*9q{ljk6z&-l9Sx(5bPnrd3wRz5f%~l(c}PI` z-*W`v3@DlKc;~R8nAymfG1QL`C7!#bZey%l>NXMhreXMI4mdqAqs<{Lbz5MLpK}z1 zPu*5jBGe^x4k_d@D!SU5vZ8a?2HQa2wh(wU3r5mc(K#@zY6%=EhDI4fhQQIHxCtDC zbxYt_fsYHrw|BtliCK+@v;^*exmFVd;S)HKN`%1V&LM?E21aj_DC3>Oj@S$ucY@Gr zGDgxE?;IFkwM_0TwstYL43kqtaWgp;>z2t{flmv=cXhz&iMjExu}toUxmLRi!e??1 zDiJ0fokI$hjEwH~q)g}>W?(zG+zUdhI*jBpp>tq}X=J8c;OgxucW-f)HO>s#^`cag zjkp`IU{AG;g3E<*GZS$ck1m*Y6W48(@=$P(Rv;Btx^l-`2M~i ze0VFBNR`SLxcbg7a14eX3Y4*%>k|qM`R$uqTKEgJ!BwseyP{S_2z-|xBWjiRaMERD z$;Gjhmju&pFoyCDQQWD|;ku=MAHmNJbj8H>g|y7?hdCZ{EeM}FElS)yJrRBY zq-Fj<%<<@ILHO{4sYIBMUFA{=z?kUh5X#6^?oez2&xb+a@zxl5OhA;cattV$@c313 zzL;5H%oysA5G9_wrS3?qTk4Jy_|akbF%CFAF{5K4Ep^9XuGR5^@Toh2N`$(Et6U0s zjEb&Kq^!8gorGzAPQgg}Dz0)2t6Bn26+@>PLx#Z9MR5~&2G%WsXA1nRF#K!> zoSvA~IgpmXb1~QIJVE#bo=+u0VDeQig+m5LZx>L;uW}b+GibaBLaU20lE(N|j`3B? z?D{ zEeD>inA+Qrmiu=w$8RGF!YA)NQR43DiSYL!E%zT_uGNQv@Zld(iEtllAW}-enCR$Z z%18t83ATXePa*J70E|2`Aj%B{14<@5-avdVX1*|H4E0}%63^XI_Z8MHbzckon=t%a z2b`Xm(RYxRy6-X9>IXsi)cr^$LR~@wkwPA$qN|@MD;kKOu?_V70-@Ef7)f761HrJW zCGa;f^t&-+2>e47H-Ud*-4ghh!2b@z|8cL&>QrMM)O2$PNmB85suMtA)w6B>x6upL}34S}C8#7Hg^ z8VH71Et$)TvE__0L+0|LxXD}r>z2$F1-?=kUgLn%6SG?x(vrCf=31>P2%pT=s6@!@ zq=85wl+n>;hSJeMtd2F1Isiheffz}uqk&+!X~d>95bgF_wuU%d(>OH5uO&()@rZwI zEZA$G1qFiAbj`+ zR3a5CHxTWeHxLYl9yX+`nI8JJqo7^b2urBX2nek<#)$gl_s1!Nkt7$xQoM;^HZ>SS z@n)j9Q{9~Fmg+48zhxM|l><*#Ok`_F%k(ywYqhN)e5$q+CGMV{2p*|fnilk;BI1QcVoy9xQ8fi0{6taC2)qo_X@-79B_JKR(nHQ0<)NF zRWAsizy>N20+ZW?6b=~}y){zC+l3r9gT|QQLKfSZ{;^!Q6*~?JZruvRr~Cv_D*a|Wx+4BWNL#U!FxTp2 zLHO`fs6;AOZWnat?E-_Lhf^tQrdRynD}F;W{Ev#$uoEhEI)qkdU__q|f2HCH-8%pBKiT@4(X)Q@Q}sa(*G^T3sXvpR|ibiMyvK!Y_fe zoL`DLo~J4ZAAUKN2sY7E0qX!35`Pvd5ns# zZlkPd9B#)p(02!fR(E0~eHD!Z!>X3RyTs7l#*iWK9#Px`-ivih;C%wWKMa4s0jDQs z^&q4r@FC3cI8{OT1U^C~LSS;^kisDYqqj#X0%hw>ZdL1LVOlTY!Vzp$xA;#V`#tfNniQ*>nZLC`|-x2t`VfcFvI6X1D z_aQBrA7GAKuY&N&{D?|~%uX7I6havtU4BgIXdFJl8c6*V0=Hu^l2k|Iz;M%uO=%qF z+iTh9;_wUO&=CKnD3!z`{;#lLuVG&c?wc^~+eBQ(qYI}09oKEezK4QawgT}f|521m zzZs9Ni2n)FR_tfY@w0$}@ZrBwiBzoIILz<7abPg?@Ec`~{3u!ISEBLLM@{&pGxGzD z<3|R!9)8E(DA^wnTK$O;CCeX&4uZiY*T=H{mtg)j7{mHMqPVmFm+O}O{{-I!*8%u6 z_(epC0;620eUQ{CF$2y3V8Zah0>P;Ex zAQs0K@Vo?sR(&w?(1>&p3@DlKcn8r}%=9y640TJ2;-;=Y)-82Q34G}=d>IFvo|w_H zke0gTFvkM|1mPEM1u7Bh5;}+!@)#9etw>qXL9B#rpsxl34`anh`XGYeE5Iw3VO2}u zDq?6=W5^J=nka4pGg!9-t}gHaVfa7?oSvA~8jzO2H8Iy}EkXDMu1zIEU~&hM!XX2r zw?UNg4q_c_294`N;4!TjNn^Z&V0_gwIaq8BF}4hoLq%~jISlKT$@K+3JPhB!0jDSC zwjrctawE*O8X*Xu$&IN*m~?ayDO55ty4!>@p@Y~I+ri~#5O{biMsk_ZK`_K>$=pJW zZE1`dGPe@NP3G2Ew`6W3@NL8J?Hq7=Vs;}TEt#V*$K6;#_+*Zu5+Spb4kCq6Mn{)p zDIFceIIMxx?ICc779&Y@bPxc9`R4Yg1v_AD7c-% zxXFpQj7Jwte`l`SitPdgcX0*cQ$AIcO1~M8u86ONv=y6%xmLRh!iV#$7_C^jgE+qP z4uZkZ!)}x{(^tmnb!I^|_+JH>gP%ejOEu^ncE^4w)*cXe1}sJtD}Or9#0)FBGM4Wd zg4xSp4BvI4xbxnd>z4Pd;OoQq1_z$5m{lXBr9FqaRx<_R^VTFv+&w)Jo`@y}hYN3qu4zsZZJhwtFc zcS~If>z2B9fp>)Aa~yDbVn+KwTI%LvuGKt2_|)x7B|=?7?~pJCBp@H?qQDpu|t&gi^%U@-J>7o~Xyf&4D{ltK%Bl6i7-sbD@P88i=fV@Fi$ z9tb@16(g#ZzW~hx<4P`#CHy|Y+;1?3@CQV3C;lMTE$*QBVF0_SuQGC5*e3?SMEJ`I+i24;Q*b2QWxYxqC*AsCWk1m+> z8(g;~dJ~FPZwbWb_-#=t{o}>#T*YD5QGnZpGu@e1eN0sAObx zw>o7)dp!W#!R0^*t=7OuE)&{ohFC3`Yl^Y8j4?yz+M>A09E5dC<~jmjHw<6T0jDQs zHyF~AIRta9h6=(ba~PEfnVq!PDTFdQx?G>q(OwV78c5v$LaPlil2k`~&2ZC*O=+(e z+H2WH;&6mE4D4>c=muGeE3Kzk&2a@h=rXu5e$YNMp4#GufYj;)Y#EuCN&f~+FF`h zn=+#d4d@;4BiilFg;q5hyP;NNAha5b5w*(Sh!ZiRN-m70dz@glHyA_rcv0MG?|^m7 z`UHVb48tcm;Pk|tcI3KceJ3b*)__2K+IAKt?w+oQ-v!dLJ_U2FrV7G`*HVeF-fLh( z0l)Cx+Ft&>z!dr!6MI_CHssvvytXHtm}xhl@S=Awn? zOtt0k_BU4=(rA7vKC9+c`&wnF^nVtmd923(YZ%Y0@(mBjlr5{Xu`4J)2STfJF_LmV zYj9(`myrdMqt&KD;a7$>F>7mDI8#6?)Qg}7MYmxSS$I^gs~A})ipg}5AZt*#J+ zUx+KIL<+I;z?SBwrlx#*$^Lxq|Dg;Fl-?Ion)`kOtl3fiukuEUa20k$5w3>7GYT-W z2&=FNox-lA{fx)Nsx85F;^KPa!j#|!QQRfC5$m=DHwpaaF#Hw=oSsO+t&p|^w_%P) zyb8iE!5vg0CFnPBcA+uXQW{c{+oV;WSr{7~-bqMpE+=DQ*A zh*ylHIbpwhX#o#@g-GMI^M;+P=7-|TcL(z~*{@y}h`hYTW1Mov^0nZ;n;6^J(9xIU>fD9;^@OXFliJ1A+m@(9UCQ3Ya zOWo&Kx72+h@GryguN-iCVn$y>TI#;R9JgKt;Zye=l?ZhSHvm(}V^nnYJ!QoWz#p&; z^!*5-)lV2nU&ReThE*+rKZ~JXj3GnducEjK{0-}tz~2S_M;QL615QuO>Mux3;NO_z z(XN8<3H+Bzguvt*fGHd@FnarsGJXTFOK+iZ5eWQl7Dmz-zX8bjs%3I9vDMYsGE8<8 z#m!`QtXn2~2)t()-pc`}C+5~0(lWU?=6If~AbckKP>C?WkjhY8*wj-1$(MpPH@YIaVsR^ zG9Fzp?G?FhtF#gnt!f0~)4Z}Mm45LFS!^eM6-Zm9RWZkHT0!{m43$Wg%9psiJHNy+ z7sK=@?ydfh_H73T7>X zF|@BOiaY&5T(|VEBlva0`1Krkx?*yJAuanuFvpEqLHP6y6D97Ro(Nwb(y~7sb3EWx z5I%fEDiQW$SGtrUFeWb4a4R$=(o4mdqAqirB9b=zW&8?1uxsT)ZpLS4d@E`>ZsMOULJE3R~- zu?_T%fxvB5jHIvPO2@FOC2*V=+TIv41dbQQP2dh#w**cQ_{1=Lk^@dp%xXtSOW;nJ z<5sI6d;)i-5+N}8N|(YR1EaTHDC1YUDcB4er$T5|i;*{UmDq;P@LsmOMXqbWe{WQ78n%!1 zw+HW<4+9RxI~+o*`4~~W{4?k!7-n*%EdL7xbA-Vd{*M&J&BIY#w{FOA#kS_Bk8N?B^Xw<1YRkI z78*l_z^g=Y6L>Y&ErHhv{Ms=5ItQGdnAP==mcSb@#{*vl;S+chl?Z{!y+jI!42<4x zri}Lzw_r19ycI&L+c1*GcrU^Ds%7$av2};BWthBE6gQK1Vcjx$x4`cS!|!##>4~}B z2WgqSA9FnARS-Ut4^oLR>F6a=sAObx_Yh@5FYz$8gUd%Cw0aaHxlHIK7-F?#J|@N< zH^vN^Pl)0s^GU2*GM^Io(_#2C4mdqAyJsOSna^R4U)~agPv#3$B4l>bOQaCW=;-oA zN=Gm864pTK%Me<$uZvPiJmP-?3-%iJrr_QR zY&h+2mx~7AU@^qi&E(~*^b%S*4D_Abv^|GW%~?5tIsi_Z24EwMKHkR z8d>JQ5X_ebW0?O+6gLB3bKO?p8^M1Y#((F)(-rgk9?}-z2h8#5SwZ*={v=A=Jv|Zr zGo&rRFPP(Du!8X6zfp-4Al5~s)PXV4(eIRzF5(Yt0ndLzX!RFH9v+b{f&nEH9`7Rl z7Bl}CGlu$qMTzHbsrwJ>mbxyuaNyIk7!iemFDgnLPEX8eF|1qax(d8o7~Y*qgt~+- zB85CgMOQs2E4qlD*arG~L1@(*Bk8N?A{bV+1THRymN1441ARn^Ghhkqi*-w2KY=e9 zhWB^C>4{k_1!)Of8go4LRS-V^%TkFDnA}CAaLB;uZ8^$#7qL7xgT@sgv|14(X@ux9 zI#+5?&24<+fn%TXRm0l7&Bz9CyJZQ z!C1Fs4iWg!FnpK;PEX8keMn2@aLjR&RuDd!8&Zjo*-00XLMWr7%Z(@rIL8WzXcZTHEc`4Z576CoruGSXR)2> zZ^Lz4v2CH?=B_||%14S)={Mui74f4WZN)}ouGJVp`0%k*A{8rl5wCULMKBn87)Mz% zeWS!X60L>s-H7l!xHGXm@F?PV2(5O&h$80S!+C|_CRfbXVS->L8jPvKBvIUa?8tRn zkDUZRIgH=gfu}2Gy9=Z(#}v%*v06d+eAbE*cTZ1*PlL4O*cEd;F;);hd^akQa>ROy zl&UZ$I@+Bw(o^h#E#P@i2(4ydP;qjhgFELYR%oytT7A2m$r7nwgOI^Ld z8^Z8L2b`XmQ4Z2lHxqL_B~}nVb$Kcg>Joa26!I7qT{Tly^b{VpfxcM~TD4##eHA?g z!>X3R*C~hVX#JXkjAb}qoh9Ba9 z(-U($6w)$z80L5$tRQ?Q=TnI=>F6m^sAObxw}3LCr#J%J!R3(2b`Xm-ARy^%#$(4&00bDWS&YTLS`pDMGB#e zjxJB5bo3ObV-2L90f8I17)h$5r(n2g#HREV@7rtHS>o_)P=O)S&b z251^$AuZu| zV2;Pd3c`oqMI}ObtZPW&oiWkT-IS58;T~)O&-X%Tbst6^4&|;v-A_cuV^qnk$6JR7 z#MXnxmf`;)QQ`zx{vO7<#f%~Z#$t6U% ze^BpZ1L$Os)zbL^_Qi8zF~Xps^CMB*bbgF=OXnv7|1=E$%mJq-Cipp|rSl8Swfa&J zzW1-FMCf!h5h;8!GP?VkGNFn12HQdCw-8!=hmnL ze>5Hq<3EW~$vA@l84LFG`-|Xy4dZ@G#AQ6XVD7(j-InSPD0rx=Kzy$M5~b2_#-l6Z z|Aw@s`Ui8Z{uP7||Bp(fROJia7oA`57z{mh0pq9+zmC_`+@9~K->#t{S1Q%Db=0>s zH>gFhj3O-xq19p-QKbA2CQHhY9e40rio`KQZ(v$=_U-mfb$XIzLD4EB5TE1KMXB_g@#u>90g$#t12M;^Qw8C}*Q63DQTcfIvGe1B z!O+86lr__r$MI0{z@*^5(c0JrB^m^w)jAk?O#F$WFrwt5SgO|*%z6f6s2(heJLMr* zw~P-J_^>d1eFvPLn9p!XOZWzu<5>ZM@EO}kl(=_#B76j-C46JdakoDj2>enOM$#94V*~;jR<#5wF;p^!41w*UxC!jQx+QRq!1oEm=Q`l@ z#H{8)S_1dQ9QQN@;S;z&l?Z{!C*~9m85q53%J_--0Bi=02SVUCvM?r}m>FNSOdc$@ z4l%Y2lZT4pX7VtsTP6<|`1~+@fdfuY%46-I95V zz)uasPjkTOiP@bFX~{eTbKJ=kgiq#KR3c<{a!)mdP)0|WXHz=vsh)#1ka{kJR_9?P zsg8T93^$F~&fj8sU2(0mm$UQ5=LN>6;r>EVD!E4r7h%Dki!T=3C1Kp9iMWhM7i8cv zuG^wr4h5fJ6^PIJm7-Mo&3JT0{6a`uw5u@3eN935@N1|=MG3q`JI?+b(bJ~&h8c^?w+0qzX#G%elO;@#VH6Mem|86<&~{N70fd% z`g(ve(mgzgEnxd02>fyuMjjTC?tw8Sa~|&=9uYH-8Z(Cd$3%&zZ`pes>z2JI1pZ_g z{*(hwPt53PNXyj9j3L9}tD?9$d=2ZC!`B7=Mi~C415QuO>Mcmi;oF#N^^PEX4&S8`;V`j* zsDehuMu+cF#(RkOu^CK$0D;?}7|A4VE`{%_;4~|032Djv3UjT#7KBgcH&h~ICif6ku*u-)@mtD-HsU*M2c6$T;HR)K zl1_-qHiA*6@tJb9>l3=#{V4u^GX4zZKZ{aHIYR#h3--+WtKfbM<9<)XWjwlI=6`VA z*6L3v_@Jsle6s%*rP6Q4qbuV7fwZ;y7jv!t6NC@%(x7Mp1=o(;X@p7dSX^X zAuWf)FxP5*LHHaFrxM{X`SO=eBV(h(4JhN6zYVb&Ol|~$AI`!^CgYbshFC3`8;h+? zj4eavrlPpX+zjiM%*_S9MHs%N15QuOZ7WDi=GK^NwT&QrGPk7?A=7dBOJ|e8(c^ZM z375Z-*bX{JLExveFp^H3Kr1hQjIvrj$B419#+c!AoG5NSx5v8WbG*QJ2*W2h;Pk}o zCPG?1Ctd1g^|2E-bgdzG;UK` zi{(PC#Z>WGYkV5|r-@QYKT_Bg3-+ouU2waFal0qtG9F!!fjzix>$WEp+|dvsAxHMu% z)GP;qAJ@W&nt7|5rh?HW*T^;%O#;gsn4!H{6nFX_*Dd|C1m6jnAy*mG3@UzN<4kbp2oUm?*M@x7=|C@fYTE*IvCQjcL?TM9V!T) zy~C(P*h^?C()nXx^maI9MN=^!+rZ!g2t583BN?n{Di~R{93Cl#jxvS}hewOz=I|J- zTMmyE_;F$Q@eVjWF{=|GEr%y!uGL9`@Hsr0N`%AYrXrn2#zu#yP{x~zQ?VILo(6$m z)WS$6<4pxatd`6(#MYU{mLc;jQQTynjde@rIRZa73_s5SrzhriKBOh{0?f6#P!K+u z7g33j>1Zm_*<^6^crj%{Q*jBlgU(AK@S9o~NoPV+!6>Wc^KvnEg)wIMyiyc5p9`^W z`MgTtSBK%(IN5hd|rpSR@V!{=ko?C5k5OW(fRn z7Dn>wXetMI|X-F7o=32cd2%o-}M2WknC&FKbwCulvxmK?V!iT>` zCBlBJsYovZ!=kU(DI-nA8`uK2--N*PTQTwoi8K|ADVg(lQ}MQ#dB>PB?7u5YJblaF zdsw&Zy)W<&!tf6raC%}!A3<97KE_7sVVOY88Y}W>+c^G967tI-3lR9=pLL*sN?9 zRCjC#ojoA5>Pf$#vvM!|6|h^dR>On(NrvpHSoF|1a9tPB(IL9f)S^2o6=Ma z3N;lgh|d*`PecDoqEyn46l$fEs5#k|;6EXQfI<1zfzWDQj3}SCzUeO*XmYu1f3cpx1{;{Ezz|W~Obq3^t;8_F zuOG$_ci`!YNp1jX3$Y>QT5Tiq;TuERLTrM$R+|dKhi^tDQixc8kzNmm zMPHj!M*52_umx;y34!0%!pMUq(qAy9WX|LL#nxhG8)L?>zpW_o^eubaVcoJfQsAS) z@X-!9Ju#y(ke0o%m}@mo5I%d`Q;D#b&|jqU$H3@qJY_|Hu>-b&!3hvrO~gnBEBXsY zRxO8<#L$k$kl}DAQQRC(#=7NjXMyh$hEH+8>4{lQg|r;jVy@LRLHHc*N+rT!a(|Id zBV(gO{_X{6tY{t7ZrBVacZbkw4~%58VkcY=8Dh0$?kTor7+Z$Sy+m=7S%-B?=H3F& zhT-)NI6X1921rY0Bj#G=1mTl8lS+h4M}LvdCWE8LCd!2VB9HB$vl&7w4=dNsvxGVB=?cQ6&rbS_bWRx{ zz0RR@^cVYJ4ZO~Uz z1H-t35^))iF37;aT(@;Q1PX2k3&bb>Fi|S~W<0tg{%}ZJxA~ZBwLlO){0J(Mx|RD2 zX54vy!FcH8NJ`URB>iwpo$6?v=>Mcr&|e${49a&jgjUC3MEShUOn<>ZlgnlMi(>_L zoPn7N950HSi4(YPD{-RWPYUBtcHrrXNuB~}3vnvuTAd~cpUKljiMyvK!q0%Tg*X#) ztv)|kV=HTg#IF(KL$o`S5a2< z7gu8&7`z5Tt7|cm!HWKZkyXp#bzP^OXj^|>po-4 zka@o-ZZaRhx+U{Lfj<<6KkR_h6LWh6(vtZo=2|@_2%pTysYJ+h^cU%DGB|pCf-<4M zcoN$|=Ti{)NiK|}Goim=l-2V2j2L^?7&Cl6CyJZT=do`2d_mwZhT$(c;Pk}oUWT-M zzJfV!?+U`_^EE0FK0E0z(m7>-^!hrbqrZ3qYvA=w2;B0;NM0TN1tU)5Hl@GVJk(#j zEk55dJ`Mfvic(2GQg{yw_Nw;2;64cBK1{^nW4zc-20r4tt=q>?aA#N`KJlN5Qt3D2 z(G~HZLE5@~j=5G}2*QVdNhMOZa(}^$JMS+T51o8PX@1KxbpK*>^Vl4|8lQ_ipZ06) zimH9{|9Csg04a{AjT3kGTx0|Bgt$AwLJ|TAkPso{I1aewxFdZBfg~MwcTfItcXxMp zcXxMvpQpNu?Vg#w*-!76uCD2Ox~hMDyHgB%y)gK?FSOXT>XxpoV1C8Bq-Di-BKzLS z9QYr^Ndx$iwM|4Ty8P+Z%uu*&~8^sV__6dvFo;^f0K66JrwD*wOGx8`qA zc=m?L(A7lR8}yjV&?g>VtSco1~-kPKchJL zvSY@~v`qnHi z3eT{CPQ?>FDsa0y)Y{>*D`J{2eZ34X_!4Q zt}vGs`EsFr`GlO2xV9Bw73PZQ<6Hw#c$h2GiC`wmigKDvjuBU(EhsBi#dYB934`zP zLQ9+lWd*aWm*?s-*&1##$8$|_(mdC~xbj?E^#fpa-?m2Inr%ek z<=fJU_N`V{aK&Ah70ic02GZvKTg08L(7(A2pT20-zZaSI*kU_quziDI@Eu`jv3=ET zTz$bri?>Vbi|s|WgOj-(7$Q!Z#88gwP7D+Mj-h_1gr1?e$l@Er~A4wWfBP0qs#R)-<8zizTWrm{T$H ze0?!mrfGK5IQnD6$uD2&jm5aq8z=IXP+m>Q8Hp}!@Wd4C6rH1$Qg;N z+8b6G?t{KH`-;Ldv~(hd#q~uwM&`zV`_bm>i~VsKBoBbWmwKTk$$Wjm6zhd~kj!WlLw z<^?XM!+)VTS^QYSMHtY#+Qp)~B-CA6sH;>Nf&?z(xbEBKaPUA_Bp&>g;$-7istiT_ zRj|5mSEFyuHKOqHYw1M$R;w?#;;!op=EES@(KZZU79YDP{BM!wDa}pcM>?;^&tvOu zfWdc$p~co!hq~H=NfvLF))qI3>}Dr(^luR-P2pCK>n_|T`rAYO9SJ={ae;Tj>L%QU zzBPA?!c)9QoP2mjqWoT1-Guwlx8{CPc=-c#qD{!v7Ug@vv>59_+Nid82vFs}5T6!}x3{ON?8k+`B~V3ppp=;L5n zQFwaK(~0O6)E4FZm>8qIK%1#8Uc@yJda^)h@#CVJIPnd4{#YMKZL=z ze4!=Ed~v}Pi)re+z{fJfCvFDE@KbT}43)uW7}qy}&qe-4DE~4cXC$uZD_GruuhF;W z8&P2eQV|sh37dhorq@_b#OUTCdjDs(I)EP`7s8r z3&7y3)6kMD4E_MUwXw5#v_8?{QEtq*jBQCBJS?b#7m}C@yO<9DBI0E6V+o65K(}o% z(Jdb88VYrlDnpRK5**ikTM~{nONqpTUs{}O+)9<9sIS24zAb~kHQhzw)>v z{DdgHd_6kR9^}g4@~vQ6jI};(R0eN=E1Sy$^;p;gEmoGbYcu#C&Azw)X}V%*dvJ_6X%@$FT=(KQ(H|e`Pe|w)ipx9^R=46L^sPBr z6rSZN;^f0K66L4D>QLg_oZ}C)$c!g;BmEOpCG3q>U4KE{>a1tPyNlwXvPGZI&HF|5+N1brMmAqr3L zGCC2xf(oOY9}{D=%V{$e#uc~*f>**=a}`<=%v2c6tX_s!%S6|>i5$ag#Yr=~4&%!3 zdXe7{%5O}_8Hua9304{2j6RN;5QS%WE1ig8afMNik-0J8ZM69c<91vI$va^16>4Zn zGGAdZ#d=}hC3D^F=5jFa5ho4vUW_Zu`$T?!D1RU!XC$ueL0EtI3I_x<_WaKSx{jx%X)b}DU&_rCUZQW7AMW~8H_8>XGQ*8 zD1Sa7XC$uf1z6?zBKkN;SQMV;%XA{1T~rw5Oqn2~zCxR*FkZzNxV{Es&Fg5%6{e`d zV8&%^ODc@9L51;##C+4mbok#ACyO6TcpC$HS9?cv?}obf3U&BaHe4rx_c^Zn_5mE6 zJ1i0p{v&a+aVu4ZqW)u8-M3HBx8_q(c==~^qJ67X7+i7J6$bNRkk4rwhA#&AliOQH zk1>r+{MP&U)bua#L)fn`VXXNIE%vM0?g|QKR=hu2P<$=2Z=B2_|5lvz(!b-lqW@m> zKZN=p6MBZ?s(yl1@;{?*%`c+x=zbL^AD)pY{|#2j|BgP+p%8_a|4AnzpDQTJH-Kp| z)?c(yLGd@Pfc8Hy_#QU2e04+x1#>E9o-Zi=lWDrmC(}6k(}|N`zS5f><4SJ^^l?;h zD4!`IXC$s@X3EFU(5>4_ICethvxf57=tT4i3W{=mOpMWHr_B@;bKn{X&IyC>W-JqVT_gi_(c0 z78exd7?~RbE=HR#C>F~!MMU)M&#W? zd5?sgk+`;HVHM_b=;J71QFxdu(1~Cs3W{=?OpXy(q%9~YR>F1QTp7liRnQV=K|#SR z%XpUD^d<&3y;UV%PZ!T2Urn4Wa-_aG2K1eG4biO`>eedMRjLfZm9Ncl-K%xr;Bl`= zJnZ$v$;Pcz8H)P#VRf%IK;N1TMd9Te(TVn|cGKgEyT0i$9|qZ&wqf{kxakFda5K5R zb*JVQ{5NUy=w5O*S?x5kO(4L&Z3<(}W@xc*)hX@<$SjNZN^gLhi);%gbNG9Slg6+m z$8{Tei@r~&@0-vw6j#^}R(GL4`qpeE3XgGsIQj65METaRx(nN&k0U2U;pGGAM7xl? z0hVtD(_*acXrmk8AY1|M!7$crkCv~J=myA~ikatcfIG-EL)8ptpv~L>cgHml90_C19%xB0 za|2{%^)hUfiAK4J9K$AY(hNsqTp2ctd`u`Gn~*aSS2Ye+8MdI0vn52~8IGqDF)Y3T zmSbdY4A@GWzX49bWsq!xv8Ej@N#<{WOtD^=6J@SF-CPc)5ho3^1LF#_Q{cHg2WLP}H9ZtNV5q`qrE+3NJs0PPA{e z;({ygy0~CI400~5`)l3_?GxkxGXH%nZSBsR_MrYe{3v$qe=ydZj~2UDJ{yTgAyQU+LY3aiw>=$nOZ{cP8YF#1-8ItMu+hAE!%*!qdB#PDHPutSINl#2D>9 z+Dut-Kdyn`12EP+h?WF1Wd$>m@gr zgZZ*JX_&8ITw%T{^4CK7>j^m{acytFD$F<0$2k(B@G#$|6TwWB73DOU93#F%TToWK zi|fGo9*i~bqb1IQvVvLG%ku-7>_a!1f+C*9L4aUIrTNrD;LrboSvVs|xu`MYp4hqVO?7%WyfFXn8l0W4MAiX@)CeTp6w;@|8pR zDhW9waaF6rD#M=W<0J`Dc!sOfi5MnsfaM&S93!qlTW|wh6W76VEf{OoMoX3jH$Y}t z#Ewqf`pc#|G5Nd6CX zIp%&T~J^j*5Y$hLAa2Yi4y>4k62aRtAP z=(i2^0~30N;+nRDRqlh($GH%q@Zh!=Cm)`XDBl5Axer0#nxUfb@?mr$?zwmAa{Nq- zv38`5-lccK70~9_fm^dP+T6P|b1G(@f0y1xrrFg^FxKpamL&84=3|QW!ki*=O?7iQn0t$phPe;M73RJox1oH$gq)GMw*6rh z<^kyAtO!wfma-y}p34hk-N{Z$-d~H_qkmg3yG;Ug5aVdTl+jbd@HJ78swpGt@bp;bF z-X^Upt`OOkPUgs8B~F^a)g0FyxJLBXhWhIgdWPcSu7}kPxB-2f2_Xtk@FsEc;TehY zn_+bWZb9FgTSejJx6z3oC^5ftDombp=zb7v`HX z*IRBb2lH)l(lFn_xWar_5k7FW4;bDGECxV%%E6QmyIY#`1 zwxF)~6xV_CGZb+C*LP3&z0pR~T!4LrboSx`G*(u`Q`9&JF5{ z-zDZBE~dl(r#M;sSi)Zz(7W2-qWdS*{adK3R2hN<{^PjrTek(c*6Gkepan^EL5h4Pu{MEh2&E4bpW>k8(>AhXcA&%cds>}=FiAYFCg{$jmfOKUTZ z@Nmb4m{}pf-pvMM&FpBgp6Vs8xL}sWd!@z293q?3$sC5c#7SeAo8!6-^N4=lP(NQn z&rn?9{II$U3!slP5=7y5VIgty;TehYg<*9U7D3;dMMdG|i_wX8Ay-_KZwAw1ti@@g z;-UdpKzj)oYnDXIS4vb|FsEYX`QljiX-?C%=59w+zOWUU!lA2<6Kr zEeEUgmPa4Q9EifxTaivgub{Xn=f}htZ6(@Faj`P4f#51I)~t$_1T)12Gpmn zH<4qwx;SZuYhYX%t|{`hLiySWIU{jZ>%c0*b(hxC78e)g7?~RbZa|wa zE;htvklYBynvKztWWKmyiuJ|?! zgT6I=Md4xgqZ7eQ6c^<*nH(ebr!6Qhw!(Gb8~|g@)@X^dptxX`_43?CCfn9c=6DVi zC(Uy^j4RJUA|D*ew@=6!iL2WIR(TFVAJ23};du_D6Y=b#xF~1J1Q~Tl+C*`&6UM-G zI1HZiq9xZvalwqs*p?I*mj=bfE)sKB7t`V2O`I%#EMWu&^sctM=thRRJqmS|DnpP! zBgb{$M!~`3V3Bz6qs7U_tyCF``es<&w=wAB*aT5{`8Yb!zSW8guDI*sg848=3$6Q# zZ__+h|CVfIV{7XU;!Z0ns`x?d*?1UhTG3+9s@J-rg4q@CkrovbMAqhH4tu*e>E%!4 zxZ>Ya^d{7IB=ii$m36`@{YmKKbOcd&e0zzL56?)HPk~kXQ_;6(Z&7&pK6E1bxuT+c z6POlb?MoXK6&6=Odp{U!_D9QCNK{lXr()*$qT&FV=0G=%qkoV%`QG zX7w^WUM4!hP2?D!C{CK;Nf=j#CyV@)P=0Dc&PZIwyiaRg{u6M%VAun2TO%xT(xQuN{QE^>RRNO5w?{P65{(HsA;>Qy1!+_q^?ibwy zq3*##U8TwpB=8W&b>AL_gJ;1a@!%g7CmXj?Whm+&gVlX|9DSUWAPO&kl1{X5wW5M6 z?z*U8J`C~{ZSE_wdf`7nS|&7)ZtfVc<+QTmY5XX5?HL$ro<)mYtKR0y3g%b5OIlVu zC$i_A%z=MFoHT$JIj$SS3vm#_3b!MM`;MFqAKpkTVijw=k^oTm*eQ z$`ys@xfq>@XBTBfIa4OcsEgAk%8CYzf$I`5c)W|2ToYvlGcIFWQdZm^lod-!%%xpS zhrc3D7C)A-3%J`y2Ty@T;=!*dPBw0(%23p=1grbD zGWs|#K@?uTDxGNGYGnmi+;v&Od>EuBZNqT<-%D^1z_dzYHH>1TR)?`>4Yb&(>iw>g zU`oXsqm{&(B3sMJ9P72kNw0Ywjw|zZMZaFCUq7K|C@yCMSVg`e`Z)1c6rS0};^f0K z66Kq~D)LRy$598O@bb;+M96cML^*k;#aLU=MwLV_TmkJZVXWzmmM@E_l3-57%=48* zADO1Fo5s=aCr*C(O0Pf0mEKk&9}vp7PRJRFE7}HD>1~U?H3LQA>1{_RqE}E!l=EX^ zj5dfiQ%MZQH4xk$#+n__l3=EiU}p6)93m49brU&;!^BB5+!5o-a3_%u59K>2+?_UGNsPp0klX{tnntuFnXe?6V!bd&$y`lt zE(de8IBA&87+08ML_Ri@k4wlIiEC?tRhU)utr;&053`j{1T#@dl+$E#j5vX|ppt0A zb>M7=v1TG#;w-2nm}R{@_ms(uo6Pa-5GT#E6XVKrlE^2A^1TvrM&jzGz$(wF=;QgV zC_K-7=tMlbs3gjnGC@Y&mo`yJSd4+|elU2Zi{>`V_Q;5JP=e82T05VT}+4n zAaSzzv4n#$pm()HM0aSYJFHMwsWJo!9L{mwwEIb z9|t6e!po1N6YX2AlHiKFt|XWbgB(xmKC0P-&uWf$pQY&N#MhfNn$f*^X5C!xi*RiAKm1rsdZCao(@7TGCI=E$EaPMW}J9M>Hii>asv@eFS z<`T4gkwkR`b1G(@uPZKf#6Lr*4&Ji1T%F7Gpm>3Ei%!qZX(Cdhy`u08@1qkjEUqicF)}v>yq`8-S3H2rAo(DS zH4mXB$$VYG6zhfgu*~&{o6Es`RGc)-$1tui9~b!(q5R2&oRPS;r(hN4)973Cj3_+J zXX!*R6Lm#7O(w^P&(Rjt70=^3aJ~Rz&5LM>v!JeEmi6*{NhW*QP3CyMB2Jp;s~A_F zuZjHiQ2s_j&PZI{o3P6BE%fmKR}`M-J9HwRUDOrjOqn2~zDt{^E8fExxV{gAhq`FV zHBnbE<1)4-b;XlGUGbsB{K&<0_&*jWiyuq)1Os|k`&4wFg}ToRb(JbZkiZul*M0jE z4xasr#Do7@oNU}mm7%Er23Gg&Tl8^4f+)QFdpgm+)#?haxa+!t`7p>2v<<^o!4rzy z`Me|hH%{v4*b&F}_VdT~PAf5fgbX|Q6O1)Kqs0zZUvwn~b1mL6Eirx(*{@FKHsLpM z(lCDKxNgQDqW?40|CP`)6xaDTtnS4>=;P#DQFxgDiIWe{NR)S5sJ0i=p^pO)&|=Xp z`x)p&dyy+K%D04RG1iQj3|mqwA7Nib7lFtd6YE+P{x>Lzjw7ZWGVaB++)!v>Kr5z3cL$Qg;NS_)Pf zE{(o56;XJG%g~7!7MB?17?~RbcBjpk7(H+qB$tJ;W;wJZnJ+PzV!bezm$_DOb2*qR zij#)962=wg$|7GSl&_kQGZNR<6INlahQ2kci^9WPgH8l9QDT(SWO9tSCT&59u@*~3rY-TSuf9ZWwQ0$WRBxuZ!vM z_Y)_JA4}+u0llkjCAtBjZtFr_rOFT_unos`-?oK=hr%N9;I|Ve8@EzrDC!5n>b?y| zAIIT}!pnD{6YX2A#Ndj%E-{!7gAAc{UjdN&YmjLL#ZdeZ_G=i7H9MlkepTOc1qCxJ z-XAR}b`sfeCv(Vm7AL**T{y1jcNP6^p?*X{&rn>|?yyRJB>L9uAqtPKQJj2uMxuNa ztdeg+-?Fp;&4Eok|h{DtBq!ZCAC@9MLF)>D)M4Krn zCgU0i?geAb6tpCmDJYm(y$q+yM0>l59K(IYNi*CRe?rbkT-5=v%J4w+ ztvN^(p5eiCB8J5UML9<1#(;;=<_n5LaTz2JgR$mtv?Q4?D41fsFprSAj&yT5m`90| zhIur`73MJ_KQ@#fmyk0O*LFOt!aMOx(m$`B-Q4aargu7!iA!6NbCuNNm9w^C&&>TiJ6eY+8T z9E2+hFTa^iv~RV7f-CO2pkO`>atm!2-&z=b+xxT%<5sA!fw#d}b30mWVD)2HVKCL= z4buwa4w2pIWNr`c5+}{#ZjS3-+#~vXL;ZaTJwtJs_rvN|Jb*rq#1(~S`H(pI@Qg(H z!?3y)kDzbOqoVNg$LK^`k*hGucZ6v%*5kBMh4BQgfcBFx);xulFPEsoU{1x%^A*O^ zGR-q?8b|+Gaq`Pode328={+y<7ee`q2{|KiMK8fBy_eCq<`q$Rdau%n=oM5L<@}f! zqrFC(sW4v0H4uCQ#+o|IY#EjfS=OlD~!)@86-c4vE~c3B$=-;m}0#!zm&PY za&tMDUyGB5`3=Su=C>mME|hEiy2%{Rzr;!N{2SxS^BxPqV zmFINmEX75iflkD;iwdKhDHCMW88I!G7S#=ACX9jW%rJP$%lP10^pkwvi{Uc1 zB^AaeL4`4^#GK8=bO2@-CyO6Tm;(cPSDRCGbA`IO3w4z$Ly*8c9M^rD7Y-fDoLFDXuX-Ai#?xi2mHN~m8Zp=T&A zsXMG=HL;pZv$~tc(O*NH{PLCFniyAlYl(dAP`*w=&PZI*y0A)b zJ@lPEpT&nEQoI9C*&XEU9MXBX8(Ia4OcsAFgo)x=ngf$KOJJmN)5 zu8C@b8JDpwsV2S+s)?$^9PeT}{H@|-@nZ=SFras}Hqo_*x`~ClN|hlP{=vRjLfZb)U|0-KaC*SaYUGJn6H<$;Pcz8H)O|VRfU< zK_7=Hh{DUyqZ4gZ?bX2*cm3*MJ`D0d+J@mP7JdS0z?Ov{KRO>8?A!$~)?A2|FPQ(_ z3xTbF6FrH#ATwtJk(#2&@&Vlc_plF#8v3y90gH$lGlin z56?)HUkj@naUJ^BTrUbQzkyD)5xMHSd_R~LW8Fv_Ro^$^3TWR9W6dpS`8ugp-{w{- zDpe*{48Ha{QG~b2T(`Tq+!ov+PM(1xyc6S!@GgX-5kI6YD8@g+buj%H#+pyil4-UWH=j~nsWR1ip?)Sae(q*; zP`?l-4fRWmE7Y$<{>-CLw1eF7aDfh58-(IQu{p9_kNtBB)(d z^u78o(fu9j{wdT|stiF4|8iV6?>{)!bidG}D>BOzxbu4q|U zrMDdV)+{dyPj3Y}5xs)KqnsZTW3&}%Glj=WxCVkN!{C$yv?Lf79$?7K>Seg9Ow`j& z6%D;R4Ape4?1xq)9!W?3)Kt!1)p++>dD zw&J9D4#c?f+)m_!Liyl?oRPS??O~PY4(MAmL=>LqP&yIME-H<3rc97ghtVb~jU6!t zt~*O@z=W9>s5)fM~V3TRsxYxYCS7fDoCFsEYX`MP3%ndSgDjiY~{IQiu( zy@N2W^bQvJA))-xgq)GMqQhX7-r?w5bA%{7y(8&F^a|>Va(+yV(T<|c)D=hL8VDW( zgEJ4%l3=E;U}p6)JWeJ$-c95fo*+(|;fWYmh9`;qx#2*86?k!!Py6BNittoFvWUdo-1>m=jL)S|0hlw=J^;` zm=}or!ccxuLe5BB+r_X7^Ahx}xl|M$=4Esun2EZgoFWV9H9XPLqvF0kY z#92^RFw1&*UM-Vd<0f-FuN5cF^E!+x&+A2gLnyy7A!j76?j~5}c{BQW_9_a`^Hw?$ z&o1hUa;8j>QE#J7)D^d53|#MkvF1*+CFTNs>rfR+R^l?5}am*Mv^(GPAS$M8pS(hPsXxH9}%%J`q2hV~<;=!*VPBw0( z%23p=2&?8j3RLneIO!Ss%`nYKv{l4Plm#_5tVO;6;7x`A9d_Y3ZNL`FT)*Vq9JY~$8e}PX@mC^wgb*(6RH=4gy7%w~~~3FTuGaz^6X#=$Dg7WA#Dio(MjPbY$zC??8j zGC4+Ur7b8XCg3`7w!v7_j+QtJiV0>}FVBfG*`97P$J2QTL%u6chVm3|uV?p6sF}*F-VFjLX=T6cft^ z#l-#+^8gpq;XhEEEPgEEAPneT?O@Rz66y{u)K#hsK>~+yT=(s8ICuao5)b}Jak6nM zRfeMeC|KRMqtUnK7*Tlnv2>z+s}&Pmao5EJ^I?$VXd8wvfyWf_A5x7R-Q3pEJnbVD z$K&U)WhcPk=mfObvg)d?reJc#TckC`Ng_Mh$sF}l#7VFIRE{hC(?oxIs6Qj2XDBZ0 zOjw0~7W&qlEecQX9C7mD8Hw_9VHN&)=v(tYQF!_JbRzh##c25giE0YwRLneIQ(Pj`T4ImVUV6(YYflwXyQGZI&HHLTLR z27PO;6@{mF9i50?K}}K4kBKqb^|YCq;s#s;!5d+4!~t3o%+wUjtX_sU%S5-hi5$aQ z#Yr=~4dcr2c9Gu^%I{3b8Hua93sxE4jlMPah{7|xmrlg6xTYw_$lMt4KH7XuaX&7D z6GC4+kmbRd#cn;Tr^LZF+UO-En1vLe;te5ADGTBRRGRN~}and|r z!MO5#RphUQ^4Ak`M&jz;fK{GvqL1gdqVPQ5rW5h(qNXTk$^;qp9oj@q@h--|^*tCo z(?v_JiJF2Lm$5CWDS8Gq#Rn4eLl@KG|45uHek|c*4Cr0$6VZJd>OL#fRjLd@0-tkS z_w5Tfc=Rh05B@80vT-X_hNAv!Slzd8(6{DWQF!@xbfSH$)f8ND*EI$6VUX`>-4_4{ zAE~H)SKqXv;s^X7_UuO(oR)wVdsbc76&1{`c#pKG_*rDXIGMx#t2pW9|Hg5}|GVh_ z2=#v^^bEz7{ROM^|3=@Me?;N&{VPsBJR?#5AFR^vwixBpp~a$I_S4ge=;w-x@=ah` zj5Px$!zR><1~VhBfc8u<*38UUc!ku)@lhk@RLneIRLmmN%<86b`OhX!e)&poc8n{% zIYd5ZD4#1KXC$s@Zdj!^5Bk>3D+*6wjKozf39Ag3Lf@LDMd2A%=tK;Q zi;8lL%#8t;q0JW+-EkQtd%)nF1GFTWFDjT~y)c)Pxt4cxIhZSmlZLq>#uesDB40U_ zuab~664$mWtitSxzBQ|f!oyshP6RViRFu9Y|Z_Qv)c=`5pqJ66s z6pk_e;nbiL2TlRv8|E zzBLDm!ZSRGPQA#I+pA;!SPZirYnYhm$$-cZ!oHa2LmQ2ksXAJ)!>Igr1?excgvr z1MWxPng>MT2|g%JK0G5){t&Egz{BX{Tm(^g`J;5A4an6M<@><280#_GsIGV%S3vs- z7;BzH%NI$lt}stgQK>SqV(|Im;%S-d88?^Pf@j6aGf;%jVO$YDFY*^c`HKlTBXLQ zTV{L5&E`P9D^42Zdl*-c?~D9{Q2t>;&PZI^N3aU=WAt$Vf+#%5Pw7M;iz|$BmduR- zKcmf87@y-ZaDD-Ur>|&A5<}a!% zRi;`7wd8)dRd7H2TY~=Mf;#U1ij(Dz{Qtv%z8iO2oXJjy7Rfr@^x|Z7l`2DU`7>}_ zH*7}H&lKusPUsnm`dMIg!)8SvryGdEho7BJv|+XTAy?e>{gC-E$Q-l{!|~DHZWEe2 z#tm%mY-w+cKVdj0egxY!7mPJ?qXmKLV0Rm2Ud6kkx50TtHm{R8aPx_i2d4|4pW_OC z0nslQ>K97r8H#IK7*@G2g1$A2io%0iOq_gpMxuOiSmoY;K0X2~3NK%hPQ*QT8!X4q zv>0nC+UPd8G_HVl1;(0X(DKDmyA9$M!JLYj=kI{sWttvt8b^Owaq`Poddp#4=`Anv z6+-!n2{|KiMJvH7y_M0&83&^9^j4)4(JQzEmh)p`jMkGja|c`v*FbP}7;Dx*OM>AY z5Db}Fy$sisiPmxxIfiSClV-RM#+Bi^B400*ub+@J5?8eWtTNmXeVlF}3eRw3IuXO- zn_oFb=Ei`V(B^M`o8mG^ZU$q`=4eSWbMpgCrdTh`Eo81n%zX<`vP-9N+KRZNMOR zxKLaBfI-v#**6m7*rq*TtZ77xZL03c=JY48;Ytz$)}A`Z%sY6rNhEIQj65MEL|*h2DlfKK&{RFP}&!f}XqIm9uABjI}3i zbiXsW0@@ug)^wufiz2$;F{fhY`TN}@nP#$^#?jwPoc!{Y-V}^0y{RJKJCyH}kTVij zv@fjEv*_b9uA=bt_NNokE4bg4^J8L+b^vYWes>_Qf#5+f)*OtM1T*(LW>zo5Lu8^u z-9(PzVdA729*%Kkc!bE04CO~9j7l^_$JdRGpu=svgj*+=B;PJHi z``rn+43a0pSaT9ulFZ-lm}0#!PnNk(adSDCr;3w?c^bwQ=IJ6oBb1++kTVk3b{4F{ zJR5x+VIT?*^ISR+%*6e!oFKW7#+nPz5@*5vj#<{r^Fo>IA~%`i zd9gTYo|j-;d0r~=%R>3(2{|KibyvVD&nwZ#83v;8Jg=q`@$BMpaye5b$f(!QCLSkW zi!pG$4hBchq9xbF<78%B#Eq-b+gm41s69`906&aM{NehdIMfQl3 zIrNW;lSc3u$8`%H7yT2V{>g-%p}4xIV08zcMjxjYh{7X$R-AlzMxy*VSlxl=(Z@$% zMd9Ty(usB;S6Gy91k+-ymuREH;$>U`?N?x|c@-^RB~f9)oQj#}3yaren%CVlj{Y0s zIc%1T%#NGpm>3r!vuJZX(C z3q;`=eorT2SX@|?V`Od&_ycXeu=o*|LGmXUYko#clKH}dDb@?~7n$ocBh zzhhis{vq-|L-}6`IU{jxf5R%wf6&JX2BPpV|DzMZOcWO7G?^SDc54ut*^Gwqf{kd@kQUp?CYFiLL(ss#_*ZY;9?3>2%ko zJ+EZ!?EE|wSB3Qp$muP9C$!%7_2ZCF|KtAzSh6MBZ? z3VXupF06(=PA?FJ$GC<#`S6TH`I@l03u~c|kHU(=%h#b3?Lw}&DBldG#aQdoM#aT? zxB}Yi!&tKcTE0?h#f90Bib|D<6@$-L7#qo48@svO7HlF;o`E9V6yu6;Gm&o|%C|_! z8Hvm41*-_RMBkd;qVNd&(1{QhR2bzDnHZz>rOi|r{csH!`@>kX6{w(PK|t_Uv?`K6)!vV@$GxU9=z z72y@=TXUr-Ji@E!L)yIuX<^>W^}; zOpsCErcKlz?_dmY--WT}J+y>dSbx0FSt?bgT?V+M{+JZhA0J5I4_#ol2Oo)(-2<%S zV+`o+?i0~{8tOhP)Zs7zTqlOlIj)=c1sr^wRV1GNSK?&j;xGYRr~YeL-Mnwm$6*4Z z@bd5IM4MNuKe*zq>ksC`Am7uvZ=W2E?|AAvrDS)kDo>Mi<7w>_*I-ViQhP`JMp{d{|NPeCiD!&Mg9e=8}T># zI9EUvp5(vcVLyVxVn$p6 z?U`V3t^i}<6;m6>ON2QUGtbu?v&b~Fx@lbgvx$>mzS5f=<4SK1kog{LE6)u?zF{ceC?RJgu5M#k<+%y^I9EUvp66zCBA#6o8RblwAfs+hnFsugL4H$;=vCTCmR>%3g9~R+rjF-4MHF13W&nXx2F^BTdls}io32a zm=A;OK-(~U0X*LbzNcYYDKP}Y*r}l~I7k33cB*=qD-M=h>6 zF1_fTIj+!m5&f>Aez%04p}3wAu*!UQ^l^}YC_J=1#L0(eB+46MmH8<2@sw2*UOt*m z#5`9@l%r=_jMYpVl@eoc1+>S);K?dlzAmCtf;km4&zBM{GELP@BiC`v5iE^4ujuB6yEhr^U#&zI41qKHRpe4?NQi55Q z@hrLB9Uk27PLp`2yLb-y8RBG-BlR;epzpkAiSF!BcTS5Al+URa~2d;qj zoiNtig_bXg=x)cHikau{c6ZA(_qb^s{d>j9FJI~1hjFEMzsMg5%Jc#NDo(CX-{tPiPD7cAw%paDE13&F5%|v*2#WEX#P7-0e;X?si{Dyf0lm zhx{vXvdEG8*BH=u-fu+rZK(UMP*h) z`UQP!eien6|3)X;tJ>X;EAIMk$9x#%cUt$S?D}_oo%j#z@xh<={ed6BPW=gE&0lD- zQ`IxvEsuE>?~dN`{ubFkPUe9BD^7ah|8ZQwcUzKSr$dXdPCvakc|AjMO*3Fzxz8x_ znL_!@2{|KCJ`1dJpA~%^As`ALeRet#_uMV796!@ytT||-Ti%?w0@`!I;NSqXd|gDh zJmyr)Jb%lZN2ZzAP2=dzCr+B){1{hy3y6HdP`*$?&PZI*!mvtj5%h76fG9k@#pp!z z3T}Dj{FoS{El!)c#7Q$;2II=GyU2Tl z@?{fpM&hcLgH?vhqi@X$qVNn?q!TeLzU7r;WNr+&5^esLw=yn+bvT3vPMLvR$Yh(k$sEtk#7Xnq9OKG!3z7E<k#&6VHm7aT(i^ za^lROoY+QUZtG$?`~$_w;>QxU!+_q^28nKPsN23!SE(`t3GBde-M1ldtQjg24}O?9 z*|<1n0N1JC5mxtYC-m`QS5bKR&UB)EtCbU6ao6Pp^I?!(Xd8y(Pe|OK_USk8jT|tc z@04l(h~5=Hg$>&c#+ngmv0>E`f(27PPBio&xSCr&;*BT?Q0tLUrf?BJx8+`C$n;BXL!S!z#lg(6{DDQFw+&(TNxqR}|$KnHvKhO`ESMj=^P+ zJQl{98Fll{+4=6IejPMYTh z7+0Pbiu|HbesMz1NL<||u*&mN^sTu}6rShhbRwQzR21b*nINNHL7S*3uEZF)UIk;# z)o95zQBg4CGPWfZ#f3pdagD^h*2Q%AuM;PWA4|9%1A14xL3B5Ux|<4hl`2D!z|9=j zeY*t?9`1_7gTGCjY+M{Rfa}!X4y*fi2m1H~tth*~_|DZT&3=eT!x8Y&YKN9L6 zP3RelD|`%Acj0mLt$9Ke9^;eZ&R_VQkzBO-)!qa<)PDHPuxG3kx#2D>e+Dvir9Kqb13FalsVph53Wb^`o21!Td>_G|Zndt}uTQ`LCh;w}hOLxVGP6 z73Lr4<=Jg1PBtA{ zOy+n_FHV~03>a6QGm3nsP(E`)&PZI{EU?ORR`l^SR}?<_>~tcYT@)APOqn2~&Ow_f zF6P7-xXuNGC%kCMHBnqJ<1)4-#l=-YaWRj?oY%#4_~#QRiyupv9|L+Ocj+M>J2 zdN`S*zpOZE3d?a^cVT(auMp~2Oz0Vk3tS0SH(_P;aj>i?JjGST$%kho%6r1x+|LzS7$O<4SKsk#7{rH%`bIi7VO!R_SeuzBQYP!qeNFPDHPuwkYSv#29T0+DvWH z3)et!OBkF}fR+R^wFNV)mth~7sIQyIG3+N!nqhy8E5ofsJ|L8DoscsUSG5hSGTat@ zYX*wKGu)0&#IU%wD96a$7;q46zP1>Q%OJTuj5Rx;CCPkk!4&I-IYj0f>gIAVhl!Jh zxg*9E=1w9X9?Ex4$Qg-i+XYr(?utH6iWP;2If70EGf`WV(`0gtxI1k@Z7~wpfpZTS z92bk0I16eEW?3)KQ8HPRo6PYXEl!$eGsczY7?F<+<>L}^M&jyPV3lVTeLU9{h3DBy zC*s*fZBfpY2{P&g+C**9hB0t$hrzR6wB(woEtqi`+mhPi=AgFNQ(_ty)8X$BCyO6T z=){2D)h3B9T5Z779jfrFXW-&k5z{CghC76`cpG^!|swHRp@M z)4PC9M6aN8D38(Vpv>Slw)LW40r==zO=XzmqGF-7;A1u zOOpB0f+^Mu^A?%wRyUV}d7C(Cn73nGVcsF~J45+h2{|KiZFj>e%zMzs!Lg$7Fz=%i z!Az7EJ2P+B~I>%jRS3=WJ%OPmFz1+%P|=fg7DBW^Os^HFiqJRifj@_bz6 zPlWO(6LLo4>YjpCo=>BXr@Er>JfEc#@$90sC}+w98TC2ZL}~Fn#=!Lj7(D4kORkC1 zf*F^wEh#PT2}+BXB<9O5ro;b=I9dEy!mAk2yV`4_dp*>>QK+j_8G;1f` zbwbZjT+%nNiv3&kap_4K9Lk&dXVHniIZQx()%0ZO79<${~OBxOUN0C zE9$m%jox(VTQfacEW$;fflfrPpqeP>$HW+IMob5OVXa_h!Zi?_8OEAf7!L%)pTM8_ zGP8Oa&MFhl<|cBhm|dJS!#Oan4CfU2T%mmKgq)GMs(E1bH*j9`t(i|0p5gp-B8J7) zL^($0#()dZ=BtSXaTz2Rg0W^{v?Q6YCYWNqFc*=z7Ikwun2U*%hPgP#6=s9Tmk8xc zCghC7wJim!FqcLjr^SlG!(4_=1T#@hl+$E#jM$yFpql7`>%h4z3{HqeOPmGO1hcG{ z=khYy3T`sTb478|JXgZF@?2TutAz4Z6LLo4>UzQ|&(+Y!b6in)o@>yFcy>`ulrv?5 zjJhUmqMBF>W8k_r44&eIQj65MEMX{ML!gM zoNXWqFW-?)gg#eMl2_ zggE)-E4|$@uJlHVe2-Axn2<9PS2PM%={2Em&1g}0dd+kqdIc3lIX@=GXk%zI6~$Ow z1Ho}H*0i7{!AwQL%<5%Wm5Ii?i5$aLancMYU|botiM&0OPfW-eiL2TZRv8-faq_Gv zJi|^p5yRq&q8uZ0W57wY`HEsPE`#J=FgR}(ElK7p3Z_^u%&9Wh-fk`jb02ZiF!#l{ z!n7jaFO=_}kTVk3b^xrxJP>_r4ibfjc`%&_W}>1fr^)0P@etaAisDdQ2hPJ_a2zdK z;w-2rm}R{@kC4fZbdx!rM~Rc>c{IkA=P@EbHk2QikTVijcRZ}}JOOV%c@mw7 zXBQPkIa4Ocs3+4VDvDDu2Ck>V;E^s`a!phe%(#qg*A>O2VRN>$jc%UO+=df=n>)U@Z=R^n#bxl1rM7=^gY)Y)~(Z=jUQ+n*8_*vQdgCq zUkU%Z&z~nes%7lpM$_5S)Y=@LC_HU8b1r7!l;_EmtBx@Lt4+x>4T5i68ra;jZOfR> zXOaCfWs=>dy=mN5 zEv>D&WUmqJ_z~vXnigM-9WHd+#=et=G&Qz1nxV}TCPoQgC+bdoF1V(i1#16{DEiqO z5yw~fVt*F$jRb5uSmM9M^>0#HKN$n7cZl+W z5$4XC5}#KKL+Tfg^=@u$bzeRf&2X2@aOH?`H{mIFZ4&0)+A?7y$hw033;?opXXPmBEw-M%onHI1VO=YMTp6!Fp`ekm3=%6~ggd-omP(mJU#eyzPM z;uS^wN=;lr^1ig%s?4*d%=212PtogUq?y#Vt$#g5 z^SmzeY$Wr%QJW|8mfEMKUo*bpr#bg)`=-cyi~OycJhL44OVGc$4gV?Ms;A{fX}m4- zY%BA;Q=11z4ivr(j6`YBltufl%rQ*nc&|1`@$W_FUhVk37&v%9l*aoq#qKi22em1> zr_$(X?(EZdV1Ls%xutVzG}DJN(^#45quNZo3FO{hBH_m(oG8LiYQoIB>g4v;otj(l z?$|uqf7BtGE5z8ahm!djaRA1Fp zeCN>rM;X=F(b65CCHi)gDg4C9!6k6Om zfU)ajc6Zvdr`ws$nb{Uhiy%;npdg4;5fnkL0nrMAAu&jd!UHDY?ZF3P)P%&S(Ff%s z`v2$eayr}PrTc%U=lf>n%*=l|J9`F)O!-XRaUp6NA|hv+Jp6wo|D5DsQG9%urq9Kx z`;CO-+%n8ul~Na_)HNlA*Lk1O_w2)UN&G<)|5e0W-fFEP>Y8a?*bS-lvsC&|DdE-X z^~av=_Zy3G=Qqi^4eXw}Ux`p9b#- zlYBvO2iQG(fb~Fn7j7DnYWkVHrYHgR?7<+ZFh(j2Rth+vau1R}R`-yGNYZ#o%26cD9K7dFkC>L@4W&aR zw@7kx6*nb_tJ}`A;bD?oD#>|@jK}NEke~|bTRY+D8!i=QNre$g0Y_Y|Y^NvFUvDKN zMgjpvMoE#mQsho0f<80lk$KPF-z91I>gJ%hThVZyBk5`_JH^kAmK=O5V^EAyoRk76 zxxZ;r^?RfMzGVs4+g1YTXuVNE_r4GC=AMiDfQ3h$FO~3p2|+PdDNO{WzWyieJARbr z{lG`f2jJ7-xIA)Dj03ypZUU>XBZ6~^H&EJ4WW3bD^(JAZ7^Qnu2Rf2=g#}PPmf5k6v0PngTkjoFiA_fSUtb*@Mx4s4SZ$>zQIx&DP>#gbDSQD zsZs*JC<}^*lmzyDrjmTtMCPl7$C*p!3*GIkoy=|aIo3hu{?d(XBbjgA_dDw%b4`6I z+eKzqVF^1(=JL~Jteebtm*lcjWNxp{V4suu@rLW{Jeiv>#MyUbp7^nYT_W?t?eo}W zGIwn`%l;&D^~E#n8kryb^tLSP2zBi9aV*>vmG`$LfpF>qpu-mQ#dQ?YYRYJ|gs5 z%Yz)N9722E_?ly_LgIuD9uXD`I34OF_ z7RPj((2mS3j(Ibo!@FBKron^`Zr{N%y(P4wauCO?mC(LLr#a@JgkFmJI3|;Xj$W(a zm>m*&xoiT*WRKALFDG+M1zc*h#4S`X3zQAffj!lyeMdgbvi5;~1w1t@z?3#|T8I>-%XO!wI3oBdR!t1VSfQ zFObfh(7NGQIJ#s)dk;7~Fs-nuJ8>gyipQYSIxU+SF;|b7EoMwS4lUK0 zTApKuT_+K8qi)R9mqPZ`EN05ixn^_7j6i0;3P%;#BA|FXU8XIW3L==XuUU6F6DAs4Pn8t!iI!tG>a#p zHSEM;T6t-4!i~m?EgQ<1?8VfpPIk%`70_$aN>K?P?P3o6EztVIK?^^!g_*5~?dCXC zUfE(Uv}jZ63koVK%Qb&nRn45*w#BmpHB~kKw#q=DHqcgAxu`NwIm!2INzt@m{UlKZ zjOudScGz+;{O2|JouCV literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel.doctree b/doc/_build/doctrees/forceModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..5e957005949e87cdc6c04c4ea6cb593db05989f3 GIT binary patch literal 11470 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 F{{i!8!x8`h literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_Archimedes.doctree b/doc/_build/doctrees/forceModel_Archimedes.doctree new file mode 100644 index 0000000000000000000000000000000000000000..af9401aa19e70559320031723d9deab9b0d5d538 GIT binary patch literal 11985 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 K?=}Pd7XBMSE||pt literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_DiFeliceDrag.doctree b/doc/_build/doctrees/forceModel_DiFeliceDrag.doctree new file mode 100644 index 0000000000000000000000000000000000000000..96e76ec40dacba01f80c87b1559c9261c715fc9c GIT binary patch literal 17779 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_GidaspowDrag.doctree b/doc/_build/doctrees/forceModel_GidaspowDrag.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0728f7e1dafb6709d89288d13e707e5400689ec8 GIT binary patch literal 20434 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 OjMAZ;o@Rn>-~Rxz1L(#8 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_KochHillDrag.doctree b/doc/_build/doctrees/forceModel_KochHillDrag.doctree new file mode 100644 index 0000000000000000000000000000000000000000..906177c2b70683073b472a55f52287717535d7e2 GIT binary patch literal 19073 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 bkA(R64*eblO@F|zyK#j6$myvz==S{|G`vG4 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_LaEuScalarTemp.doctree b/doc/_build/doctrees/forceModel_LaEuScalarTemp.doctree new file mode 100644 index 0000000000000000000000000000000000000000..291a9c18971da0f04bcafd854e6b467e8cd777bb GIT binary patch literal 18569 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_SchillerNaumannDrag.doctree b/doc/_build/doctrees/forceModel_SchillerNaumannDrag.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8d8d7dbf24993ea3ce5b3178aa7be78a5b83700b GIT binary patch literal 12058 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_ShirgaonkarIB.doctree b/doc/_build/doctrees/forceModel_ShirgaonkarIB.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0cc2eb260a9b3eaef7fa869977b8db1e6602e921 GIT binary patch literal 13823 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_checkCouplingInterval.doctree b/doc/_build/doctrees/forceModel_checkCouplingInterval.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e4ffeb94dfa6f4b61b17021619a96b56804a3a2b GIT binary patch literal 14889 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_noDrag.doctree b/doc/_build/doctrees/forceModel_noDrag.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8d893aafb91c9e74fbd53edda4cc82d4c032e301 GIT binary patch literal 12419 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 L6g^KiAUE}2@415B literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_particleCellVolume.doctree b/doc/_build/doctrees/forceModel_particleCellVolume.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4b7e8b5179e78c3842aeb20ec4b6d281de877875 GIT binary patch literal 11991 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_particleVolume.doctree b/doc/_build/doctrees/forceModel_particleVolume.doctree new file mode 100644 index 0000000000000000000000000000000000000000..b72ba766f7b242bee2b75a42472bdc1f9426dcd4 GIT binary patch literal 10302 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 XMZZNMq~GCJY|Yc}`MFC+yV?H*D*GZn literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_scalarGeneralExchange.doctree b/doc/_build/doctrees/forceModel_scalarGeneralExchange.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e00bb94b851a9d8aeb28f39f62f37417c78a522a GIT binary patch literal 35134 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_virtualMassForce.doctree b/doc/_build/doctrees/forceModel_virtualMassForce.doctree new file mode 100644 index 0000000000000000000000000000000000000000..04e874a4864fa47fc06c78b54c8fa8f8c7f88569 GIT binary patch literal 14421 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/forceModel_viscForce.doctree b/doc/_build/doctrees/forceModel_viscForce.doctree new file mode 100644 index 0000000000000000000000000000000000000000..5e7bedd5b465f9d8557232927beccc5e4798fc0e GIT binary patch literal 15102 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 bm4hL^>Y^QZ2ycKr5d-N2YpnUUOb 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 U3fO+dueEiYF5>5T2HMU11NqV?Z~y=R literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/liggghtsCommandModel_readLiggghtsData.doctree b/doc/_build/doctrees/liggghtsCommandModel_readLiggghtsData.doctree new file mode 100644 index 0000000000000000000000000000000000000000..72fafff80df3f28ca7bd04bd381b7fc4c0f090f3 GIT binary patch literal 14262 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/liggghtsCommandModel_writeLiggghts.doctree b/doc/_build/doctrees/liggghtsCommandModel_writeLiggghts.doctree new file mode 100644 index 0000000000000000000000000000000000000000..95d50e856db7f03ca4705e08728fe5b706ed323e GIT binary patch literal 11651 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/locateModel.doctree b/doc/_build/doctrees/locateModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2cbf730309688ad3bae7d7d74785eb69dc75fd74 GIT binary patch literal 7914 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/locateModel_engineSearch.doctree b/doc/_build/doctrees/locateModel_engineSearch.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c8b2439f73141960b8d422a23082eb13f95e34d7 GIT binary patch literal 9613 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/locateModel_standardSearch.doctree b/doc/_build/doctrees/locateModel_standardSearch.doctree new file mode 100644 index 0000000000000000000000000000000000000000..caa51c2d47cec3dfa09aa31d209ac1a9fffa5db1 GIT binary patch literal 7643 zcmd5>d6*nWbziOaoISLXCEL2kYh;aVcGj{DSZiZrTM`zs*1}SW!DblsOxI4e)YCmx z)xA3lv~7V6D{OO`8*-2nNPq-#kZ>nl3AstaO#&eaB%BG5aQ|L)_iWE-WSl?peSF`1 zJzdv(@AuxTs`p;s+h4Q&S{OL4E_%Mrb&i@1?gcryX3rVfAIY@^HtJao9xOMxmIIL- zER@Fk`uY^tfpThr<9k{T&6oPo=h||3r8I^&kg6%CNuzRPzBE9C&XSg+E2U|A_iI+b z8{p_xbYOY5rEJYDRTKG|-)Nvi=H^R7n5mb&z-q~{`O*klyk#|-F60=WFHNDXxC=UV zx=723M39=CTnX8F9aeSV1OVuJ6`L<;xh|4ZY_e%7%_|MAwN(eT^<}w%P1ZuCfV`sp zP}R7+V4me{Uh|b@P;8uM8>}$!7koeP{D70(Dv+BFuVKTaAIH}6!bo0J5JPOdLpc|V zVb%}TY!)MIEUTC;Vw4RSwQLnRHl0z*Os7(2Ql)GYV{9l<$#yZ$M%oJ5Atu;VqKdIP5RB;*W zV?)pxv?F(meuxmOsL<^_iZ@m0IW-tIC-;=@f{A8@-{7;gy6-uQ*6b|@_a8VCKWAFS z*34DKy~S4CuK8ipb-en_QFilfhi;jLC(gzyInv=L$Bds8l@8?P_n(nhMDnp!HXK-W zvVxppg9eE#vYZvbL#tr`3(rRK$^u(UM%r6uBUP(*T9G?kg@zqAX{nZ1m)UU5wY0|j zHDxv!_dX820InSLKE5oUPyl?0>2i5(X$t_JUq&`;M47o#?qhv{oU_=F;{hU<*PRW? z@_4%*{xgzpI{8G=FD@yE)o#7Q)#@C3@&;Jv#z;P?AYc*!Q;34NLd>wCc!Io10O-vH zv9~O)DvPVj;+nF6{DZ*i*zy*!FBI1w?ic4{qq*77Ik_Kv4n*=`2OqYXx0;wy0W}U^ zsBybeU9K3lKRJRF!^wJiD~WNakO%-t_Lk*S3Syhs$03e9EOHhJGC+c`i+WOpxVJ^} zh}b7?)KH0>KgZXwuU&ZA?GW{7B%caVGe=7=mq||vc?UFiAko~QAtR5G#K$`%hNNvF zNdnewl;gYwlbm?8T%QJKEk*L_5LA!^N5iTWRt2g0&Pd*ssyY!&7#%*NLn2ug+bvSy zGsT!u;BaC|St$t8!^ucmqz5`UkHrUP6`byju?hpS)

*(PL*6WP@qGA~53PBIgv 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 LHT~acfp77rdcN?o literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/meshMotionModel.doctree b/doc/_build/doctrees/meshMotionModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c50b212b0c0c13fef8eb1c45de941946753f08f0 GIT binary patch literal 7851 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/momCoupleModel_implicitCouple.doctree b/doc/_build/doctrees/momCoupleModel_implicitCouple.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3d3c14097b6b21a5a7e3f8f8248d996b2a67f99b GIT binary patch literal 10658 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/probeModel.doctree b/doc/_build/doctrees/probeModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..10a622cd5ca62368fc5a92a0398a7971307239e7 GIT binary patch literal 9043 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 A+W-In literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/regionModel.doctree b/doc/_build/doctrees/regionModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f856d40ef272eaf7386d832c727a49c794b405f0 GIT binary patch literal 7909 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/scalarTransportModel.doctree b/doc/_build/doctrees/scalarTransportModel.doctree new file mode 100644 index 0000000000000000000000000000000000000000..80e6a144233350e19d0038921c92a5834f2cfa36 GIT binary patch literal 17186 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/smoothingModel_constDiffSmoothing.doctree b/doc/_build/doctrees/smoothingModel_constDiffSmoothing.doctree new file mode 100644 index 0000000000000000000000000000000000000000..34d50ed5a7de4829ac2a92423ec394968fd94596 GIT binary patch literal 13458 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 WlTZlgWc*s&M(7lN?lRDB`hNh_^rQ*^ literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/voidFractionModel_IBVoidFraction.doctree b/doc/_build/doctrees/voidFractionModel_IBVoidFraction.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7c4fd03fab66c2f57f16c2179e6fc6c878c82b60 GIT binary patch literal 12653 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 b-3IY17WyU{5q%3!v8PDi=Jz!Q=FR^cKWL9l literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/voidFractionModel_dividedVoidFraction.doctree b/doc/_build/doctrees/voidFractionModel_dividedVoidFraction.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ca4e7b1990c71a15f8f194b532a974e1e1eeb5dd GIT binary patch literal 14888 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 I1MO!22Qs1ve*gdg literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/voidFractionModel_noVoidFraction.doctree b/doc/_build/doctrees/voidFractionModel_noVoidFraction.doctree new file mode 100644 index 0000000000000000000000000000000000000000..9ba1adae6d9005859357b34d853fbd904a04ccb7 GIT binary patch literal 7597 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 literal 0 HcmV?d00001 diff --git a/doc/_build/doctrees/voidFractionModel_trilinearVoidFraction.doctree b/doc/_build/doctrees/voidFractionModel_trilinearVoidFraction.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6b0d63ff008dd377d5db52b6c18aecc16ac9fa41 GIT binary patch literal 9419 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 a2=Qkb^eKGA^l3chp%Q(De{Z(1Zs9xk^-|ve literal 0 HcmV?d00001 diff --git a/doc/_build/html/.buildinfo b/doc/_build/html/.buildinfo new file mode 100644 index 0000000..7144bb4 --- /dev/null +++ b/doc/_build/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 3caf5141115bcddaf056fb58ef355acd +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/doc/_build/html/CFDEMcoupling_Manual.html b/doc/_build/html/CFDEMcoupling_Manual.html new file mode 100644 index 0000000..eeafe69 --- /dev/null +++ b/doc/_build/html/CFDEMcoupling_Manual.html @@ -0,0 +1,451 @@ + + + + + + + + + + + CFDEMcoupling Documentation — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • CFDEMcoupling Documentation
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

CFDEMcoupling Documentation¶

+
+_images/Portfolio_CFDEMcoupling.png +
+
+

Contents¶

+

The CFDEMcoupling documentation is organized into the following sections. If you find any errors or omissions in this manual or have suggestions for useful information to add, please send an email to the developers so the CFDEMcoupling documentation can be improved.

+ +
+
+

About CFDEMcoupling¶

+

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 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 CFDEMproject WWW Site . +The functionality of this CFD-DEM framework 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

+

This documentation was written by Christoph Goniva, DCS Computing GmbH, 2012

+
+

(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.

+
+
+
+

Installation¶

+

Please follow the installation routine provided at www.cfdem.com. +In order to get the latest code version, please use the git repository at http://github.com (githubAccess).

+
+
+
+

Tutorials¶

+

General:

+

Each solver of the CFDEMcoupling comes with at least one tutorial example, showing its functionality and correct usage. Provided that the installation is correct, the tutorials can be run via “Allrun.sh” shell scripts. These scripts perform all necessary steps (preprocessing, run, postprocessing, visualization).

+

Location:

+

The tutorials can be found in the directory $CFDEM_PROJECT_DIR/tutorials, which can be reached by typing “cfdemTut”

+

Structure:

+

Each case is structured in a directory called “CFD” covering the CFD relevant settings and data, and a dirctory called “DEM” covering the DEM relevant settings and data. This allows to easily expand a pure CFD or DEM simulation case to a coupled case.

+

Usage:

+

Provided that the installation is correct, the tutorials can be run via “Allrun.sh” shell script, executed by typing ”./Allrun.sh”. The successful run of the script might need some third party software (e.g. octave, evince, etc.).

+

Settings:

+

The main settings of a simulation are done via dictionaries:

+

The DEM setup of each case is defined by a LIGGGHTS input file located in $caseDir/DEM (e.g. in.liggghts_init). For details on the LIGGGHTS setup, please have a look at the LIGGGHTS manual.

+

Standard CFD settings are defined in $caseDir/CFD/constant (e.g. transportProperties, RASproperties, etc.) and $caseDir/CFD/system (e.g. fvSchemes, controlDict). You can find more information on that in OpenFOAM(R)(*) documentations (www.openFoam.com)(*).

+

Settings of the coupling routines are defined in $caseDir/CFD/constant/couplingProperies (e.g. force models, data exchange model, etc.) and $caseDir/CFD/constant/liggghtsCommands (allows to execute a LIGGGHTS command during a coupled simulation).

+
+
+
+

“couplingProperties” dictionary¶

+

General:

+

In the “couplingProperties” dictionary the setup of the coupling routines of the CFD-DEM simulation are defined.

+

Location: $caseDir/CFD/constant

+

Structure:

+

The dictionary is divided into two parts, “sub-models & settings” and “sub-model properties”.

+

In “sub-models & settings” the following routines must be specified:

+
    +
  • modelType
  • +
  • couplingInterval
  • +
  • voidFractionModel
  • +
  • locateModel
  • +
  • meshMotionModel
  • +
  • regionModel
  • +
  • IOModel
  • +
  • dataExchangeModel
  • +
  • averagingModel
  • +
  • forceModels
  • +
  • momCoupleModels
  • +
  • turbulenceModelType
  • +
+

In “sub-model properties” sub-dictionaries might be defined to specify model specific parameters.

+

Settings:

+

Reasonable example settings for the “couplingProperties” dictionary are given in the tutorial cases.

+
modelType
+
+
+

“modelType” refers to the formulation of the equations to be solved. Choose “A”, “B” or “Bfull”, according to Zhou et al. (2010): “Discrete particle simulation of particle-fluid flow: model formulations and their applicability”, JFM. “A” requires the use of the force models gradPForce and viscForce, whereas “B” requires the force model “Archimedes”. “Bfull” refers to model type I.

+
couplingInterval
+
+
+

The coupling interval determines the time passing between two CFD-DEM data exchanges.

+

A useful procedure would be: +1) Set the DEM timestep in the in.xxx file according to the needs of the pure DEM problem. +2) Set the “couplingInterval”, which refers to the DEM timesteps. Depending on the problem you will need to have a close (small couplingInterval) or loose coupling. +3) Choose the CFD timestep in the controlDict. It must be equal to or smaller than the coupling time, otherwise you will get the error: “Error - TS bigger than coupling interval!”.

+

Example: DEMts=0.00001s, couplingInterval=10 exchange data (=couple) will happen every 0.0001s.

+
+
+
+

“liggghtsCommands” dictionary¶

+

General:

+

In the “liggghtsCommands” dictionary liggghts commands being executed during a coupled CFD-DEM simulation are specified.

+

Location: $caseDir/CFD/constant

+

Structure:

+

The dictionary is divided into two parts, first a list of “liggghtsCommandModels” is defined, then the settings for each model must be specified.

+

Settings:

+

Reasonable example settings for the “liggghtsCommands” dictionary are given in the tutorial cases.

+
+
+
+

Models/Solvers¶

+

This section lists all CFDEMcoupling sub-models and solvers alphabetically, with a separate +listing below of styles within certain commands.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IOModelIOModel_basicIO
IOModel_noIOIOModel_sophIO
IOModel_trackIOaveragingModel
averagingModel_denseaveragingModel_dilute
cfdemSolverIBcfdemSolverPiso
cfdemSolverPisoScalarclockModel
clockModel_noClockclockModel_standardClock
dataExchangeModeldataExchangeModel_noDataExchange
dataExchangeModel_oneWayVTKdataExchangeModel_twoWayFiles
dataExchangeModel_twoWayMPIforceModel
forceModel_ArchimedesforceModel_ArchimedesIB
forceModel_DiFeliceDragforceModel_GidaspowDrag
forceModel_KochHillDragforceModel_LaEuScalarTemp
forceModel_MeiLiftforceModel_SchillerNaumannDrag
forceModel_ShirgaonkarIBforceModel_checkCouplingInterval
forceModel_fieldStoreforceModel_fieldTimeAverage
forceModel_gradPForceforceModel_noDrag
forceModel_particleCellVolumeforceModel_particleVolume
forceModel_scalarGeneralExchangeforceModel_virtualMassForce
forceModel_viscForceforceModel_volWeightedAverage
forceSubModelforceSubModel_ImEx
liggghtsCommandModelliggghtsCommandModel_execute
liggghtsCommandModel_readLiggghtsDataliggghtsCommandModel_runLiggghts
liggghtsCommandModel_setDEMGravityliggghtsCommandModel_writeLiggghts
locateModellocateModel_engineSearch
locateModel_engineSearchIBlocateModel_standardSearch
meshMotionModelmeshMotionModel_noMeshMotion
momCoupleModelmomCoupleModel_explicitCouple
momCoupleModel_implicitCouplemomCoupleModel_noCouple
probeModelprobeModel_noProbe
probeModel_particleProberegionModel
regionModel_allRegionscalarTransportModel
smoothingModelsmoothingModel_constDiffSmoothing
smoothingModel_noSmoothingvoidfractionModel
voidfractionModel_GaussVoidFractionvoidfractionModel_IBVoidFraction
voidfractionModel_bigParticleVoidFractionvoidfractionModel_centreVoidFraction
voidfractionModel_dividedVoidFractionvoidfractionModel_noVoidFractionVoidFraction
voidfractionModel_trilinearVoidFraction 
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/IOModel.html b/doc/_build/html/IOModel.html new file mode 100644 index 0000000..3d8be17 --- /dev/null +++ b/doc/_build/html/IOModel.html @@ -0,0 +1,229 @@ + + + + + + + + + + + IOModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+ +
+ +
+
+
+ +
+

IOModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
IOModel "model";
+
+
+
    +
  • model = name of IO-model to be applied
  • +
+
+
+

Examples¶

+

IOModel “off”;

+

Note: This examples list might not be complete - please look for other models (IOModel_XY) in this documentation.

+
+
+

Description¶

+

The IO-model is the base class to write data (e.g. particle properties) to files.

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/IOModel_basicIO.html b/doc/_build/html/IOModel_basicIO.html new file mode 100644 index 0000000..befb94d --- /dev/null +++ b/doc/_build/html/IOModel_basicIO.html @@ -0,0 +1,227 @@ + + + + + + + + + + + IOModel_basicIO command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • IOModel_basicIO command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

IOModel_basicIO command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
IOModel "basicIO";
+
+
+
+
+

Examples¶

+
IOModel "basicIO";
+
+
+
+
+

Description¶

+

The basic IO-model writes particle positions velocities and radii to files. The default output directory ($casePath/CFD/proc*/time/lagrangian). Using the keyword “serialOutput;” in couplingProperties the IO is serial to the directory ($casePath/CFD/lagrangian). In the latter case only the data on processor 0 is written! Data is written every write time of the CFD simulation.

+
+
+

Restrictions¶

+
+
None.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/IOModel_noIO.html b/doc/_build/html/IOModel_noIO.html new file mode 100644 index 0000000..1da88df --- /dev/null +++ b/doc/_build/html/IOModel_noIO.html @@ -0,0 +1,227 @@ + + + + + + + + + + + IOModel_noIO command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • IOModel_noIO command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

IOModel_noIO command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
IOModel "off";
+
+
+
+
+

Examples¶

+
IOModel "off";
+
+
+
+
+

Description¶

+

The noIO-model is a dummy IO model.

+
+
+

Restrictions¶

+
+
None.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/IOModel_sophIO.html b/doc/_build/html/IOModel_sophIO.html new file mode 100644 index 0000000..942996c --- /dev/null +++ b/doc/_build/html/IOModel_sophIO.html @@ -0,0 +1,227 @@ + + + + + + + + + + + IOModel_sophIO command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • IOModel_sophIO command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

IOModel_sophIO command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
IOModel "sophIO";
+
+
+
+
+

Examples¶

+
IOModel "sophIO";
+
+
+
+
+

Description¶

+

The sophIO-model is based on basicIO model and additionally writes voidfraction, implicit forces, explicit forces. Data is written every write time of the CFD simulation.

+
+
+

Restrictions¶

+
+
None.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/IOModel_trackIO.html b/doc/_build/html/IOModel_trackIO.html new file mode 100644 index 0000000..113807b --- /dev/null +++ b/doc/_build/html/IOModel_trackIO.html @@ -0,0 +1,227 @@ + + + + + + + + + + + IOModel_trackIO command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • IOModel_trackIO command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

IOModel_trackIO command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
IOModel "trackIO";
+
+
+
+
+

Examples¶

+
IOModel "trackIO";
+
+
+
+
+

Description¶

+

The trackIO-model is based on sophIO model and additionally writes fields necessary to use the particleTracks utility (which needs a particleTrackProperties file in the constant dir). The particleTracks utility generates tracks of the particles and writes them to a vtk file.

+
+
+

Restrictions¶

+
+
None.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/Portfolio_CFDEMcoupling.png b/doc/_build/html/_images/Portfolio_CFDEMcoupling.png old mode 100755 new mode 100644 similarity index 100% rename from doc/Portfolio_CFDEMcoupling.png rename to doc/_build/html/_images/Portfolio_CFDEMcoupling.png diff --git a/doc/_build/html/_sources/CFDEMcoupling_Manual.txt b/doc/_build/html/_sources/CFDEMcoupling_Manual.txt new file mode 100644 index 0000000..a865658 --- /dev/null +++ b/doc/_build/html/_sources/CFDEMcoupling_Manual.txt @@ -0,0 +1,314 @@ +CFDEMcoupling Documentation +*************************** + + +---------- + + +.. image:: Portfolio_CFDEMcoupling.png + :align: center + + +---------- + + +.. _lws: http://www.cfdem.com + + + +.. _lc: CFDEMcoupling_Manual.html#comm + + + +.. _of: http://www.openfoam.com + + + +.. _lig: http://www.cfdem.com + + + +Contents +======== + +The CFDEMcoupling documentation is organized into the following sections. If you find any errors or omissions in this manual or have suggestions for useful information to add, please send an email to the developers so the CFDEMcoupling documentation can be improved. + +| 1.1 :ref:`About CFDEMcoupling <1_1>` +| 1.2 :ref:`Installation <1_2>` +| 1.3 :ref:`Tutorials <1_3>` +| 1.4 :ref:`couplingProperties dictionary <1_4>` +| 1.5 :ref:`liggghtsCommands dictionary <1_5>` +| 1.6 :ref:`Models and solvers ` +| + + +---------- + + +.. _1_1: + +About CFDEMcoupling +------------------- + +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 `_ 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 `CFDEMproject WWW Site `_ . +The functionality of this CFD-DEM framework is described via :ref:`tutorial cases <_1_2>` 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 + +This documentation was written by Christoph Goniva, DCS Computing GmbH, 2012 + + +---------- + + +(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. + + +---------- + + +.. _1_2: + +Installation +------------ + +Please follow the installation routine provided at www.cfdem.com. +In order to get the latest code version, please use the git repository at http://github.com (:doc:`githubAccess `). + + +---------- + + +.. _1_3: + +Tutorials +--------- + +**General:** + +Each solver of the CFDEMcoupling comes with at least one tutorial example, showing its functionality and correct usage. Provided that the installation is correct, the tutorials can be run via "Allrun.sh" shell scripts. These scripts perform all necessary steps (preprocessing, run, postprocessing, visualization). + +**Location:** + +The tutorials can be found in the directory $CFDEM_PROJECT_DIR/tutorials, which can be reached by typing "cfdemTut" + +**Structure:** + +Each case is structured in a directory called "CFD" covering the CFD relevant settings and data, and a dirctory called "DEM" covering the DEM relevant settings and data. This allows to easily expand a pure CFD or DEM simulation case to a coupled case. + +**Usage:** + +Provided that the installation is correct, the tutorials can be run via "Allrun.sh" shell script, executed by typing "./Allrun.sh". The successful run of the script might need some third party software (e.g. octave, evince, etc.). + +**Settings:** + +The main settings of a simulation are done via dictionaries: + +The DEM setup of each case is defined by a `LIGGGHTS `_ input file located in $caseDir/DEM (e.g. in.liggghts_init). For details on the `LIGGGHTS `_ setup, please have a look at the `LIGGGHTS `_ manual. + +Standard CFD settings are defined in $caseDir/CFD/constant (e.g. transportProperties, RASproperties, etc.) and $caseDir/CFD/system (e.g. fvSchemes, controlDict). You can find more information on that in `OpenFOAM(R)(*) `_ documentations (www.openFoam.com)(*). + +Settings of the coupling routines are defined in $caseDir/CFD/constant/:ref:`couplingProperies <1_3>` (e.g. force models, data exchange model, etc.) and $caseDir/CFD/constant/:ref:`liggghtsCommands <1_3>` (allows to execute a LIGGGHTS command during a coupled simulation). + + +---------- + + +.. _1_4: + +"couplingProperties" dictionary +------------------------------- + +**General:** + +In the "couplingProperties" dictionary the setup of the coupling routines of the CFD-DEM simulation are defined. + +**Location:** $caseDir/CFD/constant + +**Structure:** + +The dictionary is divided into two parts, "sub-models & settings" and "sub-model properties". + +In "sub-models & settings" the following routines must be specified: + +* modelType +* couplingInterval +* voidFractionModel +* locateModel +* meshMotionModel +* regionModel +* IOModel +* dataExchangeModel +* averagingModel +* forceModels +* momCoupleModels +* turbulenceModelType + + +In "sub-model properties" sub-dictionaries might be defined to specify model specific parameters. + +**Settings:** + +Reasonable example settings for the "couplingProperties" dictionary are given in the tutorial cases. + +.. parsed-literal:: + + modelType + +"modelType" refers to the formulation of the equations to be solved. Choose "A", "B" or "Bfull", according to Zhou et al. (2010): "Discrete particle simulation of particle-fluid flow: model formulations and their applicability", JFM. "A" requires the use of the force models gradPForce and viscForce, whereas "B" requires the force model "Archimedes". "Bfull" refers to model type I. + +.. parsed-literal:: + + couplingInterval + +The coupling interval determines the time passing between two CFD-DEM data exchanges. + +A useful procedure would be: +1) Set the DEM timestep in the in.xxx file according to the needs of the pure DEM problem. +2) Set the "couplingInterval", which refers to the DEM timesteps. Depending on the problem you will need to have a close (small couplingInterval) or loose coupling. +3) Choose the CFD timestep in the controlDict. It must be equal to or smaller than the coupling time, otherwise you will get the error: "Error - TS bigger than coupling interval!". + +Example: DEMts=0.00001s, couplingInterval=10 exchange data (=couple) will happen every 0.0001s. + + +---------- + + +.. _1_5: + +"liggghtsCommands" dictionary +--------------------------------------- + +**General:** + +In the "liggghtsCommands" dictionary liggghts commands being executed during a coupled CFD-DEM simulation are specified. + +**Location:** $caseDir/CFD/constant + +**Structure:** + +The dictionary is divided into two parts, first a list of "liggghtsCommandModels" is defined, then the settings for each model must be specified. + +**Settings:** + +Reasonable example settings for the "liggghtsCommands" dictionary are given in the tutorial cases. + + +---------- + + +.. _cmd_5: + +.. _comm: + +Models/Solvers +------------------------------------- + +This section lists all CFDEMcoupling sub-models and solvers alphabetically, with a separate +listing below of styles within certain commands. + ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`IOModel ` | :doc:`IOModel_basicIO ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`IOModel_noIO ` | :doc:`IOModel_sophIO ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`IOModel_trackIO ` | :doc:`averagingModel ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`averagingModel_dense ` | :doc:`averagingModel_dilute ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`cfdemSolverIB ` | :doc:`cfdemSolverPiso ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`cfdemSolverPisoScalar ` | :doc:`clockModel ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`clockModel_noClock ` | :doc:`clockModel_standardClock ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`dataExchangeModel ` | :doc:`dataExchangeModel_noDataExchange ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`dataExchangeModel_oneWayVTK ` | :doc:`dataExchangeModel_twoWayFiles ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`dataExchangeModel_twoWayMPI ` | :doc:`forceModel ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_Archimedes ` | :doc:`forceModel_ArchimedesIB ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_DiFeliceDrag ` | :doc:`forceModel_GidaspowDrag ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_KochHillDrag ` | :doc:`forceModel_LaEuScalarTemp ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_MeiLift ` | :doc:`forceModel_SchillerNaumannDrag ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_ShirgaonkarIB ` | :doc:`forceModel_checkCouplingInterval ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_fieldStore ` | :doc:`forceModel_fieldTimeAverage ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_gradPForce ` | :doc:`forceModel_noDrag ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_particleCellVolume ` | :doc:`forceModel_particleVolume ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_scalarGeneralExchange ` | :doc:`forceModel_virtualMassForce ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceModel_viscForce ` | :doc:`forceModel_volWeightedAverage ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`forceSubModel ` | :doc:`forceSubModel_ImEx ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`liggghtsCommandModel ` | :doc:`liggghtsCommandModel_execute ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`liggghtsCommandModel_readLiggghtsData ` | :doc:`liggghtsCommandModel_runLiggghts ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`liggghtsCommandModel_setDEMGravity ` | :doc:`liggghtsCommandModel_writeLiggghts ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`locateModel ` | :doc:`locateModel_engineSearch ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`locateModel_engineSearchIB ` | :doc:`locateModel_standardSearch ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`meshMotionModel ` | :doc:`meshMotionModel_noMeshMotion ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`momCoupleModel ` | :doc:`momCoupleModel_explicitCouple ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`momCoupleModel_implicitCouple ` | :doc:`momCoupleModel_noCouple ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`probeModel ` | :doc:`probeModel_noProbe ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`probeModel_particleProbe ` | :doc:`regionModel ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`regionModel_allRegion ` | :doc:`scalarTransportModel ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`smoothingModel ` | :doc:`smoothingModel_constDiffSmoothing ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`smoothingModel_noSmoothing ` | :doc:`voidfractionModel ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`voidfractionModel_GaussVoidFraction ` | :doc:`voidfractionModel_IBVoidFraction ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`voidfractionModel_bigParticleVoidFraction ` | :doc:`voidfractionModel_centreVoidFraction ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`voidfractionModel_dividedVoidFraction ` | :doc:`voidfractionModel_noVoidFractionVoidFraction ` | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| :doc:`voidfractionModel_trilinearVoidFraction ` | | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/IOModel.txt b/doc/_build/html/_sources/IOModel.txt new file mode 100644 index 0000000..72b5a22 --- /dev/null +++ b/doc/_build/html/_sources/IOModel.txt @@ -0,0 +1,45 @@ +.. index:: IOModel + +IOModel command +=============== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + IOModel "model"; + +* model = name of IO-model to be applied + +Examples +"""""""" + +IOModel "off"; + +Note: This examples list might not be complete - please look for other models (IOModel_XY) in this documentation. + +Description +""""""""""" + +The IO-model is the base class to write data (e.g. particle properties) to files. + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +Note: This examples list may be incomplete - please look for other models (IOModel_XY) in this documentation. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/IOModel_basicIO.txt b/doc/_build/html/_sources/IOModel_basicIO.txt new file mode 100644 index 0000000..3a72680 --- /dev/null +++ b/doc/_build/html/_sources/IOModel_basicIO.txt @@ -0,0 +1,39 @@ +.. index:: IOModel_basicIO + +IOModel_basicIO command +======================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + IOModel "basicIO"; + +Examples +"""""""" + +.. parsed-literal:: + + IOModel "basicIO"; + +Description +""""""""""" + +The basic IO-model writes particle positions velocities and radii to files. The default output directory ($casePath/CFD/proc*/time/lagrangian). Using the keyword "serialOutput;" in couplingProperties the IO is serial to the directory ($casePath/CFD/lagrangian). In the latter case only the data on processor 0 is written! Data is written every write time of the CFD simulation. + +Restrictions +"""""""""""" + None. + +Related commands +"""""""""""""""" + +:doc:`IOModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/IOModel_noIO.txt b/doc/_build/html/_sources/IOModel_noIO.txt new file mode 100644 index 0000000..953b2cb --- /dev/null +++ b/doc/_build/html/_sources/IOModel_noIO.txt @@ -0,0 +1,39 @@ +.. index:: IOModel_noIO + +IOModel_noIO command +==================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + IOModel "off"; + +Examples +"""""""" + +.. parsed-literal:: + + IOModel "off"; + +Description +""""""""""" + +The noIO-model is a dummy IO model. + +Restrictions +"""""""""""" + None. + +Related commands +"""""""""""""""" + +:doc:`IOModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/IOModel_sophIO.txt b/doc/_build/html/_sources/IOModel_sophIO.txt new file mode 100644 index 0000000..17443f1 --- /dev/null +++ b/doc/_build/html/_sources/IOModel_sophIO.txt @@ -0,0 +1,39 @@ +.. index:: IOModel_sophIO + +IOModel_sophIO command +====================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + IOModel "sophIO"; + +Examples +"""""""" + +.. parsed-literal:: + + IOModel "sophIO"; + +Description +""""""""""" + +The sophIO-model is based on basicIO model and additionally writes voidfraction, implicit forces, explicit forces. Data is written every write time of the CFD simulation. + +Restrictions +"""""""""""" + None. + +Related commands +"""""""""""""""" + +:doc:`IOModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/IOModel_trackIO.txt b/doc/_build/html/_sources/IOModel_trackIO.txt new file mode 100644 index 0000000..122a333 --- /dev/null +++ b/doc/_build/html/_sources/IOModel_trackIO.txt @@ -0,0 +1,39 @@ +.. index:: IOModel_trackIO + +IOModel_trackIO command +======================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + IOModel "trackIO"; + +Examples +"""""""" + +.. parsed-literal:: + + IOModel "trackIO"; + +Description +""""""""""" + +The trackIO-model is based on sophIO model and additionally writes fields necessary to use the particleTracks utility (which needs a particleTrackProperties file in the constant dir). The particleTracks utility generates tracks of the particles and writes them to a vtk file. + +Restrictions +"""""""""""" + None. + +Related commands +"""""""""""""""" + +:doc:`IOModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/averagingModel.txt b/doc/_build/html/_sources/averagingModel.txt new file mode 100644 index 0000000..43df6a3 --- /dev/null +++ b/doc/_build/html/_sources/averagingModel.txt @@ -0,0 +1,48 @@ +.. index:: averagingModel + +averagingModel command +====================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + averagingModel model; + +* model = name of averaging model to be applied + +Examples +"""""""" + +.. parsed-literal:: + + averagingModel dense; + averagingModel dilute; + +Note: This examples list might not be complete - please have a look for other averaging models (averagingModel_XY) in this documentation. + +Description +""""""""""" + +The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). + +Restrictions +"""""""""""" + + +None. + +Related commands +"""""""""""""""" + +:doc:`dense `, :doc:`dilute ` + +**Default:** none + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/averagingModel_dense.txt b/doc/_build/html/_sources/averagingModel_dense.txt new file mode 100644 index 0000000..edd9a42 --- /dev/null +++ b/doc/_build/html/_sources/averagingModel_dense.txt @@ -0,0 +1,41 @@ +.. index:: averagingModel_dense + +averagingModel_dense command +============================ + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + averagingModel dense; + +Examples +"""""""" + +.. parsed-literal:: + + averagingModel dense; + +Description +""""""""""" + +The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). In the "cfdemParticle cloud" this averaging model is used to calculate the average particle velocity inside a CFD cell. The "dense" model is supposed to be applied to cases where the granular regime is rather dense. + +Restrictions +"""""""""""" + + +No known restrictions. + +Related commands +"""""""""""""""" + +:doc:`averagingModel `, :doc:`dilute ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/averagingModel_dilute.txt b/doc/_build/html/_sources/averagingModel_dilute.txt new file mode 100644 index 0000000..5ae7c3b --- /dev/null +++ b/doc/_build/html/_sources/averagingModel_dilute.txt @@ -0,0 +1,42 @@ +.. index:: averagingModel_dilute + +averagingModel_dilute command +============================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + averagingModel dilute; + +Examples +"""""""" + +.. parsed-literal:: + + averagingModel dilute; + +Description +""""""""""" + +The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). +In the "cfdemParticle cloud" this averaging model is used to calculate the average particle velocity inside a CFD cell. The "dilute" model is supposed to be applied to cases where the granular regime is rather dilute. The particle velocity inside a CFD cell is evaluated from a single particle in a cell (no averaging). + +Restrictions +"""""""""""" + + +This model is computationally efficient, but should only be used when only one particle is inside one CFD cell. + +Related commands +"""""""""""""""" + +:doc:`averagingModel `, :doc:`dense ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/cfdemSolverIB.txt b/doc/_build/html/_sources/cfdemSolverIB.txt new file mode 100644 index 0000000..30ee3cc --- /dev/null +++ b/doc/_build/html/_sources/cfdemSolverIB.txt @@ -0,0 +1,51 @@ +.. index:: cfdemSolverIB + +cfdemSolverIB command +===================== + +Description +""""""""""" + +"cfdemSolverIB" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework, for calculating +the dynamics between immersed bodies and the surrounding fluid. Being an implementation of an immersed boundary method it allows tackling problems where the body diameter exceeds the maximal size of a fluid cell. Using the toolbox of OpenFOAM(R)(*) the governing equations of the fluid are computed and the corrections of velocity and pressure field with respect to the body-movement information, gained from LIGGGHTS, are incorporated. + +Code of this solver contributions by Alice Hager, JKU. + +**Algorithm:** + +For each time step ... + +* the motion of the spheres is calculated (position, velocity, angular velocity, force...) with LIGGGHTS using the velocity and pressure-field from the previous time step (initial condition for t=0). +* the Navier-Stokes equations are solved on the whole computational domain, disregarding the solid phase. +* the spheres are located within the mesh: each sphere is represented by a cluster of cells, which are either totally or partially covered by the body, depending on its exact position. +* the correction of the velocity and pressure field of the fluid phase takes place, using the information about the location of the spheres and their (angular) velocity. + + +**Use:** + +The solver is realized within the Open Source framework CFDEMcoupling. Just as for the unresolved CFD-DEM solver cfdemSolverPiso the file CFD/constant/couplingProperties contains information about the settings for the different models. While IOmodel, DataExchangeModel etc. are applicable for all CFDEMcoupling-solvers, special locate-, force- and void fraction models were designed for the present case: + +:doc:`engineSearchIB `, :doc:`ArchimedesIB `, :doc:`ShirgaonkarIB `, :doc:`IBVoidfraction ` + +**References:** + +GONIVA, C., KLOSS, C., HAGER,A., WIERINK, G. and PIRKER, S. (2011): "A MULTI-PURPOSE OPEN SOURCE CFD-DEM APPROACH", Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway + +and + +HAGER, A., KLOSS, C. and GONIVA, C. (2011): "TOWARDS AN EFFICIENT IMMERSED BOUNDARY METHOD WITHIN AN OPEN SOURCE FRAMEWORK", Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway + + +---------- + + +(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. + + +---------- + + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/cfdemSolverPiso.txt b/doc/_build/html/_sources/cfdemSolverPiso.txt new file mode 100644 index 0000000..a610f1c --- /dev/null +++ b/doc/_build/html/_sources/cfdemSolverPiso.txt @@ -0,0 +1,28 @@ +.. index:: cfdemSolverPiso + +cfdemSolverPiso command +======================= + +Description +""""""""""" + +"cfdemSolverPiso" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam(R)(*), a finite volume based solver for turbulent Navier-Stokes equations applying the PISO algorithm, "cfdemSolverPiso" has additional functionality for a coupling to the DEM code "LIGGGHTS". The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles whose trajectories are calculated in the DEM code LIGGGHTS. + +see: + +GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): "An Open Source CFD-DEM Perspective", Proc. of OpenFOAM Workshop, Göteborg, June 22.-24. + + +---------- + + +(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. + + +---------- + + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/cfdemSolverPisoScalar.txt b/doc/_build/html/_sources/cfdemSolverPisoScalar.txt new file mode 100644 index 0000000..b7e5bd3 --- /dev/null +++ b/doc/_build/html/_sources/cfdemSolverPisoScalar.txt @@ -0,0 +1,30 @@ +.. index:: cfdemSolverPisoScalar + +cfdemSolverPisoScalar command +============================= + +Description +""""""""""" + +"cfdemSolverPisoScalar" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam(R)(*), a finite volume based solver for turbulent Navier-Stokes equations applying PISO algorithm, "cfdemSolverPisoScalar" has additional functionality for a coupling to the DEM code "LIGGGHTS" as well as a scalar transport equation. The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles, whose trajectories are calculated in the DEM code LIGGGHTS. The scalar transport equation is coupled to scalar properties of the particle phase, thus convective heat transfer in a fluid granular system can be modeled with "cfdemSolverPisoScalar". + +see: + +GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): "An Open Source CFD-DEM Perspective", Proc. of OpenFOAM Workshop, Göteborg, June 22.-24. + +The heat transfer equation is implemented according to Nield & Bejan (2013), Convection in Porous Media, DOI 10.1007/978-1-4614-5541-7_2, Springer + + +---------- + + +(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. + + +---------- + + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/clockModel.txt b/doc/_build/html/_sources/clockModel.txt new file mode 100644 index 0000000..d6932a9 --- /dev/null +++ b/doc/_build/html/_sources/clockModel.txt @@ -0,0 +1,42 @@ +.. index:: clockModel + +clockModel command +================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + clockModel model; + +* model = name of the clockModel to be applied + +Examples +"""""""" + +.. parsed-literal:: + + clockModel standardClock; + +Note: This examples list might not be complete - please look for other models (clockModel_XY) in this documentation. + +Description +""""""""""" + +The clockModel is the base class for models to examine the code/algorithm with respect to run time. + +Main parts of the clockModel classes are written by Josef Kerbl, JKU. + +Restrictions +"""""""""""" + none. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/clockModel_noClock.txt b/doc/_build/html/_sources/clockModel_noClock.txt new file mode 100644 index 0000000..0966a47 --- /dev/null +++ b/doc/_build/html/_sources/clockModel_noClock.txt @@ -0,0 +1,39 @@ +.. index:: clockModel_noClock + +clockModel_noClock command +========================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + clockModel off; + +Examples +"""""""" + +.. parsed-literal:: + + clockModel off; + +Description +""""""""""" + +The "noClock" model is a dummy clockModel model which does not measure/evaluate the run time. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`clockModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/clockModel_standardClock.txt b/doc/_build/html/_sources/clockModel_standardClock.txt new file mode 100644 index 0000000..bafe86e --- /dev/null +++ b/doc/_build/html/_sources/clockModel_standardClock.txt @@ -0,0 +1,41 @@ +.. index:: clockModel_standardClock + +clockModel_standardClock command +================================ + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + clockModel standardClock; + +Examples +"""""""" + +.. parsed-literal:: + + clockModel standardClock; + +Description +""""""""""" + +The "standardClock" model is a basic clockModel model which measures the run time between every ".start(int arrayPos,string name)" and ".stop(string name)" statement placed in the code. If a ".start(name)" is called more than once (e.g. in a loop) the accumulated times are calculated. After the simulation has finished, the data is stored in $caseDir/CFD/clockData/$startTime/*.txt . +Since the measurements are stored in an array, it is necessary to put a variable *arrayPos* (type integer) at the start command. Those do not need to be in ascending order and positions may be omitted. The standard size of this array is 30 and can be changed at the initialization of the standardClock class. If *arrayPos* is out of bounds, the array size will be doubled. The stop command does not need *arrayPos*, since the class remembers the positions. The string name is intended for easier evaluation afterwards an may be omitted like ".start(int arrayPos)" and ".stop()". The command ".stop(string name)" is a safety feature, because if the name is not equal to the started name, output will be produced for information. +After the case ran you may use the matPlot.py script located in $CFDEM_UT_DIR/vizClock/ to produce a graphical output of your measurements. The usage is like 'python < matPlot.py' and you have to be in the directory of the desired time step, where there is a file called "timeEvalFull.txt", which contains averaged and maximum data with respect to the number of processes. There is an alias called "vizClock" to run this python routine for visualizing the data. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`clockModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/dataExchangeModel.txt b/doc/_build/html/_sources/dataExchangeModel.txt new file mode 100644 index 0000000..56e183d --- /dev/null +++ b/doc/_build/html/_sources/dataExchangeModel.txt @@ -0,0 +1,48 @@ +.. index:: dataExchangeModel + +dataExchangeModel command +========================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + dataExchangeModel model; + +* model = name of data exchange model to be applied + +Examples +"""""""" + +.. parsed-literal:: + + dataExchangeModel twoWayFiles; + dataExchangeModel twoWayMPI; + +Note: This examples list might not be complete - please look for other models (dataExchangeModel_XY) in this documentation. + +Description +""""""""""" + +The data exchange model performs the data exchange between the DEM code and the CFD code. + +Restrictions +"""""""""""" + + +None. + +Related commands +"""""""""""""""" + +:doc:`noDataExchange `, :doc:`oneWayVTK `, :doc:`twoWayFiles `, :doc:`twoWayMPI ` + +**Default:** none + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/dataExchangeModel_noDataExchange.txt b/doc/_build/html/_sources/dataExchangeModel_noDataExchange.txt new file mode 100644 index 0000000..09304d4 --- /dev/null +++ b/doc/_build/html/_sources/dataExchangeModel_noDataExchange.txt @@ -0,0 +1,41 @@ +.. index:: dataExchangeModel_noDataExchange + +dataExchangeModel_noDataExchange command +======================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + dataExchangeModel noDataExchange; + +Examples +"""""""" + +.. parsed-literal:: + + dataExchangeModel noDataExchange; + +Description +""""""""""" + +The data exchange model performs the data exchange between the DEM code and the CFD code. The noDataExchange model is a dummy model where no data is exchanged. + +Restrictions +"""""""""""" + + +None. + +Related commands +"""""""""""""""" + +:doc:`dataExchangeModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/dataExchangeModel_oneWayVTK.txt b/doc/_build/html/_sources/dataExchangeModel_oneWayVTK.txt new file mode 100644 index 0000000..266998e --- /dev/null +++ b/doc/_build/html/_sources/dataExchangeModel_oneWayVTK.txt @@ -0,0 +1,61 @@ +.. index:: dataExchangeModel_oneWayVTK + +dataExchangeModel_oneWayVTK command +=================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + dataExchangeModel oneWayVTK; + oneWayVTKProps + { + DEMts timeStep; + relativePath "path"; + couplingFilename "filename"; + maxNumberOfParticles number; + }; + +* *timeStep* = time step size of stored DEM data +* *path* = path to the VTK data files relative do simulation directory +* *filename* = filename of the VTK file series +* *number* = maximum number of particles in DEM simulation + + +Examples +"""""""" + +.. parsed-literal:: + + dataExchangeModel oneWayVTK; + oneWayVTKProps + { + DEMts 0.0001; + relativePath "../DEM/post"; + couplingFilename "vtk_out%4.4d.vtk"; + maxNumberOfParticles 30000; + } + +Description +""""""""""" + +The data exchange model performs the data exchange between the DEM code and the CFD code. The oneWayVTK model is a model that can exchange particle properties from DEM to CFD based on previously stored VTK data. + +Restrictions +"""""""""""" + + +None. + +Related commands +"""""""""""""""" + +:doc:`dataExchangeModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/dataExchangeModel_twoWayFiles.txt b/doc/_build/html/_sources/dataExchangeModel_twoWayFiles.txt new file mode 100644 index 0000000..ce54768 --- /dev/null +++ b/doc/_build/html/_sources/dataExchangeModel_twoWayFiles.txt @@ -0,0 +1,57 @@ +.. index:: dataExchangeModel_twoWayFiles + +dataExchangeModel_twoWayFiles command +===================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + dataExchangeModel twoWayFiles; + twoWayFilesProps + { + couplingFilename "filename"; + maxNumberOfParticles scalar1; + DEMts scalar2; + }; + +* *filename* = filename of the VTK file series +* *scalar1* = maximum number of particles in DEM simulation +* *scalar2* = DEM time step width + + +Examples +"""""""" + +.. parsed-literal:: + + dataExchangeModel twoWayFiles; + twoWayFilesProps + { + couplingFilename "vtk_out%4.4d.vtk"; + maxNumberOfParticles 30000; + } + +Description +""""""""""" + +The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayFiles model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via files that are sequentially written/read by the codes. + +Restrictions +"""""""""""" + + +Developed only for two processors, one for DEM and one for CFD run. + +Related commands +"""""""""""""""" + +:doc:`dataExchangeModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/dataExchangeModel_twoWayMPI.txt b/doc/_build/html/_sources/dataExchangeModel_twoWayMPI.txt new file mode 100644 index 0000000..0b82181 --- /dev/null +++ b/doc/_build/html/_sources/dataExchangeModel_twoWayMPI.txt @@ -0,0 +1,52 @@ +.. index:: dataExchangeModel_twoWayMPI + +dataExchangeModel_twoWayMPI command +=================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + dataExchangeModel twoWayMPI; + twoWayMPIProps + { + liggghtsPath "path"; + }; + +* *path* = path to the DEM simulation input file + + +Examples +"""""""" + +.. parsed-literal:: + + dataExchangeModel twoWayMPI; + twoWayMPIProps + { + liggghtsPath "../DEM/in.liggghts_init"; + } + +Description +""""""""""" + +The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayMPI model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via MPI technique. The DEM run is executed by the coupling model, via a liggghtsCommandModel object. + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`dataExchangeModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel.txt b/doc/_build/html/_sources/forceModel.txt new file mode 100644 index 0000000..d4b60d7 --- /dev/null +++ b/doc/_build/html/_sources/forceModel.txt @@ -0,0 +1,57 @@ +.. index:: forceModel + +forceModel command +================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + model_x + model_y + ); + +* model = name of force model to be applied + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + Archimedes + DiFeliceDrag + ); + +Note: This examples list might not be complete - please look for other models (forceModel_XY) in this documentation. + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. All force models selected are executed sequentially and the forces on the particles are superposed. If the fluid density field is needed, by default a field named "rho" will be used. Via the forceSubModel an alternative field can be chosen. + +Restrictions +"""""""""""" + + +Most force models are ready to be used with coarse graining. If any force model used in the simulation is not ready for coarse graining, but is used with coarse graining, a warning is written to the terminal (log file). Setting a flag "cgWarnOnly false;" in coupling properties, the simulation will be stopped if there is a violation. + +Related commands +"""""""""""""""" + +:doc:`Archimedes `, :doc:`DiFeliceDrag `, :doc:`gradPForce `, :doc:`viscForce ` + +Note: This examples list may be incomplete - please look for other models (forceModel_XY) in this documentation. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_Archimedes.txt b/doc/_build/html/_sources/forceModel_Archimedes.txt new file mode 100644 index 0000000..97b6e7e --- /dev/null +++ b/doc/_build/html/_sources/forceModel_Archimedes.txt @@ -0,0 +1,66 @@ +.. index:: forceModel_Archimedes + +forceModel_Archimedes command +============================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + Archimedes + ); + ArchimedesProps + { + gravityFieldName "gravity"; + twoDimensional; + suppressProbe switch1; + treatForceDEM switch2; + verbose switch3; + }; + +* *gravity* = name of the finite volume gravity field +* *twoDimensional* = optional keyword for conducting a two dimensional calculation +* *switch1* = (optional, default false) can be used to suppress the output of the probe model +* *switch2* = (optional, default true) sub model switch, see :doc:`forceSubModel ` for details +* *switch3* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + Archimedes + ); + ArchimedesProps + { + gravityFieldName "g"; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The Archimedes model is a model that calculates the Archimedes' volumetric lift force stemming from density difference of fluid and particle. + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_ArchimedesIB.txt b/doc/_build/html/_sources/forceModel_ArchimedesIB.txt new file mode 100644 index 0000000..8c748e2 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_ArchimedesIB.txt @@ -0,0 +1,65 @@ +.. index:: forceModel_ArchimedesIB + +forceModel_ArchimedesIB command +=============================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + ArchimedesIB + ); + ArchimedesIBProps + { + gravityFieldName "gravity"; + voidfractionFieldName "voidfraction"; + twoDimensional; + treatForceExplicit switch1; + }; + +* *gravity* = name of the finite volume gravity field +* *voidfraction* = name of the finite volume voidfraction field +* *twoDimensional* = optional keyword for conducting a two dimensional calculation +* *switch1* = (optional, default true) sub model switch, see :doc:`forceSubModel ` for details + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + ArchimedesIB + ); + ArchimedesIBProps + { + gravityFieldName "g"; + voidfractionFieldName "voidfractionNext"; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The ArchimedesIB model is a model that calculates the ArchimedesIB' volumetric lift force stemming from density difference of fluid and particle. This model is especially suited for resolved CFD-DEM simulations where the particle is represented by immersed boundary method. + +Restrictions +"""""""""""" + + +Only for immersed boundary solvers. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_DiFeliceDrag.txt b/doc/_build/html/_sources/forceModel_DiFeliceDrag.txt new file mode 100644 index 0000000..19212a0 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_DiFeliceDrag.txt @@ -0,0 +1,85 @@ +.. index:: forceModel_DiFeliceDrag + +forceModel_DiFeliceDrag command +=============================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + DiFeliceDrag + ); + DiFeliceDragProps + { + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; + interpolation switch1; + voidfractionInterpolationType "type1"; + UInterpolationType "type2"; + suppressProbe switch2; + scale scalar1; + scaleDrag scalar2; + treatForceExplicit switch3; + implForceDEM switch4; + verbose switch5; + scalarViscosity switch6; + nu scalar3; + }; + +* *U* = name of the finite volume fluid velocity field +* *voidfraction* = name of the finite volume voidfraction field +* *Us* = name of the finite volume granular velocity field +* *switch1* = (optional, normally off) flag to use interpolated voidfraction and velocity values +* *type1* = (optional, default cellPoint) interpolation type for voidfraction field +* *type2* = (optional, default cellPointFace) interpolation type for velocity field +* *switch2* = (optional, default false) can be used to suppress the output of the probe model +* *scalar1* = (optional) scaling of particle diameter +* *scalar2* = (optional) scaling of drag law +* *switch3* = sub model switch, see :doc:`forceSubModel ` for details +* *switch4* = sub model switch, see :doc:`forceSubModel ` for details +* *switch5* = sub model switch, see :doc:`forceSubModel ` for details +* *switch6* = sub model switch, see :doc:`forceSubModel ` for details +* *scalar3* = optional, only if switch6 is true + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + DiFeliceDrag + ); + DiFeliceDragProps + { + velFieldName "U"; + interpolation true; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The DiFeliceDrag model is a model that calculates the particle based drag force following the correlation of Di Felice (see Zhou et al. (2010), JFM). + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_GidaspowDrag.txt b/doc/_build/html/_sources/forceModel_GidaspowDrag.txt new file mode 100644 index 0000000..0e1f9d3 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_GidaspowDrag.txt @@ -0,0 +1,92 @@ +.. index:: forceModel_GidaspowDrag + +forceModel_GidaspowDrag command +=============================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + GidaspowDrag + ); + GidaspowDragProps + { + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; + phi scalar1; + interpolation switch1; + voidfractionInterpolationType "type1" + UInterpolationType "type2" + implForceDEM switch2; + suppressProbe switch3; + scale scalar2; + scaleDrag scalar3; + switchingVoidfraction scalar4; + treatForceExplicit switch4; + implForceDEM switch5; + verbose switch6; + scalarViscosity switch7; + nu scalar5; + }; + +* *U* = name of the finite volume fluid velocity field +* *voidfraction* = name of the finite volume voidfraction field +* *Us* = name of the finite volume cell averaged particle velocity field +* *scalar1* = drag correction factor (in doubt 1) +* *switch1* = (optional, default off) flag to use interpolated voidfraction and fluid velocity values +* *type1* = (optional, default cellPoint) interpolation type for voidfraction field +* *type2* = (optional, default cellPointFace) interpolation type for velocity field +* *switch2* = (optional, default false) flag to use implicit formulation of drag on DEM side + *switch3* = (optional, default false) can be used to suppress the output of the probe model +* *scalar2* = (optional) scaling of particle diameter +* *scalar3* = (optional) scaling of drag law +* *scalar4* = (optional) voidfraction above which dilute formulation will be used +* *switch4* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *switch5* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *switch6* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *switch7* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *scalar5* = (optional, default false) optional, only if switch6 is true + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + GidaspowDrag + ); + GidaspowDragProps + { + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The GidaspowDrag model is a model that calculates the particle based drag force following the correlation of Gidaspow which is a combination of Ergun (1952) and Wen & Yu (1966) (see Zhu et al. (2007): "Discrete particle simulation of particulate systems: Theoretical developments", ChemEngScience). + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_KochHillDrag.txt b/doc/_build/html/_sources/forceModel_KochHillDrag.txt new file mode 100644 index 0000000..828e3f5 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_KochHillDrag.txt @@ -0,0 +1,87 @@ +.. index:: forceModel_KochHillDrag + +forceModel_KochHillDrag command +=============================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + KochHillDrag + ); + KochHillDragProps + { + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us" + interpolation "switch1"; + voidfractionInterpolationType "type1" + UInterpolationType "type2" + implForceDEM "switch2"; + suppressProbe "switch3"; + scale "scalar1"; + scaleDrag "scalar2"; + treatForceExplicit "switch4"; + verbose "switch5"; + implForceDEMaccumulated "switch6"; + scalarViscosity "switch7"; + nu "scalar3"; + }; + +* *U* = name of the finite volume fluid velocity field +* *voidfraction* = name of the finite volume voidfraction field +* *Us* = (optional) name of finite volume granular velocity field +* *switch1* = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values +* *type1* = (optional, default cellPoint) interpolation type for voidfraction field +* *type2* = (optional, default cellPointFace) interpolation type for velocity field +* *switch2* = (optional, normally off) flag to use implicit formulation of drag on DEM side + *switch3* = (optional, default false) can be used to suppress the output of the probe model +* *scalar1* = (optional) scaling of particle diameter +* *scalar2* = (optional) scaling of drag law +* *switch4* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *switch5* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *switch6* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *switch7* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *scalar3* = optional, only if switch7 is true + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + KochHillDrag + ); + KochHillDragProps + { + velFieldName "U"; + voidfractionFieldName "voidfraction"; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The KochHillDrag model is a model that calculates the particle based drag force following the correlation of Koch & Hill (2001) (see van Buijtenen et al. (2011): "Numerical and experimental study on multiple-spout fluidized beds", ChemEngScience). + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_LaEuScalarTemp.txt b/doc/_build/html/_sources/forceModel_LaEuScalarTemp.txt new file mode 100644 index 0000000..01c712f --- /dev/null +++ b/doc/_build/html/_sources/forceModel_LaEuScalarTemp.txt @@ -0,0 +1,94 @@ +.. index:: forceModel_LaEuScalarTemp + +forceModel_LaEuScalarTemp command +================================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + LaEuScalarTemp + ); + LaEuScalarTempProps + { + velFieldName "U"; + tempFieldName "T"; + voidfractionFieldName "voidfraction"; + partTempName "Temp"; + partHeatFluxName "convectiveHeatFlux"; + partHeatTransCoeffName "heatTransCoeff"; + partHeatFluidName "heatFluid"; + lambda scalar1; + Cp scalar2; + interpolation switch1; + TInterpolationType "type1" + verbose switch2; + maxSource scalar3; + scale scalar4; + scalarViscosity switch3; + nu scalar5; + }; + +* *U* = name of the finite volume fluid velocity field +* *T* = name of the finite volume scalar temperature field +* *voidfraction* = name of the finite volume voidfraction field +* *Temp* = name of the DEM data representing the particles temperature +* *convectiveHeatFlux* = name of the DEM data representing the particle-fluid convective heat flux +* *heatTransCoeff* = name of heat transfer coefficient +* *heatFluid* = + *scalar1* = fluid thermal conductivity [W/(m*K)] +* *scalar2* = fluid specific heat capacity [W*s/(kg*K)] +* *switch1* = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values +* *type1* = (optional, default cellPoint) interpolation type for T field +* *switch2* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *scalar3* = (optional) limit maximal turbulence +* *scalar4* = scaling of particle diameter +* *switch3* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *scalar5* = optional, only if switch3 is true + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + LaEuScalarTemp + ); + LaEuScalarTempProps + { + velFieldName "U"; + tempFieldName "T"; + voidfractionFieldName "voidfraction"; + partTempName "Temp"; + partHeatFluxName "convectiveHeatFlux"; + lambda 0.0256; + Cp 1007; + } + +Description +""""""""""" + +This "forceModel" does not influence the particles or the fluid flow! Using the particles' temperature a scalar field representing "particle-fluid heatflux" is calculated. The solver then uses this source field in the scalar transport equation for the temperature. The model for convective heat transfer is based on Li and Mason (2000), A computational investigation of transient heat transfer in pneumatic transport of granular particles, Pow.Tech 112 + +Restrictions +"""""""""""" + + +Goes only with cfdemSolverScalar. The force model has to be the second (!!!) model in the forces list. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_MeiLift.txt b/doc/_build/html/_sources/forceModel_MeiLift.txt new file mode 100644 index 0000000..b59b5f7 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_MeiLift.txt @@ -0,0 +1,77 @@ +.. index:: forceModel_MeiLift + +forceModel_MeiLift command +========================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + MeiLift + ); + MeiLiftProps + { + velFieldName "U"; + useSecondOrderTerms; + interpolation switch1; + vorticityInterpolationType "type1" + UInterpolationType "type2" + verbose switch2; + treatForceExplicit switch3; + scalarViscosity switch4; + nu scalar1; + }; + +* *U* = name of the finite volume fluid velocity field +* *useSecondOrderTerms* = switch to activate second order terms in the lift force model +* *switch1* = switch to activate tri-linear interpolation of the flow quantities at the particle position +* *type1* = (optional, default cellPoint) interpolation type for vorticity field +* *type2* = (optional, default cellPointFace) interpolation type for velocity field +* *switch2* = switch to activate the report of per-particle quantities to the screen +* *switch3* = (optional, default true) sub model switch, see :doc:`forceSubModel ` for details +* *switch4* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *scalar1* = optional, only if switch4 is true + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + MeiLift + ); + MeiLiftProps + { + velFieldName "U"; + useSecondOrderTerms; + interpolation true; + verbose true; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The MeiLift model calculates the lift force for each particle based on Loth and Dorgan (2009). In case the keyword "useSecondOrderTerms" is not specified, this lift force model uses the expression of McLaughlin (1991, Journal of Fluid Mechanics 224:261-274). + +Restrictions +"""""""""""" + + +None. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_SchillerNaumannDrag.txt b/doc/_build/html/_sources/forceModel_SchillerNaumannDrag.txt new file mode 100644 index 0000000..e51a4f0 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_SchillerNaumannDrag.txt @@ -0,0 +1,68 @@ +.. index:: forceModel_SchillerNaumannDrag + +forceModel_SchillerNaumannDrag command +====================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + SchillerNaumannDrag + ); + SchillerNaumannDragProps + { + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation "bool1"; + voidfractionInterpolationType "type1" + UInterpolationType "type2" + implForceDEM "bool2"; + }; + +* *U* = name of the finite volume fluid velocity field +* *voidfraction* = name of the finite volume voidfraction field +* *bool1* = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values +* *type1* = (optional, default cellPoint) interpolation type for voidfraction field +* *type2* = (optional, default cellPointFace) interpolation type for velocity field +*bool2* = (optional, normally off) flag to use implicit formulation of drag on DEM side:l + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + SchillerNaumannDrag + ); + SchillerNaumannDragProps + { + velFieldName "U"; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The SchillerNaumannDrag model is a model that calculates the particle based drag force following the correlation of Schiller and Naumann. + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_ShirgaonkarIB.txt b/doc/_build/html/_sources/forceModel_ShirgaonkarIB.txt new file mode 100644 index 0000000..92ec9b9 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_ShirgaonkarIB.txt @@ -0,0 +1,73 @@ +.. index:: forceModel_ShirgaonkarIB + +forceModel_ShirgaonkarIB command +================================ + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + ShirgaonkarIB + ); + ShirgaonkarIBProps + { + velFieldName "U"; + pressureFieldName "p"; + twoDimensional; + depth scalar1; + verbose switch1; + treatForceExplicit switch2; + }; + +* *U* = name of the finite volume fluid velocity field +* *p* = name of the finite volume pressure field +* *twoDimensional* = optional keyword for conducting a two dimensional calculation +* *scalar1* = optional, only necessary if twoDimensional is active +* *switch1* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *switch2* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + ShirgaonkarIB + ); + ShirgaonkarIBProps + { + velFieldName "U"; + pressureFieldName "p"; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The ShirgaonkarIB model calculates the drag force (viscous and pressure force) acting on each particle in a resolved manner (see Shirgaonkar et al. (2009): "A new mathematical formulation and fast algorithm for fully resolved simulation of self-propulsion", Journal of Comp. Physics). This model is only suited for resolved CFD-DEM simulations where the particle is represented by immersed boundary method. + +**References:** + +SHIRGAONKAR, A.A., MACIVER, M.A. and PATANKAR, N.A., (2009), “A new mathematical formulation and fast algorithm for fully resolved simulation of self-propulsionâ€, J. Comput. Phys., 228, 2366-2390. + +Restrictions +"""""""""""" + + +Only for immersed boundary solvers. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_checkCouplingInterval.txt b/doc/_build/html/_sources/forceModel_checkCouplingInterval.txt new file mode 100644 index 0000000..87adad1 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_checkCouplingInterval.txt @@ -0,0 +1,74 @@ +.. index:: forceModel_checkCouplingInterval + +forceModel_checkCouplingInterval command +======================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + checkCouplingInterval + ); + checkCouplingIntervalProps + { + warnOnly bool1; + velocityFieldName word1; + rhoP scalar1; + maxCFL scalar2; + maxAccNr scalar3; + UmaxExpected scalar4; + minAllowedVcellByVparcel scalar5; + timeInterval scalar6; + }; + +* *bool1* = (optional, default true) switch to warn or stop simulation if criterion is broken. +* *word1* = (optional, default U) name of velocity field. +* *scalar1* = particle density assumed for calculation of the particle relaxation time +* *scalar2* = (optional, default=50) maximum allowed CFL number. +* *scalar3* = (optional, default=0.1) maximum allowed ratio of coupling time to particle relaxation time. +* *scalar4* = maximum expected velocity fluid velocity (e.g. due to BCs) - used for CFL estimation. +* *scalar5* = (optional, default=3) min allowed volume ratio of cell / particle. +* *scalar6* = (optional, default=coupling time) interval of execution. + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + checkCouplingInterval + ); + checkCouplingIntervalProps + { + rhoP 2500; + UmaxExpected 10; + timeInterval 0.002; + } + +Description +""""""""""" + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! At the first coupling step and at every time interval several criteria are checked: (i) The acceleration number is defined as the ratio of DEMtime/particleRelaxationTime, where DEMtime is DEM time step size * coupling interval. The acceleration nr should be smaller than ~0.1. (ii) The Courant Number (CFL). If the CFL number exceeds a reasonable value the quality of the result becomes bad - therefore the simulation settings should be changed. (iii) The ratio of smallest cell biggest particle volume. Typically this should be larger than 3. (iiii) The minimum and maximum Stokes Number. For the criteria (i)-(iii) the user can define its own allowed bounds and with the flag "warnOnly" the user can choose if the simulation should be stopped or if just a warning is given if a criterion is broken. + +Restrictions +"""""""""""" + + +needs MPI based dataExchange model - e.g. oneWayVTK will not work. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_fieldStore.txt b/doc/_build/html/_sources/forceModel_fieldStore.txt new file mode 100644 index 0000000..3e7a5e1 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_fieldStore.txt @@ -0,0 +1,73 @@ +.. index:: forceModel_fieldStore + +forceModel_fieldStore command +============================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + fieldStore + ); + fieldStoreProps + { + scalarFieldNames + ( + "scalarField" + ); + vectorFieldNames + ( + "vectorField" + ); + }; + +* *scalarField* = names of the finite volume scalar fields to be stored +* *vectorField* = names of the finite volume vector fields to be stored + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + fieldStore + ); + fieldStoreProps + { + scalarFieldNames + ( + "voidfraction" + ); + vectorFieldNames + ( + "U" + ); + } + +Description +""""""""""" + +This "forceModel" does not influence the particles or the flow - it is a tool to store a scalar/vector field! This is especially useful if you use a boundary condition which cannot interpreted correctly in your postporcessor (e.g. paraview). + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_fieldTimeAverage.txt b/doc/_build/html/_sources/forceModel_fieldTimeAverage.txt new file mode 100644 index 0000000..17f6098 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_fieldTimeAverage.txt @@ -0,0 +1,76 @@ +.. index:: forceModel_fieldTimeAverage + +forceModel_fieldTimeAverage command +=================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + fieldTimeAverage + ); + fieldTimeAverageProps + { + startTime time; + scalarFieldNames + ( + "scalarField" + ); + vectorFieldNames + ( + "vectorField" + ); + }; + +* *time* = (optional) time to start temporal averaging +* *scalarField* = names of the finite volume scalar fields to be temporally averaged +* *vectorField* = names of the finite volume vector fields to be temporally averaged + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + fieldTimeAverage + ); + fieldTimeAverageProps + { + startTime 1.0; + scalarFieldNames + ( + "voidfraction" + ); + vectorFieldNames + ( + "Us" + ); + } + +Description +""""""""""" + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! Starting at start time the specified fields are temporally averaged and written at "writeTime". They can then be probed using standard function object probes. The output name is timeAverage_scalarField, where scalarField is the name of the original field. + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_gradPForce.txt b/doc/_build/html/_sources/forceModel_gradPForce.txt new file mode 100644 index 0000000..f2286d8 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_gradPForce.txt @@ -0,0 +1,74 @@ +.. index:: forceModel_gradPForce + +forceModel_gradPForce command +============================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + gradPForce; + ); + gradPForceProps + { + pFieldName "pressure"; + velocityFieldName "U"; + interpolation switch1; + gradPInterpolationType "type1" + useAddedMass scalar1; + suppressProbe switch2; + treatForceExplicit switch3; + treatForceDEM switch4; + }; + +* *pressure* = name of the finite volume fluid pressure field +* *U* = name of the finite volume fluid velocity field +* *switch1* = flag to use interpolated pressure values (normally off) +* *type1* = (optional, default cellPointFace) interpolation type for grad(p) field +* *useAddedMass* = (optional) coefficient of added mass accounted for +* *switch2* = (optional, default false) can be used to suppress the output of the probe model +* *switch3* = (optional, default true) sub model switch, see :doc:`forceSubModel ` for details +* *switch4* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + gradPForce; + ); + gradPForceProps + { + pFieldName "p"; + velocityFieldName "U"; + interpolation true; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The gradPForce model is a model that calculates the particle based pressure gradient force -(grad(p)) * Vparticle (see Zhou et al. (2010): "Discrete particle simulation of particle-fluid flow: model formulations and their applicability" ,JFM). + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_noDrag.txt b/doc/_build/html/_sources/forceModel_noDrag.txt new file mode 100644 index 0000000..81dac8d --- /dev/null +++ b/doc/_build/html/_sources/forceModel_noDrag.txt @@ -0,0 +1,67 @@ +.. index:: forceModel_noDrag + +forceModel_noDrag command +========================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + noDrag + ); + +noDragProps +{ + noDEMForce "switch1"; + keepCFDForce "switch2"; + treatForceExplicit "switch3"; +} + +* *switch1* = (optional, default false) do not apply the previously calculated forces in DEM integration +* *switch2* = (optional, default false) do not delete the previously calculated forces and use them in CFD source terms +* *switch3* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + noDrag + ); + +.. parsed-literal:: + + noDragProps + { + noDEMForce true; + keepCFDForce false; + }; + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The noDrag model sets the forces acting on the particle (which were previously caclulated) to zero. If several force models are selected and noDrag is the last model being executed, the fluid particle force will be set to zero. If the variable noDEMForce is set, then the forces communicated to the DEM solver are also set to zero. + +Restrictions +"""""""""""" + + +None. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_particleCellVolume.txt b/doc/_build/html/_sources/forceModel_particleCellVolume.txt new file mode 100644 index 0000000..b66e94a --- /dev/null +++ b/doc/_build/html/_sources/forceModel_particleCellVolume.txt @@ -0,0 +1,69 @@ +.. index:: forceModel_particleCellVolume + +forceModel_particleCellVolume command +===================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + particleCellVolume + ); + particleCellVolumeProps + { + verbose switch1; + writeToFile switch2; + startTime number1; + upperThreshold number2; + lowerThreshold number3; + verbose; + }; + +* *switch1* = (optional, default true) switch for output to screen +* *switch2* = (optional, default false) switch for output to file +* *number1* = (optional, default 0) start time of volume calculation and output +* *number2* = only cells with a field value (magnitude) lower than this upper threshold are considered +* *number3* = only cells with a field value (magnitude) greater than this lower threshold are considered + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + particleCellVolume + ); + particleCellVolumeProps + { + upperThreshold 0.999; + lowerThreshold 0; + } + +Description +""""""""""" + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles as they are represented on the CFD mesh is calculated. Further the total volume of the cells particles are in is calculated. +At "writeTime" a field named particleCellVolume , where scalarField is the name of the original field, is written. This can then be probed using standard function object probes. Analogously a field named cellVolume is written. Using the verbose option a screen output is given. + +Restrictions +"""""""""""" + + +None. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_particleVolume.txt b/doc/_build/html/_sources/forceModel_particleVolume.txt new file mode 100644 index 0000000..0ab13b5 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_particleVolume.txt @@ -0,0 +1,64 @@ +.. index:: forceModel_particleVolume + +forceModel_particleVolume command +================================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + particleVolume + ); + particleVolumeProps + { + verbose switch1; + writeToFile switch2; + scale scalar1; + startTime scalar2; + }; + +* *switch1* = (optional, default false) switch for output to screen +* *switch2* = (optional, default true) switch for output to file +* *scalar1* = (optional, default 1) scaling of the particle volume d=dSphere/scale +* *scalar2* = (optional, default 0) start time of volume calculation and output + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + particleVolume + ); + particleVolumeProps + { + writeToFile false; + } + +Description +""""""""""" + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles is calculated. + +Restrictions +"""""""""""" + + +None. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_scalarGeneralExchange.txt b/doc/_build/html/_sources/forceModel_scalarGeneralExchange.txt new file mode 100644 index 0000000..cdff19e --- /dev/null +++ b/doc/_build/html/_sources/forceModel_scalarGeneralExchange.txt @@ -0,0 +1,192 @@ +.. index:: forceModel_scalarGeneralExchange + +forceModel_scalarGeneralExchange command +======================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + scalarGeneralExchange // must be 2nd position! + ); + scalarGeneralExchangeProps + { + useLiMason "switch1"; //default: DeenEtAl + useGeneralCorrelation "switch3"; //default: DeenEtAl + generalCorrelationParameters (1 2 3 4 5 6 7 8); + verbose "switch2"; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + tempFieldName "T"; + partTempName "Temp"; + /* partHeatFluxName "convectiveHeatFlux"; //switch off for implicit coupling, e.g., to ParScale */ + partHeatTransCoeffName "heatTransCoeff"; + partHeatFluidName "heatFluid"; + lambda value; + Cp value1; + //Lists with information for each species FOR THE PARTICLES + //MUST be in the same order as eulerian species in 'scalarTransportProperties' + //MUST correspond to property/atom in ligghts (use 'couple/cfd/speciesConvection' to auto-generate individual fields) + partSpeciesNames + ( + speciesC + ); + partSpeciesFluxNames + ( + speciesCFlux + ); + partSpeciesTransCoeffNames + ( + speciesCTransCoeff + ); + partSpeciesFluidNames + ( + speciesCFluid + ); + DMolecular + ( + value2 + ); + interpolation "bool1"; + voidfractionInterpolationType "type1" + UInterpolationType "type2" + fluidScalarFieldInterpolationType "type2" + scalarViscosity switch5; + nu scalar5; + suppressProbe switch6; + scale scalar6; + maxSource scalar7; + } + +* *switch1* = (optional) flag to use Nusselt correlations of Li and Mason (2000) +* *switch2* = (normally off) for verbose run +* *switch3* = (optional) flag to use a general Nusselt number correlation (must specify parameters of this correlation in a list called 'generalCorrelationParameters' ) +* generalCorrelationParameters = list with a predefined number of parameters (for length see src code, only read if useGeneralCorrelation is set to true) +* *U* = name of the finite volume fluid velocity field +* *voidfraction* = name of the finite volume voidfraction field +* *T* = name of the finite volume scalar temperature field +* *Temp* = name of the DEM data representing the particles temperature +* *convectiveHeatFlux* = name of the DEM data representing the particle-fluid convective heat flux +* *heatTransCoeff* = name of the DEM data representing the particle-fluid heat transfer coefficient +* *heatFluid* = name of the DEM data representing the fluid heat +* *value* = fluid thermal conductivity [W/(m*K)] +* *value1* = fluid specific heat capacity [W*s/(kg*K)] +* *speciesC* = name of the DEM data representing the transport species of the particles +* *speciesCFlux* = name of the DEM data representing the particle-fluid species flux +* *speciesCTransCoeff* = name of the DEM data representing the particle-fluid species transfer coefficient +* *speciesCFluid* = name of the DEM data representing the transport species of the fluid +* *value2* = molecular diffusion coefficient [m^2/s] +* *bool1* = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values +* *type1* = (optional, default cellPoint) interpolation type for voidfraction field +* *type2* = (optional, default cellPointFace) interpolation type for velocity field +* *type3* = (optional, default cellPoint) interpolation type for fluidScalarField field +* *switch5* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *scalar5* = (optional) optional, only if switch5 is true +* *switch6* = (optional, default false) can be used to suppress the output of the probe model +* *scalar7* = (optional) scaling of particle diameter +* *scalar7* = limit maximal turbulence + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + scalarGeneralExchange // must be 2nd position! + ); + scalarGeneralExchangeProps + { + useLiMason false; //default: DeenEtAl + useGeneralCorrelation true; //default: DeenEtAl + generalCorrelationParameters + ( + 7.0 -10 5 + 1.0 0.17 + 1.33 -2.31 1.16 + ); + verbose false; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + tempFieldName "T"; + partTempName "Temp"; + /* partHeatFluxName "convectiveHeatFlux"; //switch off for implicit coupling, e.g., to ParScale */ + partHeatTransCoeffName "heatTransCoeff"; + partHeatFluidName "heatFluid"; + lambda 0.0271; + Cp 1007; + //Lists with information for each species FOR THE PARTICLES + //MUST be in the same order as eulerian species in 'scalarTransportProperties' + //MUST correspond to property/atom in ligghts (use 'couple/cfd/speciesConvection' to auto-generate individual fields) + partSpeciesNames + ( + speciesC + ); + partSpeciesFluxNames + ( + speciesCFlux + ); + partSpeciesTransCoeffNames + ( + speciesCTransCoeff + ); + partSpeciesFluidNames + ( + speciesCFluid + ); + DMolecular + ( + 1e-5 + ); + } + +Description +""""""""""" + +This "forceModel" does not influence the particles or the fluid flow! +Using the particles' temperature and/or species a scalar field +representing "particle-fluid heatflux" and/or "particle-fluid speciesflux" is calculated. + +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). + +Two way general scalar exchange between DEM and CFD +convective heat and species transfer model. The standard model is that of +Deen, N.G. et al., Review of direct numerical simulation of +fluid-particle mass, momentum and heat transfer in dense gas-solid flows. +Chemical Engineering Science 116 (2014) 710-724. +This correlation is based on that of Gunn (1978). + +The switch 'useGeneralCorrelation' allows one to specify the parameters +of the Gunn correlation as a list called 'generalCorrelationParameters'. + +Alternatively, the correclation of +Li and Mason (2000), A computational investigation of transient heat +transfer in pneumatic transport of granular particles, Pow.Tech 112 +can be activated. However, this correlation is not suitable for +dense granular flows. + +WARNING: +This model REQUIRES the 'generalManual' speciesTransportModel + +Restrictions +"""""""""""" + + +Goes only with cfdemSolverPimpleImEx and cfdemSolverPisoSTM. The force model has to be the second (!!!) model in the forces list. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` :doc:`forceModel_LaEuScalarTemp ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_virtualMassForce.txt b/doc/_build/html/_sources/forceModel_virtualMassForce.txt new file mode 100644 index 0000000..db78404 --- /dev/null +++ b/doc/_build/html/_sources/forceModel_virtualMassForce.txt @@ -0,0 +1,74 @@ +.. index:: forceModel_virtualMassForce + +forceModel_virtualMassForce command +=================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + virtualMassForce + ); + virtualMassForceProps + { + velFieldName "U"; + phiFieldName "phi"; + splitUrelCalculation switch1; + Cadd scalar1; + treatForceExplicit switch2; + treatForceDEM switch3; + interpolation switch4; + UInterpolationType "type1" + DDtUInterpolationType "type2" + }; + +* *U* = name of the finite volume fluid velocity field +* *phi* = name of the finite volume flux field +* *switch1* = indicator to split calculation of Urel between CFDEM and LIGGGHTS +* *scalar1* = scalar value +* *switch2* = (optional, default true) sub model switch, see :doc:`forceSubModel ` for details +* *switch3* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *switch4* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *type1* = (optional, default cellPointFace) interpolation type for U field +* *type2* = (optional, default cellPointFace) interpolation type for ddt(U) field + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + virtualMassForce + ); + virtualMassForceProps + { + velFieldName "U"; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The virtualMassForce model calculates the virtual mass force for each particle. + +Restrictions +"""""""""""" + + +Model not validated! + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_viscForce.txt b/doc/_build/html/_sources/forceModel_viscForce.txt new file mode 100644 index 0000000..d29a85d --- /dev/null +++ b/doc/_build/html/_sources/forceModel_viscForce.txt @@ -0,0 +1,74 @@ +.. index:: forceModel_viscForce + +forceModel_viscForce command +============================ + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + viscForce; + ); + viscForceProps + { + velocityFieldName "U"; + useAddedMass scalar1; + suppressProbe switch1; + treatForceExplicit switch2; + treatForceDEM switch3; + interpolation switch4; + divTauInterpolationType "type1"; + scalarViscosity switch5; + nu scalar2; + }; + +* *U* = name of the finite volume fluid velocity field +* *scalar1* = (optional) coefficient of added mass accounted for +* *switch1* = (optional, default false) can be used to suppress the output of the probe model +* *switch2* = (optional, default true) sub model switch, see :doc:`forceSubModel ` for details +* *switch3* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *switch4* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *type1* = (optional, default cellPointFace) interpolation type for div(Tau) field +* *switch5* = (optional, default false) sub model switch, see :doc:`forceSubModel ` for details +* *scalar2* = optional, only if switch5 is true + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + viscForce; + ); + viscForceProps + { + velocityFieldName "U"; + } + +Description +""""""""""" + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The viscForce model calculates the particle based viscous force, -(grad(tau)) * Vparticle (see Zhou et al. (2010): "Discrete particle simulation of particle-fluid flow: model formulations and their applicability", JFM). + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceModel_volWeightedAverage.txt b/doc/_build/html/_sources/forceModel_volWeightedAverage.txt new file mode 100644 index 0000000..07199ca --- /dev/null +++ b/doc/_build/html/_sources/forceModel_volWeightedAverage.txt @@ -0,0 +1,91 @@ +.. index:: forceModel_volWeightedAverage + +forceModel_volWeightedAverage command +===================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + ( + volWeightedAverage + ); + volWeightedAverageProps + { + startTime time; + scalarFieldNames + ( + scalarField + ); + vectorFieldNames + ( + vectorField + ); + upperThreshold scalar1; + lowerThreshold scalar2; + useVolumeFraction switch0; + volumeFractionName word1; + verbose ; + writeToFile switch1; + }; + +* *time* = (optional, default 0.) time to start the averaging +* *scalarField* = names of the finite volume scalar fields to be temporally averaged +* *vectorField* = names of the finite volume vector fields to be temporally averaged +* *scalar1* = only cells with a field value (magnitude) lower than this upper threshold are considered +* *scalar2* = only cells with a field value (magnitude) greater than this lower threshold are considered +* *switch0* = (optional, default false) consider a volume fraction for the calculation +* *word1* = (optional, default "voidfraction") name of the volume fraction, only used if useVolumeFraction is true +* *verbose* = (optional, default false) keyword only (mostly used for debugging) +* *switch1* = (optional, default false) switch for the output. + + +Examples +"""""""" + +.. parsed-literal:: + + forceModels + ( + volWeightedAverage + ); + volWeightedAverageProps + { + startTime 0.1; + scalarFieldNames + ( + voidfraction + ); + vectorFieldNames + ( + ); + upperThreshold 0.999; + lowerThreshold 0; + } + +Description +""""""""""" + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! Starting at start time +the volume weighted averages of those cells of the fields within the threshold are calculated. +At "writeTime" a field named volAverage_field , where scalarField is the name of the original field, is written. This can then be probed using standard function object probes. + +Restrictions +"""""""""""" + + +Currently all fields have the same threshold value! + +Related commands +"""""""""""""""" + +:doc:`forceModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceSubModel.txt b/doc/_build/html/_sources/forceSubModel.txt new file mode 100644 index 0000000..e91fb8b --- /dev/null +++ b/doc/_build/html/_sources/forceSubModel.txt @@ -0,0 +1,77 @@ +.. index:: forceSubModel + +forceSubModel command +===================== + +Syntax +"""""" + +Defined in couplingProperties sub-dictionary of the force model in use. If no force sub-model is applied ImEx is used as default. If the keyword "forceSubModels" is provided, a choice of sub model is demanded. + +.. parsed-literal:: + + forceSubModels + ( + model_x + model_y + ); + +* model = name of force sub-model to be applied + +Examples +"""""""" + +.. parsed-literal:: + + forceSubModels + ( + ImEx + ); + +Note: This examples list might not be complete - please look for other models (forceSubModel_XY) in this documentation. + +Description +""""""""""" + +The force sub model is designed to hold the settings a force model can have. For now it handles the treatExplicit, treatDEM and implDEM option. + +Restrictions +"""""""""""" + + +None. + +Related commands +"""""""""""""""" + +:doc:`ImEx ` + +Note: This examples list may be incomplete - please look for other models (forceSubModel_XY) in this documentation. + +**Default:** none. + +**Swtiches:** + +* Depending on the availability within the respective force model, a number of switches can be activated: +* treatForceExplicit: switch for the purely explicit consideration of the force term in the equation of motion on the CFD side (if switched off, the force is considered semi-implicitly) + +* treatForceDEM: switch for the consideration of the forces on the DEM side only + +* implForceDEM: If true, the fluid velocity and drag coefficient are communicated to the DEM calculation at each coupling time step and the drag force is calculated at each DEM time step, using the current particle velocity. If false, a force term is communiated to the DEM calculation at each coupling time step, the term is not within a coupling interval. + +* verbose: switch for debug output to screen + +* interpolation: switch for the usage of interpolation models when getting data for the Lagrangian calculation from Eulerian fields; If false, the cell centre values are used. + +* useFilteredDragModel: switch for using a coarse-grid version of the Beetstra drag model (takes grid-size effects into account; default = off) + +* useParcelSizeDependentFilteredDrag: switch for using a coarse-grid version of the Beetstra drag model (takes parcel-size effects into account, will force the switch useFilteredDragModel to "on"; default = off) + +* implForceDEMaccumulated: Can only be used in combination with implForceDEM switch, drag force values of each DEM time step are accumulated and passed on to the CFD-calculation. + +* scalarViscosity: switch for the usage of a user-defined viscosity nu for the calculation of the drag force; The CFD calculation always uses the value of the transport model. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/forceSubModel_ImEx.txt b/doc/_build/html/_sources/forceSubModel_ImEx.txt new file mode 100644 index 0000000..f02ccce --- /dev/null +++ b/doc/_build/html/_sources/forceSubModel_ImEx.txt @@ -0,0 +1,48 @@ +.. index:: forceSubModel_ImEx + +forceSubModel_ImEx command +========================== + +Syntax +"""""" + +Defined in couplingProperties sub-dictionary of the force model in use. + +forceSubModels +( + ImEx; +); + +treatExplicit true; // optional for some force models. +treatDEM true; // optional for some force models. +implDEM true; // optional for some force models. + +Examples +"""""""" + +forceSubModels +( + ImEx; +); +treatExplicit true; // optional for some force models. + +Description +""""""""""" + +If no force sub-model is applied ImEx is used as default. If the keyword "forceSubModels" is provided, a choice of sub model is demanded. Depending on the force model different keywords are read and can therefrore be set (see the log file). If the keyword is provided, its value is used. + +Restrictions +"""""""""""" + + +none. + +Related commands +"""""""""""""""" + +:doc:`forceSubModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/githubAccess_public.txt b/doc/_build/html/_sources/githubAccess_public.txt new file mode 100644 index 0000000..fe11d6f --- /dev/null +++ b/doc/_build/html/_sources/githubAccess_public.txt @@ -0,0 +1,317 @@ +githubAccess_public +=================== + + +---------- + + +Description +""""""""""" + +This routine describes how to pull repositories of the CFDEM(R)project from `github.com `_. +After setting some environment variables, LIGGGHTS(R) and CFDEM(R)coupling can be compiled. + +**Procedure:** + +Basically the following steps have to be performed: + +* *git clone* and setup OpenFOAM +* *git clone* the desired repositories +* update your repositories by *git pull* +* set environment variables +* compile LIGGGHTS(R) and CFDEM(R)coupling +* run your own cases + + +***git clone* and setup OpenFOAM:** + +Have a look at the latest compatible OpenFOAM(R)-version in the versionInfo.H file at `github `_. +This file will later be downloaded as a part of the source-code. +Look for the git commit hashtag in the following line: + +.. parsed-literal:: + + word OFversion="<OF-Release>-commit-<commitHashtag>"; + +.. parsed-literal:: + + e.g. word OFversion="2.4.x-commit-3d8da0e960c717ff582f1517a27724144f086b83"; + +However sometimes even newer versions are supported, please check the `release notes `_ and the "Advanced Settings"-section. + +Basically follow the OpenFOAM(R) git compilation `instructions `_, with a small number of exceptions: + +When you git clone the repository, replace the release-version with <OF-Release>. + +with git-protocol: + +.. parsed-literal:: + + git clone git://github.com/OpenFOAM/OpenFOAM-<OF-Release>.git + +or with https: + +.. parsed-literal:: + + git clone https://github.com/OpenFOAM/OpenFOAM-<OF-Release>.git + +Now change into the new directory and checkout the correct compatible version: + +.. parsed-literal:: + + cd OpenFOAM-<OF-Release> + git checkout <commitHashtag> + +The result will be a status report, that indicates a 'detached head state'. +Now continue with installing and compiling OpenFOAM(R). +Make sure that OpenFOAM(R) works properly with a parallel Simulation! + +If you want to use an older OpenFOAM(R)-version, please have a look at the "Backwards Compatibility"-section. + +***git clone* the desired repositories:** + +You may want to take a look around on CFDEMproject on github: github.com/CFDEMproject_gitCFDEM + +If not already done, open a terminal and create a directory for LIGGGHTS(R) in $HOME: + +.. parsed-literal:: + + cd + mkdir LIGGGHTS + cd LIGGGHTS + +To clone the public LIGGGHTS repository, open a terminal and execute: +with git-protocol: + +.. parsed-literal:: + + git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC + +or with https: + +.. parsed-literal:: + + git clone https://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC + +If not already done, open a terminal and create a directory for CFDEM(R)coupling in $HOME: + +.. parsed-literal:: + + cd + mkdir CFDEM + cd CFDEM + +To clone the public CFDEM(R)coupling repository, open a terminal and execute: +with git-protocol: + +.. parsed-literal:: + + git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION + +or with https: + +.. parsed-literal:: + + git clone https://github.com/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION + +.. parsed-literal:: + + Additionally the lpp tool for converting LIGGGHTS dump-files into the paraview readable VTK-format might be of use: + with git-protocol: + git clone git://github.com:CFDEMproject/LPP.git $HOME/LIGGGHTS/mylpp + +.. parsed-literal:: + + or with https: + git clone https://github.com:CFDEMproject/LPP.git $HOME/LIGGGHTS/mylpp + +Please have a look at README and INSTALL.txt in the root directory of LPP for further information. + +Troubles? See Troubleshooting git section below. + +**Update your repositories by *git pull*:** + +To get the latest version, open a terminal, go to the location of your local installation and type: +*Warning: git stash will remove your changes in $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION !* + +.. parsed-literal:: + + cd $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION + git stash + git pull + +**Set Environment Variables:** + +Now you need to set some environment variables in ~/.bashrc (if you use c-shell, manipulate ~/.cshrc accordingly). Open ~/.bashrc + +.. parsed-literal:: + + gedit ~/.bashrc & + +add the lines (you find them also in CFDEMCoupling-$WM_PROJECT_VERSION/src/lagrangian/cfdemParticle/etc/bashrc and cshrc respectively): + +.. parsed-literal:: + + #================================================# + #- source cfdem env vars + export CFDEM_VERSION=PUBLIC + export CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSION + export CFDEM_SRC_DIR=$CFDEM_PROJECT_DIR/src + export CFDEM_SOLVER_DIR=$CFDEM_PROJECT_DIR/applications/solvers + export CFDEM_DOC_DIR=$CFDEM_PROJECT_DIR/doc + export CFDEM_UT_DIR=$CFDEM_PROJECT_DIR/applications/utilities + export CFDEM_TUT_DIR=$CFDEM_PROJECT_DIR/tutorials + export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION + export CFDEM_bashrc=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc + export CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src + export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic + export CFDEM_LPP_DIR=$HOME/LIGGGHTS/mylpp/src + export CFDEM_PIZZA_DIR=$HOME/LIGGGHTS/PIZZA/gran_pizza_17Aug10/src + . $CFDEM_bashrc + #================================================# + +If you installed LIGGGHTS(R) or CFDEM(R)coupling in non-standard paths, please have a look at least at CFDEM_PROJECT_DIR and CFDEM_LIGGGHTS_SRC_DIR. +The standard CFDEM_LIGGGHTS_MAKEFILE_NAME is fedora_fpic, which works on most systems. However please checkout LIGGGHTS-PUBLIC/src/MAKE for additional makefiles, wich are available. The most used ones are fedora_fpic and ubuntuVTK_fpic. Beware that the CFDEMcoupling needs a fpic compilation to use LIGGGHTS as a library. Please check the "Advanced Settings" for VTK information. + +Save the ~/.bashrc, open a new terminal and test the settings. The commands: + +.. parsed-literal:: + + $CFDEM_PROJECT_DIR + $CFDEM_SRC_DIR + $CFDEM_LIGGGHTS_SRC_DIR + +should give "...: is a directory" otherwise something went wrong and the environment variables in ~/.bashrc are not set correctly. + +To specify the paths of pizza, please check the settings in $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc. + +If $CFDEM_SRC_DIR is set correctly, you can type + +.. parsed-literal:: + + cfdemSysTest + +to get some information if the paths are set correctly. + +**Compile LIGGGHTS(R) and CFDEM(R)coupling:** + +If above settings were done correctly, you can compile LIGGGHTS(R) by typing: + +.. parsed-literal:: + + cfdemCompLIG + +and you can then compile CFDEM(R)coupling by typing: + +.. parsed-literal:: + + cfdemCompCFDEM + +or compile both at once with: + +.. parsed-literal:: + + cfdemCompCFDEMall + +You can run the tutorial cases by executing .../etc/testTutorial.sh through the alias *cfdemTestTUT*. +Alternatively you can run each tutorial using the *Allrun.sh* scripts in the tutorial directories. + +In case questions concerning the installation arise, please feel free to contact our forum at www.cfdem.com. + +**Run Your Own Cases:** + +If you want to run your own cases, please do so in $CFDEM_PROJECT_USER_DIR/run which is automatically being generated. E.g. copy one of the tutorial cases there, adapt it to your needs. +Changes in $CFDEM_TUT_DIR will be lost after every *git stash*! + +**Additional Installations:** + +Optionally you can install lpp which will help you convert the DEM (dump) data to VTK format. For standard CFD-DEM runs this will not be necessary. To get the DEM postprocessing tool "lpp" you need python-numpy package installed: + +.. parsed-literal:: + + sudo apt-get install python-numpy + +You can pull the latest version of lpp with: + +.. parsed-literal:: + + cd $HOME/LIGGGHTS + +with git-protocol: +git clone git://github.com/CFDEMproject/LPP.git +with https: +git clone https://github.com/CFDEMproject/LPP.git + +**Backwards Compatibility:** + +Basically CFDEM(R)coupling supports one OpenFOAM(R) version therefore all settings are prepared for that. Nevertheless we try to maintain backwards compatibility as long as it works with reasonable effort. + +The supported OpenFOAM(R) and LIGGGHTS(R) versions are stated in: +src/lagrangian/cfdemParticle/cfdTools/versionInfo.H + +For using other versions you can manipulate: +src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H +(still not all functionality might work then!) + +**Advanced Settings:** + +Here some advanced settings and hints for non-standard compilations are presented. +As stated in the "Backwards Compatibility"-section, there are compiler flags for different OpenFOAM versions. Checkout src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H for compatibility settings. Just comment the current "#define version2X" in the top-section and uncomment the one you want to compile it with. + +There are advanced compilation settings for library-paths, includes and libraries are within the additionalLibs file in src/lagrangian/cfdemParticle/etc/additionalLibs. There are predefined files for different OpenFOAM versions. To use a different version, add the following lines to your .bashrc (.cshrc) before the standard CFDEM variables: + +.. parsed-literal:: + + export CFDEM_ADD_LIBS_DIR=FOLDER_OF_NEW_additionalLibs_FILE/ + +.. parsed-literal:: + + export CFDEM_ADD_LIBS_NAME=additionalLibs30x + +This is an example to use a predefined additionalLibs file for OpenFOAM-3.0.x. + +To enable direct VTK-dump (dump custom/vtk) support of LIGGGHTS and CFDEMcoupling, you have to install the VTK libraries. Either 5.8 or 6 are predefined for ubuntu. + +.. parsed-literal:: + + sudo apt-get libvtk5.8 libvtk5-dev + +Change "export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic" in your .bashrc according to your preferred LIGGGHTS makefile. +If you have a non-standard installation location you have to adapt the LIGGGHTS makefile accordingly. +To enable this feature in a coupled run the additionalLibs file has to be modified. +It basically needs to include the same libraries as the LIGGGHTS-Makefile. +E.g. for Ubuntu-14.04 with vtk-5.8: + +.. parsed-literal:: + + CFDEM_ADD_LIB_PATHS = -L/usr/include/vtk-5.8 + +.. parsed-literal:: + + CFDEM_ADD_LIBS = -lvtkCommon -lvtkFiltering -lvtkIO + +**Troubleshooting git:** + +* Troubles with git clone? + + +**a)** The git protocol will not work if your computer is behind a firewall which blocks the relevant TCP port, you can use alternatively https instead of git (write command in one line): + +git clone https://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION + +**b)** If you face the error: "error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/...", + +please use: env GIT_SSL_NO_VERIFY=true git clone https://github... + +(see http://stackoverflow.com/questions/3777075/https-github-access) + +**c)** If you face the error: "Agent admitted failure to sign using the key. Permission denied (publickey).", after ssh -T git@github.com + +please type: "ssh-add" + +(see: https://help.github.com/articles/error-agent-admitted-failure-to-sign) + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/liggghtsCommandModel.txt b/doc/_build/html/_sources/liggghtsCommandModel.txt new file mode 100644 index 0000000..d4826f3 --- /dev/null +++ b/doc/_build/html/_sources/liggghtsCommandModel.txt @@ -0,0 +1,50 @@ +.. index:: liggghtsCommandModel + +liggghtsCommandModel command +============================ + +Syntax +"""""" + +Defined in liggghtsCommmands dictionary. + +.. parsed-literal:: + + liggghtsCommandModels + ( + model_x + model_y + ); + +* model = name of the liggghtsCommandModel to be applied + +Examples +"""""""" + +.. parsed-literal:: + + liggghtsCommandModels + ( + runLiggghts + writeLiggghts + ); + +Note: This examples list might not be complete - please look for other models (liggghtsCommandModel_XY) in this documentation. + +Description +""""""""""" + +The liggghtsCommandModel is the base class to execute DEM commands within a CFD run. + +Restrictions +"""""""""""" + + +Works only with MPI coupling. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/liggghtsCommandModel_execute.txt b/doc/_build/html/_sources/liggghtsCommandModel_execute.txt new file mode 100644 index 0000000..6b088dc --- /dev/null +++ b/doc/_build/html/_sources/liggghtsCommandModel_execute.txt @@ -0,0 +1,99 @@ +.. index:: liggghtsCommandModel_execute + +liggghtsCommandModel_execute command +==================================== + +Syntax +"""""" + +Defined in liggghtsCommmands dictionary. + +.. parsed-literal:: + + liggghtsCommandModels + ( + execute + ); + executeProps0 + { + command + ( + run + $couplingInterval + ); + runFirst switch1; + runLast switch2; + runEveryCouplingStep switch3; + runEveryWriteStep switch4; + verbose; + } + +* *command* = LIGGGHTS command to be executed. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation) +* *switch1* = switch (choose on/off) if the command is executed only at first time step +* *switch2* = switch (choose on/off) if the command is executed only at last time step +* *switch3* = switch (choose on/off) if the command is executed at every coupling step +* *switch4* = switch (choose on/off) if the command is executed at every writing step +* *verbose* = (normally off) for verbose run + + +Examples +"""""""" + +.. parsed-literal:: + + liggghtsCommandModels + ( + execute + execute + ); + executeProps0 + { + command + ( + run + $couplingInterval + ); + runFirst off; + runLast off; + runEveryCouplingStep on; + } + executeProps1 + { + command + ( + write_restart + noBlanks + dotdot + slash + DEM + slash + liggghts.restart_ + timeStamp + ); + runFirst off; + runLast off; + runEveryCouplingStep off; + runEveryWriteStep on; + } + +Description +""""""""""" + +The execute liggghtsCommand Model can be used to execute a LIGGGHTS command during a CFD run. In above example execute_0 for instance executes "run $couplingInterval" every coupling step. $couplingInterval is automatically replaced by the correct number of DEM steps. Additionally execute_1 executes "write_restart ../DEM/liggghts.restart_$timeStamp" every writing step, where $timeStamp is automatically set. + +These rather complex execute commands can be replaced by the "readLiggghts" and "writeLiggghts" commands! +--------------------------------------------------------------------------------------------------------- + +Restrictions +"""""""""""" + None. + +Related commands +"""""""""""""""" + +:doc:`liggghtsCommandModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/liggghtsCommandModel_readLiggghtsData.txt b/doc/_build/html/_sources/liggghtsCommandModel_readLiggghtsData.txt new file mode 100644 index 0000000..aa20287 --- /dev/null +++ b/doc/_build/html/_sources/liggghtsCommandModel_readLiggghtsData.txt @@ -0,0 +1,91 @@ +.. index:: liggghtsCommandModel_readLiggghtsData + +liggghtsCommandModel_readLiggghtsData command +============================================= + +Syntax +"""""" + +Defined in liggghtsCommmands dictionary. + +.. parsed-literal:: + + liggghtsCommandModels + ( + readLiggghtsData + ); + readLiggghtsDataProps0 + { + startIndex "scalar1"; + verbose ; + exactTiming ; + filePath + ( + "word" + ); + runFirst "bool1"; + runEveryCouplingStep "bool2"; + startTime "scalar2"; + endTime "scalar3"; + timeInterval "scalar4"; + } + +* *scalar1* = start index of data file to be read +* *verbose* = (default off) flag for verbose run +* *exactTiming* = flag indicating that start time should be kept even during a coupling interval +* *filePath* = path to LIGGGHTS data file. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation) +* *bool1* = true if to be run at first timestep only (prio 1) +* *bool2* = true if to be run at every coupling step (prio 2) +* *scalar2* = if bool2 and bool3 false then starts at scalar2 (prio 3) run +* *scalar3* = if bool2 and bool3 false then it ends at scalar3 (prio 3) run +* *scalar4* = if bool2 and bool3 false then it repeats at scalar3 increasing the data file index (prio 3) run + + +Examples +"""""""" + +.. parsed-literal:: + + liggghtsCommandModels + ( + readLiggghtsData + ); + readLiggghtsDataProps0 + { + startIndex 0; + exactTiming true; + filePath + ( + dotdot + slash + DEM + slash + packing.data + ); + runFirst off; + runEveryCouplingStep off; + startTime 0.002; + endTime 0.012; + timeInterval 0.001; + } + +Description +""""""""""" + +The readLiggghtsData liggghtsCommand Model can be used to read liggghts data files into liggghts during runtime of a coupled simulation. + +Restrictions +"""""""""""" + + +Note: Model is not up to date. + +Related commands +"""""""""""""""" + +:doc:`liggghtsCommandModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/liggghtsCommandModel_runLiggghts.txt b/doc/_build/html/_sources/liggghtsCommandModel_runLiggghts.txt new file mode 100644 index 0000000..90f2c82 --- /dev/null +++ b/doc/_build/html/_sources/liggghtsCommandModel_runLiggghts.txt @@ -0,0 +1,51 @@ +.. index:: liggghtsCommandModel_runLiggghts + +liggghtsCommandModel_runLiggghts command +======================================== + +Syntax +"""""" + +Defined in liggghtsCommmands dictionary. + +.. parsed-literal:: + + liggghtsCommandModels + ( + runLiggghts + ); + //- optional + runLiggghtsProps + { + preNo true; + verbose; (optional) + } + +Examples +"""""""" + +.. parsed-literal:: + + liggghtsCommandModels + ( + runLiggghts + ); + +Description +""""""""""" + +The liggghtsCommand models can be used to execute a LIGGGHTS command during a CFD run. The "runLiggghts" command executes the command "run $nrDEMsteps", where $nrDEMsteps is automatically set according to the coupling intervals, every coupling step. Optionally a dictionary called runLiggghtsProps can be specified where the "preNo" switch can be set, which uses the command "run $nrDEMsteps pre no" for every time step except the first. + +Restrictions +"""""""""""" + Warning: the "pre no" option can cause troubles (dump data of particles changing the domain might be erroneous)! + +Related commands +"""""""""""""""" + +:doc:`liggghtsCommandModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/liggghtsCommandModel_setDEMGravity.txt b/doc/_build/html/_sources/liggghtsCommandModel_setDEMGravity.txt new file mode 100644 index 0000000..8ff2a76 --- /dev/null +++ b/doc/_build/html/_sources/liggghtsCommandModel_setDEMGravity.txt @@ -0,0 +1,70 @@ +.. index:: liggghtsCommandModel_setDEMGravity + +liggghtsCommandModel_setDEMGravity command +========================================== + +Syntax +"""""" + +Defined in liggghtsCommmands dictionary. + +liggghtsCommandModels +( + setDEMGravity +); + +.. parsed-literal:: + + setDEMGravityProps0 + { + runFirst switch1; + startTime scalar1; + endTime scalar2; + timeInterval scalar3; + verbose; + } + +* *switch1* = switch (must be on!!!) to select if executed only first step. +* *scalar1* = start time of command (use simulation start time) +* *scalar2* = end time of command (use simulation start time) +* *scalar3* = time interval of command (use 1.) + *verbose* = (normally off) for verbose run + + +Examples +"""""""" + +.. parsed-literal:: + + liggghtsCommandModels + ( + runLiggghts + setDEMGravity + ); + setDEMGravityProps1 + { + runFirst on; + startTime 0; + endTime 0; + timeInterval 1; + verbose; + } + +Description +""""""""""" + +The liggghtsCommand models can be used to set LIGGGHTS gravity during a CFD run. + +Restrictions +"""""""""""" + None. + +Related commands +"""""""""""""""" + +:doc:`liggghtsCommandModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/liggghtsCommandModel_writeLiggghts.txt b/doc/_build/html/_sources/liggghtsCommandModel_writeLiggghts.txt new file mode 100644 index 0000000..9ecbc6f --- /dev/null +++ b/doc/_build/html/_sources/liggghtsCommandModel_writeLiggghts.txt @@ -0,0 +1,62 @@ +.. index:: liggghtsCommandModel_writeLiggghts + +liggghtsCommandModel_writeLiggghts command +========================================== + +Syntax +"""""" + +Defined in liggghtsCommmands dictionary. + +.. parsed-literal:: + + liggghtsCommandModels + ( + writeLiggghts + ); + //- optional + writeLiggghtsProps + { + writeLast switch1; + path "path"; + writeName "name"; + overwrite switch2; + verbose; + } + +* *switch1* = switch (choose on/off) to select if only last step is stored or every write step (default on). +* *path* = optionally an alternative path (relative to execution directory) for saving the restart file can be defined (default "../DEM"). +* *name* = name of the restart file to be written in /$caseDir/DEM/ default (default "liggghts.restartCFDEM") +* *switch2* = switch (choose on/off) to select if only one restart file $name or many files $name_$timeStamp are written (default off) + *verbose* = (default off) for verbose run + + +Examples +"""""""" + +.. parsed-literal:: + + liggghtsCommandModels + ( + runLiggghts + writeLiggghts + ); + +Description +""""""""""" + +The liggghtsCommand models can be used to execute a LIGGGHTS command during a CFD write. The "writeLiggghts" command executes the command "write_restart $name", where $name is the name of the restart file, every write step. + +Restrictions +"""""""""""" + None. + +Related commands +"""""""""""""""" + +:doc:`liggghtsCommandModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/locateModel.txt b/doc/_build/html/_sources/locateModel.txt new file mode 100644 index 0000000..05dac3b --- /dev/null +++ b/doc/_build/html/_sources/locateModel.txt @@ -0,0 +1,40 @@ +.. index:: locateModel + +locateModel command +=================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + locateModel model; + +* model = name of the locateModel to be applied + +Examples +"""""""" + +.. parsed-literal:: + + locateModel engine; + +Note: This examples list might not be complete - please look for other models (locateModel_XY) in this documentation. + +Description +""""""""""" + +The locateModel is the base class for models which search for the CFD cell and cellID corresponding to a position. In general it is used to find the cell a particle is located in. + +Restrictions +"""""""""""" + none. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/locateModel_engineSearch.txt b/doc/_build/html/_sources/locateModel_engineSearch.txt new file mode 100644 index 0000000..48d60bf --- /dev/null +++ b/doc/_build/html/_sources/locateModel_engineSearch.txt @@ -0,0 +1,55 @@ +.. index:: locateModel_engineSearch + +locateModel_engineSearch command +================================ + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + locateModel engine; + engineProps + { + treeSearch switch1; + } + +* *switch1* = (optional, default true) switch to use tree search algorithm + + +Examples +"""""""" + +.. parsed-literal:: + + locateModel engine; + engineProps + { + treeSearch true; + } + +Description +""""""""""" + +The locateModel "engine" locates the CFD cell and cellID corresponding to a given position. +The engineSearch locate model can be used with different settings to use different algorithms: + +* treeSearch false; will execute some geometric (linear) search using the last known cellID +* treeSearch true; will use a recursive tree structure to find the cell (recommended). + + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`locateModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/locateModel_engineSearchIB.txt b/doc/_build/html/_sources/locateModel_engineSearchIB.txt new file mode 100644 index 0000000..38686d4 --- /dev/null +++ b/doc/_build/html/_sources/locateModel_engineSearchIB.txt @@ -0,0 +1,68 @@ +.. index:: locateModel_engineSearchIB + +locateModel_engineSearchIB command +================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + locateModel engineIB; + engineIBProps + { + treeSearch switch1; + zSplit value1; + xySplit value2; + checkPeriodicCells; + } + +* *switch1* = names of the finite volume scalar fields to be temporally averaged +* *value1* = number of z-normal layers for satellite points +* *value2* = number of satellite points in each layer +* *checkPeriodicCells* = (optional, default false) flag for considering the minimal distance to all periodic images of this particle + + +Examples +"""""""" + +.. parsed-literal:: + + locateModel engineIB; + engineIBProps + { + treeSearch false; + zSplit 8; + xySplit 16; + } + +Description +""""""""""" + +The locateModel "engine" locates the CFD cell and cellID corresponding to a given position. This locate model is especially designed for parallel immersed boundary method. Each particle is represented by "satellite points" if it is distributed over several processors. + +The engineSearchIB locate Model can be used with different settings to use different algorithms: + +* treeSearch false; will execute some geometric (linear) search using the last known cellID (recommended) +* treeSearch true; will use a recursive tree structure to find the cell. + + +This model is a modification of the engine search model. Instead of using the centre-cell as starting point for the engine search, further satellite points located on the surface of the sphere are checked. This ensures that (parts of) spheres can be located even when their centre is on another processor. This is especially important for parallel computations, when a sphere is about to move from one processor to another. + +Restrictions +"""""""""""" + + +Only for immersed boundary solvers! + +Related commands +"""""""""""""""" + +:doc:`locateModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/locateModel_standardSearch.txt b/doc/_build/html/_sources/locateModel_standardSearch.txt new file mode 100644 index 0000000..4c9f7ee --- /dev/null +++ b/doc/_build/html/_sources/locateModel_standardSearch.txt @@ -0,0 +1,39 @@ +.. index:: locateModel_standardSearch + +locateModel_standardSearch command +================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + locateModel standard; + +Examples +"""""""" + +.. parsed-literal:: + + locateModel standard; + +Description +""""""""""" + +The locateModel "standard" locates the CFD cell and cellID corresponding to a given position. A very straight-forward (robust!) locate algorithm is used. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`locateModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/meshMotionModel.txt b/doc/_build/html/_sources/meshMotionModel.txt new file mode 100644 index 0000000..52aef58 --- /dev/null +++ b/doc/_build/html/_sources/meshMotionModel.txt @@ -0,0 +1,40 @@ +.. index:: meshMotionModel + +meshMotionModel command +======================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + meshMotionModel model; + +* model = name of the meshMotionModel to be applied + +Examples +"""""""" + +.. parsed-literal:: + + meshMotionModel noMeshMotion; + +Note: This examples list might not be complete - please look for other models (meshMotionModel_XY) in this documentation. + +Description +""""""""""" + +The meshMotionModel is the base class for models which manipulate the CFD mesh according to the DEM mesh motion. + +Restrictions +"""""""""""" + none. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/meshMotionModel_noMeshMotion.txt b/doc/_build/html/_sources/meshMotionModel_noMeshMotion.txt new file mode 100644 index 0000000..8c65b83 --- /dev/null +++ b/doc/_build/html/_sources/meshMotionModel_noMeshMotion.txt @@ -0,0 +1,39 @@ +.. index:: meshMotionModel_noMeshMotion + +meshMotionModel_noMeshMotion command +==================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + meshMotionModel noMeshMotion; + +Examples +"""""""" + +.. parsed-literal:: + + meshMotionModel noMeshMotion; + +Description +""""""""""" + +The noMeshMotion-model is a dummy meshMotion model. + +Restrictions +"""""""""""" + None. + +Related commands +"""""""""""""""" + +:doc:`meshMotionModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/momCoupleModel.txt b/doc/_build/html/_sources/momCoupleModel.txt new file mode 100644 index 0000000..4a8ff24 --- /dev/null +++ b/doc/_build/html/_sources/momCoupleModel.txt @@ -0,0 +1,51 @@ +.. index:: momCoupleModel + +momCoupleModel command +====================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + momCoupleModels + ( + model + ); + +* model = name of the momCoupleModel to be applied + +Examples +"""""""" + +.. parsed-literal:: + + momCoupleModels + ( + implicitCouple + ); + +Note: This examples list might not be complete - please look for other models (momCoupleModel_XY) in this documentation. + +Forces can be coupled in an implicit way to the fluid solver (i.e., when solving the Navier-Stokes equations, the fluid velocity at the new time will be considered for the coupling force). This implicit coupling is typically done for the drag forces (look for "impForces()" in the implementation of the drag model). Implicit coupling is more stable (especially important for dense flows), but conflicts Newton's third law. Explicit forces are imposed on the flow solver in an explicit fashion (look for "expForces()" in the implementation of the drag model), which is less stable, but does not conflict Newton's third law. + +Note that the variable "imExSplitFactor" can be set in the couplingProperties in order to treat implicitly defined forces (in the implementation of the force model) as explicit ones. "imExSplitFactor 1.0;" is set by default, meaning that all implicit forces will be considered implicitly, whereas "imExSplitFactor 0.0;" would mean that implicitly defined forces will be treated in an explicit fashion. + +Note that the switch "treatVoidCellsAsExplicitForce true;" can be set in the couplingProperties in order to change the treatment of cells which are void of particles. This is only relevant if (i) smoothing is used, and (ii) implicit force coupling is performed. By default, the particle veloctiy field (Us) will be smoothed to obtain a meaningful reference quantity for the implicit force coupling. In case "treatVoidCellsAsExplicitForce true;" is set, however, Us will not be smoothed and implicit forces (after the smoothing has been performed) in cells void of particles be treated as explicit ones. This avoids the problem of defining Us in cells that are void of particles, but for which an implicit coupling force is obtained in the smoothing process. +Description +""""""""""" + +The momCoupleModel is the base class for momentum exchange between DEM and CFD simulation. + +Restrictions +"""""""""""" + none. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/momCoupleModel_explicitCouple.txt b/doc/_build/html/_sources/momCoupleModel_explicitCouple.txt new file mode 100644 index 0000000..872d186 --- /dev/null +++ b/doc/_build/html/_sources/momCoupleModel_explicitCouple.txt @@ -0,0 +1,58 @@ +.. index:: momCoupleModel_explicitCouple + +momCoupleModel_explicitCouple command +===================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + momCoupleModels + ( + explicitCouple + ); + explicitCoupleProps + { + fLimit vector; + } + +* *vector* = limiter vector for explicit force term (default (1e10,1e10,1e10) ) + + +Examples +"""""""" + +.. parsed-literal:: + + momCoupleModels + ( + explicitCouple + ); + explicitCoupleProps + { + fLimit (1e3 1e2 1e4); + } + +Description +""""""""""" + +The explicitCouple-model is a momCoupleModel model providing an explicit momentum source term for the CFD solver and additionally it superposes an additional source field which can be set via the function setSourceField. + +Restrictions +"""""""""""" + + +Only for solvers that include explicit momentum exchange. + +Related commands +"""""""""""""""" + +:doc:`momCoupleModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/momCoupleModel_implicitCouple.txt b/doc/_build/html/_sources/momCoupleModel_implicitCouple.txt new file mode 100644 index 0000000..9303c79 --- /dev/null +++ b/doc/_build/html/_sources/momCoupleModel_implicitCouple.txt @@ -0,0 +1,66 @@ +.. index:: momCoupleModel_implicitCouple + +momCoupleModel_implicitCouple command +===================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + momCoupleModels + ( + implicitCouple + ); + implicitCoupleProps + { + velFieldName "U"; + granVelFieldName "Us"; + voidfractionFieldName "voidfraction"; + minAlphaP number; + } + +* *U* = name of the finite volume fluid velocity field +* *Us* = name of the finite volume granular velocity field +* *voidfraction* = name of the finite volume voidfraction field +*number* = minimum value for local particle volume fraction to calculate the exchange filed (default SMALL):l + + +Examples +"""""""" + +.. parsed-literal:: + + momCoupleModels + ( + implicitCouple + ); + implicitCoupleProps + { + velFieldName "U"; + granVelFieldName "Us"; + voidfractionFieldName "voidfraction"; + } + +Description +""""""""""" + +The implicitCouple-model is a momCoupleModel model providing an implicit momentum source term for the CFD solver. + +Restrictions +"""""""""""" + + +Only for solvers that include implicit momentum exchange. + +Related commands +"""""""""""""""" + +:doc:`momCoupleModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/momCoupleModel_noCouple.txt b/doc/_build/html/_sources/momCoupleModel_noCouple.txt new file mode 100644 index 0000000..f2d5d62 --- /dev/null +++ b/doc/_build/html/_sources/momCoupleModel_noCouple.txt @@ -0,0 +1,47 @@ +.. index:: momCoupleModel_noCouple + +momCoupleModel_noCouple command +=============================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + momCoupleModels + ( + off + ); + +Examples +"""""""" + +.. parsed-literal:: + + momCoupleModels + ( + off + ); + +Description +""""""""""" + +The noCouple-model is a dummy momCoupleModel model providing a no momentum source term for the CFD solver. + +Restrictions +"""""""""""" + + +Only for solvers that include no momentum exchange, e.g. immersed boundary. + +Related commands +"""""""""""""""" + +:doc:`momCoupleModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/probeModel.txt b/doc/_build/html/_sources/probeModel.txt new file mode 100644 index 0000000..c611471 --- /dev/null +++ b/doc/_build/html/_sources/probeModel.txt @@ -0,0 +1,52 @@ +.. index:: probeModel + +probeModel command +================== + +Syntax +"""""" + +To be activated via couplingProperties dictionary. + +.. parsed-literal:: + + probeModel myProbeModel; + +Use probe model "off" to disable this feature. + +.. parsed-literal:: + + myProbeModelProps + +.. parsed-literal:: + + { + +.. parsed-literal:: + + }; + +Examples +"""""""" + +See :doc:`particleProbe ` + +Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. + +Description +""""""""""" + +The probeModel feature allows to implement various probing features in CFDEM. Currently, only the :doc:`particleProbe ` model is implemented, that performs probing of particle forces. + +Restrictions +"""""""""""" + + +None. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/probeModel_noProbe.txt b/doc/_build/html/_sources/probeModel_noProbe.txt new file mode 100644 index 0000000..3aa7514 --- /dev/null +++ b/doc/_build/html/_sources/probeModel_noProbe.txt @@ -0,0 +1,51 @@ +.. index:: probeModel_noProbe + +probeModel_noProbe command +========================== + +Syntax +"""""" + +To be activated via couplingProperties dictionary. + +.. parsed-literal:: + + forceModels + { + myForceModel1 + myForceModel2 + myForceModel3 + }; + +probeModel off; + +Examples +"""""""" + +.. parsed-literal:: + + probeModel off; + +Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. + +Description +""""""""""" + +Does not perform any probing. + +Restrictions +"""""""""""" + + +None. + +**Related commands which are currently enabled for particle probing:** + +:doc:`particleProbe ` + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/probeModel_particleProbe.txt b/doc/_build/html/_sources/probeModel_particleProbe.txt new file mode 100644 index 0000000..69c2cb0 --- /dev/null +++ b/doc/_build/html/_sources/probeModel_particleProbe.txt @@ -0,0 +1,90 @@ +.. index:: probeModel_particleProbe + +probeModel_particleProbe command +================================ + +Syntax +"""""" + +To be activated via couplingProperties dictionary. + +forceModels +( + myForceModel1 + myForceModel2 + myForceModel3 +); + +probeModel particleProbe; + +.. parsed-literal:: + + particleProbeProps + { + particleIDsToSample (ID1 ID2 ID3 ...); //list of particleIDs to sample + verboseToFile; //main switch + verbose; //currently not used + printEvery xEvery; //print every this many CFD time steps + printOnlyAtStep xStep; //print only at this CFD time step (overrides "printEvery") + sampleAll; //Activate sampling for all particles + probeDebug; //probes additional fields + includePosition; //will include particle position in the output file + writePrecision xPrecision; //number of significant digits to print + }; + +* *particleIDsToSample* = list of particle IDs to be sampled. +* *myForceModeli* = list of force models in the simulation, the particleProbe will be applied to all of these models! +* *verboseToFile* = main switch to activate the particle probe (default = off). +* *verbose* = main switch to activate output to Info (currently not implemented). +* *xEvery* = integer to specify the interval for sampling (default = 1, i.e., probing occurs every CFD time step). +* *xStep* = integer to specify the step for sampling (default = deactivated, i.e., it will print accordingly to "printEvery"). +* *sampleAll* = switch to activate sampling of all particles. Otherwise (default) only particles specified via "particleIDsToSample" in the couplingProperties dictionary will be sampled. +* *probeDebug* = switch to activate probing of debug properties of secondary importance (specific for each force model). +* *includePosition* = switch to add the particle position in the log file (default = off). +* *xPrecision*= number of significant digits of the text output (default = 3). + + +Examples +"""""""" + +.. parsed-literal:: + + particleIDsToSample (0 1 2 3); + forceModels + ( + gradPForce + ); + particleProbeProps + { + verboseToFile; //main switch + verbose; //currently not used + printEvery 100; //print every this many CFD time steps + sampleAll; //Activate sampling for all particles + probeDebug; //probes additional fields + includePosition; //will include particle position in the output file + writePrecision 4; //number of significant digits to print + }; + +Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. + +Description +""""""""""" + +The particleProbe feature keeps track of per-particle quantities (e.g., the fluid-particle interaction forces) acting on each DEM particle, and handles its storage during the simulation. Data is saved in the CFD/particleProbes/startTime directory, where startTime is the time at which the simulation is started (this avoids unwanted deletion of particleProbe data). + +Restrictions +"""""""""""" + + +You can manually switch off the probe model for each force model by specifying the Switch "suppressProbe" in the corresponding force properties dictionary. + +**Related commands which are currently enabled for particle probing:** + +:doc:`gradPForce `, :doc:`viscForce `, :doc:`BeetstraDrag `, :doc:`HollowayDrag `, :doc:`MeiLift `, as well as most other forceModels (see src directory for details, i.e., use "grep -r 'probeM(' ./" in the terminal). + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/regionModel.txt b/doc/_build/html/_sources/regionModel.txt new file mode 100644 index 0000000..15e74c0 --- /dev/null +++ b/doc/_build/html/_sources/regionModel.txt @@ -0,0 +1,40 @@ +.. index:: regionModel + +regionModel command +=================== + +Syntax +"""""" + +Note: In the current CFDEMcoupling version, this model is no longer used. Defined in couplingProperties dictionary. + +.. parsed-literal:: + + regionModel model; + +* model = name of the regionModel to be applied + +Examples +"""""""" + +.. parsed-literal:: + + regionModel allRegion; + +Note: This examples list might not be complete - please look for other models (regionModel_XY) in this documentation. + +Description +""""""""""" + +The regionModel is the base class for region models to select a certain region for coupled simulation. + +Restrictions +"""""""""""" + none. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/regionModel_allRegion.txt b/doc/_build/html/_sources/regionModel_allRegion.txt new file mode 100644 index 0000000..a8db89f --- /dev/null +++ b/doc/_build/html/_sources/regionModel_allRegion.txt @@ -0,0 +1,39 @@ +.. index:: regionModel_allRegion + +regionModel_allRegion command +============================= + +Syntax +"""""" + +Note: In the current CFDEMcoupling version, this model is no longer used. Defined in couplingProperties dictionary. + +.. parsed-literal:: + + regionModel allRegion; + +Examples +"""""""" + +.. parsed-literal:: + + regionModel allRegion; + +Description +""""""""""" + +The allRegion-model is a region model including the whole CFD region for the coupling. + +Restrictions +"""""""""""" + None. + +Related commands +"""""""""""""""" + +:doc:`regionModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/scalarTransportModel.txt b/doc/_build/html/_sources/scalarTransportModel.txt new file mode 100644 index 0000000..7bdca53 --- /dev/null +++ b/doc/_build/html/_sources/scalarTransportModel.txt @@ -0,0 +1,95 @@ +.. index:: scalarTransportModel + +scalarTransportModel command +============================ + +Syntax +"""""" + +Defined in scalarTransportProperties dictionary. A variety of derived classes exist that implement different physics of the scalarTransportModel. Here, the most general one, i.e., 'generalManual' is discussed. If no scalar transport shall be used, use the model 'none'. + +.. parsed-literal:: + + generalManualProps + { + phiFieldName *phiName*; + voidfractionFieldName *voidfractionName*; + ScT *scalar1*; + PrT *scalar2*; + cpVolumetric *scalar3*; + cpVolumetricFieldName *word1*; + rhoMixFieldName *word2*; + eulerianFields + ( + *C* + *T* + ); + +.. parsed-literal:: + + } + +* *phiName* = (optional) name of the surface field for the SUPERFICIAL flux, default "phi". +* *voidfractionName* = (optional) name of the finite volume voidfraction field, default "voidfraction". +* *scalar1* = (optional, default 0.7) turbulent Schmidt Nr, set to large value to suppress turbulent species transport +* *scalar2* = (optional, default 0.7) turbulent Prandtl Nr, set to large value to suppress turbulent heat transport +* *scalar3* = (optional, alternatively define word1) volumetric heat capacity as a global constant (in contrast to cpVolumetricFieldName for a field). This is the mixture density times the heat capacity **J/K/(m_voidspace)^3**, will only be used if cpVolumetricFieldName, or updateMixtureProperties = false +* *word1* = (optional, alternatively define scalar3) volumetric heat capacity as a field +* *word3* = mixture density field +* *C* = concentration field name +* *T* = temperature field name + + +Examples +"""""""" + +.. parsed-literal:: + + generalManualProps + { + phiFieldName "phi"; + ScT 0.7; + PrT 0.7; + cpVolumetric 1196; + rhoMixFieldName "rhoMix"; + eulerianFields + ( + C + T + ); + +.. parsed-literal:: + + fvOptionsC + { + }; + +.. parsed-literal:: + + fvOptionsT + { + }; + +.. parsed-literal:: + + } + +Description +""""""""""" + +Solves the advection-dispersion transport equation for a dilute scalar quantity in the fluid phase. fvOptions can be specified to model sources, etc. in the fluid phase. Exchange models with a particle phase can be included by including appropriate forceModels in couplingProperties. + +Restrictions +"""""""""""" + +The user MUST ensure the "phi" field is SUPERFICIAL (i.e., the fluid-phase velocity times voidfraction interpolatedat the cells' faces). The code cannot know or check whether this is the case, so the user of a certain solver has to ensure this. + +Related commands +"""""""""""""""" + +none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/smoothingModel.txt b/doc/_build/html/_sources/smoothingModel.txt new file mode 100644 index 0000000..8709519 --- /dev/null +++ b/doc/_build/html/_sources/smoothingModel.txt @@ -0,0 +1,50 @@ +.. index:: smoothingModel + +smoothingModel command +====================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + smoothingModel model; + +* model = name of the smoothingModel to be applied + +Examples +"""""""" + +.. parsed-literal:: + + smoothingModel off; + +.. parsed-literal:: + + smoothingModel constDiffSmoothing; + +.. parsed-literal:: + + smoothingModel localPSizeDiffSmoothing; + +Note: This examples list might not be complete - please look for other models (smoothingModel_XY) in this documentation. + +ATTENTION: In case a smoothing model is used in conjunction with "PimpleImEx" solvers, the fields "f" and "fSmooth" must be placed in the initial time directory! This is because zeroGradient boundary conditions for the fields "f" and "fSmooth" must be specified, otherwise the smoothing operation will give an Error. + +Description +""""""""""" + +The smoothingModel is the base class for models that smoothen the exchange fields (i.e., voidfraction and the Ksl field in case of implicit force coupling). This is relevant in case one uses a small grid resolution compared to the local particle diameter (or parcel diameter in case one uses a parcel approach). + +Restrictions +"""""""""""" + These models are in beta testing. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/smoothingModel_constDiffSmoothing.txt b/doc/_build/html/_sources/smoothingModel_constDiffSmoothing.txt new file mode 100644 index 0000000..e5c7e3b --- /dev/null +++ b/doc/_build/html/_sources/smoothingModel_constDiffSmoothing.txt @@ -0,0 +1,63 @@ +.. index:: smoothingModel_constDiffSmoothing + +smoothingModel_constDiffSmoothing command +========================================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + smoothingModel constDiffSmoothing; + constDiffSmoothingProps + { + lowerLimit number1; + upperLimit number2; + smoothingLength lengthScale; + smoothingLengthReferenceField lengthScaleRefField; + verbose; + } + +* *number1* = scalar fields will be bound to this lower value +* *number2* = scalar fields will be bound to this upper value +* *lengthScale* = length scale over which the exchange fields will be smoothed out +* *lengthScaleRefField* = length scale over which reference fields (e.g., the average particle velocity) will be smoothed out. Should be always larger than lengthScale. If not specified, will be equal to lengthScale. +* *verbose* = (optional, default false) flag for debugging output + + +Examples +"""""""" + +.. parsed-literal:: + + constDiffSmoothingProps + { + lowerLimit 0.1; + upperLimit 1e10; + smoothingLength 1500e-6; + smoothingLengthReferenceField 9000e-6; + } + +Description +""""""""""" + +The "constDiffSmoothing" model is a basic smoothingModel model which reads a smoothing length scale being used for smoothing the exchange fields (voidfraction, Ksl, f if present). This model can be used for smoothing explicit force coupling fields, as well as implicit force coupling algorithms. +Smoothing for reference fields is performed to "fill in" values in cells in which these reference fields are not specified. Values calculated in the cells (via Lagrangian-To-Euler mapping) are NOT changed! These reference fields are, e.g., the average particle velocity, which are not specified in all cells in case the flow is rather dilute. + +Restrictions +"""""""""""" + This model is tested in a limited number of flow situations. + +ATTENTION: In case a smoothing model is used in conjunction with "PimpleImEx" solvers, the fields "f" and "fSmooth" must be placed in the initial time directory! This is because zeroGradient boundary conditions for the fields "f" and "fSmooth" must be specified, otherwise the smoothing operation will give an Error. + +Related commands +"""""""""""""""" + +:doc:`smoothingModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/smoothingModel_noSmoothing.txt b/doc/_build/html/_sources/smoothingModel_noSmoothing.txt new file mode 100644 index 0000000..a312bfa --- /dev/null +++ b/doc/_build/html/_sources/smoothingModel_noSmoothing.txt @@ -0,0 +1,39 @@ +.. index:: smoothingModel_noSmoothing + +smoothingModel_noSmoothing command +================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + smoothingModel off; + +Examples +"""""""" + +.. parsed-literal:: + + smoothingModel off; + +Description +""""""""""" + +The "noSmoothing" model is a dummy smoothingModel model which does no smoothing. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`smoothingModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/voidFractionModel.txt b/doc/_build/html/_sources/voidFractionModel.txt new file mode 100644 index 0000000..975ea8a --- /dev/null +++ b/doc/_build/html/_sources/voidFractionModel.txt @@ -0,0 +1,40 @@ +.. index:: voidfractionModel + +voidfractionModel command +========================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + voidfractionModel model; + +* model = name of the voidfractionModel to be applied + +Examples +"""""""" + +.. parsed-literal:: + + voidfractionModel centre; + +Note: This examples list might not be complete - please look for other models (voidfractionModel_XY) in this documentation. + +Description +""""""""""" + +The voidfractionModel is the base class for models to represent the DEM particle's volume in the CFD domain via a voidfraction field. + +Restrictions +"""""""""""" + none. + +**Default:** none. + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/voidFractionModel_GaussVoidFraction.txt b/doc/_build/html/_sources/voidFractionModel_GaussVoidFraction.txt new file mode 100644 index 0000000..8ee13e7 --- /dev/null +++ b/doc/_build/html/_sources/voidFractionModel_GaussVoidFraction.txt @@ -0,0 +1,63 @@ +.. index:: voidfractionModel_GaussVoidFraction + +voidfractionModel_GaussVoidFraction command +=========================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + voidfractionModel Gauss; + GaussProps + { + maxCellsPerParticle number1; + alphaMin number2; + weight number3; + porosity number4; + } + +* *number1* = maximum number of cells covered by a particle (search will fail when more than *number1* cells are covered by the particle) +* *number2* = minimum limit for voidfraction +* *number3* = (optional) scaling of the particle volume to account for porosity or agglomerations. +* *number4* = (optional) diameter of the particle's representation is artificially increased according to *number2* * Vparticle, volume remains unaltered! + + +Examples +"""""""" + +.. parsed-literal:: + + voidfractionModel Gauss; + GaussProps + { + maxCellsPerParticle 1000; + alphaMin 0.10; + weight 1.; + porosity 1.; + } + +Description +""""""""""" + +The Gauss voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle. The volume is here distributed according to a Gaussian distribution. + +The region of influence of a particle can be increased artificially by "porosity", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. + +The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`voidfractionModel ` , :doc:`bigParticle ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/voidFractionModel_IBVoidFraction.txt b/doc/_build/html/_sources/voidFractionModel_IBVoidFraction.txt new file mode 100644 index 0000000..4ca12a8 --- /dev/null +++ b/doc/_build/html/_sources/voidFractionModel_IBVoidFraction.txt @@ -0,0 +1,62 @@ +.. index:: voidfractionModel_IBVoidFraction + +voidfractionModel_IBVoidFraction command +======================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + voidfractionModel IB; + IBProps + { + maxCellsPerParticle number1; + alphaMin number2; + scaleUpVol number3; + checkPeriodicCells ; + } + +* *number1* = maximum number of cells covered by a particle (search will fail when more than *number1* cells are covered by the particle) +* *number2* = minimum limit for voidfraction +* *number3* = diameter of the particle's representation is artificially increased according to *number3* * Vparticle, volume remains unaltered! +* *checkPeriodicCells* = (optional, default false) flag for considering the minimal distance to all periodic images of this particle + + +Examples +"""""""" + +.. parsed-literal:: + + voidfractionModel IB; + IBProps + { + maxCellsPerParticle 1000; + alphaMin 0.10; + scaleUpVol 5.0; + } + +Description +""""""""""" + +The IB voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle. The model is specially designed for cfdemSolverIB and creates a smooth transition of the voidfraction at the particle surface. Cells which are only partially covered by solid are marked by voidfraction values between 0 and 1 respectively. + +The region of influence of a particle can be increased artificially by "scaleUpVol", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. + +Code of this sub-model contributed by Alice Hager, JKU. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`voidfractionModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/voidFractionModel_bigParticleVoidFraction.txt b/doc/_build/html/_sources/voidFractionModel_bigParticleVoidFraction.txt new file mode 100644 index 0000000..5895a15 --- /dev/null +++ b/doc/_build/html/_sources/voidFractionModel_bigParticleVoidFraction.txt @@ -0,0 +1,65 @@ +.. index:: voidfractionModel_bigParticleVoidFraction + +voidfractionModel_bigParticleVoidFraction command +================================================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + voidfractionModel bigParticle; + bigParticleProps + { + maxCellsPerParticle number1; + alphaMin number2; + weight number3; + porosity number4; + } + +* *number1* = maximum number of cells covered by a particle (search will fail when more than *number1* cells are covered by the particle) +* *number2* = minimum limit for voidfraction +* *number3* = (optional) scaling of the particle volume to account for porosity or agglomerations. +* *number4* = (optional) diameter of the particle's representation is artificially increased according to *number2* * Vparticle, volume remains unaltered! + + +Examples +"""""""" + +.. parsed-literal:: + + voidfractionModel bigParticle; + bigParticleProps + { + maxCellsPerParticle 1000; + alphaMin 0.10; + weight 1.; + porosity 5.0; + } + +Description +""""""""""" + +The bigParticle voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle which results in a stairstep representation of the bodies within the mesh (i.e. voidfraction is either 1 (fluid) of zero (solid)). For archiving accurate results, approx. 8 cells per particle diameter are necessary. + +The region of influence of a particle can be increased artificially by "porosity", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. + +The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. + +Parts of this sub-model contributed by Alice Hager, JKU. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`voidfractionModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/voidFractionModel_centreVoidFraction.txt b/doc/_build/html/_sources/voidFractionModel_centreVoidFraction.txt new file mode 100644 index 0000000..e429d67 --- /dev/null +++ b/doc/_build/html/_sources/voidFractionModel_centreVoidFraction.txt @@ -0,0 +1,55 @@ +.. index:: voidfractionModel_centreVoidFraction + +voidfractionModel_centreVoidFraction command +============================================ + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + voidfractionModel centre; + centreProps + { + alphaMin number1; + weight number2; + } + +* *number1* = minimum limit for voidfraction +* *number2* = (optional) scaling of the particle volume to account for porosity or agglomerations. + + +Examples +"""""""" + +.. parsed-literal:: + + voidfractionModel centre; + centreProps + { + alphaMin 0.1; + weight 1.; + } + +Description +""""""""""" + +The centre voidFraction model calculates the voidfraction in a CFD cell accounting for the volume of the particles whose centres are inside the cell. + +The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`voidfractionModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/voidFractionModel_dividedVoidFraction.txt b/doc/_build/html/_sources/voidFractionModel_dividedVoidFraction.txt new file mode 100644 index 0000000..2896295 --- /dev/null +++ b/doc/_build/html/_sources/voidFractionModel_dividedVoidFraction.txt @@ -0,0 +1,69 @@ +.. index:: voidfractionModel_dividedVoidFraction + +voidfractionModel_dividedVoidFraction command +============================================= + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + voidfractionModel divided; + dividedProps + { + alphaMin number1; + interpolation; + weight number2; + porosity number3; + procBoundaryCorrection Switch1; + verbose; + cfdemUseOnly; + } + +* *number1* = minimum limit for voidfraction +* *interpolation* = flag to interpolate voidfraction to particle positions (normally off) +* *number2* = (optional) scaling of the particle volume to account for porosity or agglomerations. +* *number3* = (optional) diameter of the particle's representation is artificially increased according to *number2* * Vparticle, volume remains unaltered! +* *Switch1* = (optional, default false) allow for correction at processor boundaries. This requires the use of engineIB and vice versa. +* *verbose* = (optional, default false) flag for debugging output +* *cfdemUseOnly* = optional flag, default false + + +Examples +"""""""" + +.. parsed-literal:: + + voidfractionModel divided; + dividedProps + { + alphaMin 0.2; + } + +Description +""""""""""" + +The divided voidFraction model is supposed to be used when a particle (or its representation) is in the size range of a CFD cell. Satellite points are used to divide the particle's volume to the touched cells. + +The region of influence of a particle can be increased artificially by "porosity", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. + +The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. + +In the basic implementation of solvers, the void fraction is calculated based on all particles. Depending on the solver used, the void fraction calculation is also performed for a certain type of particles. +The void fraction calculation is based on a three-step approach (reset, set and interpolate), i.e., the void fraction is time interpolated from a previous and a next void fraction field. Appropriate names for these fields have to be specified in the sub-dictionaries voidFracFieldNamesPrev and voidFracFieldNamesNext in the couplingProperties dictionary. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`voidfractionModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/voidFractionModel_noVoidFraction.txt b/doc/_build/html/_sources/voidFractionModel_noVoidFraction.txt new file mode 100644 index 0000000..967df09 --- /dev/null +++ b/doc/_build/html/_sources/voidFractionModel_noVoidFraction.txt @@ -0,0 +1,35 @@ +.. index:: voidfractionModel_noVoidFractionVoidFraction + +voidfractionModel_noVoidFractionVoidFraction command +==================================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +voidfractionModel noVoidFraction; + +Examples +"""""""" + +voidfractionModel noVoidFraction; + +Description +""""""""""" + +The noVoidFraction voidFraction model is a dummy model and has no physical meaning. + +Restrictions +"""""""""""" + none. + +Related commands +"""""""""""""""" + +:doc:`voidfractionModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_sources/voidFractionModel_trilinearVoidFraction.txt b/doc/_build/html/_sources/voidFractionModel_trilinearVoidFraction.txt new file mode 100644 index 0000000..7d23123 --- /dev/null +++ b/doc/_build/html/_sources/voidFractionModel_trilinearVoidFraction.txt @@ -0,0 +1,50 @@ +.. index:: voidfractionModel_trilinearVoidFraction + +voidfractionModel_trilinearVoidFraction command +=============================================== + +Syntax +"""""" + +Defined in couplingProperties dictionary. + +.. parsed-literal:: + + voidfractionModel trilinear; + trilinearProps + { + alphaMin number1; + } + +* *number1* = minimum limit for voidfraction + + +Examples +"""""""" + +.. parsed-literal:: + + voidfractionModel trilinear; + trilinearProps + { + alphaMin 0.3; + } + +Description +""""""""""" + +The trilinear voidFraction model is supposed to be used when a particle (or its representation) is in the size range of a CFD cell. The particle's volume is distributed over 8 neighbouring cell centres usind trilinear interpolation. This allows for a very smooth transition of particle volume when a particle travels from one cell to another cell. + +Restrictions +"""""""""""" + The model works only for a structured mesh with equal cubic cells and a clean x/y/z parallel distribution of the cells. WARNING: the alphaMin parameter is not yet considered in the model!!! + +Related commands +"""""""""""""""" + +:doc:`voidfractionModel ` + + +.. _liws: http://www.cfdem.com +.. _ld: Manual.html +.. _lc: Section_commands.html#comm diff --git a/doc/_build/html/_static/ajax-loader.gif b/doc/_build/html/_static/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..61faf8cab23993bd3e1560bff0668bd628642330 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/basic.css b/doc/_build/html/_static/basic.css new file mode 100644 index 0000000..967e36c --- /dev/null +++ b/doc/_build/html/_static/basic.css @@ -0,0 +1,537 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox input[type="text"] { + width: 170px; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + width: 30px; +} + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable dl, table.indextable dd { + margin-top: 0; + margin-bottom: 0; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- general body styles --------------------------------------------------- */ + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.field-list ul { + padding-left: 1em; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.field-list td, table.field-list th { + border: 0 !important; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.optional { + font-size: 1.3em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +tt.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +tt.descclassname { + background-color: transparent; +} + +tt.xref, a tt { + background-color: transparent; + font-weight: bold; +} + +h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/doc/_build/html/_static/comment-bright.png b/doc/_build/html/_static/comment-bright.png new file mode 100644 index 0000000000000000000000000000000000000000..551517b8c83b76f734ff791f847829a760ad1903 GIT binary patch literal 3500 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 A2LJ#7 literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/comment.png b/doc/_build/html/_static/comment.png new file mode 100644 index 0000000000000000000000000000000000000000..92feb52b8824c6b0f59b658b1196c61de9162a95 GIT binary patch literal 3445 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 Xn!ZpXD%P(H00000NkvXXu0mjfa span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.2.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.2.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.wy-menu-vertical li span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.rst-content code.download span.pull-left:first-child,.pull-left.icon{margin-right:.3em}.fa.pull-right,.wy-menu-vertical li span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.rst-content code.download span.pull-right:first-child,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:"ï€"}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:"ï€"}.fa-search-plus:before{content:""}.fa-search-minus:before{content:"ï€"}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:"ï€"}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:"ï€"}.fa-map-marker:before{content:"ï"}.fa-adjust:before{content:"ï‚"}.fa-tint:before{content:"ïƒ"}.fa-edit:before,.fa-pencil-square-o:before{content:"ï„"}.fa-share-square-o:before{content:"ï…"}.fa-check-square-o:before{content:"ï†"}.fa-arrows:before{content:"ï‡"}.fa-step-backward:before{content:"ïˆ"}.fa-fast-backward:before{content:"ï‰"}.fa-backward:before{content:"ïŠ"}.fa-play:before{content:"ï‹"}.fa-pause:before{content:"ïŒ"}.fa-stop:before{content:"ï"}.fa-forward:before{content:"ïŽ"}.fa-fast-forward:before{content:"ï"}.fa-step-forward:before{content:"ï‘"}.fa-eject:before{content:"ï’"}.fa-chevron-left:before{content:"ï“"}.fa-chevron-right:before{content:"ï”"}.fa-plus-circle:before{content:"ï•"}.fa-minus-circle:before{content:"ï–"}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:"ï—"}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:"ï˜"}.fa-question-circle:before{content:"ï™"}.fa-info-circle:before{content:"ïš"}.fa-crosshairs:before{content:"ï›"}.fa-times-circle-o:before{content:"ïœ"}.fa-check-circle-o:before{content:"ï"}.fa-ban:before{content:"ïž"}.fa-arrow-left:before{content:"ï "}.fa-arrow-right:before{content:"ï¡"}.fa-arrow-up:before{content:"ï¢"}.fa-arrow-down:before{content:"ï£"}.fa-mail-forward:before,.fa-share:before{content:"ï¤"}.fa-expand:before{content:"ï¥"}.fa-compress:before{content:"ï¦"}.fa-plus:before{content:"ï§"}.fa-minus:before{content:"ï¨"}.fa-asterisk:before{content:"ï©"}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:"ïª"}.fa-gift:before{content:"ï«"}.fa-leaf:before{content:"ï¬"}.fa-fire:before,.icon-fire:before{content:"ï­"}.fa-eye:before{content:"ï®"}.fa-eye-slash:before{content:"ï°"}.fa-warning:before,.fa-exclamation-triangle:before{content:"ï±"}.fa-plane:before{content:"ï²"}.fa-calendar:before{content:"ï³"}.fa-random:before{content:"ï´"}.fa-comment:before{content:"ïµ"}.fa-magnet:before{content:"ï¶"}.fa-chevron-up:before{content:"ï·"}.fa-chevron-down:before{content:"ï¸"}.fa-retweet:before{content:"ï¹"}.fa-shopping-cart:before{content:"ïº"}.fa-folder:before{content:"ï»"}.fa-folder-open:before{content:"ï¼"}.fa-arrows-v:before{content:"ï½"}.fa-arrows-h:before{content:"ï¾"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"ï‚€"}.fa-twitter-square:before{content:"ï‚"}.fa-facebook-square:before{content:"ï‚‚"}.fa-camera-retro:before{content:""}.fa-key:before{content:"ï‚„"}.fa-gears:before,.fa-cogs:before{content:"ï‚…"}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:"ï‚‹"}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:"ï‚"}.fa-external-link:before{content:""}.fa-sign-in:before{content:"ï‚"}.fa-trophy:before{content:"ï‚‘"}.fa-github-square:before{content:"ï‚’"}.fa-upload:before{content:"ï‚“"}.fa-lemon-o:before{content:"ï‚”"}.fa-phone:before{content:"ï‚•"}.fa-square-o:before{content:"ï‚–"}.fa-bookmark-o:before{content:"ï‚—"}.fa-phone-square:before{content:""}.fa-twitter:before{content:"ï‚™"}.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:"ï‚›"}.fa-unlock:before{content:""}.fa-credit-card:before{content:"ï‚"}.fa-rss:before{content:""}.fa-hdd-o:before{content:"ï‚ "}.fa-bullhorn:before{content:"ï‚¡"}.fa-bell:before{content:""}.fa-certificate:before{content:"ï‚£"}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:"ï‚¥"}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:"ï‚§"}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:"ï‚©"}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:"ï‚«"}.fa-globe:before{content:""}.fa-wrench:before{content:"ï‚­"}.fa-tasks:before{content:"ï‚®"}.fa-filter:before{content:"ï‚°"}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:"ïƒ"}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:"ïƒ"}.fa-table:before{content:""}.fa-magic:before{content:"ïƒ"}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:"ïƒ"}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:"ï‚¢"}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:"ï„€"}.fa-angle-double-right:before{content:"ï„"}.fa-angle-double-up:before{content:"ï„‚"}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:"ï„„"}.fa-angle-right:before{content:"ï„…"}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:"ï„‹"}.fa-circle-o:before{content:""}.fa-quote-left:before{content:"ï„"}.fa-quote-right:before{content:""}.fa-spinner:before{content:"ï„"}.fa-circle:before{content:"ï„‘"}.fa-mail-reply:before,.fa-reply:before{content:"ï„’"}.fa-github-alt:before{content:"ï„“"}.fa-folder-o:before{content:"ï„”"}.fa-folder-open-o:before{content:"ï„•"}.fa-smile-o:before{content:""}.fa-frown-o:before{content:"ï„™"}.fa-meh-o:before{content:""}.fa-gamepad:before{content:"ï„›"}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:"ï„"}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:"ï„ "}.fa-code:before{content:"ï„¡"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"ï„¢"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"ï„£"}.fa-location-arrow:before{content:""}.fa-crop:before{content:"ï„¥"}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:"ï„§"}.fa-question:before{content:""}.fa-info:before{content:"ï„©"}.fa-exclamation:before{content:""}.fa-superscript:before{content:"ï„«"}.fa-subscript:before{content:""}.fa-eraser:before{content:"ï„­"}.fa-puzzle-piece:before{content:"ï„®"}.fa-microphone:before{content:"ï„°"}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:"ï„´"}.fa-rocket:before{content:""}.fa-maxcdn:before{content:"ï„¶"}.fa-chevron-circle-left:before{content:"ï„·"}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:"ï„»"}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:"ï…€"}.fa-ellipsis-h:before{content:"ï…"}.fa-ellipsis-v:before{content:"ï…‚"}.fa-rss-square:before{content:"ï…ƒ"}.fa-play-circle:before{content:"ï…„"}.fa-ticket:before{content:"ï……"}.fa-minus-square:before{content:"ï…†"}.fa-minus-square-o:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before{content:"ï…‡"}.fa-level-up:before{content:"ï…ˆ"}.fa-level-down:before{content:"ï…‰"}.fa-check-square:before{content:"ï…Š"}.fa-pencil-square:before{content:"ï…‹"}.fa-external-link-square:before{content:"ï…Œ"}.fa-share-square:before{content:"ï…"}.fa-compass:before{content:"ï…Ž"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"ï…"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"ï…‘"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"ï…’"}.fa-euro:before,.fa-eur:before{content:"ï…“"}.fa-gbp:before{content:"ï…”"}.fa-dollar:before,.fa-usd:before{content:"ï…•"}.fa-rupee:before,.fa-inr:before{content:"ï…–"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"ï…—"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"ï…˜"}.fa-won:before,.fa-krw:before{content:"ï…™"}.fa-bitcoin:before,.fa-btc:before{content:"ï…š"}.fa-file:before{content:"ï…›"}.fa-file-text:before{content:"ï…œ"}.fa-sort-alpha-asc:before{content:"ï…"}.fa-sort-alpha-desc:before{content:"ï…ž"}.fa-sort-amount-asc:before{content:"ï… "}.fa-sort-amount-desc:before{content:"ï…¡"}.fa-sort-numeric-asc:before{content:"ï…¢"}.fa-sort-numeric-desc:before{content:"ï…£"}.fa-thumbs-up:before{content:"ï…¤"}.fa-thumbs-down:before{content:"ï…¥"}.fa-youtube-square:before{content:"ï…¦"}.fa-youtube:before{content:"ï…§"}.fa-xing:before{content:"ï…¨"}.fa-xing-square:before{content:"ï…©"}.fa-youtube-play:before{content:"ï…ª"}.fa-dropbox:before{content:"ï…«"}.fa-stack-overflow:before{content:"ï…¬"}.fa-instagram:before{content:"ï…­"}.fa-flickr:before{content:"ï…®"}.fa-adn:before{content:"ï…°"}.fa-bitbucket:before,.icon-bitbucket:before{content:"ï…±"}.fa-bitbucket-square:before{content:"ï…²"}.fa-tumblr:before{content:"ï…³"}.fa-tumblr-square:before{content:"ï…´"}.fa-long-arrow-down:before{content:"ï…µ"}.fa-long-arrow-up:before{content:"ï…¶"}.fa-long-arrow-left:before{content:"ï…·"}.fa-long-arrow-right:before{content:"ï…¸"}.fa-apple:before{content:"ï…¹"}.fa-windows:before{content:"ï…º"}.fa-android:before{content:"ï…»"}.fa-linux:before{content:"ï…¼"}.fa-dribbble:before{content:"ï…½"}.fa-skype:before{content:"ï…¾"}.fa-foursquare:before{content:""}.fa-trello:before{content:"ï†"}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:"ï†"}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:"ï†"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:"ï†"}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:"ï‡"}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"ï‡"}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:"ï‡"}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:"ï‡"}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:"ïˆ"}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .rst-content p.caption .headerlink,.rst-content p.caption a .headerlink,a .rst-content tt.download span:first-child,.rst-content tt.download a span:first-child,a .rst-content code.download span:first-child,.rst-content code.download a span:first-child,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .btn span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.btn .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .rst-content p.caption .headerlink,.rst-content p.caption .btn .headerlink,.btn .rst-content tt.download span:first-child,.rst-content tt.download .btn span:first-child,.btn .rst-content code.download span:first-child,.rst-content code.download .btn span:first-child,.btn .icon,.nav .fa,.nav .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand,.nav .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .rst-content p.caption .headerlink,.rst-content p.caption .nav .headerlink,.nav .rst-content tt.download span:first-child,.rst-content tt.download .nav span:first-child,.nav .rst-content code.download span:first-child,.rst-content code.download .nav span:first-child,.nav .icon{display:inline}.btn .fa.fa-large,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .btn span.fa-large:first-child,.btn .rst-content code.download span.fa-large:first-child,.rst-content code.download .btn span.fa-large:first-child,.btn .fa-large.icon,.nav .fa.fa-large,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.nav .rst-content code.download span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .btn span.fa-spin:first-child,.btn .rst-content code.download span.fa-spin:first-child,.rst-content code.download .btn span.fa-spin:first-child,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.nav .rst-content code.download span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.wy-menu-vertical li span.btn.toctree-expand:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.rst-content code.download span.btn:first-child:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.rst-content code.download span.btn:first-child:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.rst-content tt.download .btn-mini span:first-child:before,.btn-mini .rst-content code.download span:first-child:before,.rst-content code.download .btn-mini span:first-child:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 0.3125em 0;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.35765%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:0.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:0.34375em 0.625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:0.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:0.5em 0.625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type="radio"][disabled],input[type="checkbox"][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{width:36px;height:12px;margin:12px 0;position:relative;border-radius:4px;background:#ccc;cursor:pointer;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:before{position:absolute;content:"";display:block;width:18px;height:18px;border-radius:4px;background:#999;left:-3px;top:-3px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:after{content:"false";position:absolute;left:48px;display:block;font-size:12px;color:#ccc}.wy-switch.active{background:#1e8449}.wy-switch.active:before{left:24px;background:#27AE60}.wy-switch.active:after{content:"true"}.wy-switch.disabled,.wy-switch.active.disabled{cursor:not-allowed}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:0.5em 0.625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,.rst-content .toctree-wrapper p.caption,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2,.rst-content .toctree-wrapper p.caption{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt,.rst-content code{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9B59B6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#EAF2F5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs li code,.wy-breadcrumbs li .rst-content tt,.rst-content .wy-breadcrumbs li tt{padding:5px;border:none;background:none}.wy-breadcrumbs li code.literal,.wy-breadcrumbs li .rst-content tt.literal,.rst-content .wy-breadcrumbs li tt.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;margin-bottom:0;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#555;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li code,.wy-menu-vertical li .rst-content tt,.rst-content .wy-menu-vertical li tt{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:0.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:0.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.on a:hover span.toctree-expand,.wy-menu-vertical li.current>a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand{display:block;font-size:0.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current li.toctree-l2>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>ul{display:none}.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>ul{display:block}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{display:block;background:#c9c9c9;padding:0.4045em 4.045em}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3{font-size:0.9em}.wy-menu-vertical li.toctree-l3.current>a{background:#bdbdbd;padding:0.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{display:block;background:#bdbdbd;padding:0.4045em 5.663em;border-top:none;border-bottom:none}.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.toctree-l4{font-size:0.9em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:0.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#b3b3b3}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:0.809em;margin-bottom:0.809em;z-index:200;background-color:#2980B9;text-align:center;padding:0.809em;display:block;color:#fcfcfc;margin-bottom:0.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto 0.809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:0.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-side-nav-search>a img.logo,.wy-side-nav-search .wy-dropdown>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search>a.icon img.logo,.wy-side-nav-search .wy-dropdown>a.icon img.logo{margin-top:0.85em}.wy-side-nav-search>div.version{margin-top:-0.4045em;margin-bottom:0.809em;font-weight:normal;color:rgba(255,255,255,0.3)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:0.4045em 0.809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}footer span.commit code,footer span.commit .rst-content tt,.rst-content footer span.commit tt{padding:0px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:1em;background:none;border:none;color:#999}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-side-scroll{width:auto}.wy-side-nav-search{width:auto}.wy-menu.wy-menu-vertical{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}.rst-content img{max-width:100%;height:auto !important}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img,.rst-content .section>a>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content .toctree-wrapper p.caption .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content .toctree-wrapper p.caption .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content p.caption .headerlink:after{visibility:visible;content:"ïƒ";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content .toctree-wrapper p.caption:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink,.rst-content p.caption:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.docutils.citation tt,.rst-content table.docutils.citation code,.rst-content table.docutils.footnote tt,.rst-content table.docutils.footnote code{color:#555}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left;padding-left:0}.rst-content tt,.rst-content tt,.rst-content code{color:#000;padding:2px 5px}.rst-content tt big,.rst-content tt em,.rst-content tt big,.rst-content code big,.rst-content tt em,.rst-content code em{font-size:100% !important;line-height:normal}.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal{color:#E74C3C}.rst-content tt.xref,a .rst-content tt,.rst-content tt.xref,.rst-content code.xref,a .rst-content tt,a .rst-content code{font-weight:bold;color:#404040}.rst-content a tt,.rst-content a tt,.rst-content a code{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) code{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}.rst-content tt.download,.rst-content code.download{background:inherit;padding:inherit;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{margin-right:4px}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:400;src:local("Inconsolata"),local("Inconsolata-Regular"),url(../fonts/Inconsolata-Regular.ttf) format("truetype")}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:700;src:local("Inconsolata Bold"),local("Inconsolata-Bold"),url(../fonts/Inconsolata-Bold.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:400;src:local("Lato Regular"),local("Lato-Regular"),url(../fonts/Lato-Regular.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:700;src:local("Lato Bold"),local("Lato-Bold"),url(../fonts/Lato-Bold.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url(../fonts/RobotoSlab-Regular.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:local("Roboto Slab Bold"),local("RobotoSlab-Bold"),url(../fonts/RobotoSlab-Bold.ttf) format("truetype")} +/*# sourceMappingURL=theme.css.map */ diff --git a/doc/_build/html/_static/css/theme.css.map b/doc/_build/html/_static/css/theme.css.map new file mode 100644 index 0000000..96cc9d2 --- /dev/null +++ b/doc/_build/html/_static/css/theme.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../../../bower_components/neat/app/assets/stylesheets/grid/_grid.scss","../../../bower_components/bourbon/dist/addons/_prefixer.scss","../../../bower_components/wyrm/sass/wyrm_core/_reset.sass","../../../bower_components/wyrm/sass/wyrm_core/_mixin.sass","../../../bower_components/font-awesome/scss/_path.scss","../../../bower_components/font-awesome/scss/_core.scss","../../../bower_components/font-awesome/scss/_larger.scss","../../../bower_components/font-awesome/scss/_fixed-width.scss","../../../bower_components/font-awesome/scss/_list.scss","../../../bower_components/font-awesome/scss/_variables.scss","../../../bower_components/font-awesome/scss/_bordered-pulled.scss","../../../bower_components/font-awesome/scss/_spinning.scss","../../../bower_components/font-awesome/scss/_rotated-flipped.scss","../../../bower_components/font-awesome/scss/_mixins.scss","../../../bower_components/font-awesome/scss/_stacked.scss","../../../bower_components/font-awesome/scss/_icons.scss","../../../bower_components/wyrm/sass/wyrm_core/_font_icon_defaults.sass","../../../bower_components/wyrm/sass/wyrm_core/_wy_variables.sass","../../../bower_components/wyrm/sass/wyrm_core/_alert.sass","../../../sass/_theme_variables.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_media.scss","../../../bower_components/wyrm/sass/wyrm_core/_button.sass","../../../bower_components/wyrm/sass/wyrm_core/_dropdown.sass","../../../bower_components/wyrm/sass/wyrm_core/_form.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_outer-container.scss","../../../bower_components/neat/app/assets/stylesheets/settings/_grid.scss","../../../bower_components/neat/app/assets/stylesheets/grid/_span-columns.scss","../../../bower_components/wyrm/sass/wyrm_core/_neat_extra.sass","../../../bower_components/wyrm/sass/wyrm_core/_generic.sass","../../../bower_components/wyrm/sass/wyrm_core/_table.sass","../../../bower_components/wyrm/sass/wyrm_core/_type.sass","../../../bower_components/wyrm/sass/wyrm_addons/pygments/_pygments.sass","../../../bower_components/wyrm/sass/wyrm_addons/pygments/_pygments_light.sass","../../../sass/_theme_breadcrumbs.sass","../../../sass/_theme_layout.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_private.scss","../../../sass/_theme_badge.sass","../../../sass/_theme_rst.sass","../../../sass/_theme_mathjax.sass","../../../sass/_theme_font_local.sass"], +"names": [], +"file": "theme.css" +} diff --git a/doc/_build/html/_static/doctools.js b/doc/_build/html/_static/doctools.js new file mode 100644 index 0000000..c5455c9 --- /dev/null +++ b/doc/_build/html/_static/doctools.js @@ -0,0 +1,238 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s == 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node) { + if (node.nodeType == 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + var span = document.createElement("span"); + span.className = className; + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this); + }); + } + } + return this.each(function() { + highlight(this); + }); +}; + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated == 'undefined') + return string; + return (typeof translated == 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated == 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash && $.browser.mozilla) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) == 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this == '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); diff --git a/doc/_build/html/_static/down-pressed.png b/doc/_build/html/_static/down-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..6f7ad782782e4f8e39b0c6e15c7344700cdd2527 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*yM+OLB!qm#z$3ZNi+iKnkC`z>}Z23@f-Ava~9&<9T!#}JFtXD=!G zGdl{fK6ro2OGiOl+hKvH6i=D3%%Y^j`yIkRn!8O>@bG)IQR0{Kf+mxNd=_WScA8u_ z3;8(7x2){m9`nt+U(Nab&1G)!{`SPVpDX$w8McLTzAJ39wprG3p4XLq$06M`%}2Yk zRPPsbES*dnYm1wkGL;iioAUB*Or2kz6(-M_r_#Me-`{mj$Z%( literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/down.png b/doc/_build/html/_static/down.png new file mode 100644 index 0000000000000000000000000000000000000000..3003a88770de3977d47a2ba69893436a2860f9e7 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*yM+OLB!qm#z$3ZNi+iKnkC`z>}xaV3tUZ$qnrLa#kt978NlpS`ru z&)HFc^}^>{UOEce+71h5nn>6&w6A!ieNbu1wh)UGh{8~et^#oZ1# z>T7oM=FZ~xXWnTo{qnXm$ZLOlqGswI_m2{XwVK)IJmBjW{J3-B3x@C=M{ShWt#fYS9M?R;8K$~YwlIqwf>VA7q=YKcwf2DS4Zj5inDKXXB1zl=(YO3ST6~rDq)&z z*o>z)=hxrfG-cDBW0G$!?6{M<$@{_4{m1o%Ub!naEtn|@^frU1tDnm{r-UW|!^@B8 literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/file.png b/doc/_build/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..d18082e397e7e54f20721af768c4c2983258f1b4 GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP$HyOL$D9)yc9|lc|nKf<9@eUiWd>3GuTC!a5vdfWYEazjncPj5ZQX%+1 zt8B*4=d)!cdDz4wr^#OMYfqGz$1LDFF>|#>*O?AGil(WEs?wLLy{Gj2J_@opDm%`dlax3yA*@*N$G&*ukFv>P8+2CBWO(qz zD0k1@kN>hhb1_6`&wrCswzINE(evt-5C1B^STi2@PmdKI;Vst0PQB6!2kdN literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/fonts/FontAwesome.otf b/doc/_build/html/_static/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..81c9ad949b47f64afeca5642ee2494b6e3147f44 GIT binary patch literal 85908 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 uQr82 literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/fonts/Inconsolata-Bold.ttf b/doc/_build/html/_static/fonts/Inconsolata-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..58c9fef3a01c899867e280f49283fbb8e57d631d GIT binary patch literal 66352 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%0Am60^i>^d(hPdT;qb{g1P zynReyi`f7rLx};eX3jRb6 z^?snP{vM1i)%*7&O-s18HSZl99a*HWFn;C_<;7Nut>Ux&Ywl=Ul<+k5cCPw#Z1d87 zjNk%TM31AEY=iFCijA>#H&A97FSV1oeUl&yKn|CFQ+67$Z*XmH<`KZ!u~LLlxqi+Z zL^iX#N%qTmPPiKx1|x}F&eZ`%6+md@<|g46*}3;{Gt%2kMC%p(wW->CEf(`pY&PWt z0X@cxEcw_=-}hrw@vBU$j`2HdxlHDD?n7tFPZs@ksk%HLqFsQNXxK90Mhpr<6Ivoy zP8>Ke;t)$M>K--RhVtW*cUem`-{O-dZ#MVG9I`v!*YvyTb-o&tvnra%1iDr*m;>DI zhp;hE>YP%gVx`1*gAyaXu+=n5`C_q!am*2gmq5X8G17yu*EotIa2t&#{7QNrq%{3o z9<3voA{ZkuYcX1&@(AcC*p1cR>O^%<^-wj9RHiL-dUH&vXC0SGa7ik8#W|&1aAJT2 zou4y7GjoDfiutG(?%bEj51k`;1q~>Zd{p^oo__~G{WtSZ$vpj6^S8-mJZO||G-!Vq?a^}>?l{{MuL^ImgNUDrQ0nienN-OQE82|QNl=$ zQp5MR#GlC61C0hxGXxt63cP04k;%~tHTksT3ndf+Esv<1b^)u9CUb~>p3B(4Jn>GIb~UHNj~c8rfS&bVh64$& z1n_g@|8 zd0s&$iu9~M1lpyp^si@Tt=+V01war1^PZ+TrRbwiv4V&~w-U7t6(WG=IwKwCESx z6TT&PuUIHeR>0g`Ax}?8OQ!#R_2-tg2keji>~m6T`aD)b7R%ubRzj8hDMfDro|@8M zB8Rh%Eb?yv3YJQJP@mTK>EWMvFL~x&{3%Q@Mo_>tI>o`+lR201>~|px7k^Z7vEmn` z1kY5wz>Dh{bM_Q)(0$^e024WYO~rWHiGV_CfqF|tr)mi=-{ z&dVdRVN1cjRi?%GaH&|O2@BT5oRbC14)Z=UllP+CmoYiTNi$hXAT`SHg({QTXHJ@P z=3%n|#LX<@8FHXdQ9f;ao+`?XbgcLd#G?Wnh=V8=-e+8DG$3}vxSKz#_@(%L5Mt7tn9FHGe`d^RU^`&ih z{na;@Z<8kfkDn{b)&Dp~+~kF(|23@0nDo`}I1Mp)9m7fr=V4e$$719_lmK!5qq;AU zo(d1-UKCEjzG5sEQ>-aXnEm3YX^m;437qNxP>C`M?m#ieL?SR2?wV2(Bn4ZE`$u_n zjz>_j0yz_W89>DLy$ksjV?2uqN&5(>>A#MD>Ph|WR(5PrsEoHNpAku!xdI(iRW zLuH>v6X547to0Yw&Hi1)STO3Br1WjLsbHZd>YVus7vsZ3IlHxd@!NR3!MzPqf_lb# zo`F5rz`+z>ZG5BgI;<7C5-CxBz|nu&{Ji-ktYCG$c`J#@2e_zO%mHAc;ttn7*CAGi zc@#~G`a;D=-CuBj)eU3Bt6uU;`0ZTd@6j0$8WTNYM6QuGEm>8r-@2wk-o47|Ff6lp z?0@X?FGHMHLSG@7t?ugj78uHoh2bF&Of>fE==?x%QEK``$KqVFpts5vi#e8U#O%{M z`=2rU)zUo8J6nV>iVO%0(^0<96}hzXUgkRJr^;kGmte3m%?rOFhNed|_X<3Lx55P& zU+kxlAJBtK)=-+#L^PHs@){;!B6;PX0jT{J3@Q(*rW7ynu@Jp4^5};EYO*Rvo5j1_ zUY0~vPt_3W!Txt#x651jmOm8O3kXUj*X?)tK{GDe5J5{W+VA5txFi1)T`DqF!b@~x zKEy7(K=56HUjXQoN7%$Zf|vO1!X9!2M|1qPhouLnuS<6NZEu!pk>_Kweflu{w%2gK zb>IAybWr}Hu2J{A@Y!Xtgc1#`Ly2}qaM0C6@zhX0CVz!2HyWN2!K~#NOTn^J&tbHQ zTyVy$Nbm+W775-Ik5N1g-W|0tC}h7}{VJ4zMH=bP!^1$iMl(HA0q9g#GQkkjh_74) zD4vK+MlSFs8t-!~l?$F6Hm_t?Cm8ldkIxO$xd|>=JcBFUvlZEl+tr$tivxG9l~>)P z?_b;*Yr8#^cRaMHHQ&)Y@^`(D4sD9p?Yw(QSKj1n#wc94xlyWRJG}PPPYe)=X zRGOqE(nV3saUZ3T*Vl81M+-uLZWW18rBp#kkg>T zRYIDLRdPl?FJFb@dhxWKDk~tfynBR75>dfZltjBqL5>vzbj4TX*X6fxx9XFVe0tJO zrP-~A4pG%29{MWvEqTufg~WZHLzD`yp$S(~vwA=TFD2m<{+ai6_(vO~?RFGwO$1u2 z!;P_;#x`3#-Xg7xBs+YzL^zVDX$;r{cINg~ApvIOzeIMG2Hh92evqCU0h2rBC*@}m zqyfc~I%U2@guD*iJ_|HUFN4~Ft~(E#6eg{U`Xqx3RT~(Q|o?E_v5;s)fr06 ztWa~6O>pI06HsQMimS4TCe|Ck5U}TC-NMFB`;D--yJ&Go;VW>CBCX^rP9!al$NT}m zuTGW?H63oiHeZZ*(c%esnmqa~ z>M74zPQzQc2$oXu)2=c>0Im_6K{1K;7-0fhYSpgUJVLzyf{gN-ZgGNK_d=!!X~i(Y z+F3-LjiG88Op7{ZPY+#GPSQ57L*8VeT|iPXCev1y1JHvkf`tjg5j`HEY7ice>XhRW z#6X@vQ4a_<0MYwlAtfBAzWXNxuMvoPX;&!@h{_djh$A5wKuA{J08r1=pJ$5Q<3xAI z2v(8b5&QZGx9_SHH}|W=@4|>K-tYz+{}+NQ^ke+U8_u%v(*$Rk;^j2KYP6~zNls9o z#wL|BX`lrl1Cxn0>!FEC>V;cl6s74(mFo2_8$!OlQvG7HRC#+-b45jcOY5?HY~cp8 zz1OyEO{DLxj?PTDE9uF}n^88@beDZWuijM=wNC%HeEaZb(-zMke=>X5Kti7WtaPs& zZ0?T^-4860y!k8XEMlwB?9DI~-%3Q)8W3r90P#a}5p81B*7V zOuHgDiIn-Z6i!k+nMc(rAW^bnoflzS)+{kIea=zg7@p;f1;9zeMJmDI|4NBAGlkS> zV;xN9FxD*=#U3)t+qfN$02HbYgqRHUbm&|NoBd!ft_KK?5gh8{bZ;XgzLg7QYxyyC zZ|EQsh#tp!RgM9ulc5W^pziNI+>7fzKJCNP$^if^bYF8S_kk{A_X}0^EC+LzJX@d# z5$H;So&qf_K-N*|zcrf;)&8g_8FrZ;T4{}$YN{(!t*wrDW3ao^*4o|WX&w&xf;Lk{ z)V`?8#1!XC<#{=?!|1X#WW#|}Z@%faK1s6Lt#w^#o70x)t+FD&TyAlEL2qM2)8cFp z_+yFg+o=0v2X1Vy=w$i^V66tN<_roA0zt^y36LNpKx37t)L|rhhG<5f6h|zpEsr2g zF$Hv@0__$IIr6JHv=gyX;Lj_T4ZUN5PqY(=_Sm$jnwUVHYAiLR2tbIE>!Ko8h=>oP z_GcK<+?e)ORL9(cTp;4t4RlahN#7Lh-6KHPiq$2MP^kmjNvQ+kL|Fw-DrLQva8Yzc zyGL|IX%H=w1V%0rrDQ~bJtH+Ttb?TbbV-Uh3f~-jdu~neR zuXL4hxo60_oFG8ju`S95nu1@V_;#3rspYikoau_`J=8N+@bDJ3$<&JsVn`=X2PjSA zc#kqifS*+fpr*}zR9uMkC#SfUCkPPCj1K}(2dnR?#_#KCrKk9$9;@G$rWkb9`@R=VjiQ_de)Q3dkn@2vKSSloA%YVC#S6Y`z7Od1kK*=Q)MNe= z)Y`mCygbTO@EZwG8D)#Qrha2RKI$mUVCsp6N#v{26{;q5r*-FaS9I@T=%MApy}bl! zf?9%85?XqfU;;orCtbme6rjQLODQRjNh)eu2Xx>bPR7^Ij){ zVn^L;XsmmbGj!B*+;fIAwA%BCm?5Lr>rHrjymM!$U@`ilp%rCG zEZ@|TP3L3zhWcDA=Wg|Pq;s*n&1SRzprOf4r`eM8tn`a$zP>IO&80g!n()VNYsg1? z-K{=g^}Q}a>Lrv{37}QQRss;3eyUUz z*)N14@M_?2zCh;Y0s+GYMKV470KE`QlT||f2=)VwxOaE>+{w?_${vnwBw^GIQaZm3+{?nh%5A=F~ z^>0a8CS4jXWuly!D0eB-HwPUAaYo!I{48-o(=0q#HNne;7-0xs_$PmD`Y)yzN%x_> zg*RVC%<*%&f^NC|n&R#PC-H0-I{F%cu1jPP6Sh<3BFFu^1R}t!SNp9uOFtqd;O-)A z4`j!>9OFxH!53J93ra-0E0P^+L{-Q}Jp5yV?*P!)(hLC)CaBx+K(6;TKCn>xvvdiK zF1j&P(VzkdCG*A?kW)wMq1V`j7Xii=h_Eze;R4}W=2?hK3pKHCxM2YsyF83rCkTQB z!vxz1P7xdi7#ntsw}UtF4U05MAe@Z|31AmbvWrNR+$5uK4hAStnmS`RPfgx2YUVDJ zZ9GEoJas=q1ZN4TT~hWFU4EH6P*f*7%cCMKJ!b(_Uu_c6Rz+W3vMxu1&jdM55!H4r zjHBxj-k1cST&i4a1-MG%?Jym3p944qpzg~b%7d@*_owJ$f4(2r zPXMU?d8v80aAF=VTrL3QhR7?464z(=Q6dM^VSbe0iiMe3e3U4uExzmkzf36U58$Iz z8nf6WzwH9REz_5%{&AhW)^&aq6%n&O>KH%jBVRVkFWW&d!tXgc^HKZqI4$xs&hj&S z{YidT5uc&@<|X+_Z}Dr^<7>nxDLt56FmN#ZmeH7x(pxz|07W{>ZogXi86~fdKGfN`*lrNK>FB_|B zZ1t@XXRXg&8R%(~cW%a(eA#5N`1FMI05i3SZEC z0(B^1vO78eb(i5Otaq}ONWcC$3dFddqVY{?(Cj!OhN+>p2F4@c8BIjSNRqb9J~?G? zaML^5{ZBloulKm+ui9bZY;e0nb{^EjQ=N4%Y&w_pf5|nvI5N=ProV5jB|DZwoDY}w z13A1I07Z6Mgj~{)Ek4k&sbOaWwon!{4Swm$Q&i-x@UHW2rs`D`Mss)!Mof@sQ`xbOi%PU3g&jW@&8jP+>!KI|#K&%uc1lko34ns| zv@KLAnNh4KD#F>b5Hku@%LC=|Vc={+pu6KWxC0&_2nh&#+B^kF=gKb9oDRo$Z^b)f zDaZKY3gJ_>nj7atEfbrA`uEn2BAHb2MBQZF1z?9_KFs0@ICweyYWNKvl=XSVBZ-N` z=>$5JOW+&d1-2+sLOo6YihLRqdn|n-J(EGWXEJEuX!dyaOqMsb@us#D zZIf*{>*>PTk*TqFIftivPCKlpPZsG7kJUYB^70>d6BZIha z^&lDz3^omdAv%b?to9C#4&koR;Wfj!bZ99qjV@iYlus-hS;i-p@rh+k%iwIT%pJvi z-3UkVc-@)0^Bl!ocsRU@gEtXA9X`i{V&qihEVQD$?P zTv8H4ygoFHaU&K)gG)!2;<#xkkHx5|Bgx3?bdO8%A zJU^M?Q2KIL1tM!4PMfkGJ)uy~NKFB(8qFQ?yAAC3jm`A{gA^mR^OU78xYzq@-a zOJJ_;epD(%`tE3HzN0tN*mrv~eNKTfZqpq^ZTLS#hWRE`uluo5&6<@@x_~B5QoUnv zFTppT`` z135`YRtcI!>FQv1ycRbhoja?0L4eI%9BjzM^Di)&UHO`IB9Znejy0q%*UT?iD@=OrJ!eaq(ZyJ4r zq7_`a328y3!KDkrjU9In3=XvBbBhOh!p#nw-jU8X+9F|VV}tv5(%R{7NmuV|ZpzCG z1}fi(WEN!7^UQjwtHKU@c%;%Bt3A^LTC*71rGJo~LIpxA>MWvA0S&`UA|q2xFZgUI z7b=ji2i!IXNBA&7ps$+Ji8O5BMu~A@N`eyyXcbT|j)jI=3u;=9`B9&(ei6nB`X#|w z4W1gez=Q;7rRJxoIZo)e6e*{TqNGy}A`8Tor1s~71IZn`Qr{>Z6_qm4Z0v#fP8UWFY39mf+0U*CVx(Md8%sLIyKsB9tCHFcoq`E#l-j=Mld5SLY7@s5(Jmic@NL@Tu}g&|E|)L#6Ld^@_ZrMNu#KynjN z+mpQ1nG{s6Gplay+=UF8>Qv_?Cd$lqit9-SUkW1Chj+krvR|WBhjr*arFh(#qrm-!^I)`=xHKGG#XsKK zL@jTq9R{PS4%e>YSw1vE&0jE-4)F{W77rf;pQ?^TR!4XVIeU32hD%Fh_r`cBJ`%?> zfp}9KXQS~o_@jI!gBzaDyp+Msr*N#5cH0W>R^8uvxRqDQ>FyzzAlOPCehK z7}Vks+l1{jl@nrEbJSf3apipuYRP6Z;#tkH&3i}a-xu&UaVWjP1jlWtcIB*b%Y}wH zV8fwR957Ef9>yQiRJ^<=f;kzEthzOBYA}|bHDn|4)f}tG!GkDI6C5VkLoh*bgadb) zU^|AWP_?i1Q0uYQ6Rnf2V5PQmtd0`w1Ncb6yx*fqdXyUytUho=)RXJz?ute|(hL7% zGW6sp7v}2g3fTpVx`vmwul=79o#}5#v9@@i+5AP*7ysy6&CRQUY5qv=mUhU00D1($ zo0x_LSy?2N(zhr2N7K{tALM~mcSxTD2fq__-Xgl!X{!SV9|8wo3dAIl3W6wMPlt)A zoLQt_Ro^t-V5ES<1PlV?!sG%#HAor(42hUqs5W!DVV#J-tzaql;RDVZEfK&;}BZlxi~2gV1(_u6&N|KUX~Sj95zoFKrw32_<+cO1c8o#n%jXUwMigt z0k&kNG|+K-`35L%a9b5LBsq{y%oDXTQEFpanJRK@;IIFBV0?VVfZY1m^S}2!C1F&TMD}%c z*tm-RQOwt&)AF&egsxhF0v^^hTy))v6M=wh!d$@EAL;IaC6gsuF-N?-$#+Lrpf%>H zgd=k><18Ag4EpJ7wf!x1!9Xh1AJH3RIh|~FHlzcP-J$_^++`VPj`cNq-A%~Qp02P~ zV2n2Fek<*lzXad74{6zlV(cbxj)K5uuw%j$MKKc&{-jqCXS0b^v2i^5khA-FE8mt1c% zBm=^wsL$jFpN2`vh(BX37mF)e*0pSIVQoi@C$?k3vJ$m5=>GzZxNve2;e`w)RbLIf z0dGX*=aBj^)V#TBSkznFhEOXYtP#$n1$UMcp4{?Fhf+b?1{iOnsoUEj_5=q%*(1rd zZ83K^5Kaf0at$kcvq;Sx$z-~+O=g=JSp`}W$Q}@nb<1C3%7EI8+0Y*LH-&2!b{Sk1 zkwk5RMV71c>-8`jK+sRESH6h^^0)LRWz?SM^Ymw2Jhrj^A8lm|ro-j|s zX+V9!`Z9isyXmx`d9Mqlcp~X`o1$F{DugGtmfE=+1yCMK+3JnP+IVNUwZb_Vj}O?S z1$t!D)-Q6@MqRF0y|eJxpx;{EnQI9r;c?TurPr1px?^O1&CTgwrMts6S$0OcViw6l zyi&ONJxPUT$ElkSzmIVl8vzPu!^Lr<*b=~A)Xj*2m`TD0-3!#dZ1+XMay6;FeQd;^7bV_wdJ*v;> zutzbsE2s~gBG?2y4;r4W&XN2xRoXxA^!XYiet(2t@r|3yrCs2dUAnIz)R~Ae48Df5 zQvqff+zWktaAqr|6c<6nbnT;>w;ToyFH0e^Awwk6FA$Fl=;YU_51Ai>&xg99Y8$=C zyr{RPQ`eief;^V|^VE%1JIX&9K>TxXn$)_U%yI8Y!`X(aW}|aSZ-0MRAd?Te|GjDJiW03zZNI; z7xdSdZcQ9K)D6srMIRJ@PA_NoHI;6byuUin$BtXiU>g-rI47MKAiI{EIbL%H&A5bSp&YN+D(4!hY}K%!9yE9z zWdDW`0&D{59R4=>4#azUV)35tDIvBh>B06of9vAr3-x9!zvh8K@6pHgdYCJ_^h@-2>mP!nI+tJ-C0QYfBlUTOQ+U#uE`tBW?o|hD%OSCW z*HP{#G4`?Fj5*qoZmh8&y{+u20dv{pJ%D(UeBW*BVwqiE+|wXk*0mb zzS{nX9d7DXaYwgf&~cCBVF%pJH=?J&`5Ak^eVP3}`)6>652kTR1oB{@SK9j#ygvrm5V7oE3TKjV;()qc2Is(U4V#~t-Mx5?Y5|M$1ufj-Qm;pT+& zOEIGS^!Z`k#l}(LUFWVO~b|pJv4Ci`(KX+al1v+(CxPDXFJ-d zctPc=$_8^^MBiY32aj(u+86Km3AR7-XeK1;@rpjvq~E`7DOQ!O?J|`Q0MLE zq+ppY=Q1S^sI-+3&v;-{G^O2PdN`M@vFS;=T=?Y;4PiKqE(+{LK z(Gu_)R2E#gN_9HQ9=e4u8w}ad!g0T}i9fI-jrBlPcTwr<5d+%?YzM!x@f?2cb1+X{ z&VjBf1B>Rf72I18>zh>-)*G>^hD<9>>k)ua)S|a=z`)CmFe4Qikh#%|gGIi(e4qBg zu#}_QO;0VBU$7zF(1+z$T-1J7`={G+;8}=5w+p${2aWd_A7R zw7t}OulG^3t#r*a>1#+fz+#HF3+X~%L0j5Rv94iLEy?>}uOQvbh&PQ8Z?N`DvL(cu zIcWAyfnU9eI!C}AjJPAs{w1vlb*Qj~o%Jn|gt6Las5XS_!*wn7^=aw0G8)z}uzc3$ z3)OfVO%=(2I})^Yr7P?ew(5EpqSsQg6mU30iH45pp%R`ZUvTsPmWsk|nnfK#D=YVk z(8ZlF$0-d~I>y4;Kx9z^l?UTF<6Zm_$71>#3-4lO55&JQ1e~B?5>@`$sab4U*{j$A zVa7pENRT}kQDHw_tGrG7=?WZ;)n8Ns^%P>&Cjw7XqKrA{_^+ObO+xiZa{_|G@n)t@nU^7b%6Wnd5Yp81tyiIy zRL^IxX35pjg^B)Ehiu1eCv20#(TvTU0Z}RYjJ=l zngGsH2K*V-n=EOjypG<^b(${Ql{9q&sxmYCRymPhPwtd(qK*avZ-yV~O)qNoXB)hA zj)i(_tuI#Vtc$zTqkiF09chHLG2PXkquXTH;y{hBHJncSBH@@n(OvIN);Y5&=A!ZSA^`c`Es~PFF2{7k9R`f6P6x zU+Z*!2Yf<0Xri;su1i+H|HNzBKG>_9uJTL`!9JMCU$c5F0wK}c` zX2e1TOC@|eCLk^#6$gymN?Q~^TeP1YQ^l7YuQ*<3nlgszDk}+|CioV?e*!STw5SD^ z;;w2d%^b=kzJ~3?Ass%NSR4c|5S$@+mmmQ^SL0&9-Q?~?kd$Jx61^&?I1x2Y5pnGj zm$cm^a(`0DA)_%9#_pxRaB+D9jsNfdg4%Qv5J6^|YG(T?$Zwv1U9|#`_PlUxa zD9txSwng?t4n&SbCL+8x6k8cvAKMyZt+B(gA}R)|r{m|K)zYaBYnaN5U-2^r304B2 z2fo$5M||6TOz3>ncibmhhMi+WEz>$5s6A3UA$m1jx2kSK-L|?tbqDH>)J^<%dqs8q zBk}F=z43$bqw(W$^k6c60X=ZdlGa>FlM7`~qNsyXPO3?<&iE^5AmDWR{YzG_xcBEH zgQw;Vo{MH}fkv1X1GcREtDxHz47%LG4}bg1UrIYae7ZOxf3~6{S`+fyZ2nM9w3BjN z1@`aH;1y`sxpY5*b1UL%wJMCtDoVNQxpu+2z)$eGN}R7F2oqGr;b{q@(se(ds} z_7vW)+W45fdBMLFt}HlqOzxP50YTRUoyzO-W4bMkp==R~e`g3NW6wKx?xsQ}GWf~sOK85pi}Dp=wbL5i5{sV>DBDad3NRm!K(z{&7fP>hg%r142R&WEyV?wM^l8f~Qn!8nj&)xeZKw&i)J2e8 z-xx_o7q6S&|Ea-5Q?xPNZA{$KxPhv&n(zrhuTwbE=yk0!#=S0Th)(fn7eN6)qtDERkRfQP^WV$16&wy6Cf}ag!$H;q_o;Qqeh+12O`77{aVH`kxmHl1ls*~ zg696Y=wtItAN}AdMCR85o$y6}*-Jsm=iEQjzd2XgzjxR_vI5GRJ zA_>W}0JHAlYSiwDVz)#|VBQ3QQ3e21dt0atR{nqFg=a~2<_m6B(%qx`y7YI_d*D{z zq#w~3FgN^flqWGkP#=`jOlTP-s134!2*bC16V@xWh2_kCg3b#kPN)e%%}dqjL?#C< zX#-c(`_x-pBe+a+*Lwi!W%*tD;J=F(s?4th#Cy&B0d>|_E$>sw%RCIqdjL9>p(*@9 zdLMcWAmLNyIY_5ljbi!(fVa_@bx$U2^GJe*HuD7X_j+}l@Xu=SkTH&f)K&80F1R{ ztZOjN`GBSwr%o7wGwO{+ws9lU}xAanYOK4A} z68Lh#V+-?Jnc)@*`Y664jMEHJ6k*0G_`@5_^bb0Qh)+Bj(-}p zKk<|qXKG`-101B15NApfZ{%ztLFk-&0uvMl!o2jv>TnDyN>DhuIFO?Hq z#eIAhn6^|NM!Dj^h0ByN4iKCpIM1lfH3ZiPeonH>n&NoX&!f0-Jq9qrVfYz(qtcTW zKaFC=>qMNGGRjqSm8}8&W#dWVGsAk@yN^Z zS223(PvSr4ApQXTRf+&27rxI$YjUonhC#g|grAl?I2qrg*Hkk5ef5n$O0)*MZuBJ< z+>xyBuj}aQUli{DL}x>Pu(jubAI4M5?vSP6gNy!fv9vQ5FfRYg`@gU(d14%`{isa`a}B)d29g*Mdoq*+vJp;oT_p-F>Me>Mu~3}g2y_;8Q}s?T zUuY9lk=(%#eeEZ^%Xvj4$b} zmNnGG#0FYxzbPI6cV~Ud=WEicndgw9aZ3IMs+s?Z;+)AhHh?`$)6Ih%&pb}wOc8upSIn)3H`6cr7F&Mk0Acm6^ z#2Ce&5A(XeS+t1N_7#(-p{I+|XK=G*mxc`hFR?!RoYmA#b zNX)d4;40D6?ymh^5cD;k#``~M^(b2n06@tOUBsmSf**r-9hy0HPyGR6m}^8Q`?{Ej znh_a7J~uIIL8%D2@EXQMgVPbY5?kT61!2IMd+6@?qW1c9yskCutm{~m>}!oSWIRn_ zm+V6Ax`tRyyuJnnECRLZ2D^0RkH1jgR)}UsT$aXcZ>VXot3H(Xdmy8*cH&5IHCk(j%6IEFR#OJ(flm>HPvva_ zT@SdB#U%`*-TzYge#wlU*Nj24AL+xbmjK3=@K(L968-okavEoJ^L0Z~QK^c6zK0^1 zn>QmjV8mBWl3>ImBD6Z59bbUe4Aqs+8sTDt5ylW_5ZhQ>c(b^x=*>drKM*HLXXJbb zo`7m&pzJyG`x$i0ZZzf9EtYy6f58P^(%eN(U#C(c;jvLRn_i*H4~NQ?~g}f&C*}yBK7r=N7p7yZGA)Wbay-) zj{6gB{=rY^rC@t+=4r&FA>hIm@Kkr_P#x{l22XqMqIT$u^3WHtmS7Kjyb{zGy~bgH z(g-+}M_~cLJSa~Q6bLR6tRrZ)2yEA!RaS6D%bKI+Tbd)MW`lFWu@9LDX)AaGfT$Rm zdd3nCtP*N-pwq!a?a&;xr|9{-3M5onk6o>- z;?_PNy9&#VG6d35us@RCp5B{2nAReQOt|u3=JS~^XZ}3%t;}~a-_MxV7SCobXWm6T zmTJs+GYDZSsgTrj)mOl>D8qcQ;B1A=%lIbc5pt2@wWsm!Qu=rGZ0s^$JR)BFaQgA| z6X~bZ&!=BXzmn#Q*Jrk7c4ziy4rhv)Q+)Bc%$3Z0e6cCx!;968tvg^8nxi0MP7@SX zgy-6feh6#-Kl2iiB$dOFa~LonwzxRBo_&|x)?Ehy21htRXHi9Y^V>*N0h|2K8H^#Q8t z!{innkl3_7e&k-=>S`P{Pz#0F*;2&=`8jCSyX0EM8wPe*2Mvh&oOg@?6}xau zGGGAj6yow42rtJn9}6P~87^hLf}P4{mCph>BEO8Xz73!E7J=K#)G$g?+@ijae3@x- zf(SZM))3I&Qb{N2)*%#}bSQzo7igv>o8-lgHoH0yoW#pG zqZTK%pknl}2aO!B1fxcs1KNqRxpbV}Q7@#gQKjncpx=s;jElr42a=4D#Dsd-vwHy8 zo6HnKzm&}xw9z7NpGkW|yl~oy>nky!$_9eh$$I^iqQdJ0B3eK&Ior;cT_p$*>?5EqtMqPVD~Z`2f;gfZ6)!;#!BupmU@2oLaE=G@+S1G7v)MsV zH3s(1_UZSb;3~yT*!&@4O1eN6xv!I1zrQ`{_r^Q7Z>jCPy}kL4{%B+GXyT4`N4joT z%_A+ncebQI>+JBfENN?7+*IRjUYKcG+!mD0yZ(OOrw0?!ft8&dYZfKD5`zt~wz@>n z5s23}gI`>NeKjU{x)oxFRU!v(wel3d^dx}TGoqG<*oAj$yHLoLVNNHtV#+!IZTEcS zPV$vHn>vtLPHo!_aU0&L-NikqwMV?+S3{|63R0)gq3z^Ewxzf!XYME8soh^G@Jy(w zyl1ucxM#)hx{d4~^k>C^w&iUPAZ)axEz<)JeNK82uR|n>u3mRL%(zMcUkRp+?qdHa zI!144t?6mSb=u@Z*nA^5?25sBy#iUJo)DhiB9^9Sao zvtv%g_OSHG^uhDipsOZ`jbgI~YijE1olfcg#TVdV6Aae4YN!8!M*-OH(7)8plhTjC zfLjpDl98?})u^qiRZj)M$J&I$oh9Vooy# zKz+k}9cnqHvYPpX6_;Ol&fyzjr1EMfU{7IU4rwRw^$t&|P2pbnw!&u-ZnA1qq!)2W zN~35`86|gDV(X&fb?WQUx3C#CK4eas^qHK~NU}(@0wEGkGA=oHx+;TGwJYCMa4Z9GTKB@z4w&3BkSyh@{ZNM(XieBU6tr63O+?j&|Ofo6-x z%=AMCT6)HeAAej0Ac|UF=Fv8BN)`P!fKvGhQG!)H>$(h1y?DsO1V5B4L)Q?gr4-4P z2u}7CH~#?uo$?a)>khrZ~spC23yZj^fmUnsMa^7}B+&0r9ce&OgcX_p@jbc_iv9q<7xO2rlV&{6H zhbj&v8Ba;ZAc?h3{t+#T?7O0m_py)Sy%u#KwHz`FdIlOSs@=dB$%o8;Sw{b46gv}D zhsa^xASe|J825sohBKyNN=vc+5gk+;^}s6tD4jvup{?kd-~g&ML>-kf$rMsxnawV% zb|D3pG`E!Vl&g5XP;fwm)5;X7XDctyD5&TFiQy9~(#Hj~t!fW-P3O2eALp|166_&h ziFS3HV-FNhI#E$hORg#uU8Q!mvWc@*m)QiHD=kXfwT5XtYr**UVd|;Z(7cWucqWFsjS@m4a8=V8?8a41+hK%8!lZ2K6)P3%!G3dv zbXi6+W@MB9j{w|h;mIRmK^ftRV|>NDr%|DaQ-g!Y<43`KqhoOC@Q*Aw_b;o@LFD@4WJuJfM5;5HG*RV zG@2+qNU}8^FubGo21e;nw3@URo_1U_AINOhA_wFqxmO;Q*T@@X)0W~X`K)}I*+lc&Z*`geD1i+A?m@nB(fF#5aX#_AdoAB=P{fTKr+2>I7b{mee($M!b{e- z@j~i1{6c{Ne*ous=T+zXP)n+2rym)+bV`^F)c~lArBA>}q;?@^D@e|-aj9sKJW?Ef z_ab3Z!NM4bYt9e&xWyU34|gxCt#;^w?QmGZigCA#@o>WjR-{2lP64xlRZwnH&a|VXC&JTV zR8~U~XnYY35h;uC0-cm`OEcK<=CU$XB=0UGnkM|xM0Hb_SE#VMvf~w?t<4VMAp<`X zc%H``kWUElo=cIp`JS{E3=dhP7k6W!z>juQKer4ja8cEL4xr?`s4~eKrlIIRMU|>> zP5dB%pDl?%0$JK#O}vq~&h#Fm&=M*^fF@k3ZUIswLA`S7q1$wKT z1t=AJQeX1D!i;NPVrucO_xUb!!jE?;DA@npm0`S7z2m5^F?LHKFP^o-j#UoVGx9ZV1ljO$}`^Uq$8g_4(`X z{*-iU zB|V+QSWS?+Ul(>1R+)qy-3i($k`oB(*#obIABi_7#Xa%gP(J3GRvm$GfSO_OojUaIL-|?cjBD2|lAcy% zCsuzLXh=CpPypZ-MqwD3l9inho5;&iI|VGHsek5Qgnzc`=m>Yv!)J5Hu8yZVp6h^* zdN+Qc&yj{^<}C7=KnIf60@ih*ESiciw({~X*BgLCJ-JuZz7&!zmNK}d z>bb}jZlG&el*$_fSGgpA0-#fNSaHZVDmw@c5quRu-LBExtz`A~5G3%*;#T)=_kMb5 zZk>7eHNN&I1XuXlxA@w#x89w&LKEtFyi9UxWox>-%dWpnj_NhdD3iz^w#vxR6?Y@} z6;2jnjpG)ndkF&Ay+i5vKx?qRV^J)<@n_h9OLZ(W1beNUaQ9$8Xr zJxF`9TXKE)^;&ziHyLk@7uIxluUgQUaRgfz#A1uP!jAa7=1^0e&t~;GE5E;RrQg$T zH`%O?DtB$1JlX&6EpwV={{K5~8O%WfyZR#dVy~`Gx=ZoHH9=X<^}C56MDQ#C6wKo? z2-ivOgi9qMlhx0wg_}`Uz_yEYIqDE;AM*nCl{Rz++cs0CTEcI!yoV$BWhRAjS-nI% zivim;;}~~C6hy9O?C7zMEL`$o7*-l0!s((lBaAl08^Y1^$8Z%<-XaJ@xx1tLqKBf8 z%yz`~K})OdNbQ3#P~6_Mx9MOLc2@w(pn_$8%i)${%c&M{3fo%tw18_?8KTGSgqDg_ zAss{`qDggoY%g2dmfAy8h!+hMw>Ir=+Rx^ER3^QGEm)}9+OoSvYu5l*0YO$o(t2(@ zI{q2sqO{aU_Nb2u5V~0x2~JN3GDGuR4Gn&n7_4r4O~_W?BpD1N72eyDiN&1_jkzV! zwn67@x7}`OmbNF?uH0DdX>i5nB|2k1OI4L)|8%9l2AeX`(lGzN`2%ZuYcsKDx|bl+ zb*dY-ihgi0C*bEB)Ll|6^nhXEapg6#``I8^6=Xn1(G?4wS?EX#UzoBduXc?^l@Wb2 zg(@Pd!xsi!o>MV>%;!M%0X0;UrOqtiqsyy?*ylK|1u^x(GWr(AdvY%`&c5R9vz>j} z4WM!qUPB-$eBuzF4Cn;&;(Qwpr{GZv7OncnZ;((|t@H+wR)wk;?Z4?G1U}L)eQEj! zk^%WXdqKmi8tQ_nRMYb5$&x4V45{uc5LdO|yi@vnR6cA+ex_e3h8B(*{81E?SlgnE z@#rZ4m2wIglI2(kTAcnSh$_krp5jP^=hK1+0_ije>p2WMG4Ntp265gbb3>_=Tp8k2 z5>9ao0*k>-&Jr}sJ8356H%X(|Nf<#?g`%Sn&GpD4WW$K1=vk;ZQw(}hYQ!HV{|+(} zIA8NN4B<2+!M2WIvGIP*h`5_XT~xI_z@uCKem>%?Jp_~_g;=Vts@gCkkxqh;YKn|E zc(kIomQxNAx^iOH{#dh z2vpn0ZRMwmc`txY*+0{(Jv`dYZqS=i5xqLVqsQ2**9lgZ`=@LW*VvuY1Up2Z4!DlE zCS0do=Ui7@h&wzTJr}*gy}p<4^zog02zJZ|T`gJhBMo}+h?>mF<=0RAaW=5?-*nH@{|nhb_*RW~)T}h*0yTRKxj>8hT=N)=IocgD(19Q6y|@GAXTc{%Tt=Ns z*-7!`CV*;h4+$3ma;k}&cS}E!DO-<5}5$HmF(|3d1 z{5q_4yk61?+Y54BSagfE+U~S+L(dAgL?k1ib7F~-2t`YI{g+c0h~gvi6c;bT0hsy+ z6~H5`0sH90XQt0TzDb&#-qP16-GetRy7@clP3eca8tI5)t-&s)RZ|H86lvzX3Dc&i z^GLTl1l)|7rqu6PzfXBsM6krD{yApFBaiav8jnPU;3Yg|opSZd)<5U%5ggM>kAge_ zuD(YZr}P^hB?-E5I))Ok7tOz*>eWXXyt+zM{(6gwTQ8H6Z{X2cs&F-zcI9atvr#0A z-$yp`8G;{@mweN9gG$A};e{^{yiBl~z(-&=(dR)q#^wJmKq+PR$6%E?>Z=*;EK$si ztFg%}l(4^nN>i;g1(AlmoQ>U2EhiQ^-&JiEVRl8WF3vfA%YK5(1mgSb4sqkG{1v98^ato}iGzCEYd zDKEVVu}FEgBpWdn#zb##lFw%`DG-=wZ~*j_B4XxvxRobEaqGnRUxm0p8i+aqr?`Gh zW)apkfiB>(a09QNQXb*goFcGRGf4oNCs{z{U?C`Z+?)e$nhyG;IT1UZgVzP9X1A$3 zH+m1$h54_|f5$n$2D?g(E4WCv?pxon7;LOV z1eSta0=6X}G8h2DtC;@o{9q)I0-WXWj#!mhYq888mPI_pSWT@x{gWL!VV!Vf$DQzs zm5oB-4^Md$&dge7NJx7qjZ7kIcZeNTqvcTmegHoy@I&b<1)AV@I-~czS}N;JmA&fRaat?H)|%yw*xFHiu6C^UB&(jbA>LT5u1;tK{s}tF zM(Hz3z>3vHiEs;r_8g~KJBsp_bIqGst3 z87J!dFc2?M=JgUBCO8G4qD%{O5WWO8tI)M7r+IV^>}sLvX#MeeR-(CDkBS3TM;nee zoM|}UaJ2#DhLqR2*De!0&$eD65KZ^+s7R0`c%IFjB48?QQNj764ZqOva>J_)Z!}y- z!|{%8p%J3X9 z-4~sHP~LQBx+BoJJomvT?++}HE4Yi6fG-~dj~SC5P^#&>8HVndR4s-Xk*Aa}H}MK$ zs2Xh(AhrW*Jy>QAg$|@l9OpQuiIh%d<)F|MQaPwM#xTPw>tw=^hsZwH#o}fcebAsl zMy#G6Q-__^fT@edi~>u*SBDZ76aTA+%|((f)`vwFyHbHkaNex-fa{|4q{VBYTi6g% z;1v&Bik4Hz!&l`i?_c;sr*pAXRaN!O<&i#j zyel&O0dRz7bN&PDUSV^VDzJNPN+^TAXy$IQ$F+EpH15(OJHU16%wtIL!4fJntq_xF ztyJN6JA5V7P$moCA&A020gy{9H$Onk=5}c1nxy-cN@n2|A(^pCf$JeyKntypiO@;p zT!?A1oB{T&tYXqG!%-UY27)rNO`)#ScKRGqO(^8b+rEsG#ZE8B+C%L|Vo&i6ie?3M zr+J2Vgs{0q7y}k6V>PXg*?Kud+oMtyk-)hUr-B^RoHb_P#jJgmv-Su#>0W{z0O~pa z6)K#QsDm<-H5##ijHbH4Mw)nZoksyYU9hmJea=H%Y>%@MfdbaErQM$WKrE%gyQ;e)g}NO@Vn2-S$U&(-G+*XEAtd%F0ellhgNP#O~^emI-r#o zqQHp-M1d1#BnX_lKou2_RzxVxf$!y*i`=I|++>L|cn`Ar6i{3me^84GGN^JH--snq zJT09=85$70^%V6E6PyB2x5<0>+6i75qU3#w;4-NQQ*Yv@RlIPH;H(kg2=V3t;+QAc z4?$VZvNIbz+qeKGJf}%uu8;)mCCxkzpdJbwqtT6}kd=efjRXkx5%}pqyN}=?7s?5- zWUxj+b0nOLVmeoNBziup)9MjR>e*IN3%uu@*9H+3c}E_GxwxqbDhp$6Vhca1{Luz+fxzUwZz$RM7vvESG3r3N={Efv25Ykdcn3! zf4{bFd(JB7|9`)kTu`>>^!Gbx-g)Pn@B7~8y*$tRyw5eOqP1qr?b%rdPg$s7S+m8R z2O3BZlqto-F9!8X@$h}%sb5!mkXv{)sRx;JFE}&uSg=xHw|(=F>lIu*>Y$l;ul@$| zS9n8GCjw0i#G3l=i*OcxO|^^gX4CC9;pz$1?z&XF*s~YG?)NoqRNSDw5W_EPN~uE=4iL!nG8{$;a9j)_%jHeCzY)Q2&LdaLWLJ{WRsy3G zQSStvccvJG7JO+@c;3=UP#^JN-eeJBae{09NfsyPqj(2JynFG6#Tb*vm*B$D zWhh>SW;4O8CXLNxDw>}|Rsi^&hkg?JMd)`S@Dj$5C#3w&L*t?QLJx-?4?P>A8+cdy z`u1(@JKGt`x4UCQM}Nme2SWMA-k*k@&U3mk(IbR?A7MYl;xGx2>cB3-{w9loY1oev z;^$c85J#tBkG%z1b8KJjOfQ~f2ad4=dCh_5CU)TY=2Pr|J={9pdSC0qt&g`p+e&CZ zr9<07J45?IkA#kf5~@S1IyQAgI(DNI${3jjh8`7EXj)yA@@#{3vM$4>)xB4DYPs4v zxjZ;8eMd*YWboe9SQsqzWcV7ZkyAOdsG+N(;Z|Q261%wDYHL~?zU8$w%jY|@t5?(- zU9%%Y-e6g^(%>)_mAi`IN9`46PAGw^;rA7Ca&-HVC=DWa@tti z487GpgJ_7Dsv}wx&W_kT7c{BxwhMv`pIWD*)pZCJc%A-OH_ZRKajZMu{UUQ`obFB? zoK*VU)TX)u__ZR1Y-+nDvRz~%3C*}d$GF%9hKB{x0^w?ba3L!Z?Ip_;^4}%+aS?H( zxPLND@scuH?Z+Zq+V``_W6^~I1_ngJ*d|EY605wMyb^^7zIuWOClxRG6l?c`=*7M};rr}E4#96^;V1ZB7MCa`{wWL9n|17npM~nz z6RfRgzYZ;Zg8j;6mo~C!VzG2NiU5lE^~-NX>XDFjYiKO=SD}YMcS0E?G$%u6Lhpo_ zM{ib-Gmf?;+Fort+xBi7&%2vCBb~cD@9%uH6Qc6#JLNR`GS3orY@#pl73y9cf8ks( zJN5+bQEvBF#h$1J{zg_J@3_rZ;`F;cff7$`sLCjO<#PWt0ypI$wCfGV&Xopxme*l1r@IR>^XI$mCP#J=%$2K3vsboChrwHJb>+Ei z?yRf~Z>T=6)}L>j2~L4MTHk|nu}5PM=6;?laf)i?h;3dT#fYg>lD;Q%C&!+g+{qm= zXA5IJwuD-g<$@H&pa!R*?BAu-h4wL{9sn0Qrz<#r#+}Au zBkWjOjXlQA$gwbKQerGT2{G0rrF<&>4T`&BE)>L7`}stzJ!Jn35?ND-my_ISl|(hQ z(@tx;C{ayGun~M$`K)56g$*D?Sr8kuL8w=;OFERM3z=IX>&qkhg{&*G)@6mW#R7(AmD4dFlPUt zeMZ!4&R8k^nRExHQuMpRT1pyK0jdc*?9}j4&6El^jAMsuD&>p)2kd+CG*_+*1kq+y zr$h`Qj+=G_a(AhCI8Z)8h(UAXb2Pg6BZ|1ylgAW|*&gLnpPR47CpW2fr{N$)4gefh8!2 zY%yj8O_m_j6|yd<*44}`I1eTDWDOQX4X7ikwTe2bgl?ogA$!EU+kC(IQS+1L=gnrg zz>{wN3yVu2>an+2s65B#p@a+B2mHJI2mFWq%#DP-+Z`?+FTbz+;qu4JpDjOGey04L zaw`ZzS73c$TVQ7ZlOKP}^a0Kfc+$Mfe87Cze9U|T?WA0q&RH%&f*yO7uCC|Uf;;RV z_uuD#*#EfyS^r7@8UH(eyzv_CtPE@n3EX8H@wb1=1>}mnW!0F|hr#;?Ns)>Hu!v8{eD}r54f$)k*>p1T(f| z7$_*k{nc0gP5xYa8FXU(d%Cp#yNLgs6Q7!Q5ve)ju7EEnC|P^!E1NP9XxP|EU@ zULhMCST^YaCmXnetoOB5N!?=OFpZdgd71iaZ0=nqT;_7hiQ+wegA5pfh@Hxi`R_w%{0 z)9~vAAHI(d6VvhVBdEv5$@M?WV!h)3S@ffjmQuxpBbXyG&wvO5rMdufNu!%MNztaf zSdu1y8Z;Iy$})|4Gd zO7oKrtrWJ&_?h%~V7^Y%Kn8Zec9z-}=jd`(;xEofI-;hhe}+#$Y(>v#2#0cX8KIZw zD+Vo$zu|ZfQr`I2vz`J!2jL%nh@W-5OUW-obV32lNSA6*yh?JBS$6Ml3+vkb8y5vl z(wvo@lUKd$DX4{ST(qjjtA(yJrQ4ht87(X1=h54J@*`xGc^a~XJzQ`Pa^0I-hBRP}a(5D_uj)Vns+nv&#f(C(XXA)&&!o6@t>QGbiv;rlpn2;He!9YD_U ziF3T`T*f7AQ*JWo@a?70?S6N2S*WqF;Ks^zZQ8zh69(g-q6oSW-dur3VGG zu`y&wq9=26W)yh`X!m=U%8v%@%`;N8j~JZT<@&{h*e@7!=sBSxWtuja`b`t2lxqU7 zt+Z~m4p?_t4_FUdk6BMx)iuXP$AE(_Q->YY?Wk)i(mbta8ENH&GYtXeKedsSrj4cn z(=O8i(_s@6cwMWJZs!JPzjMOLNaasBpTi43kxpq=3{KfrfFJ-!Oq=I)=9OeEn2)%d znTWrseWRc(%g2D4zASzQ3f%4j{$VDi2fDpu*!P@b@uWi~!h`-hWz~{_?IMg&zk{MWl zm7hh5p5La@^n8t}dNB408I>K#!Q>J*Vdvm}vDa`A%GFp0#x0cbm|@cJl3~hlkulh7 zIi6;}P0o5l4nBwyv*C+*ww*z~y$8y!aH)J6(oS!@B@mfQO9Y4tJXu9{G7<;aG z#7;ekkd%1dGwFHBGv&GH!NApeLLNNt^(eCw*uOsLJ>tc*73voXF@DG@qEVL$>xS47 zh;d=8g@L?k{>rcVF6Z6Jfz5W7=H~}a&#F&Pt}9bb?tZKE$H{7$$sye)$jky z3D^6I_2GHZbJ}ykbD7<2_4Lf?W~?w%oxje|9J+x0b+>E=A5d$YfCXKKNkdQ`2c67iS+kE@Eib|&N|=aW5}+s&D2 zoatZe5T;B_7UP`3xkCgo6#^VH3a@9*Adg%Aoy9q5Fx z^dVbPn+gRWfStjZL9xle==t`Tt!i<@xsIbpJB}UG9{A_wAD!3cFP{a2TkL@)mu;3M z7v$i06GS`6_XqAZ1f?nuM99sn%!)41m}n0QUUcGMhLKl?G&i;!Km`^I888T#QX?k; zgT~mU0OJV@EhNP+))_#lbyvv&QvfTFb)Y}~)$*VGWV!V4xGerwoRRCmzuSa;Rz@wL z-ZbljT}Cd?t1m07ZzwI1eR-v&b#^lh@hlIpA&z_WR9)BM_Gc5t%vJUgm^fH3=y zp4A;x`y$z@EtJjUd5oJjdK$4(jNey4Nj6Ak9$v%wx+>qW$it?Z zONIb@DNf%KyBk*|Z9Eh^3c(J}8>ZtpA@CPfNAs*CJDWe$35Nhj~Wk%0dq$kG!o!Tb;T|T6J z0kK8x;sHSNj0M@mz#!qU2iq-SSLZ4qG7tlJTTGF$Z7P17ZMzLp<^tP7TeFR}Q8br5 zYkSuQfx%3h6dofV6ppTxyqb`y4k^YU9|jo!T|fl0bUUp$$>hP__?I9Oi5D_n&v+|C zEJU84 z4Parw708L6!MZX%Po;oK4=RD*+5j2u(`($YfxO;xkkhk{o~vs31tPc5eTeCz_(L9H&7vDPwt3{GrHE=$QWPScPSDf89>#c)m*C{YczT;CL3ip!Lw zra}>`g}@!%Xf1x$^DZ{E_VT{GI(>)%lK&Dag4j_?s}Hd_K?!Sw#VNk``FW=xS5*E$u>{4_T{S3<){zOE z{Z?r~96;oxY_OD>J#hT7lqFAvbUrOd7Ci(tThxfp>tLNGr}7Mz{DoypZ_oUaJTgf30?1rKlrd zt!r9l$}krdEnBv>!HYGUB}0&l-Xjn)Q@jIIQ|T%o5F<9J68m2<1XRyt;Q)xmh9QQj za+D^BR%Jf?j2%CutC0rH=jHn|#xmq{$4a7N124hb zfiI{t5d`Ng&g4=M=*LH`U&JSJrCB?zw^+AYk#p^w^^*0EuqKRKt$F;--t4%+ahqei z;~vMC9Ok=d{DlXaGjGVeEpvM&Vv&75^8t8*yQvtVg2dYh{{SQ%LnMRD%ePjqmqjaY zD5+fTYOK`msrdNU(p~YDuY7#+jX}Bn4N3P3cuoBbUQ>JFqkve-io3)S*9@Jov=A#{ zimXhoa8kO=Ly{4~N*DSjNGfqZP}6!o=43#)3rW!f6bVzYG^tFKFY(x(MvBVydWoWs zcR|-e8HcrF+6nCk+M60Qe)hvgJ?HnE#`ld-C*(tRBNBgO`mX8w5CSAln=Y6xv+~Wf zr_=rsrjm)%X&2HiqoNCvm>046dpS?n-`O!HANtk5mOS{;&$P0Gb9=W>(JqMUa0t3c z(bwGmnH4tzz<&-5(7PD>B|1du7mq9uEB%+rh^rN3C zh^vun?+0=N=y^7!Mj;ORoCMG?VXtOFVYz|AX~;0YFJD0b28*Zy8H*D<$}nV!ifF`J|x~^5zGKK1{>v1fM}$8v03~qt2kS)!D=N z|537A7zu1m*nH*)D!@%91r<=IW&{(?jN*(SltN%obWZ@8SYq$8uZO-i@mkIsIqxBW z2jmm>RrXE1q+5=naw><`0<#1aDrW;}G>G>Xs~eYPm6sJ*yk3`oUX|B7zc`;#ioaD- zisGCZ8AVu|l%F?bD=zaG1a|SuX;-i|;+xZ=Tp}(k44!@|w4*FyBzBy&%cv!E{u82O zkce#Xl`tbB_u1pbT~4r|vCFI-M=hcAp%e*%HM@yY4v4(50O_bWkF}Rr2z+IBtey-! zhZI?Om<~!#x+Q_J$WkjS7wdmctg1P@=J&8Nk&oJw{ZFhE6?w7^W~aL1DR#0_goVph zJEA=(_W@VT;uvQMQ*?#0k75)lnfdMU%jPRsZMxKa4@Kw2ERH||joCH_&8_AhGiLiZ zu7X8~ACbq&xE0HwY@HFQ>kLxjho+yJehE5AV)G$LY1}Mx7%QY4QutUS&i;v&=8fh7 z2(@EPc%MkD6dS?)BkbTx!$!jZ#Jx$u`^Xn_?kVXX*5ZA4_`B(rA-16}cdNb}QCuPV zLK<02l19dKJ+t^lc}RGXg_0}n;WVnb>_IJlS-S$ZHU1#HhiLdwtOd1Jtw%%WeuJMu zK;uV@$Bnq7*cjx8&saN-_o|rjmXsH5{0q=NnZ71 zGI(w%XIX?$0M$|wZsZX{3Rtkx&*XC(n02H<)MDZdgoQxK6fP0-_7LfciF7C+|8{P6 zMj_LDCKEdc9Cp3N|3LITowodt;R(ZY1|^lYY_tqmc3BQs4qJ{{PFU16+eX`fZI|tU z?Xc~b?S$>xVs7I`tbEZ4Fv>)Krm2*Www;N zrC_li*`pxiF3p->mdr0@kOlM07NsQIm8rB+#Ee$h<(@%ooLuRRS#ofKI1Mwa*dz)> zl2N{tI0kK@2$rcR;#06-Q%XMYm9Y=F9YW}q#aQ1Ua4d6^)-!X|gvwwhWz{hq@jYoh z!vhhxFTM*?kO7UZOE;^5GaM73fUSfwQI9bcTS^l2K8vH&a!r``n-3xAQ{p-EYvwml ziJjwSeU?&E z5x~VsNo#LyqHqjW7ZcnjG zEbe46Kyv^(cE;YtK~luJ2-r3jCkYBcj5EX+o}2;j3AL7qRU6X=2-_+^lsJ`kF6|OS z8xDX0jBm<_fLTlEBn21WCrGPUoMWNDJW05^vepBx_}Q#?37!hPx(z_ZyWJZQ8z=sz z=Y1ZZ37uPc#m_`2_3F!7*#W^x;17YWhQgwT&Wei8`l5pRj{jVAv#(~J!!@s}sHsyM zt+{2qt9$3VU}ewfs+GGo*1i3BRrhVd#h>f0ymx#N=*gF4Og3mopfOud9&kE0s37MH zxtvw!i5|noi5U!8nMd=S;}X(LhOBox{@U?%$5W___zA}kfP1sA#ouy#Ky-v22NulK zz}9Hr$y=0fE6I1u{EUpOf_Yj;M_zkzSzdw5lWECQ=f79vt8y{maS0^`0p{U^U`F@^ z;yY|`fD4em;5!$B03W32w&4&aN)IvnNaemz-thp!}G4-AdQD_P!uiH@nY_e{bKGUvb-60m44|ha|caKE+2gZCAeF0y6ZS9ik z`r5ksD&N}P;Q`<3@Xknh$XBr~GBP?g)Vm{GGuW$FLj5~>BZD=4(H(&*-_qfilXvMb%<4{+PjAMTY$ti2uMe<}g}3_d z*gdE7oZBUIk$MqIA$rt->j&2*9=p70BaA7dg7an5c<3n4+ zBfhbLuP-^{qw)%euQlF#xry*n{`y>|?TeG`$f0bj4Lt8I<1 zcWjw&U~Fu7Sui--Hxd~h8?70|90Sf^PuJ>e|AIJ{Q86rbixI>^?Z;_lO!$yPuMd8L zKG@;a;=d)LTGi@MR^jSe(TgVrP+Kj+Vke#piy`&YHq=MNDBdxIdv@S@jTl62_LUG? z*@0^j{8EEo79>rQsUys=n%7v&Z4nXNU7PyEne8`ZE_cA9|31*AAkRJsQ#mV`Jg}HyL?#ZpPa7=z&N2+;kADo1Qe+?o?5TBO!qPcu}|EL zcD4cb3ALWWXi*=BL45Y%9bA3-SdOdSa>jkQpX-TFuL3stU?VoH?wuJ6V%h9Ba3()( zy>QKNR#W3Yx7`#pz37XMd%c(q_RR-~BMJ`A1KVvAYw+2NYh0tG2xEY18BXOv^nr5_ z!S^xLYw)Mzu|8ixz~2RU|D0#YrK^8e)&L_?{DFQ+l@f7Mq=vf;$S7>Wes2+Jkea81 zJAiH$xwD<%XEI@F=7!cG8!|pGY?bm5jjR9`&_!Y%th;@PZC(ls?fGH>^s(i@;sD|j zEd=$cMqh$SY-|vV#9~mrM%Y$2q2JB0n{E-;fg=fFY}ygQeg%5jEmmUAt_N1F7B?d9 zOAn%ItN~u$j5%0`8QK8Z&n9szA`X96+%7&RHj6D7)4vn{Mf{bxPyC~J1U$+<@t?$( z#5cv0;yd6{{#v{Rp66@QC{5zau(LiO{#pDC7Sewso)W(ozY`ydZ;PkJDe;>4F6ORJ z90X4M5Ht7#@jCdR|0@2Q_>s7THTXZol=$zk(Cin#f%f$*@=Bb+jQmpkTHG)0#C&ZB z#T~>Nd<-l0F3cn;&p76DCsx7-VwboZm~xN!3-Dqm#J9vAaWBj~zaV}k{#Cpn)1+0V z!>;@z@v*ofg|tb#bVweESD8BAS>lUStYAwjrbk}aka7z)<5rx_ry`z zAl?-JQ!bK=#ZSd~@h{?{I43TM1g!sF5pnUXI4S-T{Na9R?Y}Qx6#pQX$VTyiTq>Ky zWw}f?%jL2~UI)=$NVds#*@0NUD`c1Gklk{n@uqdFSEr9+zaH2YuoFS zpADuRk-m{=@>`R+?T(S~&ak;xeOTI}{n4TDc1y4RY3}Un9f=N^x9T6Ac(8ZOvLbm? zIC;|w{nxPiux;-j35SOU!IDJ!%&U9*#>c|uLH%R3e&eA2ag%;=NdLG=zc{2m3@e8E z4dJ1FOLRvs+8na?42%!;_l}J380;M%vqxutGq2TOFrt5~)!#Fsf84BJ9917_xAcX# zg175U8%tKqx9GQxsSne-5wKaNahCRVv)izb&;DkLdNut>n$Zk($x)NMxI9cIWtm?e6eMv}Pze3Ql{#+Pf_hS=`uE-;~}q9334SiDFfel1Wgo OG|;OYVSulL^Zx)kukT&} literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/fonts/Lato-Bold.ttf b/doc/_build/html/_static/fonts/Lato-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..74343694e2b2114272f38b1124813b972cb592e5 GIT binary patch literal 121788 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 literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/fonts/Lato-Regular.ttf b/doc/_build/html/_static/fonts/Lato-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..04ea8efb1367727b081dea87e63818be0a4d02f0 GIT binary patch literal 120196 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�r(aJ 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 d3)lz{Xfc9M412p literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/fonts/RobotoSlab-Bold.ttf b/doc/_build/html/_static/fonts/RobotoSlab-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..df5d1df2730433013f41bf2698cbe249b075aa02 GIT binary patch literal 170616 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 literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/fonts/fontawesome-webfont.eot b/doc/_build/html/_static/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..84677bc0c5f37f1fac9d87548c4554b5c91717cf GIT binary patch literal 56006 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�<^?u>Q{42JLrwuTYxyMKSr<(b06ndn)vd52hUM!% zo+=6@Asd2Mt*`H2sR1R`U2HTIDK{QgFI-sf_w#=Hc>2)O72x1WWGjJwy|G3;8Lo3I z;fA?8FdLIbD*-wjw7xejv4gDku$%G7c*#@sPfhc-n!AO>OuF%j-?XwXUS7ykNX&3? z!u)Z6Q>3L<*X>O%#A3T!QDBA_=0F5x69h#-#eNU)Cyy(c?O%ASv4n_;a`Y90#cL_D z(_;K&7BdBS`J_nWZ_JL5DA0W?m~FeDOb;1CL-`_tHz28nc6m`SQQE6yLCA~WRrufi ztUuACikW)SJ5Y4^StEqFw?m;Gvd#t`Lh;r{4h2nmXn#Bpmj<%X^mBSvCtqR~(=H_D zeIfuZQY56zYsSffvzGA1J=vJY14|~3Aotir_OVHV8KjI$T0RSb){Cx=vS-xgKhz>* zL;lI5b{q)SVMqwPr;*W-;znYr7J+s0NnUbQq5R0zB{nMji2e>3-D&B?2q4GYMEj7v zKFX$+)S{)1LN%w=dVpGo_XyD-x0vN|DUwuAODoPzAo>oV+F-|=sv$T~&m!(ntMxj~ z@DMj&coe2m!4aj2`$psp8tyFqRu9=*_e<#$qy&!;{%LUPC4bEliFJ5`3j1pl>Jdy6 zN|N5I{R;&z{aZs|sJ0KLvA89L^sC$##Tu|{3rOeS6#~8IVwMEMNkUfx4~>P(%^Mnr z1daO_0S0*45?yX9N;^zDp}l2fTgr(X8h2-D@Kh@h1kt0e6q<~tR%~<_?4xhPZOcB- z2IlV598vw70#5ga9J|LJ>8Vlm|Fzl_{OON4Nu9^OpV}t#oyJ9lF@399@#JsCfb^7E ztdo;YeIgfr#TGhyQTa>{!fXK6Bst>H;2f|Ca4&RWK%`Yy5G$gdWv zNQG%s?rJm*hiGdIPQQ6Ffuw^O+O)|gKCjCxH!5WoX0lr)nJ?Um%IFZkPXI~Hc%5-+ zC$mgDJLJyF=EPNviXh(qiW)b50a&07Tzgzrdl!HU9TM>`(GY6r8%o@$_jv?LTJ>a? zh`8r{la`Qa@cqS$u7DGvMm2pWPWmXF*GoKo(KCylN~w}lz$DQ1?Y6dZ&g1P;+lFn6 zk=oK=GJ%|CQ596!-m5pbaZ3%>@?;SrFNuKu(c;kk)2yeVwcZ3E_V6uCwvbxs!tBd7 zfU@>bxjO%R4JL1j1YXv@>b?vPR4`@@832~)B&^F%Wi`Kqa5ex(aoigbix#I4iS6F7 z2ceAACyyvn%6edB7BVznRiNUc@S7(|d3y$R;tywo+K?;rnELw}Szgm^x+u`mlx6mI zMqgj8MUP_P9hLehpk~wKe?(+TsNTPKC`N*X(Gif2-jfrkncE4|1n5>~O3}LGLZP6a zf}SW*gHPJ}#rt8P_+WhB>xFI%bO^YCBVj4AE%H6~?gPhE>!ppnF53O69+(p%WR z(KgL8sZ9?e`9x=UMQAFem(LPV>pNhb>n0!7Ii67*1;ymR4Pd8bqmf$xaRtrLX!y(# zN&&+fwWeHWKg;-n;n-!NO)h_khtF?0E!XO_c>X&_+J2aA?Yy_^0hQ0+CvAa--EdBl|+HaenEjw)O-AJKya{G zH)C!2b}($wfOO*Dd$8D1c}OqixgW=X4-Y9R3ZTJiO8C?8_fNb&Z~{VgxgaP+bv|RE z9O4t+ENy|tMN82C`r%R%N-0VnY8W;KFDqSuh}9GUn<($h@XGVxabgfT~ z#UxysSn0e*IoA2Fu*^IoW6aS&r#qWcrIXfcpyhrka%lvVshhufjcnExd@9f4bD0iM zT~s4fpy(fG_&#z}%KaX#Cb<94H{N!rEE(()?dxTAsLo~e0}GZpIt)otg7@&)2N5AD20|Ij`&7E>~l+qec~wv z3TWXDff|6P4qZP2fVYjiT=0R}X83&&B_F*H#qoz`^P%@zjciPA@G>I;eY|p(d-Poo z+SKXJYe}e!nQ{sZ-Q14@$~qRh3BKh#r`lSK5Z5EA_57X1S_&}fq*Sy?==X0 zfZ+wW1m%v1F3!!Tgwld|k{|a$Qq1Uv`1e`x%AFXtQSe1MhmyYMh!Fvr#c*}legb3p z4c?HEY%S4h$k(+;eb;yuxp+fEHFH6=mv*WiVQ5UXb+q*AS_7md*3lph9o8w)7=(fO z(@0$-0s-OEo1A&|kN{Nf1Lw=abN_8z@!W`*Vjfiwkvf4&wiNqT4R%I`D)O?xLwd@YD?Bh)s zWVQVs9y(yq4o#EK2gtSrb#V|#LsnZ3p7h1=%nkPY&KiA54KNdM%j7eYSey8{R24HV z6c%2izaZ4w&M|*iP>8}f!m7{Pk4c^8I$_`eUtYi&<1o~Gx~Uet(^CruO=GxMelaT< z0r&WFdYWvul}nS=ESC?rsL%`WBt(kJtAauKvQm*{Q-m=D@td1Y#orGyU)u89dsQi1*<)Frv2U zW>geM7&K@C6mO*==pC4lFd;oR@-<$ljPG*j&2@7uWV!xoO|Q6ep78;xak#4Lg3%hv z9NxP=d{avX>miQ>I@B>LXi~htsUSevh{y+<=;%~pa>gRjuz4T)8_>1sIzGFLmjf&? zg3u~4VfZr$lENgw&;$xTgu+Ld#usKsU|euvK2b=P_(%UOOX_^9E7p!o$xLjS*Vdga zT=pVc(jB)Zz9~A?R~Re6vWWO}l@>p3QY9u$)ds_=+KE@UoT29mMJquRl3g#A2MKvfXb98&%GJF~V zSqVkC&abwDLPbL6=;kI(>WZW|e@pIp*0d#+Mkx?C9fB{>-&^I?Fo}K!Sf?pvBIX@; zfvY@xW}^1!i~8YnmEv1Fl;~oBVNkI0lz8gQKP_R?l%l<- zbAur*jYkVF!dfbr5h0+X#Ffn`gW9dDZVXe$0<*fLe)r`%eB-7e1KU?zZ~pyya(cfv z6NuDaM@8kFjUX@r^K=RLfpJG6v|LL?La+IU&UF!Ga2!(3V*3@7lK^VoZaHlphyDmG z-ng2m=yd1vzOBm;0rCQ{JCHrV4j&oCCe}QNct+hPEc_l)i zTeyXQM;Ud>6Pv@)L>Wu2a9_11&K@?Yy&t_S8VJ)faI=LsHnG zE&nGahOQ~<<^XHu?o(@C#tStK3P?1+PAkPdzF}zb>T%S1XsCJ@2Kybk+kUtAiuOu= znHeOU$0-2LT>?pD5VP zp7zhW9ZW(@66lmB22PrFs@SMNo`5$z+o8oXcmb79e?F#iqxlJNvPq1O3bX1k>%@jE zs0kypki=GEcJh63BCy(YR##SZW{x*<#V3(DkLnFILTU!AX!5$3YD1L1;|6_!qtO@g z)pir7gG57~H67fMaky1>Iv^IsPf@I~bxjJ>&~(7S&lvUA9n`IDl-T6fZLtxT-czQ? zg@iA@mbo^`;T*z=G3%hLVmhEzvay&B-rfzG3=$EF#@BR&;E(vh4LEAGw?Co1-Rg9v&%5FvOJ_@awz$&0by zyA!sDe&9hu+v*Rn-ET2Y6~mv)Um^vqCD(-9+SpB@7g`tYt-AePTyL?d^k>JFR^FVfw!-Zx+DAVGejcyXbR|uod zI7$sT4Y<0=zpruv&m`NaR1|a{SFb?5NtCP-MWq50y$Pd{gwU*uwTF!n)y%{`Q#{_p z^aRJP1WC&-xveL=SO+PFA>sXfQ~y4ofYE&ys=Q$ny6Ls@T}RTw@=WF2a25q-1nS^J z)bog{OB8g)$hO7?FuT}_W*Mq{dqBUji+AFMGK$USZSjny46-Au-(iO-E{!T^lzUm% z^#c~Xn(%d?&{_ATTr`lgX_|2vd-QWiaq*_Bi6gplBrhrm8nc7977n)gT{ZzDreScgHwG^T~2CSPY?!Xp2!B^;a-qld~G5h=iFq0!TqwUK5P{rgF#fL_(4L$(l}u^ggms47>)abIL2?mYa7 z{4IDQuCBHus14%Ug)nW$U7z?j_aZ5HTOsyh+#Neu!JK}NNrGgMR;AoVWPWbhxevU>@uYL#`!_-}n#i>gk52K|3CG+<*#-kxkzgf%_j)6XQ^M6<1pq_t1CRB)Uj>xTJCHo$~`F! zO2f*RDhYh8!e}g>rJJ9dnFuO&TVO3+Kix;x&`c^3JnFcA_dnEy&6BGKi25DTuH=A# za|Y&#+-39O&Y!l-+CvjDTJh*S{c>5%Z3&$t2Bz#7fJ*`u2T%|l|!47ormqORgAm_1c{ zOR}0L1k7Pf^hI=gHz>fert6I!5n|mC2K+)F8QP@-(lD@4r2O)?DMqTj0-<@F{Lr0a zYREA++GlC&oY>tMEB%C6GYS_sQji262-`+CPzmKaL54@0=~PYd*0CJ~(H-Sn5c?pv zwxIOKbtA%4>;lu>W!Zyh1KsQN_y2H0qAIIdkWEGZ$&i$qN{pK!FlV+ezGpKJhdcBIHAd6I%iIC+b_$uHEC5kD*HYi32aRt--#lIKYZsye%0+dUg|>f31Ka z`KG>#I1z=MGUR;+Ed~)Yv_1ZK`oil8z9!IUs_ni0iMp@RRizIjXjTJ_>J;g}4S*6U zDDKcbd59HOoY`QYh>qJ6!8LvpyTQN)(+<6B9d4_@rn17iQ>Om5VSAgA!OMyHakc%3 z7%#?mV@sNFMIBHIU|ls*>05&GfbBM6>{3`Sv+CKL0}Naa6X0e3aJ3dIk+Ax}-hDG*;k81elad=!j}+H@5>2DiZJM2@jvhoB~6UyZ_s448?3< zP?c|sx=eeaXhy{Xr*CqC4-mwm*?efHtaud%kQFN>Dejop=qCrN^~_NiX@f$&UhM|A z)C4S#TsXF@8f9>1nB|wCM=W{PG-vM3m<~36^;Jm@7GVkwZBDV!&92>u+fl!Ey*G+E&ycNh@Xa+ES2eFP+>c-KCLb+l4Icu2wj9W< z^5T$b+aKZssNo0+i=>#u1|;FV*p9lc_ zX5J4*NrN-&ZruD)nN%^tl!+3oZyMRm`o!aZY^z1xGh=195WVYnDfmt{T9Xz_mXAGe znCapUf5uulvNJ9-5O-nf!nl;nvSn4xm_e@_4!uNs1mjen)`cICTyaw>5f3bKVARfx zqk!lT3}W`Q^H%urOtz`JB9hiO(}s8}-9d>U>)Yx1*vhrYXw#=hbPJLpwY?`l+;;R3N_52R%LcRJ!b4*2(YO+oI1gGWqY!7D`=7^0mDkD$|0YaZeeeGv%cQ(+`#E1 z;qt#Z*?1)Gw{R|)zB_{cjGv}qQ&$TNMPItibTrEWKvAM6G)j!KsJU-g$lZLzUmq;V zM8pX_)7(Inbnx*}efGx#!)OiHvvv5<_!#cwXt8!PdO<_rRqQ15`qA{%duOa8c0>GA zb^hH}RC>`tnoe%B?=LVuUc5WGVHM&(Q6dweYhHBUA{g~B;IQ=AtsN&=SHGT@qXw!+ zP5%Ha3)(bHnAQKef*Y`_&A0DTtN8x3yt!2lDoEh8Q9v8sSxf1*!mtftSP5GoXczH2ppazABD~$0o2C zTc5Cq;z*hqa@f;|o$czp%KO_{&N@7#C&U8q|AmLc%OstvqPK?2|C2i37=sN4k=BUI zPu4{tHQKvzbJr97G!;+!2PdCX=td}5WLIlWcP1Jvik{E7U%ByUgnxy)R)cFF{u~HW zG1s`WBc??#3WuF(B(zcUrS$gjhVS^Igx95-mS8$h#n}}^X!Gau3C}=A!gJ-cXOHiP zrbp!O&L3eA66jbpRcxGpY7_nE)y1#^l%x#B?1Yj+mIF2^EXF;|?KZcqv!waJ;@Ooy zWB*DUe4w9|;zw`y(tW(g%XjiO6hZ5=?ZudbUE`xwlK0tjjK@av@nK=L#nWGgn^;8@ zT)hEg5)v+#r3263l*cU1ess$&MuUfFyakRG5k7wHZas+uzL_hX=n681($`E{uut(5 zZ+$X)Xl-g?YgtZG9OWX`{M7u}M}!dijHd6eJPCbhOd4KXDm7?z+-5oDCu`!#ioad` zK+-q#nD7Ob$1zNDS~u&elvahQZ6{w}l%Ty#-;#Muo0fPu<(aNU@vdXpAfVLUz%X>2(=X*`O$HaB&RAi3zcRGaxm@J;WR9dE7jlFBz}*X zsC#z(or&u&Kkx~h=7fxzcP~TJMufE7SP+IqDK7v0^t4rlzgAW)e;1DAk3VxBtXT!EE&AS`_g# zfeSZsr-M&G-dhk^fw3|~6n}9ieV$aOx%c7g%Qf_1K-9Vr|DcKhE47^cs;A!@$-s5` zmwin@dZD>+T@1e6+bQ=Xqr)+pGn)cPNP6=z&N9uJJ#meQsg9y;)`#}6xCx~^kok!q z4vG)>kvXSd(hoyiY_%>JXwewzu8_xE!Xr{;ZvQO=Btx7vAS`&t@08iR>6zRkKz~X_ z8IBBG9jMybK9$ZDY9MPSOfFsVT`7+_Zu~+5%2^YmM_}&os=^l&EZy5zk*Eqd6F7Di zw=|>@dwaAiin^d6{+C4*H>v`9K(Cf?Bb0wF|Ie;PV$$&Q@5^*fd|v|KPThv;{q1Y$ z11q#kjY{o465t~K!oX%k{en-aXw%B-XFrRVpqx(9pymg2>@h-=q|@BDdjT>lyN6c%h7m7Q?gEAu-as5r_TPWUrzvsw5*aN>(CvMUomr!X- z#sB_s^YR_eV$Z_rR!}yx*nF&+;Z}^xcI&#Zg2G9qv4&v2ck%%wh$HzuYfCaE|7oX1 zQlv02;_?jKO7X+sBfv}XxekESyT2aashP{FvMF0%pO3F(n$&CT{mWrf-xQ^Fbj>(4D-@F9}oYR zuan#HY7|YdNOK@rSA}CzSF`@8fe%q{mcRAp3VClfD4b7DN^rHCA@?am?5IsbM?6!Ho+xkJE z-#52u5@c!?1#0)w4Y_dcY2*idt4ZLJm-vZK%?e$<46H(L!`c)qmW@PAwumc{zLMJ= zBsX%UA*z0!(zM4EHU#K)2mZa*O|!(6BG+*>FZoJtKiGck87_DY9|YyNfbjIZP>!S_ zT0-ag0Lfd_pH2yU-#T$=b2I6E+~E=L$v5@BMBO2cNiBj4MkYyyT6xLw>Wn?6a_XHk zsvt)I==&j61B_VEUj(V@W?PTw0XENe5P6&zG_a7Fu@DKjz=28uYBki9NLpF)0~Dib zJ6aQta$L6y-J`vKalrD}ph?Qy&`McV#qtOJ@_Qy2F{Fq!Q9>ZxVQ<5VR<#}rl5IIp zi1Hx%#qbm7G`M&?kc0qAKUp1;)F;iZVoHU>>-pvd9ohn%{5|FvMD}~omEmn3z+u!i zx>DQ~FftNtYAJXryMco$rE$%>tSOXa+r_Db&M?p!gJsksi6_FH>pz!+=yK4=9#@dU z;O6JYBOkOh_Gd|a3+LZIQ<^yVf0Wc}2v(t;MPw#6F>>7!ONIDE4mNQG*fEwU=IqHx ze4f<(*KLOL&(Lvym(^qiIA8$AElK$iWP5tc=>z{w7YA1CqK*4(cj(y|^;Iq|za#{I z`0{J%?e0U#b65*w2)vymR(=^8v`8JnXD}RZtd0Kd3dZ|e!ew^xT6$=w-t`fX(7#ld z_O#nwSgMrHHu!oINXTwjU>P8R#L3^MiVf zpNitY8Dwz}279StlC^gK)}8pe+PLqH?T{+p&+&4qOCFXZnH=fih!T3SpQq7RT&(bA zA3&|c(XU$cjS7>h@9|x=(vsX^H#CAyiQO7xpf76dq zEcwEp&TU;vuBWSafwqqa;n(S$liSo;O=cLoWnEUB(9@6`HAwz&^0)e5Nk9)oju*!* zbX-5|$pREya!wAqY@9+HtWxsYe}56Vx$QCiOtEgb#&esDkfn;l#cbkBb}Kw{05vi$4E!j+E>Qv|X-L5$8+8@VdmA2zjGisS zyQhW-?U5YKJgo@plau#52|%G+YZix1O~C)mF>vq()r&0?2)T~RB+fYm3}bA$TAEO1 zf~nA3Ut0@wy=>TC~Xckr3cT@VYyS0EeJ|o zKkYp62hm~tsbm#nXJ>fAA+#PsBReMMYU8AI06uvJ{f(n)T9}}%8`r2KdAje93QH1vW5@!eL zF%^?9G}a}8Pf;>=Ki5&8^|~3ORi>uDEixuGj~qr#Ay}nuPR&tddEjIAMxW!fP6(6k zT$eA&)pTdTF_=nlCRgsx2RfoWZW^c$mkjpG<3i3vk!7S8S=LuVfnk<)vvWJBA+P|Et z1Vq;tBI$D>Fcs(>giAqfc~9wbe;zde1L*mz*Z>%KdTNX3+%WUHMCa^3Li+s2Leh~o zpU1{a=xbY<3G|OiJQG#X&M3_ z64?haImy)MSkZrj_RQZmyd+Loar$^@%gaSU!Riq4BX!}fn+@Ow!q!O%(ms^g z;z?Rq7NXcXG8X_)c-L4a2?dbyjKC6LF~Tr-^IFmd`>SY9TSiZwn=nX<>)tzgo(mb- zbUdH%#`&@W{GIikP9+jImhGsWr=g8cO-||o-Ed9lVsx0MN*)!i1D6*_--C7^~WZZ--uocYg z`R9Fw7B`nE*$5-aAicV1pgCSX_&ba1m$_1`Rh%v~3K=>-<8zb7I5j%8vM6x&6Z9mi zx>kGtRGEZzJV>ECt~kJfwnCc9*QDW5jsh#}-Co}G0P#qFT`7+NTgb;oJ{j-Kl&meW4jzzCQMa9$y zAzu>VV%=c$kY#wbSp28B_dN6b-o zFue70f6a#{n3zfDO@amwi6N11prToxEB2pklJ#@6LTd)ZEVNN^Vg_Q`e(0kI?_9K5 zMb-N|-oIvf;gpw1m0bZFn^wI&!$^3WF7~hlSi|6~w_&4^Z~_g<2He`EP75R4vNv=k z8rcTRqiE8-H}U7*OM``B`QZ9t$|#ps>Gobl+7plwj|*SkGwG+V62gSZ<=|mY?{3~; z&3^)Ro!+nZCFF!Zu#d}5);ac|Kue)1_@u|VB_~Xi7$~V_7`Nv9_|{j#jqgq}B1Ij& zJv{(P)LGC*Z4kP2K?WVG8Z5!)#W@ugIVDqZt&;`8b$RtbQas1Gd2(@*(USfc$6_md zG6EQjnVNZOEwpxUhBv<2aJ4w~e zm$0g<`IT1g6j~j4i66&}#Cxp!>xYgp{!sU?eaeT}l;+sh26B%XFaCYoTfcab8k{pSfOBf%}P8L~6 z8&3fiO*?xe>f}fcgHpQnWj$G<=gJ(gRuWelv zK(P%x5^PRc^d3)%>=^|1$OS|f5KA4EI@#DF%n1gcq&H`RV^BUA&8c=J`x#JM$v~ht z;Im>?+-bO+%Yhi=84#NtjWZo<4zg-RK%_>&M&aVPm@B{YChDR;7M7kun&Yu2v6EIg z*m{yFw;@!b-s`rn7RhY+s@$*vam=XkX66a`tCY+CttMqcP3Y^Ru0ltO266{EDmE2I zpL!CxgAHx6o?8P83)46Ov8JM6zgex8e9=SKbb<@#jh0CVvQ%GUDlnK0aLMig*eYaM zmc4tRx92<l^on%u^Q%JusNoNNdcuW0GSvj4=*rQ z=>baP8r0ej>Dn|x!f3IA-h60LMn~XIz>mJJ-ISD0G^0l+aA;m~%PZz1;9Q3dkp&K8 zu5dYBy6$~$eCY>fY#j)VLFUZ5f52&fd+DEGNImx7g`99I8CyNvRvA(3v*5GTZy3Na z&+thZX$pGfTKlGFvtEc$8>&G!;=*kC;fRSF4rX4)->f<=Y-S00Ysq zfG#n3z@6HTCF4+goN~lajh$%8U|7zJe4Pk&<28a7KWZ%acm&x_JU|%2t@kIwq;PWU ztAwA?0)ekIu0`tkb<$ORyTk2guymZu?fffJ@Fg2m>p_l>s^5_vSoP|24uA26I*nfk zD31(-NxdurhLEO{m`BzP`iY()PvR> z)E6AW*oZA-ErBSq@~RKE$Pa{Jp2;!E&uWMZWtNJ*6G=bGS?Ftfqw1atI5-4pJaCb( z>ORFM@EE^+lHUs!p}biPsmUchK%Pa!&yqhA%5u9Gv4L0H#AtPmrYxj?0?VfoxL6w= z0&QZSMCr@?Z8YXWlOKStQ^NPwq46>m6WN9|C>sfXa>Q;N>?n`iw%1u3>z*&EpBY4K zg@m`l@sNnR8H}WlF?kj3qI3!CValmGWg8;vyDnwLnorHP_LLps0ORdHZy1&D(ZE>F$*Xci(1_@;z` zBGVO|S9?ZBh)NQ}B`RVRy%4nvw?$t3E2br$R`^7#;Xw*KGgw9!#X83r0E5Jh4rKn| z0c``(A{<&x$_BZSKYRjMolFE*O@N%f!F0cnMn%i4EV`1K3wp!r>x1DakjbJDc|`)T zm+buTLj8ya0R-yK0AVEx3J-=37R8<5n=gpRsf#T4^wPH_cz~euy@A-&8~9BWAMcnI zcpL%{4y1iK9_O4=RRKMgPU_8+F~bs&f+&=WxEbEF@cLP^xtg^Nsvlz_wL3jUn3)dd zD7c<6VlawguycwP1hee$xD*Oepe=4<+;=e4D}TVC8Pae>C>pHv{WmDB{>K6a7=%W@ zX<9^SC2SGQ>JSvk;b}{tUW|GX_O?9xEHktvS3!nR%Pi4s zgC0G=?y>%M0GLQkD7p&QX|5(hvAr3y4cWkjYC$|@V(MtA`e?Z{NCKS@M-7KFEW({3 zwEl=V;^${8Jl^Rl-nt{0q-`S*0O&;H_>)lsvlcEv>oqea8}(176_(|hi!lc*QlV0z zpjHXLk>~u~)W%S{bPf~`u+E6WW zEzC@!KKuzluwXOp^9!UAnLC7RiC(920U)12x6rPN+j0UYl#oTT?}BD5(rUm8{{S!V zpBQ1wkr2C2M3RZ((h#naVBMgynlLH?HfGXHU*a^9rTt5Ef2igGJdSCb{@(|9FM19$ zJI|u(GSy|(fgUg1nag60sTK*|;1CU#m!NS50fWi-_k6mkD zqYX4^?=+RwYPS@E;mbah@3V=MuxG_4vDVNCv;hLdUWc9h@%1Z~vWoA6@r19)c%%Z@S`AO(sg(bQp+cki{k5is+?UY_Bsni zO8X%Tt2|M$y`?~g|Ay$i^%_kQ9F>&MKd}xIt^1TXm927fZ0b( zipysPIQ1v{TK*xgOGAErpT1~NuzuO`;7fLU(^UX6HX6~^nn=$DFMrm z;KV?)qVc-fEV~*E>-F}8E^FX)bRjm67Hu6j!_5*oPdiVs^pXg>fM*lexBtlM-*hOH zR&w{uHa|}>b=*T;9uhRui~8iurg@jKY|%>~{Z}CGYoG@WkxY2J8q&ie0uQX}AYURQ zG&GZIb<9{gc?l{>MZDd9$gjC^=35eBhLHo%6IUk$U))yS>tKxIqd<9a&v+q@)QBIi z)5f9^$~Gw;j~ZXnKv1E)__1ynwBR5C_paK(nmKS^7;w>i#U(KwP-G5-Qx=s;vUnkp z9A%`0opGON8SoK~TqV#eC1=DFQK=8cs7TL~TqH{4dI#`O$0MLg`NauI;El>;hVtmt zL1(a&aq#TDtfZpm-Oo6h&H}A8O0sw95LOttzGNeh{o^|$B@*_ww!d6dqk?m{ZDGNm zhu<^&h?_F4*0%+?GqBmeT4D^1NrM_DYFoKhl^}@#7P;HvjzukjjuPRYm^LFPjs4EC zN+d`{vR5$C8x;yEjZ|b{|3f!A_Qau z5Rj${?afaVJ_eyo74d^2z+B z4S&Dxs^#*ygC1rFr>o17inTcYmY17IuPiZbCmnZYn9ZOp2=`Zyg0PH|2KNA%-nx7h92@FG~>^2DK(D(K{vi76O10j992BN;GJ0Z3~|)QZ>_f$~d7h`vOQ1 zXJ8&_it&IcR-NK_m2{LiHbEJ%60QRYM#27?EC7R}AcjE{DFUuGh5^T?(?OvOEg6Ia zxxt_x5Ai4=0NLU$Y4Bo4rl)+qG_T@E;CALfU@M)vUM*BCOB6Bb8y>IlVPP3{uVX>D zopehr28KfI(HMxJY3!Zv60JsD!c?(T!D(k3Z5XdvRVKtoT~C_ghvu&3=1>rLofdc) z5=LjT;Zp^NmW*@l97*KcwzP1!>n0nEZTBYT zE*ABUI;GNZ9L9iHWhVpJuThwQS3lUvYaWh^N~4(qW~P!$M@r(X5e28oDskQY{m3E| zHvw4IyVuEQ94>H#F4>lw6c!n-!P}ulatJmxB=)7G&smoI_p2!W*xV$j58M-N%mJ3I zUS)knRW;WkN|eK6`7=Jl{8Cv9Ly2sm_q(%%F7iCfC_1wbtEkX{qOC=T6UkutMf6CE z#u^UuY9t&V5y-$EQY2bDK#$N5SzH;P5c%5y@!>lt7y}=UON>fa$VyL_#|RO2W@;xeQ?# zUr+>hF|5o17x~t*5(aJo|D=F0mXR9IgOqhQ%iCis(3LGz@fnhn9Zd~2>psCl2*~4) zg-1uMQP&7g7Ap56UQ+ak3<@JIm}F9zu}8SU!?cIOPa zUhHF!p1PMM1B47Rk`CR+ta0oi0CClVQ|S;$eUf3dq$Mzm%A~7koN0Yz#&P2=w8^1|UAj_hA?0;Yxj*Zbz^p2r?S_w@esD zI5Q8}CfH#LLYL&yy5N38U|znmtp>x`(#_n^UzqBEdiU`BDP}BG&s!A4F?HAg&=dYS z0}1Ych<8jN1tLl|<~IG8nL%a;h)9r#Y<4QvC67}wQnj|OEQTV)I$16}@5`nzW4Mx% zx69Dy1`^JHV73b^er5&s&C47YBoG(MceFaehX$!1Q@2Q=K?M+i9oc}OIY@05G8r%O ztlB*wh{oP|ick@2|&9L1EbYi786XOf3EG$mmz%PYA4Dvh8ZfkXQ|U)47JML+ZRlz?#VrR`(~6veGg z$VWVz5nBikj*2hQTeu0RCIBbwzZ5b(3_gDm@aYo61F26*1>VonRLUaWNROESQk{c$ z_*35_Ft^>Ih#?8FYL->(*K9-|yV4(;{a=(H(p*0KQbc}w5w#@~{Rx{zUJ`9=lsHMX z9uG~QH9|WU5}QSC5sDxr9y1$G`DMQN&^82kU4fi#8yzdT27o$LQ(!$*M|2Y1R^lG; zE)F0B3GGXVhKDbL#z5|-5~=|)NT5k@8DsS>(AQmJ144rmi^<$zpn%cC7NQ@$hDv+{yx~YH zc>|26w5ggCTMV2V2C-eVl64NpjK*>#}n`0Zqh^$rm6Y`v?3)Ca0;Rh(`1@=+E zfNG3V7@p}P7>wuwohQBu1@g`$gy+FhIzZY)oX{FV)T~cOtL~pyqJj^M>QT^gfXS;M zS(PUhGuo)=daZ|ibamcm5uD&N1h!%wF=&}rI1Pjgnrw2Lvz??A0&AM*85P9L_b?2! zVJDXvB>#;r3V5=V40I4*u}Qyv_uvu>1UdZglEM&f{_F!9gu$Q|<|jT)^SE7u^5brx z3S$(G&VDgWg#q;G33e9p)=yvpWG#FjVkEg@VfO?kx`$B_O0 zJNqom6~yq>SQKYK+fE2dL?6nRf=p+Mj^Ta$d!M%0x9~Uo;JWFgC{N(PV60R46D!6* zEE8l8kPH}XC6kHT_WUH+1357qqwSW1f?xgJ`=3mpka+?JdhV;XuUQiZMB=0#1P2wD za0_e*I%`1&!N|{M;tfDGuX5sGRf3U-^00h599AQm8e*srkOKZAQbqpKY#m=m?Bq~acvp*b zt`4tXaACw?rr6Wd1;blqlTK&_(F!R*{#c;vSOB+Rg}sWJ*j+gP0s{!7jeV08EBll; z$K6(qFuh~5g$q9G@HjPmU8#xcP|)Ui$<}5umb;x#r^2NOy%-%b5XSl6!yc(Jq>m-vdKUG^-9+*GT&oMbPQ+7v(b7 z3Z@CBsD$6Tk25P;jxI}pnD-}QFgAiQ`(9Z>#Qg%EKA)(TWk-r>75W_dxf@v5iFocfin5ow8U8{#; zL=kSw%8=k(nXYq!e;+}NrYt(eoyuoXSe!!jd{p7o^5jxrhs@d-_ge%(BwSQ^&gB~f zQkYk%H8vxPCxNg!P(h{~15Rp(66bV;xC9RKaxK9F=8&Uu#im5ox>se17eg?x6AD^piQ@t+QUX42Np`s042e@}Q?+a1 zoz=D7<3nIzd1i$uc_DZ(-$HC3R<4ITI8dtuEtZ&s3>|F12WtO-S}`d-B7&Z3E~LW5 zTgqTjjy7yN5WV~XbnO#zO2Y5KEm|(q;=h-4N=a}qybpInV@bTKHjgAo|Cgy43AD$^ z&)$^)<3NUW~~eBqi;)rGQ}OmJnFl z#{pe~kxo%6KruL&@zRf(v_v)1nJr_2l~H6xX`l^)Mv`4h04FdJ8W%H;yWa93G#eDJ zqJ@?uKnxmH^9LQ1F)CZP0I_@lQJKU64 zyLy_E2*^uac1mQ(`p!T!Ro5c6?`AV4B!q-_jwyFwjkuJj0Q`Tbm_-L_jI&^6PFAQpsYcr-Vp94!JV6c$86Bxxy7#zmDB$deN%pQ zxe~-rwv~tCBs@&Mo95aOPN~sh?wEwQsGm>4PhDcur?@k%#rA4RdTcw2Mh$84NK*`x z&1KY_2*g7-eeejxLH&+GZqhL9y`Iwk+(3+yNDOio2u?0m%qyaht>h(}Qr=-G9Re_D z`Ag9R{I+f3;G|R%R%T-hr)Ab?Bo#nd*rX4QM)a>IVeFpwd|h$*xY4lzKv{aA1o11?1ly zrh*TYxQ>8|+Q0xRWX*~acpL@Z3mCzLV4=0t^~5xj=PrsscZZP*mgkA!xR~}OW&;dP zSJPN-#F<2qXg2GV_(?ulj1Li*L5Rc$DYj7Ag=1|D`M9{824y<{+{e|iuK3u5=xiZo zU8P|om%R#phRIgiG_jVc0-roY!;1?nii91iO{c@H)vVI30SyYn#d&CrbQrM4x(2<> z1hLo{e_MH#vijkx3)wc_7md^kVy6*4uiP{3%gjCUq{&R$M-B%8UTkS}OFd-!SZPb| zhX;7LOux}4k#H-U(}g^5C*<6CCl{(|>it!5K@wtGwXGF~?ooQUXH|UazHJlN%iVWH zf3-dB9DNiA!BCOwRfMfD5u3yIO9&X7XtWYW-@g1M=DK?XmhzGXl!$C4XZ?pq6Bl^7 zshFlK_O#+RdajBl-fO(gta2Cz;cl2#x&$q^#)r1T5pL{8_ z=5`eK77pe0FF{R8M;%3r1Cl*pcS*3VO=Fq>E?6-*+|GU&U#Doq1Oq-1bE-m=i)i{d ze4f$?KAhU}B!Na|V~90NI1)l(7T3tpxC|6CGK5UeWk7CsjEeZ#M)g9!w<7)Q5p*{P zK@h9{NCF7|8JGW{9FHyNp>E~tV>3*_8^{6QJLkwfVzKR-Y$v47F^7NCP^(KL zfvC}wJ|?GiD2PEJb-ncH*%knJWllyBBhrB}QlT~_g%%EG$KgGWlth{DbUy)lqd+X$ zeH-~T;5b}0$?wxs{oKiu$Sj1;k(r$uy^!`#bEJc1r?V-LDuY0xR<2Z_l|r}$?2>ei znp(7^kV6o%K1aD}Px_-ks~_PCJdTrX07#{feN*iR*L}r)x26a~PaCp@YkQNw> zS@Q!OY@qxoSh-sY2%YO6qS!od;63xzJ1RmQQn55_{Rc4-Y{eTFCfUJh9^)7t+RJ-KV7(DQJy&IS|c@3~Nu!6JdWm!3Q9dp2Z~= z(#j58VwGU=HjVQIb#b8tStcs_x}R>eBk^300#Hd{0CA2JDXa@zdj^FRG;6ToD0^T@&}9F7?HBRp19su+koEF!^XMr;h1G6LVj_ZcM`+?Csp zX>z~{Sea@J&8|8)3kuiiKuyM1L>{}gM;D{PytV% zVgRR^{MIt9==6gJ%z}dhGh5HmB?D^A#`Ieo{B|d8cm#+^ zN%L^63gK@n9cUCK-Z-%h zZ^0YjTC5P^n2E=S40q2JZ1`h58RJkb zqH8-ubXi683MNaDZQIG%g?#ksZCz}{XhLp9IzO$N8+RW5+A$r7K|Pat!Ht1PQn8xd z(sL6*9<#IBhicFJiaVEf+Vn!t($Wgdu8%+!h@+dSDyS2w29tG3;B=Q)^W`rywH;j= z8~44y1wFd*u?up7;;QO_)9^g;3@&IQdxTE@c#2K_-ZKoiMewQ_{KNiAHfZ2(y045a2{QT`py)No(w zxG+zkhgu2i3ZaC$i5uVI_iQ%#n3L~gaE!E0yx&Ct_6tf zxs;D-Xkt$Mw6rzqq;btDUl5Wk2rXc(Shu+39me*;&tFN&w1zh%Po0vr)G-mMiY3*mXYM*Sru&%jQZfX-&#c6XYq{)}sa`;NeKVU3TgCW2m~nLA~OY z{<$nBFA^~M!q^@oHCPxc&Rl4A7m3&u1RXK^eelH34@BA`Acz1ai4trbgZB!l98RUx zn!}-E9jwuK<}IXuB*~_GvRgH$Ef@L3yl8KlnLP;a1kEJKs0iqTuR$*vU( z@9@?IBHc^s9rmy>7Y8;sdEx&HnX$)bdjjblg3he+(&WToRto?C5hk11Cj#JK-HoS@ z6b+6PTLS_8qkj@ov)lzfe2!dQjCL>hoel(Vf(3@s@obk(`koJ9FXBPE0Hp=OG;9N% zc6c0w@$7ZVJ%u4^?2w_Ef#w_E`4jDC`@CaNXmaC0@tFB5VQ&5`m9ln zhwd#Uhn-ssT((C}=u8!2Lc@zR5m8zN07V&b+%`!rd4J4{+p|pe< z8;p%`?F|!yrmvRm)&Jp5C-`|MaXk@(=)ekOYE&;!jdM zPJ1p7a0&e2zl_lQ`5G=1Or9-Bq|B<9l<1nY550k1=E{u$%PZUslyWh~5Z^^l#4#cU zTT+Z?ejL9S4+Ef6c7vtCeAbB5oI;4UXq&4Vx`dXg<99T_8X@jJpf+imo6va$;y5Rb^6#)C0OC7}Sf2s9v+8*~r;LnTA~GCF2vxt1yz9H0V2 zF@&8VAyId&N&+R4Y%AI&EyXuIG;`E36Y>W+wLz-t7WSyc0RH>Skpx2y0H{8!#S%MA zi%*VJ)H2H1_DTrgBk)>%XdHJPGRAtecjZ@{JK?4c)WFp80+8fWpj3&CwJZ-5KC6q& zBMLK9Y!BWr77pay$(!-IJF`XX6_gBbPI+msL;wC`kbB9k2CC4JfvpD$-0Mb5+NXE=0thr{dCO$r$Dwn`4I|J9)!~ z@gjjnS$GkPXrU14`ge%?FMOuM%J>oY^DFXRIswoYaoX|Qp7M`@CJ6C^tyuuw$zEP^ zUK@BupQy{wZRx5;k8s^R^S7Ty1_sewzd_H!-bpplU)0g?&K^%_&LA|>_k_i!@Ko)2>b)+{)qjf0UoN0@dZJ@80R1gpQ4Ci2-FQ6xvJ**isD z{4|~brK8>_?E=?p34=DX`GS_NR>N$Q_&m=w1}+U{gADs1LnhRbHs{&r&uFk*!wI+s z{foudT2a_K)Jq+8c6^Wi4m2X=L#W`+O=xsN^fJ(Oynwig;279`_z6*9Z;)^V2?dX) z?by1q_5`9IWOO8%XsC@CqT+P=S(vO9b?OwpK4bK>rlk9p6#!q#=s$il5tb#?*Va_VSs)A`jm{$Q*>FOLZ49VU zK8+TIbpgh`hLMNJQccAeuGzWg?_yOb55r7jJTQ@J@R0eTLe3#BX~HDW>oa?i-}ej8 zgCAVNZR&$+Y!G_!WM49vE?ZBC`K2yKP_%xEQG2Bqz~n&36(Ul! z{WB+H7PKcXY(@D?NC78$ksX-`QXb30^9%@x*t6SiFfs|yPH`(2kq{!FQkwx#qZUL7 zz`X3=)%gnTx_LAUWOLfum2HfT~R zgEfpdvZs~tp#->st2sot#FG_17~Uj}kAm@L36T~8*%BTf%XR19jW2oAkvg`LE!Tv~9y1B+wi2+P!rS~>?>S}fZrr@aw#Jevc=0GMiO4+HPH*+1cV)!z&h zZAyWWo=5AWAxS^92O-n&?1L<uwrmSkjL*%T9qW?9hStDUPlY?}R; zTp56E??|z}Z)FQ;2Nj}sF#^kR!-NQ4JNP(wfa~JWv9k}iBNm3(8<7;+2Y%34>!hRq zC-gxm{y|c_>Wb2wm-`w`lLY@Px1gdG=H!A6$S1Y}J=cyJCE0iNJwf_L*`{;hp1tJm^TkY08f9%kzz|k(yO&WIw}U+mA=hO*_8T(!^tu* z)!ZteZ5`*r6t3>>q79VX(U5XYEk2nbk*Xv5J2@$RwZjEKri1Nrcj5Sv@S6GqX>#3Y3fzrg?XfpkiZ|#>Tsv3PL@GaAmZ=hg32Y}l3LBTxIP&z(6*Ek~D zx==L+!2IwQu!X=D$*Tl<{9r{1v%G)T%cxwi#*u{{M&Whd>=BZp!iR`*hG}al+C#R> zV5g9OiEjApkuyPa@BQd=@3dZ1RxoWKy$|a7OM>zdVEV`VSq3pxj6~<2Q z^pN80(q%0m9O56XP`rZjx7XouR~m>T6{?e^McqAuY-R*En3~%|XuHueV(sA}7;sc+ z2Q__DcvyM2oa)bR_pRJ0HU5~Zdt}&`kD-GegDT6ORoQXT+3QKFkId~Qp&~$OIU+%e zH3?#x_GfeEQVTTqT4N<9;1rJSq_(6|NXs7^lwXk;PUoB`;6C22ia`}-DLK-{6HCJ; z5N%OWTEn|jFl46~SD?k0Yq(Z7ESH z$YTB|0zB_&cOdYB6>XiIT%o z{6`5hPi^c^Z3zZ$3n^vqsAvi6^;*_643?Ca3rw*!j=Qsz7Ld)K(=7&p4@`EBGe*sq zbAv8^M|M!ylDI5cw`nAT$|-PxoC_A9vqL%{r?8=c#{@9{D%$djBaOR9*UJ8!E`LN)fyjyj?z>30$BSuct_8edw}fp_BJ9& zO?+t7Fs2prO$1mYX;hGek0rghtO`+sgX%NVr zdQj{_ju?cLN>5ah?wVZ~A;DWLV zkwy(wMmD3uzlOEw6vNyoL^uPSOiCC$DSRZ1#^owF=h@^idVW^0=aUzX(u)amN#q!c zJameU-$J{lfJq`EiHK(TQL>XauogfCK$4=g{GF9u{3LbAWk#C8XT+#S5ZC!ZzMI|# zC;DM_Ru_FycWRg2;DmOX*{RnDUBNQT|B^f6aZ`cV+3>dJ!BkR&vsW}d6EBTC_@<(i zAcI+{Uyy8L2{LzJ7uE(Lgux(YPa{_33X%fNI2%)HC!$^fl{NgsR$}G^*UqhjC-spr zZ2E4q^rMM2?J5rw`TyTwRzwBBd=gct%a&bB&R^-J5y659uiiux2BtH2#*)ZBawx$km-)hcKsw{-6&{+ z0)vZA@R8a9GB_c(d8BdsceA!>-vffT2*E00q|=|k5hR(cxW2)E6G68j!~fD59qI$> z$v}}Lr!y$R;bIb&>gXN_$Vkdr>v(?a%HXA<6tQ3)5iNo%Gn7E_j0Rv*82Zyr(hvuI z)ZkHT0qwvs-6q>=L^+?O?`ehk00oJ_Mf8C`)JmgV5t@|(qMD{JAJ)UxtEu*a zqMf40xNZgj?i^sof-)O*W^)PDLSR3%r~uk{pfu3waHBI6G7piz3jin&5}BO&vjHH@ zb_K8i?8yZ2lf7_{Q%oWAI^_pBu!!gS0BVe8VFQ8!dk0Am-b8+2_xOf3`b@+ID|)%B zO(N{y$PqI$&d?|Wq4~JDdv4k_)_n2VrS5buC97hNsa!hfs8S_+HRXW&u#Os+`>nRd zFk(6i9%Hf5;bPcAX=W7)5sVAC31wy^^aHZi8AMf)_L+8!qjz|$MBFpL^(ipPoo zgAhpf=E{&nItGmXYY`1H5-^brO~%@rw)Oo~c8-czO6*E;mo~}W-%HFY_-^2IpL(d_Tm-`x;I1RxmUn733>^XqTJZul)`Kqv(_&@g_;43ze8E z2d2A=n`OS?dSs@FnVIlEK;az**ExcUWjO`5X2U9Zl-HiqkOtA@lx4u48&o!V79m*r zEL|$Yxj1-KBtIh_3`h*S#3L^qPrC97CGtZXCM7fB>MA3I+k%CBef%+Hx$r#Um{^yN!i(#^CHN-#Y z01#sWO72evGPYvqI7og$`!ah*?`138&{L}|aKI%yHsdp2;`#=UnQ0w_$5UnaY|u&X zVF@VtVrz^d^Gv@(N6=90$6$QHRENe_*Y~tRd*b*2f^GoiJUT7m9KAWV@F*f;=OJ2}??1L<2bzZ105(a58BN3z&2jgKl1XC-0+*M?Z$0;mg zdF-mqM!f^^S~*bK!3WG(QGbU$x=e+YL_~kdt;Z;q-rDHNIZks-yaSIeCnn|EypMK| zncaXnycgho(4)sTF<>#rh~`c`NtErq@0M_J-V*q+=r?h>> zM3S@u^n|^$5E9X`I^#Y=Qc?c&P{#U@OYv#ZVmy;Q-+_OF+N56Lc#n}U@3_s<{%kyN zxj}@Gad(ab6KOk=2?r0k0#oE-{f7U7fuz#jk*RHb0LUGTfKrD00%?p zCwcH<)FeqKGE0y7!9BIIv{!ynVS!)3+xKxKc_tpac7fu#w z#v~1N*umDVPXsK$SrSei)|+ygK{Ce!P9ZdnpxM{rxO!1U**x@VRePk)()r9lzfDdd z@#-xIT-P1T8gq=b5kyXTgA7Ssl3@Rc>)T3Am00+^ToN_dur!qyPdC zKt8E9`Yixo`(Ed1YC-=GA)0cg5f{l|#ZD0dMkFNmpXBBRTS;CDsG}U+^Yq7BQ?Mcj zyXoL6K)nq#3X$)U9{lS5Dyu2mN!Nc3&7l*^q>ohAXr`}->>cXbEBNw39 z#V*>^KLpI4VgEXSZcPe})e2gIdNDZ;WhEE?zK}=7jiFO;00cFZL|8x9kce%_cRQ&> zG@XF$L#@`i1CRG#MmFpyi};k7AjJ5jo9SP7U3`IX3l5<(6owtz+LuWta2BfA^-g`M^*N?P7zM z>l8GRg6PClb5g;QqJ)e@O{fQ|I(!K<+`mvp6K)Q1viK8Bh{&>sQPaL1sQge!cBLe? zKpz1#r7aG`P|%9el+*UBQoJrF4MZq}G*+d6Sp)WWOb11YVXApvtER6p|a_?6ld{FM|GO`ctg#x5TI>F0}APj_y zObML>OmdlsV7%6<>cr`XDd?BBTypKdWg3Wjk7JUZBcrqnW$<4EOHAW2FkrD~CYGSh z_iW;G0B)XMNx}k`g9Q0cZ!-aTNpsbOPlHIGZ&X8?Qn=rKq?!2j=<|!T3#y=CReg>DI*!o@M8f_ci&O?tD#maiv!?Nnu zuZaJfKr&I6yj9&Gk2^uFSBGanjIY23qbVkdSAutiO-8rv_o4a97(K$d<3J_Mx=80K zigLT0YXJC;ycB2$!cX$)1T4s>D5>g#bv5MBG-`?rNS!n+=I5Swn=4PYAxcI!@UBA7U2$)vqF2TV?!WE8ooy2)Hu9Gii7V30 ze0!v()NhW2;FT+ zj*m3$#hXzPS`5JXr;vR zTa6?_`1+R4C+Avt(H&w3HGs$~ikux7hvqkMs|19DN?TdMnbdX?J%VWr2eD6oTb@~s z{QL*X%pVr>6b>1Skp^4(cNDrdjr;tKf@KsaQv@<>Ce9E96irUW-`w|in26paNmRDF zMxfAb4w1cnW3aqyE6TYp{oN&u;?+rTa!!!EKTT6jw!?M6N@M6R97OMd2DAr(+Biue zMT3BD#|nyQIH47iO$^u!NVP&>h|<7=j~>7gWT1mFD>68Mn)tbu_4?VK>r} z3ug-iRDT@lk>VJxzqjrkkWIh9k+6|t2c9*0qjX+q%S>bpyiA~&B~z5077-mw@u-RU zlW_QTIGaW^Pf;=2pKr|I-e*OvOnD(@TkZM)4QYTvs1qiqFD7Wp*}6sH)*BU}dtf(( z39uUS0K_jj(a*OvuZF(AqBh5L8M3r0dfHL5^3D z)u4+sv(-O0Dli!%MyulKM&wl<#WaR_XMuAzD1=y$xqD%nTF0h|ZD3|6Zc8S4_LkKw z0aT;X##3uu{8kByB`h}>v}C*(JOA;EWp9;!>)qWfJwy~uoDyc zM%#hqDu~=U!g}wEp)8bCl`$9)bFfVcA63wQKZ6an_#1)f2s7}A%EgL}YXnph2VS|5 zAM*q$y?!d~1l#-J=5=KuKCJ2yP`8r}7il?$iR#jV_~bT96y9S_(?l#W4#U^rBlV$H z(HU9z{H75p^NEj6wD#65JYVyzQdwWPT{sBhCco?j+~LiG``d%vcP`G%r6jW;NBoDq z<(?)JX+$H~B_mR&;Dgw#;Rp?O4i$=>bA6d^!YBiQ~WS7iA3~u`~Ao zK|sF0_jt0rCjjZ)zyxfnfUQ%Hi3ZzY!C*7R@h${S-gE;HmT0g6G834OT3F;RmFSkp zlK5{87^Ebb`t_1hwU)7H5I&b`;Qf%waR8dtm%a7WrI=k9ex$k3_Q?k}^SII&lT8E{ ztEu4GtQ|n#aRvjA?5d-E zxt;Tl*AOH~u+F*gsv#7EXfqQDIDfNBNi+gzq~DPMjh4oXCSD(JX_UAuZf@qhGLvF= zi;MHwpdXc#Xzdpev{%Q#XEmd>_3>ha&{&8$Gal-wrVfQhcJIOa`$5!$BLV7N)iVYx2AH760^t?YpEnLIL0RbY(uqbMX zi@6hM4l&qj=)}@@2Z_CI@#bPs0a;MA{hx;eXKH+g2{^K2jL3A03%vkN&_M2f^CLYkFnGWe;KiVdfIOG08)heok2;#3&i7@C%K zZQ)FKa=Cl3&g?2Dj6mVjRC-b~=aHt$g{Ul$zH99bRbszIGUjYz`9KyoyaU%ndy$)I z%;1&GYQcsVlSD!)uqzR%YiuYSA2!@tjBAC3fYD<#DPv8?deDFnnQ=X^GV$Fg*D;6JWEBJ=5fMF08~s8!jRL z?S2Ow2w>$y#+L98wGo&57-D!T?Y$iN&zY}?XyUuRRUK<#mD;LRQ#DZSoX#tE)1X#V$&D0!o3S1v>9ca+er~)^?3_c z-7)$v$8v_S5GV?k0Ajtueu}g2RU|8%$4gPd-OkF2`}IZ94zPeB9w>rs3kj2-`>P0L zUj~JtYzydd3Ut~vSm@0ulR;urVbj!Rmkg{PD(W!l*&OzCWqfdJz2b>D!pHcRnuCRaBG&cnL|$w~ zNUeclUIiC&Fi~9FYhUY(zR3?CZS9?fn`(DauK4Z5e)ih=*f;`#SOF&pV|Q)-$q62A zl41di7RN*ZGY?_Wn{bYa5dnBO295@V%pJs~mQc&O9S4IL>)<1zoURRoMz6R-BajAg z*4p5o;5m1}&ZfV=?FdFg@Mp5FbT|mLg2W~4NT!2&XXqF+K*I8M#t#Wh@G>o?2~ISc zV3yjclZ2l8Efa`0%&y?)QZ0oe$uG9EI5iMH)PK{{8{5MflgXwkEPu^898;IjkC+s= zf5}1FEml*42$ z<2+f7ko!3-S@4;lKuQQjRl*6QP5f-&#Y{XqfqKcJ4=0{?kCNd*!Tt10UX)`BNa%za z2zhu0knMPbCmxXUO!*5`cJAi;1fk(>57`%iCkH!nh) zrsZHA2|y!twijw$_d5Ve6Sn;08EII&63HMdp##V~4-(Ku&i)w*Q7$;C`MwSrO(4CP zl7$B}iEliPZh6_}O7x{H5$O1S17@Io1s>2Xsd@>|bMxs)O9`iKAJD@);PSwpM!12F>9M00!*xj7l zsZxDC-=M-wfyf%DZa^|vNpmRsSnSWtw*pU%IMu<0(%7NX2Pai=m|>)Zo&9m@wgcvv zq1_pxPKecPy$SgT32KJ8oM{3%13wrRW4B4KQys3<2!4@36G&tNUnc5I1t>WgKxtKZ zbiXn41Lq$=JwPXp)^!&%G%pjw)RZQdn!fp#*A|XdfOSWeLGj{8&H=%>7#R?nqnAJg zdTAQwMF0r2QL^=N0F{FGV40d?&0E7@R*DwKGSezic|7M6@!EG`*D!<5Av zh1IoczWf+H`M)6-&p^8vs4y!ukx&l0)0 zYpt$76N zSoL@KgfikWpNd50pm#y0bH>8)O#%8WwR(M<8u+)F-g-i-)qgZaV8WHND0bSTovDwY zexZZsB9|4O3*Z5&z}H*Z3Qra6$G9D0n>MLcIc2DLRHD3yP2c8j;7&Q>zQO z9L~apakGV8RgpYXHBsUlYy1}A1+8mFMk88~q-IrI_re>=AG7JTBk~SP9IS{yS*?5p zFk(Oppst`L(k0M<(>RHM!E3%w8v?kxyC+H51UbxXMY^eUmZ3?6<7^;nI;Z-*7LSg; zTReuGe|M`;?8E^p_LV%=y}E+SXU%0Iy=%7KWO;9Iyaq+3nAanaT?7q{&VddTDFA{6 zVTfp&7$dlYaTKtG{f8i*Y!tL^dMdu>S2^k>L%Yp-Y3{?_+MzMt0~Dku(C3rLMOdQC z@kgYJ_3t790g3lBgAqANv&y)t*$5Hpak(va|}!Wo-1$? z)=tvmAOuf0e(@h^PU_ZPfFoojzkhL=UD2Jq&zu0ixRD7cgZbh`8o?|EsfGq5DcaU# z)jwQM3dmHu*kmxATzeStL2-4bkp%`@XvVS=i-Mr7LN(VkT_R; zC5W&bg_z|4fEwvK9hOKtLfY<+cF(^R-N`B4jvsQkZ%B%jjs#Hr6_f6KQVW~XvNYPi zrNfpKh2x^yT9rzu#y1%k@aDC$W9>r|j2(pPssNP-e#@nTP;t7uU%B}*DnCZO+Khm8 z{S`Os7OjJ1aQJNf5I){V^3pCr-3j49V&XDOK^D?nV1}O!H?VVy&LmX_1TBM5$0v$S{;b~i4StUS0Vr&A0qbRs%f7}Xh*LQe zPOt(JdI^+$b@9i5;}9XMG#49#ZZ&5Xp;cM2PQoRvt#0`s%?fUK6b@#{u}i}-eYwl` zVg>8yXwQlbs_k4TbcB)aQP2tDiOP;^GV(Ti$&8>1-6L{ z`z)S|bmkU5#J+unFaH2jf+aE}`4O@l5Jc+LpypL1{;DacRJ_cI`$HT=-;|6P?fc@b zVdD)L!+~MH=63x3KWxhYssOB3Uk6X?xojs$Ku5xNt?0xIHw5^`$l=$(cF6YmdM z@ss>$&7x!cIrW~A0A|=>J{>a{DuOE%+ol?t)k{B1WDhc%mchql@aPJVeHqU0>6S6i zVaJ{z796IJ4CIwMdTe?-Q8#2y`SVlwc+IH^#mL%XmrbGvLC?M{H)BWQo*V9~8H_V0 z1~=lwlcRVvtl6#|1Z&baMokvAqguOhb435!dsR`K+DJx6mvdCn8 zjd1YsywzdL`eX(jInJGUBCH~jL@33O;#k(RS?c18#X0A3uO-D&A)8#f*prykOolB% z8n54~pVtKtWAIBN(yUMTsYt>hz6 zrUlm6!JOj7mxe$NkSvoWxlwp7Gl$$>w}|3rmShO`-WN;s2#ksZJmQrKk7DK&@YYzB^6JO^`(49l6aHXL20I+6~YIwxXu9OJ38b+Nn5TVAsP*BdG(TOl~ zV%{)9Bv~dP3^e+S4CMl)9cg3989cwUO7`H*Z-Ppla@of) zSZS})u-!S-?4m507#))q7}WUPL_17sFv!BDhe;_|Hu6PphAi>P_K71%(FS1+;pT~w zvjynf2VilLP{W7tT#`~liu51njPxJ<-5yY)%xK>T$cFLS^Y<1?46U;oJ4Q!0(!)0W z>=s!&A{^FHl_8E)<7(r+X65B8Dh71*0h>J;dQ&FYRW(bkNeFbAN>9mf#2{nX~6@fq<*~ z^Hmc;0}Rt26kT(wCZ^_xS}m$GRZKp|z)2|AbneRCOUhal=?e>3sj7cgrBF#iMd^=Z zm2ALZ85D~R4obeVx*oeu6+d%QuqDvs z=JM(?MW-hS2g(1RDX!5OlQP$yZHS-!#2M;&xaY-#WX6XQKeXiv9iCqb#-XSb6FB65 z+^L}O?`5*K(McNSP0rIKVE|%M7J#)%7gbZ@)PQLZ zUmJ5ipdlxff&~N&ZP7qUY=|s-&`OdH*Ks2gTK2=Ut=l>uIk=(Wi@sdK2qV1*a0U%w zwS#}YoG8&Cj&f*MZyYL$Db*Mwnc11Nd(}5W|0v0)FK67MZxKyJWk1_mn*6^qp}EBSf2_Yi?tmetC3tkn`}H4 z0~xbRcDd~Eme#}lnXe##d_u1584|(dz?70)19#wp^N-&G(s@j%>=dH7()!!j99x?l zg}5?=PT(ld4CI+(kHz*_q_|XIyziN%ddl}Rfhmq~Qk8kz2ZoUIx{|}{5V2u=PxV1a zxdkq$iKJU*@3-FLFi!jp3sd`m3>$+I!Dt7q03);Jc3>IKV?3U$TO54pXLIH=N2!a# zCPVLO0s|ia$BKTeg+1&esR7XPcZ5m!Mw{}{#&8#dx-HKsyP2`*BsZu~0!qgwA_fia zl+rl?#;`hFsr;eB^S}iF$S;_|l+KUs!KZJ%u36fag>lFOSDL_dIKafrs_z(XVPGL1 zY{V8iO2RGx6Y)4MyoQ11%RXT$FG z516DUaad~+n_&zycj2IQV5K2Eblw%STu)6^k)<3}@A3U4K@mBm9xJiG#Mwpf(E;zm zF)v<aE4)eNVAU&C>!$r_R+p3y>^Nep|@&nX0fl6 zl)y5E!(C_Q`cckjaX+H=>|>Mqw4eEQ2K$ji5rYX(tmQiN{h#W51DA@aqlN?1X{5w&~Y)3Qb{rj~v>LxPvr=DsP;_R{My zR2ERnv=MT+TowI^>#W3JxG8iHUSTmo1WUDEA)Eu)iAg;ofhK$rq~h_o%BZaY%V+}( z4-m3N$Omb}0w{f5=oq7`shNT;}r%KPz6$^f(+9(q3KcrcjK_>kd_#~Xxezy?8+rhj0XuiJ7j0R+BTU7 z%`rr)h2$eAW4$8PSfZg-b#FVxNo5w7{MJeOhL$2wjpFW;ih&nm)7=6>gBUFD^M;`IbHyf?DPsed`+}UD3{~k zP{X_i4`+MZeE3WXc{uaJwv?-tMZ)w+Vy+w%=Ui0Z z`6)Sxv7doG*Jv->zDao&URHf1fbmNvYI)w}m&Rxqe-jw<{~!Wn;u^WCp6cY74SviTSD(nV= zO!A9XYaTaMecQN}@>O9&Zm<};U-|lXh+yEID?SRvObF4Vcf;_01hXhaTNG(KS2NI; zOL6kI$APNqPo|a1^aG(W1xy@HAf7=P^I=~_8eY;>@kY8C|Hs>+FJ8>0A76ApAJ0vPoJr9S;UW{M>7-@+liwT?^r$n4)w2d=4sUr%kYNE2|Zu;Z#skY;{Tk zKOj+s^%Kdd!L3Kl#=O0Moj)l(Bb814O-0v zF-VJxQNnOuVF_-Ju)#pKduf}Ba0l1P80s@pUZH5eV0490lw!9sY&uDPHw`PpLoYSe z5LZ{Jx1~hBWbK-Ty&_eSjJdSaA8%1HlriRBEt1q1%6z#vg51}-7syqrdnu#X1Si&- z3HHQ>W}rJG<$y$H%4oYjCK~~GHaWcjE|3L7P|eCkFaSZ31KAM$nT{(R*@7Sml&Fup zGhBSuwtK8500>RhCLnw5&~b ziskSrMF%Tk58bx|f=C_=CgJRuAvZWvk#w~+eiI?!0ZKK5GiNGPiHIT&`B6#%YYGj6 zDLMqZ^`8c&Cf4va)0S;R0nlr9JL(hn60c9sg{Pq-O;~dTB(p;Mj>R)LNffA5OzT5Q$!`L3+G|ELcCcb#pvywG5LZ?^#iWeN$3x03f@Th``CSorK zWV~$bZ{nfHkSt7N)CV}v#gc(s;h%Xdox^*(?M+fBA;d^U!I|TOeAZ!$@?`815&k#Z z1{@jolc&7gWsqqRrs+SmA5qUd1LKLkk0j+(RX(=WXZZX(9^XvaVU-e`?v`;mIbieB zB+M%-1mcOV7Pf`-4KJnVNtWvHPFgd$nUhee*Iu^bKokZ?l_sneNM4@P=in!uyN zmL~c+0Huw)MTMd88K}fFzztpESdM0vc+;R^4vvWG*`!O&V@HO`8D?Zsr^pLpbaQcgv}%OOs9qzn1@ z@UIP_M*f(>1^bfLoET3=rKgPG3k|J-87wcCQ^}8a3a?v1Bd?>LPB+(U&zauw0L%^4 zsh7s>U1DQ6__O1Dt*S;rkC7;5HzM3*f%~;8m|N)oFn8PK(WF7++sEgbh6iL^_{Rq2p8@426Lkf0#2ivN%DWC~fViR_TQrJT z(i|i((4g$cw3Tg(o6&=uhJcaVi?*91rA3me_5?#fbAnWe5!%ZPUeM4Cr)nx=uV++d|4D1B|E%>-mBSs@WX&`OC$wE!2sYa)|E*ddW!8nGu@AUjU7?uPANzm!Yz?F%bw?^${nbb*m|8r8 z5EVsUwzGLg5iJ8@HVr21b(}S7NM-{h17A=YV%DtQWSnSUHG?j>OlhRjuOzP&X&#MR zq_tCii`2kqFS}3ICPDk~zxOM8nplKm;suOzMC;AF!v!vj zQ3y+1ev5bbN*fFYS(H+tiDRMt(&#p8T9i|7q^lSAFL2lXJjzj<_ax92vPr>2s!BBL zTHJjr@L|S{9{A~P7*19hGNRKZP;R3xLd5tP0!sgYtH68IojR1V5zfvfpQK05srm*| zd}wVoaRar^Hn5?Y7N}S1FC)Nybq+1a0bl_&3tPyPIlB1vhycLKKt%^>SZ1g_iDbQm zr8$luQXZ@(ejYU7UFW0!0skzKTr9zXpAHa-gU&fY6>Gc6iz1c&ncn*Q7Y4Y5dt_!_ z8O5*(0zfWPZ1S8xU{UL4gFV!rBa46m>*QS{Wq@)|2WS}5hnBhSmAgUsb~eK23>P=3bTLDXr+`Ai?RpM}#0x$cBO92)O*Htt@$o)wn!xnzNK$@N6CRvzO zr8qCejETMDO3qb5h`eW^2$`LB8}cvcpY zpwN50h9#7IfY|LfjF68Y7<2NFe2|%{3}>iof?&ZsKwL;7o)AbdJxh;Qn2~ghNb!7vfyyM78^EH(ni~&Ao3ko2i$VgzmX4~dFWE8^4+YoLR7ziGU6vZqZgom-@9f}%c zEE|w69tR)Oc9H@pAp@q7daQhQYFl-zjL>b_jGOF=$4^F-d~?hpTo15%1CLR_;83?W zvkw&S?XH&Lg%RXJBb2yRbucmxuilv?Uo9+ZU%dbtArmT&>}Az3Q$w{N1~h%m7M5}$ z8vk$EZn)>|?jc!+oGX8%BmYD1iUewC09!C9gaGx3K_0#M23VzMfOxqa`sy zw9~jIUv}1D04voFVxo5sDqM8r5f=~>b^cJlNN3CoM+C^M^2$wfVOs>=Gi z!GNf+V|%v{o6GWp^%O3Lg34ykXcUiHaV96Iu{`QggQr6xa~};R!To>O37E40Z6uyO za1p5)a>P1~2Vh82ACGXXw27 zv>F!Z8M-bX4GX7`mj#qasTNrkc)xPVFD|aMLkAsAhZGQ!y>1pnlA!E6q!e9VoEuqY=t#R z6QV<)0~OK$xuF7)F0hW6CG8T@R$Y8t)R7hHPmg@U5Wxm+KX5ianZ2=;N!1vN>bmI8 zWvjP2jRb>HLX;JKOtC)kWG94kAP9C=cE+);tpz)2uYVDLb&m|&Ilx}%Qmo_xJAWv6 zI0EM7z8r&&bm1hIxN*>;ky{fofZPD8;H>6bJZT%{-5XqEey~@}Yc+e5t5*TIlzu{Ihzvo_(qgd%f9p#M8$r{V3HFvl3aO{HdZFUzjCy zwL*+2A(WIPX=LI};Nq-~s8RvCHxeUPj1CszVEP}Z5S+gTQ(PBQ<{8^V#p$d|esT*- zi4&yQ>rIW(Y7y!wZ^?<*-u^QtI&}4Q!^(ea|TK{(Gnocwqq}rhW5NW}d__ zFP(>}RnL+4JfQj1_=Tlg#B;0UXnUAhC^@~z##O9=v=T?g zzdgsievjHz@Ja76qpWz5Mqk~H_k@KWEc(`NKGx(7g@Q$m2A zLd4F=pnagm^#~JU7~fOt{XgqRC;_{-$Azi%I-8WM*FCYo)zZD&KnqUDu^58|*)r3y zE3d173^)^NeC_K2XkU{G2S;4+hy;TN0$Q47-LS2HrS6sI;pZ=OxJaSsmp#yHfF?DW z67lOFQroasZbLD_>j51y!!ZMZ&2X=RmZGVk!AbQoP=%k{@L@Jx4Xw2sT(5!4q6Sz* zqYX=B%}KbD<$|I#pfxEkT&}&Lq0?rL;vL>`#&%Z?T5RZ&&(w}=Sch}$ zAsMB;9Rk5C2pHp(-S7QKKz(H2yr6JrN1d(6r~OMd^qmwSPl!FVJV$B50pS+jRfZTR ztD7O(Q6ftkMDn2i1bp+*Wg1Lk%tgYyX}7Hd<%5`7Vw1Jp6p_AI4q!J&lsB;;uvW*W zys=tNwyo)huRtPKXLU%Sj;38nb(DyRtfa(qTvSYz9)iQlIh&(zWF9^euf~qFIV1A0 z3XK~!cgp?ID^qg=G3ZE8vN;*#Cek^seb~Xe+$=^zXv!edeDiu6Berew=L3UhWC+iH zB!b&K4N5mn-xPwRlYz?lC*2(|;FWi@;?n82p(6D)4G(0T&6xZXM`g{;y!Fn#52Mjq zAX-qR`Wg^325(?d0-O$hhQi$3VfHdjF~%iH-GuNH6m=qyAFT+#W$>Jd_L>Y%RUvlq z<6H?WcWc!?J2A=wEJOcATfq?QLKj9Lk8sMAfXtCf1I)5X%P!NX5~dtA(Xe!&Ib{LM z13*hT;to9ns0e62Q>jNv77zEgS2@rtE6|*Zb=BkOOBJE27q_(8o1IjH9)e%83pbGj z!X#LM^a0=wRG7S;1rDdNPE~LOz)PR_dDb8Snlt-fB5R-@Lnll{^nLu7YsiF?8K*HT zKcD>|cU;rI@n-kNTAePC1z%Mt9G4*Jj^6irRt(IxXfZqe!uLsw89W4H+}RaBp^qA3 zV@#wE6_QBF*qVy^GFcf8o4FMLofqHYzcF2cIjiqN#wTT&#dgEQMKYly8et3nqX(i` z3lwZ?Mr7980_2H9#-&8?pub`&N=_LzdjfU37tIGU+*Iu$v11zQy+g5(BhFen=x`tSQHDvJ<8U>bqgxialCK7|~VJpILHhdAh8SN4*h zRMp)0c8UgBbh&I&In-J zmd&Bcn=QWxh2bgfBPMIw;a*~nxFizV(65DQM}WaC=olu-%xP6teSyH_SPIyu*Li~Q z1FZXEFXhD4EdjOWdxPx(b`OvQ%%yM_C*oNI%H0}7=aQuFxoa*&2e?rZJBj?3uw`9l8PHH zsFpiOFuRG)SSPOi)z$>*e~ZwL-2wp2bq`zag%(93abmcG*7=O7iUN@#2^KIjN*js` zgZ3`qodI5G0!~;Gc<_8PVJ>D0Kjw>Z%0kx%fFtAtwY8c-UY<5n#X>t{4!xdib^A^tU1R0)c4;D5{dFWYDCB0SbIHWE(k&_Oz5v zxNS2k)l3<}$`>$}!3bR9m%LKAIWIr)eGV){HNWp1wD*Uy*<6-~N)69t@SP{*bgJ8= zE+zv&F?=UT1Uv;KEPWFfA}2CUOGF`YOR!7y1(oi4G2!QUM_vHz)dfQv8gpFZ!?sFj zJ}YS)foYh?rtSdbG#E0XBby|#CAv!ERgZvP9eaXFP~CpY5tdJOu{CKM+=n~;f}FVF zHBipugd&5mxzy6kcp`2l(w#lI;GxzR5vwAYTY>D7hg>P!IQ=jHdlm|c4hNS3`#ARS zI7?!Lz7QS&jN0nhq?*Zn4`S%rP^^gagXRIQe1c|go}z77i2{}Fz&@i=DHl|(21E&p znlRCxaD`tmdOQ+Rii%Uz}Ab~k^!~mo5*vM zzYb^@+_uhuUVwm>O$V(7v+R$tX$+k3H5jy1$Jws_ZEqCDgQa^NVYC2K7s zdNi7I<`JzeQj`LJdj3xu2741=9B&L8dlGa-I2u-z&UhZNI)iPNjsY&c)sXDtydsY5 zZOF=^egZ2>80tmr%q*147s&UPC)3Y6AZxO$ScpXoRlk{C-1$Wn;OL@7p@O}5a}%-< zBB3Q6YN(7#1;&P0D>6LG&|Zfm#$1}h#(?(f*gI}MEb6HMc3J`1btP5W=DcG8*#afR zEY}C;IbBEpdVv|MRS^2mpNeTf^c;O-)+_<8(r`Cp!2-Wi%y3PqV-${9wC~h8y99d9oqsR%URDyZU@X*5PZ(qQikq#*RD7ubM7XgD! z1-FsLv8|s8^VIV7MLh}Wz+Rr;Stg#@e={XPAd(fUtH;syB3>)<_3!?NZm&RdRJAD~ zgt@?FST@JaAp1zERInK}0)PPEPwX!rZKC0W&I2|rP|z5u3NOQbgoCtni@wN8HB7o| zFd6kQ^}<#-VmL~krmij{Siw=@h5YC_VZcpZVc{YCHlL+rL5?lIz@MXuI~R2NKF68) zjvUoFGU*Sv+#F0e_M_gq*P1r5}?7DK0H59GC9BXF~0 zuEu}Tc!x=N4et~zMB<`*>E;+`cTdlIHInU4UTQKJuGe)Ih01H8@E%FzF7nCUXR=UF zs5LA&_7fh)*H6AMy394hh!ToXsSqm)Qw@SDZGTsuvg6(r*lDN7s#x*h9qI@iccP^O|E*Aeo8b84xwA8J~NOK3>pec(7mPE)kydix2DWW*E zcKo33a`w3(>?dbDvh!dJD@@8tdXp;%Ps3eHWBxv7>qa+SuzI}cE43eY070Uq zhWQsu1gFC1)**)%$5!=556Q$Utbv>!Kf1kH>dFRQD3cdzzw6oT)E~(K!nupfUn^z< zL-F%ACoZYfkDJjOo8%0;8q4hmdk~H&rEtlRQx!WKe?>Tm#pIM`21;t2k$rqtj#JY|6k?)W_oOsX?Z9wt zGg%&s$=rP$BF;eD(iw)4?vErXrLUF-`Kt5K80OE8L3ti9PmZ#H z5S!y~kd^JDx&Zowb*x~02KGerfC*HhOL=Ri=!l-XQKX~#n8OL_!b!zLSqO@D&|@4W z{(c(6w=S;o^lwMw~+5=lUu3=s*bX6eMtJ-&uu@`Ix!N!szj`hZ1LD zLG=6_R~1c4`N^_;DX0X>))Q_fDB(zxT4V}O;zhcN>7x*A z!w)vLg8!nV8{^Iq=ADV;-G9F^C+xgpK?P^PGXP1N;pD(b0J01`UIvO-r!>cV!twJJ zu9miebb782&{L2oK*vXy#HJgP8NjTWQ&2WyJFLr>KQ&4DK-~&Am7P#iI41m&X*wEo z7xV1zUWh5Twt-=BUHDNVsAI#@lM@~!t#~5k;eBE2=yV=V6@RTnYJ6z&BV}QFMv3yo zo7}E1YZDaC)|P=u9O|poOnSJ@Wf$TFKTi#*juC!cUl}5T9|^bU7LuPU;EE$8+m}L+ zZxQ=WEj2lV#k(d^3575isq0GFgY}M;EjHbMQapg=R_$_*MMG({M_j6F#?PbT*qVKl zka=<6R)BOm2!F|~7?;ZcFIJ@gEeeGW1zxH+hiZ%QiM#7^su88OU}r2C#+xH5y< zR%^q`T3A`i0Y;@+p??~r1NamHlnZ@|ymU0V-8bVh)2q9au3X%jCw zzyT2hd;_(1AhRlNJh$7skDL*YEw%;dyubyRs`YIOU38jyCqR=G z8V=G6SaLztWJ-0sX4|CYgA%qtMwoG6$^{T)BMjk<5-{~S(9-Laj2xbjPtroHMeyKn zkyUPT%yk?X$2jrbo;#Cb06DyzAfLG2ak#I@v98Y4hM+t#(}PLP<{!p`h0?b-2wRxPcjk{h1-aX>7xUp5BX9n7H+ONInNqA zgX74B$G)DKv6oy*kVyq6x=Ew!0QG0+M=sF&Ji6BKUu4qj}3@-YG}l*1|5QrvqbE-w!J2$;8r+m3h87^Qx822FZf?#WW)fD|Vp_z$R?g!KAXUNIHf3^!Ds>#(K)pQ8=!L8u@)^(^ zN?G9KPCzPA`%M2}#g>wTA)O;ji8?1hD=eC%VzLQ~9#xcw-N+-X*-MXnq$Hex!kKt} z#inU3&hwK-?9Z|R0!(a8+}1q+kWR|H^O&AL65RqsKsHU_bq4H2$ z3NFC-9_e#iqh`)?PDS<&Cy)e&(Dl~!#;k0P(DL8}=^IFK9%GR7A)#coCB^(%PVRME zno&?3rlz@G5Enu}F0$x^&WfGso33;X$W*EaxLMm0wN6(p_{(BX-=gQ`nbyX+I7KVy z+`=;Do!o%ZsrSlBn# zpd5}qOt6G^=SQVrigrNso>Sm9!>d370tvG!kiJ1XrV$(%9&p{Zt6h>ZSXff)V-A1a**04RpU80n9}^s9u~(xK3!QpqS0I zwcMSv14|^0cRh|l!H818lrz^f#nSTb)P4=7l|cq4M@pD|okNCp@wZaETCNpbjJeE< z@(V3D`yY3g!1S;F+Nds2bU_B4Y()h`!!M=29Z?x64w!drlObey0{rr?3XadLR3 z8tWuzFv)9~T_YnIGLcFxMGi5YKiH-+ zCQxP^qgJR=lVOKV)U|HSBBx^6FhF!sKv1+XlPj~byzS0SHUe~uISyX^C~#|%vK^Fa zkdi;VH+7!{t~!gJVadG23+!;DOc+01#!*dUG@!pE)2!p%f z0jbTig@`P##wW6?k5r@ZJtlcbAm>Z!}=!o57Kc-X~XB7_mcyV#I(C zSoj9m-53-A9j${NH%!u#m0-r$W}yA`)l|Rontjlj=EdnDdBhqf(J6$ttkmee z*>NG~hzBAY#-=RN;tdi86*9LH{@8>4G1Cml=0oFCKsr`P0W~e;M?Xk5niJLYoi`Pi zJ6O)NfRk}i;y5_OWGj^;h!D&l2XIrY!Z9luwCK*!+3)5n#Saz5nYznx-G`{yrE%6% zp^n4@y(;nTf}7<>v-Z+7P6ha(KNof}^+#8q+&yRgA=)!A;XsIWB-uqM5p)pVc2fX8H=ME68ag`O?zY7P>Ono=a~?12E?nfhiqk$hQX+ z4X8#$d0Zp!?@-+q2mn*6K_Helkf3P?ijvO^?=7p(g=1xGB1V0Z&r}}AX!T0Yny5aL zmGDZ5(;XwBB@pN-N)6O^683v6RU(v7?sPNgtXH5(sadKiiYfMc!5R>S zC0fT6Td!`;pE($a{CH+ovd(Wxz9D^nJ`1(cV2_g*)MEJbl8^%pR-QnB;BXzx-jxhx^@A+lbug@zt zRuzSqR3}owEu3DNmJ4QF*#OLuNYbe3)u6Sy(W5r;tnou#(-Rq0;&+UM3N#kDF96u^ zIlH~Pq8alhcmH~Vu%d{SnqN#EXPQRDQb^iRut?IN@_!u(C@2YPT9FP48mK8vZAmeq5@wcbV@L}FkV$0j6jox#jGNcGPROfdqTV` z#|=mnw=p>$h@Tp8U4k0}@^nCoeZXc~-7yE@f2`()9w>?}5T;LsXeS3D&k+cTPY46GnB^NB zO)Gi{#^c?zFnpGnK_D6k5Jb6rNk*}Zs73HAmuVGqvH)e>Gcn5fz~)WADg|N5?qX9~ z3Oh__(jaL{*1`t%bX8Iwa~H-|Gz_>j7zJsolB_psphW`FKE^UdYM4}q&41u>Gm&O4 zEddz%cTD(LWH{ga94u7EH=yhWuq+N0sRq*+A>W~K-bDtPibU4pf5)-oSZqcQmFP@i0vce*KVj9m)jV~w z^m_<`17a@tV1d0sX;8$i#DQwOBx3c&Cd$(m8(@~6W-HXdOn1bTwD`P!Gd-RV91ang zoVI(5E5esYgIg7%*>6^L;UFK++c!4&i*XiF<%+C0oTctSa>Amcz%@cs9;&F2Cra;PGnn`bVJ3Bj7(Iz1Vlspo zcpQY!EYYsEFA^2{!?FxGYscu19XDU9fd#bc)NK(6 z-&xk|z_qo{@l{JVavVNt${|-uW(Gnk+F~az3wYBc^Nh1_xd1CHl(bK4T#yEN4)|?P zq_|d);N+xQzVFRjt>#?t1*M6N6G-y0%vdO(>sm6n@?Gl(wihdRX0(8{2`tM{qn+hE znbch3m? zAcO+?`?a!bF>*AtPgv49UtrXo!EA?;}_l#z-)f8KuT) z6k*dRgyomCDcf6#MadUfJK2&60A~>f#VDwSo-q<{nQ`x!5V{;n=R_~=B7j+Jk(2KV zNAP@ia%H_{g~qTc3te(lJc^xN1OW7||6Fi!lajC)~AMz0j7w{afF~z;A3m-tPSHFxn;p6qMOi9Wr@xF-W>Fz&a?kA!k zAzOY=uM!CW%M7^@gCzQhj1{l&<64qEz-&NoGCH3`gfm5a(^kW#AzTAw&g>aS{5n(C#%`1$MvzY~7@)KRU^OfP zVZO2CL132%Ml-eBEmng84!r|MwY)RxZ&A==Vt{C%@t1Zlj&Tn-s^o_iIPOLk*es45 zq2Tb=EgA_0T8=Cq3qd*quZ{Udv77rjYn;)hN|PdteHdg%pC6v-T(_}SVME{;JbfC} zWbzHTxx*P?Tn^eki~~vZcL7ss9_2kUxeuaHt2%rm@X;ipsa00{zYsZI9NBS??lyW^ zlD^(Nr*dpz!+zNZ`%+Yo0m`mw1<^X3!#nQQAtE0_fc)uo+CBQVDo!HAXF8Oc(`ysil_e(0)r`lG_O35}*sDWqb?5|E*O5Vq zcoLI}Og9-IKXW1vfi)P}^0@{Sn&zul-x-^OQz{a0HeSADQW|Rm^*s#g6B_@iMPe5; zpc1a#8glu}5R|yJvl;24gMZJH9rv>^#BO((7=LDZ4E`xhZmt6i;EG9M(&Wn<>8UnJ z`hB}%$Ze8_PMgPkpf}`SchXep{9vM7+%eY2|em?Af7*t2w_0=CA@9!JwIJ^kF z@a0O)Odu~=f(u7pM%HvV8RKjkY?SZvW(a@356uu}99MtXg(PTJJaz4~n@>t1p3-4V zr9rp6J;RY)dxa*}fv9d}>vzOjjg!!c7x0XM0ipy!b)oq^e=fBo>C_fgC!>i(SS<#x zuy;pbMKR5>jx?@P9Y5U?3-P)G9X{Owj)s1T_G6eDi*7K@5CRfSQi1&vl1*xbuC_sJ zNboY2Y$_JTfv#i>LnRhUGU%8|upLS4GImnL0dQ>5avwpC1I-*6TnA_jaUSZtwVa1K z#1}5(lEh|Px_pqoZ7bR~c}s&p(v*m#cedi6DSnG?#1#r;vP^Y)6ki8z;2JjQ=TS;} zEnZ;PYJp@CHxqW^Q5WCL3s*n^7-cyMC#D2X%z--`hDHJ=)=x$WX^8VuviKJ~R6=$) zlhoGI#9%@v^_A)i;mZoMziay2ZxO{q zRk*HD8ATApPF9v04dVwPB}{Cg2t+T=jKDM8VBTP8DO&|VxZc?$kzc0%7Jw6!7@B}n z35%hEBn0RYoTE)8DK!&-uaUrPu;9lkCx5jcGn3-kPeheE(oHC_M34UH<=2tz*<|3}>QFthLb{jq=HK$zaxs<`-)gUcHN8?^8KD26{y8qLjxxG;WYKn+f7 z{1D0*m)j?Ro(#>j694cj;x!-=zSydVs-Vw*L9!PKM@!R)(6ExEkDIWV50J zEH?*417c>1=sb@%Ik*+D6=h7ez&J|LAvbAqx8H&1Xvpp=-*5z{H7N*uJ80A&ki=q=nx84GM};s4Q3ixAq68&)B~luA zt{$ViRF;Sy({h7Dt#t$ov^#+a1DW$vC)gvNFXx2BazW&8BJ*Sz=fWwYM^^yJvA<=0y_&-86+hXj=|)TJn5GCYMxQR z&2)d0p{K>_3elhV2xN2`7%_klvL=$S>+a$f~z4CVk75`^#VatSC~ zMM=4gtVK2O?ONJM9LQGk2X+oUmtbt;gn&DyrcIQ)$~rCsUG@ADNz7d&)`D#OQQhr6 zY5+fRg9oZ#M=Y^*gbV0symMeUGqSm_-1{hbXs|GNpb+IyvYt%?3CX9JMi}e7ZAP?B z>u5%zhpO!L7l9;G7LED6Pl10M&#*H0E6vJ;Zh{k4m2JJhYz5gUPr(5o-eU{1wdgyCcx4GtOJw>TnXq4;5&dZ05<@P3P1>e<$>G)fCE?p z-UPGrYx~cOKX~{L`Del(jK3y66@Bmgef9tD*VYfQe;mF${Y>(U<7>-*t9C%_TNP|?vyQ@> z0_^Lxp4NMf?B%#_+8b=_U!%T`+Pmo0qGpiV4r=|QPM_Kn>R(U&1$w{gy{V?Jnl^M0 zWFpPyBmQ<-+2^62?qzvh=c$$^P4Y*YOp#})p7uvf?J%q29l=wM1_hY8WB-W;0h|k1 zAFvJKxx^)frwuk0EHGFagFqw}PGf4y#;gMzWxpmP+>H~Fobocw_MyDMTg~HnwrsWi zmTI#cHQ0>(c-xeQn^6$E+h&TTkb`CR0FJO>V>_kB4q`_n2s^+a*5r#Kdu*YtcY##< zc~ijxU)cRNg}XD15Co#rzSQCUgWDS3+tN5;7aymf;fnw~_67ri5v&2m2{Qu2X>BnC zD;*yMXJlR154Ia$&<~fvts^G@d-jgUTpp7_W9m%ON1Sfyfa&w-4g|T_dB7jk%ysA- zB^1^2*+;YthC_xe-|app#lXTncqj~9Kc~=Lcy2SI+n8;$w2D!P^-VMOTN(3VJ@z|} zlx#Y)e+wtAa4ulpOCqsFIyU1~XwuWQToajSJ_uL*t71gmZKfxs^Zw=1%H_B9@GmL< zh({p^F~SfiSS>6oH5>#46N?X-(U7seom?n(j09HXVT(+w5thIYV+c{XM*d*BLS9{& z3S%fk8y8o}UaDDDaNy^E%BBCfG61Is*)J%930^SbilO8Tp+gzqhz%zm-#1-nJM<<7 z04f7Gza%a4>Vxt>>dL(FSKGOqfq+f&nPWSmS0Z0LP=xB^-{4ah$S;Tb7eee5#?Sz0fTG=ziW`12 zhhnqV5e0OVc4{QT*Zkv;;P6W{HZT#F z`(9opwllf?uR4|orJ~2E?y(*mc{f6KYDrb&p=L}RSpHSSP&CD|q9)_IC&7S{2F^#2bcBy-95n7zDzs~o#`T%+2YYfuqpKE@&s|OA#AgAXL3_{*qEV*5Z9GaJ0#~%{7-Z_8fj89 zIy_;LW4z}}c5$-C7jSGUd?bvZu+Six#fBos@f*Z^9}N^(-82iqwGD$bU(nO(AG9$L zZaaxc5#eYlGr7B~FyO)7%3nw-hrt09CUZh$Akg;9BR2W(h>`|0(c;ShU@EH_Q)5rC zRwV2++JfpWG-x}RVIASAh-rZ_%SJowotg(x4jN>JhD={0t~scd^H`VSli1<~5bIL0 z;?^l10q`}X2*w!Mfm1JbOadb}1w$BI)F&A`NlX4OZPfX6C^6#{%R^1>>I-nFgv85I z;p`>_I_uP7a(VkoCn6d}4y?$4KuxH*njBSQ#J55q78eNMlFjL4DHYu!2!reVHOrYw zxOs=JlUtKj3>(R2Q*G#2unmQ+_W6R*?{4|x(Z)Ff<%qx zQoikp^r6;a<`biwRbVH$I0icdK>~7#0LfcQ|CB(Ncy(MD@UV>51`_UwfRQ;*d36Bb zt1iC!nH6{er~->;^A;Y`FMin**qXj3r*eEmOgYRNDhvcNsKpmaCLElcdUgd%-hm)g zq}VqqB3h9a;xc zPwDZt+vdGZ5PT zC2nez_srBZrC(FXTlg>h9q~?oBEj`BCkehc&l6yqJ0cgybQ&H$Pk{|$94O%lP}+GF z-aN&|&8Dd;oW3xqK}B;bKo#{22?k@5>zVRZ1O*1pLu>ey2=bqFM_Jk2|AI0~kN|Tb~g=ioRCU`R5Tuqr>7)`81_ImfI5M0>G@15Ksf=i=&>_r^_rk zy?i<@NfHSuPR6K3hzkM?c}MJLB0erP`zgJMsFGlg##FbC8G!OvX8|W-G=%+<`z))U zQopw^)Q>@-MF7Ib*#DQ0+tW}+h&7sNP+(@puzLbSBl{>^2#^Ad5MM*M5g>94%-Sz< zK;X+t!8V_H3DMDjr#*u04sp4Tphm>KI&&Y!VQd0~G(d^~0q&}I>4!rp<)&u_)<61- zv1hAG63f&k5*u?;cH95r!5}3e{YVXdEk8CS1IX-?KzkAa=aVg#`*YDt0NMKA-4zM{W5F6g}{2WPIgmw7g1 zn-CLi#ucInL$&?yl90Eb8tq70f#q=Bq)k_~<3M~8K;O1A>K^IPlDZ&Si*5g%Aov@W z`t_U4d!7{tp1B09kim<{e&uLEfOv;-jocBN^q3zb1qZxgq8SHeU!d7UScR9y$7It|>yXq6(~)sfMJDv#7St>lpP+vQ z>$`4i(;*N^Ytra~mI!?y5c3+8_JtjQZ|RwCW=m3X?L-!d2Lk(%Hs08|rmU!7ZvGY4 z)pR>BYon*3Ff_VSM5tw{LcF!2yNE1BTTX6R*{)1MU}ORvl)}+7Vq%q%fU)riy%?wn z2Ru0jk{LqH@U#F@4?#t`gbBbXhVY@Af`S}o0Z>5Am_OU!CRb@#TfqGGpn-Iw+hBTo zNL=j4a + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/_static/fonts/fontawesome-webfont.ttf b/doc/_build/html/_static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..96a3639cdde5e8ab459c6380e3b9524ee81641dc GIT binary patch literal 112160 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 zÄ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 V*eEM;|ho{trTA6=?tf literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/fonts/fontawesome-webfont.woff b/doc/_build/html/_static/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..628b6a52a87e62c6f22426e17c01f6a303aa194e GIT binary patch literal 65452 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 q%u^)w#YX9ZIvhtu?9Cy6YRi6f6G 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 literal 0 HcmV?d00001 diff --git a/doc/_build/html/_static/jquery.js b/doc/_build/html/_static/jquery.js new file mode 100644 index 0000000..e2efc33 --- /dev/null +++ b/doc/_build/html/_static/jquery.js @@ -0,0 +1,9404 @@ +/*! + * jQuery JavaScript Library v1.7.2 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Fri Jul 5 14:07:58 UTC 2013 + */ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document, + navigator = window.navigator, + location = window.location; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Matches dashed string for camelizing + rdashAlpha = /-([a-z]|[0-9])/ig, + rmsPrefix = /^-ms-/, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return ( letter + "" ).toUpperCase(); + }, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // The deferred used on DOM ready + readyList, + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = quickExpr.exec( selector ); + } + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = ( context ? context.ownerDocument || context : document ); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = ( ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment ).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.7.2", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + ( this.selector ? " " : "" ) + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.add( fn ); + + return this; + }, + + eq: function( i ) { + i = +i; + return i === -1 ? + this.slice( i ) : + this.slice( i, i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + // Either a released hold or an DOMready/load event and not yet ready + if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.fireWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).off( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyList ) { + return; + } + + readyList = jQuery.Callbacks( "once memory" ); + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", DOMContentLoaded ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + + } + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + var xml, tmp; + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && rnotwhite.test( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction( object ); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { + break; + } + } + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type( array ); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array, i ) { + var len; + + if ( array ) { + if ( indexOf ) { + return indexOf.call( array, elem, i ); + } + + len = array.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in array && array[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, key, ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( key in elems ) { + value = callback( elems[ key ], key, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + if ( typeof context === "string" ) { + var tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + var args = slice.call( arguments, 2 ), + proxy = function() { + return fn.apply( context, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, pass ) { + var exec, + bulk = key == null, + i = 0, + length = elems.length; + + // Sets many values + if ( key && typeof key === "object" ) { + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], 1, emptyGet, value ); + } + chainable = 1; + + // Sets one value + } else if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = pass === undefined && jQuery.isFunction( value ); + + if ( bulk ) { + // Bulk operations only iterate when executing function values + if ( exec ) { + exec = fn; + fn = function( elem, key, value ) { + return exec.call( jQuery( elem ), value ); + }; + + // Otherwise they run against the entire set + } else { + fn.call( elems, value ); + fn = null; + } + } + + if ( fn ) { + for (; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + } + + chainable = 1; + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + sub: function() { + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; + }, + + browser: {} +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +return jQuery; + +})(); + + +// String to Object flags format cache +var flagsCache = {}; + +// Convert String-formatted flags into Object-formatted ones and store in cache +function createFlags( flags ) { + var object = flagsCache[ flags ] = {}, + i, length; + flags = flags.split( /\s+/ ); + for ( i = 0, length = flags.length; i < length; i++ ) { + object[ flags[i] ] = true; + } + return object; +} + +/* + * Create a callback list using the following parameters: + * + * flags: an optional list of space-separated flags that will change how + * the callback list behaves + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible flags: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( flags ) { + + // Convert flags from String-formatted to Object-formatted + // (we check in cache first) + flags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {}; + + var // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = [], + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Add one or several callbacks to the list + add = function( args ) { + var i, + length, + elem, + type, + actual; + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + // Inspect recursively + add( elem ); + } else if ( type === "function" ) { + // Add if not in unique mode and callback is not in + if ( !flags.unique || !self.has( elem ) ) { + list.push( elem ); + } + } + } + }, + // Fire callbacks + fire = function( context, args ) { + args = args || []; + memory = !flags.memory || [ context, args ]; + fired = true; + firing = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) { + memory = true; // Mark as halted + break; + } + } + firing = false; + if ( list ) { + if ( !flags.once ) { + if ( stack && stack.length ) { + memory = stack.shift(); + self.fireWith( memory[ 0 ], memory[ 1 ] ); + } + } else if ( memory === true ) { + self.disable(); + } else { + list = []; + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + var length = list.length; + add( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away, unless previous + // firing was halted (stopOnFalse) + } else if ( memory && memory !== true ) { + firingStart = length; + fire( memory[ 0 ], memory[ 1 ] ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + var args = arguments, + argIndex = 0, + argLength = args.length; + for ( ; argIndex < argLength ; argIndex++ ) { + for ( var i = 0; i < list.length; i++ ) { + if ( args[ argIndex ] === list[ i ] ) { + // Handle firingIndex and firingLength + if ( firing ) { + if ( i <= firingLength ) { + firingLength--; + if ( i <= firingIndex ) { + firingIndex--; + } + } + } + // Remove the element + list.splice( i--, 1 ); + // If we have some unicity property then + // we only need to do this once + if ( flags.unique ) { + break; + } + } + } + } + } + return this; + }, + // Control if a given callback is in the list + has: function( fn ) { + if ( list ) { + var i = 0, + length = list.length; + for ( ; i < length; i++ ) { + if ( fn === list[ i ] ) { + return true; + } + } + } + return false; + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory || memory === true ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( stack ) { + if ( firing ) { + if ( !flags.once ) { + stack.push( [ context, args ] ); + } + } else if ( !( flags.once && memory ) ) { + fire( context, args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + + + +var // Static reference to slice + sliceDeferred = [].slice; + +jQuery.extend({ + + Deferred: function( func ) { + var doneList = jQuery.Callbacks( "once memory" ), + failList = jQuery.Callbacks( "once memory" ), + progressList = jQuery.Callbacks( "memory" ), + state = "pending", + lists = { + resolve: doneList, + reject: failList, + notify: progressList + }, + promise = { + done: doneList.add, + fail: failList.add, + progress: progressList.add, + + state: function() { + return state; + }, + + // Deprecated + isResolved: doneList.fired, + isRejected: failList.fired, + + then: function( doneCallbacks, failCallbacks, progressCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks ); + return this; + }, + always: function() { + deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments ); + return this; + }, + pipe: function( fnDone, fnFail, fnProgress ) { + return jQuery.Deferred(function( newDefer ) { + jQuery.each( { + done: [ fnDone, "resolve" ], + fail: [ fnFail, "reject" ], + progress: [ fnProgress, "notify" ] + }, function( handler, data ) { + var fn = data[ 0 ], + action = data[ 1 ], + returned; + if ( jQuery.isFunction( fn ) ) { + deferred[ handler ](function() { + returned = fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); + } + }); + } else { + deferred[ handler ]( newDefer[ action ] ); + } + }); + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + obj = promise; + } else { + for ( var key in promise ) { + obj[ key ] = promise[ key ]; + } + } + return obj; + } + }, + deferred = promise.promise({}), + key; + + for ( key in lists ) { + deferred[ key ] = lists[ key ].fire; + deferred[ key + "With" ] = lists[ key ].fireWith; + } + + // Handle state + deferred.done( function() { + state = "resolved"; + }, failList.disable, progressList.lock ).fail( function() { + state = "rejected"; + }, doneList.disable, progressList.lock ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( firstParam ) { + var args = sliceDeferred.call( arguments, 0 ), + i = 0, + length = args.length, + pValues = new Array( length ), + count = length, + pCount = length, + deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? + firstParam : + jQuery.Deferred(), + promise = deferred.promise(); + function resolveFunc( i ) { + return function( value ) { + args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + if ( !( --count ) ) { + deferred.resolveWith( deferred, args ); + } + }; + } + function progressFunc( i ) { + return function( value ) { + pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + deferred.notifyWith( promise, pValues ); + }; + } + if ( length > 1 ) { + for ( ; i < length; i++ ) { + if ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) { + args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( deferred, args ); + } + } else if ( deferred !== firstParam ) { + deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); + } + return promise; + } +}); + + + + +jQuery.support = (function() { + + var support, + all, + a, + select, + opt, + input, + fragment, + tds, + events, + eventName, + i, + isSupported, + div = document.createElement( "div" ), + documentElement = document.documentElement; + + // Preliminary tests + div.setAttribute("className", "t"); + div.innerHTML = "
a"; + + all = div.getElementsByTagName( "*" ); + a = div.getElementsByTagName( "a" )[ 0 ]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return {}; + } + + // First batch of supports tests + select = document.createElement( "select" ); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName( "input" )[ 0 ]; + + support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: ( div.firstChild.nodeType === 3 ), + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: ( a.getAttribute("href") === "/a" ), + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: ( input.value === "on" ), + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // Tests for enctype support on a form(#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>", + + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + pixelMargin: true + }; + + // jQuery.boxModel DEPRECATED in 1.3, use jQuery.support.boxModel instead + jQuery.boxModel = support.boxModel = (document.compatMode === "CSS1Compat"); + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent( "onclick", function() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + support.noCloneEvent = false; + }); + div.cloneNode( true ).fireEvent( "onclick" ); + } + + // Check if a radio maintains its value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute("type", "radio"); + support.radioValue = input.value === "t"; + + input.setAttribute("checked", "checked"); + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + fragment = document.createDocumentFragment(); + fragment.appendChild( div.lastChild ); + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + fragment.removeChild( input ); + fragment.appendChild( div ); + + // Technique from Juriy Zaytsev + // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/ + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( div.attachEvent ) { + for ( i in { + submit: 1, + change: 1, + focusin: 1 + }) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; + } + } + + fragment.removeChild( div ); + + // Null elements to avoid leaks in IE + fragment = select = opt = div = input = null; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, outer, inner, table, td, offsetSupport, + marginDiv, conMarginTop, style, html, positionTopLeftWidthHeight, + paddingMarginBorderVisibility, paddingMarginBorder, + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + conMarginTop = 1; + paddingMarginBorder = "padding:0;margin:0;border:"; + positionTopLeftWidthHeight = "position:absolute;top:0;left:0;width:1px;height:1px;"; + paddingMarginBorderVisibility = paddingMarginBorder + "0;visibility:hidden;"; + style = "style='" + positionTopLeftWidthHeight + paddingMarginBorder + "5px solid #000;"; + html = "
" + + "" + + "
"; + + container = document.createElement("div"); + container.style.cssText = paddingMarginBorderVisibility + "width:0;height:0;position:static;top:0;margin-top:" + conMarginTop + "px"; + body.insertBefore( container, body.firstChild ); + + // Construct the test element + div = document.createElement("div"); + container.appendChild( div ); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + div.innerHTML = "
t
"; + tds = div.getElementsByTagName( "td" ); + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE <= 8 fail this test) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. For more + // info see bug #3333 + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + if ( window.getComputedStyle ) { + div.innerHTML = ""; + marginDiv = document.createElement( "div" ); + marginDiv.style.width = "0"; + marginDiv.style.marginRight = "0"; + div.style.width = "2px"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + ( parseInt( ( window.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0; + } + + if ( typeof div.style.zoom !== "undefined" ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.innerHTML = ""; + div.style.width = div.style.padding = "1px"; + div.style.border = 0; + div.style.overflow = "hidden"; + div.style.display = "inline"; + div.style.zoom = 1; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = "block"; + div.style.overflow = "visible"; + div.innerHTML = "
"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + } + + div.style.cssText = positionTopLeftWidthHeight + paddingMarginBorderVisibility; + div.innerHTML = html; + + outer = div.firstChild; + inner = outer.firstChild; + td = outer.nextSibling.firstChild.firstChild; + + offsetSupport = { + doesNotAddBorder: ( inner.offsetTop !== 5 ), + doesAddBorderForTableAndCells: ( td.offsetTop === 5 ) + }; + + inner.style.position = "fixed"; + inner.style.top = "20px"; + + // safari subtracts parent border width here which is 5px + offsetSupport.fixedPosition = ( inner.offsetTop === 20 || inner.offsetTop === 15 ); + inner.style.position = inner.style.top = ""; + + outer.style.overflow = "hidden"; + outer.style.position = "relative"; + + offsetSupport.subtractsBorderForOverflowNotVisible = ( inner.offsetTop === -5 ); + offsetSupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== conMarginTop ); + + if ( window.getComputedStyle ) { + div.style.marginTop = "1%"; + support.pixelMargin = ( window.getComputedStyle( div, null ) || { marginTop: 0 } ).marginTop !== "1%"; + } + + if ( typeof container.style.zoom !== "undefined" ) { + container.style.zoom = 1; + } + + body.removeChild( container ); + marginDiv = div = container = null; + + jQuery.extend( support, offsetSupport ); + }); + + return support; +})(); + + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/, + rmultiDash = /([A-Z])/g; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var privateCache, thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey, + isEvents = name === "events"; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!isEvents && !pvt && !cache[id].data)) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ internalKey ] = id = ++jQuery.uuid; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // Avoids exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + privateCache = thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Users should not attempt to inspect the internal events object using jQuery.data, + // it is undocumented and subject to change. But does anyone listen? No. + if ( isEvents && !thisCache[ name ] ) { + return privateCache.events; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, l, + + // Reference to internal data cache key + internalKey = jQuery.expando, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + id = isNode ? elem[ internalKey ] : internalKey; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split( " " ); + } + } + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + // Ensure that `cache` is not a window object #10080 + if ( jQuery.support.deleteExpando || !cache.setInterval ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the cache and need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + if ( isNode ) { + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( jQuery.support.deleteExpando ) { + delete elem[ internalKey ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( internalKey ); + } else { + elem[ internalKey ] = null; + } + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var parts, part, attr, name, l, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attr = elem.attributes; + for ( l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + parts = key.split( ".", 2 ); + parts[1] = parts[1] ? "." + parts[1] : ""; + part = parts[1] + "!"; + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + data = this.triggerHandler( "getData" + part, [ parts[0] ] ); + + // Try to fetch any internally stored data first + if ( data === undefined && elem ) { + data = jQuery.data( elem, key ); + data = dataAttr( elem, key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + } + + parts[1] = value; + this.each(function() { + var self = jQuery( this ); + + self.triggerHandler( "setData" + part, parts ); + jQuery.data( this, key, value ); + self.triggerHandler( "changeData" + part, parts ); + }); + }, null, value, arguments.length > 1, null, false ); + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + jQuery.isNumeric( data ) ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + + + + +function handleQueueMarkDefer( elem, type, src ) { + var deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + defer = jQuery._data( elem, deferDataKey ); + if ( defer && + ( src === "queue" || !jQuery._data(elem, queueDataKey) ) && + ( src === "mark" || !jQuery._data(elem, markDataKey) ) ) { + // Give room for hard-coded callbacks to fire first + // and eventually mark/queue something else on the element + setTimeout( function() { + if ( !jQuery._data( elem, queueDataKey ) && + !jQuery._data( elem, markDataKey ) ) { + jQuery.removeData( elem, deferDataKey, true ); + defer.fire(); + } + }, 0 ); + } +} + +jQuery.extend({ + + _mark: function( elem, type ) { + if ( elem ) { + type = ( type || "fx" ) + "mark"; + jQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 ); + } + }, + + _unmark: function( force, elem, type ) { + if ( force !== true ) { + type = elem; + elem = force; + force = false; + } + if ( elem ) { + type = type || "fx"; + var key = type + "mark", + count = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 ); + if ( count ) { + jQuery._data( elem, key, count ); + } else { + jQuery.removeData( elem, key, true ); + handleQueueMarkDefer( elem, type, "mark" ); + } + } + }, + + queue: function( elem, type, data ) { + var q; + if ( elem ) { + type = ( type || "fx" ) + "queue"; + q = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !q || jQuery.isArray(data) ) { + q = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + q.push( data ); + } + } + return q || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(), + hooks = {}; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + jQuery._data( elem, type + ".run", hooks ); + fn.call( elem, function() { + jQuery.dequeue( elem, type ); + }, hooks ); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue " + type + ".run", true ); + handleQueueMarkDefer( elem, type, "queue" ); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, object ) { + if ( typeof type !== "string" ) { + object = type; + type = undefined; + } + type = type || "fx"; + var defer = jQuery.Deferred(), + elements = this, + i = elements.length, + count = 1, + deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + tmp; + function resolve() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + } + while( i-- ) { + if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || + ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || + jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && + jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) { + count++; + tmp.add( resolve ); + } + } + resolve(); + return defer.promise( object ); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspace = /\s+/, + rreturn = /\r/g, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + nodeHook, boolHook, fixSpecified; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classNames, i, l, elem, className, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + classNames = ( value || "" ).split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + className = (" " + elem.className + " ").replace( rclass, " " ); + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[ c ] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var hooks, ret, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var self = jQuery(this), val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, i, max, option, + index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + i = one ? index : 0; + max = one ? index + 1 : options.length; + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, "" + value ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var propName, attrNames, name, l, isBool, + i = 0; + + if ( value && elem.nodeType === 1 ) { + attrNames = value.toLowerCase().split( rspace ); + l = attrNames.length; + + for ( ; i < l; i++ ) { + name = attrNames[ i ]; + + if ( name ) { + propName = jQuery.propFix[ name ] || name; + isBool = rboolean.test( name ); + + // See #9699 for explanation of this approach (setting first, then removal) + // Do not do this for boolean attributes (see #10870) + if ( !isBool ) { + jQuery.attr( elem, name, "" ); + } + elem.removeAttribute( getSetAttribute ? name : propName ); + + // Set corresponding property to false for boolean attributes + if ( isBool && propName in elem ) { + elem[ propName ] = false; + } + } + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to it's default in case type is set after value + // This is for element creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + // Use the value property for back compat + // Use the nodeHook for button elements in IE6/7 (#1954) + value: { + get: function( elem, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.get( elem, name ); + } + return name in elem ? + elem.value : + null; + }, + set: function( elem, value, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Add the tabIndex propHook to attrHooks for back-compat (different case is intentional) +jQuery.attrHooks.tabindex = jQuery.propHooks.tabIndex; + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + // Fall back to attribute presence where some booleans are not supported + var attrNode, + property = jQuery.prop( elem, name ); + return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = true; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + fixSpecified = { + name: true, + id: true, + coords: true + }; + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + ret = elem.getAttributeNode( name ); + return ret && ( fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified ) ? + ret.nodeValue : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + ret = document.createAttribute( name ); + elem.setAttributeNode( ret ); + } + return ( ret.nodeValue = value + "" ); + } + }; + + // Apply the nodeHook to tabindex + jQuery.attrHooks.tabindex.set = nodeHook.set; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + if ( value === "" ) { + value = "false"; + } + nodeHook.set( elem, value, name ); + } + }; +} + + +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; + } + }); + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = "" + value ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); + + + + +var rformElems = /^(?:textarea|input|select)$/i, + rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/, + rhoverHack = /(?:^|\s)hover(\.\S+)?\b/, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rquickIs = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, + quickParse = function( selector ) { + var quick = rquickIs.exec( selector ); + if ( quick ) { + // 0 1 2 3 + // [ _, tag, id, class ] + quick[1] = ( quick[1] || "" ).toLowerCase(); + quick[3] = quick[3] && new RegExp( "(?:^|\\s)" + quick[3] + "(?:\\s|$)" ); + } + return quick; + }, + quickIs = function( elem, m ) { + var attrs = elem.attributes || {}; + return ( + (!m[1] || elem.nodeName.toLowerCase() === m[1]) && + (!m[2] || (attrs.id || {}).value === m[2]) && + (!m[3] || m[3].test( (attrs[ "class" ] || {}).value )) + ); + }, + hoverHack = function( events ) { + return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" ); + }; + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + add: function( elem, types, handler, data, selector ) { + + var elemData, eventHandle, events, + t, tns, type, namespaces, handleObj, + handleObjIn, quick, handlers, special; + + // Don't attach events to noData or text/comment nodes (allow plain objects tho) + if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + events = elemData.events; + if ( !events ) { + elemData.events = events = {}; + } + eventHandle = elemData.handle; + if ( !eventHandle ) { + elemData.handle = eventHandle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = jQuery.trim( hoverHack(types) ).split( " " ); + for ( t = 0; t < types.length; t++ ) { + + tns = rtypenamespace.exec( types[t] ) || []; + type = tns[1]; + namespaces = ( tns[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: tns[1], + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + quick: selector && quickParse( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + handlers = events[ type ]; + if ( !handlers ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + t, tns, type, origType, namespaces, origCount, + j, events, special, handle, eventType, handleObj; + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = jQuery.trim( hoverHack( types || "" ) ).split(" "); + for ( t = 0; t < types.length; t++ ) { + tns = rtypenamespace.exec( types[t] ) || []; + type = origType = tns[1]; + namespaces = tns[2]; + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector? special.delegateType : special.bindType ) || type; + eventType = events[ type ] || []; + origCount = eventType.length; + namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + + // Remove matching events + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !namespaces || namespaces.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + eventType.splice( j--, 1 ); + + if ( handleObj.selector ) { + eventType.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( eventType.length === 0 && origCount !== eventType.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery.removeData( elem, [ "events", "handle" ], true ); + } + }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, + + trigger: function( event, data, elem, onlyHandlers ) { + // Don't do events on text and comment nodes + if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) { + return; + } + + // Event object or event type + var type = event.type || event, + namespaces = [], + cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType; + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "!" ) >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } + + if ( type.indexOf( "." ) >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } + + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); + + event.type = type; + event.isTrigger = true; + event.exclusive = exclusive; + event.namespace = namespaces.join( "." ); + event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + ontype = type.indexOf( ":" ) < 0 ? "on" + type : ""; + + // Handle a global trigger + if ( !elem ) { + + // TODO: Stop taunting the data cache; remove global events and always attach to document + cache = jQuery.cache; + for ( i in cache ) { + if ( cache[ i ].events && cache[ i ].events[ type ] ) { + jQuery.event.trigger( event, data, cache[ i ].handle.elem, true ); + } + } + return; + } + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data != null ? jQuery.makeArray( data ) : []; + data.unshift( event ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + eventPath = [[ elem, special.bindType || type ]]; + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode; + old = null; + for ( ; cur; cur = cur.parentNode ) { + eventPath.push([ cur, bubbleType ]); + old = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( old && old === elem.ownerDocument ) { + eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]); + } + } + + // Fire handlers on the event path + for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) { + + cur = eventPath[i][0]; + event.type = eventPath[i][1]; + + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + // Note that this is a bare JS function and not a jQuery handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + // IE<9 dies on focus/blur to hidden element (#1486) + if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; + + if ( old ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( old ) { + elem[ ontype ] = old; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event || window.event ); + + var handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []), + delegateCount = handlers.delegateCount, + args = [].slice.call( arguments, 0 ), + run_all = !event.exclusive && !event.namespace, + special = jQuery.event.special[ event.type ] || {}, + handlerQueue = [], + i, j, cur, jqcur, ret, selMatch, matched, matches, handleObj, sel, related; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers that should run if there are delegated events + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && !(event.button && event.type === "click") ) { + + // Pregenerate a single jQuery object for reuse with .is() + jqcur = jQuery(this); + jqcur.context = this.ownerDocument || this; + + for ( cur = event.target; cur != this; cur = cur.parentNode || this ) { + + // Don't process events on disabled elements (#6911, #8165) + if ( cur.disabled !== true ) { + selMatch = {}; + matches = []; + jqcur[0] = cur; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + sel = handleObj.selector; + + if ( selMatch[ sel ] === undefined ) { + selMatch[ sel ] = ( + handleObj.quick ? quickIs( cur, handleObj.quick ) : jqcur.is( sel ) + ); + } + if ( selMatch[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, matches: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( handlers.length > delegateCount ) { + handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) }); + } + + // Run delegates first; they may want to stop propagation beneath us + for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) { + matched = handlerQueue[ i ]; + event.currentTarget = matched.elem; + + for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) { + handleObj = matched.matches[ j ]; + + // Triggered event must either 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) { + + event.data = handleObj.data; + event.handleObj = handleObj; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 *** + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, + originalEvent = event, + fixHook = jQuery.event.fixHooks[ event.type ] || {}, + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = jQuery.Event( originalEvent ); + + for ( i = copy.length; i; ) { + prop = copy[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Target should not be a text node (#504, Safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8) + if ( event.metaKey === undefined ) { + event.metaKey = event.ctrlKey; + } + + return fixHook.filter? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady + }, + + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + + focus: { + delegateType: "focusin" + }, + blur: { + delegateType: "focusout" + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +// Some plugins are using, but it's undocumented/deprecated and will be removed. +// The 1.7 special event interface should provide all the hooks needed now. +jQuery.event.handle = jQuery.event.dispatch; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var target = this, + related = event.relatedTarget, + handleObj = event.handleObj, + selector = handleObj.selector, + ret; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !form._submit_attached ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + form._submit_attached = true; + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + jQuery.event.simulate( "change", this, event, true ); + } + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + elem._change_attached = true; + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { // && selector != null + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + var handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( var type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + live: function( types, data, fn ) { + jQuery( this.context ).on( types, this.selector, data, fn ); + return this; + }, + die: function( types, fn ) { + jQuery( this.context ).off( types, this.selector || "**", fn ); + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } + + if ( rkeyEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks; + } + + if ( rmouseEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks; + } +}); + + + +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + expando = "sizcache" + (Math.random() + '').replace('.', ''), + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rReturn = /\r\n/g, + rNonWord = /\W/; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context, seed ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set, seed ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set, i, len, match, type, left; + + if ( !expr ) { + return []; + } + + for ( i = 0, len = Expr.order.length; i < len; i++ ) { + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + type, found, item, filter, left, + i, pass, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + filter = Expr.filter[ type ]; + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + pass = not ^ found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Utility function for retreiving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +var getText = Sizzle.getText = function( elem ) { + var i, node, + nodeType = elem.nodeType, + ret = ""; + + if ( nodeType ) { + if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent || innerText for elements + if ( typeof elem.textContent === 'string' ) { + return elem.textContent; + } else if ( typeof elem.innerText === 'string' ) { + // Replace IE's carriage returns + return elem.innerText.replace( rReturn, '' ); + } else { + // Traverse it's children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + } else { + + // If no nodeType, this is expected to be an array + for ( i = 0; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + if ( node.nodeType !== 8 ) { + ret += getText( node ); + } + } + } + return ret; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + // Handle if an un-quoted value was used + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + var attr = elem.getAttribute( "type" ), type = elem.type; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null ); + }, + + radio: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; + }, + + checkbox: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; + }, + + file: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; + }, + + password: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; + }, + + submit: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "submit" === elem.type; + }, + + image: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; + }, + + reset: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "reset" === elem.type; + }, + + button: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && "button" === elem.type || name === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + }, + + focus: function( elem ) { + return elem === elem.ownerDocument.activeElement; + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var first, last, + doneName, parent, cache, + count, diff, + type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + /* falls through */ + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + first = match[2]; + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + doneName = match[0]; + parent = elem.parentNode; + + if ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) { + count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent[ expando ] = doneName; + } + + diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Sizzle.attr ? + Sizzle.attr( elem, name ) : + Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + !type && Sizzle.attr ? + result != null : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} +// Expose origPOS +// "global" as in regardless of relation to brackets/parens +Expr.match.globalPOS = origPOS; + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; + + if ( matches ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9 fails this) + var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + var ret = matches.call( node, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || !disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9, so check for that + node.document && node.document.nodeType !== 11 ) { + return ret; + } + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem[ expando ] === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem[ expando ] = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem[ expando ] === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem[ expando ] = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context, seed ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet, seed ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +Sizzle.selectors.attrMap = {}; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.globalPOS, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var self = this, + i, l; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + var ret = this.pushStack( "", "find", selector ), + length, n, r; + + for ( i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && ( + typeof selector === "string" ? + // If this is a positional selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + POS.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + // Array (deprecated as of jQuery 1.7) + if ( jQuery.isArray( selectors ) ) { + var level = 1; + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( i = 0; i < selectors.length; i++ ) { + + if ( jQuery( cur ).is( selectors[ i ] ) ) { + ret.push({ selector: selectors[ i ], elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + + return ret; + } + + // String + var pos = POS.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique( ret ) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, slice.call( arguments ).join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return ( elem === qualifier ) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; + }); +} + + + + +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /]", "i"), + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /\/(java|ecma)script/i, + rcleanScript = /^\s*", "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }, + safeFragment = createSafeFragment( document ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • averagingModel command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

averagingModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
averagingModel model;
+
+
+
    +
  • model = name of averaging model to be applied
  • +
+
+
+

Examples¶

+
averagingModel dense;
+averagingModel dilute;
+
+
+

Note: This examples list might not be complete - please have a look for other averaging models (averagingModel_XY) in this documentation.

+
+
+

Description¶

+

The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities).

+
+
+

Restrictions¶

+

None.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/averagingModel_dense.html b/doc/_build/html/averagingModel_dense.html new file mode 100644 index 0000000..318253e --- /dev/null +++ b/doc/_build/html/averagingModel_dense.html @@ -0,0 +1,226 @@ + + + + + + + + + + + averagingModel_dense command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • averagingModel_dense command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

averagingModel_dense command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
averagingModel dense;
+
+
+
+
+

Examples¶

+
averagingModel dense;
+
+
+
+
+

Description¶

+

The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). In the “cfdemParticle cloud” this averaging model is used to calculate the average particle velocity inside a CFD cell. The “dense” model is supposed to be applied to cases where the granular regime is rather dense.

+
+
+

Restrictions¶

+

No known restrictions.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/averagingModel_dilute.html b/doc/_build/html/averagingModel_dilute.html new file mode 100644 index 0000000..7270651 --- /dev/null +++ b/doc/_build/html/averagingModel_dilute.html @@ -0,0 +1,227 @@ + + + + + + + + + + + averagingModel_dilute command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • averagingModel_dilute command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

averagingModel_dilute command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
averagingModel dilute;
+
+
+
+
+

Examples¶

+
averagingModel dilute;
+
+
+
+
+

Description¶

+

The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). +In the “cfdemParticle cloud” this averaging model is used to calculate the average particle velocity inside a CFD cell. The “dilute” model is supposed to be applied to cases where the granular regime is rather dilute. The particle velocity inside a CFD cell is evaluated from a single particle in a cell (no averaging).

+
+
+

Restrictions¶

+

This model is computationally efficient, but should only be used when only one particle is inside one CFD cell.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/cfdemSolverIB.html b/doc/_build/html/cfdemSolverIB.html new file mode 100644 index 0000000..44894e9 --- /dev/null +++ b/doc/_build/html/cfdemSolverIB.html @@ -0,0 +1,221 @@ + + + + + + + + + + + cfdemSolverIB command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • cfdemSolverIB command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

cfdemSolverIB command¶

+
+

Description¶

+

“cfdemSolverIB” is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework, for calculating +the dynamics between immersed bodies and the surrounding fluid. Being an implementation of an immersed boundary method it allows tackling problems where the body diameter exceeds the maximal size of a fluid cell. Using the toolbox of OpenFOAM(R)(*) the governing equations of the fluid are computed and the corrections of velocity and pressure field with respect to the body-movement information, gained from LIGGGHTS, are incorporated.

+

Code of this solver contributions by Alice Hager, JKU.

+

Algorithm:

+

For each time step ...

+
    +
  • the motion of the spheres is calculated (position, velocity, angular velocity, force...) with LIGGGHTS using the velocity and pressure-field from the previous time step (initial condition for t=0).
  • +
  • the Navier-Stokes equations are solved on the whole computational domain, disregarding the solid phase.
  • +
  • the spheres are located within the mesh: each sphere is represented by a cluster of cells, which are either totally or partially covered by the body, depending on its exact position.
  • +
  • the correction of the velocity and pressure field of the fluid phase takes place, using the information about the location of the spheres and their (angular) velocity.
  • +
+

Use:

+

The solver is realized within the Open Source framework CFDEMcoupling. Just as for the unresolved CFD-DEM solver cfdemSolverPiso the file CFD/constant/couplingProperties contains information about the settings for the different models. While IOmodel, DataExchangeModel etc. are applicable for all CFDEMcoupling-solvers, special locate-, force- and void fraction models were designed for the present case:

+

engineSearchIB, ArchimedesIB, ShirgaonkarIB, IBVoidfraction

+

References:

+

GONIVA, C., KLOSS, C., HAGER,A., WIERINK, G. and PIRKER, S. (2011): “A MULTI-PURPOSE OPEN SOURCE CFD-DEM APPROACH”, Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway

+

and

+

HAGER, A., KLOSS, C. and GONIVA, C. (2011): “TOWARDS AN EFFICIENT IMMERSED BOUNDARY METHOD WITHIN AN OPEN SOURCE FRAMEWORK”, Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway

+
+

(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.

+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/cfdemSolverPiso.html b/doc/_build/html/cfdemSolverPiso.html new file mode 100644 index 0000000..819f814 --- /dev/null +++ b/doc/_build/html/cfdemSolverPiso.html @@ -0,0 +1,206 @@ + + + + + + + + + + + cfdemSolverPiso command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • cfdemSolverPiso command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

cfdemSolverPiso command¶

+
+

Description¶

+

“cfdemSolverPiso” is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam(R)(*), a finite volume based solver for turbulent Navier-Stokes equations applying the PISO algorithm, “cfdemSolverPiso” has additional functionality for a coupling to the DEM code “LIGGGHTS”. The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles whose trajectories are calculated in the DEM code LIGGGHTS.

+

see:

+

GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): “An Open Source CFD-DEM Perspective”, Proc. of OpenFOAM Workshop, Göteborg, June 22.-24.

+
+

(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.

+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/cfdemSolverPisoScalar.html b/doc/_build/html/cfdemSolverPisoScalar.html new file mode 100644 index 0000000..89d9149 --- /dev/null +++ b/doc/_build/html/cfdemSolverPisoScalar.html @@ -0,0 +1,207 @@ + + + + + + + + + + + cfdemSolverPisoScalar command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • cfdemSolverPisoScalar command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

cfdemSolverPisoScalar command¶

+
+

Description¶

+

“cfdemSolverPisoScalar” is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam(R)(*), a finite volume based solver for turbulent Navier-Stokes equations applying PISO algorithm, “cfdemSolverPisoScalar” has additional functionality for a coupling to the DEM code “LIGGGHTS” as well as a scalar transport equation. The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles, whose trajectories are calculated in the DEM code LIGGGHTS. The scalar transport equation is coupled to scalar properties of the particle phase, thus convective heat transfer in a fluid granular system can be modeled with “cfdemSolverPisoScalar”.

+

see:

+

GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): “An Open Source CFD-DEM Perspective”, Proc. of OpenFOAM Workshop, Göteborg, June 22.-24.

+

The heat transfer equation is implemented according to Nield & Bejan (2013), Convection in Porous Media, DOI 10.1007/978-1-4614-5541-7_2, Springer

+
+

(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.

+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/clockModel.html b/doc/_build/html/clockModel.html new file mode 100644 index 0000000..5af8dce --- /dev/null +++ b/doc/_build/html/clockModel.html @@ -0,0 +1,228 @@ + + + + + + + + + + + clockModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+ +
+ +
+
+
+ +
+

clockModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
clockModel model;
+
+
+
    +
  • model = name of the clockModel to be applied
  • +
+
+
+

Examples¶

+
clockModel standardClock;
+
+
+

Note: This examples list might not be complete - please look for other models (clockModel_XY) in this documentation.

+
+
+

Description¶

+

The clockModel is the base class for models to examine the code/algorithm with respect to run time.

+

Main parts of the clockModel classes are written by Josef Kerbl, JKU.

+
+
+

Restrictions¶

+
+
none.
+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/clockModel_noClock.html b/doc/_build/html/clockModel_noClock.html new file mode 100644 index 0000000..2113e0b --- /dev/null +++ b/doc/_build/html/clockModel_noClock.html @@ -0,0 +1,227 @@ + + + + + + + + + + + clockModel_noClock command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • clockModel_noClock command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

clockModel_noClock command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
clockModel off;
+
+
+
+
+

Examples¶

+
clockModel off;
+
+
+
+
+

Description¶

+

The “noClock” model is a dummy clockModel model which does not measure/evaluate the run time.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/clockModel_standardClock.html b/doc/_build/html/clockModel_standardClock.html new file mode 100644 index 0000000..b27fa7f --- /dev/null +++ b/doc/_build/html/clockModel_standardClock.html @@ -0,0 +1,229 @@ + + + + + + + + + + + clockModel_standardClock command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • clockModel_standardClock command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

clockModel_standardClock command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
clockModel standardClock;
+
+
+
+
+

Examples¶

+
clockModel standardClock;
+
+
+
+
+

Description¶

+

The “standardClock” model is a basic clockModel model which measures the run time between every ”.start(int arrayPos,string name)” and ”.stop(string name)” statement placed in the code. If a ”.start(name)” is called more than once (e.g. in a loop) the accumulated times are calculated. After the simulation has finished, the data is stored in $caseDir/CFD/clockData/$startTime/.txt . +Since the measurements are stored in an array, it is necessary to put a variable *arrayPos (type integer) at the start command. Those do not need to be in ascending order and positions may be omitted. The standard size of this array is 30 and can be changed at the initialization of the standardClock class. If arrayPos is out of bounds, the array size will be doubled. The stop command does not need arrayPos, since the class remembers the positions. The string name is intended for easier evaluation afterwards an may be omitted like ”.start(int arrayPos)” and ”.stop()”. The command ”.stop(string name)” is a safety feature, because if the name is not equal to the started name, output will be produced for information. +After the case ran you may use the matPlot.py script located in $CFDEM_UT_DIR/vizClock/ to produce a graphical output of your measurements. The usage is like ‘python < matPlot.py’ and you have to be in the directory of the desired time step, where there is a file called “timeEvalFull.txt”, which contains averaged and maximum data with respect to the number of processes. There is an alias called “vizClock” to run this python routine for visualizing the data.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/dataExchangeModel.html b/doc/_build/html/dataExchangeModel.html new file mode 100644 index 0000000..7f9d5cb --- /dev/null +++ b/doc/_build/html/dataExchangeModel.html @@ -0,0 +1,232 @@ + + + + + + + + + + + dataExchangeModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • dataExchangeModel command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

dataExchangeModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
dataExchangeModel model;
+
+
+
    +
  • model = name of data exchange model to be applied
  • +
+
+
+

Examples¶

+
dataExchangeModel twoWayFiles;
+dataExchangeModel twoWayMPI;
+
+
+

Note: This examples list might not be complete - please look for other models (dataExchangeModel_XY) in this documentation.

+
+
+

Description¶

+

The data exchange model performs the data exchange between the DEM code and the CFD code.

+
+
+

Restrictions¶

+

None.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/dataExchangeModel_noDataExchange.html b/doc/_build/html/dataExchangeModel_noDataExchange.html new file mode 100644 index 0000000..c5d9e7e --- /dev/null +++ b/doc/_build/html/dataExchangeModel_noDataExchange.html @@ -0,0 +1,226 @@ + + + + + + + + + + + dataExchangeModel_noDataExchange command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • dataExchangeModel_noDataExchange command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

dataExchangeModel_noDataExchange command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
dataExchangeModel noDataExchange;
+
+
+
+
+

Examples¶

+
dataExchangeModel noDataExchange;
+
+
+
+
+

Description¶

+

The data exchange model performs the data exchange between the DEM code and the CFD code. The noDataExchange model is a dummy model where no data is exchanged.

+
+
+

Restrictions¶

+

None.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/dataExchangeModel_oneWayVTK.html b/doc/_build/html/dataExchangeModel_oneWayVTK.html new file mode 100644 index 0000000..12de7e5 --- /dev/null +++ b/doc/_build/html/dataExchangeModel_oneWayVTK.html @@ -0,0 +1,246 @@ + + + + + + + + + + + dataExchangeModel_oneWayVTK command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • dataExchangeModel_oneWayVTK command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

dataExchangeModel_oneWayVTK command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
dataExchangeModel oneWayVTK;
+oneWayVTKProps
+{
+    DEMts timeStep;
+    relativePath "path";
+    couplingFilename "filename";
+    maxNumberOfParticles number;
+};
+
+
+
    +
  • timeStep = time step size of stored DEM data
  • +
  • path = path to the VTK data files relative do simulation directory
  • +
  • filename = filename of the VTK file series
  • +
  • number = maximum number of particles in DEM simulation
  • +
+
+
+

Examples¶

+
dataExchangeModel oneWayVTK;
+oneWayVTKProps
+{
+    DEMts 0.0001;
+    relativePath "../DEM/post";
+    couplingFilename "vtk_out%4.4d.vtk";
+    maxNumberOfParticles 30000;
+}
+
+
+
+
+

Description¶

+

The data exchange model performs the data exchange between the DEM code and the CFD code. The oneWayVTK model is a model that can exchange particle properties from DEM to CFD based on previously stored VTK data.

+
+
+

Restrictions¶

+

None.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/dataExchangeModel_twoWayFiles.html b/doc/_build/html/dataExchangeModel_twoWayFiles.html new file mode 100644 index 0000000..2a678fe --- /dev/null +++ b/doc/_build/html/dataExchangeModel_twoWayFiles.html @@ -0,0 +1,242 @@ + + + + + + + + + + + dataExchangeModel_twoWayFiles command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • dataExchangeModel_twoWayFiles command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

dataExchangeModel_twoWayFiles command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
dataExchangeModel twoWayFiles;
+twoWayFilesProps
+{
+    couplingFilename "filename";
+    maxNumberOfParticles scalar1;
+    DEMts scalar2;
+};
+
+
+
    +
  • filename = filename of the VTK file series
  • +
  • scalar1 = maximum number of particles in DEM simulation
  • +
  • scalar2 = DEM time step width
  • +
+
+
+

Examples¶

+
dataExchangeModel twoWayFiles;
+twoWayFilesProps
+{
+    couplingFilename "vtk_out%4.4d.vtk";
+    maxNumberOfParticles 30000;
+}
+
+
+
+
+

Description¶

+

The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayFiles model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via files that are sequentially written/read by the codes.

+
+
+

Restrictions¶

+

Developed only for two processors, one for DEM and one for CFD run.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/dataExchangeModel_twoWayMPI.html b/doc/_build/html/dataExchangeModel_twoWayMPI.html new file mode 100644 index 0000000..7b4f1d0 --- /dev/null +++ b/doc/_build/html/dataExchangeModel_twoWayMPI.html @@ -0,0 +1,237 @@ + + + + + + + + + + + dataExchangeModel_twoWayMPI command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • dataExchangeModel_twoWayMPI command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

dataExchangeModel_twoWayMPI command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
dataExchangeModel twoWayMPI;
+twoWayMPIProps
+{
+    liggghtsPath "path";
+};
+
+
+
    +
  • path = path to the DEM simulation input file
  • +
+
+
+

Examples¶

+
dataExchangeModel twoWayMPI;
+twoWayMPIProps
+{
+    liggghtsPath "../DEM/in.liggghts_init";
+}
+
+
+
+
+

Description¶

+

The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayMPI model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via MPI technique. The DEM run is executed by the coupling model, via a liggghtsCommandModel object.

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel.html b/doc/_build/html/forceModel.html new file mode 100644 index 0000000..d05ee34 --- /dev/null +++ b/doc/_build/html/forceModel.html @@ -0,0 +1,240 @@ + + + + + + + + + + + forceModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+ +
+ +
+
+
+ +
+

forceModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    model_x
+    model_y
+);
+
+
+
    +
  • model = name of force model to be applied
  • +
+
+
+

Examples¶

+
forceModels
+(
+    Archimedes
+    DiFeliceDrag
+);
+
+
+

Note: This examples list might not be complete - please look for other models (forceModel_XY) in this documentation.

+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. All force models selected are executed sequentially and the forces on the particles are superposed. If the fluid density field is needed, by default a field named “rho” will be used. Via the forceSubModel an alternative field can be chosen.

+
+
+

Restrictions¶

+

Most force models are ready to be used with coarse graining. If any force model used in the simulation is not ready for coarse graining, but is used with coarse graining, a warning is written to the terminal (log file). Setting a flag “cgWarnOnly false;” in coupling properties, the simulation will be stopped if there is a violation.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_Archimedes.html b/doc/_build/html/forceModel_Archimedes.html new file mode 100644 index 0000000..78fbd1c --- /dev/null +++ b/doc/_build/html/forceModel_Archimedes.html @@ -0,0 +1,251 @@ + + + + + + + + + + + forceModel_Archimedes command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_Archimedes command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_Archimedes command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    Archimedes
+);
+ArchimedesProps
+{
+    gravityFieldName "gravity";
+    twoDimensional;
+    suppressProbe   switch1;
+    treatForceDEM   switch2;
+    verbose         switch3;
+};
+
+
+
    +
  • gravity = name of the finite volume gravity field
  • +
  • twoDimensional = optional keyword for conducting a two dimensional calculation
  • +
  • switch1 = (optional, default false) can be used to suppress the output of the probe model
  • +
  • switch2 = (optional, default true) sub model switch, see forceSubModel for details
  • +
  • switch3 = (optional, default false) sub model switch, see forceSubModel for details
  • +
+
+
+

Examples¶

+
forceModels
+(
+    Archimedes
+);
+ArchimedesProps
+{
+    gravityFieldName "g";
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The Archimedes model is a model that calculates the Archimedes’ volumetric lift force stemming from density difference of fluid and particle.

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_ArchimedesIB.html b/doc/_build/html/forceModel_ArchimedesIB.html new file mode 100644 index 0000000..07aaa06 --- /dev/null +++ b/doc/_build/html/forceModel_ArchimedesIB.html @@ -0,0 +1,250 @@ + + + + + + + + + + + forceModel_ArchimedesIB command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_ArchimedesIB command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_ArchimedesIB command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    ArchimedesIB
+);
+ArchimedesIBProps
+{
+    gravityFieldName "gravity";
+    voidfractionFieldName "voidfraction";
+    twoDimensional;
+    treatForceExplicit  switch1;
+};
+
+
+
    +
  • gravity = name of the finite volume gravity field
  • +
  • voidfraction = name of the finite volume voidfraction field
  • +
  • twoDimensional = optional keyword for conducting a two dimensional calculation
  • +
  • switch1 = (optional, default true) sub model switch, see forceSubModel for details
  • +
+
+
+

Examples¶

+
forceModels
+(
+    ArchimedesIB
+);
+ArchimedesIBProps
+{
+    gravityFieldName "g";
+    voidfractionFieldName "voidfractionNext";
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The ArchimedesIB model is a model that calculates the ArchimedesIB’ volumetric lift force stemming from density difference of fluid and particle. This model is especially suited for resolved CFD-DEM simulations where the particle is represented by immersed boundary method.

+
+
+

Restrictions¶

+

Only for immersed boundary solvers.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_DiFeliceDrag.html b/doc/_build/html/forceModel_DiFeliceDrag.html new file mode 100644 index 0000000..d223c63 --- /dev/null +++ b/doc/_build/html/forceModel_DiFeliceDrag.html @@ -0,0 +1,270 @@ + + + + + + + + + + + forceModel_DiFeliceDrag command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_DiFeliceDrag command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_DiFeliceDrag command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    DiFeliceDrag
+);
+DiFeliceDragProps
+{
+    velFieldName "U";
+    voidfractionFieldName "voidfraction";
+    granVelFieldName "Us";
+    interpolation switch1;
+    voidfractionInterpolationType "type1";
+    UInterpolationType "type2";
+    suppressProbe       switch2;
+    scale               scalar1;
+    scaleDrag           scalar2;
+    treatForceExplicit  switch3;
+    implForceDEM        switch4;
+    verbose             switch5;
+    scalarViscosity     switch6;
+    nu                  scalar3;
+};
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • voidfraction = name of the finite volume voidfraction field
  • +
  • Us = name of the finite volume granular velocity field
  • +
  • switch1 = (optional, normally off) flag to use interpolated voidfraction and velocity values
  • +
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field
  • +
  • type2 = (optional, default cellPointFace) interpolation type for velocity field
  • +
  • switch2 = (optional, default false) can be used to suppress the output of the probe model
  • +
  • scalar1 = (optional) scaling of particle diameter
  • +
  • scalar2 = (optional) scaling of drag law
  • +
  • switch3 = sub model switch, see forceSubModel for details
  • +
  • switch4 = sub model switch, see forceSubModel for details
  • +
  • switch5 = sub model switch, see forceSubModel for details
  • +
  • switch6 = sub model switch, see forceSubModel for details
  • +
  • scalar3 = optional, only if switch6 is true
  • +
+
+
+

Examples¶

+
forceModels
+(
+    DiFeliceDrag
+);
+DiFeliceDragProps
+{
+    velFieldName "U";
+    interpolation true;
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The DiFeliceDrag model is a model that calculates the particle based drag force following the correlation of Di Felice (see Zhou et al. (2010), JFM).

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_GidaspowDrag.html b/doc/_build/html/forceModel_GidaspowDrag.html new file mode 100644 index 0000000..793b984 --- /dev/null +++ b/doc/_build/html/forceModel_GidaspowDrag.html @@ -0,0 +1,277 @@ + + + + + + + + + + + forceModel_GidaspowDrag command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_GidaspowDrag command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_GidaspowDrag command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    GidaspowDrag
+);
+GidaspowDragProps
+{
+    velFieldName "U";
+    voidfractionFieldName "voidfraction";
+    granVelFieldName "Us";
+    phi                 scalar1;
+    interpolation switch1;
+    voidfractionInterpolationType "type1"
+    UInterpolationType "type2"
+    implForceDEM        switch2;
+    suppressProbe       switch3;
+    scale               scalar2;
+    scaleDrag           scalar3;
+    switchingVoidfraction scalar4;
+    treatForceExplicit  switch4;
+    implForceDEM        switch5;
+    verbose             switch6;
+    scalarViscosity     switch7;
+    nu                  scalar5;
+};
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • voidfraction = name of the finite volume voidfraction field
  • +
  • Us = name of the finite volume cell averaged particle velocity field
  • +
  • scalar1 = drag correction factor (in doubt 1)
  • +
  • switch1 = (optional, default off) flag to use interpolated voidfraction and fluid velocity values
  • +
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field
  • +
  • type2 = (optional, default cellPointFace) interpolation type for velocity field
  • +
  • switch2 = (optional, default false) flag to use implicit formulation of drag on DEM side +switch3 = (optional, default false) can be used to suppress the output of the probe model
  • +
  • scalar2 = (optional) scaling of particle diameter
  • +
  • scalar3 = (optional) scaling of drag law
  • +
  • scalar4 = (optional) voidfraction above which dilute formulation will be used
  • +
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • switch5 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • switch6 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • switch7 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • scalar5 = (optional, default false) optional, only if switch6 is true
  • +
+
+
+

Examples¶

+
forceModels
+(
+    GidaspowDrag
+);
+GidaspowDragProps
+{
+    velFieldName "U";
+    voidfractionFieldName "voidfraction";
+    granVelFieldName "Us";
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The GidaspowDrag model is a model that calculates the particle based drag force following the correlation of Gidaspow which is a combination of Ergun (1952) and Wen & Yu (1966) (see Zhu et al. (2007): “Discrete particle simulation of particulate systems: Theoretical developments”, ChemEngScience).

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_KochHillDrag.html b/doc/_build/html/forceModel_KochHillDrag.html new file mode 100644 index 0000000..3e598f0 --- /dev/null +++ b/doc/_build/html/forceModel_KochHillDrag.html @@ -0,0 +1,272 @@ + + + + + + + + + + + forceModel_KochHillDrag command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_KochHillDrag command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_KochHillDrag command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    KochHillDrag
+);
+KochHillDragProps
+{
+    velFieldName "U";
+    voidfractionFieldName "voidfraction";
+    granVelFieldName "Us"
+    interpolation       "switch1";
+    voidfractionInterpolationType "type1"
+    UInterpolationType  "type2"
+    implForceDEM        "switch2";
+    suppressProbe       "switch3";
+    scale               "scalar1";
+    scaleDrag           "scalar2";
+    treatForceExplicit  "switch4";
+    verbose             "switch5";
+    implForceDEMaccumulated "switch6";
+    scalarViscosity     "switch7";
+    nu                  "scalar3";
+};
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • voidfraction = name of the finite volume voidfraction field
  • +
  • Us = (optional) name of finite volume granular velocity field
  • +
  • switch1 = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values
  • +
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field
  • +
  • type2 = (optional, default cellPointFace) interpolation type for velocity field
  • +
  • switch2 = (optional, normally off) flag to use implicit formulation of drag on DEM side +switch3 = (optional, default false) can be used to suppress the output of the probe model
  • +
  • scalar1 = (optional) scaling of particle diameter
  • +
  • scalar2 = (optional) scaling of drag law
  • +
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • switch5 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • switch6 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • switch7 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • scalar3 = optional, only if switch7 is true
  • +
+
+
+

Examples¶

+
forceModels
+(
+    KochHillDrag
+);
+KochHillDragProps
+{
+    velFieldName "U";
+    voidfractionFieldName "voidfraction";
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The KochHillDrag model is a model that calculates the particle based drag force following the correlation of Koch & Hill (2001) (see van Buijtenen et al. (2011): “Numerical and experimental study on multiple-spout fluidized beds”, ChemEngScience).

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_LaEuScalarTemp.html b/doc/_build/html/forceModel_LaEuScalarTemp.html new file mode 100644 index 0000000..527e766 --- /dev/null +++ b/doc/_build/html/forceModel_LaEuScalarTemp.html @@ -0,0 +1,279 @@ + + + + + + + + + + + forceModel_LaEuScalarTemp command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_LaEuScalarTemp command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_LaEuScalarTemp command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    LaEuScalarTemp
+);
+LaEuScalarTempProps
+{
+    velFieldName "U";
+    tempFieldName "T";
+    voidfractionFieldName "voidfraction";
+    partTempName "Temp";
+    partHeatFluxName "convectiveHeatFlux";
+    partHeatTransCoeffName "heatTransCoeff";
+    partHeatFluidName "heatFluid";
+    lambda scalar1;
+    Cp scalar2;
+    interpolation switch1;
+    TInterpolationType "type1"
+    verbose switch2;
+    maxSource scalar3;
+    scale scalar4;
+    scalarViscosity switch3;
+    nu scalar5;
+};
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • T = name of the finite volume scalar temperature field
  • +
  • voidfraction = name of the finite volume voidfraction field
  • +
  • Temp = name of the DEM data representing the particles temperature
  • +
  • convectiveHeatFlux = name of the DEM data representing the particle-fluid convective heat flux
  • +
  • heatTransCoeff = name of heat transfer coefficient
  • +
  • heatFluid = +scalar1 = fluid thermal conductivity [W/(m*K)]
  • +
  • scalar2 = fluid specific heat capacity [W*s/(kg*K)]
  • +
  • switch1 = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values
  • +
  • type1 = (optional, default cellPoint) interpolation type for T field
  • +
  • switch2 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • scalar3 = (optional) limit maximal turbulence
  • +
  • scalar4 = scaling of particle diameter
  • +
  • switch3 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • scalar5 = optional, only if switch3 is true
  • +
+
+
+

Examples¶

+
forceModels
+(
+    LaEuScalarTemp
+);
+LaEuScalarTempProps
+{
+    velFieldName "U";
+    tempFieldName "T";
+    voidfractionFieldName "voidfraction";
+    partTempName "Temp";
+    partHeatFluxName "convectiveHeatFlux";
+    lambda 0.0256;
+    Cp 1007;
+}
+
+
+
+
+

Description¶

+

This “forceModel” does not influence the particles or the fluid flow! Using the particles’ temperature a scalar field representing “particle-fluid heatflux” is calculated. The solver then uses this source field in the scalar transport equation for the temperature. The model for convective heat transfer is based on Li and Mason (2000), A computational investigation of transient heat transfer in pneumatic transport of granular particles, Pow.Tech 112

+
+
+

Restrictions¶

+

Goes only with cfdemSolverScalar. The force model has to be the second (!!!) model in the forces list.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_MeiLift.html b/doc/_build/html/forceModel_MeiLift.html new file mode 100644 index 0000000..e74b9e0 --- /dev/null +++ b/doc/_build/html/forceModel_MeiLift.html @@ -0,0 +1,262 @@ + + + + + + + + + + + forceModel_MeiLift command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_MeiLift command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_MeiLift command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    MeiLift
+);
+MeiLiftProps
+{
+    velFieldName "U";
+    useSecondOrderTerms;
+    interpolation switch1;
+    vorticityInterpolationType "type1"
+    UInterpolationType "type2"
+    verbose switch2;
+    treatForceExplicit switch3;
+    scalarViscosity switch4;
+    nu scalar1;
+};
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • useSecondOrderTerms = switch to activate second order terms in the lift force model
  • +
  • switch1 = switch to activate tri-linear interpolation of the flow quantities at the particle position
  • +
  • type1 = (optional, default cellPoint) interpolation type for vorticity field
  • +
  • type2 = (optional, default cellPointFace) interpolation type for velocity field
  • +
  • switch2 = switch to activate the report of per-particle quantities to the screen
  • +
  • switch3 = (optional, default true) sub model switch, see forceSubModel for details
  • +
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • scalar1 = optional, only if switch4 is true
  • +
+
+
+

Examples¶

+
forceModels
+(
+    MeiLift
+);
+MeiLiftProps
+{
+    velFieldName "U";
+    useSecondOrderTerms;
+    interpolation true;
+    verbose true;
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The MeiLift model calculates the lift force for each particle based on Loth and Dorgan (2009). In case the keyword “useSecondOrderTerms” is not specified, this lift force model uses the expression of McLaughlin (1991, Journal of Fluid Mechanics 224:261-274).

+
+
+

Restrictions¶

+

None.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_SchillerNaumannDrag.html b/doc/_build/html/forceModel_SchillerNaumannDrag.html new file mode 100644 index 0000000..bd3043c --- /dev/null +++ b/doc/_build/html/forceModel_SchillerNaumannDrag.html @@ -0,0 +1,253 @@ + + + + + + + + + + + forceModel_SchillerNaumannDrag command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_SchillerNaumannDrag command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_SchillerNaumannDrag command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    SchillerNaumannDrag
+);
+SchillerNaumannDragProps
+{
+    velFieldName "U";
+    voidfractionFieldName "voidfraction";
+    interpolation "bool1";
+    voidfractionInterpolationType "type1"
+    UInterpolationType "type2"
+    implForceDEM "bool2";
+};
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • voidfraction = name of the finite volume voidfraction field
  • +
  • bool1 = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values
  • +
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field
  • +
  • type2 = (optional, default cellPointFace) interpolation type for velocity field
  • +
+

bool2 = (optional, normally off) flag to use implicit formulation of drag on DEM side:l

+
+
+

Examples¶

+
forceModels
+(
+    SchillerNaumannDrag
+);
+SchillerNaumannDragProps
+{
+    velFieldName "U";
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The SchillerNaumannDrag model is a model that calculates the particle based drag force following the correlation of Schiller and Naumann.

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_ShirgaonkarIB.html b/doc/_build/html/forceModel_ShirgaonkarIB.html new file mode 100644 index 0000000..8e49647 --- /dev/null +++ b/doc/_build/html/forceModel_ShirgaonkarIB.html @@ -0,0 +1,256 @@ + + + + + + + + + + + forceModel_ShirgaonkarIB command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_ShirgaonkarIB command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_ShirgaonkarIB command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    ShirgaonkarIB
+);
+ShirgaonkarIBProps
+{
+    velFieldName "U";
+    pressureFieldName "p";
+    twoDimensional;
+    depth scalar1;
+    verbose switch1;
+    treatForceExplicit switch2;
+};
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • p = name of the finite volume pressure field
  • +
  • twoDimensional = optional keyword for conducting a two dimensional calculation
  • +
  • scalar1 = optional, only necessary if twoDimensional is active
  • +
  • switch1 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • switch2 = (optional, default false) sub model switch, see forceSubModel for details
  • +
+
+
+

Examples¶

+
forceModels
+(
+    ShirgaonkarIB
+);
+ShirgaonkarIBProps
+{
+    velFieldName "U";
+    pressureFieldName "p";
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The ShirgaonkarIB model calculates the drag force (viscous and pressure force) acting on each particle in a resolved manner (see Shirgaonkar et al. (2009): “A new mathematical formulation and fast algorithm for fully resolved simulation of self-propulsion”, Journal of Comp. Physics). This model is only suited for resolved CFD-DEM simulations where the particle is represented by immersed boundary method.

+

References:

+

SHIRGAONKAR, A.A., MACIVER, M.A. and PATANKAR, N.A., (2009), “A new mathematical formulation and fast algorithm for fully resolved simulation of self-propulsionâ€, J. Comput. Phys., 228, 2366-2390.

+
+
+

Restrictions¶

+

Only for immersed boundary solvers.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_checkCouplingInterval.html b/doc/_build/html/forceModel_checkCouplingInterval.html new file mode 100644 index 0000000..dba9031 --- /dev/null +++ b/doc/_build/html/forceModel_checkCouplingInterval.html @@ -0,0 +1,259 @@ + + + + + + + + + + + forceModel_checkCouplingInterval command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_checkCouplingInterval command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_checkCouplingInterval command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    checkCouplingInterval
+);
+checkCouplingIntervalProps
+{
+    warnOnly                    bool1;
+    velocityFieldName           word1;
+    rhoP                        scalar1;
+    maxCFL                      scalar2;
+    maxAccNr                    scalar3;
+    UmaxExpected                scalar4;
+    minAllowedVcellByVparcel    scalar5;
+    timeInterval                scalar6;
+};
+
+
+
    +
  • bool1 = (optional, default true) switch to warn or stop simulation if criterion is broken.
  • +
  • word1 = (optional, default U) name of velocity field.
  • +
  • scalar1 = particle density assumed for calculation of the particle relaxation time
  • +
  • scalar2 = (optional, default=50) maximum allowed CFL number.
  • +
  • scalar3 = (optional, default=0.1) maximum allowed ratio of coupling time to particle relaxation time.
  • +
  • scalar4 = maximum expected velocity fluid velocity (e.g. due to BCs) - used for CFL estimation.
  • +
  • scalar5 = (optional, default=3) min allowed volume ratio of cell / particle.
  • +
  • scalar6 = (optional, default=coupling time) interval of execution.
  • +
+
+
+

Examples¶

+
forceModels
+(
+    checkCouplingInterval
+);
+checkCouplingIntervalProps
+{
+    rhoP 2500;
+    UmaxExpected 10;
+    timeInterval 0.002;
+}
+
+
+
+
+

Description¶

+

This “forceModel” does not influence the particles or the simulation - it is a postprocessing tool! At the first coupling step and at every time interval several criteria are checked: (i) The acceleration number is defined as the ratio of DEMtime/particleRelaxationTime, where DEMtime is DEM time step size * coupling interval. The acceleration nr should be smaller than ~0.1. (ii) The Courant Number (CFL). If the CFL number exceeds a reasonable value the quality of the result becomes bad - therefore the simulation settings should be changed. (iii) The ratio of smallest cell biggest particle volume. Typically this should be larger than 3. (iiii) The minimum and maximum Stokes Number. For the criteria (i)-(iii) the user can define its own allowed bounds and with the flag “warnOnly” the user can choose if the simulation should be stopped or if just a warning is given if a criterion is broken.

+
+
+

Restrictions¶

+

needs MPI based dataExchange model - e.g. oneWayVTK will not work.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_fieldStore.html b/doc/_build/html/forceModel_fieldStore.html new file mode 100644 index 0000000..be2947d --- /dev/null +++ b/doc/_build/html/forceModel_fieldStore.html @@ -0,0 +1,258 @@ + + + + + + + + + + + forceModel_fieldStore command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_fieldStore command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_fieldStore command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    fieldStore
+);
+fieldStoreProps
+{
+    scalarFieldNames
+    (
+        "scalarField"
+    );
+    vectorFieldNames
+    (
+        "vectorField"
+    );
+};
+
+
+
    +
  • scalarField = names of the finite volume scalar fields to be stored
  • +
  • vectorField = names of the finite volume vector fields to be stored
  • +
+
+
+

Examples¶

+
forceModels
+(
+    fieldStore
+);
+fieldStoreProps
+{
+    scalarFieldNames
+    (
+        "voidfraction"
+    );
+    vectorFieldNames
+    (
+        "U"
+    );
+}
+
+
+
+
+

Description¶

+

This “forceModel” does not influence the particles or the flow - it is a tool to store a scalar/vector field! This is especially useful if you use a boundary condition which cannot interpreted correctly in your postporcessor (e.g. paraview).

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_fieldTimeAverage.html b/doc/_build/html/forceModel_fieldTimeAverage.html new file mode 100644 index 0000000..65dc1ef --- /dev/null +++ b/doc/_build/html/forceModel_fieldTimeAverage.html @@ -0,0 +1,261 @@ + + + + + + + + + + + forceModel_fieldTimeAverage command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_fieldTimeAverage command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_fieldTimeAverage command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    fieldTimeAverage
+);
+fieldTimeAverageProps
+{
+    startTime time;
+    scalarFieldNames
+    (
+        "scalarField"
+    );
+    vectorFieldNames
+    (
+        "vectorField"
+    );
+};
+
+
+
    +
  • time = (optional) time to start temporal averaging
  • +
  • scalarField = names of the finite volume scalar fields to be temporally averaged
  • +
  • vectorField = names of the finite volume vector fields to be temporally averaged
  • +
+
+
+

Examples¶

+
forceModels
+(
+    fieldTimeAverage
+);
+fieldTimeAverageProps
+{
+    startTime 1.0;
+    scalarFieldNames
+    (
+        "voidfraction"
+    );
+    vectorFieldNames
+    (
+        "Us"
+    );
+}
+
+
+
+
+

Description¶

+

This “forceModel” does not influence the particles or the simulation - it is a postprocessing tool! Starting at start time the specified fields are temporally averaged and written at “writeTime”. They can then be probed using standard function object probes. The output name is timeAverage_scalarField, where scalarField is the name of the original field.

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_gradPForce.html b/doc/_build/html/forceModel_gradPForce.html new file mode 100644 index 0000000..c288180 --- /dev/null +++ b/doc/_build/html/forceModel_gradPForce.html @@ -0,0 +1,259 @@ + + + + + + + + + + + forceModel_gradPForce command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_gradPForce command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_gradPForce command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    gradPForce;
+);
+gradPForceProps
+{
+    pFieldName "pressure";
+    velocityFieldName "U";
+    interpolation       switch1;
+    gradPInterpolationType "type1"
+    useAddedMass        scalar1;
+    suppressProbe       switch2;
+    treatForceExplicit  switch3;
+    treatForceDEM       switch4;
+};
+
+
+
    +
  • pressure = name of the finite volume fluid pressure field
  • +
  • U = name of the finite volume fluid velocity field
  • +
  • switch1 = flag to use interpolated pressure values (normally off)
  • +
  • type1 = (optional, default cellPointFace) interpolation type for grad(p) field
  • +
  • useAddedMass = (optional) coefficient of added mass accounted for
  • +
  • switch2 = (optional, default false) can be used to suppress the output of the probe model
  • +
  • switch3 = (optional, default true) sub model switch, see forceSubModel for details
  • +
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details
  • +
+
+
+

Examples¶

+
forceModels
+(
+    gradPForce;
+);
+gradPForceProps
+{
+    pFieldName "p";
+    velocityFieldName "U";
+    interpolation true;
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The gradPForce model is a model that calculates the particle based pressure gradient force -(grad(p)) * Vparticle (see Zhou et al. (2010): “Discrete particle simulation of particle-fluid flow: model formulations and their applicability” ,JFM).

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_noDrag.html b/doc/_build/html/forceModel_noDrag.html new file mode 100644 index 0000000..d56b181 --- /dev/null +++ b/doc/_build/html/forceModel_noDrag.html @@ -0,0 +1,251 @@ + + + + + + + + + + + forceModel_noDrag command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_noDrag command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_noDrag command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    noDrag
+);
+
+
+

noDragProps +{

+
+
noDEMForce “switch1”; +keepCFDForce “switch2”; +treatForceExplicit “switch3”;
+

}

+
    +
  • switch1 = (optional, default false) do not apply the previously calculated forces in DEM integration
  • +
  • switch2 = (optional, default false) do not delete the previously calculated forces and use them in CFD source terms
  • +
  • switch3 = (optional, default false) sub model switch, see forceSubModel for details
  • +
+
+
+

Examples¶

+
forceModels
+(
+    noDrag
+);
+
+
+
noDragProps
+{
+    noDEMForce true;
+    keepCFDForce false;
+};
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The noDrag model sets the forces acting on the particle (which were previously caclulated) to zero. If several force models are selected and noDrag is the last model being executed, the fluid particle force will be set to zero. If the variable noDEMForce is set, then the forces communicated to the DEM solver are also set to zero.

+
+
+

Restrictions¶

+

None.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_particleCellVolume.html b/doc/_build/html/forceModel_particleCellVolume.html new file mode 100644 index 0000000..239930c --- /dev/null +++ b/doc/_build/html/forceModel_particleCellVolume.html @@ -0,0 +1,254 @@ + + + + + + + + + + + forceModel_particleCellVolume command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_particleCellVolume command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_particleCellVolume command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    particleCellVolume
+);
+particleCellVolumeProps
+{
+    verbose switch1;
+    writeToFile switch2;
+    startTime number1;
+    upperThreshold number2;
+    lowerThreshold number3;
+    verbose;
+};
+
+
+
    +
  • switch1 = (optional, default true) switch for output to screen
  • +
  • switch2 = (optional, default false) switch for output to file
  • +
  • number1 = (optional, default 0) start time of volume calculation and output
  • +
  • number2 = only cells with a field value (magnitude) lower than this upper threshold are considered
  • +
  • number3 = only cells with a field value (magnitude) greater than this lower threshold are considered
  • +
+
+
+

Examples¶

+
forceModels
+(
+    particleCellVolume
+);
+particleCellVolumeProps
+{
+    upperThreshold 0.999;
+    lowerThreshold 0;
+}
+
+
+
+
+

Description¶

+

This “forceModel” does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles as they are represented on the CFD mesh is calculated. Further the total volume of the cells particles are in is calculated. +At “writeTime” a field named particleCellVolume , where scalarField is the name of the original field, is written. This can then be probed using standard function object probes. Analogously a field named cellVolume is written. Using the verbose option a screen output is given.

+
+
+

Restrictions¶

+

None.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_particleVolume.html b/doc/_build/html/forceModel_particleVolume.html new file mode 100644 index 0000000..20fd1cf --- /dev/null +++ b/doc/_build/html/forceModel_particleVolume.html @@ -0,0 +1,249 @@ + + + + + + + + + + + forceModel_particleVolume command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_particleVolume command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_particleVolume command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    particleVolume
+);
+particleVolumeProps
+{
+    verbose switch1;
+    writeToFile switch2;
+    scale scalar1;
+    startTime scalar2;
+};
+
+
+
    +
  • switch1 = (optional, default false) switch for output to screen
  • +
  • switch2 = (optional, default true) switch for output to file
  • +
  • scalar1 = (optional, default 1) scaling of the particle volume d=dSphere/scale
  • +
  • scalar2 = (optional, default 0) start time of volume calculation and output
  • +
+
+
+

Examples¶

+
forceModels
+(
+    particleVolume
+);
+particleVolumeProps
+{
+    writeToFile false;
+}
+
+
+
+
+

Description¶

+

This “forceModel” does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles is calculated.

+
+
+

Restrictions¶

+

None.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_scalarGeneralExchange.html b/doc/_build/html/forceModel_scalarGeneralExchange.html new file mode 100644 index 0000000..a9eab9e --- /dev/null +++ b/doc/_build/html/forceModel_scalarGeneralExchange.html @@ -0,0 +1,372 @@ + + + + + + + + + + + forceModel_scalarGeneralExchange command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_scalarGeneralExchange command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_scalarGeneralExchange command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    scalarGeneralExchange  // must be 2nd position!
+);
+scalarGeneralExchangeProps
+{
+    useLiMason "switch1"; //default: DeenEtAl
+    useGeneralCorrelation "switch3"; //default: DeenEtAl
+    generalCorrelationParameters (1 2 3 4 5 6 7 8);
+    verbose "switch2";
+    velFieldName "U";
+    voidfractionFieldName "voidfraction";
+    tempFieldName "T";
+    partTempName "Temp";
+    /* partHeatFluxName "convectiveHeatFlux"; //switch off for implicit coupling, e.g., to ParScale */
+    partHeatTransCoeffName "heatTransCoeff";
+    partHeatFluidName "heatFluid";
+    lambda value;
+    Cp value1;
+    //Lists with information for each species FOR THE PARTICLES
+    //MUST be in the same order as eulerian species in 'scalarTransportProperties'
+    //MUST correspond to property/atom in ligghts (use 'couple/cfd/speciesConvection' to auto-generate individual fields)
+    partSpeciesNames
+    (
+    speciesC
+    );
+    partSpeciesFluxNames
+    (
+    speciesCFlux
+    );
+    partSpeciesTransCoeffNames
+    (
+    speciesCTransCoeff
+    );
+    partSpeciesFluidNames
+    (
+    speciesCFluid
+    );
+    DMolecular
+    (
+    value2
+    );
+    interpolation "bool1";
+    voidfractionInterpolationType "type1"
+    UInterpolationType "type2"
+    fluidScalarFieldInterpolationType "type2"
+    scalarViscosity switch5;
+    nu scalar5;
+    suppressProbe switch6;
+    scale scalar6;
+    maxSource scalar7;
+}
+
+
+
    +
  • switch1 = (optional) flag to use Nusselt correlations of Li and Mason (2000)
  • +
  • switch2 = (normally off) for verbose run
  • +
  • switch3 = (optional) flag to use a general Nusselt number correlation (must specify parameters of this correlation in a list called ‘generalCorrelationParameters’ )
  • +
  • generalCorrelationParameters = list with a predefined number of parameters (for length see src code, only read if useGeneralCorrelation is set to true)
  • +
  • U = name of the finite volume fluid velocity field
  • +
  • voidfraction = name of the finite volume voidfraction field
  • +
  • T = name of the finite volume scalar temperature field
  • +
  • Temp = name of the DEM data representing the particles temperature
  • +
  • convectiveHeatFlux = name of the DEM data representing the particle-fluid convective heat flux
  • +
  • heatTransCoeff = name of the DEM data representing the particle-fluid heat transfer coefficient
  • +
  • heatFluid = name of the DEM data representing the fluid heat
  • +
  • value = fluid thermal conductivity [W/(m*K)]
  • +
  • value1 = fluid specific heat capacity [W*s/(kg*K)]
  • +
  • speciesC = name of the DEM data representing the transport species of the particles
  • +
  • speciesCFlux = name of the DEM data representing the particle-fluid species flux
  • +
  • speciesCTransCoeff = name of the DEM data representing the particle-fluid species transfer coefficient
  • +
  • speciesCFluid = name of the DEM data representing the transport species of the fluid
  • +
  • value2 = molecular diffusion coefficient [m^2/s]
  • +
  • bool1 = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values
  • +
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field
  • +
  • type2 = (optional, default cellPointFace) interpolation type for velocity field
  • +
  • type3 = (optional, default cellPoint) interpolation type for fluidScalarField field
  • +
  • switch5 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • scalar5 = (optional) optional, only if switch5 is true
  • +
  • switch6 = (optional, default false) can be used to suppress the output of the probe model
  • +
  • scalar7 = (optional) scaling of particle diameter
  • +
  • scalar7 = limit maximal turbulence
  • +
+
+
+

Examples¶

+
forceModels
+(
+    scalarGeneralExchange  // must be 2nd position!
+);
+scalarGeneralExchangeProps
+{
+    useLiMason false; //default: DeenEtAl
+    useGeneralCorrelation true; //default: DeenEtAl
+    generalCorrelationParameters
+    (
+     7.0 -10 5
+     1.0 0.17
+     1.33 -2.31 1.16
+    );
+    verbose false;
+    velFieldName "U";
+    voidfractionFieldName "voidfraction";
+    tempFieldName "T";
+    partTempName "Temp";
+    /* partHeatFluxName "convectiveHeatFlux"; //switch off for implicit coupling, e.g., to ParScale */
+    partHeatTransCoeffName "heatTransCoeff";
+    partHeatFluidName "heatFluid";
+    lambda 0.0271;
+    Cp 1007;
+    //Lists with information for each species FOR THE PARTICLES
+    //MUST be in the same order as eulerian species in 'scalarTransportProperties'
+    //MUST correspond to property/atom in ligghts (use 'couple/cfd/speciesConvection' to auto-generate individual fields)
+    partSpeciesNames
+    (
+    speciesC
+    );
+    partSpeciesFluxNames
+    (
+    speciesCFlux
+    );
+    partSpeciesTransCoeffNames
+    (
+    speciesCTransCoeff
+    );
+    partSpeciesFluidNames
+    (
+    speciesCFluid
+    );
+    DMolecular
+    (
+    1e-5
+    );
+}
+
+
+
+
+

Description¶

+

This “forceModel” does not influence the particles or the fluid flow! +Using the particles’ temperature and/or species a scalar field +representing “particle-fluid heatflux” and/or “particle-fluid speciesflux” is calculated.

+

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).

+

Two way general scalar exchange between DEM and CFD +convective heat and species transfer model. The standard model is that of +Deen, N.G. et al., Review of direct numerical simulation of +fluid-particle mass, momentum and heat transfer in dense gas-solid flows. +Chemical Engineering Science 116 (2014) 710-724. +This correlation is based on that of Gunn (1978).

+

The switch ‘useGeneralCorrelation’ allows one to specify the parameters +of the Gunn correlation as a list called ‘generalCorrelationParameters’.

+

Alternatively, the correclation of +Li and Mason (2000), A computational investigation of transient heat +transfer in pneumatic transport of granular particles, Pow.Tech 112 +can be activated. However, this correlation is not suitable for +dense granular flows.

+

WARNING: +This model REQUIRES the ‘generalManual’ speciesTransportModel

+
+
+

Restrictions¶

+

Goes only with cfdemSolverPimpleImEx and cfdemSolverPisoSTM. The force model has to be the second (!!!) model in the forces list.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_virtualMassForce.html b/doc/_build/html/forceModel_virtualMassForce.html new file mode 100644 index 0000000..0393dd4 --- /dev/null +++ b/doc/_build/html/forceModel_virtualMassForce.html @@ -0,0 +1,259 @@ + + + + + + + + + + + forceModel_virtualMassForce command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_virtualMassForce command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_virtualMassForce command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    virtualMassForce
+);
+virtualMassForceProps
+{
+    velFieldName "U";
+    phiFieldName "phi";
+    splitUrelCalculation switch1;
+    Cadd scalar1;
+    treatForceExplicit switch2;
+    treatForceDEM switch3;
+    interpolation switch4;
+    UInterpolationType "type1"
+    DDtUInterpolationType "type2"
+};
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • phi = name of the finite volume flux field
  • +
  • switch1 = indicator to split calculation of Urel between CFDEM and LIGGGHTS
  • +
  • scalar1 = scalar value
  • +
  • switch2 = (optional, default true) sub model switch, see forceSubModel for details
  • +
  • switch3 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • type1 = (optional, default cellPointFace) interpolation type for U field
  • +
  • type2 = (optional, default cellPointFace) interpolation type for ddt(U) field
  • +
+
+
+

Examples¶

+
forceModels
+(
+    virtualMassForce
+);
+virtualMassForceProps
+{
+    velFieldName "U";
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The virtualMassForce model calculates the virtual mass force for each particle.

+
+
+

Restrictions¶

+

Model not validated!

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_viscForce.html b/doc/_build/html/forceModel_viscForce.html new file mode 100644 index 0000000..db4206d --- /dev/null +++ b/doc/_build/html/forceModel_viscForce.html @@ -0,0 +1,259 @@ + + + + + + + + + + + forceModel_viscForce command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_viscForce command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_viscForce command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    viscForce;
+);
+viscForceProps
+{
+    velocityFieldName "U";
+    useAddedMass scalar1;
+    suppressProbe switch1;
+    treatForceExplicit switch2;
+    treatForceDEM switch3;
+    interpolation switch4;
+    divTauInterpolationType "type1";
+    scalarViscosity switch5;
+    nu scalar2;
+};
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • scalar1 = (optional) coefficient of added mass accounted for
  • +
  • switch1 = (optional, default false) can be used to suppress the output of the probe model
  • +
  • switch2 = (optional, default true) sub model switch, see forceSubModel for details
  • +
  • switch3 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • type1 = (optional, default cellPointFace) interpolation type for div(Tau) field
  • +
  • switch5 = (optional, default false) sub model switch, see forceSubModel for details
  • +
  • scalar2 = optional, only if switch5 is true
  • +
+
+
+

Examples¶

+
forceModels
+(
+    viscForce;
+);
+viscForceProps
+{
+    velocityFieldName "U";
+}
+
+
+
+
+

Description¶

+

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The viscForce model calculates the particle based viscous force, -(grad(tau)) * Vparticle (see Zhou et al. (2010): “Discrete particle simulation of particle-fluid flow: model formulations and their applicability”, JFM).

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceModel_volWeightedAverage.html b/doc/_build/html/forceModel_volWeightedAverage.html new file mode 100644 index 0000000..90533d6 --- /dev/null +++ b/doc/_build/html/forceModel_volWeightedAverage.html @@ -0,0 +1,276 @@ + + + + + + + + + + + forceModel_volWeightedAverage command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceModel_volWeightedAverage command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceModel_volWeightedAverage command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
forceModels
+(
+    volWeightedAverage
+);
+volWeightedAverageProps
+{
+    startTime time;
+    scalarFieldNames
+    (
+        scalarField
+    );
+    vectorFieldNames
+    (
+        vectorField
+    );
+    upperThreshold scalar1;
+    lowerThreshold scalar2;
+    useVolumeFraction switch0;
+    volumeFractionName word1;
+    verbose ;
+    writeToFile switch1;
+};
+
+
+
    +
  • time = (optional, default 0.) time to start the averaging
  • +
  • scalarField = names of the finite volume scalar fields to be temporally averaged
  • +
  • vectorField = names of the finite volume vector fields to be temporally averaged
  • +
  • scalar1 = only cells with a field value (magnitude) lower than this upper threshold are considered
  • +
  • scalar2 = only cells with a field value (magnitude) greater than this lower threshold are considered
  • +
  • switch0 = (optional, default false) consider a volume fraction for the calculation
  • +
  • word1 = (optional, default “voidfraction”) name of the volume fraction, only used if useVolumeFraction is true
  • +
  • verbose = (optional, default false) keyword only (mostly used for debugging)
  • +
  • switch1 = (optional, default false) switch for the output.
  • +
+
+
+

Examples¶

+
forceModels
+(
+    volWeightedAverage
+);
+volWeightedAverageProps
+{
+    startTime 0.1;
+    scalarFieldNames
+    (
+        voidfraction
+    );
+    vectorFieldNames
+    (
+    );
+    upperThreshold 0.999;
+    lowerThreshold 0;
+}
+
+
+
+
+

Description¶

+

This “forceModel” does not influence the particles or the simulation - it is a postprocessing tool! Starting at start time +the volume weighted averages of those cells of the fields within the threshold are calculated. +At “writeTime” a field named volAverage_field , where scalarField is the name of the original field, is written. This can then be probed using standard function object probes.

+
+
+

Restrictions¶

+

Currently all fields have the same threshold value!

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceSubModel.html b/doc/_build/html/forceSubModel.html new file mode 100644 index 0000000..f1fe47e --- /dev/null +++ b/doc/_build/html/forceSubModel.html @@ -0,0 +1,252 @@ + + + + + + + + + + + forceSubModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceSubModel command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceSubModel command¶

+
+

Syntax¶

+

Defined in couplingProperties sub-dictionary of the force model in use. If no force sub-model is applied ImEx is used as default. If the keyword “forceSubModels” is provided, a choice of sub model is demanded.

+
forceSubModels
+(
+    model_x
+    model_y
+);
+
+
+
    +
  • model = name of force sub-model to be applied
  • +
+
+
+

Examples¶

+
forceSubModels
+(
+    ImEx
+);
+
+
+

Note: This examples list might not be complete - please look for other models (forceSubModel_XY) in this documentation.

+
+
+

Description¶

+

The force sub model is designed to hold the settings a force model can have. For now it handles the treatExplicit, treatDEM and implDEM option.

+
+
+

Restrictions¶

+

None.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/forceSubModel_ImEx.html b/doc/_build/html/forceSubModel_ImEx.html new file mode 100644 index 0000000..e6418ad --- /dev/null +++ b/doc/_build/html/forceSubModel_ImEx.html @@ -0,0 +1,234 @@ + + + + + + + + + + + forceSubModel_ImEx command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • forceSubModel_ImEx command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

forceSubModel_ImEx command¶

+
+

Syntax¶

+

Defined in couplingProperties sub-dictionary of the force model in use.

+

forceSubModels +(

+
+
ImEx;
+

);

+

treatExplicit true; // optional for some force models. +treatDEM true; // optional for some force models. +implDEM true; // optional for some force models.

+
+
+

Examples¶

+

forceSubModels +(

+
+
ImEx;
+

); +treatExplicit true; // optional for some force models.

+
+
+

Description¶

+

If no force sub-model is applied ImEx is used as default. If the keyword “forceSubModels” is provided, a choice of sub model is demanded. Depending on the force model different keywords are read and can therefrore be set (see the log file). If the keyword is provided, its value is used.

+
+
+

Restrictions¶

+

none.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/genindex.html b/doc/_build/html/genindex.html new file mode 100644 index 0000000..fbed5c3 --- /dev/null +++ b/doc/_build/html/genindex.html @@ -0,0 +1,594 @@ + + + + + + + + + + + + Index — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+ +
+ +
+
+
+ + +

Index

+ +
+ A + | C + | D + | F + | I + | L + | M + | P + | R + | S + | V + +
+

A

+ + + +
+ +
averagingModel +
+ + +
averagingModel_dense +
+ +
+ +
averagingModel_dilute +
+ +
+ +

C

+ + + +
+ +
cfdemSolverIB +
+ + +
cfdemSolverPiso +
+ + +
cfdemSolverPisoScalar +
+ +
+ +
clockModel +
+ + +
clockModel_noClock +
+ + +
clockModel_standardClock +
+ +
+ +

D

+ + + +
+ +
dataExchangeModel +
+ + +
dataExchangeModel_noDataExchange +
+ + +
dataExchangeModel_oneWayVTK +
+ +
+ +
dataExchangeModel_twoWayFiles +
+ + +
dataExchangeModel_twoWayMPI +
+ +
+ +

F

+ + + +
+ +
forceModel +
+ + +
forceModel_Archimedes +
+ + +
forceModel_ArchimedesIB +
+ + +
forceModel_checkCouplingInterval +
+ + +
forceModel_DiFeliceDrag +
+ + +
forceModel_fieldStore +
+ + +
forceModel_fieldTimeAverage +
+ + +
forceModel_GidaspowDrag +
+ + +
forceModel_gradPForce +
+ + +
forceModel_KochHillDrag +
+ + +
forceModel_LaEuScalarTemp +
+ + +
forceModel_MeiLift +
+ +
+ +
forceModel_noDrag +
+ + +
forceModel_particleCellVolume +
+ + +
forceModel_particleVolume +
+ + +
forceModel_scalarGeneralExchange +
+ + +
forceModel_SchillerNaumannDrag +
+ + +
forceModel_ShirgaonkarIB +
+ + +
forceModel_virtualMassForce +
+ + +
forceModel_viscForce +
+ + +
forceModel_volWeightedAverage +
+ + +
forceSubModel +
+ + +
forceSubModel_ImEx +
+ +
+ +

I

+ + + +
+ +
IOModel +
+ + +
IOModel_basicIO +
+ + +
IOModel_noIO +
+ +
+ +
IOModel_sophIO +
+ + +
IOModel_trackIO +
+ +
+ +

L

+ + + +
+ +
liggghtsCommandModel +
+ + +
liggghtsCommandModel_execute +
+ + +
liggghtsCommandModel_readLiggghtsData +
+ + +
liggghtsCommandModel_runLiggghts +
+ + +
liggghtsCommandModel_setDEMGravity +
+ +
+ +
liggghtsCommandModel_writeLiggghts +
+ + +
locateModel +
+ + +
locateModel_engineSearch +
+ + +
locateModel_engineSearchIB +
+ + +
locateModel_standardSearch +
+ +
+ +

M

+ + + +
+ +
meshMotionModel +
+ + +
meshMotionModel_noMeshMotion +
+ + +
momCoupleModel +
+ +
+ +
momCoupleModel_explicitCouple +
+ + +
momCoupleModel_implicitCouple +
+ + +
momCoupleModel_noCouple +
+ +
+ +

P

+ + + +
+ +
probeModel +
+ + +
probeModel_noProbe +
+ +
+ +
probeModel_particleProbe +
+ +
+ +

R

+ + + +
+ +
regionModel +
+ +
+ +
regionModel_allRegion +
+ +
+ +

S

+ + + +
+ +
scalarTransportModel +
+ + +
smoothingModel +
+ +
+ +
smoothingModel_constDiffSmoothing +
+ + +
smoothingModel_noSmoothing +
+ +
+ +

V

+ + + +
+ +
voidfractionModel +
+ + +
voidfractionModel_bigParticleVoidFraction +
+ + +
voidfractionModel_centreVoidFraction +
+ + +
voidfractionModel_dividedVoidFraction +
+ +
+ +
voidfractionModel_GaussVoidFraction +
+ + +
voidfractionModel_IBVoidFraction +
+ + +
voidfractionModel_noVoidFractionVoidFraction +
+ + +
voidfractionModel_trilinearVoidFraction +
+ +
+ + + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/githubAccess_public.html b/doc/_build/html/githubAccess_public.html new file mode 100644 index 0000000..87f6080 --- /dev/null +++ b/doc/_build/html/githubAccess_public.html @@ -0,0 +1,411 @@ + + + + + + + + + + + githubAccess_public — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+ +
+ +
+
+
+ +
+

githubAccess_public¶

+
+
+

Description¶

+

This routine describes how to pull repositories of the CFDEM(R)project from `github.com <github_>`_ <github_>. +After setting some environment variables, LIGGGHTS(R) and CFDEM(R)coupling can be compiled.

+

Procedure:

+

Basically the following steps have to be performed:

+
    +
  • git clone and setup OpenFOAM
  • +
  • git clone the desired repositories
  • +
  • update your repositories by git pull
  • +
  • set environment variables
  • +
  • compile LIGGGHTS(R) and CFDEM(R)coupling
  • +
  • run your own cases
  • +
+

*git clone* and setup OpenFOAM:

+

Have a look at the latest compatible OpenFOAM(R)-version in the versionInfo.H file at `github <compOF_>`_. +This file will later be downloaded as a part of the source-code. +Look for the git commit hashtag in the following line:

+
word OFversion="&lt;OF-Release&gt;-commit-&lt;commitHashtag&gt;";
+
+
+
e.g. word OFversion="2.4.x-commit-3d8da0e960c717ff582f1517a27724144f086b83";
+
+
+

However sometimes even newer versions are supported, please check the `release notes <relNotes_>`_ and the “Advanced Settings”-section.

+

Basically follow the OpenFOAM(R) git compilation `instructions <downOF_>`_, with a small number of exceptions:

+

When you git clone the repository, replace the release-version with &lt;OF-Release&gt;.

+

with git-protocol:

+
git clone git://github.com/OpenFOAM/OpenFOAM-&lt;OF-Release&gt;.git
+
+
+

or with https:

+
git clone https://github.com/OpenFOAM/OpenFOAM-&lt;OF-Release&gt;.git
+
+
+

Now change into the new directory and checkout the correct compatible version:

+
cd OpenFOAM-&lt;OF-Release&gt;
+git checkout &lt;commitHashtag&gt;
+
+
+

The result will be a status report, that indicates a ‘detached head state’. +Now continue with installing and compiling OpenFOAM(R). +Make sure that OpenFOAM(R) works properly with a parallel Simulation!

+

If you want to use an older OpenFOAM(R)-version, please have a look at the “Backwards Compatibility”-section.

+

*git clone* the desired repositories:

+

You may want to take a look around on CFDEMproject on github: github.com/CFDEMproject_gitCFDEM

+

If not already done, open a terminal and create a directory for LIGGGHTS(R) in $HOME:

+
cd
+mkdir LIGGGHTS
+cd LIGGGHTS
+
+
+

To clone the public LIGGGHTS repository, open a terminal and execute: +with git-protocol:

+
git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC
+
+
+

or with https:

+
git clone https://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC
+
+
+

If not already done, open a terminal and create a directory for CFDEM(R)coupling in $HOME:

+
cd
+mkdir CFDEM
+cd CFDEM
+
+
+

To clone the public CFDEM(R)coupling repository, open a terminal and execute: +with git-protocol:

+
git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION
+
+
+

or with https:

+
git clone https://github.com/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION
+
+
+
Additionally the lpp tool for converting LIGGGHTS dump-files into the paraview readable VTK-format might be of use:
+with git-protocol:
+git clone git://github.com:CFDEMproject/LPP.git $HOME/LIGGGHTS/mylpp
+
+
+
or with https:
+git clone https://github.com:CFDEMproject/LPP.git $HOME/LIGGGHTS/mylpp
+
+
+

Please have a look at README and INSTALL.txt in the root directory of LPP for further information.

+

Troubles? See Troubleshooting git section below.

+

Update your repositories by *git pull*:

+

To get the latest version, open a terminal, go to the location of your local installation and type: +Warning: git stash will remove your changes in $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION !

+
cd $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION
+git stash
+git pull
+
+
+

Set Environment Variables:

+

Now you need to set some environment variables in ~/.bashrc (if you use c-shell, manipulate ~/.cshrc accordingly). Open ~/.bashrc

+
gedit ~/.bashrc &
+
+
+

add the lines (you find them also in CFDEMCoupling-$WM_PROJECT_VERSION/src/lagrangian/cfdemParticle/etc/bashrc and cshrc respectively):

+
#================================================#
+#- source cfdem env vars
+export CFDEM_VERSION=PUBLIC
+export CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSION
+export CFDEM_SRC_DIR=$CFDEM_PROJECT_DIR/src
+export CFDEM_SOLVER_DIR=$CFDEM_PROJECT_DIR/applications/solvers
+export CFDEM_DOC_DIR=$CFDEM_PROJECT_DIR/doc
+export CFDEM_UT_DIR=$CFDEM_PROJECT_DIR/applications/utilities
+export CFDEM_TUT_DIR=$CFDEM_PROJECT_DIR/tutorials
+export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION
+export CFDEM_bashrc=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc
+export CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src
+export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic
+export CFDEM_LPP_DIR=$HOME/LIGGGHTS/mylpp/src
+export CFDEM_PIZZA_DIR=$HOME/LIGGGHTS/PIZZA/gran_pizza_17Aug10/src
+. $CFDEM_bashrc
+#================================================#
+
+
+

If you installed LIGGGHTS(R) or CFDEM(R)coupling in non-standard paths, please have a look at least at CFDEM_PROJECT_DIR and CFDEM_LIGGGHTS_SRC_DIR. +The standard CFDEM_LIGGGHTS_MAKEFILE_NAME is fedora_fpic, which works on most systems. However please checkout LIGGGHTS-PUBLIC/src/MAKE for additional makefiles, wich are available. The most used ones are fedora_fpic and ubuntuVTK_fpic. Beware that the CFDEMcoupling needs a fpic compilation to use LIGGGHTS as a library. Please check the “Advanced Settings” for VTK information.

+

Save the ~/.bashrc, open a new terminal and test the settings. The commands:

+
$CFDEM_PROJECT_DIR
+$CFDEM_SRC_DIR
+$CFDEM_LIGGGHTS_SRC_DIR
+
+
+

should give ”...: is a directory” otherwise something went wrong and the environment variables in ~/.bashrc are not set correctly.

+

To specify the paths of pizza, please check the settings in $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc.

+

If $CFDEM_SRC_DIR is set correctly, you can type

+
cfdemSysTest
+
+
+

to get some information if the paths are set correctly.

+

Compile LIGGGHTS(R) and CFDEM(R)coupling:

+

If above settings were done correctly, you can compile LIGGGHTS(R) by typing:

+
cfdemCompLIG
+
+
+

and you can then compile CFDEM(R)coupling by typing:

+
cfdemCompCFDEM
+
+
+

or compile both at once with:

+
cfdemCompCFDEMall
+
+
+

You can run the tutorial cases by executing .../etc/testTutorial.sh through the alias cfdemTestTUT. +Alternatively you can run each tutorial using the Allrun.sh scripts in the tutorial directories.

+

In case questions concerning the installation arise, please feel free to contact our forum at www.cfdem.com.

+

Run Your Own Cases:

+

If you want to run your own cases, please do so in $CFDEM_PROJECT_USER_DIR/run which is automatically being generated. E.g. copy one of the tutorial cases there, adapt it to your needs. +Changes in $CFDEM_TUT_DIR will be lost after every git stash!

+

Additional Installations:

+

Optionally you can install lpp which will help you convert the DEM (dump) data to VTK format. For standard CFD-DEM runs this will not be necessary. To get the DEM postprocessing tool “lpp” you need python-numpy package installed:

+
sudo apt-get install python-numpy
+
+
+

You can pull the latest version of lpp with:

+
cd $HOME/LIGGGHTS
+
+
+

with git-protocol: +git clone git://github.com/CFDEMproject/LPP.git +with https: +git clone https://github.com/CFDEMproject/LPP.git

+

Backwards Compatibility:

+

Basically CFDEM(R)coupling supports one OpenFOAM(R) version therefore all settings are prepared for that. Nevertheless we try to maintain backwards compatibility as long as it works with reasonable effort.

+

The supported OpenFOAM(R) and LIGGGHTS(R) versions are stated in: +src/lagrangian/cfdemParticle/cfdTools/versionInfo.H

+

For using other versions you can manipulate: +src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H +(still not all functionality might work then!)

+

Advanced Settings:

+

Here some advanced settings and hints for non-standard compilations are presented. +As stated in the “Backwards Compatibility”-section, there are compiler flags for different OpenFOAM versions. Checkout src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H for compatibility settings. Just comment the current “#define version2X” in the top-section and uncomment the one you want to compile it with.

+

There are advanced compilation settings for library-paths, includes and libraries are within the additionalLibs file in src/lagrangian/cfdemParticle/etc/additionalLibs. There are predefined files for different OpenFOAM versions. To use a different version, add the following lines to your .bashrc (.cshrc) before the standard CFDEM variables:

+
export CFDEM_ADD_LIBS_DIR=FOLDER_OF_NEW_additionalLibs_FILE/
+
+
+
export CFDEM_ADD_LIBS_NAME=additionalLibs30x
+
+
+

This is an example to use a predefined additionalLibs file for OpenFOAM-3.0.x.

+

To enable direct VTK-dump (dump custom/vtk) support of LIGGGHTS and CFDEMcoupling, you have to install the VTK libraries. Either 5.8 or 6 are predefined for ubuntu.

+
sudo apt-get libvtk5.8 libvtk5-dev
+
+
+

Change “export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic” in your .bashrc according to your preferred LIGGGHTS makefile. +If you have a non-standard installation location you have to adapt the LIGGGHTS makefile accordingly. +To enable this feature in a coupled run the additionalLibs file has to be modified. +It basically needs to include the same libraries as the LIGGGHTS-Makefile. +E.g. for Ubuntu-14.04 with vtk-5.8:

+
CFDEM_ADD_LIB_PATHS  = -L/usr/include/vtk-5.8
+
+
+
CFDEM_ADD_LIBS       = -lvtkCommon -lvtkFiltering -lvtkIO
+
+
+

Troubleshooting git:

+
    +
  • Troubles with git clone?
  • +
+

a) The git protocol will not work if your computer is behind a firewall which blocks the relevant TCP port, you can use alternatively https instead of git (write command in one line):

+

git clone https://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION

+

b) If you face the error: “error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/...”,

+

please use: env GIT_SSL_NO_VERIFY=true git clone https://github...

+

(see http://stackoverflow.com/questions/3777075/https-github-access)

+

c) If you face the error: “Agent admitted failure to sign using the key. Permission denied (publickey).”, after ssh -T git@github.com

+

please type: “ssh-add”

+

(see: https://help.github.com/articles/error-agent-admitted-failure-to-sign)

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/liggghtsCommandModel.html b/doc/_build/html/liggghtsCommandModel.html new file mode 100644 index 0000000..04f6f28 --- /dev/null +++ b/doc/_build/html/liggghtsCommandModel.html @@ -0,0 +1,234 @@ + + + + + + + + + + + liggghtsCommandModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • liggghtsCommandModel command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

liggghtsCommandModel command¶

+
+

Syntax¶

+

Defined in liggghtsCommmands dictionary.

+
liggghtsCommandModels
+(
+    model_x
+    model_y
+);
+
+
+
    +
  • model = name of the liggghtsCommandModel to be applied
  • +
+
+
+

Examples¶

+
liggghtsCommandModels
+(
+   runLiggghts
+   writeLiggghts
+);
+
+
+

Note: This examples list might not be complete - please look for other models (liggghtsCommandModel_XY) in this documentation.

+
+
+

Description¶

+

The liggghtsCommandModel is the base class to execute DEM commands within a CFD run.

+
+
+

Restrictions¶

+

Works only with MPI coupling.

+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/liggghtsCommandModel_execute.html b/doc/_build/html/liggghtsCommandModel_execute.html new file mode 100644 index 0000000..af4ac20 --- /dev/null +++ b/doc/_build/html/liggghtsCommandModel_execute.html @@ -0,0 +1,290 @@ + + + + + + + + + + + liggghtsCommandModel_execute command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • liggghtsCommandModel_execute command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

liggghtsCommandModel_execute command¶

+
+

Syntax¶

+

Defined in liggghtsCommmands dictionary.

+
liggghtsCommandModels
+(
+   execute
+);
+executeProps0
+{
+    command
+    (
+        run
+        $couplingInterval
+    );
+    runFirst switch1;
+    runLast switch2;
+    runEveryCouplingStep switch3;
+    runEveryWriteStep switch4;
+    verbose;
+}
+
+
+
    +
  • command = LIGGGHTS command to be executed. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation)
  • +
  • switch1 = switch (choose on/off) if the command is executed only at first time step
  • +
  • switch2 = switch (choose on/off) if the command is executed only at last time step
  • +
  • switch3 = switch (choose on/off) if the command is executed at every coupling step
  • +
  • switch4 = switch (choose on/off) if the command is executed at every writing step
  • +
  • verbose = (normally off) for verbose run
  • +
+
+
+

Examples¶

+
liggghtsCommandModels
+(
+   execute
+   execute
+);
+executeProps0
+{
+    command
+    (
+        run
+        $couplingInterval
+    );
+    runFirst off;
+    runLast off;
+    runEveryCouplingStep on;
+}
+executeProps1
+{
+    command
+    (
+        write_restart
+        noBlanks
+        dotdot
+        slash
+        DEM
+        slash
+        liggghts.restart_
+        timeStamp
+    );
+    runFirst off;
+    runLast off;
+    runEveryCouplingStep off;
+    runEveryWriteStep on;
+}
+
+
+
+
+

Description¶

+

The execute liggghtsCommand Model can be used to execute a LIGGGHTS command during a CFD run. In above example execute_0 for instance executes “run $couplingInterval” every coupling step. $couplingInterval is automatically replaced by the correct number of DEM steps. Additionally execute_1 executes “write_restart ../DEM/liggghts.restart_$timeStamp” every writing step, where $timeStamp is automatically set.

+
+

These rather complex execute commands can be replaced by the “readLiggghts” and “writeLiggghts” commands!¶

+
+
+
+

Restrictions¶

+
+
None.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/liggghtsCommandModel_readLiggghtsData.html b/doc/_build/html/liggghtsCommandModel_readLiggghtsData.html new file mode 100644 index 0000000..80c6e61 --- /dev/null +++ b/doc/_build/html/liggghtsCommandModel_readLiggghtsData.html @@ -0,0 +1,276 @@ + + + + + + + + + + + liggghtsCommandModel_readLiggghtsData command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • liggghtsCommandModel_readLiggghtsData command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

liggghtsCommandModel_readLiggghtsData command¶

+
+

Syntax¶

+

Defined in liggghtsCommmands dictionary.

+
liggghtsCommandModels
+(
+   readLiggghtsData
+);
+readLiggghtsDataProps0
+{
+    startIndex "scalar1";
+    verbose ;
+    exactTiming ;
+    filePath
+    (
+        "word"
+    );
+    runFirst "bool1";
+    runEveryCouplingStep "bool2";
+    startTime "scalar2";
+    endTime "scalar3";
+    timeInterval "scalar4";
+}
+
+
+
    +
  • scalar1 = start index of data file to be read
  • +
  • verbose = (default off) flag for verbose run
  • +
  • exactTiming = flag indicating that start time should be kept even during a coupling interval
  • +
  • filePath = path to LIGGGHTS data file. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation)
  • +
  • bool1 = true if to be run at first timestep only (prio 1)
  • +
  • bool2 = true if to be run at every coupling step (prio 2)
  • +
  • scalar2 = if bool2 and bool3 false then starts at scalar2 (prio 3) run
  • +
  • scalar3 = if bool2 and bool3 false then it ends at scalar3 (prio 3) run
  • +
  • scalar4 = if bool2 and bool3 false then it repeats at scalar3 increasing the data file index (prio 3) run
  • +
+
+
+

Examples¶

+
liggghtsCommandModels
+(
+   readLiggghtsData
+);
+readLiggghtsDataProps0
+{
+    startIndex 0;
+    exactTiming true;
+    filePath
+    (
+        dotdot
+        slash
+        DEM
+        slash
+        packing.data
+    );
+    runFirst off;
+    runEveryCouplingStep off;
+    startTime 0.002;
+    endTime 0.012;
+    timeInterval 0.001;
+}
+
+
+
+
+

Description¶

+

The readLiggghtsData liggghtsCommand Model can be used to read liggghts data files into liggghts during runtime of a coupled simulation.

+
+
+

Restrictions¶

+

Note: Model is not up to date.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/liggghtsCommandModel_runLiggghts.html b/doc/_build/html/liggghtsCommandModel_runLiggghts.html new file mode 100644 index 0000000..0f67286 --- /dev/null +++ b/doc/_build/html/liggghtsCommandModel_runLiggghts.html @@ -0,0 +1,239 @@ + + + + + + + + + + + liggghtsCommandModel_runLiggghts command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • liggghtsCommandModel_runLiggghts command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

liggghtsCommandModel_runLiggghts command¶

+
+

Syntax¶

+

Defined in liggghtsCommmands dictionary.

+
liggghtsCommandModels
+(
+   runLiggghts
+);
+//- optional
+runLiggghtsProps
+{
+    preNo true;
+    verbose; (optional)
+}
+
+
+
+
+

Examples¶

+
liggghtsCommandModels
+(
+   runLiggghts
+);
+
+
+
+
+

Description¶

+

The liggghtsCommand models can be used to execute a LIGGGHTS command during a CFD run. The “runLiggghts” command executes the command “run $nrDEMsteps”, where $nrDEMsteps is automatically set according to the coupling intervals, every coupling step. Optionally a dictionary called runLiggghtsProps can be specified where the “preNo” switch can be set, which uses the command “run $nrDEMsteps pre no” for every time step except the first.

+
+
+

Restrictions¶

+
+
Warning: the “pre no” option can cause troubles (dump data of particles changing the domain might be erroneous)!
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/liggghtsCommandModel_setDEMGravity.html b/doc/_build/html/liggghtsCommandModel_setDEMGravity.html new file mode 100644 index 0000000..ca017dd --- /dev/null +++ b/doc/_build/html/liggghtsCommandModel_setDEMGravity.html @@ -0,0 +1,258 @@ + + + + + + + + + + + liggghtsCommandModel_setDEMGravity command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • liggghtsCommandModel_setDEMGravity command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

liggghtsCommandModel_setDEMGravity command¶

+
+

Syntax¶

+

Defined in liggghtsCommmands dictionary.

+

liggghtsCommandModels +(

+
+
setDEMGravity
+

);

+
setDEMGravityProps0
+{
+    runFirst switch1;
+    startTime scalar1;
+    endTime scalar2;
+    timeInterval scalar3;
+    verbose;
+}
+
+
+
    +
  • switch1 = switch (must be on!!!) to select if executed only first step.
  • +
  • scalar1 = start time of command (use simulation start time)
  • +
  • scalar2 = end time of command (use simulation start time)
  • +
  • scalar3 = time interval of command (use 1.) +verbose = (normally off) for verbose run
  • +
+
+
+

Examples¶

+
liggghtsCommandModels
+(
+   runLiggghts
+   setDEMGravity
+);
+setDEMGravityProps1
+{
+    runFirst on;
+    startTime 0;
+    endTime 0;
+    timeInterval 1;
+    verbose;
+}
+
+
+
+
+

Description¶

+

The liggghtsCommand models can be used to set LIGGGHTS gravity during a CFD run.

+
+
+

Restrictions¶

+
+
None.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/liggghtsCommandModel_writeLiggghts.html b/doc/_build/html/liggghtsCommandModel_writeLiggghts.html new file mode 100644 index 0000000..bbf0489 --- /dev/null +++ b/doc/_build/html/liggghtsCommandModel_writeLiggghts.html @@ -0,0 +1,250 @@ + + + + + + + + + + + liggghtsCommandModel_writeLiggghts command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • liggghtsCommandModel_writeLiggghts command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

liggghtsCommandModel_writeLiggghts command¶

+
+

Syntax¶

+

Defined in liggghtsCommmands dictionary.

+
liggghtsCommandModels
+(
+   writeLiggghts
+);
+//- optional
+writeLiggghtsProps
+{
+    writeLast switch1;
+    path "path";
+    writeName "name";
+    overwrite switch2;
+    verbose;
+}
+
+
+
    +
  • switch1 = switch (choose on/off) to select if only last step is stored or every write step (default on).
  • +
  • path = optionally an alternative path (relative to execution directory) for saving the restart file can be defined (default ”../DEM”).
  • +
  • name = name of the restart file to be written in /$caseDir/DEM/ default (default “liggghts.restartCFDEM”)
  • +
  • switch2 = switch (choose on/off) to select if only one restart file $name or many files $name_$timeStamp are written (default off) +verbose = (default off) for verbose run
  • +
+
+
+

Examples¶

+
liggghtsCommandModels
+(
+   runLiggghts
+   writeLiggghts
+);
+
+
+
+
+

Description¶

+

The liggghtsCommand models can be used to execute a LIGGGHTS command during a CFD write. The “writeLiggghts” command executes the command “write_restart $name”, where $name is the name of the restart file, every write step.

+
+
+

Restrictions¶

+
+
None.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/locateModel.html b/doc/_build/html/locateModel.html new file mode 100644 index 0000000..9615aff --- /dev/null +++ b/doc/_build/html/locateModel.html @@ -0,0 +1,227 @@ + + + + + + + + + + + locateModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+ +
+ +
+
+
+ +
+

locateModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
locateModel model;
+
+
+
    +
  • model = name of the locateModel to be applied
  • +
+
+
+

Examples¶

+
locateModel engine;
+
+
+

Note: This examples list might not be complete - please look for other models (locateModel_XY) in this documentation.

+
+
+

Description¶

+

The locateModel is the base class for models which search for the CFD cell and cellID corresponding to a position. In general it is used to find the cell a particle is located in.

+
+
+

Restrictions¶

+
+
none.
+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/locateModel_engineSearch.html b/doc/_build/html/locateModel_engineSearch.html new file mode 100644 index 0000000..018724f --- /dev/null +++ b/doc/_build/html/locateModel_engineSearch.html @@ -0,0 +1,243 @@ + + + + + + + + + + + locateModel_engineSearch command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • locateModel_engineSearch command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

locateModel_engineSearch command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
locateModel engine;
+engineProps
+{
+    treeSearch switch1;
+}
+
+
+
    +
  • switch1 = (optional, default true) switch to use tree search algorithm
  • +
+
+
+

Examples¶

+
locateModel engine;
+engineProps
+{
+    treeSearch true;
+}
+
+
+
+
+

Description¶

+

The locateModel “engine” locates the CFD cell and cellID corresponding to a given position. +The engineSearch locate model can be used with different settings to use different algorithms:

+
    +
  • treeSearch false; will execute some geometric (linear) search using the last known cellID
  • +
  • treeSearch true; will use a recursive tree structure to find the cell (recommended).
  • +
+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/locateModel_engineSearchIB.html b/doc/_build/html/locateModel_engineSearchIB.html new file mode 100644 index 0000000..de92d40 --- /dev/null +++ b/doc/_build/html/locateModel_engineSearchIB.html @@ -0,0 +1,251 @@ + + + + + + + + + + + locateModel_engineSearchIB command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • locateModel_engineSearchIB command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

locateModel_engineSearchIB command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
locateModel engineIB;
+engineIBProps
+{
+    treeSearch switch1;
+    zSplit value1;
+    xySplit value2;
+    checkPeriodicCells;
+}
+
+
+
    +
  • switch1 = names of the finite volume scalar fields to be temporally averaged
  • +
  • value1 = number of z-normal layers for satellite points
  • +
  • value2 = number of satellite points in each layer
  • +
  • checkPeriodicCells = (optional, default false) flag for considering the minimal distance to all periodic images of this particle
  • +
+
+
+

Examples¶

+
locateModel engineIB;
+engineIBProps
+{
+    treeSearch false;
+    zSplit 8;
+    xySplit 16;
+}
+
+
+
+
+

Description¶

+

The locateModel “engine” locates the CFD cell and cellID corresponding to a given position. This locate model is especially designed for parallel immersed boundary method. Each particle is represented by “satellite points” if it is distributed over several processors.

+

The engineSearchIB locate Model can be used with different settings to use different algorithms:

+
    +
  • treeSearch false; will execute some geometric (linear) search using the last known cellID (recommended)
  • +
  • treeSearch true; will use a recursive tree structure to find the cell.
  • +
+

This model is a modification of the engine search model. Instead of using the centre-cell as starting point for the engine search, further satellite points located on the surface of the sphere are checked. This ensures that (parts of) spheres can be located even when their centre is on another processor. This is especially important for parallel computations, when a sphere is about to move from one processor to another.

+
+
+

Restrictions¶

+

Only for immersed boundary solvers!

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/locateModel_standardSearch.html b/doc/_build/html/locateModel_standardSearch.html new file mode 100644 index 0000000..6d3e7d5 --- /dev/null +++ b/doc/_build/html/locateModel_standardSearch.html @@ -0,0 +1,227 @@ + + + + + + + + + + + locateModel_standardSearch command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • locateModel_standardSearch command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

locateModel_standardSearch command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
locateModel standard;
+
+
+
+
+

Examples¶

+
locateModel standard;
+
+
+
+
+

Description¶

+

The locateModel “standard” locates the CFD cell and cellID corresponding to a given position. A very straight-forward (robust!) locate algorithm is used.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/meshMotionModel.html b/doc/_build/html/meshMotionModel.html new file mode 100644 index 0000000..0501c95 --- /dev/null +++ b/doc/_build/html/meshMotionModel.html @@ -0,0 +1,227 @@ + + + + + + + + + + + meshMotionModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • meshMotionModel command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

meshMotionModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
meshMotionModel model;
+
+
+
    +
  • model = name of the meshMotionModel to be applied
  • +
+
+
+

Examples¶

+
meshMotionModel noMeshMotion;
+
+
+

Note: This examples list might not be complete - please look for other models (meshMotionModel_XY) in this documentation.

+
+
+

Description¶

+

The meshMotionModel is the base class for models which manipulate the CFD mesh according to the DEM mesh motion.

+
+
+

Restrictions¶

+
+
none.
+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/meshMotionModel_noMeshMotion.html b/doc/_build/html/meshMotionModel_noMeshMotion.html new file mode 100644 index 0000000..b64b182 --- /dev/null +++ b/doc/_build/html/meshMotionModel_noMeshMotion.html @@ -0,0 +1,227 @@ + + + + + + + + + + + meshMotionModel_noMeshMotion command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • meshMotionModel_noMeshMotion command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

meshMotionModel_noMeshMotion command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
meshMotionModel noMeshMotion;
+
+
+
+
+

Examples¶

+
meshMotionModel noMeshMotion;
+
+
+
+
+

Description¶

+

The noMeshMotion-model is a dummy meshMotion model.

+
+
+

Restrictions¶

+
+
None.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/momCoupleModel.html b/doc/_build/html/momCoupleModel.html new file mode 100644 index 0000000..b61e765 --- /dev/null +++ b/doc/_build/html/momCoupleModel.html @@ -0,0 +1,234 @@ + + + + + + + + + + + momCoupleModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • momCoupleModel command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

momCoupleModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
momCoupleModels
+(
+    model
+);
+
+
+
    +
  • model = name of the momCoupleModel to be applied
  • +
+
+
+

Examples¶

+
momCoupleModels
+(
+    implicitCouple
+);
+
+
+

Note: This examples list might not be complete - please look for other models (momCoupleModel_XY) in this documentation.

+

Forces can be coupled in an implicit way to the fluid solver (i.e., when solving the Navier-Stokes equations, the fluid velocity at the new time will be considered for the coupling force). This implicit coupling is typically done for the drag forces (look for “impForces()” in the implementation of the drag model). Implicit coupling is more stable (especially important for dense flows), but conflicts Newton’s third law. Explicit forces are imposed on the flow solver in an explicit fashion (look for “expForces()” in the implementation of the drag model), which is less stable, but does not conflict Newton’s third law.

+

Note that the variable “imExSplitFactor” can be set in the couplingProperties in order to treat implicitly defined forces (in the implementation of the force model) as explicit ones. “imExSplitFactor 1.0;” is set by default, meaning that all implicit forces will be considered implicitly, whereas “imExSplitFactor 0.0;” would mean that implicitly defined forces will be treated in an explicit fashion.

+

Note that the switch “treatVoidCellsAsExplicitForce true;” can be set in the couplingProperties in order to change the treatment of cells which are void of particles. This is only relevant if (i) smoothing is used, and (ii) implicit force coupling is performed. By default, the particle veloctiy field (Us) will be smoothed to obtain a meaningful reference quantity for the implicit force coupling. In case “treatVoidCellsAsExplicitForce true;” is set, however, Us will not be smoothed and implicit forces (after the smoothing has been performed) in cells void of particles be treated as explicit ones. This avoids the problem of defining Us in cells that are void of particles, but for which an implicit coupling force is obtained in the smoothing process. +Description +“”“”“”“”“”“

+

The momCoupleModel is the base class for momentum exchange between DEM and CFD simulation.

+
+
+

Restrictions¶

+
+
none.
+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/momCoupleModel_explicitCouple.html b/doc/_build/html/momCoupleModel_explicitCouple.html new file mode 100644 index 0000000..41334eb --- /dev/null +++ b/doc/_build/html/momCoupleModel_explicitCouple.html @@ -0,0 +1,243 @@ + + + + + + + + + + + momCoupleModel_explicitCouple command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • momCoupleModel_explicitCouple command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

momCoupleModel_explicitCouple command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
momCoupleModels
+(
+    explicitCouple
+);
+explicitCoupleProps
+{
+    fLimit vector;
+}
+
+
+
    +
  • vector = limiter vector for explicit force term (default (1e10,1e10,1e10) )
  • +
+
+
+

Examples¶

+
momCoupleModels
+(
+    explicitCouple
+);
+explicitCoupleProps
+{
+    fLimit (1e3 1e2 1e4);
+}
+
+
+
+
+

Description¶

+

The explicitCouple-model is a momCoupleModel model providing an explicit momentum source term for the CFD solver and additionally it superposes an additional source field which can be set via the function setSourceField.

+
+
+

Restrictions¶

+

Only for solvers that include explicit momentum exchange.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/momCoupleModel_implicitCouple.html b/doc/_build/html/momCoupleModel_implicitCouple.html new file mode 100644 index 0000000..2eb0bc6 --- /dev/null +++ b/doc/_build/html/momCoupleModel_implicitCouple.html @@ -0,0 +1,251 @@ + + + + + + + + + + + momCoupleModel_implicitCouple command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • momCoupleModel_implicitCouple command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

momCoupleModel_implicitCouple command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
momCoupleModels
+(
+    implicitCouple
+);
+implicitCoupleProps
+{
+    velFieldName "U";
+    granVelFieldName "Us";
+    voidfractionFieldName "voidfraction";
+    minAlphaP number;
+}
+
+
+
    +
  • U = name of the finite volume fluid velocity field
  • +
  • Us = name of the finite volume granular velocity field
  • +
  • voidfraction = name of the finite volume voidfraction field
  • +
+

number = minimum value for local particle volume fraction to calculate the exchange filed (default SMALL):l

+
+
+

Examples¶

+
momCoupleModels
+(
+    implicitCouple
+);
+implicitCoupleProps
+{
+    velFieldName "U";
+    granVelFieldName "Us";
+    voidfractionFieldName "voidfraction";
+}
+
+
+
+
+

Description¶

+

The implicitCouple-model is a momCoupleModel model providing an implicit momentum source term for the CFD solver.

+
+
+

Restrictions¶

+

Only for solvers that include implicit momentum exchange.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/momCoupleModel_noCouple.html b/doc/_build/html/momCoupleModel_noCouple.html new file mode 100644 index 0000000..8409469 --- /dev/null +++ b/doc/_build/html/momCoupleModel_noCouple.html @@ -0,0 +1,232 @@ + + + + + + + + + + + momCoupleModel_noCouple command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • momCoupleModel_noCouple command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

momCoupleModel_noCouple command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
momCoupleModels
+(
+    off
+);
+
+
+
+
+

Examples¶

+
momCoupleModels
+(
+    off
+);
+
+
+
+
+

Description¶

+

The noCouple-model is a dummy momCoupleModel model providing a no momentum source term for the CFD solver.

+
+
+

Restrictions¶

+

Only for solvers that include no momentum exchange, e.g. immersed boundary.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/objects.inv b/doc/_build/html/objects.inv new file mode 100644 index 0000000..03fe130 --- /dev/null +++ b/doc/_build/html/objects.inv @@ -0,0 +1,5 @@ +# Sphinx inventory version 2 +# Project: CFDEMcoupling +# Version: v3.X +# The remainder of this file is compressed using zlib. +xÚ‘OkÃ0 Åïù"ë5i›Ën£Ý ‡@¡½ÕŽA¶ƒÿ”õÛÏ%é!eß„ô~ï I‘ÕVÒ/„(?¯Äд æîû ¿ÁáQWÂÈK·Ôí~öß½pidmÕ¥G›'&‹›z'‰ÃÇÉñ|¨Œ“ÿ„÷æ9˜ó2–˜æØ@èŰD¦Þ¬>M‚#*ªÚò µì f­”bØ9cÐÊPƒÔ"jgÑß³Ù¶Ül õsrôn$5½ÚmÊí6pNÑy2¸.×ùl!"3>r3Û–³-|]]ŠKM%òmJ=V¯/ÿݰ҉ \ No newline at end of file diff --git a/doc/_build/html/probeModel.html b/doc/_build/html/probeModel.html new file mode 100644 index 0000000..0e0f8c3 --- /dev/null +++ b/doc/_build/html/probeModel.html @@ -0,0 +1,231 @@ + + + + + + + + + + + probeModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+ +
+ +
+
+
+ +
+

probeModel command¶

+
+

Syntax¶

+

To be activated via couplingProperties dictionary.

+
probeModel myProbeModel;
+
+
+

Use probe model “off” to disable this feature.

+
myProbeModelProps
+
+
+
{
+
+
+
};
+
+
+
+
+

Examples¶

+

See particleProbe

+

Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing.

+
+
+

Description¶

+

The probeModel feature allows to implement various probing features in CFDEM. Currently, only the particleProbe model is implemented, that performs probing of particle forces.

+
+
+

Restrictions¶

+

None.

+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/probeModel_noProbe.html b/doc/_build/html/probeModel_noProbe.html new file mode 100644 index 0000000..ffb9316 --- /dev/null +++ b/doc/_build/html/probeModel_noProbe.html @@ -0,0 +1,231 @@ + + + + + + + + + + + probeModel_noProbe command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • probeModel_noProbe command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

probeModel_noProbe command¶

+
+

Syntax¶

+

To be activated via couplingProperties dictionary.

+
forceModels
+{
+    myForceModel1
+    myForceModel2
+    myForceModel3
+};
+
+
+

probeModel off;

+
+
+

Examples¶

+
probeModel off;
+
+
+

Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing.

+
+
+

Description¶

+

Does not perform any probing.

+
+
+

Restrictions¶

+

None.

+

Related commands which are currently enabled for particle probing:

+

particleProbe

+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/probeModel_particleProbe.html b/doc/_build/html/probeModel_particleProbe.html new file mode 100644 index 0000000..b542789 --- /dev/null +++ b/doc/_build/html/probeModel_particleProbe.html @@ -0,0 +1,270 @@ + + + + + + + + + + + probeModel_particleProbe command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • probeModel_particleProbe command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

probeModel_particleProbe command¶

+
+

Syntax¶

+

To be activated via couplingProperties dictionary.

+

forceModels +(

+
+
myForceModel1 +myForceModel2 +myForceModel3
+

);

+

probeModel particleProbe;

+
particleProbeProps
+{
+    particleIDsToSample (ID1 ID2 ID3 ...);  //list of particleIDs to sample
+    verboseToFile;                          //main switch
+    verbose;                                //currently not used
+    printEvery       xEvery;                //print every this many CFD time steps
+    printOnlyAtStep  xStep;                 //print only at this CFD time step (overrides "printEvery")
+    sampleAll;                              //Activate sampling for all particles
+    probeDebug;                             //probes additional fields
+    includePosition;                        //will include particle position in the output file
+    writePrecision xPrecision;              //number of significant digits to print
+};
+
+
+
    +
  • particleIDsToSample = list of particle IDs to be sampled.
  • +
  • myForceModeli = list of force models in the simulation, the particleProbe will be applied to all of these models!
  • +
  • verboseToFile = main switch to activate the particle probe (default = off).
  • +
  • verbose = main switch to activate output to Info (currently not implemented).
  • +
  • xEvery = integer to specify the interval for sampling (default = 1, i.e., probing occurs every CFD time step).
  • +
  • xStep = integer to specify the step for sampling (default = deactivated, i.e., it will print accordingly to “printEvery”).
  • +
  • sampleAll = switch to activate sampling of all particles. Otherwise (default) only particles specified via “particleIDsToSample” in the couplingProperties dictionary will be sampled.
  • +
  • probeDebug = switch to activate probing of debug properties of secondary importance (specific for each force model).
  • +
  • includePosition = switch to add the particle position in the log file (default = off).
  • +
  • *xPrecision*= number of significant digits of the text output (default = 3).
  • +
+
+
+

Examples¶

+
particleIDsToSample (0 1 2 3);
+forceModels
+(
+    gradPForce
+);
+particleProbeProps
+{
+    verboseToFile;       //main switch
+    verbose;                //currently not used
+    printEvery  100;      //print every this many CFD time steps
+    sampleAll;            //Activate sampling for all particles
+    probeDebug;  //probes additional fields
+    includePosition;  //will include particle position in the output file
+    writePrecision 4;           //number of significant digits to print
+};
+
+
+

Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing.

+
+
+

Description¶

+

The particleProbe feature keeps track of per-particle quantities (e.g., the fluid-particle interaction forces) acting on each DEM particle, and handles its storage during the simulation. Data is saved in the CFD/particleProbes/startTime directory, where startTime is the time at which the simulation is started (this avoids unwanted deletion of particleProbe data).

+
+
+

Restrictions¶

+

You can manually switch off the probe model for each force model by specifying the Switch “suppressProbe” in the corresponding force properties dictionary.

+

Related commands which are currently enabled for particle probing:

+

gradPForce, viscForce, BeetstraDrag, HollowayDrag, MeiLift, as well as most other forceModels (see src directory for details, i.e., use “grep -r ‘probeM(‘ ./” in the terminal).

+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/regionModel.html b/doc/_build/html/regionModel.html new file mode 100644 index 0000000..4d74509 --- /dev/null +++ b/doc/_build/html/regionModel.html @@ -0,0 +1,227 @@ + + + + + + + + + + + regionModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+ +
+ +
+
+
+ +
+

regionModel command¶

+
+

Syntax¶

+

Note: In the current CFDEMcoupling version, this model is no longer used. Defined in couplingProperties dictionary.

+
regionModel model;
+
+
+
    +
  • model = name of the regionModel to be applied
  • +
+
+
+

Examples¶

+
regionModel allRegion;
+
+
+

Note: This examples list might not be complete - please look for other models (regionModel_XY) in this documentation.

+
+
+

Description¶

+

The regionModel is the base class for region models to select a certain region for coupled simulation.

+
+
+

Restrictions¶

+
+
none.
+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/regionModel_allRegion.html b/doc/_build/html/regionModel_allRegion.html new file mode 100644 index 0000000..ae5a03a --- /dev/null +++ b/doc/_build/html/regionModel_allRegion.html @@ -0,0 +1,227 @@ + + + + + + + + + + + regionModel_allRegion command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • regionModel_allRegion command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

regionModel_allRegion command¶

+
+

Syntax¶

+

Note: In the current CFDEMcoupling version, this model is no longer used. Defined in couplingProperties dictionary.

+
regionModel allRegion;
+
+
+
+
+

Examples¶

+
regionModel allRegion;
+
+
+
+
+

Description¶

+

The allRegion-model is a region model including the whole CFD region for the coupling.

+
+
+

Restrictions¶

+
+
None.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/scalarTransportModel.html b/doc/_build/html/scalarTransportModel.html new file mode 100644 index 0000000..600ef65 --- /dev/null +++ b/doc/_build/html/scalarTransportModel.html @@ -0,0 +1,277 @@ + + + + + + + + + + + scalarTransportModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • scalarTransportModel command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

scalarTransportModel command¶

+
+

Syntax¶

+

Defined in scalarTransportProperties dictionary. A variety of derived classes exist that implement different physics of the scalarTransportModel. Here, the most general one, i.e., ‘generalManual’ is discussed. If no scalar transport shall be used, use the model ‘none’.

+
+generalManualProps
+{
+    phiFieldName phiName;
+    voidfractionFieldName voidfractionName;
+    ScT scalar1;
+    PrT scalar2;
+    cpVolumetric scalar3;
+    cpVolumetricFieldName word1;
+    rhoMixFieldName word2;
+    eulerianFields
+    (
+        C
+        T
+    );
+
+
}
+
+
+
    +
  • phiName = (optional) name of the surface field for the SUPERFICIAL flux, default “phi”.
  • +
  • voidfractionName = (optional) name of the finite volume voidfraction field, default “voidfraction”.
  • +
  • scalar1 = (optional, default 0.7) turbulent Schmidt Nr, set to large value to suppress turbulent species transport
  • +
  • scalar2 = (optional, default 0.7) turbulent Prandtl Nr, set to large value to suppress turbulent heat transport
  • +
  • scalar3 = (optional, alternatively define word1) volumetric heat capacity as a global constant (in contrast to cpVolumetricFieldName for a field). This is the mixture density times the heat capacity J/K/(m_voidspace)^3, will only be used if cpVolumetricFieldName, or updateMixtureProperties = false
  • +
  • word1 = (optional, alternatively define scalar3) volumetric heat capacity as a field
  • +
  • word3 = mixture density field
  • +
  • C = concentration field name
  • +
  • T = temperature field name
  • +
+
+
+

Examples¶

+
generalManualProps
+{
+    phiFieldName "phi";
+    ScT 0.7;
+    PrT 0.7;
+    cpVolumetric 1196;
+    rhoMixFieldName "rhoMix";
+    eulerianFields
+    (
+        C
+        T
+    );
+
+
+
fvOptionsC
+{
+};
+
+
+
fvOptionsT
+{
+};
+
+
+
}
+
+
+
+
+

Description¶

+

Solves the advection-dispersion transport equation for a dilute scalar quantity in the fluid phase. fvOptions can be specified to model sources, etc. in the fluid phase. Exchange models with a particle phase can be included by including appropriate forceModels in couplingProperties.

+
+
+

Restrictions¶

+

The user MUST ensure the “phi” field is SUPERFICIAL (i.e., the fluid-phase velocity times voidfraction interpolatedat the cells’ faces). The code cannot know or check whether this is the case, so the user of a certain solver has to ensure this.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/search.html b/doc/_build/html/search.html new file mode 100644 index 0000000..50eec4f --- /dev/null +++ b/doc/_build/html/search.html @@ -0,0 +1,204 @@ + + + + + + + + + + + Search — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • +
  • + +
  • +
+
+ +
+
+
+ + + + +
+ +
+ +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/searchindex.js b/doc/_build/html/searchindex.js new file mode 100644 index 0000000..20fca44 --- /dev/null +++ b/doc/_build/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({envversion:42,terms:{maxsourc:[37,38],whose:[22,20,50,44,11,15],accur:22,under:13,preprocess:13,digit:74,localpsizediffsmooth:18,everi:[30,39,43,46,75,27,21,13,74,51,66],"void":[36,62,29],govern:62,exacttim:51,clockmodel_xi:28,solid:[62,22,50,38],vector:[72,59,4,73],speci:[38,54],clockmodel:13,direct:[38,39],second:[37,61,38],follow:[17,39,3,34,6,13],liggghtscommandmodel_readliggghtsdata:13,even:[47,51,39],flimit:72,conduct:[41,37,2,38,52],"new":[36,30,39,52,13,51],rhop:66,checkperiodiccel:[47,50],here:[44,54,39],openfoam:[39,20,62,38,11,13],path:[46,31,51,23,39],interpret:4,forum:[13,39],studi:6,cfdem_solver_dir:39,bashrc:39,total:[12,5,62],describ:[13,39],would:[36,13],granvelfieldnam:[6,3,34,64],iomodel:13,recommend:[47,69],type:[17,43,37,38,39,61,3,24,34,29,49,6,13,14],forcemodel_gradpforc:13,relax:66,warn:[65,39,42,66,27,38],postporcessor:4,exce:[62,66],"9000e":10,hold:55,must:[18,38,10,13,32,54],swtich:55,springer:11,mylpp:39,word:[30,51,39],setup:[13,39],work:[1,65,39,66],smoothingmodel:13,root:39,particleprobeprop:74,xeveri:74,overrid:74,trackio:70,give:[13,18,39,10],forcesubmodel_xi:55,indic:[51,39,14],want:39,type1:[17,37,61,3,24,34,38,49,6,14],type3:38,type2:[17,61,3,34,38,6,14],end:[32,51],travel:65,locatemodel_xi:68,iiii:66,fvscheme:13,maxaccnr:66,env:39,verifi:39,perspect:[11,20],updat:[13,39],after:[36,43,39],befor:39,wrong:39,mesh:[12,22,62,65,60],patankar:52,explicitcoupleprop:72,nodragprop:9,law:[6,36,3,34],parallel:[39,20,47,62,11,13,65],averag:[56,20,57,43,3,47,25,10,11,59,73],dilut:[56,3,57,25,10,54],third:[36,13],spout:6,momcouplemodel_nocoupl:13,maintain:39,environ:39,incorpor:62,first:[30,66,27,13,32,51],order:[13,43,36,61,38],oper:[18,10],meiliftprop:61,endors:[11,62,13,20],over:[47,65,10],becaus:[43,18,10],maxcfl:66,heatflux:[37,38],implicitcoupleprop:64,writeliggghtsprop:46,additionallibs30x:39,schmidt:54,easier:43,them:[70,9,39],thei:[12,59],trondheim:62,choic:[55,71],dotdot:[30,51],volumefractionnam:73,each:[61,3,30,9,6,13,51,17,24,14,38,34,39,41,42,52,47,62,55,2,49,74],nodataexchang:[26,45],went:39,side:[6,17,3,55],clockmodel_noclock:13,dataexchangemodel_xi:45,gradient:24,imexsplitfactor:36,mason:[37,38],adapt:39,bigparticleprop:22,linear:[47,61,69],situat:10,omiss:13,standard:[39,43,38,16,12,13,59,73],switch3:[37,2,61,3,24,30,9,38,49,6,14,34],switch2:[37,2,61,3,24,46,5,30,9,38,49,6,12,52,14,34],switch1:[30,3,9,49,6,12,14,24,34,38,32,73,37,69,41,52,46,47,5,29,2,61],switch0:73,switch7:[6,3],switch6:[6,3,34,38],forcemodel_scalargeneralexchang:13,switch4:[49,61,3,24,30,34,6,14],writeprecis:74,rang:[65,29],mkdir:39,pisofoam:[11,20],cfdemtut:13,capac:[37,38,54],instruct:39,alreadi:39,allrun:[13,39],scalartransportmodel:13,advect:54,top:39,sometim:39,startindex:51,cfdemsolverpisostm:38,iomodel_noio:13,tool:[39,4,5,66,12,59,73],locatemodel_standardsearch:13,compof_:39,keyword:[55,75,2,41,61,52,71,73],provid:[35,55,64,71,72,13],particletrackproperti:70,tree:[47,69],project:39,thu:11,fashion:36,ran:43,locatemodel_enginesearchib:13,shell:[13,39],manner:52,meshmotionmodel_xi:60,strength:13,unresolv:62,procboundarycorrect:29,liggghtscommandmodel_writeliggght:13,gaussprop:44,shall:54,object:[31,12,59,73],kloss:[11,62,13,20],phase:[11,62,54],doi:11,doc:[13,39],flow:[10,36,37,61,4,24,38,49,13],doe:[36,37,58,43,4,5,48,76,38,12,73,59,66],dummi:[35,7,58,26,63,53,76],bejan:11,kochhilldrag:6,heattranscoeff:[37,38],prio:51,probe:[48,2,59,49,3,24,34,38,67,6,12,74,73],radii:75,regionmodel:13,speciestransportmodel:38,runlast:30,voidfractioninterpolationtyp:[6,17,3,34,38],stop:[43,42,66],fluid:[49,3,6,9,11,13,14,17,22,24,34,38,36,37,41,42,52,62,54,55,2,61,64,66,74],report:[61,39],toolbox:[62,13],method:[41,47,62,13,52],bad:66,novoidfract:7,shirgaonkarib:[62,52],structur:[47,13,65,69],fail:[50,22,44,39],dirctori:13,loth:61,approach:[62,13,18,29],accord:[50,39,22,44,60,27,29,11,13],cfdem_doc_dir:39,cfdem:[13,39,14,67],rasproperti:13,particleprob:[48,74,67],howev:[36,38,39],com:[13,39],archimedesibprop:41,serialoutput:75,assum:66,partspeciesnam:38,numpi:39,three:29,been:36,accumul:[55,43],velfieldnam:[17,37,61,3,52,34,38,6,64,14],basic:[75,39,43,29,10,13],relnotes_:39,suppress:[2,49,3,24,34,38,6,54],xxx:13,cfdemparticl:[25,56,39],gidaspow:3,partheatfluidnam:[37,38],lift:[41,61,2],gnu:13,properti:[19,42,23,8,38,11,31,13,74],calcul:[49,3,6,9,10,11,12,14,15,17,20,22,24,25,34,38,73,37,29,41,42,43,44,52,62,50,55,56,2,61,5,64,66],dataexchang:66,stairstep:22,conf:62,sever:[47,66,9],maxcellsperparticl:[22,50,44],perform:[48,10,3,9,49,6,13,14,17,39,23,24,25,34,29,31,36,19,41,42,45,57,52,56,2,61,26,67,74],suggest:13,make:39,additionallib:39,split:14,complet:[0,55,36,1,42,28,45,57,48,8,68,67,60,18,74,33],vizclock:43,schiller:17,jku:[50,62,22,28],josef:28,liggghtscommandmodel_execut:13,kept:51,bewar:39,momcouplemodel_explicitcoupl:13,forcemodel_fieldstor:13,contact:39,thi:[0,48,4,1,8,10,11,12,18,65,13,20,22,25,28,38,33,73,36,37,29,39,40,41,42,43,45,47,62,50,52,54,55,56,57,59,60,61,5,66,67,74,68],cellid:[47,68,69,16],protocol:39,just:[62,66,39],wm_project_vers:39,newton:36,yet:65,previous:[9,23],propuls:52,debug:[55,73,74,29,10],save:[46,74,39],applic:[13,62,49,39,24],liggghtscommandmodel:[31,13],ibprop:50,runliggght:[46,32,1,27],measur:[43,76],specif:[13,37,74,38],manual:[13,74],uselimason:38,forcemodel_difelicedrag:13,nield:11,maciv:52,www:[13,39],interv:[55,30,74,66,27,13,32,51],maxim:[62,37,38],smoothinglength:10,txt:[43,39],fpic:39,condit:[62,18,4,10],twowaympiprop:31,core:13,forcemodel_viscforc:13,repositori:[13,39],post:23,voidfracfieldnamesnext:29,surround:62,simul:[0,30,3,12,13,51,39,23,24,38,31,32,73,36,75,19,41,42,43,52,5,59,49,66,74,21],libvtk5:39,difelicedrag:[42,34],done:[36,13,39],coars:[55,42],commit:39,produc:[11,43,13,62,20],scaleupvol:50,bound:[43,66,10],latter:75,volaverage_field:73,storag:74,liggghtscommandmodel_setdemgrav:13,standardclock:[43,28],git:[13,39],casedir:[46,43,13],support:39,centreprop:15,width:19,regionmodel_allregion:13,call:[43,13,27,38],head:39,offer:[11,62,13,20],forc:[48,10,3,71,9,49,6,18,14,17,13,24,34,38,36,37,41,42,52,62,55,2,61,67,72,74,21],heat:[11,37,38,54],"true":[49,3,71,9,6,12,51,24,27,14,69,73,36,37,38,39,41,47,5,34,55,2,61,66],expforc:36,reset:29,myprobemodelprop:67,maximum:[22,19,43,44,50,66,23],dataexchangemodel_onewayvtk:13,vortic:61,featur:[43,13,74,39,67],forcemodel_shirgaonkarib:13,exist:54,arraypo:43,check:[48,39,47,66,67,74,54],when:[55,36,50,65,39,22,44,47,25,29],test:[18,39,10],noclock:76,intend:43,consid:[55,36,65,50,47,12,73],stoke:[11,36,66,62,20],bigparticl:[22,44],longer:[0,40],treatvoidcellsasexplicitforc:36,phifieldnam:[54,14],turbul:[11,37,54,20,38],geometr:[47,69],maxnumberofparticl:[19,23],time:[30,10,12,18,51,13,28,23,27,29,32,73,36,75,19,43,5,54,55,59,62,66,74,21,76],backward:39,particlerelaxationtim:66,global:54,signific:74,computation:25,usesecondorderterm:61,alphamin:[22,65,50,44,29,15],depend:[55,62,13,71,29],speciesctranscoeff:38,readabl:39,sourc:[35,37,39,20,64,62,9,11,72,13,54],string:43,fvoptionsc:54,exact:62,drag:[17,36,55,3,52,34,6],forcemodel_xi:42,div:49,git_ssl_no_verifi:39,dir:70,upper:[12,73,10],lvtkio:39,sign:39,useaddedmass:[49,24],port:39,suppressprob:[2,49,3,24,34,38,6,74],couplinginterv:[30,13,51],current:[0,55,48,39,40,67,74,73],deriv:54,gener:[39,54,38,70,13,68],coeffici:[24,37,55,38,49],disclaim:38,modif:47,lengthscal:10,viscforceprop:49,treatforceexplicit:[55,49,41,61,3,24,9,6,52,14,34],prefer:39,volumetr:[41,54,2],should:[25,66,51,39,10],useparcelsizedependentfiltereddrag:55,memori:13,cfdemcompcfdemal:39,value2:[47,38],value1:[47,38],criteria:66,myforcemodel3:[48,74],myforcemodel2:[48,74],myforcemodel1:[48,74],checkout:39,setdemgrav:32,generalcorrelationparamet:38,finit:[17,37,20,2,41,11,61,3,4,24,47,52,64,54,38,49,6,73,59,14,34],visual:[43,13],endtim:[32,51],examin:28,noio:63,effort:39,graphic:43,prepar:39,pfieldnam:24,onewayvtk:[66,23,45],can:[55,43,19,39,2,42,49,3,23,24,11,66,71,34,38,6,31,12,13,59,73],onewayvtkprop:23,twodimension:[41,2,52],purpos:62,runfirst:[30,32,51],agent:39,ssl3_get_server_certif:39,occur:74,alwai:[55,10],multipl:6,write:[75,39,46,30,8,70,21],criterion:66,pure:[55,13],map:[57,25,56,10],clone:39,mai:[55,42,43,8,39],data:[55,26,37,56,19,39,43,23,45,57,25,75,8,21,38,31,27,13,74,51],explicit:[55,36,72,21,10],virtualmassforceprop:14,inform:[62,43,13,38,39],"switch":[30,3,9,49,6,12,14,24,27,34,69,32,73,36,37,38,41,52,46,5,55,2,61,66,74],combin:[55,13,3],liggghts_init:[31,13],approx:22,approv:[11,62,13,20],includeposit:74,voidfractionmodel_bigparticlevoidfract:13,still:39,dynam:[62,13],conjunct:[18,10],how:[13,39],vtk:[19,70,23,39],norwai:62,main:[13,74,28],particleidstosampl:74,non:39,initi:[43,18,62,10],partheattranscoeffnam:[37,38],voidfractionmodel_novoidfractionvoidfract:13,now:[55,39],discuss:54,enabl:[13,48,74,39],term:[35,55,61,64,9,72,13],name:[0,1,2,3,4,60,8,49,6,12,18,14,17,28,24,34,38,33,73,36,37,29,41,42,43,45,46,47,52,54,55,57,61,64,66,59,68],forcemodel:13,separ:13,implforcedem:[6,17,3,34,55],dataexchangemodel_twowaympi:13,pizza:39,compil:39,domain:[22,44,62,27,29,33,15],beetstra:55,replac:39,individu:38,continu:39,scienc:38,forcemodel_kochhilldrag:13,happen:13,setdemgravityprops1:32,setdemgravityprops0:32,forcesubmodel:[37,2,41,42,61,3,24,52,9,38,49,6,13,14,34],correcl:38,cellpointfac:[17,49,61,3,24,34,38,6,14],lagrangian:[55,75,39,57,25,56,10],correct:[30,39,3,62,29,13,51],accordingli:[74,39],particlecellvolumeprop:12,schillernaumanndragprop:17,usefiltereddragmodel:55,chemengsci:[6,3],base:[0,1,3,6,60,8,49,11,18,17,20,28,23,24,34,38,33,36,37,29,61,66,21,70,68],wai:[36,38],motion:[55,62,60],place:[43,18,62,10],lambda:[37,38],origin:[12,59,73],onc:[43,39],arrai:43,fast:52,open:[11,62,13,20,39],angular:62,size:[55,65,43,23,62,66,29],avail:[55,39],given:[47,66,69,16,12,13],bool1:[17,66,51,38],bool3:51,bool2:[17,51],lognam:39,nosmooth:58,m_voidspac:54,"1500e":10,githubaccess:13,dataexchangemodel_twowayfil:13,fraction:[62,64,29,73],eulerianfield:54,especi:[41,47,36,4],copi:39,specifi:[18,38,39,59,61,27,29,10,13,74,54],github:[13,39],mostli:73,than:[43,22,44,66,50,10,12,13,73],iomodel_sophio:13,speciesflux:38,sophio:[70,21],were:[62,9,39],posit:[43,75,29,61,47,62,38,69,16,74,68],seri:[19,23],pre:27,dorgan:61,ani:[13,42,48],prt:54,nodemforc:9,cfdemproject_gitcfdem:39,engin:[68,47,69,38],techniqu:31,note:[0,55,36,1,40,39,42,28,68,45,57,48,8,51,38,67,60,18,74,33],satellit:[47,29],take:[55,62,39],probem:74,sure:39,normal:[17,37,38,24,47,30,34,29,6,32],track:[70,74],dataexchangemodel_nodataexchang:13,beta:18,implicitcoupl:[36,64],cfdemcompcfdem:39,later:39,quantiti:[36,61,74,54],fsmooth:[18,10],runtim:51,probemodel_particleprob:13,regionmodel_xi:0,viscou:[49,52],viscos:55,show:13,forcemodel_archimedesib:13,permiss:39,threshold:[12,73],onli:[1,3,75,49,6,12,51,50,25,34,38,30,32,73,35,36,37,65,19,41,52,46,47,54,55,61,64,67,72,74],ratio:66,therefror:71,activ:[55,48,61,52,38,67,74],written:[75,19,42,28,46,12,13,59,21,73],allregion:[0,40],locatemodel_enginesearch:13,variou:67,get:[55,13,39],secondari:74,ssl:39,cannot:[4,54],ssh:39,trade:[11,62,13,20],requir:[13,38,29],averagingmodel_dilut:13,cfdemsolverpiso:[62,13],gradpforceprop:24,email:13,scalarfield:[12,59,4,73],where:[26,30,56,41,59,43,62,52,46,25,66,27,12,74,73],speciescfluid:38,fieldstoreprop:4,concern:39,review:38,behind:39,ibvoidfract:62,between:[36,50,19,43,23,45,62,26,38,31,13,14],"import":[47,36,74],paramet:[29,22,44,65,38,13,15],comp:52,screen:[55,12,61,5],interpolatedat:54,scaledrag:[6,3,34],come:13,jfm:[13,49,34,24],region:[0,50,29,22,44,40],parttempnam:[37,38],improv:13,kerbl:28,acceler:66,pow:[37,38],period:[47,50],explicitcoupl:72,goniva:[11,62,13,20],cfdemsystest:39,mark:[11,62,13,50,20],cfdemsolverib:13,workshop:[11,20],fieldstor:4,addit:[11,72,74,20,39],restartcfdem:46,resolut:18,usegeneralcorrel:38,hashtag:39,those:[43,22,50,44,73],"case":[43,36,18,39,61,62,56,25,75,10,13,54],readliggghtsdataprops0:51,commithashtag:39,voidfractionmodel_centrevoidfract:13,forcemodel_checkcouplinginterv:13,keepcfdforc:9,cluster:[62,13],uncom:39,locatemodel:13,lengthscalereffield:10,develop:[13,3,19],alphabet:13,upperthreshold:[12,73],same:[38,39,73],bfull:13,generalmanualprop:54,finish:43,minalphap:64,treesearch:[47,69],mani:[46,74],controldict:13,appropri:[54,29],cpvolumetricfieldnam:54,choos:[30,46,13,66],nomeshmot:[60,53],dimension:[41,2,52],ddtuinterpolationtyp:14,execut:[1,39,42,66,9,31,13],touch:29,blow:[50,22,44,29],hint:39,clockdata:43,except:[27,39],treatment:[36,30,51],versa:29,momentum:[35,36,20,64,38,11,72],around:39,read:[51,71,19,38,10],regim:[25,56],temperatur:[37,38,54],grid:[55,18],usind:65,integ:[43,74],either:[62,22,39],output:[55,43,75,38,2,59,49,3,24,5,34,29,10,6,12,74,73],scalartransportproperti:[38,54],ligght:38,ascend:43,gravityfieldnam:[41,2],ddt:14,readliggghtsdata:51,treatexplicit:[55,71],refer:[36,13,62,52,10],nusselt:38,broken:66,starttim:[32,43,5,12,74,59,51,73],fulli:[13,52],treatforcedem:[2,55,49,14,24],src:[13,74,38,39],coupl:[0,55,36,13,20,39,40,30,62,1,27,38,10,11,31,18,42,51,66],voidfractionnext:41,scalargeneralexchangeprop:38,agglomer:[22,44,29,15],stand:13,"3d8da0e960c717ff582f1517a27724144f086b83":39,act:[17,49,2,41,42,61,3,24,9,6,52,74,14,34],industri:62,mean:[36,7],processor:[47,75,19,29],routin:[43,13,39],effici:[25,62],paraview:[4,39],your:[43,4,39],parscal:38,log:[71,42,74],overwrit:46,start:[74,43,47,5,12,32,59,51,73],cfdem_liggghts_makefile_nam:39,divtauinterpolationtyp:49,diffus:38,vectorfield:[59,4,73],momcouplemodel_implicitcoupl:13,cfdemsolverpimpleimex:38,possibl:13,"default":[0,48,2,3,1,8,9,10,6,12,18,14,17,28,24,34,29,33,73,36,37,38,41,42,67,45,46,47,5,49,50,51,52,54,55,57,60,61,64,66,68,69,71,72,74,75],creat:[50,39],certain:[0,13,54,29],nocoupl:35,felic:34,file:[75,19,39,71,42,43,5,23,64,46,62,8,70,31,12,13,74,51],cgwarnonli:42,fill:10,smoothingmodel_constdiffsmooth:13,field:[49,3,4,10,6,12,18,14,17,22,24,34,38,33,73,36,37,29,41,42,44,52,47,62,50,54,55,2,59,61,64,66,70,72,74],zerogradi:[18,10],valid:14,you:[43,13,74,4,39],symbol:[30,51],averagingmodel_xi:57,particlevolum:5,directori:[75,18,39,43,23,46,10,13,74],goe:[37,38],mass:[49,38,14,24],represent:[50,65,22,44,29,13],all:[36,39,42,50,47,62,29,10,13,74,73],consider:55,rhomixfieldnam:54,voidfractionfieldnam:[17,37,41,3,64,34,38,6,54],scalar:[37,4,47,54,38,10,11,59,14,73],correl:[6,17,3,34,38],sct:54,veloctii:36,writelast:46,articl:39,cfdtool:39,laeuscalartempprop:37,parcel:[55,18],fals:[49,3,9,10,6,12,51,50,24,14,38,73,37,69,42,52,47,5,29,34,54,55,2,61],urel:14,mpi:[31,13,1,66],util:[70,39],mechan:61,failur:39,veri:[16,65],modeltyp:13,unalt:[50,22,44,29],cfdemuseonli:29,list:[0,55,36,37,18,74,42,28,45,57,48,8,68,38,67,60,13,1,33],adjust:[22,44,29,15],small:[13,18,39,64],cfdem_add_libs_dir:39,zero:[22,9],pressur:[62,52,24],design:[47,62,50,38,55],pass:[55,13],further:[47,12,39],forcemodel_virtualmassforc:13,gunn:38,sub:[55,37,38,2,41,22,3,61,50,52,71,9,29,49,6,24,13,14,34],liggghtspath:31,section:[13,39],delet:[74,9],version:[0,55,13,40,39],convectiveheatflux:[37,38],"public":[13,39],contrast:54,movement:62,modular:13,free:39,tinterpolationtyp:37,modifi:39,valu:[17,37,55,64,50,3,24,66,71,54,38,10,6,12,73,14,34],search:[22,50,44,47,69,68],xstep:74,writenam:46,versioninfo:39,speciescflux:38,magnitud:[12,73],myforcemod:74,diamet:[37,38,22,3,44,50,62,34,29,6,18],via:[48,19,42,67,10,31,72,13,74,33],cfdem_add_lib_path:39,timestep:[13,51,23],transit:[50,65],filenam:[19,23],minallowedvcellbyvparcel:66,writetim:[12,59,73],select:[0,42,46,9,13,32],laeuscalartemp:37,tackl:62,two:[19,2,41,52,38,13],formul:[17,49,3,24,52,6,13],more:[36,22,43,44,50,13],desir:[43,39],forcemodel_archimed:13,nrdemstep:27,flag:[17,37,38,39,42,50,3,24,47,66,34,29,10,6,51],known:[47,56,69],none:[0,7,58,3,4,48,8,9,49,6,12,18,1,15,17,22,23,24,26,28,29,30,31,32,33,34,36,75,69,40,42,43,44,45,46,57,5,50,16,54,55,2,59,60,61,63,21,67,70,71,53,74,68,76],dev:39,remain:[50,22,44,29],dem:[30,3,6,1,9,49,11,51,13,14,17,19,20,23,24,26,34,38,31,33,36,37,39,41,42,45,46,62,52,55,2,60,61,66,74],sphere:[47,62],minimum:[22,65,50,44,64,66,29,15],dmolecular:38,switch5:[6,49,3,34,38],forcemodel_particlevolum:13,divid:[13,29],rather:[25,56],anoth:[47,65],couplingproperi:13,number4:[22,44],number2:[50,22,44,29,10,12,15],number3:[50,12,22,44,29],number1:[50,65,22,44,29,10,12,15],phinam:54,momcouplemodel_xi:36,trilinear:65,stash:39,caus:27,media:11,help:39,myprobemodel:67,metallurg:62,treatdem:[55,71],dataexchangemodel:[62,13],thermal:[37,38],through:39,hollowaydrag:74,fieldtimeaverageprop:59,style:13,fvoptionst:54,pimpleimex:[18,10],timeevalful:43,usevolumefract:73,might:[0,55,36,1,39,42,28,45,57,48,8,68,67,13,27,18,74,33,60],turbulencemodeltyp:13,timestamp:[46,30],framework:[11,62,13,20],detach:39,archimedesprop:2,bigger:[13,22,50,44],troubleshoot:39,convect:[11,37,38],easili:13,found:13,weight:[73,22,44,29,15],procedur:[13,39],runeverycouplingstep:[30,51],oil:62,expect:66,upperlimit:10,safeti:43,execute_1:30,execute_0:30,difelicedragprop:34,hill:6,print:74,naumann:17,advanc:39,reason:[13,39,66],voidfractionnam:54,put:43,forcemodel_schillernaumanndrag:13,kochhilldragprop:6,smoothingmodel_nosmooth:13,veloc:[49,3,75,10,6,14,17,24,25,34,38,36,37,52,57,62,54,55,56,61,64,66],omit:43,success:13,cfdem_ut_dir:[43,39],feel:39,exchang:[35,36,18,19,20,23,45,26,64,38,10,11,31,72,13,54],number:[55,43,30,19,39,22,23,64,50,47,66,44,38,10,74,51],cadd:14,stabl:36,gpl:13,superpos:[42,72],differ:[39,2,41,47,62,71,69,13,54],script:[43,13,39],interact:[17,49,2,41,42,61,3,24,9,6,52,74,14,34],least:[13,39],statement:43,smoothen:18,molecular:38,cfd:[1,30,9,11,12,13,15,19,20,22,23,25,27,29,31,32,33,35,36,75,38,39,40,41,43,44,45,46,47,62,50,16,52,55,56,60,64,65,26,21,69,72,74,68],evinc:13,option:[49,3,71,9,10,6,12,14,15,17,22,24,27,34,38,73,37,29,39,41,44,52,46,47,5,50,54,55,2,61,66,69,59],verbosetofil:74,part:[28,39,22,47,38,13],preno:27,timeinterv:[66,32,51],mclaughlin:61,grep:74,noblank:30,remov:39,store:[46,43,4,23],meshmot:53,toward:62,gidaspowdragprop:3,comput:[37,39,52,47,62,38,13],gedit:39,packag:[13,39],fluidscalarfield:38,self:52,violat:42,also:[39,9,29],cfdemtesttut:39,cellpoint:[17,37,61,3,34,38,6],ergun:3,distribut:[47,13,65,44],lowerthreshold:[12,73],writetofil:[12,5,73],implforcedemaccumul:[6,55],previou:[62,29],reach:13,mixtur:54,beetstradrag:74,most:[42,74,54,39],rho:42,cover:[13,62,22,50,44],liggghtscommandmodel_runliggght:13,clean:65,lvtkfilter:39,particlecellvolum:12,engineib:[47,29],find:[68,47,13,69,39],access:39,firewal:39,particlevolumeprop:5,factor:3,cfdemsolverpisoscalar:13,voidfractionmodel:13,ubuntuvtk_fp:39,model_i:[55,42,1],express:61,cfdem_add_libs_nam:39,model_x:[55,42,1],cfdem_project_dir:[13,39],restart:46,ofvers:39,volweightedaverag:73,relativepath:23,certif:39,set:[55,36,30,38,39,42,22,44,50,47,62,66,27,9,29,69,71,72,13,32,54],dump:[27,39],transportproperti:13,see:[37,20,39,2,41,61,3,24,11,67,9,38,49,6,71,52,74,14,34],iomodel_trackio:13,close:13,analog:12,piso:[11,20],someth:39,voidfractionmodel_gaussvoidfract:13,smallest:66,altern:[46,42,54,39,38],concentr:54,numer:[6,38],solv:[36,20,62,11,13,54],cfdem_src_dir:39,both:[13,39],voidfract:[50,3,4,7,10,6,18,65,17,22,34,38,15,33,73,37,29,41,44,54,64,59,21],last:[46,47,30,9,69],immers:[41,47,62,52,35],tempor:[47,59,73],whole:[62,40],point:[47,29],warnonli:66,pneumat:[37,38],trilinearprop:65,due:66,timeaverage_scalarfield:59,implicit:[17,36,3,64,38,10,6,18,21],imag:[47,50],demand:[55,71],spliturelcalcul:14,look:[0,55,36,1,18,39,42,28,45,57,60,8,68,13,33],twowayfilesprop:19,straight:16,erron:27,"while":[62,39],abov:[30,3,39],error:[13,18,39,10],loos:13,loop:43,pack:51,readi:42,centr:[55,22,65,50,44,47,33,15],readm:39,octav:13,minim:[47,50],executeprops0:30,executeprops1:30,conflict:36,updatemixtureproperti:54,wherea:[36,13],pressurefieldnam:52,forcesubmodel_imex:13,user:[55,13,54,66],koch:6,robust:16,implement:[36,62,29,67,11,13,74,54],lower:[12,73,10],particul:3,older:39,runeverywritestep:30,enginesearch:69,cfdem_lpp_dir:39,vorticityinterpolationtyp:61,partspeciesfluxnam:38,tempfieldnam:[37,38],theoret:3,voidfracfieldnamesprev:29,input:[31,13],euler:10,format:39,impldem:[55,71],fedora_fp:39,lost:39,semi:55,resolv:[41,52],flux:[37,54,14,38],pirker:[11,62,20],engineibprop:47,some:[47,13,71,69,39],sampl:74,poros:[22,44,29,15],scale:[37,38,22,3,44,5,34,29,10,6,13,15],id2:74,id3:74,per:[22,74,61],id1:74,mathemat:52,larg:[13,54],slash:[30,51],xprecis:74,proc:[11,62,75,20],liggghtscommmand:[30,46,1,27,32,51],clockmodel_standardclock:13,run:[43,1,19,39,28,46,30,27,38,31,13,32,51,76],particleid:74,stem:[41,2],forcemodel_volweightedaverag:13,step:[55,30,19,39,74,43,23,46,62,66,27,29,13,32,51],voidfractionmodel_ibvoidfract:13,writeliggght:1,impos:36,folder_of_new_additionallibs_fil:39,cfdemproject:[13,39],block:39,within:[55,1,39,22,62,13,73],ensur:[47,54],chang:[36,39,43,66,27,10],artifici:[50,22,44,29],occupi:[22,44,29,15],lowerlimit:10,question:39,"long":39,custom:39,includ:[35,39,64,40,72,13,74,54],suit:[41,52],forward:16,properli:39,gauss:44,newer:39,atom:38,line:[30,51,39],info:74,zhu:3,archimedesib:[41,62],lvtkcommon:39,constant:[50,22,44,62,29,70,13,54],repres:[37,41,52,47,62,38,12,33],incomplet:[55,42,8],lpp:39,sequenti:[42,19],forcemodel_fieldtimeaverag:13,printeveri:74,librari:39,tech:[37,38],smoothingmodel_xi:18,meaning:36,cfdemsolverscalar:37,cfdem_tut_dir:39,algorithm:[20,28,52,47,62,69,10,11,16],vice:29,depth:52,uinterpolationtyp:[17,61,3,34,38,6,14],code:[43,39,20,28,23,45,19,62,26,50,38,11,31,13,54],gran_pizza_17aug10:39,cfdem_project_user_dir:39,fieldtimeaverag:59,superfici:54,forcemodel_laeuscalartemp:13,forcemodel_gidaspowdrag:13,send:13,granular:[37,64,11,25,56,34,38,6],aris:39,shirgaonkaribprop:52,deactiv:74,account:[55,49,20,22,44,24,29,11,15],volum:[49,3,4,6,11,12,14,15,17,20,22,24,34,38,33,73,37,29,41,44,52,47,5,50,54,2,61,64,65,66,59],stackoverflow:39,implicitli:[55,36],relev:[36,13,18,39],tri:61,cpvolumetr:54,"try":39,pleas:[0,55,36,1,39,42,28,45,57,48,8,68,67,13,18,74,33,60],cfl:66,smaller:[13,66],prandtl:54,"g\u00f6teborg":[11,20],gmbh:13,investig:[37,38],download:39,compat:39,index:51,compar:18,cell:[55,36,50,69,22,3,62,44,56,65,47,25,66,68,29,10,16,12,73,54,15],experiment:6,github_:39,bodi:[62,22],checkcouplinginterv:66,ubuntu:39,becom:66,sinc:43,convert:39,larger:[66,10],cert:39,typic:[36,66],particletrack:70,appli:[0,55,36,1,20,42,28,68,45,57,25,56,8,9,11,71,18,74,33,60],forcemodel_meilift:13,apt:39,cloud:[25,13,56],from:[55,19,39,2,41,62,23,47,25,29,31,65],commun:[55,9],doubl:43,particl:[48,2,3,4,6,75,8,9,10,11,12,18,14,15,17,13,20,22,23,24,25,27,34,29,31,33,73,36,37,38,19,41,42,44,52,47,5,49,50,54,55,56,57,59,61,64,65,66,67,70,74,68],next:29,doubt:3,usr:39,postprocess:[39,5,66,12,13,59,73],name_:46,casepath:75,sampleal:74,"transient":[37,38],iii:66,smoothinglengthreferencefield:10,alia:[43,39],alic:[62,22,50],tau:49,process:[36,43,62],sudo:39,gidaspowdrag:3,serial:75,virtualmassforc:14,surfac:[47,50,54],filepath:51,probemodel_noprob:13,instead:[47,39],switchingvoidfract:3,voidfractionmodel_dividedvoidfract:13,forcemodel_nodrag:13,attent:[18,10],physic:[7,54,52],correspond:[38,47,69,16,74,68],element:13,allow:[65,67,62,66,38,29,13],velocityfieldnam:[66,49,24],move:47,fluidscalarfieldinterpolationtyp:38,chosen:42,liggghtscommandmodel_xi:1,cfdem_add_lib:39,fluidiz:6,therefor:[66,39],engineprop:69,greater:[12,73],cfdem_vers:39,handl:[55,74],auto:38,probemodel:13,scalargeneralexchang:38,shirgaonkar:52,disregard:62,our:39,scalarviscos:[55,37,61,3,34,38,49,6],special:[62,30,50,51],out:[43,10],variabl:[36,43,9,39],speciesconvect:38,influenc:[37,38,22,4,44,5,66,50,29,12,59,73],scalarfieldnam:[59,4,73],suitabl:38,rel:[46,23],wich:39,communi:55,cfdemcomplig:39,constdiffsmooth:[18,10],archimed:[42,13,2],insid:[56,22,44,25,50,15],manipul:[60,39],heatfluid:[37,38],releas:39,afterward:43,speciesc:38,unwant:74,keep:[50,22,74,44,29],averagingmodel:13,length:[38,10],organis:13,navier:[11,36,62,20],gradpforc:[42,13,74,24],softwar:[11,62,13,20],downof_:39,christoph:13,qualiti:66,date:51,"1e3":72,"1e2":72,"1e4":72,owner:[11,62,13,20],publickei:39,licens:13,wierink:62,system:[11,13,3,39],viscforc:[13,42,49,74],termin:[42,74,39],meshmotionmodel:13,"var":39,bed:6,meshmotionmodel_nomeshmot:13,result:[22,39,66],caclul:9,hager:[11,62,22,50,20],have:[55,39,43,57,29,13,73],need:[30,39,42,43,66,70,13,51],probedebug:74,min:66,discret:[20,49,3,24,11,13],which:[48,58,3,4,9,10,13,22,27,29,36,60,39,43,44,62,50,70,72,74,68,76],deenet:38,graviti:[41,32,2],singl:25,forcemodel_particlecellvolum:13,"1e10":[72,10],xysplit:47,"class":[0,43,36,1,18,28,68,60,8,33,13,54],iomodel_basicio:13,dens:[57,25,56,36,38],face:[54,39],deni:39,determin:13,gain:62,cfdem_pizza_dir:39,vtk_out:[19,23],text:74,verbos:[55,37,38,2,74,61,3,52,46,5,30,27,34,29,10,6,12,32,51,73],word1:[66,54,73],word3:54,word2:54,locat:[39,43,47,62,69,16,13,68],vectorfieldnam:[59,4,73],dispers:54,suppos:[22,65,50,44,25,56,29],ksl:[18,10],local:[18,39,64],contribut:[62,22,50],pull:39,increas:[50,51,22,44,29],enginesearchib:[47,62],organ:13,checkcouplingintervalprop:66,integr:9,contain:[62,43],grad:[49,24],runliggghtsprop:27,statu:39,correctli:[4,39],boundari:[35,41,4,52,47,62,29,10,18],state:39,chemic:38,cfdem_bashrc:39,partheatfluxnam:[37,38],generalmanu:[38,54],predefin:[38,39],kei:[13,39],zsplit:47,fvoption:54,equal:[43,13,65,10],etc:[62,13,54,39],admit:39,instanc:30,grain:42,equat:[55,36,37,20,62,11,13,54],freeli:13,meilift:[61,74],comment:39,partspeciestranscoeffnam:38,scalar3:[37,3,66,34,6,51,32,54],scalar2:[37,19,49,3,5,66,34,6,51,32,54,73],scalar1:[37,19,61,3,5,24,52,66,54,49,6,51,73,32,14,34],testtutori:39,scalar7:38,scalar6:[66,38],scalar5:[37,3,38,66],scalar4:[37,3,51,66],respect:[55,43,39,50,62,28],addition:[70,72,30,21,39],treat:36,trajectori:[11,20],partial:[62,50],neighbour:65,write_restart:[46,30],present:[62,39,10],deen:38,multi:62,nodrag:9,couplingfilenam:[19,23],defin:[0,7,2,3,4,1,8,9,10,6,12,18,14,15,16,17,13,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,5,49,50,51,52,53,54,55,56,57,58,60,61,63,64,65,66,68,69,70,71,72,73,59,75,76],version2x:39,layer:47,volweightedaverageprop:73,impforc:36,site:13,demt:[13,19,23],archiv:22,"7_2":11,parti:13,python:[43,39],phi:[3,54,14],http:[13,39],dividedprop:29,cubic:65,effect:55,phy:52,eulerian:[57,25,56,38,55],expand:13,off:[48,58,3,30,8,6,18,51,17,24,34,38,32,35,37,29,46,55,63,67,74,76],nevertheless:39,well:[11,74,10],exampl:13,command:13,averagingmodel_dens:13,interpol:[17,37,38,55,61,3,24,34,29,49,6,14,65],dsphere:[5,22,44,29,15],latest:[13,39],distanc:[47,50],opencfd:[11,62,13,20],less:36,obtain:36,tcp:39,cellvolum:12,makefil:39,wen:3,add:[13,74,39],densiti:[41,42,66,54,2],imex:[55,71],realiz:[62,38],know:54,"2nd":38,recurs:[47,69],iomodel_xi:8,twowayfil:[19,45],like:43,cshrc:39,constdiffsmoothingprop:10,gradpinterpolationtyp:24,necessari:[22,39,43,52,70,13],porou:11,schillernaumanndrag:17,momcouplemodel:13,liggght:[30,39,20,46,62,27,51,38,11,13,32,14],"export":39,home:39,transport:[11,55,37,38,54],cfdem_liggghts_src_dir:39,vparticl:[49,22,44,24,50,29,15],restart_:30,avoid:[36,74],estim:66,setsourcefield:72,journal:[61,52],usag:[55,43,13],voidfractionmodel_trilinearvoidfract:13,disabl:67,own:[66,39],automat:[30,27,39],partspeciesfluidnam:38,van:6,transfer:[11,37,38],demtim:66,biggest:66,"function":[39,20,11,12,13,59,72,73],twowaympi:[31,45],gaussian:44,basicio:[75,21],matplot:43,temp:[37,38],displac:[11,20],whether:54,smooth:[36,50,65,58,10,18],troubl:[27,39],below:[13,48,74,39,67],limit:[37,38,20,22,44,65,62,50,29,10,11,72,13,15],umaxexpect:66,otherwis:[74,13,18,39,10],problem:[36,13,62,39],evalu:[25,43,76],"int":[62,43],dure:[30,74,46,27,13,32,51],voidfractionmodel_xi:33,courant:66,detail:[37,39,2,41,61,3,24,52,9,38,49,6,13,74,14,34],virtual:14,other:[0,55,36,1,18,39,42,28,45,57,60,8,68,13,74,33],rememb:43,varieti:54,buijtenen:6,repeat:51,zhou:[13,49,34,24],june:[11,20],rhomix:54,printonlyatstep:74,"8th":62},objtypes:{},objnames:{},filenames:["regionModel","liggghtsCommandModel","forceModel_Archimedes","forceModel_GidaspowDrag","forceModel_fieldStore","forceModel_particleVolume","forceModel_KochHillDrag","voidFractionModel_noVoidFraction","IOModel","forceModel_noDrag","smoothingModel_constDiffSmoothing","cfdemSolverPisoScalar","forceModel_particleCellVolume","CFDEMcoupling_Manual","forceModel_virtualMassForce","voidFractionModel_centreVoidFraction","locateModel_standardSearch","forceModel_SchillerNaumannDrag","smoothingModel","dataExchangeModel_twoWayFiles","cfdemSolverPiso","IOModel_sophIO","voidFractionModel_bigParticleVoidFraction","dataExchangeModel_oneWayVTK","forceModel_gradPForce","averagingModel_dilute","dataExchangeModel_noDataExchange","liggghtsCommandModel_runLiggghts","clockModel","voidFractionModel_dividedVoidFraction","liggghtsCommandModel_execute","dataExchangeModel_twoWayMPI","liggghtsCommandModel_setDEMGravity","voidFractionModel","forceModel_DiFeliceDrag","momCoupleModel_noCouple","momCoupleModel","forceModel_LaEuScalarTemp","forceModel_scalarGeneralExchange","githubAccess_public","regionModel_allRegion","forceModel_ArchimedesIB","forceModel","clockModel_standardClock","voidFractionModel_GaussVoidFraction","dataExchangeModel","liggghtsCommandModel_writeLiggghts","locateModel_engineSearchIB","probeModel_noProbe","forceModel_viscForce","voidFractionModel_IBVoidFraction","liggghtsCommandModel_readLiggghtsData","forceModel_ShirgaonkarIB","meshMotionModel_noMeshMotion","scalarTransportModel","forceSubModel","averagingModel_dense","averagingModel","smoothingModel_noSmoothing","forceModel_fieldTimeAverage","meshMotionModel","forceModel_MeiLift","cfdemSolverIB","IOModel_noIO","momCoupleModel_implicitCouple","voidFractionModel_trilinearVoidFraction","forceModel_checkCouplingInterval","probeModel","locateModel","locateModel_engineSearch","IOModel_trackIO","forceSubModel_ImEx","momCoupleModel_explicitCouple","forceModel_volWeightedAverage","probeModel_particleProbe","IOModel_basicIO","clockModel_noClock"],titles:["regionModel command","liggghtsCommandModel command","forceModel_Archimedes command","forceModel_GidaspowDrag command","forceModel_fieldStore command","forceModel_particleVolume command","forceModel_KochHillDrag command","voidfractionModel_noVoidFractionVoidFraction command","IOModel command","forceModel_noDrag command","smoothingModel_constDiffSmoothing command","cfdemSolverPisoScalar command","forceModel_particleCellVolume command","CFDEMcoupling Documentation","forceModel_virtualMassForce command","voidfractionModel_centreVoidFraction command","locateModel_standardSearch command","forceModel_SchillerNaumannDrag command","smoothingModel command","dataExchangeModel_twoWayFiles command","cfdemSolverPiso command","IOModel_sophIO command","voidfractionModel_bigParticleVoidFraction command","dataExchangeModel_oneWayVTK command","forceModel_gradPForce command","averagingModel_dilute command","dataExchangeModel_noDataExchange command","liggghtsCommandModel_runLiggghts command","clockModel command","voidfractionModel_dividedVoidFraction command","liggghtsCommandModel_execute command","dataExchangeModel_twoWayMPI command","liggghtsCommandModel_setDEMGravity command","voidfractionModel command","forceModel_DiFeliceDrag command","momCoupleModel_noCouple command","momCoupleModel command","forceModel_LaEuScalarTemp command","forceModel_scalarGeneralExchange command","githubAccess_public","regionModel_allRegion command","forceModel_ArchimedesIB command","forceModel command","clockModel_standardClock command","voidfractionModel_GaussVoidFraction command","dataExchangeModel command","liggghtsCommandModel_writeLiggghts command","locateModel_engineSearchIB command","probeModel_noProbe command","forceModel_viscForce command","voidfractionModel_IBVoidFraction command","liggghtsCommandModel_readLiggghtsData command","forceModel_ShirgaonkarIB command","meshMotionModel_noMeshMotion command","scalarTransportModel command","forceSubModel command","averagingModel_dense command","averagingModel command","smoothingModel_noSmoothing command","forceModel_fieldTimeAverage command","meshMotionModel command","forceModel_MeiLift command","cfdemSolverIB command","IOModel_noIO command","momCoupleModel_implicitCouple command","voidfractionModel_trilinearVoidFraction command","forceModel_checkCouplingInterval command","probeModel command","locateModel command","locateModel_engineSearch command","IOModel_trackIO command","forceSubModel_ImEx command","momCoupleModel_explicitCouple command","forceModel_volWeightedAverage command","probeModel_particleProbe command","IOModel_basicIO command","clockModel_noClock command"],objects:{},titleterms:{execut:30,forcemodel_archimedesib:41,syntax:[0,1,2,3,4,7,8,9,10,6,12,18,14,15,17,16,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,19,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,5,63,64,65,66,67,68,69,70,71,72,73,74,75,76],voidfractionmodel_bigparticlevoidfract:22,githubaccess_publ:39,regionmodel:0,forcemodel_laeuscalartemp:37,forcemodel_gidaspowdrag:3,locatemodel_enginesearch:69,cfdemsolverpisoscalar:11,voidfractionmodel:33,liggghtscommandmodel:1,voidfractionmodel_novoidfractionvoidfract:7,probemodel:67,dataexchangemodel:45,averagingmodel_dilut:25,cfdemsolverpiso:20,solver:13,forcemodel:42,forcemodel_difelicedrag:34,dataexchangemodel_twowaympi:31,iomodel_trackio:70,clockmodel_noclock:76,momcouplemodel:36,replac:30,clockmodel:28,forcemodel_kochhilldrag:6,forcemodel_virtualmassforc:14,liggghtscommandmodel_readliggghtsdata:51,forcesubmodel:55,content:13,voidfractionmodel_gaussvoidfract:44,liggghtscommand:13,forcemodel_viscforc:49,forcemodel_volweightedaverag:73,voidfractionmodel_trilinearvoidfract:65,dictionari:13,writeliggght:30,forcemodel_schillernaumanndrag:17,about:13,smoothingmodel_nosmooth:58,forcemodel_scalargeneralexchang:38,averagingmodel:57,tutori:13,readliggght:30,voidfractionmodel_ibvoidfract:50,forcemodel_meilift:61,restrict:[0,1,2,3,4,7,8,9,10,6,12,18,14,15,17,16,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,19,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,5,63,64,65,66,67,68,69,70,71,72,73,74,75,76],instal:13,scalartransportmodel:54,liggghtscommandmodel_setdemgrav:32,cfdemsolverib:62,iomodel:8,regionmodel_allregion:40,locatemodel_standardsearch:16,forcemodel_gradpforc:24,couplingproperti:13,meshmotionmodel:60,dataexchangemodel_twowayfil:19,forcemodel_archimed:2,relat:[7,2,3,4,30,8,9,10,6,12,14,15,17,16,22,23,24,25,26,27,34,29,31,32,73,35,37,38,19,40,41,42,43,44,45,46,47,5,49,50,51,52,54,55,56,57,58,61,63,64,65,66,21,69,70,71,72,53,59,75,76],iomodel_noio:63,iomodel_sophio:21,momcouplemodel_implicitcoupl:64,cfdemcoupl:13,dataexchangemodel_onewayvtk:23,can:30,meshmotionmodel_nomeshmot:53,voidfractionmodel_centrevoidfract:15,smoothingmodel:18,forcemodel_checkcouplinginterv:66,forcemodel_shirgaonkarib:52,locatemodel_enginesearchib:47,locatemodel:68,forcemodel_particlevolum:5,smoothingmodel_constdiffsmooth:10,liggghtscommandmodel_execut:30,momcouplemodel_nocoupl:35,rather:30,liggghtscommandmodel_writeliggght:46,forcemodel_fieldtimeaverag:59,probemodel_noprob:48,complex:30,document:13,forcemodel_particlecellvolum:12,clockmodel_standardclock:43,dataexchangemodel_nodataexchang:26,voidfractionmodel_dividedvoidfract:29,forcesubmodel_imex:71,forcemodel_nodrag:9,iomodel_basicio:75,momcouplemodel_explicitcoupl:72,forcemodel_fieldstor:4,descript:[0,1,2,3,4,5,6,7,8,9,10,11,12,18,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],liggghtscommandmodel_runliggght:27,exampl:[0,1,2,3,4,7,8,9,10,6,12,18,14,15,17,16,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,19,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,5,63,64,65,66,67,68,69,70,71,72,73,74,75,76],command:[0,1,2,3,4,5,6,7,8,9,10,11,12,18,14,15,17,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,19,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],averagingmodel_dens:56,model:13,probemodel_particleprob:74}}) \ No newline at end of file diff --git a/doc/_build/html/smoothingModel.html b/doc/_build/html/smoothingModel.html new file mode 100644 index 0000000..fc6d932 --- /dev/null +++ b/doc/_build/html/smoothingModel.html @@ -0,0 +1,234 @@ + + + + + + + + + + + smoothingModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • smoothingModel command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

smoothingModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
smoothingModel model;
+
+
+
    +
  • model = name of the smoothingModel to be applied
  • +
+
+
+

Examples¶

+
smoothingModel off;
+
+
+
smoothingModel  constDiffSmoothing;
+
+
+
smoothingModel  localPSizeDiffSmoothing;
+
+
+

Note: This examples list might not be complete - please look for other models (smoothingModel_XY) in this documentation.

+

ATTENTION: In case a smoothing model is used in conjunction with “PimpleImEx” solvers, the fields “f” and “fSmooth” must be placed in the initial time directory! This is because zeroGradient boundary conditions for the fields “f” and “fSmooth” must be specified, otherwise the smoothing operation will give an Error.

+
+
+

Description¶

+

The smoothingModel is the base class for models that smoothen the exchange fields (i.e., voidfraction and the Ksl field in case of implicit force coupling). This is relevant in case one uses a small grid resolution compared to the local particle diameter (or parcel diameter in case one uses a parcel approach).

+
+
+

Restrictions¶

+
+
These models are in beta testing.
+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/smoothingModel_constDiffSmoothing.html b/doc/_build/html/smoothingModel_constDiffSmoothing.html new file mode 100644 index 0000000..c226a1f --- /dev/null +++ b/doc/_build/html/smoothingModel_constDiffSmoothing.html @@ -0,0 +1,250 @@ + + + + + + + + + + + smoothingModel_constDiffSmoothing command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • smoothingModel_constDiffSmoothing command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

smoothingModel_constDiffSmoothing command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
smoothingModel constDiffSmoothing;
+constDiffSmoothingProps
+{
+    lowerLimit number1;
+    upperLimit number2;
+    smoothingLength lengthScale;
+    smoothingLengthReferenceField lengthScaleRefField;
+    verbose;
+}
+
+
+
    +
  • number1 = scalar fields will be bound to this lower value
  • +
  • number2 = scalar fields will be bound to this upper value
  • +
  • lengthScale = length scale over which the exchange fields will be smoothed out
  • +
  • lengthScaleRefField = length scale over which reference fields (e.g., the average particle velocity) will be smoothed out. Should be always larger than lengthScale. If not specified, will be equal to lengthScale.
  • +
  • verbose = (optional, default false) flag for debugging output
  • +
+
+
+

Examples¶

+
constDiffSmoothingProps
+{
+    lowerLimit 0.1;
+    upperLimit 1e10;
+    smoothingLength 1500e-6;
+    smoothingLengthReferenceField 9000e-6;
+}
+
+
+
+
+

Description¶

+

The “constDiffSmoothing” model is a basic smoothingModel model which reads a smoothing length scale being used for smoothing the exchange fields (voidfraction, Ksl, f if present). This model can be used for smoothing explicit force coupling fields, as well as implicit force coupling algorithms. +Smoothing for reference fields is performed to “fill in” values in cells in which these reference fields are not specified. Values calculated in the cells (via Lagrangian-To-Euler mapping) are NOT changed! These reference fields are, e.g., the average particle velocity, which are not specified in all cells in case the flow is rather dilute.

+
+
+

Restrictions¶

+
+
This model is tested in a limited number of flow situations.
+

ATTENTION: In case a smoothing model is used in conjunction with “PimpleImEx” solvers, the fields “f” and “fSmooth” must be placed in the initial time directory! This is because zeroGradient boundary conditions for the fields “f” and “fSmooth” must be specified, otherwise the smoothing operation will give an Error.

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/smoothingModel_noSmoothing.html b/doc/_build/html/smoothingModel_noSmoothing.html new file mode 100644 index 0000000..4e69b7e --- /dev/null +++ b/doc/_build/html/smoothingModel_noSmoothing.html @@ -0,0 +1,227 @@ + + + + + + + + + + + smoothingModel_noSmoothing command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • smoothingModel_noSmoothing command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

smoothingModel_noSmoothing command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
smoothingModel off;
+
+
+
+
+

Examples¶

+
smoothingModel off;
+
+
+
+
+

Description¶

+

The “noSmoothing” model is a dummy smoothingModel model which does no smoothing.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/voidFractionModel.html b/doc/_build/html/voidFractionModel.html new file mode 100644 index 0000000..d594fe0 --- /dev/null +++ b/doc/_build/html/voidFractionModel.html @@ -0,0 +1,227 @@ + + + + + + + + + + + voidfractionModel command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • voidfractionModel command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

voidfractionModel command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
voidfractionModel model;
+
+
+
    +
  • model = name of the voidfractionModel to be applied
  • +
+
+
+

Examples¶

+
voidfractionModel centre;
+
+
+

Note: This examples list might not be complete - please look for other models (voidfractionModel_XY) in this documentation.

+
+
+

Description¶

+

The voidfractionModel is the base class for models to represent the DEM particle’s volume in the CFD domain via a voidfraction field.

+
+
+

Restrictions¶

+
+
none.
+

Default: none.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/voidFractionModel_GaussVoidFraction.html b/doc/_build/html/voidFractionModel_GaussVoidFraction.html new file mode 100644 index 0000000..4915776 --- /dev/null +++ b/doc/_build/html/voidFractionModel_GaussVoidFraction.html @@ -0,0 +1,249 @@ + + + + + + + + + + + voidfractionModel_GaussVoidFraction command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • voidfractionModel_GaussVoidFraction command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

voidfractionModel_GaussVoidFraction command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
voidfractionModel Gauss;
+GaussProps
+{
+    maxCellsPerParticle number1;
+    alphaMin number2;
+    weight number3;
+    porosity number4;
+}
+
+
+
    +
  • number1 = maximum number of cells covered by a particle (search will fail when more than number1 cells are covered by the particle)
  • +
  • number2 = minimum limit for voidfraction
  • +
  • number3 = (optional) scaling of the particle volume to account for porosity or agglomerations.
  • +
  • number4 = (optional) diameter of the particle’s representation is artificially increased according to number2 * Vparticle, volume remains unaltered!
  • +
+
+
+

Examples¶

+
voidfractionModel Gauss;
+GaussProps
+{
+    maxCellsPerParticle 1000;
+    alphaMin 0.10;
+    weight 1.;
+    porosity 1.;
+}
+
+
+
+
+

Description¶

+

The Gauss voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle. The volume is here distributed according to a Gaussian distribution.

+

The region of influence of a particle can be increased artificially by “porosity”, which blows up the particles, but keeps their volume (for voidfraction calculation) constant.

+

The particle volume occupied in the CFD domain can be adjusted by the parameter “weight”, using Vparticle=dsphere^3*pi/6*weight.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/voidFractionModel_IBVoidFraction.html b/doc/_build/html/voidFractionModel_IBVoidFraction.html new file mode 100644 index 0000000..e28d51d --- /dev/null +++ b/doc/_build/html/voidFractionModel_IBVoidFraction.html @@ -0,0 +1,248 @@ + + + + + + + + + + + voidfractionModel_IBVoidFraction command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • voidfractionModel_IBVoidFraction command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

voidfractionModel_IBVoidFraction command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
voidfractionModel IB;
+IBProps
+{
+    maxCellsPerParticle number1;
+    alphaMin number2;
+    scaleUpVol number3;
+    checkPeriodicCells ;
+}
+
+
+
    +
  • number1 = maximum number of cells covered by a particle (search will fail when more than number1 cells are covered by the particle)
  • +
  • number2 = minimum limit for voidfraction
  • +
  • number3 = diameter of the particle’s representation is artificially increased according to number3 * Vparticle, volume remains unaltered!
  • +
  • checkPeriodicCells = (optional, default false) flag for considering the minimal distance to all periodic images of this particle
  • +
+
+
+

Examples¶

+
voidfractionModel IB;
+IBProps
+{
+    maxCellsPerParticle 1000;
+    alphaMin 0.10;
+    scaleUpVol 5.0;
+}
+
+
+
+
+

Description¶

+

The IB voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle. The model is specially designed for cfdemSolverIB and creates a smooth transition of the voidfraction at the particle surface. Cells which are only partially covered by solid are marked by voidfraction values between 0 and 1 respectively.

+

The region of influence of a particle can be increased artificially by “scaleUpVol”, which blows up the particles, but keeps their volume (for voidfraction calculation) constant.

+

Code of this sub-model contributed by Alice Hager, JKU.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/voidFractionModel_bigParticleVoidFraction.html b/doc/_build/html/voidFractionModel_bigParticleVoidFraction.html new file mode 100644 index 0000000..1129bf5 --- /dev/null +++ b/doc/_build/html/voidFractionModel_bigParticleVoidFraction.html @@ -0,0 +1,250 @@ + + + + + + + + + + + voidfractionModel_bigParticleVoidFraction command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • voidfractionModel_bigParticleVoidFraction command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

voidfractionModel_bigParticleVoidFraction command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
voidfractionModel bigParticle;
+bigParticleProps
+{
+    maxCellsPerParticle number1;
+    alphaMin number2;
+    weight number3;
+    porosity number4;
+}
+
+
+
    +
  • number1 = maximum number of cells covered by a particle (search will fail when more than number1 cells are covered by the particle)
  • +
  • number2 = minimum limit for voidfraction
  • +
  • number3 = (optional) scaling of the particle volume to account for porosity or agglomerations.
  • +
  • number4 = (optional) diameter of the particle’s representation is artificially increased according to number2 * Vparticle, volume remains unaltered!
  • +
+
+
+

Examples¶

+
voidfractionModel bigParticle;
+bigParticleProps
+{
+    maxCellsPerParticle 1000;
+    alphaMin 0.10;
+    weight 1.;
+    porosity 5.0;
+}
+
+
+
+
+

Description¶

+

The bigParticle voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle which results in a stairstep representation of the bodies within the mesh (i.e. voidfraction is either 1 (fluid) of zero (solid)). For archiving accurate results, approx. 8 cells per particle diameter are necessary.

+

The region of influence of a particle can be increased artificially by “porosity”, which blows up the particles, but keeps their volume (for voidfraction calculation) constant.

+

The particle volume occupied in the CFD domain can be adjusted by the parameter “weight”, using Vparticle=dsphere^3*pi/6*weight.

+

Parts of this sub-model contributed by Alice Hager, JKU.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/voidFractionModel_centreVoidFraction.html b/doc/_build/html/voidFractionModel_centreVoidFraction.html new file mode 100644 index 0000000..81f4c60 --- /dev/null +++ b/doc/_build/html/voidFractionModel_centreVoidFraction.html @@ -0,0 +1,242 @@ + + + + + + + + + + + voidfractionModel_centreVoidFraction command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • voidfractionModel_centreVoidFraction command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

voidfractionModel_centreVoidFraction command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
voidfractionModel centre;
+centreProps
+{
+    alphaMin number1;
+    weight number2;
+}
+
+
+
    +
  • number1 = minimum limit for voidfraction
  • +
  • number2 = (optional) scaling of the particle volume to account for porosity or agglomerations.
  • +
+
+
+

Examples¶

+
voidfractionModel centre;
+centreProps
+{
+    alphaMin 0.1;
+    weight 1.;
+}
+
+
+
+
+

Description¶

+

The centre voidFraction model calculates the voidfraction in a CFD cell accounting for the volume of the particles whose centres are inside the cell.

+

The particle volume occupied in the CFD domain can be adjusted by the parameter “weight”, using Vparticle=dsphere^3*pi/6*weight.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/voidFractionModel_dividedVoidFraction.html b/doc/_build/html/voidFractionModel_dividedVoidFraction.html new file mode 100644 index 0000000..8c7dab5 --- /dev/null +++ b/doc/_build/html/voidFractionModel_dividedVoidFraction.html @@ -0,0 +1,254 @@ + + + + + + + + + + + voidfractionModel_dividedVoidFraction command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • voidfractionModel_dividedVoidFraction command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

voidfractionModel_dividedVoidFraction command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
voidfractionModel divided;
+dividedProps
+{
+    alphaMin number1;
+    interpolation;
+    weight number2;
+    porosity number3;
+    procBoundaryCorrection Switch1;
+    verbose;
+    cfdemUseOnly;
+}
+
+
+
    +
  • number1 = minimum limit for voidfraction
  • +
  • interpolation = flag to interpolate voidfraction to particle positions (normally off)
  • +
  • number2 = (optional) scaling of the particle volume to account for porosity or agglomerations.
  • +
  • number3 = (optional) diameter of the particle’s representation is artificially increased according to number2 * Vparticle, volume remains unaltered!
  • +
  • Switch1 = (optional, default false) allow for correction at processor boundaries. This requires the use of engineIB and vice versa.
  • +
  • verbose = (optional, default false) flag for debugging output
  • +
  • cfdemUseOnly = optional flag, default false
  • +
+
+
+

Examples¶

+
voidfractionModel divided;
+dividedProps
+{
+    alphaMin 0.2;
+}
+
+
+
+
+

Description¶

+

The divided voidFraction model is supposed to be used when a particle (or its representation) is in the size range of a CFD cell. Satellite points are used to divide the particle’s volume to the touched cells.

+

The region of influence of a particle can be increased artificially by “porosity”, which blows up the particles, but keeps their volume (for voidfraction calculation) constant.

+

The particle volume occupied in the CFD domain can be adjusted by the parameter “weight”, using Vparticle=dsphere^3*pi/6*weight.

+

In the basic implementation of solvers, the void fraction is calculated based on all particles. Depending on the solver used, the void fraction calculation is also performed for a certain type of particles. +The void fraction calculation is based on a three-step approach (reset, set and interpolate), i.e., the void fraction is time interpolated from a previous and a next void fraction field. Appropriate names for these fields have to be specified in the sub-dictionaries voidFracFieldNamesPrev and voidFracFieldNamesNext in the couplingProperties dictionary.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/voidFractionModel_noVoidFraction.html b/doc/_build/html/voidFractionModel_noVoidFraction.html new file mode 100644 index 0000000..9b5b458 --- /dev/null +++ b/doc/_build/html/voidFractionModel_noVoidFraction.html @@ -0,0 +1,223 @@ + + + + + + + + + + + voidfractionModel_noVoidFractionVoidFraction command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • voidfractionModel_noVoidFractionVoidFraction command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

voidfractionModel_noVoidFractionVoidFraction command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+

voidfractionModel noVoidFraction;

+
+
+

Examples¶

+

voidfractionModel noVoidFraction;

+
+
+

Description¶

+

The noVoidFraction voidFraction model is a dummy model and has no physical meaning.

+
+
+

Restrictions¶

+
+
none.
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/_build/html/voidFractionModel_trilinearVoidFraction.html b/doc/_build/html/voidFractionModel_trilinearVoidFraction.html new file mode 100644 index 0000000..07142d9 --- /dev/null +++ b/doc/_build/html/voidFractionModel_trilinearVoidFraction.html @@ -0,0 +1,238 @@ + + + + + + + + + + + voidfractionModel_trilinearVoidFraction command — CFDEMcoupling v3.X documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+ + + + + + +
+
    +
  • Docs »
  • + +
  • voidfractionModel_trilinearVoidFraction command
  • +
  • + + + Website + + +
  • +
+
+ +
+
+
+ +
+

voidfractionModel_trilinearVoidFraction command¶

+
+

Syntax¶

+

Defined in couplingProperties dictionary.

+
voidfractionModel trilinear;
+trilinearProps
+{
+    alphaMin number1;
+}
+
+
+
    +
  • number1 = minimum limit for voidfraction
  • +
+
+
+

Examples¶

+
voidfractionModel trilinear;
+trilinearProps
+{
+    alphaMin 0.3;
+}
+
+
+
+
+

Description¶

+

The trilinear voidFraction model is supposed to be used when a particle (or its representation) is in the size range of a CFD cell. The particle’s volume is distributed over 8 neighbouring cell centres usind trilinear interpolation. This allows for a very smooth transition of particle volume when a particle travels from one cell to another cell.

+
+
+

Restrictions¶

+
+
The model works only for a structured mesh with equal cubic cells and a clean x/y/z parallel distribution of the cells. WARNING: the alphaMin parameter is not yet considered in the model!!!
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, DCS Computing GmbH, JKU Linz. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/averagingModel.html b/doc/averagingModel.html deleted file mode 100644 index 4ac82b3..0000000 --- a/doc/averagingModel.html +++ /dev/null @@ -1,41 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

averagingModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
averagingModel model; 
-
-
  • model = name of averaging model to be applied -
-

Examples: -

-
averagingModel dense;
-averagingModel dilute; 
-
-

Note: This examples list might not be complete - please have a look for other averaging models (averagingModel_XY) in this documentation. -

-

Description: -

-

The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). -

-

Restrictions: -

-

None. -

-

Related commands: -

-

dense, dilute -

-

Default: none -

- diff --git a/doc/averagingModel.txt b/doc/averagingModel.txt new file mode 100644 index 0000000..cfa4d4a --- /dev/null +++ b/doc/averagingModel.txt @@ -0,0 +1,37 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +averagingModel command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +averagingModel model; :pre + +model = name of averaging model to be applied :ul + +[Examples:] + +averagingModel dense; +averagingModel dilute; :pre + +Note: This examples list might not be complete - please have a look for other averaging models (averagingModel_XY) in this documentation. + +[Description:] + +The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). + +[Restrictions:] + +None. + +[Related commands:] + +"dense"_averagingModel_dense.html, "dilute"_averagingModel_dilute.html + +[Default:] none diff --git a/doc/averagingModel_dense.html b/doc/averagingModel_dense.html deleted file mode 100644 index 239c82d..0000000 --- a/doc/averagingModel_dense.html +++ /dev/null @@ -1,34 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

averagingModel_dense command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
averagingModel dense; 
-
-

Examples: -

-
averagingModel dense; 
-
-

Description: -

-

The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). In the "cfdemParticle cloud" this averaging model is used to calculate the average particle velocity inside a CFD cell. The "dense" model is supposed to be applied to cases where the granular regime is rather dense. -

-

Restrictions: -

-

No known restrictions. -

-

Related commands: -

-

averagingModel, dilute -

- diff --git a/doc/averagingModel_dense.txt b/doc/averagingModel_dense.txt new file mode 100644 index 0000000..52da602 --- /dev/null +++ b/doc/averagingModel_dense.txt @@ -0,0 +1,31 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +averagingModel_dense command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +averagingModel dense; :pre + +[Examples:] + +averagingModel dense; :pre + +[Description:] + +The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). In the "cfdemParticle cloud" this averaging model is used to calculate the average particle velocity inside a CFD cell. The "dense" model is supposed to be applied to cases where the granular regime is rather dense. + +[Restrictions:] + +No known restrictions. + +[Related commands:] + +"averagingModel"_averagingModel.html, "dilute"_averagingModel_dilute.html + diff --git a/doc/averagingModel_dilute.html b/doc/averagingModel_dilute.html deleted file mode 100644 index 6f75339..0000000 --- a/doc/averagingModel_dilute.html +++ /dev/null @@ -1,35 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

averagingModel_dilute command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
averagingModel dilute; 
-
-

Examples: -

-
averagingModel dilute; 
-
-

Description: -

-

The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). -In the "cfdemParticle cloud" this averaging model is used to calculate the average particle velocity inside a CFD cell. The "dilute" model is supposed to be applied to cases where the granular regime is rather dilute. The particle velocity inside a CFD cell is evaluated from a single particle in a cell (no averaging). -

-

Restrictions: -

-

This model is computationally efficient, but should only be used when only one particle is inside one CFD cell. -

-

Related commands: -

-

averagingModel, dense -

- diff --git a/doc/averagingModel_dilute.txt b/doc/averagingModel_dilute.txt new file mode 100644 index 0000000..56640de --- /dev/null +++ b/doc/averagingModel_dilute.txt @@ -0,0 +1,32 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +averagingModel_dilute command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +averagingModel dilute; :pre + +[Examples:] + +averagingModel dilute; :pre + +[Description:] + +The averaging model performs the Lagrangian->Eulerian mapping of data (e.g. particle velocities). +In the "cfdemParticle cloud" this averaging model is used to calculate the average particle velocity inside a CFD cell. The "dilute" model is supposed to be applied to cases where the granular regime is rather dilute. The particle velocity inside a CFD cell is evaluated from a single particle in a cell (no averaging). + +[Restrictions:] + +This model is computationally efficient, but should only be used when only one particle is inside one CFD cell. + +[Related commands:] + +"averagingModel"_averagingModel.html, "dense"_averagingModel_dense.html + diff --git a/doc/cfdemSolverIB.html b/doc/cfdemSolverIB.html deleted file mode 100644 index 70a9f1c..0000000 --- a/doc/cfdemSolverIB.html +++ /dev/null @@ -1,53 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

cfdemSolverIB command -

-

Description: -

-

"cfdemSolverIB" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework, for calculating -the dynamics between immersed bodies and the surrounding fluid. Being an implementation of an immersed boundary method it allows tackling problems where the body diameter exceeds the maximal size of a fluid cell. Using the toolbox of OpenFOAM(R)(*) the governing equations of the fluid are computed and the corrections of velocity and pressure field with respect to the body-movement information, gained from LIGGGHTS, are incorporated. -

-

Code of this solver contributions by Alice Hager, JKU. -

-

Algorithm: -

-

For each time step ... -

-
  • the motion of the spheres is calculated (position, velocity, angular velocity, force...) with LIGGGHTS using the velocity and pressure-field from the previous time step (initial condition for t=0). - -
  • the Navier-Stokes equations are solved on the whole computational domain, disregarding the solid phase. - -
  • the spheres are located within the mesh: each sphere is represented by a cluster of cells, which are either totally or partially covered by the body, depending on its exact position. - -
  • the correction of the velocity and pressure field of the fluid phase takes place, using the information about the location of the spheres and their (angular) velocity. - - -
-

Use: -

-

The solver is realized within the Open Source framework CFDEMcoupling. Just as for the unresolved CFD-DEM solver cfdemSolverPiso the file CFD/constant/couplingProperties contains information about the settings for the different models. While IOmodel, DataExchangeModel etc. are applicable for all CFDEMcoupling-solvers, special locate-, force- and void fraction models were designed for the present case: -

-

engineSearchIB, ArchimedesIB, ShirgaonkarIB, IBVoidfraction -

-

References: -

-

GONIVA, C., KLOSS, C., HAGER,A., WIERINK, G. and PIRKER, S. (2011): "A MULTI-PURPOSE OPEN SOURCE CFD-DEM APPROACH", Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway -

-

and -

-

HAGER, A., KLOSS, C. and GONIVA, C. (2011): "TOWARDS AN EFFICIENT IMMERSED BOUNDARY METHOD WITHIN AN OPEN SOURCE FRAMEWORK", Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway -

-
- -

(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. -

-
- - diff --git a/doc/cfdemSolverIB.txt b/doc/cfdemSolverIB.txt new file mode 100644 index 0000000..aeed18d --- /dev/null +++ b/doc/cfdemSolverIB.txt @@ -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 + +cfdemSolverIB command :h3 + +[Description:] + +"cfdemSolverIB" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework, for calculating +the dynamics between immersed bodies and the surrounding fluid. Being an implementation of an immersed boundary method it allows tackling problems where the body diameter exceeds the maximal size of a fluid cell. Using the toolbox of OpenFOAM(R)(*) the governing equations of the fluid are computed and the corrections of velocity and pressure field with respect to the body-movement information, gained from LIGGGHTS, are incorporated. + +Code of this solver contributions by Alice Hager, JKU. + +[Algorithm:] + +For each time step ... + +the motion of the spheres is calculated (position, velocity, angular velocity, force...) with LIGGGHTS using the velocity and pressure-field from the previous time step (initial condition for t=0). :ulb,l +the Navier-Stokes equations are solved on the whole computational domain, disregarding the solid phase. :l +the spheres are located within the mesh: each sphere is represented by a cluster of cells, which are either totally or partially covered by the body, depending on its exact position. :l +the correction of the velocity and pressure field of the fluid phase takes place, using the information about the location of the spheres and their (angular) velocity. :l +:ule + +[Use:] + +The solver is realized within the Open Source framework CFDEMcoupling. Just as for the unresolved CFD-DEM solver cfdemSolverPiso the file CFD/constant/couplingProperties contains information about the settings for the different models. While IOmodel, DataExchangeModel etc. are applicable for all CFDEMcoupling-solvers, special locate-, force- and void fraction models were designed for the present case: + +"engineSearchIB"_locateModel_engineSearchIB.html, "ArchimedesIB"_forceModel_ArchimedesIB.html, "ShirgaonkarIB"_forceModel_ShirgaonkarIB.html, "IBVoidfraction"_voidFractionModel_IBVoidFraction.html + +[References:] + +GONIVA, C., KLOSS, C., HAGER,A., WIERINK, G. and PIRKER, S. (2011): "A MULTI-PURPOSE OPEN SOURCE CFD-DEM APPROACH", Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway + +and + +HAGER, A., KLOSS, C. and GONIVA, C. (2011): "TOWARDS AN EFFICIENT IMMERSED BOUNDARY METHOD WITHIN AN OPEN SOURCE FRAMEWORK", Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, Trondheim, Norway + +:line +(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. + +:line diff --git a/doc/cfdemSolverPiso.html b/doc/cfdemSolverPiso.html deleted file mode 100644 index f517f0e..0000000 --- a/doc/cfdemSolverPiso.html +++ /dev/null @@ -1,26 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

cfdemSolverPiso command -

-

Description: -

-

"cfdemSolverPiso" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam(R)(*), a finite volume based solver for turbulent Navier-Stokes equations applying the PISO algorithm, "cfdemSolverPiso" has additional functionality for a coupling to the DEM code "LIGGGHTS". The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles whose trajectories are calculated in the DEM code LIGGGHTS. -

-

see: -

-

GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): "An Open Source CFD-DEM Perspective", Proc. of OpenFOAM Workshop, Göteborg, June 22.-24. -

-
- -

(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. -

-
- - diff --git a/doc/cfdemSolverPiso.txt b/doc/cfdemSolverPiso.txt new file mode 100644 index 0000000..19e8310 --- /dev/null +++ b/doc/cfdemSolverPiso.txt @@ -0,0 +1,24 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +cfdemSolverPiso command :h3 + +[Description:] + +"cfdemSolverPiso" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam(R)(*), a finite volume based solver for turbulent Navier-Stokes equations applying the PISO algorithm, "cfdemSolverPiso" has additional functionality for a coupling to the DEM code "LIGGGHTS". The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles whose trajectories are calculated in the DEM code LIGGGHTS. + +see: + +GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): "An Open Source CFD-DEM Perspective", Proc. of OpenFOAM Workshop, Göteborg, June 22.-24. + + + + +:line +(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. + +:line diff --git a/doc/cfdemSolverPisoScalar.html b/doc/cfdemSolverPisoScalar.html deleted file mode 100644 index 3732a72..0000000 --- a/doc/cfdemSolverPisoScalar.html +++ /dev/null @@ -1,28 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

cfdemSolverPisoScalar command -

-

Description: -

-

"cfdemSolverPisoScalar" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam(R)(*), a finite volume based solver for turbulent Navier-Stokes equations applying PISO algorithm, "cfdemSolverPisoScalar" has additional functionality for a coupling to the DEM code "LIGGGHTS" as well as a scalar transport equation. The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles, whose trajectories are calculated in the DEM code LIGGGHTS. The scalar transport equation is coupled to scalar properties of the particle phase, thus convective heat transfer in a fluid granular system can be modeled with "cfdemSolverPisoScalar". -

-

see: -

-

GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): "An Open Source CFD-DEM Perspective", Proc. of OpenFOAM Workshop, Göteborg, June 22.-24. -

-

The heat transfer equation is implemented according to Nield & Bejan (2013), Convection in Porous Media, DOI 10.1007/978-1-4614-5541-7_2, Springer -

-
- -

(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. -

-
- - diff --git a/doc/cfdemSolverPisoScalar.txt b/doc/cfdemSolverPisoScalar.txt new file mode 100644 index 0000000..7565ed0 --- /dev/null +++ b/doc/cfdemSolverPisoScalar.txt @@ -0,0 +1,25 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +cfdemSolverPisoScalar command :h3 + +[Description:] + +"cfdemSolverPisoScalar" is a coupled CFD-DEM solver using CFDEMcoupling, an open source parallel coupled CFD-DEM framework. Based on pisoFoam(R)(*), a finite volume based solver for turbulent Navier-Stokes equations applying PISO algorithm, "cfdemSolverPisoScalar" has additional functionality for a coupling to the DEM code "LIGGGHTS" as well as a scalar transport equation. The volume averaged Navier-Stokes Equations are solved accounting for momentum exchange and volume displacement of discrete particles, whose trajectories are calculated in the DEM code LIGGGHTS. The scalar transport equation is coupled to scalar properties of the particle phase, thus convective heat transfer in a fluid granular system can be modeled with "cfdemSolverPisoScalar". + +see: + +GONIVA, C., KLOSS, C., HAGER,A. and PIRKER, S. (2010): "An Open Source CFD-DEM Perspective", Proc. of OpenFOAM Workshop, Göteborg, June 22.-24. + +The heat transfer equation is implemented according to Nield & Bejan (2013), Convection in Porous Media, DOI 10.1007/978-1-4614-5541-7_2, Springer + + + +:line +(*) This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks. + +:line diff --git a/doc/clockModel.html b/doc/clockModel.html deleted file mode 100644 index 7b590f8..0000000 --- a/doc/clockModel.html +++ /dev/null @@ -1,36 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

clockModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
clockModel model; 
-
-
  • model = name of the clockModel to be applied -
-

Examples: -

-
clockModel standardClock; 
-
-

Note: This examples list might not be complete - please look for other models (clockModel_XY) in this documentation. -

-

Description: -

-

The clockModel is the base class for models to examine the code/algorithm with respect to run time. -

-

Main parts of the clockModel classes are written by Josef Kerbl, JKU. -

-

Restrictions: none. -

-

Default: none. -

- diff --git a/doc/clockModel.txt b/doc/clockModel.txt new file mode 100644 index 0000000..fa93276 --- /dev/null +++ b/doc/clockModel.txt @@ -0,0 +1,32 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +clockModel command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +clockModel model; :pre + +model = name of the clockModel to be applied :ul + +[Examples:] + +clockModel standardClock; :pre + +Note: This examples list might not be complete - please look for other models (clockModel_XY) in this documentation. + +[Description:] + +The clockModel is the base class for models to examine the code/algorithm with respect to run time. + +Main parts of the clockModel classes are written by Josef Kerbl, JKU. + +[Restrictions:] none. + +[Default:] none. diff --git a/doc/clockModel_noClock.html b/doc/clockModel_noClock.html deleted file mode 100644 index 23448e4..0000000 --- a/doc/clockModel_noClock.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

clockModel_noClock command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
clockModel off; 
-
-

Examples: -

-
clockModel off; 
-
-

Description: -

-

The "noClock" model is a dummy clockModel model which does not measure/evaluate the run time. -

-

Restrictions: none. -

-

Related commands: -

-

clockModel -

- diff --git a/doc/clockModel_noClock.txt b/doc/clockModel_noClock.txt new file mode 100644 index 0000000..509c0b6 --- /dev/null +++ b/doc/clockModel_noClock.txt @@ -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 + +clockModel_noClock command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +clockModel off; :pre + +[Examples:] + +clockModel off; :pre + +[Description:] + +The "noClock" model is a dummy clockModel model which does not measure/evaluate the run time. + +[Restrictions:] none. + +[Related commands:] + +"clockModel"_clockModel.html + diff --git a/doc/clockModel_standardClock.html b/doc/clockModel_standardClock.html deleted file mode 100644 index b757df1..0000000 --- a/doc/clockModel_standardClock.html +++ /dev/null @@ -1,34 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

clockModel_standardClock command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
clockModel standardClock; 
-
-

Examples: -

-
clockModel standardClock; 
-
-

Description: -

-

The "standardClock" model is a basic clockModel model which measures the run time between every ".start(int arrayPos,string name)" and ".stop(string name)" statement placed in the code. If a ".start(name)" is called more than once (e.g. in a loop) the accumulated times are calculated. After the simulation has finished, the data is stored in $caseDir/CFD/clockData/$startTime/*.txt . -Since the measurements are stored in an array, it is necessary to put a variable arrayPos (type integer) at the start command. Those do not need to be in ascending order and positions may be omitted. The standard size of this array is 30 and can be changed at the initialization of the standardClock class. If arrayPos is out of bounds, the array size will be doubled. The stop command does not need arrayPos, since the class remembers the positions. The string name is intended for easier evaluation afterwards an may be omitted like ".start(int arrayPos)" and ".stop()". The command ".stop(string name)" is a safety feature, because if the name is not equal to the started name, output will be produced for information. -After the case ran you may use the matPlot.py script located in $CFDEM_UT_DIR/vizClock/ to produce a graphical output of your measurements. The usage is like 'python < matPlot.py' and you have to be in the directory of the desired time step, where there is a file called "timeEvalFull.txt", which contains averaged and maximum data with respect to the number of processes. There is an alias called "vizClock" to run this python routine for visualizing the data. -

-

Restrictions: none. -

-

Related commands: -

-

clockModel -

- diff --git a/doc/clockModel_standardClock.txt b/doc/clockModel_standardClock.txt new file mode 100644 index 0000000..bae9832 --- /dev/null +++ b/doc/clockModel_standardClock.txt @@ -0,0 +1,31 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +clockModel_standardClock command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +clockModel standardClock; :pre + +[Examples:] + +clockModel standardClock; :pre + +[Description:] + +The "standardClock" model is a basic clockModel model which measures the run time between every ".start(int arrayPos,string name)" and ".stop(string name)" statement placed in the code. If a ".start(name)" is called more than once (e.g. in a loop) the accumulated times are calculated. After the simulation has finished, the data is stored in $caseDir/CFD/clockData/$startTime/*.txt . +Since the measurements are stored in an array, it is necessary to put a variable {arrayPos} (type integer) at the start command. Those do not need to be in ascending order and positions may be omitted. The standard size of this array is 30 and can be changed at the initialization of the standardClock class. If {arrayPos} is out of bounds, the array size will be doubled. The stop command does not need {arrayPos}, since the class remembers the positions. The string name is intended for easier evaluation afterwards an may be omitted like ".start(int arrayPos)" and ".stop()". The command ".stop(string name)" is a safety feature, because if the name is not equal to the started name, output will be produced for information. +After the case ran you may use the matPlot.py script located in $CFDEM_UT_DIR/vizClock/ to produce a graphical output of your measurements. The usage is like 'python < matPlot.py' and you have to be in the directory of the desired time step, where there is a file called "timeEvalFull.txt", which contains averaged and maximum data with respect to the number of processes. There is an alias called "vizClock" to run this python routine for visualizing the data. + +[Restrictions:] none. + +[Related commands:] + +"clockModel"_clockModel.html + diff --git a/doc/dataExchangeModel.html b/doc/dataExchangeModel.html deleted file mode 100644 index 51d81bb..0000000 --- a/doc/dataExchangeModel.html +++ /dev/null @@ -1,41 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

dataExchangeModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
dataExchangeModel model; 
-
-
  • model = name of data exchange model to be applied -
-

Examples: -

-
dataExchangeModel twoWayFiles;
-dataExchangeModel twoWayMPI; 
-
-

Note: This examples list might not be complete - please look for other models (dataExchangeModel_XY) in this documentation. -

-

Description: -

-

The data exchange model performs the data exchange between the DEM code and the CFD code. -

-

Restrictions: -

-

None. -

-

Related commands: -

-

noDataExchange, oneWayVTK, twoWayFiles, twoWayMPI -

-

Default: none -

- diff --git a/doc/dataExchangeModel.txt b/doc/dataExchangeModel.txt new file mode 100644 index 0000000..42e0638 --- /dev/null +++ b/doc/dataExchangeModel.txt @@ -0,0 +1,37 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +dataExchangeModel command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +dataExchangeModel model; :pre + +model = name of data exchange model to be applied :ul + +[Examples:] + +dataExchangeModel twoWayFiles; +dataExchangeModel twoWayMPI; :pre + +Note: This examples list might not be complete - please look for other models (dataExchangeModel_XY) in this documentation. + +[Description:] + +The data exchange model performs the data exchange between the DEM code and the CFD code. + +[Restrictions:] + +None. + +[Related commands:] + +"noDataExchange"_dataExchangeModel_noDataExchange.html, "oneWayVTK"_dataExchangeModel_oneWayVTK.html, "twoWayFiles"_dataExchangeModel_twoWayFiles.html, "twoWayMPI"_dataExchangeModel_twoWayMPI.html + +[Default:] none diff --git a/doc/dataExchangeModel_noDataExchange.html b/doc/dataExchangeModel_noDataExchange.html deleted file mode 100644 index f84f4a5..0000000 --- a/doc/dataExchangeModel_noDataExchange.html +++ /dev/null @@ -1,34 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

dataExchangeModel_noDataExchange command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
dataExchangeModel noDataExchange; 
-
-

Examples: -

-
dataExchangeModel noDataExchange; 
-
-

Description: -

-

The data exchange model performs the data exchange between the DEM code and the CFD code. The noDataExchange model is a dummy model where no data is exchanged. -

-

Restrictions: -

-

None. -

-

Related commands: -

-

dataExchangeModel -

- diff --git a/doc/dataExchangeModel_noDataExchange.txt b/doc/dataExchangeModel_noDataExchange.txt new file mode 100644 index 0000000..ee6db03 --- /dev/null +++ b/doc/dataExchangeModel_noDataExchange.txt @@ -0,0 +1,31 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +dataExchangeModel_noDataExchange command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +dataExchangeModel noDataExchange; :pre + +[Examples:] + +dataExchangeModel noDataExchange; :pre + +[Description:] + +The data exchange model performs the data exchange between the DEM code and the CFD code. The noDataExchange model is a dummy model where no data is exchanged. + +[Restrictions:] + +None. + +[Related commands:] + +"dataExchangeModel"_dataExchangeModel.html + diff --git a/doc/dataExchangeModel_oneWayVTK.html b/doc/dataExchangeModel_oneWayVTK.html deleted file mode 100644 index def2619..0000000 --- a/doc/dataExchangeModel_oneWayVTK.html +++ /dev/null @@ -1,58 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

dataExchangeModel_oneWayVTK command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
dataExchangeModel oneWayVTK;
-oneWayVTKProps
-{
-    DEMts timeStep;
-    relativePath "path";
-    couplingFilename "filename";
-    maxNumberOfParticles number;
-}; 
-
-
  • timeStep = time step size of stored DEM data - -
  • path = path to the VTK data files relative do simulation directory - -
  • filename = filename of the VTK file series - -
  • number = maximum number of particles in DEM simulation - - -
-

Examples: -

-
dataExchangeModel oneWayVTK;
-oneWayVTKProps
-{
-    DEMts 0.0001;
-    relativePath "../DEM/post";
-    couplingFilename "vtk_out%4.4d.vtk";
-    maxNumberOfParticles 30000;
-} 
-
-

Description: -

-

The data exchange model performs the data exchange between the DEM code and the CFD code. The oneWayVTK model is a model that can exchange particle properties from DEM to CFD based on previously stored VTK data. -

-

Restrictions: -

-

None. -

-

Related commands: -

-

dataExchangeModel -

- diff --git a/doc/dataExchangeModel_oneWayVTK.txt b/doc/dataExchangeModel_oneWayVTK.txt new file mode 100644 index 0000000..3cf6642 --- /dev/null +++ b/doc/dataExchangeModel_oneWayVTK.txt @@ -0,0 +1,51 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +dataExchangeModel_oneWayVTK command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +dataExchangeModel oneWayVTK; +oneWayVTKProps +\{ + DEMts timeStep; + relativePath "path"; + couplingFilename "filename"; + maxNumberOfParticles number; +\}; :pre + +{timeStep} = time step size of stored DEM data :ulb,l +{path} = path to the VTK data files relative do simulation directory :l +{filename} = filename of the VTK file series :l +{number} = maximum number of particles in DEM simulation :l +:ule + +[Examples:] + +dataExchangeModel oneWayVTK; +oneWayVTKProps +\{ + DEMts 0.0001; + relativePath "../DEM/post"; + couplingFilename "vtk_out%4.4d.vtk"; + maxNumberOfParticles 30000; +\} :pre + +[Description:] + +The data exchange model performs the data exchange between the DEM code and the CFD code. The oneWayVTK model is a model that can exchange particle properties from DEM to CFD based on previously stored VTK data. + +[Restrictions:] + +None. + +[Related commands:] + +"dataExchangeModel"_dataExchangeModel.html + diff --git a/doc/dataExchangeModel_twoWayFiles.html b/doc/dataExchangeModel_twoWayFiles.html deleted file mode 100644 index d281513..0000000 --- a/doc/dataExchangeModel_twoWayFiles.html +++ /dev/null @@ -1,53 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

dataExchangeModel_twoWayFiles command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
dataExchangeModel twoWayFiles;
-twoWayFilesProps
-{
-    couplingFilename "filename";
-    maxNumberOfParticles scalar1;
-    DEMts scalar2;
-}; 
-
-
  • filename = filename of the VTK file series - -
  • scalar1 = maximum number of particles in DEM simulation - -
  • scalar2 = DEM time step width - - -
-

Examples: -

-
dataExchangeModel twoWayFiles;
-twoWayFilesProps
-{
-    couplingFilename "vtk_out%4.4d.vtk";
-    maxNumberOfParticles 30000;
-} 
-
-

Description: -

-

The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayFiles model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via files that are sequentially written/read by the codes. -

-

Restrictions: -

-

Developed only for two processors, one for DEM and one for CFD run. -

-

Related commands: -

-

dataExchangeModel -

- diff --git a/doc/dataExchangeModel_twoWayFiles.txt b/doc/dataExchangeModel_twoWayFiles.txt new file mode 100644 index 0000000..4504f6e --- /dev/null +++ b/doc/dataExchangeModel_twoWayFiles.txt @@ -0,0 +1,47 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +dataExchangeModel_twoWayFiles command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +dataExchangeModel twoWayFiles; +twoWayFilesProps +\{ + couplingFilename "filename"; + maxNumberOfParticles scalar1; + DEMts scalar2; +\}; :pre + +{filename} = filename of the VTK file series :ulb,l +{scalar1} = maximum number of particles in DEM simulation :l +{scalar2} = DEM time step width :l +:ule + +[Examples:] + +dataExchangeModel twoWayFiles; +twoWayFilesProps +\{ + couplingFilename "vtk_out%4.4d.vtk"; + maxNumberOfParticles 30000; +\} :pre + +[Description:] + +The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayFiles model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via files that are sequentially written/read by the codes. + +[Restrictions:] + +Developed only for two processors, one for DEM and one for CFD run. + +[Related commands:] + +"dataExchangeModel"_dataExchangeModel.html + diff --git a/doc/dataExchangeModel_twoWayMPI.html b/doc/dataExchangeModel_twoWayMPI.html deleted file mode 100644 index cde5fab..0000000 --- a/doc/dataExchangeModel_twoWayMPI.html +++ /dev/null @@ -1,46 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

dataExchangeModel_twoWayMPI command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
dataExchangeModel twoWayMPI;
-twoWayMPIProps
-{
-    liggghtsPath "path";
-}; 
-
-
  • path = path to the DEM simulation input file - - -
-

Examples: -

-
dataExchangeModel twoWayMPI;
-twoWayMPIProps
-{
-    liggghtsPath "../DEM/in.liggghts_init";
-} 
-
-

Description: -

-

The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayMPI model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via MPI technique. The DEM run is executed by the coupling model, via a liggghtsCommandModel object. -

-

Restrictions: -

-

none. -

-

Related commands: -

-

dataExchangeModel -

- diff --git a/doc/dataExchangeModel_twoWayMPI.txt b/doc/dataExchangeModel_twoWayMPI.txt new file mode 100644 index 0000000..f698b0e --- /dev/null +++ b/doc/dataExchangeModel_twoWayMPI.txt @@ -0,0 +1,42 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +dataExchangeModel_twoWayMPI command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +dataExchangeModel twoWayMPI; +twoWayMPIProps +\{ + liggghtsPath "path"; +\}; :pre + +{path} = path to the DEM simulation input file :ulb,l +:ule + +[Examples:] + +dataExchangeModel twoWayMPI; +twoWayMPIProps +\{ + liggghtsPath "../DEM/in.liggghts_init"; +\} :pre + +[Description:] + +The data exchange model performs the data exchange between the DEM code and the CFD code. The twoWayMPI model is a model that can exchange particle properties from DEM to CFD and from CFD to DEM. Data is exchanged via MPI technique. The DEM run is executed by the coupling model, via a liggghtsCommandModel object. + +[Restrictions:] + +none. + +[Related commands:] + +"dataExchangeModel"_dataExchangeModel.html + diff --git a/doc/forceModel.html b/doc/forceModel.html deleted file mode 100644 index 0e71fa5..0000000 --- a/doc/forceModel.html +++ /dev/null @@ -1,50 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    model_x
-    model_y
-); 
-
-
  • model = name of force model to be applied -
-

Examples: -

-
forceModels
-(
-    Archimedes
-    DiFeliceDrag
-); 
-
-

Note: This examples list might not be complete - please look for other models (forceModel_XY) in this documentation. -

-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. All force models selected are executed sequentially and the forces on the particles are superposed. If the fluid density field is needed, by default a field named "rho" will be used. Via the forceSubModel an alternative field can be chosen. -

-

Restrictions: -

-

None. -

-

Related commands: -

-

Archimedes, DiFeliceDrag, gradPForce, viscForce -

-

Note: This examples list may be incomplete - please look for other models (forceModel_XY) in this documentation. -

-

Default: none. -

- diff --git a/doc/forceModel.txt b/doc/forceModel.txt new file mode 100644 index 0000000..4254843 --- /dev/null +++ b/doc/forceModel.txt @@ -0,0 +1,46 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + model_x + model_y +); :pre + +model = name of force model to be applied :ul + +[Examples:] + +forceModels +( + Archimedes + DiFeliceDrag +); :pre + +Note: This examples list might not be complete - please look for other models (forceModel_XY) in this documentation. + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. All force models selected are executed sequentially and the forces on the particles are superposed. If the fluid density field is needed, by default a field named "rho" will be used. Via the forceSubModel an alternative field can be chosen. + +[Restrictions:] + +Most force models are ready to be used with coarse graining. If any force model used in the simulation is not ready for coarse graining, but is used with coarse graining, a warning is written to the terminal (log file). Setting a flag "cgWarnOnly false;" in coupling properties, the simulation will be stopped if there is a violation. + +[Related commands:] + +"Archimedes"_forceModel_Archimedes.html, "DiFeliceDrag"_forceModel_DiFeliceDrag.html, "gradPForce"_forceModel_gradPForce.html, "viscForce"_forceModel_viscForce.html + +Note: This examples list may be incomplete - please look for other models (forceModel_XY) in this documentation. + +[Default:] none. diff --git a/doc/forceModel_Archimedes.html b/doc/forceModel_Archimedes.html deleted file mode 100644 index 49d86b7..0000000 --- a/doc/forceModel_Archimedes.html +++ /dev/null @@ -1,61 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_Archimedes command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    Archimedes
-);
-ArchimedesProps
-{
-    gravityFieldName "gravity";
-    twoDimensional;
-    suppressProbe   switch1;
-    treatForceDEM   switch2;
-}; 
-
-
  • gravity = name of the finite volume gravity field - -
  • twoDimensional = optional keyword for conducting a two dimensional calculation - -
  • switch1 = (optional, default false) can be used to suppress the output of the probe model - -
  • switch2 = (optional, default true) sub model switch, see forceSubModel for details - - -
-

Examples: -

-
forceModels
-(
-    Archimedes
-);
-ArchimedesProps
-{
-    gravityFieldName "g";
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The Archimedes model is a model that calculates the Archimedes' volumetric lift force stemming from density difference of fluid and particle. -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_Archimedes.txt b/doc/forceModel_Archimedes.txt new file mode 100644 index 0000000..596284e --- /dev/null +++ b/doc/forceModel_Archimedes.txt @@ -0,0 +1,56 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_Archimedes command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + Archimedes +); +ArchimedesProps +\{ + gravityFieldName "gravity"; + twoDimensional; + suppressProbe switch1; + treatForceDEM switch2; + verbose switch3; +\}; :pre + +{gravity} = name of the finite volume gravity field :ulb,l +{twoDimensional} = optional keyword for conducting a two dimensional calculation :l +{switch1} = (optional, default false) can be used to suppress the output of the probe model :l +{switch2} = (optional, default true) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch3} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +:ule + +[Examples:] + +forceModels +( + Archimedes +); +ArchimedesProps +\{ + gravityFieldName "g"; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The Archimedes model is a model that calculates the Archimedes' volumetric lift force stemming from density difference of fluid and particle. + +[Restrictions:] + +none. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_ArchimedesIB.html b/doc/forceModel_ArchimedesIB.html deleted file mode 100644 index 681bf9f..0000000 --- a/doc/forceModel_ArchimedesIB.html +++ /dev/null @@ -1,62 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_ArchimedesIB command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    ArchimedesIB
-);
-ArchimedesIBProps
-{
-    gravityFieldName "gravity";
-    voidfractionFieldName "voidfraction";
-    twoDimensional;
-    treatForceExplicit  switch1;
-}; 
-
-
  • gravity = name of the finite volume gravity field - -
  • voidfraction = name of the finite volume voidfraction field - -
  • twoDimensional = optional keyword for conducting a two dimensional calculation - -
  • switch1 = (optional, default true) sub model switch, see forceSubModel for details - - -
-

Examples: -

-
forceModels
-(
-    ArchimedesIB
-);
-ArchimedesIBProps
-{
-    gravityFieldName "g";
-    voidfractionFieldName "voidfractionNext";
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The ArchimedesIB model is a model that calculates the ArchimedesIB' volumetric lift force stemming from density difference of fluid and particle. This model is especially suited for resolved CFD-DEM simulations where the particle is represented by immersed boundary method. -

-

Restrictions: -

-

Only for immersed boundary solvers. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_ArchimedesIB.txt b/doc/forceModel_ArchimedesIB.txt new file mode 100644 index 0000000..45582f7 --- /dev/null +++ b/doc/forceModel_ArchimedesIB.txt @@ -0,0 +1,55 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_ArchimedesIB command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + ArchimedesIB +); +ArchimedesIBProps +\{ + gravityFieldName "gravity"; + voidfractionFieldName "voidfraction"; + twoDimensional; + treatForceExplicit switch1; +\}; :pre + +{gravity} = name of the finite volume gravity field :ulb,l +{voidfraction} = name of the finite volume voidfraction field :l +{twoDimensional} = optional keyword for conducting a two dimensional calculation :l +{switch1} = (optional, default true) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +:ule + +[Examples:] + +forceModels +( + ArchimedesIB +); +ArchimedesIBProps +\{ + gravityFieldName "g"; + voidfractionFieldName "voidfractionNext"; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The ArchimedesIB model is a model that calculates the ArchimedesIB' volumetric lift force stemming from density difference of fluid and particle. This model is especially suited for resolved CFD-DEM simulations where the particle is represented by immersed boundary method. + +[Restrictions:] + +Only for immersed boundary solvers. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_DiFeliceDrag.html b/doc/forceModel_DiFeliceDrag.html deleted file mode 100644 index 94eb175..0000000 --- a/doc/forceModel_DiFeliceDrag.html +++ /dev/null @@ -1,92 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_DiFeliceDrag command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    DiFeliceDrag
-);
-DiFeliceDragProps
-{
-    velFieldName "U";
-    voidfractionFieldName "voidfraction";
-    granVelFieldName "Us";
-    interpolation switch1;
-    voidfractionInterpolationType "type1";
-    UInterpolationType "type2";
-    suppressProbe       switch2;
-    scale               scalar1;
-    scaleDrag           scalar2;
-    treatForceExplicit  switch3;
-    implForceDEM        switch4;
-    verbose             switch5;
-    scalarViscosity     switch6;
-    nu                  scalar3;
-}; 
-
-
  • U = name of the finite volume fluid velocity field - -
  • voidfraction = name of the finite volume voidfraction field - -
  • Us = name of the finite volume granular velocity field - -
  • switch1 = (optional, normally off) flag to use interpolated voidfraction and velocity values - -
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field - -
  • type2 = (optional, default cellPointFace) interpolation type for velocity field - -
  • switch2 = (optional, default false) can be used to suppress the output of the probe model - -
  • scalar1 = (optional) scaling of particle diameter - -
  • scalar2 = (optional) scaling of drag law - -
  • switch3 = sub model switch, see forceSubModel for details - -
  • switch4 = sub model switch, see forceSubModel for details - -
  • switch5 = sub model switch, see forceSubModel for details - -
  • switch6 = sub model switch, see forceSubModel for details - -
  • scalar3 = optional, only if switch6 is true - - -
-

Examples: -

-
forceModels
-(
-    DiFeliceDrag
-);
-DiFeliceDragProps
-{
-    velFieldName "U";
-    interpolation true;
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The DiFeliceDrag model is a model that calculates the particle based drag force following the correlation of Di Felice (see Zhou et al. (2010), JFM). -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_DiFeliceDrag.txt b/doc/forceModel_DiFeliceDrag.txt new file mode 100644 index 0000000..eba8234 --- /dev/null +++ b/doc/forceModel_DiFeliceDrag.txt @@ -0,0 +1,75 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_DiFeliceDrag command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + DiFeliceDrag +); +DiFeliceDragProps +\{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; + interpolation switch1; + voidfractionInterpolationType "type1"; + UInterpolationType "type2"; + suppressProbe switch2; + scale scalar1; + scaleDrag scalar2; + treatForceExplicit switch3; + implForceDEM switch4; + verbose switch5; + scalarViscosity switch6; + nu scalar3; +\}; :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{voidfraction} = name of the finite volume voidfraction field :l +{Us} = name of the finite volume granular velocity field :l +{switch1} = (optional, normally off) flag to use interpolated voidfraction and velocity values :l +{type1} = (optional, default cellPoint) interpolation type for voidfraction field :l +{type2} = (optional, default cellPointFace) interpolation type for velocity field :l +{switch2} = (optional, default false) can be used to suppress the output of the probe model :l +{scalar1} = (optional) scaling of particle diameter :l +{scalar2} = (optional) scaling of drag law :l +{switch3} = sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch4} = sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch5} = sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch6} = sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{scalar3} = optional, only if switch6 is true :l +:ule + +[Examples:] + +forceModels +( + DiFeliceDrag +); +DiFeliceDragProps +\{ + velFieldName "U"; + interpolation true; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The DiFeliceDrag model is a model that calculates the particle based drag force following the correlation of Di Felice (see Zhou et al. (2010), JFM). + +[Restrictions:] + +none. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_GidaspowDrag.html b/doc/forceModel_GidaspowDrag.html deleted file mode 100644 index 1d4cd7e..0000000 --- a/doc/forceModel_GidaspowDrag.html +++ /dev/null @@ -1,101 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_GidaspowDrag command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    GidaspowDrag
-);
-GidaspowDragProps
-{
-    velFieldName "U";
-    voidfractionFieldName "voidfraction";
-    granVelFieldName "Us";
-    phi                 scalar1;
-    interpolation switch1;
-    voidfractionInterpolationType "type1"
-    UInterpolationType "type2"
-    implForceDEM        switch2;
-    suppressProbe       switch3;
-    scale               scalar2;
-    scaleDrag           scalar3;
-    switchingVoidfraction scalar4;
-    treatForceExplicit  switch4;
-    implForceDEM        switch5;
-    verbose             switch6;
-    scalarViscosity     switch7;
-    nu                  scalar5;
-}; 
-
-
  • U = name of the finite volume fluid velocity field - -
  • voidfraction = name of the finite volume voidfraction field - -
  • Us = name of the finite volume cell averaged particle velocity field - -
  • scalar1 = drag correction factor (in doubt 1) - -
  • switch1 = (optional, default off) flag to use interpolated voidfraction and fluid velocity values - -
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field - -
  • type2 = (optional, default cellPointFace) interpolation type for velocity field - -
  • switch2 = (optional, default false) flag to use implicit formulation of drag on DEM side:l -switch3 = (optional, default false) can be used to suppress the output of the probe model - -
  • scalar2 = (optional) scaling of particle diameter - -
  • scalar3 = (optional) scaling of drag law - -
  • scalar4 = (optional) voidfraction above which dilute formulation will be used - -
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details - -
  • switch5 = (optional, default false) sub model switch, see forceSubModel for details - -
  • switch6 = (optional, default false) sub model switch, see forceSubModel for details - -
  • switch7 = (optional, default false) sub model switch, see forceSubModel for details - -
  • scalar5 = (optional, default false) optional, only if switch6 is true - - -
-

Examples: -

-
forceModels
-(
-    GidaspowDrag
-);
-GidaspowDragProps
-{
-    velFieldName "U";
-    voidfractionFieldName "voidfraction";
-    granVelFieldName "Us";
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The GidaspowDrag model is a model that calculates the particle based drag force following the correlation of Gidaspow which is a combination of Ergun (1952) and Wen & Yu (1966) (see Zhu et al. (2007): "Discrete particle simulation of particulate systems: Theoretical developments", ChemEngScience). -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_GidaspowDrag.txt b/doc/forceModel_GidaspowDrag.txt new file mode 100644 index 0000000..4460736 --- /dev/null +++ b/doc/forceModel_GidaspowDrag.txt @@ -0,0 +1,82 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_GidaspowDrag command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + GidaspowDrag +); +GidaspowDragProps +\{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; + phi scalar1; + interpolation switch1; + voidfractionInterpolationType "type1" + UInterpolationType "type2" + implForceDEM switch2; + suppressProbe switch3; + scale scalar2; + scaleDrag scalar3; + switchingVoidfraction scalar4; + treatForceExplicit switch4; + implForceDEM switch5; + verbose switch6; + scalarViscosity switch7; + nu scalar5; +\}; :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{voidfraction} = name of the finite volume voidfraction field :l +{Us} = name of the finite volume cell averaged particle velocity field :l +{scalar1} = drag correction factor (in doubt 1) :l +{switch1} = (optional, default off) flag to use interpolated voidfraction and fluid velocity values :l +{type1} = (optional, default cellPoint) interpolation type for voidfraction field :l +{type2} = (optional, default cellPointFace) interpolation type for velocity field :l +{switch2} = (optional, default false) flag to use implicit formulation of drag on DEM side:l +{switch3} = (optional, default false) can be used to suppress the output of the probe model :l +{scalar2} = (optional) scaling of particle diameter :l +{scalar3} = (optional) scaling of drag law :l +{scalar4} = (optional) voidfraction above which dilute formulation will be used :l +{switch4} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch5} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch6} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch7} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{scalar5} = (optional, default false) optional, only if switch6 is true :l +:ule + +[Examples:] + +forceModels +( + GidaspowDrag +); +GidaspowDragProps +\{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The GidaspowDrag model is a model that calculates the particle based drag force following the correlation of Gidaspow which is a combination of Ergun (1952) and Wen & Yu (1966) (see Zhu et al. (2007): "Discrete particle simulation of particulate systems: Theoretical developments", ChemEngScience). + +[Restrictions:] + +none. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_KochHillDrag.html b/doc/forceModel_KochHillDrag.html deleted file mode 100644 index bebc637..0000000 --- a/doc/forceModel_KochHillDrag.html +++ /dev/null @@ -1,94 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_KochHillDrag command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    KochHillDrag
-);
-KochHillDragProps
-{
-    velFieldName "U";
-    voidfractionFieldName "voidfraction";
-    granVelFieldName "Us"
-    interpolation       "switch1";
-    voidfractionInterpolationType "type1"
-    UInterpolationType  "type2"
-    implForceDEM        "switch2";
-    suppressProbe       "switch3";
-    scale               "scalar1";
-    scaleDrag           "scalar2";
-    treatForceExplicit  "switch4";
-    verbose             "switch5";
-    implForceDEMaccumulated "switch6";
-    scalarViscosity     "switch7";
-    nu                  "scalar3";
-}; 
-
-
  • U = name of the finite volume fluid velocity field - -
  • voidfraction = name of the finite volume voidfraction field - -
  • Us = (optional) name of finite volume granular velocity field - -
  • switch1 = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values - -
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field - -
  • type2 = (optional, default cellPointFace) interpolation type for velocity field - -
  • switch2 = (optional, normally off) flag to use implicit formulation of drag on DEM side:l -switch3 = (optional, default false) can be used to suppress the output of the probe model - -
  • scalar1 = (optional) scaling of particle diameter - -
  • scalar2 = (optional) scaling of drag law - -
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details - -
  • switch5 = (optional, default false) sub model switch, see forceSubModel for details - -
  • switch6 = (optional, default false) sub model switch, see forceSubModel for details - -
  • switch7 = (optional, default false) sub model switch, see forceSubModel for details - -
  • scalar3 = optional, only if switch7 is true - - -
-

Examples: -

-
forceModels
-(
-    KochHillDrag
-);
-KochHillDragProps
-{
-    velFieldName "U";
-    voidfractionFieldName "voidfraction";
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The KochHillDrag model is a model that calculates the particle based drag force following the correlation of Koch & Hill (2001) (see van Buijtenen et al. (2011): "Numerical and experimental study on multiple-spout fluidized beds", ChemEngScience). -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_KochHillDrag.txt b/doc/forceModel_KochHillDrag.txt new file mode 100644 index 0000000..cb9df8d --- /dev/null +++ b/doc/forceModel_KochHillDrag.txt @@ -0,0 +1,77 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_KochHillDrag command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + KochHillDrag +); +KochHillDragProps +\{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us" + interpolation "switch1"; + voidfractionInterpolationType "type1" + UInterpolationType "type2" + implForceDEM "switch2"; + suppressProbe "switch3"; + scale "scalar1"; + scaleDrag "scalar2"; + treatForceExplicit "switch4"; + verbose "switch5"; + implForceDEMaccumulated "switch6"; + scalarViscosity "switch7"; + nu "scalar3"; +\}; :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{voidfraction} = name of the finite volume voidfraction field :l +{Us} = (optional) name of finite volume granular velocity field :l +{switch1} = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values :l +{type1} = (optional, default cellPoint) interpolation type for voidfraction field :l +{type2} = (optional, default cellPointFace) interpolation type for velocity field :l +{switch2} = (optional, normally off) flag to use implicit formulation of drag on DEM side:l +{switch3} = (optional, default false) can be used to suppress the output of the probe model :l +{scalar1} = (optional) scaling of particle diameter :l +{scalar2} = (optional) scaling of drag law :l +{switch4} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch5} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch6} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch7} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{scalar3} = optional, only if switch7 is true :l +:ule + +[Examples:] + +forceModels +( + KochHillDrag +); +KochHillDragProps +\{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The KochHillDrag model is a model that calculates the particle based drag force following the correlation of Koch & Hill (2001) (see van Buijtenen et al. (2011): "Numerical and experimental study on multiple-spout fluidized beds", ChemEngScience). + +[Restrictions:] + +none. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_LaEuScalarTemp.html b/doc/forceModel_LaEuScalarTemp.html deleted file mode 100644 index 7d765b9..0000000 --- a/doc/forceModel_LaEuScalarTemp.html +++ /dev/null @@ -1,102 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_LaEuScalarTemp command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    LaEuScalarTemp
-);
-LaEuScalarTempProps
-{
-    velFieldName "U";
-    tempFieldName "T";
-    voidfractionFieldName "voidfraction";
-    partTempName "Temp";
-    partHeatFluxName "convectiveHeatFlux";
-    partHeatTransCoeffName "heatTransCoeff";
-    partHeatFluidName "heatFluid";
-    lambda scalar1;
-    Cp scalar2;
-    interpolation switch1;
-    TInterpolationType "type1"
-    verbose switch2;
-    maxSource scalar3;
-    scale scalar4;
-    scalarViscosity switch3;
-    nu scalar5;
-}; 
-
-
  • U = name of the finite volume fluid velocity field - -
  • T = name of the finite volume scalar temperature field - -
  • voidfraction = name of the finite volume voidfraction field - -
  • Temp = name of the DEM data representing the particles temperature - -
  • convectiveHeatFlux = name of the DEM data representing the particle-fluid convective heat flux - -
  • heatTransCoeff = name of heat transfer coefficient - -
  • heatFluid = -scalar1 = fluid thermal conductivity [W/(m*K)] - -
  • scalar2 = fluid specific heat capacity [W*s/(kg*K)] - -
  • switch1 = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values - -
  • type1 = (optional, default cellPoint) interpolation type for T field - -
  • switch2 = (optional, default false) sub model switch, see forceSubModel for details - -
  • scalar3 = (optional) limit maximal turbulence - -
  • scalar4 = scaling of particle diameter - -
  • switch3 = (optional, default false) sub model switch, see forceSubModel for details - -
  • scalar5 = optional, only if switch3 is true - - -
-

Examples: -

-
forceModels
-(
-    LaEuScalarTemp
-);
-LaEuScalarTempProps
-{
-    velFieldName "U";
-    tempFieldName "T";
-    voidfractionFieldName "voidfraction";
-    partTempName "Temp";
-    partHeatFluxName "convectiveHeatFlux";
-    lambda 0.0256;
-    Cp 1007;
-} 
-
-

Description: -

-

This "forceModel" does not influence the particles or the fluid flow! Using the particles' temperature a scalar field representing "particle-fluid heatflux" is calculated. The solver then uses this source field in the scalar transport equation for the temperature. The model for convective heat transfer is based on Li and Mason (2000), A computational investigation of transient heat transfer in pneumatic transport of granular particles, Pow.Tech 112 -

-

Restrictions: -

-

Goes only with cfdemSolverScalar. The force model has to be the second (!!!) model in the forces list. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_LaEuScalarTemp.txt b/doc/forceModel_LaEuScalarTemp.txt new file mode 100644 index 0000000..9feb241 --- /dev/null +++ b/doc/forceModel_LaEuScalarTemp.txt @@ -0,0 +1,84 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_LaEuScalarTemp command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + LaEuScalarTemp +); +LaEuScalarTempProps +\{ + velFieldName "U"; + tempFieldName "T"; + voidfractionFieldName "voidfraction"; + partTempName "Temp"; + partHeatFluxName "convectiveHeatFlux"; + partHeatTransCoeffName "heatTransCoeff"; + partHeatFluidName "heatFluid"; + lambda scalar1; + Cp scalar2; + interpolation switch1; + TInterpolationType "type1" + verbose switch2; + maxSource scalar3; + scale scalar4; + scalarViscosity switch3; + nu scalar5; +\}; :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{T} = name of the finite volume scalar temperature field :l +{voidfraction} = name of the finite volume voidfraction field :l +{Temp} = name of the DEM data representing the particles temperature :l +{convectiveHeatFlux} = name of the DEM data representing the particle-fluid convective heat flux :l +{heatTransCoeff} = name of heat transfer coefficient :l +{heatFluid} = +{scalar1} = fluid thermal conductivity \[W/(m*K)\] :l +{scalar2} = fluid specific heat capacity \[W*s/(kg*K)\] :l +{switch1} = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values :l +{type1} = (optional, default cellPoint) interpolation type for T field :l +{switch2} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{scalar3} = (optional) limit maximal turbulence :l +{scalar4} = scaling of particle diameter :l +{switch3} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{scalar5} = optional, only if switch3 is true :l +:ule + +[Examples:] + +forceModels +( + LaEuScalarTemp +); +LaEuScalarTempProps +\{ + velFieldName "U"; + tempFieldName "T"; + voidfractionFieldName "voidfraction"; + partTempName "Temp"; + partHeatFluxName "convectiveHeatFlux"; + lambda 0.0256; + Cp 1007; +\} :pre + +[Description:] + +This "forceModel" does not influence the particles or the fluid flow! Using the particles' temperature a scalar field representing "particle-fluid heatflux" is calculated. The solver then uses this source field in the scalar transport equation for the temperature. The model for convective heat transfer is based on Li and Mason (2000), A computational investigation of transient heat transfer in pneumatic transport of granular particles, Pow.Tech 112 + +[Restrictions:] + +Goes only with cfdemSolverScalar. The force model has to be the second (!!!) model in the forces list. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_MeiLift.html b/doc/forceModel_MeiLift.html deleted file mode 100644 index b41fbf3..0000000 --- a/doc/forceModel_MeiLift.html +++ /dev/null @@ -1,79 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_MeiLift command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    MeiLift
-);
-MeiLiftProps
-{
-    velFieldName "U";
-    useSecondOrderTerms;
-    interpolation switch1;
-    vorticityInterpolationType "type1"
-    UInterpolationType "type2"
-    verbose switch2;
-    treatForceExplicit switch3;
-    scalarViscosity switch4;
-    nu scalar1;
-}; 
-
-
  • U = name of the finite volume fluid velocity field - -
  • useSecondOrderTerms = switch to activate second order terms in the lift force model - -
  • switch1 = switch to activate tri-linear interpolation of the flow quantities at the particle position - -
  • type1 = (optional, default cellPoint) interpolation type for vorticity field - -
  • type2 = (optional, default cellPointFace) interpolation type for velocity field - -
  • switch2 = switch to activate the report of per-particle quantities to the screen - -
  • switch3 = (optional, default true) sub model switch, see forceSubModel for details - -
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details - -
  • scalar1 = optional, only if switch4 is true - - -
-

Examples: -

-
forceModels
-(
-    MeiLift
-);
-MeiLiftProps
-{
-    velFieldName "U";
-    useSecondOrderTerms;
-    interpolation true;
-    verbose true;
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The MeiLift model calculates the lift force for each particle based on Loth and Dorgan (2009). In case the keyword "useSecondOrderTerms" is not specified, this lift force model uses the expression of McLaughlin (1991, Journal of Fluid Mechanics 224:261-274). -

-

Restrictions: -

-

None. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_MeiLift.txt b/doc/forceModel_MeiLift.txt new file mode 100644 index 0000000..270a281 --- /dev/null +++ b/doc/forceModel_MeiLift.txt @@ -0,0 +1,67 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_MeiLift command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + MeiLift +); +MeiLiftProps +\{ + velFieldName "U"; + useSecondOrderTerms; + interpolation switch1; + vorticityInterpolationType "type1" + UInterpolationType "type2" + verbose switch2; + treatForceExplicit switch3; + scalarViscosity switch4; + nu scalar1; +\}; :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{useSecondOrderTerms} = switch to activate second order terms in the lift force model :l +{switch1} = switch to activate tri-linear interpolation of the flow quantities at the particle position :l +{type1} = (optional, default cellPoint) interpolation type for vorticity field :l +{type2} = (optional, default cellPointFace) interpolation type for velocity field :l +{switch2} = switch to activate the report of per-particle quantities to the screen :l +{switch3} = (optional, default true) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch4} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{scalar1} = optional, only if switch4 is true :l +:ule + +[Examples:] + +forceModels +( + MeiLift +); +MeiLiftProps +\{ + velFieldName "U"; + useSecondOrderTerms; + interpolation true; + verbose true; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The MeiLift model calculates the lift force for each particle based on Loth and Dorgan (2009). In case the keyword "useSecondOrderTerms" is not specified, this lift force model uses the expression of McLaughlin (1991, Journal of Fluid Mechanics 224:261-274). + +[Restrictions:] + +None. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_SchillerNaumannDrag.html b/doc/forceModel_SchillerNaumannDrag.html deleted file mode 100644 index 8a06f39..0000000 --- a/doc/forceModel_SchillerNaumannDrag.html +++ /dev/null @@ -1,66 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_SchillerNaumannDrag command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    SchillerNaumannDrag
-);
-SchillerNaumannDragProps
-{
-    velFieldName "U";
-    voidfractionFieldName "voidfraction";
-    interpolation "bool1";
-    voidfractionInterpolationType "type1"
-    UInterpolationType "type2"
-    implForceDEM "bool2";
-}; 
-
-
  • U = name of the finite volume fluid velocity field - -
  • voidfraction = name of the finite volume voidfraction field - -
  • bool1 = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values - -
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field - -
  • type2 = (optional, default cellPointFace) interpolation type for velocity field - -bool2 = (optional, normally off) flag to use implicit formulation of drag on DEM side:l - -
-

Examples: -

-
forceModels
-(
-    SchillerNaumannDrag
-);
-SchillerNaumannDragProps
-{
-    velFieldName "U";
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The SchillerNaumannDrag model is a model that calculates the particle based drag force following the correlation of Schiller and Naumann. -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_SchillerNaumannDrag.txt b/doc/forceModel_SchillerNaumannDrag.txt new file mode 100644 index 0000000..53ca666 --- /dev/null +++ b/doc/forceModel_SchillerNaumannDrag.txt @@ -0,0 +1,58 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_SchillerNaumannDrag command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + SchillerNaumannDrag +); +SchillerNaumannDragProps +\{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation "bool1"; + voidfractionInterpolationType "type1" + UInterpolationType "type2" + implForceDEM "bool2"; +\}; :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{voidfraction} = name of the finite volume voidfraction field :l +{bool1} = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values :l +{type1} = (optional, default cellPoint) interpolation type for voidfraction field :l +{type2} = (optional, default cellPointFace) interpolation type for velocity field :l +{bool2} = (optional, normally off) flag to use implicit formulation of drag on DEM side:l +:ule + +[Examples:] + +forceModels +( + SchillerNaumannDrag +); +SchillerNaumannDragProps +\{ + velFieldName "U"; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The SchillerNaumannDrag model is a model that calculates the particle based drag force following the correlation of Schiller and Naumann. + +[Restrictions:] + +none. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_ShirgaonkarIB.html b/doc/forceModel_ShirgaonkarIB.html deleted file mode 100644 index 52c6c43..0000000 --- a/doc/forceModel_ShirgaonkarIB.html +++ /dev/null @@ -1,72 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_ShirgaonkarIB command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    ShirgaonkarIB
-);
-ShirgaonkarIBProps
-{
-    velFieldName "U";
-    pressureFieldName "p";
-    twoDimensional;
-    depth scalar1;
-    verbose switch1;
-    treatForceExplicit switch2;
-}; 
-
-
  • U = name of the finite volume fluid velocity field - -
  • p = name of the finite volume pressure field - -
  • twoDimensional = optional keyword for conducting a two dimensional calculation - -
  • scalar1 = optional, only necessary if twoDimensional is active - -
  • switch1 = (optional, default false) sub model switch, see forceSubModel for details - -
  • switch2 = (optional, default false) sub model switch, see forceSubModel for details - - -
-

Examples: -

-
forceModels
-(
-    ShirgaonkarIB
-);
-ShirgaonkarIBProps
-{
-    velFieldName "U";
-    pressureFieldName "p";
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The ShirgaonkarIB model calculates the drag force (viscous and pressure force) acting on each particle in a resolved manner (see Shirgaonkar et al. (2009): "A new mathematical formulation and fast algorithm for fully resolved simulation of self-propulsion", Journal of Comp. Physics). This model is only suited for resolved CFD-DEM simulations where the particle is represented by immersed boundary method. -

-

References: -

-

SHIRGAONKAR, A.A., MACIVER, M.A. and PATANKAR, N.A., (2009), “A new mathematical formulation and fast algorithm for fully resolved simulation of self-propulsionâ€, J. Comput. Phys., 228, 2366-2390. -

-

Restrictions: -

-

Only for immersed boundary solvers. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_ShirgaonkarIB.txt b/doc/forceModel_ShirgaonkarIB.txt new file mode 100644 index 0000000..eaf4fa2 --- /dev/null +++ b/doc/forceModel_ShirgaonkarIB.txt @@ -0,0 +1,63 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_ShirgaonkarIB command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + ShirgaonkarIB +); +ShirgaonkarIBProps +\{ + velFieldName "U"; + pressureFieldName "p"; + twoDimensional; + depth scalar1; + verbose switch1; + treatForceExplicit switch2; +\}; :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{p} = name of the finite volume pressure field :l +{twoDimensional} = optional keyword for conducting a two dimensional calculation :l +{scalar1} = optional, only necessary if twoDimensional is active :l +{switch1} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch2} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +:ule + +[Examples:] + +forceModels +( + ShirgaonkarIB +); +ShirgaonkarIBProps +\{ + velFieldName "U"; + pressureFieldName "p"; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The ShirgaonkarIB model calculates the drag force (viscous and pressure force) acting on each particle in a resolved manner (see Shirgaonkar et al. (2009): "A new mathematical formulation and fast algorithm for fully resolved simulation of self-propulsion", Journal of Comp. Physics). This model is only suited for resolved CFD-DEM simulations where the particle is represented by immersed boundary method. + +[References:] + +SHIRGAONKAR, A.A., MACIVER, M.A. and PATANKAR, N.A., (2009), “A new mathematical formulation and fast algorithm for fully resolved simulation of self-propulsionâ€, J. Comput. Phys., 228, 2366-2390. + +[Restrictions:] + +Only for immersed boundary solvers. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_checkCouplingInterval.txt b/doc/forceModel_checkCouplingInterval.txt new file mode 100644 index 0000000..4f50900 --- /dev/null +++ b/doc/forceModel_checkCouplingInterval.txt @@ -0,0 +1,64 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_checkCouplingInterval command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + checkCouplingInterval +); +checkCouplingIntervalProps +\{ + warnOnly bool1; + velocityFieldName word1; + rhoP scalar1; + maxCFL scalar2; + maxAccNr scalar3; + UmaxExpected scalar4; + minAllowedVcellByVparcel scalar5; + timeInterval scalar6; +\}; :pre + +{bool1} = (optional, default true) switch to warn or stop simulation if criterion is broken. :ulb,l +{word1} = (optional, default U) name of velocity field. :l +{scalar1} = particle density assumed for calculation of the particle relaxation time :l +{scalar2} = (optional, default=50) maximum allowed CFL number. :l +{scalar3} = (optional, default=0.1) maximum allowed ratio of coupling time to particle relaxation time. :l +{scalar4} = maximum expected velocity fluid velocity (e.g. due to BCs) - used for CFL estimation. :l +{scalar5} = (optional, default=3) min allowed volume ratio of cell / particle. :l +{scalar6} = (optional, default=coupling time) interval of execution. :l +:ule + +[Examples:] + +forceModels +( + checkCouplingInterval +); +checkCouplingIntervalProps +\{ + rhoP 2500; + UmaxExpected 10; + timeInterval 0.002; +\} :pre + +[Description:] + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! At the first coupling step and at every time interval several criteria are checked: (i) The acceleration number is defined as the ratio of DEMtime/particleRelaxationTime, where DEMtime is DEM time step size * coupling interval. The acceleration nr should be smaller than ~0.1. (ii) The Courant Number (CFL). If the CFL number exceeds a reasonable value the quality of the result becomes bad - therefore the simulation settings should be changed. (iii) The ratio of smallest cell biggest particle volume. Typically this should be larger than 3. (iiii) The minimum and maximum Stokes Number. For the criteria (i)-(iii) the user can define its own allowed bounds and with the flag "warnOnly" the user can choose if the simulation should be stopped or if just a warning is given if a criterion is broken. + +[Restrictions:] + +needs MPI based dataExchange model - e.g. oneWayVTK will not work. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_fieldStore.html b/doc/forceModel_fieldStore.html deleted file mode 100644 index d21cbcb..0000000 --- a/doc/forceModel_fieldStore.html +++ /dev/null @@ -1,68 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_fieldStore command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    fieldStore
-);
-fieldStoreProps
-{
-    scalarFieldNames
-    (
-        "scalarField"
-    );
-    vectorFieldNames
-    (
-        "vectorField"
-    );
-}; 
-
-
  • scalarField = names of the finite volume scalar fields to be stored - -
  • vectorField = names of the finite volume vector fields to be stored - - -
-

Examples: -

-
forceModels
-(
-    fieldStore
-);
-fieldStoreProps
-{
-    scalarFieldNames
-    (
-        "voidfraction"
-    );
-    vectorFieldNames
-    (
-        "U"
-    );
-} 
-
-

Description: -

-

This "forceModel" does not influence the particles or the flow - it is a tool to store a scalar/vector field! This is especially useful if you use a boundary condition which cannot interpreted correctly in your postporcessor (e.g. paraview). -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_fieldStore.txt b/doc/forceModel_fieldStore.txt new file mode 100644 index 0000000..2e8af44 --- /dev/null +++ b/doc/forceModel_fieldStore.txt @@ -0,0 +1,63 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_fieldStore command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + fieldStore +); +fieldStoreProps +\{ + scalarFieldNames + ( + "scalarField" + ); + vectorFieldNames + ( + "vectorField" + ); +\}; :pre + +{scalarField} = names of the finite volume scalar fields to be stored :ulb,l +{vectorField} = names of the finite volume vector fields to be stored :l +:ule + +[Examples:] + +forceModels +( + fieldStore +); +fieldStoreProps +\{ + scalarFieldNames + ( + "voidfraction" + ); + vectorFieldNames + ( + "U" + ); +\} :pre + +[Description:] + +This "forceModel" does not influence the particles or the flow - it is a tool to store a scalar/vector field! This is especially useful if you use a boundary condition which cannot interpreted correctly in your postporcessor (e.g. paraview). + +[Restrictions:] + +none. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_fieldTimeAverage.html b/doc/forceModel_fieldTimeAverage.html deleted file mode 100644 index ac6453e..0000000 --- a/doc/forceModel_fieldTimeAverage.html +++ /dev/null @@ -1,72 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_fieldTimeAverage command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    fieldTimeAverage
-);
-fieldTimeAverageProps
-{
-    startTime time;
-    scalarFieldNames
-    (
-        "scalarField"
-    );
-    vectorFieldNames
-    (
-        "vectorField"
-    );
-}; 
-
-
  • time = (optional) time to start temporal averaging - -
  • scalarField = names of the finite volume scalar fields to be temporally averaged - -
  • vectorField = names of the finite volume vector fields to be temporally averaged - - -
-

Examples: -

-
forceModels
-(
-    fieldTimeAverage
-);
-fieldTimeAverageProps
-{
-    startTime 1.0;
-    scalarFieldNames
-    (
-        "voidfraction"
-    );
-    vectorFieldNames
-    (
-        "Us"
-    );
-} 
-
-

Description: -

-

This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! Starting at start time the specified fields are temporally averaged and written at "writeTime". They can then be probed using standard function object probes. The output name is timeAverage_scalarField, where scalarField is the name of the original field. -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_fieldTimeAverage.txt b/doc/forceModel_fieldTimeAverage.txt new file mode 100644 index 0000000..94980a1 --- /dev/null +++ b/doc/forceModel_fieldTimeAverage.txt @@ -0,0 +1,66 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_fieldTimeAverage command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + fieldTimeAverage +); +fieldTimeAverageProps +\{ + startTime time; + scalarFieldNames + ( + "scalarField" + ); + vectorFieldNames + ( + "vectorField" + ); +\}; :pre + +{time} = (optional) time to start temporal averaging :ulb,l +{scalarField} = names of the finite volume scalar fields to be temporally averaged :l +{vectorField} = names of the finite volume vector fields to be temporally averaged :l +:ule + +[Examples:] + +forceModels +( + fieldTimeAverage +); +fieldTimeAverageProps +\{ + startTime 1.0; + scalarFieldNames + ( + "voidfraction" + ); + vectorFieldNames + ( + "Us" + ); +\} :pre + +[Description:] + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! Starting at start time the specified fields are temporally averaged and written at "writeTime". They can then be probed using standard function object probes. The output name is timeAverage_scalarField, where scalarField is the name of the original field. + +[Restrictions:] + +none. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_gradPForce.html b/doc/forceModel_gradPForce.html deleted file mode 100644 index 1f9728f..0000000 --- a/doc/forceModel_gradPForce.html +++ /dev/null @@ -1,75 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_gradPForce command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    gradPForce;
-);
-gradPForceProps
-{
-    pFieldName "pressure";
-    velocityFieldName "U";
-    interpolation       switch1;
-    gradPInterpolationType "type1"
-    useAddedMass        scalar1;
-    suppressProbe       switch2;
-    treatForceExplicit  switch3;
-    treatForceDEM       switch4;
-}; 
-
-
  • pressure = name of the finite volume fluid pressure field - -
  • U = name of the finite volume fluid velocity field - -
  • switch1 = flag to use interpolated pressure values (normally off) - -
  • type1 = (optional, default cellPointFace) interpolation type for grad(p) field - -
  • useAddedMass = (optional) coefficient of added mass accounted for - -
  • switch2 = (optional, default false) can be used to suppress the output of the probe model - -
  • switch3 = (optional, default true) sub model switch, see forceSubModel for details - -
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details - - -
-

Examples: -

-
forceModels
-(
-    gradPForce;
-);
-gradPForceProps
-{
-    pFieldName "p";
-    velocityFieldName "U";
-    interpolation true;
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The gradPForce model is a model that calculates the particle based pressure gradient force -(grad(p)) * Vparticle (see Zhou et al. (2010): "Discrete particle simulation of particle-fluid flow: model formulations and their applicability" ,JFM). -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_gradPForce.txt b/doc/forceModel_gradPForce.txt new file mode 100644 index 0000000..829b553 --- /dev/null +++ b/doc/forceModel_gradPForce.txt @@ -0,0 +1,64 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_gradPForce command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + gradPForce; +); +gradPForceProps +\{ + pFieldName "pressure"; + velocityFieldName "U"; + interpolation switch1; + gradPInterpolationType "type1" + useAddedMass scalar1; + suppressProbe switch2; + treatForceExplicit switch3; + treatForceDEM switch4; +\}; :pre + +{pressure} = name of the finite volume fluid pressure field :ulb,l +{U} = name of the finite volume fluid velocity field :l +{switch1} = flag to use interpolated pressure values (normally off) :l +{type1} = (optional, default cellPointFace) interpolation type for grad(p) field :l +{useAddedMass} = (optional) coefficient of added mass accounted for :l +{switch2} = (optional, default false) can be used to suppress the output of the probe model :l +{switch3} = (optional, default true) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch4} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +:ule + +[Examples:] + +forceModels +( + gradPForce; +); +gradPForceProps +\{ + pFieldName "p"; + velocityFieldName "U"; + interpolation true; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The gradPForce model is a model that calculates the particle based pressure gradient force -(grad(p)) * Vparticle (see Zhou et al. (2010): "Discrete particle simulation of particle-fluid flow: model formulations and their applicability" ,JFM). + +[Restrictions:] + +none. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_noDrag.html b/doc/forceModel_noDrag.html deleted file mode 100644 index db8df51..0000000 --- a/doc/forceModel_noDrag.html +++ /dev/null @@ -1,62 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_noDrag command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    noDrag
-); 
-
-

noDragProps -{ - noDEMForce; - keepCFDForce; - treatForceExplicit switch1; -} -

-
  • noDragProps are optional. -noDEMForce = optional - -
  • keepCFDForce = optional - -
  • switch1 = (optional, default false) sub model switch, see forceSubModel for details - - -
-

Examples: -

-
forceModels
-(
-    noDrag
-); 
-
-
noDragProps (optional)
-{
-    noDEMForce; (optional, default false) do not apply the previously calculated forces in DEM integration
-    keepCFDForce; (optional, default false) do not delete the previously calculated forces and use them in CFD source terms
-}; 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The noDrag model sets the forces acting on the particle (which were previously caclulated) to zero. If several force models are selected and noDrag is the last model being executed, the fluid particle force will be set to zero. If the variable noDEMForce is set, then the forces communicated to the DEM solver are also set to zero. -

-

Restrictions: -

-

None. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_noDrag.txt b/doc/forceModel_noDrag.txt new file mode 100644 index 0000000..fbb7881 --- /dev/null +++ b/doc/forceModel_noDrag.txt @@ -0,0 +1,54 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_noDrag command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + noDrag +); :pre +noDragProps +\{ + noDEMForce "switch1"; + keepCFDForce "switch2"; + treatForceExplicit "switch3"; +\} + +{switch1} = (optional, default false) do not apply the previously calculated forces in DEM integration :ulb,l +{switch2} = (optional, default false) do not delete the previously calculated forces and use them in CFD source terms :l +{switch3} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +:ule + +[Examples:] + +forceModels +( + noDrag +); :pre + +noDragProps +\{ + noDEMForce true; + keepCFDForce false; +\}; :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The noDrag model sets the forces acting on the particle (which were previously caclulated) to zero. If several force models are selected and noDrag is the last model being executed, the fluid particle force will be set to zero. If the variable noDEMForce is set, then the forces communicated to the DEM solver are also set to zero. + +[Restrictions:] + +None. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_particleCellVolume.html b/doc/forceModel_particleCellVolume.html deleted file mode 100644 index f6e3ce8..0000000 --- a/doc/forceModel_particleCellVolume.html +++ /dev/null @@ -1,67 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_particleCellVolume command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    particleCellVolume
-);
-particleCellVolumeProps
-{
-    verbose switch1;
-    writeToFile switch2;
-    startTime number1;
-    upperThreshold number2;
-    lowerThreshold number3;
-    verbose;
-}; 
-
-
  • switch1 = (optional, default true) switch for output to screen - -
  • switch2 = (optional, default false) switch for output to file - -
  • number1 = (optional, default 0) start time of volume calculation and output - -
  • number2 = only cells with a field value (magnitude) lower than this upper threshold are considered - -
  • number3 = only cells with a field value (magnitude) greater than this lower threshold are considered - - -
-

Examples: -

-
forceModels
-(
-    particleCellVolume
-);
-particleCellVolumeProps
-{
-    upperThreshold 0.999;
-    lowerThreshold 0;
-} 
-
-

Description: -

-

This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles as they are represented on the CFD mesh is calculated. Further the total volume of the cells particles are in is calculated. -At "writeTime" a field named particleCellVolume , where scalarField is the name of the original field, is written. This can then be probed using standard function object probes. Analogously a field named cellVolume is written. Using the verbose option a screen output is given. -

-

Restrictions: -

-

None. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_particleCellVolume.txt b/doc/forceModel_particleCellVolume.txt new file mode 100644 index 0000000..9021c27 --- /dev/null +++ b/doc/forceModel_particleCellVolume.txt @@ -0,0 +1,59 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_particleCellVolume command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + particleCellVolume +); +particleCellVolumeProps +\{ + verbose switch1; + writeToFile switch2; + startTime number1; + upperThreshold number2; + lowerThreshold number3; + verbose; +\}; :pre + +{switch1} = (optional, default true) switch for output to screen :ulb,l +{switch2} = (optional, default false) switch for output to file :l +{number1} = (optional, default 0) start time of volume calculation and output :l +{number2} = only cells with a field value (magnitude) lower than this upper threshold are considered :l +{number3} = only cells with a field value (magnitude) greater than this lower threshold are considered :l +:ule + +[Examples:] + +forceModels +( + particleCellVolume +); +particleCellVolumeProps +\{ + upperThreshold 0.999; + lowerThreshold 0; +\} :pre + +[Description:] + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles as they are represented on the CFD mesh is calculated. Further the total volume of the cells particles are in is calculated. +At "writeTime" a field named particleCellVolume , where scalarField is the name of the original field, is written. This can then be probed using standard function object probes. Analogously a field named cellVolume is written. Using the verbose option a screen output is given. + +[Restrictions:] + +None. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_particleVolume.html b/doc/forceModel_particleVolume.html deleted file mode 100644 index a9e36a3..0000000 --- a/doc/forceModel_particleVolume.html +++ /dev/null @@ -1,61 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_particleVolume command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    particleVolume
-);
-particleVolumeProps
-{
-    verbose switch1;
-    writeToFile switch2;
-    scale scalar1;
-    startTime scalar2;
-}; 
-
-
  • switch1 = (optional, default false) switch for output to screen - -
  • switch2 = (optional, default true) switch for output to file - -
  • scalar1 = (optional, default 1) scaling of the particle volume d=dSphere/scale - -
  • scalar2 = (optional, default 0) start time of volume calculation and output - - -
-

Examples: -

-
forceModels
-(
-    particleVolume
-);
-particleVolumeProps
-{
-    writeToFile false;
-} 
-
-

Description: -

-

This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles is calculated. -

-

Restrictions: -

-

None. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_particleVolume.txt b/doc/forceModel_particleVolume.txt new file mode 100644 index 0000000..2386b40 --- /dev/null +++ b/doc/forceModel_particleVolume.txt @@ -0,0 +1,54 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_particleVolume command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + particleVolume +); +particleVolumeProps +\{ + verbose switch1; + writeToFile switch2; + scale scalar1; + startTime scalar2; +\}; :pre + +{switch1} = (optional, default false) switch for output to screen :ulb,l +{switch2} = (optional, default true) switch for output to file :l +{scalar1} = (optional, default 1) scaling of the particle volume d=dSphere/scale :l +{scalar2} = (optional, default 0) start time of volume calculation and output :l +:ule + +[Examples:] + +forceModels +( + particleVolume +); +particleVolumeProps +\{ + writeToFile false; +\} :pre + +[Description:] + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! The total volume of the particles is calculated. + +[Restrictions:] + +None. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_scalarGeneralExchange.html b/doc/forceModel_scalarGeneralExchange.html deleted file mode 100644 index 408ce00..0000000 --- a/doc/forceModel_scalarGeneralExchange.html +++ /dev/null @@ -1,212 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_scalarGeneralExchange command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    scalarGeneralExchange  // must be 2nd position!
-);
-scalarGeneralExchangeProps
-{
-    useLiMason "switch1"; //default: DeenEtAl
-    useGeneralCorrelation "switch3"; //default: DeenEtAl
-    generalCorrelationParameters (1 2 3 4 5 6 7 8);
-    verbose "switch2";
-    velFieldName "U";
-    voidfractionFieldName "voidfraction";
-    tempFieldName "T";
-    partTempName "Temp";
-    /* partHeatFluxName "convectiveHeatFlux"; //switch off for implicit coupling, e.g., to ParScale */
-    partHeatTransCoeffName "heatTransCoeff";
-    partHeatFluidName "heatFluid";
-    lambda value;
-    Cp value1;
-    //Lists with information for each species FOR THE PARTICLES
-    //MUST be in the same order as eulerian species in 'scalarTransportProperties'
-    //MUST correspond to property/atom in ligghts (use 'couple/cfd/speciesConvection' to auto-generate individual fields)
-    partSpeciesNames
-    (
-    speciesC
-    );
-    partSpeciesFluxNames
-    (
-    speciesCFlux
-    );
-    partSpeciesTransCoeffNames
-    (
-    speciesCTransCoeff
-    );
-    partSpeciesFluidNames
-    (
-    speciesCFluid
-    );
-    DMolecular
-    (
-    value2
-    );
-    interpolation "bool1";
-    voidfractionInterpolationType "type1"
-    UInterpolationType "type2"
-    fluidScalarFieldInterpolationType "type2"
-    scalarViscosity switch5;
-    nu scalar5;
-    suppressProbe switch6;
-    scale scalar6;
-    maxSource scalar7;
-} 
-
-
  • switch1 = (optional) flag to use Nusselt correlations of Li and Mason (2000) - -
  • switch2 = (normally off) for verbose run - -
  • switch3 = (optional) flag to use a general Nusselt number correlation (must specify parameters of this correlation in a list called 'generalCorrelationParameters' ) - -
  • generalCorrelationParameters = list with a predefined number of parameters (for length see src code, only read if useGeneralCorrelation is set to true) - -
  • U = name of the finite volume fluid velocity field - -
  • voidfraction = name of the finite volume voidfraction field - -
  • T = name of the finite volume scalar temperature field - -
  • Temp = name of the DEM data representing the particles temperature - -
  • convectiveHeatFlux = name of the DEM data representing the particle-fluid convective heat flux - -
  • heatTransCoeff = name of the DEM data representing the particle-fluid heat transfer coefficient - -
  • heatFluid = name of the DEM data representing the fluid heat - -
  • value = fluid thermal conductivity [W/(m*K)] - -
  • value1 = fluid specific heat capacity [W*s/(kg*K)] - -
  • speciesC = name of the DEM data representing the transport species of the particles - -
  • speciesCFlux = name of the DEM data representing the particle-fluid species flux - -
  • speciesCTransCoeff = name of the DEM data representing the particle-fluid species transfer coefficient - -
  • speciesCFluid = name of the DEM data representing the transport species of the fluid - -
  • value2 = molecular diffusion coefficient [m^2/s] - -
  • bool1 = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values - -
  • type1 = (optional, default cellPoint) interpolation type for voidfraction field - -
  • type2 = (optional, default cellPointFace) interpolation type for velocity field - -
  • type3 = (optional, default cellPoint) interpolation type for fluidScalarField field - -
  • switch5 = (optional, default false) sub model switch, see forceSubModel for details - -
  • scalar5 = (optional) optional, only if switch5 is true - -
  • switch6 = (optional, default false) can be used to suppress the output of the probe model - -
  • scalar7 = (optional) scaling of particle diameter - -
  • scalar7 = limit maximal turbulence - - -
-

Examples: -

-
forceModels
-(
-    scalarGeneralExchange  // must be 2nd position!
-);
-scalarGeneralExchangeProps
-{
-    useLiMason false; //default: DeenEtAl
-    useGeneralCorrelation true; //default: DeenEtAl
-    generalCorrelationParameters
-    (
-     7.0 -10 5
-     1.0 0.17
-     1.33 -2.31 1.16
-    );
-    verbose false;
-    velFieldName "U";
-    voidfractionFieldName "voidfraction";
-    tempFieldName "T";
-    partTempName "Temp";
-    /* partHeatFluxName "convectiveHeatFlux"; //switch off for implicit coupling, e.g., to ParScale */
-    partHeatTransCoeffName "heatTransCoeff";
-    partHeatFluidName "heatFluid";
-    lambda 0.0271;
-    Cp 1007;
-    //Lists with information for each species FOR THE PARTICLES
-    //MUST be in the same order as eulerian species in 'scalarTransportProperties'
-    //MUST correspond to property/atom in ligghts (use 'couple/cfd/speciesConvection' to auto-generate individual fields)
-    partSpeciesNames
-    (
-    speciesC
-    );
-    partSpeciesFluxNames
-    (
-    speciesCFlux
-    );
-    partSpeciesTransCoeffNames
-    (
-    speciesCTransCoeff
-    );
-    partSpeciesFluidNames
-    (
-    speciesCFluid
-    );
-    DMolecular
-    (
-    1e-5
-    );
-} 
-
-

Description: -

-

This "forceModel" does not influence the particles or the fluid flow! -Using the particles' temperature and/or species a scalar field -representing "particle-fluid heatflux" and/or "particle-fluid speciesflux" is calculated. -

-

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). -

-

Two way general scalar exchange between DEM and CFD -convective heat and species transfer model. The standard model is that of -Deen, N.G. et al., Review of direct numerical simulation of -fluid-particle mass, momentum and heat transfer in dense gas-solid flows. -Chemical Engineering Science 116 (2014) 710-724. -This correlation is based on that of Gunn (1978). -

-

The switch 'useGeneralCorrelation' allows one to specify the parameters -of the Gunn correlation as a list called 'generalCorrelationParameters'. -

-

Alternatively, the correclation of -Li and Mason (2000), A computational investigation of transient heat -transfer in pneumatic transport of granular particles, Pow.Tech 112 -can be activated. However, this correlation is not suitable for -dense granular flows. -

-

WARNING: -This model REQUIRES the 'generalManual' speciesTransportModel -

-

Restrictions: -

-

Goes only with cfdemSolverPimpleImEx and cfdemSolverPisoSTM. The force model has to be the second (!!!) model in the forces list. -

-

Related commands: -

-

forceModel forceModel_LaEuScalarTemp -

- diff --git a/doc/forceModel_scalarGeneralExchange.txt b/doc/forceModel_scalarGeneralExchange.txt new file mode 100644 index 0000000..90aaca0 --- /dev/null +++ b/doc/forceModel_scalarGeneralExchange.txt @@ -0,0 +1,184 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_scalarGeneralExchange command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + scalarGeneralExchange // must be 2nd position! +); +scalarGeneralExchangeProps +\{ + useLiMason "switch1"; //default: DeenEtAl + useGeneralCorrelation "switch3"; //default: DeenEtAl + generalCorrelationParameters (1 2 3 4 5 6 7 8); + verbose "switch2"; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + tempFieldName "T"; + partTempName "Temp"; + /* partHeatFluxName "convectiveHeatFlux"; //switch off for implicit coupling, e.g., to ParScale */ + partHeatTransCoeffName "heatTransCoeff"; + partHeatFluidName "heatFluid"; + lambda value; + Cp value1; + //Lists with information for each species FOR THE PARTICLES + //MUST be in the same order as eulerian species in 'scalarTransportProperties' + //MUST correspond to property/atom in ligghts (use 'couple/cfd/speciesConvection' to auto-generate individual fields) + partSpeciesNames + ( + speciesC + ); + partSpeciesFluxNames + ( + speciesCFlux + ); + partSpeciesTransCoeffNames + ( + speciesCTransCoeff + ); + partSpeciesFluidNames + ( + speciesCFluid + ); + DMolecular + ( + value2 + ); + interpolation "bool1"; + voidfractionInterpolationType "type1" + UInterpolationType "type2" + fluidScalarFieldInterpolationType "type2" + scalarViscosity switch5; + nu scalar5; + suppressProbe switch6; + scale scalar6; + maxSource scalar7; +\} :pre + + +{switch1} = (optional) flag to use Nusselt correlations of Li and Mason (2000) :ulb,l +{switch2} = (normally off) for verbose run :l +{switch3} = (optional) flag to use a general Nusselt number correlation (must specify parameters of this correlation in a list called 'generalCorrelationParameters' ) :l +generalCorrelationParameters = list with a predefined number of parameters (for length see src code, only read if useGeneralCorrelation is set to true) :l +{U} = name of the finite volume fluid velocity field :l +{voidfraction} = name of the finite volume voidfraction field :l +{T} = name of the finite volume scalar temperature field :l +{Temp} = name of the DEM data representing the particles temperature :l +{convectiveHeatFlux} = name of the DEM data representing the particle-fluid convective heat flux :l +{heatTransCoeff} = name of the DEM data representing the particle-fluid heat transfer coefficient :l +{heatFluid} = name of the DEM data representing the fluid heat :l +{value} = fluid thermal conductivity \[W/(m*K)\] :l +{value1} = fluid specific heat capacity \[W*s/(kg*K)\] :l +{speciesC} = name of the DEM data representing the transport species of the particles :l +{speciesCFlux} = name of the DEM data representing the particle-fluid species flux :l +{speciesCTransCoeff} = name of the DEM data representing the particle-fluid species transfer coefficient :l +{speciesCFluid} = name of the DEM data representing the transport species of the fluid :l +{value2} = molecular diffusion coefficient \[m^2/s\] :l +{bool1} = (optional, normally off) flag to use interpolated voidfraction and fluid velocity values :l +{type1} = (optional, default cellPoint) interpolation type for voidfraction field :l +{type2} = (optional, default cellPointFace) interpolation type for velocity field :l +{type3} = (optional, default cellPoint) interpolation type for fluidScalarField field :l +{switch5} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{scalar5} = (optional) optional, only if switch5 is true :l +{switch6} = (optional, default false) can be used to suppress the output of the probe model :l +{scalar7} = (optional) scaling of particle diameter :l +{scalar7} = limit maximal turbulence :l +:ule + + +[Examples:] + +forceModels +( + scalarGeneralExchange // must be 2nd position! +); +scalarGeneralExchangeProps +\{ + useLiMason false; //default: DeenEtAl + useGeneralCorrelation true; //default: DeenEtAl + generalCorrelationParameters + ( + 7.0 -10 5 + 1.0 0.17 + 1.33 -2.31 1.16 + ); + verbose false; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + tempFieldName "T"; + partTempName "Temp"; + /* partHeatFluxName "convectiveHeatFlux"; //switch off for implicit coupling, e.g., to ParScale */ + partHeatTransCoeffName "heatTransCoeff"; + partHeatFluidName "heatFluid"; + lambda 0.0271; + Cp 1007; + //Lists with information for each species FOR THE PARTICLES + //MUST be in the same order as eulerian species in 'scalarTransportProperties' + //MUST correspond to property/atom in ligghts (use 'couple/cfd/speciesConvection' to auto-generate individual fields) + partSpeciesNames + ( + speciesC + ); + partSpeciesFluxNames + ( + speciesCFlux + ); + partSpeciesTransCoeffNames + ( + speciesCTransCoeff + ); + partSpeciesFluidNames + ( + speciesCFluid + ); + DMolecular + ( + 1e-5 + ); +\} :pre + +[Description:] + +This "forceModel" does not influence the particles or the fluid flow! +Using the particles' temperature and/or species a scalar field +representing "particle-fluid heatflux" and/or "particle-fluid speciesflux" is calculated. + +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). + +Two way general scalar exchange between DEM and CFD +convective heat and species transfer model. The standard model is that of +Deen, N.G. et al., Review of direct numerical simulation of +fluid-particle mass, momentum and heat transfer in dense gas-solid flows. +Chemical Engineering Science 116 (2014) 710-724. +This correlation is based on that of Gunn (1978). + +The switch 'useGeneralCorrelation' allows one to specify the parameters +of the Gunn correlation as a list called 'generalCorrelationParameters'. + +Alternatively, the correclation of +Li and Mason (2000), A computational investigation of transient heat +transfer in pneumatic transport of granular particles, Pow.Tech 112 +can be activated. However, this correlation is not suitable for +dense granular flows. + +WARNING: +This model REQUIRES the 'generalManual' speciesTransportModel + +[Restrictions:] + +Goes only with cfdemSolverPimpleImEx and cfdemSolverPisoSTM. The force model has to be the second (!!!) model in the forces list. + +[Related commands:] + +"forceModel"_forceModel.html "forceModel_LaEuScalarTemp"_forceModel_LaEuScalarTemp.html + diff --git a/doc/forceModel_virtualMassForce.html b/doc/forceModel_virtualMassForce.html deleted file mode 100644 index 01a9957..0000000 --- a/doc/forceModel_virtualMassForce.html +++ /dev/null @@ -1,76 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_virtualMassForce command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    virtualMassForce
-);
-virtualMassForceProps
-{
-    velFieldName "U";
-    phiFieldName "phi";
-    splitUrelCalculation switch1;
-    Cadd scalar1;
-    treatForceExplicit switch2;
-    treatForceDEM switch3;
-    interpolation switch4;
-    UInterpolationType "type1"
-    DDtUInterpolationType "type2"
-}; 
-
-
  • U = name of the finite volume fluid velocity field - -
  • phi = name of the finite volume flux field - -
  • switch1 = indicator to split calculation of Urel between CFDEM and LIGGGHTS - -
  • scalar1 = scalar value - -
  • switch2 = (optional, default true) sub model switch, see forceSubModel for details - -
  • switch3 = (optional, default false) sub model switch, see forceSubModel for details - -
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details - -
  • type1 = (optional, default cellPointFace) interpolation type for U field - -
  • type2 = (optional, default cellPointFace) interpolation type for ddt(U) field - - -
-

Examples: -

-
forceModels
-(
-    virtualMassForce
-);
-virtualMassForceProps
-{
-    velFieldName "U";
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The virtualMassForce model calculates the virtual mass force for each particle. -

-

Restrictions: -

-

Model not validated! -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_virtualMassForce.txt b/doc/forceModel_virtualMassForce.txt new file mode 100644 index 0000000..15aff75 --- /dev/null +++ b/doc/forceModel_virtualMassForce.txt @@ -0,0 +1,64 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_virtualMassForce command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + virtualMassForce +); +virtualMassForceProps +\{ + velFieldName "U"; + phiFieldName "phi"; + splitUrelCalculation switch1; + Cadd scalar1; + treatForceExplicit switch2; + treatForceDEM switch3; + interpolation switch4; + UInterpolationType "type1" + DDtUInterpolationType "type2" +\}; :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{phi} = name of the finite volume flux field :l +{switch1} = indicator to split calculation of Urel between CFDEM and LIGGGHTS :l +{scalar1} = scalar value :l +{switch2} = (optional, default true) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch3} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch4} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{type1} = (optional, default cellPointFace) interpolation type for U field :l +{type2} = (optional, default cellPointFace) interpolation type for ddt(U) field :l +:ule + +[Examples:] + +forceModels +( + virtualMassForce +); +virtualMassForceProps +\{ + velFieldName "U"; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The virtualMassForce model calculates the virtual mass force for each particle. + +[Restrictions:] + +Model not validated! + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_viscForce.html b/doc/forceModel_viscForce.html deleted file mode 100644 index e9b8073..0000000 --- a/doc/forceModel_viscForce.html +++ /dev/null @@ -1,76 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_viscForce command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    viscForce;
-);
-viscForceProps
-{
-    velocityFieldName "U";
-    useAddedMass scalar1;
-    suppressProbe switch1;
-    treatForceExplicit switch2;
-    treatForceDEM switch3;
-    interpolation switch4;
-    divTauInterpolationType "type1";
-    scalarViscosity switch5;
-    nu scalar2;
-}; 
-
-
  • U = name of the finite volume fluid velocity field - -
  • scalar1 = (optional) coefficient of added mass accounted for - -
  • switch1 = (optional, default false) can be used to suppress the output of the probe model - -
  • switch2 = (optional, default true) sub model switch, see forceSubModel for details - -
  • switch3 = (optional, default false) sub model switch, see forceSubModel for details - -
  • switch4 = (optional, default false) sub model switch, see forceSubModel for details - -
  • type1 = (optional, default cellPointFace) interpolation type for div(Tau) field - -
  • switch5 = (optional, default false) sub model switch, see forceSubModel for details - -
  • scalar2 = optional, only if switch5 is true - - -
-

Examples: -

-
forceModels
-(
-    viscForce;
-);
-viscForceProps
-{
-    velocityFieldName "U";
-} 
-
-

Description: -

-

The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The viscForce model calculates the particle based viscous force, -(grad(tau)) * Vparticle (see Zhou et al. (2010): "Discrete particle simulation of particle-fluid flow: model formulations and their applicability", JFM). -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_viscForce.txt b/doc/forceModel_viscForce.txt new file mode 100644 index 0000000..5a9c80a --- /dev/null +++ b/doc/forceModel_viscForce.txt @@ -0,0 +1,64 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_viscForce command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + viscForce; +); +viscForceProps +\{ + velocityFieldName "U"; + useAddedMass scalar1; + suppressProbe switch1; + treatForceExplicit switch2; + treatForceDEM switch3; + interpolation switch4; + divTauInterpolationType "type1"; + scalarViscosity switch5; + nu scalar2; +\}; :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{scalar1} = (optional) coefficient of added mass accounted for :l +{switch1} = (optional, default false) can be used to suppress the output of the probe model :l +{switch2} = (optional, default true) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch3} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{switch4} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{type1} = (optional, default cellPointFace) interpolation type for div(Tau) field :l +{switch5} = (optional, default false) sub model switch, see "forceSubModel"_forceSubModel.html for details :l +{scalar2} = optional, only if switch5 is true :l +:ule + +[Examples:] + +forceModels +( + viscForce; +); +viscForceProps +\{ + velocityFieldName "U"; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle interaction forces) acting on each DEM particle. The viscForce model calculates the particle based viscous force, -(grad(tau)) * Vparticle (see Zhou et al. (2010): "Discrete particle simulation of particle-fluid flow: model formulations and their applicability", JFM). + +[Restrictions:] + +none. + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceModel_volWeightedAverage.html b/doc/forceModel_volWeightedAverage.html deleted file mode 100644 index af38c37..0000000 --- a/doc/forceModel_volWeightedAverage.html +++ /dev/null @@ -1,93 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceModel_volWeightedAverage command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
forceModels
-(
-    volWeightedAverage
-);
-volWeightedAverageProps
-{
-    startTime time;
-    scalarFieldNames
-    (
-        scalarField
-    );
-    vectorFieldNames
-    (
-        vectorField
-    );
-    upperThreshold scalar1;
-    lowerThreshold scalar2;
-    useVolumeFraction switch0;
-    volumeFractionName word1;
-    verbose ;
-    writeToFile switch1;
-}; 
-
-
  • time = (optional, default 0.) time to start the averaging - -
  • scalarField = names of the finite volume scalar fields to be temporally averaged - -
  • vectorField = names of the finite volume vector fields to be temporally averaged - -
  • scalar1 = only cells with a field value (magnitude) lower than this upper threshold are considered - -
  • scalar2 = only cells with a field value (magnitude) greater than this lower threshold are considered - -
  • switch0 = (optional, default false) consider a volume fraction for the calculation - -
  • word1 = (optional, default "voidfraction") name of the volume fraction, only used if useVolumeFraction is true - -
  • verbose = (optional, default false) keyword only (mostly used for debugging) - -
  • switch1 = (optional, default false) switch for the output. - - -
-

Examples: -

-
forceModels
-(
-    volWeightedAverage
-);
-volWeightedAverageProps
-{
-    startTime 0.1;
-    scalarFieldNames
-    (
-        voidfraction
-    );
-    vectorFieldNames
-    (
-    );
-    upperThreshold 0.999;
-    lowerThreshold 0;
-} 
-
-

Description: -

-

This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! Starting at start time -the volume weighted averages of those cells of the fields within the threshold are calculated. -At "writeTime" a field named volAverage_field , where scalarField is the name of the original field, is written. This can then be probed using standard function object probes. -

-

Restrictions: -

-

Currently all fields have the same threshold value! -

-

Related commands: -

-

forceModel -

- diff --git a/doc/forceModel_volWeightedAverage.txt b/doc/forceModel_volWeightedAverage.txt new file mode 100644 index 0000000..89bc531 --- /dev/null +++ b/doc/forceModel_volWeightedAverage.txt @@ -0,0 +1,81 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceModel_volWeightedAverage command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +forceModels +( + volWeightedAverage +); +volWeightedAverageProps +\{ + startTime time; + scalarFieldNames + ( + scalarField + ); + vectorFieldNames + ( + vectorField + ); + upperThreshold scalar1; + lowerThreshold scalar2; + useVolumeFraction switch0; + volumeFractionName word1; + verbose ; + writeToFile switch1; +\}; :pre + +{time} = (optional, default 0.) time to start the averaging :ulb,l +{scalarField} = names of the finite volume scalar fields to be temporally averaged :l +{vectorField} = names of the finite volume vector fields to be temporally averaged :l +{scalar1} = only cells with a field value (magnitude) lower than this upper threshold are considered :l +{scalar2} = only cells with a field value (magnitude) greater than this lower threshold are considered :l +{switch0} = (optional, default false) consider a volume fraction for the calculation :l +{word1} = (optional, default "voidfraction") name of the volume fraction, only used if useVolumeFraction is true :l +{verbose} = (optional, default false) keyword only (mostly used for debugging) :l +{switch1} = (optional, default false) switch for the output. :l +:ule + +[Examples:] + +forceModels +( + volWeightedAverage +); +volWeightedAverageProps +\{ + startTime 0.1; + scalarFieldNames + ( + voidfraction + ); + vectorFieldNames + ( + ); + upperThreshold 0.999; + lowerThreshold 0; +\} :pre + +[Description:] + +This "forceModel" does not influence the particles or the simulation - it is a postprocessing tool! Starting at start time +the volume weighted averages of those cells of the fields within the threshold are calculated. +At "writeTime" a field named volAverage_field , where scalarField is the name of the original field, is written. This can then be probed using standard function object probes. + +[Restrictions:] + +Currently all fields have the same threshold value! + +[Related commands:] + +"forceModel"_forceModel.html + diff --git a/doc/forceSubModel.html b/doc/forceSubModel.html deleted file mode 100644 index 6919095..0000000 --- a/doc/forceSubModel.html +++ /dev/null @@ -1,70 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceSubModel command -

-

Syntax: -

-

Defined in couplingProperties sub-dictionary of the force model in use. If no force sub-model is applied ImEx is used as default. If the keyword "forceSubModels" is provided, a choice of sub model is demanded. -

-
forceSubModels
-(
-    model_x
-    model_y
-); 
-
-
  • model = name of force sub-model to be applied -
-

Examples: -

-
forceSubModels
-(
-    ImEx
-); 
-
-

Note: This examples list might not be complete - please look for other models (forceSubModel_XY) in this documentation. -

-

Description: -

-

The force sub model is designed to hold the settings a force model can have. For now it handles the treatExplicit, treatDEM and implDEM option. -

-

Restrictions: -

-

None. -

-

Related commands: -

-

ImEx -

-

Note: This examples list may be incomplete - please look for other models (forceSubModel_XY) in this documentation. -

-

Default: none. -

-

Swtiches: -

-
  • Depending on the availability within the respective force model, a number of switches can be activated: -
  • treatForceExplicit: switch for the purely explicit consideration of the force term in the equation of motion on the CFD side (if switched off, the force is considered semi-implicitly) -
-
  • treatForceDEM: switch for the consideration of the forces on the DEM side only -
-
  • implForceDEM: If true, the fluid velocity and drag coefficient are communicated to the DEM calculation at each coupling time step and the drag force is calculated at each DEM time step, using the current particle velocity. If false, a force term is communiated to the DEM calculation at each coupling time step, the term is not within a coupling interval. -
-
  • verbose: switch for debug output to screen -
-
  • interpolation: switch for the usage of interpolation models when getting data for the Lagrangian calculation from Eulerian fields; If false, the cell centre values are used. -
-
  • useFilteredDragModel: switch for using a coarse-grid version of the Beetstra drag model (takes grid-size effects into account; default = off) -
-
  • useParcelSizeDependentFilteredDrag: switch for using a coarse-grid version of the Beetstra drag model (takes parcel-size effects into account, will force the switch useFilteredDragModel to "on"; default = off) -
-
  • implForceDEMaccumulated: Can only be used in combination with implForceDEM switch, drag force values of each DEM time step are accumulated and passed on to the CFD-calculation. -
-
  • scalarViscosity: switch for the usage of a user-defined viscosity nu for the calculation of the drag force; The CFD calculation always uses the value of the transport model. -
- diff --git a/doc/forceSubModel.txt b/doc/forceSubModel.txt new file mode 100644 index 0000000..903e611 --- /dev/null +++ b/doc/forceSubModel.txt @@ -0,0 +1,58 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceSubModel command :h3 + +[Syntax:] + +Defined in couplingProperties sub-dictionary of the force model in use. If no force sub-model is applied ImEx is used as default. If the keyword "forceSubModels" is provided, a choice of sub model is demanded. + +forceSubModels +( + model_x + model_y +); :pre + +model = name of force sub-model to be applied :ul + +[Examples:] + +forceSubModels +( + ImEx +); :pre + +Note: This examples list might not be complete - please look for other models (forceSubModel_XY) in this documentation. + +[Description:] + +The force sub model is designed to hold the settings a force model can have. For now it handles the treatExplicit, treatDEM and implDEM option. + +[Restrictions:] + +None. + +[Related commands:] + +"ImEx"_forceSubModel_ImEx.html + +Note: This examples list may be incomplete - please look for other models (forceSubModel_XY) in this documentation. + +[Default:] none. + +[Swtiches:] + +Depending on the availability within the respective force model, a number of switches can be activated: +treatForceExplicit: switch for the purely explicit consideration of the force term in the equation of motion on the CFD side (if switched off, the force is considered semi-implicitly) :ul +treatForceDEM: switch for the consideration of the forces on the DEM side only :ul +implForceDEM: If true, the fluid velocity and drag coefficient are communicated to the DEM calculation at each coupling time step and the drag force is calculated at each DEM time step, using the current particle velocity. If false, a force term is communiated to the DEM calculation at each coupling time step, the term is not within a coupling interval. :ul +verbose: switch for debug output to screen :ul +interpolation: switch for the usage of interpolation models when getting data for the Lagrangian calculation from Eulerian fields; If false, the cell centre values are used. :ul +useFilteredDragModel: switch for using a coarse-grid version of the Beetstra drag model (takes grid-size effects into account; default = off) :ul +useParcelSizeDependentFilteredDrag: switch for using a coarse-grid version of the Beetstra drag model (takes parcel-size effects into account, will force the switch useFilteredDragModel to "on"; default = off) :ul +implForceDEMaccumulated: Can only be used in combination with implForceDEM switch, drag force values of each DEM time step are accumulated and passed on to the CFD-calculation. :ul +scalarViscosity: switch for the usage of a user-defined viscosity nu for the calculation of the drag force; The CFD calculation always uses the value of the transport model. :ul diff --git a/doc/forceSubModel_ImEx.html b/doc/forceSubModel_ImEx.html deleted file mode 100644 index 43b92d4..0000000 --- a/doc/forceSubModel_ImEx.html +++ /dev/null @@ -1,45 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

forceSubModel_ImEx command -

-

Syntax: -

-

Defined in couplingProperties sub-dictionary of the force model in use. -

-

forceSubModels -( - ImEx; -); -

-

treatExplicit true; // optional for some force models. -treatDEM true; // optional for some force models. -implDEM true; // optional for some force models. -

-

Examples: -

-

forceSubModels -( - ImEx; -); -treatExplicit true; // optional for some force models. -

-

Description: -

-

If no force sub-model is applied ImEx is used as default. If the keyword "forceSubModels" is provided, a choice of sub model is demanded. Depending on the force model different keywords are read and can therefrore be set (see the log file). If the keyword is provided, its value is used. -

-

Restrictions: -

-

none. -

-

Related commands: -

-

forceSubModel -

- diff --git a/doc/forceSubModel_ImEx.txt b/doc/forceSubModel_ImEx.txt new file mode 100644 index 0000000..e81f55e --- /dev/null +++ b/doc/forceSubModel_ImEx.txt @@ -0,0 +1,42 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +forceSubModel_ImEx command :h3 + +[Syntax:] + +Defined in couplingProperties sub-dictionary of the force model in use. + +forceSubModels +( + ImEx; +); + +treatExplicit true; // optional for some force models. +treatDEM true; // optional for some force models. +implDEM true; // optional for some force models. + +[Examples:] + +forceSubModels +( + ImEx; +); +treatExplicit true; // optional for some force models. + +[Description:] + + If no force sub-model is applied ImEx is used as default. If the keyword "forceSubModels" is provided, a choice of sub model is demanded. Depending on the force model different keywords are read and can therefrore be set (see the log file). If the keyword is provided, its value is used. + +[Restrictions:] + +none. + +[Related commands:] + +"forceSubModel"_forceSubModel.html + diff --git a/doc/githubAccess_public.html b/doc/githubAccess_public.html deleted file mode 100644 index 8830fc4..0000000 --- a/doc/githubAccess_public.html +++ /dev/null @@ -1,284 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - - - - - - - - - - - - - - - -
- -

githubAccess_public -

-
- -

Description: -

-

This routine describes how to pull repositories of the CFDEM(R)project from github.com. -After setting some environment variables, LIGGGHTS(R) and CFDEM(R)coupling can be compiled. -

-

Procedure: -

-

Basically the following steps have to be performed: -

-
  • git clone and setup OpenFOAM - -
  • git clone the desired repositories - -
  • update your repositories by git pull - -
  • set environment variables - -
  • compile LIGGGHTS(R) and CFDEM(R)coupling - -
  • run your own cases - - -
-

git clone and setup OpenFOAM: -

-

Have a look at the latest compatible OpenFOAM(R)-version in the versionInfo.H file at github. -This file will later be downloaded as a part of the source-code. -Look for the git commit hashtag in the following line: -

-
word OFversion="<OF-Release>-commit-<commitHashtag>";  
-
-
e.g. word OFversion="2.4.x-commit-3d8da0e960c717ff582f1517a27724144f086b83"; 
-
-

However sometimes even newer versions are supported, please check the release notes and the "Advanced Settings"-section. -

-

Basically follow the OpenFOAM(R) git compilation instructions, with a small number of exceptions: -

-

When you git clone the repository, replace the release-version with <OF-Release>. -

-

with git-protocol: -

-
git clone git://github.com/OpenFOAM/OpenFOAM-<OF-Release>.git 
-
-

or with https: -

-
git clone https://github.com/OpenFOAM/OpenFOAM-<OF-Release>.git 
-
-

Now change into the new directory and checkout the correct compatible version: -

-
cd OpenFOAM-<OF-Release>
-git checkout <commitHashtag> 
-
-

The result will be a status report, that indicates a 'detached head state'. -Now continue with installing and compiling OpenFOAM(R). -Make sure that OpenFOAM(R) works properly with a parallel Simulation! -

-

If you want to use an older OpenFOAM(R)-version, please have a look at the "Backwards Compatibility"-section. -

-

git clone the desired repositories: -

-

You may want to take a look around on CFDEMproject on github: github.com/CFDEMproject_gitCFDEM -

-

If not already done, open a terminal and create a directory for LIGGGHTS(R) in $HOME: -

-
cd
-mkdir LIGGGHTS
-cd LIGGGHTS 
-
-

To clone the public LIGGGHTS repository, open a terminal and execute: -with git-protocol: -

-
git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC  
-
-

or with https: -

-
git clone https://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC    
-
-

If not already done, open a terminal and create a directory for CFDEM(R)coupling in $HOME: -

-
cd
-mkdir CFDEM
-cd CFDEM 
-
-

To clone the public CFDEM(R)coupling repository, open a terminal and execute: -with git-protocol: -

-
git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION 
-
-

or with https: -

-
git clone https://github.com/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION   
-
-
Additionally the lpp tool for converting LIGGGHTS dump-files into the paraview readable VTK-format might be of use:
-with git-protocol:
-git clone git://github.com:CFDEMproject/LPP.git $HOME/LIGGGHTS/mylpp 
-
-
or with https:
-git clone https://github.com:CFDEMproject/LPP.git $HOME/LIGGGHTS/mylpp 
-
-

Please have a look at README and INSTALL.txt in the root directory of LPP for further information. -

-

Troubles? See Troubleshooting git section below. -

-

Update your repositories by git pull: -

-

To get the latest version, open a terminal, go to the location of your local installation and type: -Warning: git stash will remove your changes in $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION ! -

-
cd $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION
-git stash
-git pull 
-
-

Set Environment Variables: -

-

Now you need to set some environment variables in ~/.bashrc (if you use c-shell, manipulate ~/.cshrc accordingly). Open ~/.bashrc -

-
gedit ~/.bashrc & 
-
-

add the lines (you find them also in CFDEMCoupling-$WM_PROJECT_VERSION/src/lagrangian/cfdemParticle/etc/bashrc and cshrc respectively): -

-
#================================================#
-#- source cfdem env vars
-export CFDEM_VERSION=PUBLIC
-export CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSION
-export CFDEM_SRC_DIR=$CFDEM_PROJECT_DIR/src
-export CFDEM_SOLVER_DIR=$CFDEM_PROJECT_DIR/applications/solvers
-export CFDEM_DOC_DIR=$CFDEM_PROJECT_DIR/doc
-export CFDEM_UT_DIR=$CFDEM_PROJECT_DIR/applications/utilities
-export CFDEM_TUT_DIR=$CFDEM_PROJECT_DIR/tutorials
-export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION
-export CFDEM_bashrc=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc
-export CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src
-export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic
-export CFDEM_LPP_DIR=$HOME/LIGGGHTS/mylpp/src
-export CFDEM_PIZZA_DIR=$HOME/LIGGGHTS/PIZZA/gran_pizza_17Aug10/src
-. $CFDEM_bashrc
-#================================================# 
-
-

If you installed LIGGGHTS(R) or CFDEM(R)coupling in non-standard paths, please have a look at least at CFDEM_PROJECT_DIR and CFDEM_LIGGGHTS_SRC_DIR. -The standard CFDEM_LIGGGHTS_MAKEFILE_NAME is fedora_fpic, which works on most systems. However please checkout LIGGGHTS-PUBLIC/src/MAKE for additional makefiles, wich are available. The most used ones are fedora_fpic and ubuntuVTK_fpic. Beware that the CFDEMcoupling needs a fpic compilation to use LIGGGHTS as a library. Please check the "Advanced Settings" for VTK information. -

-

Save the ~/.bashrc, open a new terminal and test the settings. The commands: -

-
$CFDEM_PROJECT_DIR
-$CFDEM_SRC_DIR
-$CFDEM_LIGGGHTS_SRC_DIR 
-
-

should give "...: is a directory" otherwise something went wrong and the environment variables in ~/.bashrc are not set correctly. -

-

To specify the paths of pizza, please check the settings in $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc. -

-

If $CFDEM_SRC_DIR is set correctly, you can type -

-
cfdemSysTest 
-
-

to get some information if the paths are set correctly. -

-

Compile LIGGGHTS(R) and CFDEM(R)coupling: -

-

If above settings were done correctly, you can compile LIGGGHTS(R) by typing: -

-
cfdemCompLIG 
-
-

and you can then compile CFDEM(R)coupling by typing: -

-
cfdemCompCFDEM 
-
-

or compile both at once with: -

-
cfdemCompCFDEMall 
-
-

You can run the tutorial cases by executing .../etc/testTutorial.sh through the alias cfdemTestTUT. -Alternatively you can run each tutorial using the Allrun.sh scripts in the tutorial directories. -

-

In case questions concerning the installation arise, please feel free to contact our forum at www.cfdem.com. -

-

Run Your Own Cases: -

-

If you want to run your own cases, please do so in $CFDEM_PROJECT_USER_DIR/run which is automatically being generated. E.g. copy one of the tutorial cases there, adapt it to your needs. -Changes in $CFDEM_TUT_DIR will be lost after every git stash! -

-

Additional Installations: -

-

Optionally you can install lpp which will help you convert the DEM (dump) data to VTK format. For standard CFD-DEM runs this will not be necessary. To get the DEM postprocessing tool "lpp" you need python-numpy package installed: -

-
sudo apt-get install python-numpy 
-
-

You can pull the latest version of lpp with: -

-
cd $HOME/LIGGGHTS 
-
-

with git-protocol: -git clone git://github.com/CFDEMproject/LPP.git -with https: -git clone https://github.com/CFDEMproject/LPP.git -

-

Backwards Compatibility: -

-

Basically CFDEM(R)coupling supports one OpenFOAM(R) version therefore all settings are prepared for that. Nevertheless we try to maintain backwards compatibility as long as it works with reasonable effort. -

-

The supported OpenFOAM(R) and LIGGGHTS(R) versions are stated in: -src/lagrangian/cfdemParticle/cfdTools/versionInfo.H -

-

For using other versions you can manipulate: -src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H -(still not all functionality might work then!) -

-

Advanced Settings: -

-

Here some advanced settings and hints for non-standard compilations are presented. -As stated in the "Backwards Compatibility"-section, there are compiler flags for different OpenFOAM versions. Checkout src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H for compatibility settings. Just comment the current "#define version2X" in the top-section and uncomment the one you want to compile it with. -

-

There are advanced compilation settings for library-paths, includes and libraries are within the additionalLibs file in src/lagrangian/cfdemParticle/etc/additionalLibs. There are predefined files for different OpenFOAM versions. To use a different version, add the following lines to your .bashrc (.cshrc) before the standard CFDEM variables: -

-
export CFDEM_ADD_LIBS_DIR=FOLDER_OF_NEW_additionalLibs_FILE/ 
-
-
export CFDEM_ADD_LIBS_NAME=additionalLibs30x 
-
-

This is an example to use a predefined additionalLibs file for OpenFOAM-3.0.x. -

-

To enable direct VTK-dump (dump custom/vtk) support of LIGGGHTS and CFDEMcoupling, you have to install the VTK libraries. Either 5.8 or 6 are predefined for ubuntu. -

-
sudo apt-get libvtk5.8 libvtk5-dev 
-
-

Change "export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic" in your .bashrc according to your preferred LIGGGHTS makefile. -If you have a non-standard installation location you have to adapt the LIGGGHTS makefile accordingly. -To enable this feature in a coupled run the additionalLibs file has to be modified. -It basically needs to include the same libraries as the LIGGGHTS-Makefile. -E.g. for Ubuntu-14.04 with vtk-5.8: -

-
CFDEM_ADD_LIB_PATHS  = -L/usr/include/vtk-5.8 
-
-
CFDEM_ADD_LIBS       = -lvtkCommon -lvtkFiltering -lvtkIO 
-
-

Troubleshooting git: -

-
  • Troubles with git clone? - - -
-

a) The git protocol will not work if your computer is behind a firewall which blocks the relevant TCP port, you can use alternatively https instead of git (write command in one line): -

-

git clone https://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION -

-

b) If you face the error: "error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/...", -

-

please use: env GIT_SSL_NO_VERIFY=true git clone https://github... -

-

(see http://stackoverflow.com/questions/3777075/https-github-access) -

-

c) If you face the error: "Agent admitted failure to sign using the key. Permission denied (publickey).", after ssh -T git@github.com -

-

please type: "ssh-add" -

-

(see: https://help.github.com/articles/error-agent-admitted-failure-to-sign) -

- diff --git a/doc/githubAccess_public.pdf b/doc/githubAccess_public.pdf deleted file mode 100644 index ef8c36490ea87d307f3f787999bffa2b15297244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 371232 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
?8OQhe=~RH=hv`a`gZ3v(%v91wP)D^ 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 diff --git a/doc/githubAccess_public.txt b/doc/githubAccess_public.txt new file mode 100644 index 0000000..f59dc94 --- /dev/null +++ b/doc/githubAccess_public.txt @@ -0,0 +1,263 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) +:link(github,http://github.com) +:link(gitHelp,http://help.github.com/linux-set-up-git) +:link(gitCFDEM,http://github.com/CFDEMproject) +:link(gitscm,http://git-scm.com/downloads) +:link(compOF,https://github.com/CFDEMproject/CFDEMcoupling-PUBLIC/blob/master/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H) +:link(downOF,http://openfoam.org/download/git.php) +:link(relNotes,http://www.cfdem.com/node/414) + +:line +githubAccess_public :h3 +:line + +[Description:] + +This routine describes how to pull repositories of the CFDEM(R)project from "github.com"_github. +After setting some environment variables, LIGGGHTS(R) and CFDEM(R)coupling can be compiled. + +[Procedure:] + +Basically the following steps have to be performed: + +{git clone} and setup OpenFOAM :ulb,l +{git clone} the desired repositories :l +update your repositories by {git pull} :l +set environment variables :l +compile LIGGGHTS(R) and CFDEM(R)coupling :l +run your own cases :l +:ule + +[{git clone} and setup OpenFOAM:] + +Have a look at the latest compatible OpenFOAM(R)-version in the versionInfo.H file at "github"_compOF. +This file will later be downloaded as a part of the source-code. +Look for the git commit hashtag in the following line: + +word OFversion="<OF-Release>-commit-<commitHashtag>"; :pre +e.g. word OFversion="2.4.x-commit-3d8da0e960c717ff582f1517a27724144f086b83"; :pre + +However sometimes even newer versions are supported, please check the "release notes"_relNotes and the "Advanced Settings"-section. + +Basically follow the OpenFOAM(R) git compilation "instructions"_downOF, with a small number of exceptions: + +When you git clone the repository, replace the release-version with <OF-Release>. + +with git-protocol: + +git clone git://github.com/OpenFOAM/OpenFOAM-<OF-Release>.git :pre + +or with https: + +git clone https://github.com/OpenFOAM/OpenFOAM-<OF-Release>.git :pre + +Now change into the new directory and checkout the correct compatible version: + +cd OpenFOAM-<OF-Release> +git checkout <commitHashtag> :pre + +The result will be a status report, that indicates a 'detached head state'. +Now continue with installing and compiling OpenFOAM(R). +Make sure that OpenFOAM(R) works properly with a parallel Simulation! + +If you want to use an older OpenFOAM(R)-version, please have a look at the "Backwards Compatibility"-section. + + +[{git clone} the desired repositories:] + +You may want to take a look around on CFDEMproject on github: github.com/CFDEMproject_gitCFDEM + +If not already done, open a terminal and create a directory for LIGGGHTS(R) in $HOME: + +cd +mkdir LIGGGHTS +cd LIGGGHTS :pre + +To clone the public LIGGGHTS repository, open a terminal and execute: +with git-protocol: + +git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC :pre + +or with https: + +git clone https://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC :pre + +If not already done, open a terminal and create a directory for CFDEM(R)coupling in $HOME: + +cd +mkdir CFDEM +cd CFDEM :pre + +To clone the public CFDEM(R)coupling repository, open a terminal and execute: +with git-protocol: + +git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION :pre + +or with https: + +git clone https://github.com/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION :pre + +Additionally the lpp tool for converting LIGGGHTS dump-files into the paraview readable VTK-format might be of use: +with git-protocol: +git clone git://github.com:CFDEMproject/LPP.git $HOME/LIGGGHTS/mylpp :pre +or with https: +git clone https://github.com:CFDEMproject/LPP.git $HOME/LIGGGHTS/mylpp :pre +Please have a look at README and INSTALL.txt in the root directory of LPP for further information. + +Troubles? See Troubleshooting git section below. + +[Update your repositories by {git pull}:] + +To get the latest version, open a terminal, go to the location of your local installation and type: +{Warning: git stash will remove your changes in $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION !} + +cd $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION +git stash +git pull :pre + +[Set Environment Variables:] + +Now you need to set some environment variables in ~/.bashrc (if you use c-shell, manipulate ~/.cshrc accordingly). Open ~/.bashrc + +gedit ~/.bashrc & :pre + +add the lines (you find them also in CFDEMCoupling-$WM_PROJECT_VERSION/src/lagrangian/cfdemParticle/etc/bashrc and cshrc respectively): + +#================================================# +#- source cfdem env vars +export CFDEM_VERSION=PUBLIC +export CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSION +export CFDEM_SRC_DIR=$CFDEM_PROJECT_DIR/src +export CFDEM_SOLVER_DIR=$CFDEM_PROJECT_DIR/applications/solvers +export CFDEM_DOC_DIR=$CFDEM_PROJECT_DIR/doc +export CFDEM_UT_DIR=$CFDEM_PROJECT_DIR/applications/utilities +export CFDEM_TUT_DIR=$CFDEM_PROJECT_DIR/tutorials +export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION +export CFDEM_bashrc=$CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc +export CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src +export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic +export CFDEM_LPP_DIR=$HOME/LIGGGHTS/mylpp/src +export CFDEM_PIZZA_DIR=$HOME/LIGGGHTS/PIZZA/gran_pizza_17Aug10/src +. $CFDEM_bashrc +#================================================# :pre + +If you installed LIGGGHTS(R) or CFDEM(R)coupling in non-standard paths, please have a look at least at CFDEM_PROJECT_DIR and CFDEM_LIGGGHTS_SRC_DIR. +The standard CFDEM_LIGGGHTS_MAKEFILE_NAME is fedora_fpic, which works on most systems. However please checkout LIGGGHTS-PUBLIC/src/MAKE for additional makefiles, wich are available. The most used ones are fedora_fpic and ubuntuVTK_fpic. Beware that the CFDEMcoupling needs a fpic compilation to use LIGGGHTS as a library. Please check the "Advanced Settings" for VTK information. + +Save the ~/.bashrc, open a new terminal and test the settings. The commands: + +$CFDEM_PROJECT_DIR +$CFDEM_SRC_DIR +$CFDEM_LIGGGHTS_SRC_DIR :pre + +should give "...: is a directory" otherwise something went wrong and the environment variables in ~/.bashrc are not set correctly. + +To specify the paths of pizza, please check the settings in $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/bashrc. + +If $CFDEM_SRC_DIR is set correctly, you can type + +cfdemSysTest :pre + +to get some information if the paths are set correctly. + +[Compile LIGGGHTS(R) and CFDEM(R)coupling:] + +If above settings were done correctly, you can compile LIGGGHTS(R) by typing: + +cfdemCompLIG :pre + +and you can then compile CFDEM(R)coupling by typing: + +cfdemCompCFDEM :pre + +or compile both at once with: + +cfdemCompCFDEMall :pre + +You can run the tutorial cases by executing .../etc/testTutorial.sh through the alias {cfdemTestTUT}. +Alternatively you can run each tutorial using the {Allrun.sh} scripts in the tutorial directories. + +In case questions concerning the installation arise, please feel free to contact our forum at www.cfdem.com. + +[Run Your Own Cases:] + +If you want to run your own cases, please do so in $CFDEM_PROJECT_USER_DIR/run which is automatically being generated. E.g. copy one of the tutorial cases there, adapt it to your needs. +Changes in $CFDEM_TUT_DIR will be lost after every {git stash}! + +[Additional Installations:] + +Optionally you can install lpp which will help you convert the DEM (dump) data to VTK format. For standard CFD-DEM runs this will not be necessary. To get the DEM postprocessing tool "lpp" you need python-numpy package installed: + +sudo apt-get install python-numpy :pre + +You can pull the latest version of lpp with: + +cd $HOME/LIGGGHTS :pre + +with git-protocol: +git clone git://github.com/CFDEMproject/LPP.git +with https: +git clone https://github.com/CFDEMproject/LPP.git + +[Backwards Compatibility:] + +Basically CFDEM(R)coupling supports one OpenFOAM(R) version therefore all settings are prepared for that. Nevertheless we try to maintain backwards compatibility as long as it works with reasonable effort. + +The supported OpenFOAM(R) and LIGGGHTS(R) versions are stated in: +src/lagrangian/cfdemParticle/cfdTools/versionInfo.H + +For using other versions you can manipulate: +src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H +(still not all functionality might work then!) + +[Advanced Settings:] + +Here some advanced settings and hints for non-standard compilations are presented. +As stated in the "Backwards Compatibility"-section, there are compiler flags for different OpenFOAM versions. Checkout src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H for compatibility settings. Just comment the current "#define version2X" in the top-section and uncomment the one you want to compile it with. + +There are advanced compilation settings for library-paths, includes and libraries are within the additionalLibs file in src/lagrangian/cfdemParticle/etc/additionalLibs. There are predefined files for different OpenFOAM versions. To use a different version, add the following lines to your .bashrc (.cshrc) before the standard CFDEM variables: + +export CFDEM_ADD_LIBS_DIR=FOLDER_OF_NEW_additionalLibs_FILE/ :pre + +export CFDEM_ADD_LIBS_NAME=additionalLibs30x :pre + +This is an example to use a predefined additionalLibs file for OpenFOAM-3.0.x. + +To enable direct VTK-dump (dump custom/vtk) support of LIGGGHTS and CFDEMcoupling, you have to install the VTK libraries. Either 5.8 or 6 are predefined for ubuntu. + +sudo apt-get libvtk5.8 libvtk5-dev :pre + +Change "export CFDEM_LIGGGHTS_MAKEFILE_NAME=fedora_fpic" in your .bashrc according to your preferred LIGGGHTS makefile. +If you have a non-standard installation location you have to adapt the LIGGGHTS makefile accordingly. +To enable this feature in a coupled run the additionalLibs file has to be modified. +It basically needs to include the same libraries as the LIGGGHTS-Makefile. +E.g. for Ubuntu-14.04 with vtk-5.8: + +CFDEM_ADD_LIB_PATHS = -L/usr/include/vtk-5.8 :pre + +CFDEM_ADD_LIBS = -lvtkCommon -lvtkFiltering -lvtkIO :pre + +[Troubleshooting git:] + +Troubles with git clone? :ulb,l +:ule + +[a)] The git protocol will not work if your computer is behind a firewall which blocks the relevant TCP port, you can use alternatively https instead of git (write command in one line): + +git clone https://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION + +[b)] If you face the error: "error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/...", + +please use: env GIT_SSL_NO_VERIFY=true git clone https://github... + +(see http://stackoverflow.com/questions/3777075/https-github-access) + + +[c)] If you face the error: "Agent admitted failure to sign using the key. Permission denied (publickey).", after ssh -T git@github.com + +please type: "ssh-add" + +(see: https://help.github.com/articles/error-agent-admitted-failure-to-sign) diff --git a/doc/liggghtsCommandModel.html b/doc/liggghtsCommandModel.html deleted file mode 100644 index 2c0ca7e..0000000 --- a/doc/liggghtsCommandModel.html +++ /dev/null @@ -1,44 +0,0 @@ - -

CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

liggghtsCommandModel command -

-

Syntax: -

-

Defined in liggghtsCommmands dictionary. -

-
liggghtsCommandModels
-(
-    model_x
-    model_y
-); 
-
-
  • model = name of the liggghtsCommandModel to be applied -
-

Examples: -

-
liggghtsCommandModels
-(
-   runLiggghts
-   writeLiggghts
-); 
-
-

Note: This examples list might not be complete - please look for other models (liggghtsCommandModel_XY) in this documentation. -

-

Description: -

-

The liggghtsCommandModel is the base class to execute DEM commands within a CFD run. -

-

Restrictions: -

-

Works only with MPI coupling. -

-

Default: none. -

- diff --git a/doc/liggghtsCommandModel.txt b/doc/liggghtsCommandModel.txt new file mode 100644 index 0000000..37fbe26 --- /dev/null +++ b/doc/liggghtsCommandModel.txt @@ -0,0 +1,40 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +liggghtsCommandModel command :h3 + +[Syntax:] + +Defined in liggghtsCommmands dictionary. + +liggghtsCommandModels +( + model_x + model_y +); :pre + +model = name of the liggghtsCommandModel to be applied :ul + +[Examples:] + +liggghtsCommandModels +( + runLiggghts + writeLiggghts +); :pre + +Note: This examples list might not be complete - please look for other models (liggghtsCommandModel_XY) in this documentation. + +[Description:] + +The liggghtsCommandModel is the base class to execute DEM commands within a CFD run. + +[Restrictions:] + +Works only with MPI coupling. + +[Default:] none. diff --git a/doc/liggghtsCommandModel_execute.html b/doc/liggghtsCommandModel_execute.html deleted file mode 100644 index 58909fe..0000000 --- a/doc/liggghtsCommandModel_execute.html +++ /dev/null @@ -1,97 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

liggghtsCommandModel_execute command -

-

Syntax: -

-

Defined in liggghtsCommmands dictionary. -

-
liggghtsCommandModels
-(
-   execute
-);
-executeProps0
-{
-    command
-    (
-        run
-        $couplingInterval
-    );
-    runFirst switch1; 
-    runLast switch2;
-    runEveryCouplingStep switch3;
-    runEveryWriteStep switch4;
-    verbose;
-} 
-
-
  • command = LIGGGHTS command to be executed. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation) - -
  • switch1 = switch (choose on/off) if the command is executed only at first time step - -
  • switch2 = switch (choose on/off) if the command is executed only at last time step - -
  • switch3 = switch (choose on/off) if the command is executed at every coupling step - -
  • switch4 = switch (choose on/off) if the command is executed at every writing step - -
  • verbose = (normally off) for verbose run - - -
-

Examples: -

-
liggghtsCommandModels
-(
-   execute
-   execute
-);
-executeProps0
-{
-    command
-    (
-        run
-        $couplingInterval
-    );
-    runFirst off;
-    runLast off;
-    runEveryCouplingStep on;
-}
-executeProps1
-{
-    command
-    (
-        write_restart
-        noBlanks
-        dotdot
-        slash
-        DEM
-        slash
-        liggghts.restart_
-        timeStamp
-    );
-    runFirst off;
-    runLast off;
-    runEveryCouplingStep off;
-    runEveryWriteStep on;
-} 
-
-

Description: -

-

The execute liggghtsCommand Model can be used to execute a LIGGGHTS command during a CFD run. In above example execute_0 for instance executes "run $couplingInterval" every coupling step. $couplingInterval is automatically replaced by the correct number of DEM steps. Additionally execute_1 executes "write_restart ../DEM/liggghts.restart_$timeStamp" every writing step, where $timeStamp is automatically set. -

-

These rather complex execute commands can be replaced by the "readLiggghts" and "writeLiggghts" commands! -

-

Restrictions: None. -

-

Related commands: -

-

liggghtsCommandModel -

- diff --git a/doc/liggghtsCommandModel_execute.txt b/doc/liggghtsCommandModel_execute.txt new file mode 100644 index 0000000..5db5f2a --- /dev/null +++ b/doc/liggghtsCommandModel_execute.txt @@ -0,0 +1,88 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +liggghtsCommandModel_execute command :h3 + +[Syntax:] + +Defined in liggghtsCommmands dictionary. + +liggghtsCommandModels +( + execute +); +executeProps0 +\{ + command + ( + run + $couplingInterval + ); + runFirst switch1; + runLast switch2; + runEveryCouplingStep switch3; + runEveryWriteStep switch4; + verbose; +\} :pre + +{command} = LIGGGHTS command to be executed. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation) :ulb,l +{switch1} = switch (choose on/off) if the command is executed only at first time step :l +{switch2} = switch (choose on/off) if the command is executed only at last time step :l +{switch3} = switch (choose on/off) if the command is executed at every coupling step :l +{switch4} = switch (choose on/off) if the command is executed at every writing step :l +{verbose} = (normally off) for verbose run :l +:ule + +[Examples:] + +liggghtsCommandModels +( + execute + execute +); +executeProps0 +\{ + command + ( + run + $couplingInterval + ); + runFirst off; + runLast off; + runEveryCouplingStep on; +\} +executeProps1 +\{ + command + ( + write_restart + noBlanks + dotdot + slash + DEM + slash + liggghts.restart_ + timeStamp + ); + runFirst off; + runLast off; + runEveryCouplingStep off; + runEveryWriteStep on; +\} :pre + +[Description:] + +The execute liggghtsCommand Model can be used to execute a LIGGGHTS command during a CFD run. In above example execute_0 for instance executes "run $couplingInterval" every coupling step. $couplingInterval is automatically replaced by the correct number of DEM steps. Additionally execute_1 executes "write_restart ../DEM/liggghts.restart_$timeStamp" every writing step, where $timeStamp is automatically set. + +These rather complex execute commands can be replaced by the "readLiggghts" and "writeLiggghts" commands! :h4 + +[Restrictions:] None. + +[Related commands:] + +"liggghtsCommandModel"_liggghtsCommandModel.html + diff --git a/doc/liggghtsCommandModel_readLiggghtsData.html b/doc/liggghtsCommandModel_readLiggghtsData.html deleted file mode 100644 index bdd117c..0000000 --- a/doc/liggghtsCommandModel_readLiggghtsData.html +++ /dev/null @@ -1,93 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

liggghtsCommandModel_readLiggghtsData command -

-

Syntax: -

-

Defined in liggghtsCommmands dictionary. -

-
liggghtsCommandModels
-(
-   readLiggghtsData
-);
-readLiggghtsDataProps0
-{
-    startIndex "scalar1";
-    verbose ;
-    exactTiming ;
-    filePath 
-    (
-        "word"
-    );
-    runFirst "bool1";
-    runEveryCouplingStep "bool2";
-    startTime "scalar2";
-    endTime "scalar3";
-    timeInterval "scalar4";
-} 
-
-
  • scalar1 = start index of data file to be read - -
  • verbose = (default off) flag for verbose run - -
  • exactTiming = flag indicating that start time should be kept even during a coupling interval - -
  • filePath = path to LIGGGHTS data file. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation) - -
  • bool1 = true if to be run at first timestep only (prio 1) - -
  • bool2 = true if to be run at every coupling step (prio 2) - -
  • scalar2 = if bool2 and bool3 false then starts at scalar2 (prio 3) run - -
  • scalar3 = if bool2 and bool3 false then it ends at scalar3 (prio 3) run - -
  • scalar4 = if bool2 and bool3 false then it repeats at scalar3 increasing the data file index (prio 3) run - - -
-

Examples: -

-
liggghtsCommandModels
-(
-   readLiggghtsData
-);
-readLiggghtsDataProps0
-{
-    startIndex 0;
-    exactTiming true;
-    filePath 
-    (
-        dotdot
-        slash
-        DEM
-        slash
-        packing.data
-    );
-    runFirst off;
-    runEveryCouplingStep off;
-    startTime 0.002;
-    endTime 0.012;
-    timeInterval 0.001;
-} 
-
-

Description: -

-

The readLiggghtsData liggghtsCommand Model can be used to read liggghts data files into liggghts during runtime of a coupled simulation. -

-

Restrictions: -

-

Note: Model is not up to date. -

-

Related commands: -

-

liggghtsCommandModel -

- diff --git a/doc/liggghtsCommandModel_readLiggghtsData.txt b/doc/liggghtsCommandModel_readLiggghtsData.txt new file mode 100644 index 0000000..e9bc050 --- /dev/null +++ b/doc/liggghtsCommandModel_readLiggghtsData.txt @@ -0,0 +1,82 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +liggghtsCommandModel_readLiggghtsData command :h3 + +[Syntax:] + +Defined in liggghtsCommmands dictionary. + +liggghtsCommandModels +( + readLiggghtsData +); +readLiggghtsDataProps0 +\{ + startIndex "scalar1"; + verbose ; + exactTiming ; + filePath + ( + "word" + ); + runFirst "bool1"; + runEveryCouplingStep "bool2"; + startTime "scalar2"; + endTime "scalar3"; + timeInterval "scalar4"; +\} :pre + +{scalar1} = start index of data file to be read :ulb,l +{verbose} = (default off) flag for verbose run :l +{exactTiming} = flag indicating that start time should be kept even during a coupling interval :l +{filePath} = path to LIGGGHTS data file. Each word in a new line, numbers and symbols need special treatment (e.g. $couplingInterval will be replaced by correct coupling interval in the simulation) :l +{bool1} = true if to be run at first timestep only (prio 1) :l +{bool2} = true if to be run at every coupling step (prio 2) :l +{scalar2} = if bool2 and bool3 false then starts at scalar2 (prio 3) run :l +{scalar3} = if bool2 and bool3 false then it ends at scalar3 (prio 3) run :l +{scalar4} = if bool2 and bool3 false then it repeats at scalar3 increasing the data file index (prio 3) run :l +:ule + +[Examples:] + +liggghtsCommandModels +( + readLiggghtsData +); +readLiggghtsDataProps0 +\{ + startIndex 0; + exactTiming true; + filePath + ( + dotdot + slash + DEM + slash + packing.data + ); + runFirst off; + runEveryCouplingStep off; + startTime 0.002; + endTime 0.012; + timeInterval 0.001; +\} :pre + +[Description:] + +The readLiggghtsData liggghtsCommand Model can be used to read liggghts data files into liggghts during runtime of a coupled simulation. + + +[Restrictions:] + +Note: Model is not up to date. + +[Related commands:] + +"liggghtsCommandModel"_liggghtsCommandModel.html + diff --git a/doc/liggghtsCommandModel_runLiggghts.html b/doc/liggghtsCommandModel_runLiggghts.html deleted file mode 100644 index b9ad886..0000000 --- a/doc/liggghtsCommandModel_runLiggghts.html +++ /dev/null @@ -1,44 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

liggghtsCommandModel_runLiggghts command -

-

Syntax: -

-

Defined in liggghtsCommmands dictionary. -

-
liggghtsCommandModels
-(
-   runLiggghts
-);
-//- optional
-runLiggghtsProps
-{
-    preNo true;
-    verbose; (optional)
-} 
-
-

Examples: -

-
liggghtsCommandModels
-(
-   runLiggghts
-); 
-
-

Description: -

-

The liggghtsCommand models can be used to execute a LIGGGHTS command during a CFD run. The "runLiggghts" command executes the command "run $nrDEMsteps", where $nrDEMsteps is automatically set according to the coupling intervals, every coupling step. Optionally a dictionary called runLiggghtsProps can be specified where the "preNo" switch can be set, which uses the command "run $nrDEMsteps pre no" for every time step except the first. -

-

Restrictions: Warning: the "pre no" option can cause troubles (dump data of particles changing the domain might be erroneous)! -

-

Related commands: -

-

liggghtsCommandModel -

- diff --git a/doc/liggghtsCommandModel_runLiggghts.txt b/doc/liggghtsCommandModel_runLiggghts.txt new file mode 100644 index 0000000..a1f0ef4 --- /dev/null +++ b/doc/liggghtsCommandModel_runLiggghts.txt @@ -0,0 +1,41 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +liggghtsCommandModel_runLiggghts command :h3 + +[Syntax:] + +Defined in liggghtsCommmands dictionary. + +liggghtsCommandModels +( + runLiggghts +); +//- optional +runLiggghtsProps +\{ + preNo true; + verbose; (optional) +\} :pre + +[Examples:] + +liggghtsCommandModels +( + runLiggghts +); :pre + +[Description:] + +The liggghtsCommand models can be used to execute a LIGGGHTS command during a CFD run. The "runLiggghts" command executes the command "run $nrDEMsteps", where $nrDEMsteps is automatically set according to the coupling intervals, every coupling step. Optionally a dictionary called runLiggghtsProps can be specified where the "preNo" switch can be set, which uses the command "run $nrDEMsteps pre no" for every time step except the first. + +[Restrictions:] Warning: the "pre no" option can cause troubles (dump data of particles changing the domain might be erroneous)! + +[Related commands:] + +"liggghtsCommandModel"_liggghtsCommandModel.html + diff --git a/doc/liggghtsCommandModel_setDEMGravity.txt b/doc/liggghtsCommandModel_setDEMGravity.txt new file mode 100644 index 0000000..35b07d0 --- /dev/null +++ b/doc/liggghtsCommandModel_setDEMGravity.txt @@ -0,0 +1,60 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +liggghtsCommandModel_setDEMGravity command :h3 + +[Syntax:] + +Defined in liggghtsCommmands dictionary. + +liggghtsCommandModels +( + setDEMGravity +); + +setDEMGravityProps0 +\{ + runFirst switch1; + startTime scalar1; + endTime scalar2; + timeInterval scalar3; + verbose; +\} :pre + +{switch1} = switch (must be on!!!) to select if executed only first step. :ulb,l +{scalar1} = start time of command (use simulation start time) :l +{scalar2} = end time of command (use simulation start time) :l +{scalar3} = time interval of command (use 1.):l +{verbose} = (normally off) for verbose run :l +:ule + +[Examples:] + +liggghtsCommandModels +( + runLiggghts + setDEMGravity +); +setDEMGravityProps1 +\{ + runFirst on; + startTime 0; + endTime 0; + timeInterval 1; + verbose; +\} :pre + +[Description:] + +The liggghtsCommand models can be used to set LIGGGHTS gravity during a CFD run. + +[Restrictions:] None. + +[Related commands:] + +"liggghtsCommandModel"_liggghtsCommandModel.html + diff --git a/doc/liggghtsCommandModel_writeLiggghts.html b/doc/liggghtsCommandModel_writeLiggghts.html deleted file mode 100644 index 8b6b55b..0000000 --- a/doc/liggghtsCommandModel_writeLiggghts.html +++ /dev/null @@ -1,59 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

liggghtsCommandModel_writeLiggghts command -

-

Syntax: -

-

Defined in liggghtsCommmands dictionary. -

-
liggghtsCommandModels
-(
-   writeLiggghts
-);
-//- optional
-writeLiggghtsProps
-{
-    writeLast switch1;
-    path "path";
-    writeName "name";
-    overwrite switch2;
-    verbose;
-} 
-
-
  • switch1 = switch (choose on/off) to select if only last step is stored or every write step (default on). - -
  • path = optionally an alternative path (relative to execution directory) for saving the restart file can be defined (default "../DEM"). - -
  • name = name of the restart file to be written in /$caseDir/DEM/ default (default "liggghts.restartCFDEM") - -
  • switch2 = switch (choose on/off) to select if only one restart file $name or many files $name_$timeStamp are written (default off):l -verbose = (default off) for verbose run - - -
-

Examples: -

-
liggghtsCommandModels
-(
-   runLiggghts
-   writeLiggghts
-); 
-
-

Description: -

-

The liggghtsCommand models can be used to execute a LIGGGHTS command during a CFD write. The "writeLiggghts" command executes the command "write_restart $name", where $name is the name of the restart file, every write step. -

-

Restrictions: None. -

-

Related commands: -

-

liggghtsCommandModel -

- diff --git a/doc/liggghtsCommandModel_writeLiggghts.txt b/doc/liggghtsCommandModel_writeLiggghts.txt new file mode 100644 index 0000000..2ca1a31 --- /dev/null +++ b/doc/liggghtsCommandModel_writeLiggghts.txt @@ -0,0 +1,52 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +liggghtsCommandModel_writeLiggghts command :h3 + +[Syntax:] + +Defined in liggghtsCommmands dictionary. + +liggghtsCommandModels +( + writeLiggghts +); +//- optional +writeLiggghtsProps +\{ + writeLast switch1; + path "path"; + writeName "name"; + overwrite switch2; + verbose; +\} :pre + +{switch1} = switch (choose on/off) to select if only last step is stored or every write step (default on). :ulb,l +{path} = optionally an alternative path (relative to execution directory) for saving the restart file can be defined (default "../DEM"). :l +{name} = name of the restart file to be written in /$caseDir/DEM/ default (default "liggghts.restartCFDEM") :l +{switch2} = switch (choose on/off) to select if only one restart file $name or many files $name_$timeStamp are written (default off):l +{verbose} = (default off) for verbose run :l +:ule + +[Examples:] + +liggghtsCommandModels +( + runLiggghts + writeLiggghts +); :pre + +[Description:] + +The liggghtsCommand models can be used to execute a LIGGGHTS command during a CFD write. The "writeLiggghts" command executes the command "write_restart $name", where $name is the name of the restart file, every write step. + +[Restrictions:] None. + +[Related commands:] + +"liggghtsCommandModel"_liggghtsCommandModel.html + diff --git a/doc/locateModel.html b/doc/locateModel.html deleted file mode 100644 index 58c59a0..0000000 --- a/doc/locateModel.html +++ /dev/null @@ -1,34 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

locateModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
locateModel model; 
-
-
  • model = name of the locateModel to be applied -
-

Examples: -

-
locateModel engine; 
-
-

Note: This examples list might not be complete - please look for other models (locateModel_XY) in this documentation. -

-

Description: -

-

The locateModel is the base class for models which search for the CFD cell and cellID corresponding to a position. In general it is used to find the cell a particle is located in. -

-

Restrictions: none. -

-

Default: none. -

- diff --git a/doc/locateModel.txt b/doc/locateModel.txt new file mode 100644 index 0000000..b18b9e4 --- /dev/null +++ b/doc/locateModel.txt @@ -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 + +locateModel command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +locateModel model; :pre + +model = name of the locateModel to be applied :ul + +[Examples:] + +locateModel engine; :pre + +Note: This examples list might not be complete - please look for other models (locateModel_XY) in this documentation. + +[Description:] + +The locateModel is the base class for models which search for the CFD cell and cellID corresponding to a position. In general it is used to find the cell a particle is located in. + +[Restrictions:] none. + +[Default:] none. diff --git a/doc/locateModel_engineSearch.html b/doc/locateModel_engineSearch.html deleted file mode 100644 index c68e36f..0000000 --- a/doc/locateModel_engineSearch.html +++ /dev/null @@ -1,51 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

locateModel_engineSearch command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
locateModel engine;
-engineProps
-{
-    treeSearch switch1;
-} 
-
-
  • switch1 = switch to use tree search algorithm - - -
-

Examples: -

-
locateModel engine;
-engineProps
-{
-    treeSearch true;
-} 
-
-

Description: -

-

The locateModel "engine" locates the CFD cell and cellID corresponding to a given position. -The engineSearch locate Model can be used with different settings to use different algorithms: -

-
  • treeSearch false; will execute some geometric (linear) search using the last known cellID - -
  • treeSearch true; will use a recursive tree structure to find the cell (recommended). - - -
-

Restrictions: none. -

-

Related commands: -

-

locateModel -

- diff --git a/doc/locateModel_engineSearch.txt b/doc/locateModel_engineSearch.txt new file mode 100644 index 0000000..eac8009 --- /dev/null +++ b/doc/locateModel_engineSearch.txt @@ -0,0 +1,45 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +locateModel_engineSearch command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +locateModel engine; +engineProps +\{ + treeSearch switch1; +\} :pre + +{switch1} = (optional, default true) switch to use tree search algorithm :ulb,l +:ule + +[Examples:] + +locateModel engine; +engineProps +\{ + treeSearch true; +\} :pre + +[Description:] + +The locateModel "engine" locates the CFD cell and cellID corresponding to a given position. +The engineSearch locate model can be used with different settings to use different algorithms: + +treeSearch false; will execute some geometric (linear) search using the last known cellID :ulb,l +treeSearch true; will use a recursive tree structure to find the cell (recommended). :l +:ule + +[Restrictions:] none. + +[Related commands:] + +"locateModel"_locateModel.html + diff --git a/doc/locateModel_engineSearchIB.html b/doc/locateModel_engineSearchIB.html deleted file mode 100644 index 6d5c6b7..0000000 --- a/doc/locateModel_engineSearchIB.html +++ /dev/null @@ -1,73 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

locateModel_engineSearchIB command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
locateModel engineIB;
-engineIBProps
-{
-    engineProps
-    {
-        treeSearch switch1;
-    }
-    zSplit value1;
-    xySplit value2;
-    checkPeriodicCells;
-}  
-
-
  • switch1 = names of the finite volume scalar fields to be temporally averaged - -
  • value1 = number of z-normal layers for satellite points - -
  • value2 = number of satellite points in each layer - -
  • checkPeriodicCells = (optional, default false) flag for considering the minimal distance to all periodic images of this particle - - -
-

Examples: -

-
locateModel engineIB;
-engineIBProps
-{
-    engineProps
-    {
-        treeSearch false;
-    }
-    zSplit 8;
-    xySplit 16;
-} 
-
-

Description: -

-

The locateModel "engine" locates the CFD cell and cellID corresponding to a given position. This locate model is especially designed for parallel immersed boundary method. Each particle is represented by "satellite points" if it is distributed over several processors. -

-

The engineSearchIB locate Model can be used with different settings to use different algorithms: -

-
  • treeSearch false; will execute some geometric (linear) search using the last known cellID (recommended) - -
  • treeSearch true; will use a recursive tree structure to find the cell. - - -
-

This model is a modification of the engine search model. Instead of using the centre-cell as starting point for the engine search, further satellite points located on the surface of the sphere are checked. This ensures that (parts of) spheres can be located even when their centre is on another processor. This is especially important for parallel computations, when a sphere is about to move from one processor to another. -

-

Restrictions: -

-

Only for immersed boundary solvers! -

-

Related commands: -

-

locateModel -

- diff --git a/doc/locateModel_engineSearchIB.txt b/doc/locateModel_engineSearchIB.txt new file mode 100644 index 0000000..ac9d986 --- /dev/null +++ b/doc/locateModel_engineSearchIB.txt @@ -0,0 +1,58 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +locateModel_engineSearchIB command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +locateModel engineIB; +engineIBProps +\{ + treeSearch switch1; + zSplit value1; + xySplit value2; + checkPeriodicCells; +\} :pre + +{switch1} = names of the finite volume scalar fields to be temporally averaged :ulb,l +{value1} = number of z-normal layers for satellite points :l +{value2} = number of satellite points in each layer :l +{checkPeriodicCells} = (optional, default false) flag for considering the minimal distance to all periodic images of this particle :l +:ule + +[Examples:] + +locateModel engineIB; +engineIBProps +\{ + treeSearch false; + zSplit 8; + xySplit 16; +\} :pre + +[Description:] + +The locateModel "engine" locates the CFD cell and cellID corresponding to a given position. This locate model is especially designed for parallel immersed boundary method. Each particle is represented by "satellite points" if it is distributed over several processors. + +The engineSearchIB locate Model can be used with different settings to use different algorithms: + +treeSearch false; will execute some geometric (linear) search using the last known cellID (recommended) :ulb,l +treeSearch true; will use a recursive tree structure to find the cell. :l +:ule + +This model is a modification of the engine search model. Instead of using the centre-cell as starting point for the engine search, further satellite points located on the surface of the sphere are checked. This ensures that (parts of) spheres can be located even when their centre is on another processor. This is especially important for parallel computations, when a sphere is about to move from one processor to another. + +[Restrictions:] + +Only for immersed boundary solvers! + +[Related commands:] + +"locateModel"_locateModel.html + diff --git a/doc/locateModel_standardSearch.html b/doc/locateModel_standardSearch.html deleted file mode 100644 index d5e37a0..0000000 --- a/doc/locateModel_standardSearch.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

locateModel_standardSearch command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
locateModel standard;  
-
-

Examples: -

-
locateModel standard; 
-
-

Description: -

-

The locateModel "standard" locates the CFD cell and cellID corresponding to a given position. A very straight-forward (robust!) locate algorithm is used. -

-

Restrictions: none. -

-

Related commands: -

-

locateModel -

- diff --git a/doc/locateModel_standardSearch.txt b/doc/locateModel_standardSearch.txt new file mode 100644 index 0000000..84fb1db --- /dev/null +++ b/doc/locateModel_standardSearch.txt @@ -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 + +locateModel_standardSearch command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +locateModel standard; :pre + +[Examples:] + +locateModel standard; :pre + +[Description:] + +The locateModel "standard" locates the CFD cell and cellID corresponding to a given position. A very straight-forward (robust!) locate algorithm is used. + + +[Restrictions:] none. + +[Related commands:] + +"locateModel"_locateModel.html + diff --git a/doc/meshMotionModel.html b/doc/meshMotionModel.html deleted file mode 100644 index c056b6b..0000000 --- a/doc/meshMotionModel.html +++ /dev/null @@ -1,34 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

meshMotionModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
meshMotionModel model; 
-
-
  • model = name of the meshMotionModel to be applied -
-

Examples: -

-
meshMotionModel noMeshMotion; 
-
-

Note: This examples list might not be complete - please look for other models (meshMotionModel_XY) in this documentation. -

-

Description: -

-

The meshMotionModel is the base class for models which manipulate the CFD mesh according to the DEM mesh motion. -

-

Restrictions: none. -

-

Default: none. -

- diff --git a/doc/meshMotionModel.txt b/doc/meshMotionModel.txt new file mode 100644 index 0000000..60410ed --- /dev/null +++ b/doc/meshMotionModel.txt @@ -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 + +meshMotionModel command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +meshMotionModel model; :pre + +model = name of the meshMotionModel to be applied :ul + +[Examples:] + +meshMotionModel noMeshMotion; :pre + +Note: This examples list might not be complete - please look for other models (meshMotionModel_XY) in this documentation. + +[Description:] + +The meshMotionModel is the base class for models which manipulate the CFD mesh according to the DEM mesh motion. + +[Restrictions:] none. + +[Default:] none. diff --git a/doc/meshMotionModel_noMeshMotion.html b/doc/meshMotionModel_noMeshMotion.html deleted file mode 100644 index 5f166bd..0000000 --- a/doc/meshMotionModel_noMeshMotion.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

meshMotionModel_noMeshMotion command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
meshMotionModel noMeshMotion; 
-
-

Examples: -

-
meshMotionModel noMeshMotion; 
-
-

Description: -

-

The noMeshMotion-model is a dummy meshMotion model. -

-

Restrictions: None. -

-

Related commands: -

-

meshMotionModel -

- diff --git a/doc/meshMotionModel_noMeshMotion.txt b/doc/meshMotionModel_noMeshMotion.txt new file mode 100644 index 0000000..ca47a35 --- /dev/null +++ b/doc/meshMotionModel_noMeshMotion.txt @@ -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 + +meshMotionModel_noMeshMotion command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +meshMotionModel noMeshMotion; :pre + +[Examples:] + +meshMotionModel noMeshMotion; :pre + +[Description:] + +The noMeshMotion-model is a dummy meshMotion model. + +[Restrictions:] None. + +[Related commands:] + +"meshMotionModel"_meshMotionModel.html + diff --git a/doc/momCoupleModel.html b/doc/momCoupleModel.html deleted file mode 100644 index 3a37c23..0000000 --- a/doc/momCoupleModel.html +++ /dev/null @@ -1,45 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

momCoupleModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
momCoupleModels
-(
-    model
-); 
-
-
  • model = name of the momCoupleModel to be applied -
-

Examples: -

-
momCoupleModels
-(
-    implicitCouple
-); 
-
-

Note: This examples list might not be complete - please look for other models (momCoupleModel_XY) in this documentation. -

-

Forces can be coupled in an implicit way to the fluid solver (i.e., when solving the Navier-Stokes equations, the fluid velocity at the new time will be considered for the coupling force). This implicit coupling is typically done for the drag forces (look for "impForces()" in the implementation of the drag model). Implicit coupling is more stable (especially important for dense flows), but conflicts Newton's third law. Explicit forces are imposed on the flow solver in an explicit fashion (look for "expForces()" in the implementation of the drag model), which is less stable, but does not conflict Newton's third law. -

-

Note that the variable "imExSplitFactor" can be set in the couplingProperties in order to treat implicitly defined forces (in the implementation of the force model) as explicit ones. "imExSplitFactor 1.0;" is set by default, meaning that all implicit forces will be considered implicitly, whereas "imExSplitFactor 0.0;" would mean that implicitly defined forces will be treated in an explicit fashion. -

-

Note that the switch "treatVoidCellsAsExplicitForce true;" can be set in the couplingProperties in order to change the treatment of cells which are void of particles. This is only relevant if (i) smoothing is used, and (ii) implicit force coupling is performed. By default, the particle veloctiy field (Us) will be smoothed to obtain a meaningful reference quantity for the implicit force coupling. In case "treatVoidCellsAsExplicitForce true;" is set, however, Us will not be smoothed and implicit forces (after the smoothing has been performed) in cells void of particles be treated as explicit ones. This avoids the problem of defining Us in cells that are void of particles, but for which an implicit coupling force is obtained in the smoothing process. -Description: -

-

The momCoupleModel is the base class for momentum exchange between DEM and CFD simulation. -

-

Restrictions: none. -

-

Default: none. -

- diff --git a/doc/momCoupleModel.txt b/doc/momCoupleModel.txt new file mode 100644 index 0000000..0a7dbf2 --- /dev/null +++ b/doc/momCoupleModel.txt @@ -0,0 +1,41 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +momCoupleModel command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +momCoupleModels +( + model +); :pre + +model = name of the momCoupleModel to be applied :ul + +[Examples:] + +momCoupleModels +( + implicitCouple +); :pre + +Note: This examples list might not be complete - please look for other models (momCoupleModel_XY) in this documentation. + +Forces can be coupled in an implicit way to the fluid solver (i.e., when solving the Navier-Stokes equations, the fluid velocity at the new time will be considered for the coupling force). This implicit coupling is typically done for the drag forces (look for "impForces()" in the implementation of the drag model). Implicit coupling is more stable (especially important for dense flows), but conflicts Newton's third law. Explicit forces are imposed on the flow solver in an explicit fashion (look for "expForces()" in the implementation of the drag model), which is less stable, but does not conflict Newton's third law. + +Note that the variable "imExSplitFactor" can be set in the couplingProperties in order to treat implicitly defined forces (in the implementation of the force model) as explicit ones. "imExSplitFactor 1.0;" is set by default, meaning that all implicit forces will be considered implicitly, whereas "imExSplitFactor 0.0;" would mean that implicitly defined forces will be treated in an explicit fashion. + +Note that the switch "treatVoidCellsAsExplicitForce true;" can be set in the couplingProperties in order to change the treatment of cells which are void of particles. This is only relevant if (i) smoothing is used, and (ii) implicit force coupling is performed. By default, the particle veloctiy field (Us) will be smoothed to obtain a meaningful reference quantity for the implicit force coupling. In case "treatVoidCellsAsExplicitForce true;" is set, however, Us will not be smoothed and implicit forces (after the smoothing has been performed) in cells void of particles be treated as explicit ones. This avoids the problem of defining Us in cells that are void of particles, but for which an implicit coupling force is obtained in the smoothing process. +[Description:] + +The momCoupleModel is the base class for momentum exchange between DEM and CFD simulation. + +[Restrictions:] none. + +[Default:] none. diff --git a/doc/momCoupleModel_explicitCouple.html b/doc/momCoupleModel_explicitCouple.html deleted file mode 100644 index b1f86a0..0000000 --- a/doc/momCoupleModel_explicitCouple.html +++ /dev/null @@ -1,52 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

momCoupleModel_explicitCouple command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
momCoupleModels
-(
-    explicitCouple
-);
-explicitCoupleProps
-{
-    fLimit vector;
-} 
-
-
  • vector = limiter vector for explicit force term (default (1e10,1e10,1e10) ) - - -
-

Examples: -

-
momCoupleModels
-(
-    explicitCouple
-);
-explicitCoupleProps
-{
-    fLimit (1e3 1e2 1e4);
-} 
-
-

Description: -

-

The explicitCouple-model is a momCoupleModel model providing an explicit momentum source term for the CFD solver and additionally it superposes an additional source field which can be set via the function setSourceField. -

-

Restrictions: -

-

Only for solvers that include explicit momentum exchange. -

-

Related commands: -

-

momCoupleModel -

- diff --git a/doc/momCoupleModel_explicitCouple.txt b/doc/momCoupleModel_explicitCouple.txt new file mode 100644 index 0000000..e292dec --- /dev/null +++ b/doc/momCoupleModel_explicitCouple.txt @@ -0,0 +1,48 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +momCoupleModel_explicitCouple command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +momCoupleModels +( + explicitCouple +); +explicitCoupleProps +\{ + fLimit vector; +\} :pre + +{vector} = limiter vector for explicit force term (default (1e10,1e10,1e10) ) :ulb,l +:ule + +[Examples:] + +momCoupleModels +( + explicitCouple +); +explicitCoupleProps +\{ + fLimit (1e3 1e2 1e4); +\} :pre + +[Description:] + +The explicitCouple-model is a momCoupleModel model providing an explicit momentum source term for the CFD solver and additionally it superposes an additional source field which can be set via the function setSourceField. + +[Restrictions:] + +Only for solvers that include explicit momentum exchange. + +[Related commands:] + +"momCoupleModel"_momCoupleModel.html + diff --git a/doc/momCoupleModel_implicitCouple.html b/doc/momCoupleModel_implicitCouple.html deleted file mode 100644 index f2b1a00..0000000 --- a/doc/momCoupleModel_implicitCouple.html +++ /dev/null @@ -1,62 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

momCoupleModel_implicitCouple command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
momCoupleModels
-(
-    implicitCouple
-);
-implicitCoupleProps
-{
-    velFieldName "U";
-    granVelFieldName "Us";
-    voidfractionFieldName "voidfraction";
-    minAlphaP number;
-} 
-
-
  • U = name of the finite volume fluid velocity field - -
  • Us = name of the finite volume granular velocity field - -
  • voidfraction = name of the finite volume voidfraction field - -number = minimum value for local particle volume fraction to calculate the exchange filed (default SMALL):l - -
-

Examples: -

-
momCoupleModels
-(
-    implicitCouple
-);
-implicitCoupleProps
-{
-    velFieldName "U";
-    granVelFieldName "Us";
-    voidfractionFieldName "voidfraction";
-} 
-
-

Description: -

-

The implicitCouple-model is a momCoupleModel model providing an implicit momentum source term for the CFD solver. -

-

Restrictions: -

-

Only for solvers that include implicit momentum exchange. -

-

Related commands: -

-

momCoupleModel -

- diff --git a/doc/momCoupleModel_implicitCouple.txt b/doc/momCoupleModel_implicitCouple.txt new file mode 100644 index 0000000..08433ee --- /dev/null +++ b/doc/momCoupleModel_implicitCouple.txt @@ -0,0 +1,56 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +momCoupleModel_implicitCouple command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +momCoupleModels +( + implicitCouple +); +implicitCoupleProps +\{ + velFieldName "U"; + granVelFieldName "Us"; + voidfractionFieldName "voidfraction"; + minAlphaP number; +\} :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{Us} = name of the finite volume granular velocity field :l +{voidfraction} = name of the finite volume voidfraction field :l +{number} = minimum value for local particle volume fraction to calculate the exchange filed (default SMALL):l +:ule + +[Examples:] + +momCoupleModels +( + implicitCouple +); +implicitCoupleProps +\{ + velFieldName "U"; + granVelFieldName "Us"; + voidfractionFieldName "voidfraction"; +\} :pre + +[Description:] + +The implicitCouple-model is a momCoupleModel model providing an implicit momentum source term for the CFD solver. + +[Restrictions:] + +Only for solvers that include implicit momentum exchange. + +[Related commands:] + +"momCoupleModel"_momCoupleModel.html + diff --git a/doc/momCoupleModel_noCouple.html b/doc/momCoupleModel_noCouple.html deleted file mode 100644 index 0ec1e60..0000000 --- a/doc/momCoupleModel_noCouple.html +++ /dev/null @@ -1,40 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

momCoupleModel_noCouple command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
momCoupleModels
-(
-    off
-); 
-
-

Examples: -

-
momCoupleModels
-(
-    off
-); 
-
-

Description: -

-

The noCouple-model is a dummy momCoupleModel model providing a no momentum source term for the CFD solver. -

-

Restrictions: -

-

Only for solvers that include no momentum exchange, e.g. immersed boundary. -

-

Related commands: -

-

momCoupleModel -

- diff --git a/doc/momCoupleModel_noCouple.txt b/doc/momCoupleModel_noCouple.txt new file mode 100644 index 0000000..6972d30 --- /dev/null +++ b/doc/momCoupleModel_noCouple.txt @@ -0,0 +1,38 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +momCoupleModel_noCouple command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +momCoupleModels +( + off +); :pre + + +[Examples:] + +momCoupleModels +( + off +); :pre + +[Description:] + +The noCouple-model is a dummy momCoupleModel model providing a no momentum source term for the CFD solver. + +[Restrictions:] + +Only for solvers that include no momentum exchange, e.g. immersed boundary. + +[Related commands:] + +"momCoupleModel"_momCoupleModel.html + diff --git a/doc/probeModel.html b/doc/probeModel.html deleted file mode 100644 index 72309a3..0000000 --- a/doc/probeModel.html +++ /dev/null @@ -1,42 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

probeModel command -

-

Syntax: -

-

To be activated via couplingProperties dictionary. -

-
probeModel myProbeModel; 
-
-

Use probe model "off" to disable this feature. -

-
myProbeModelProps 
-
-
{ 
-
-
}; 
-
-

Examples: -

-

See particleProbe -

-

Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. -

-

Description: -

-

The probeModel feature allows to implement various probing features in CFDEM. Currently, only the particleProbe model is implemented, that performs probing of particle forces. -

-

Restrictions: -

-

None. -

-

Default: none. -

- diff --git a/doc/probeModel.txt b/doc/probeModel.txt new file mode 100644 index 0000000..64826ed --- /dev/null +++ b/doc/probeModel.txt @@ -0,0 +1,38 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +probeModel command :h3 + +[Syntax:] + +To be activated via couplingProperties dictionary. + +probeModel myProbeModel; :pre + +Use probe model "off" to disable this feature. + +myProbeModelProps :pre +\{ :pre + +\}; :pre + + +[Examples:] + +See "particleProbe"_probeModel_particleProbe.html + +Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. + +[Description:] + +The probeModel feature allows to implement various probing features in CFDEM. Currently, only the "particleProbe"_probeModel_particleProbe.html model is implemented, that performs probing of particle forces. + +[Restrictions:] + +None. + +[Default:] none. diff --git a/doc/probeModel_noProbe.html b/doc/probeModel_noProbe.html deleted file mode 100644 index 0348cad..0000000 --- a/doc/probeModel_noProbe.html +++ /dev/null @@ -1,45 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

probeModel_noProbe command -

-

Syntax: -

-

To be activated via couplingProperties dictionary. -

-
forceModels
-{
-    myForceModel1
-    myForceModel2
-    myForceModel3
-}; 
-
-

probeModel off; -

-

Examples: -

-
probeModel off; 
-
-

Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. -

-

Description: -

-

Does not perform any probing. -

-

Restrictions: -

-

None. -

-

Related commands which are currently enabled for particle probing: -

-

particleProbe -

-

Default: none. -

- diff --git a/doc/probeModel_noProbe.txt b/doc/probeModel_noProbe.txt new file mode 100644 index 0000000..cbad7fe --- /dev/null +++ b/doc/probeModel_noProbe.txt @@ -0,0 +1,41 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +probeModel_noProbe command :h3 + +[Syntax:] + +To be activated via couplingProperties dictionary. + +forceModels +\{ + myForceModel1 + myForceModel2 + myForceModel3 +\}; :pre + +probeModel off; + +[Examples:] + +probeModel off; :pre + +Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. + +[Description:] + +Does not perform any probing. + +[Restrictions:] + +None. + +[Related commands which are currently enabled for particle probing:] + +"particleProbe"_probeModel_particleProbe.html + +[Default:] none. diff --git a/doc/probeModel_particleProbe.html b/doc/probeModel_particleProbe.html deleted file mode 100644 index f33d7bf..0000000 --- a/doc/probeModel_particleProbe.html +++ /dev/null @@ -1,94 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

probeModel_particleProbe command -

-

Syntax: -

-

To be activated via couplingProperties dictionary. -

-

forceModels -( - myForceModel1 - myForceModel2 - myForceModel3 -); -

-

probeModel particleProbe; -

-
particleProbeProps
-{
-    particleIDsToSample (ID1 ID2 ID3 ...);  //list of particleIDs to sample
-    verboseToFile;                          //main switch
-    verbose;                                //currently not used
-    printEvery       xEvery;                //print every this many CFD time steps
-    printOnlyAtStep  xStep;                 //print only at this CFD time step (overrides "printEvery")
-    sampleAll;                              //Activate sampling for all particles
-    probeDebug;                             //probes additional fields
-    includePosition;                        //will include particle position in the output file
-    writePrecision xPrecision;              //number of significant digits to print
-}; 
-
-
  • particleIDsToSample = list of particle IDs to be sampled. - -
  • myForceModeli = list of force models in the simulation, the particleProbe will be applied to all of these models! - -
  • verboseToFile = main switch to activate the particle probe (default = off). - -
  • verbose = main switch to activate output to Info (currently not implemented). - -
  • xEvery = integer to specify the interval for sampling (default = 1, i.e., probing occurs every CFD time step). - -
  • xStep = integer to specify the step for sampling (default = deactivated, i.e., it will print accordingly to "printEvery"). - -
  • sampleAll = switch to activate sampling of all particles. Otherwise (default) only particles specified via "particleIDsToSample" in the couplingProperties dictionary will be sampled. - -
  • probeDebug = switch to activate probing of debug properties of secondary importance (specific for each force model). - -
  • includePosition = switch to add the particle position in the log file (default = off). - -
  • xPrecision= number of significant digits of the text output (default = 3). - - -
-

Examples: -

-
particleIDsToSample (0 1 2 3);
-forceModels
-(
-    gradPForce
-);
-particleProbeProps
-{
-    verboseToFile;       //main switch
-    verbose;                //currently not used
-    printEvery  100;      //print every this many CFD time steps
-    sampleAll;            //Activate sampling for all particles
-    probeDebug;  //probes additional fields
-    includePosition;  //will include particle position in the output file
-    writePrecision 4;           //number of significant digits to print
-}; 
-
-

Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. -

-

Description: -

-

The particleProbe feature keeps track of per-particle quantities (e.g., the fluid-particle interaction forces) acting on each DEM particle, and handles its storage during the simulation. Data is saved in the CFD/particleProbes/startTime directory, where startTime is the time at which the simulation is started (this avoids unwanted deletion of particleProbe data). -

-

Restrictions: -

-

You can manually switch off the probe model for each force model by specifying the Switch "suppressProbe" in the corresponding force properties dictionary. -

-

Related commands which are currently enabled for particle probing: -

-

gradPForce, viscForce, BeetstraDrag, HollowayDrag, MeiLift, as well as most other forceModels (see src directory for details, i.e., use "grep -r 'probeM(' ./" in the terminal). -

-

Default: none. -

- diff --git a/doc/probeModel_particleProbe.txt b/doc/probeModel_particleProbe.txt new file mode 100644 index 0000000..564218f --- /dev/null +++ b/doc/probeModel_particleProbe.txt @@ -0,0 +1,82 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +probeModel_particleProbe command :h3 + +[Syntax:] + +To be activated via couplingProperties dictionary. + +forceModels +( + myForceModel1 + myForceModel2 + myForceModel3 +); + +probeModel particleProbe; + +particleProbeProps +\{ + particleIDsToSample (ID1 ID2 ID3 ...); //list of particleIDs to sample + verboseToFile; //main switch + verbose; //currently not used + printEvery xEvery; //print every this many CFD time steps + printOnlyAtStep xStep; //print only at this CFD time step (overrides "printEvery") + sampleAll; //Activate sampling for all particles + probeDebug; //probes additional fields + includePosition; //will include particle position in the output file + writePrecision xPrecision; //number of significant digits to print +\}; :pre + +{particleIDsToSample} = list of particle IDs to be sampled. :ulb,l + +{myForceModeli} = list of force models in the simulation, the particleProbe will be applied to all of these models! :l +{verboseToFile} = main switch to activate the particle probe (default = off). :l +{verbose} = main switch to activate output to Info (currently not implemented). :l +{xEvery} = integer to specify the interval for sampling (default = 1, i.e., probing occurs every CFD time step). :l +{xStep} = integer to specify the step for sampling (default = deactivated, i.e., it will print accordingly to "printEvery"). :l +{sampleAll} = switch to activate sampling of all particles. Otherwise (default) only particles specified via "particleIDsToSample" in the couplingProperties dictionary will be sampled. :l + +{probeDebug} = switch to activate probing of debug properties of secondary importance (specific for each force model). :l +{includePosition} = switch to add the particle position in the log file (default = off). :l +{xPrecision}= number of significant digits of the text output (default = 3). :l +:ule + +[Examples:] + +particleIDsToSample (0 1 2 3); +forceModels +( + gradPForce +); +particleProbeProps +\{ + verboseToFile; //main switch + verbose; //currently not used + printEvery 100; //print every this many CFD time steps + sampleAll; //Activate sampling for all particles + probeDebug; //probes additional fields + includePosition; //will include particle position in the output file + writePrecision 4; //number of significant digits to print +\}; :pre + +Note: This examples list might not be complete - please check below for the list of force models that can perform particle probing. + +[Description:] + +The particleProbe feature keeps track of per-particle quantities (e.g., the fluid-particle interaction forces) acting on each DEM particle, and handles its storage during the simulation. Data is saved in the CFD/particleProbes/startTime directory, where startTime is the time at which the simulation is started (this avoids unwanted deletion of particleProbe data). + +[Restrictions:] + +You can manually switch off the probe model for each force model by specifying the Switch "suppressProbe" in the corresponding force properties dictionary. + +[Related commands which are currently enabled for particle probing:] + +"gradPForce"_forceModel_gradPForce.html, "viscForce"_forceModel_viscForce.html, "BeetstraDrag"_forceModel_Beetstra.html, "HollowayDrag"_forceModel_Holloway.html, "MeiLift"_forceModel_MeiLift.html, as well as most other forceModels (see src directory for details, i.e., use "grep -r 'probeM(' ./" in the terminal). + +[Default:] none. diff --git a/doc/regionModel.html b/doc/regionModel.html deleted file mode 100644 index 7d2304f..0000000 --- a/doc/regionModel.html +++ /dev/null @@ -1,34 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

regionModel command -

-

Syntax: -

-

Note: In the current CFDEMcoupling version, this model is no longer used. Defined in couplingProperties dictionary. -

-
regionModel model; 
-
-
  • model = name of the regionModel to be applied -
-

Examples: -

-
regionModel allRegion; 
-
-

Note: This examples list might not be complete - please look for other models (regionModel_XY) in this documentation. -

-

Description: -

-

The regionModel is the base class for region models to select a certain region for coupled simulation. -

-

Restrictions: none. -

-

Default: none. -

- diff --git a/doc/regionModel.txt b/doc/regionModel.txt new file mode 100644 index 0000000..e83d013 --- /dev/null +++ b/doc/regionModel.txt @@ -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 + +regionModel command :h3 + +[Syntax:] + +Note: In the current CFDEMcoupling version, this model is no longer used. Defined in couplingProperties dictionary. + +regionModel model; :pre + +model = name of the regionModel to be applied :ul + +[Examples:] + +regionModel allRegion; :pre + +Note: This examples list might not be complete - please look for other models (regionModel_XY) in this documentation. + +[Description:] + +The regionModel is the base class for region models to select a certain region for coupled simulation. + +[Restrictions:] none. + +[Default:] none. diff --git a/doc/regionModel_allRegion.html b/doc/regionModel_allRegion.html deleted file mode 100644 index 048c863..0000000 --- a/doc/regionModel_allRegion.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

regionModel_allRegion command -

-

Syntax: -

-

Note: In the current CFDEMcoupling version, this model is no longer used. Defined in couplingProperties dictionary. -

-
regionModel allRegion; 
-
-

Examples: -

-
regionModel allRegion; 
-
-

Description: -

-

The allRegion-model is a region model including the whole CFD region for the coupling. -

-

Restrictions: None. -

-

Related commands: -

-

regionModel -

- diff --git a/doc/regionModel_allRegion.txt b/doc/regionModel_allRegion.txt new file mode 100644 index 0000000..c0e3744 --- /dev/null +++ b/doc/regionModel_allRegion.txt @@ -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 + +regionModel_allRegion command :h3 + +[Syntax:] + +Note: In the current CFDEMcoupling version, this model is no longer used. Defined in couplingProperties dictionary. + +regionModel allRegion; :pre + +[Examples:] + +regionModel allRegion; :pre + +[Description:] + +The allRegion-model is a region model including the whole CFD region for the coupling. + +[Restrictions:] None. + +[Related commands:] + +"regionModel"_regionModel.html + diff --git a/doc/scalarTransportModel.html b/doc/scalarTransportModel.html deleted file mode 100644 index 2694eec..0000000 --- a/doc/scalarTransportModel.html +++ /dev/null @@ -1,89 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

scalarTransportModel command -

-

Syntax: -

-

Defined in scalarTransportProperties dictionary. A variety of derived classes exist that implement different physics of the scalarTransportModel. Here, the most general one, i.e., 'generalManual' is discussed. If no scalar transport shall be used, use the model 'none'. -

-
generalManualProps
-{
-    phiFieldName phiName;
-    voidfractionFieldName voidfractionName;
-    ScT scalar1;
-    PrT scalar2;
-    cpVolumetric scalar3;
-    cpVolumetricFieldName word1;
-    rhoMixFieldName word2;
-    eulerianFields
-    (
-        C
-        T
-    ); 
-
-
} 
-
-
  • phiName = (optional) name of the surface field for the SUPERFICIAL flux, default "phi". - -
  • voidfractionName = (optional) name of the finite volume voidfraction field, default "voidfraction". - -
  • scalar1 = (optional, default 0.7) turbulent Schmidt Nr, set to large value to suppress turbulent species transport - -
  • scalar2 = (optional, default 0.7) turbulent Prandtl Nr, set to large value to suppress turbulent heat transport - -
  • scalar3 = (optional, alternatively define word1) volumetric heat capacity as a global constant (in contrast to cpVolumetricFieldName for a field). This is the mixture density times the heat capacity J/K/(m_voidspace)^3, will only be used if cpVolumetricFieldName, or updateMixtureProperties = false - -
  • word1 = (optional, alternatively define scalar3) volumetric heat capacity as a field - -
  • word3 = mixture density field - -
  • C = concentration field name - -
  • T = temperature field name - - -
-

Examples: -

-
generalManualProps
-{
-    phiFieldName "phi";
-    ScT 0.7;
-    PrT 0.7;
-    cpVolumetric 1196;
-    rhoMixFieldName "rhoMix";
-    eulerianFields
-    (
-        C
-        T
-    ); 
-
-
    fvOptionsC
-    {
-    }; 
-
-
    fvOptionsT
-    {
-    }; 
-
-
} 
-
-

Description: -

-

Solves the advection-dispersion transport equation for a dilute scalar quantity in the fluid phase. fvOptions can be specified to model sources, etc. in the fluid phase. Exchange models with a particle phase can be included by including appropriate forceModels in couplingProperties. -

-

Restrictions: -The user MUST ensure the "phi" field is SUPERFICIAL (i.e., the fluid-phase velocity times voidfraction interpolatedat the cells' faces). The code cannot know or check whether this is the case, so the user of a certain solver has to ensure this. -

-

Related commands: -

-

none. -

- diff --git a/doc/scalarTransportModel.txt b/doc/scalarTransportModel.txt new file mode 100644 index 0000000..9e16117 --- /dev/null +++ b/doc/scalarTransportModel.txt @@ -0,0 +1,78 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +scalarTransportModel command :h3 + +[Syntax:] + +Defined in scalarTransportProperties dictionary. A variety of derived classes exist that implement different physics of the scalarTransportModel. Here, the most general one, i.e., 'generalManual' is discussed. If no scalar transport shall be used, use the model 'none'. + +generalManualProps +\{ + phiFieldName {phiName}; + voidfractionFieldName {voidfractionName}; + ScT {scalar1}; + PrT {scalar2}; + cpVolumetric {scalar3}; + cpVolumetricFieldName {word1}; + rhoMixFieldName {word2}; + eulerianFields + ( + {C} + {T} + ); :pre +\} :pre + +{phiName} = (optional) name of the surface field for the SUPERFICIAL flux, default "phi". :ulb,l +{voidfractionName} = (optional) name of the finite volume voidfraction field, default "voidfraction". :l +{scalar1} = (optional, default 0.7) turbulent Schmidt Nr, set to large value to suppress turbulent species transport :l +{scalar2} = (optional, default 0.7) turbulent Prandtl Nr, set to large value to suppress turbulent heat transport :l +{scalar3} = (optional, alternatively define word1) volumetric heat capacity as a global constant (in contrast to cpVolumetricFieldName for a field). This is the mixture density times the heat capacity [J/K/(m_voidspace)^3], will only be used if cpVolumetricFieldName, or updateMixtureProperties = false :l +{word1} = (optional, alternatively define scalar3) volumetric heat capacity as a field :l +{word3} = mixture density field :l +{C} = concentration field name :l +{T} = temperature field name :l +:ule + + +[Examples:] + +generalManualProps +\{ + phiFieldName "phi"; + ScT 0.7; + PrT 0.7; + cpVolumetric 1196; + rhoMixFieldName "rhoMix"; + eulerianFields + ( + C + T + ); :pre + + fvOptionsC + \{ + \}; :pre + fvOptionsT + \{ + \}; :pre + +\} :pre + +[Description:] + +Solves the advection-dispersion transport equation for a dilute scalar quantity in the fluid phase. fvOptions can be specified to model sources, etc. in the fluid phase. Exchange models with a particle phase can be included by including appropriate forceModels in couplingProperties. + + +[Restrictions:] +The user MUST ensure the "phi" field is SUPERFICIAL (i.e., the fluid-phase velocity times voidfraction interpolatedat the cells' faces). The code cannot know or check whether this is the case, so the user of a certain solver has to ensure this. + + +[Related commands:] + +none. + diff --git a/doc/smoothingModel.html b/doc/smoothingModel.html deleted file mode 100644 index 9aace85..0000000 --- a/doc/smoothingModel.html +++ /dev/null @@ -1,40 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

smoothingModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
smoothingModel model; 
-
-
  • model = name of the smoothingModel to be applied -
-

Examples: -

-
smoothingModel off; 
-
-
smoothingModel  constDiffSmoothing; 
-
-
smoothingModel  localPSizeDiffSmoothing; 
-
-

Note: This examples list might not be complete - please look for other models (smoothingModel_XY) in this documentation. -

-

ATTENTION: In case a smoothing model is used in conjunction with "PimpleImEx" solvers, the fields "f" and "fSmooth" must be placed in the initial time directory! This is because zeroGradient boundary conditions for the fields "f" and "fSmooth" must be specified, otherwise the smoothing operation will give an Error. -

-

Description: -

-

The smoothingModel is the base class for models that smoothen the exchange fields (i.e., voidfraction and the Ksl field in case of implicit force coupling). This is relevant in case one uses a small grid resolution compared to the local particle diameter (or parcel diameter in case one uses a parcel approach). -

-

Restrictions: These models are in beta testing. -

-

Default: none. -

- diff --git a/doc/smoothingModel.txt b/doc/smoothingModel.txt new file mode 100644 index 0000000..77561ba --- /dev/null +++ b/doc/smoothingModel.txt @@ -0,0 +1,34 @@ +"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 +smoothingModel constDiffSmoothing; :pre +smoothingModel localPSizeDiffSmoothing; :pre + +Note: This examples list might not be complete - please look for other models (smoothingModel_XY) in this documentation. + +ATTENTION: In case a smoothing model is used in conjunction with "PimpleImEx" solvers, the fields "f" and "fSmooth" must be placed in the initial time directory! This is because zeroGradient boundary conditions for the fields "f" and "fSmooth" must be specified, otherwise the smoothing operation will give an Error. + +[Description:] + +The smoothingModel is the base class for models that smoothen the exchange fields (i.e., voidfraction and the Ksl field in case of implicit force coupling). This is relevant in case one uses a small grid resolution compared to the local particle diameter (or parcel diameter in case one uses a parcel approach). + +[Restrictions:] These models are in beta testing. + +[Default:] none. diff --git a/doc/smoothingModel_constDiffSmoothing.html b/doc/smoothingModel_constDiffSmoothing.html deleted file mode 100644 index 031a7bc..0000000 --- a/doc/smoothingModel_constDiffSmoothing.html +++ /dev/null @@ -1,61 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

smoothingModel_constDiffSmoothing command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
smoothingModel constDiffSmoothing;
-constDiffSmoothingProps
-{
-    lowerLimit number1;
-    upperLimit number2;
-    smoothingLength lengthScale;
-    smoothingLengthReferenceField lengthScaleRefField;
-    verbose;
-} 
-
-
  • number1 = scalar fields will be bound to this lower value - -
  • number2 = scalar fields will be bound to this upper value - -
  • lengthScale = length scale over which the exchange fields will be smoothed out - -
  • lengthScaleRefField = length scale over which reference fields (e.g., the average particle velocity) will be smoothed out. Should be always larger than lengthScale. If not specified, will be equal to lengthScale. - -
  • verbose = (optional, default false) flag for debugging output - - -
-

Examples: -

-
constDiffSmoothingProps
-{
-    lowerLimit 0.1;
-    upperLimit 1e10;
-    smoothingLength 1500e-6;
-    smoothingLengthReferenceField 9000e-6;
-} 
-
-

Description: -

-

The "constDiffSmoothing" model is a basic smoothingModel model which reads a smoothing length scale being used for smoothing the exchange fields (voidfraction, Ksl, f if present). This model can be used for smoothing explicit force coupling fields, as well as implicit force coupling algorithms. -Smoothing for reference fields is performed to "fill in" values in cells in which these reference fields are not specified. Values calculated in the cells (via Lagrangian-To-Euler mapping) are NOT changed! These reference fields are, e.g., the average particle velocity, which are not specified in all cells in case the flow is rather dilute. -

-

Restrictions: This model is tested in a limited number of flow situations. -

-

ATTENTION: In case a smoothing model is used in conjunction with "PimpleImEx" solvers, the fields "f" and "fSmooth" must be placed in the initial time directory! This is because zeroGradient boundary conditions for the fields "f" and "fSmooth" must be specified, otherwise the smoothing operation will give an Error. -

-

Related commands: -

-

smoothingModel -

- diff --git a/doc/smoothingModel_constDiffSmoothing.txt b/doc/smoothingModel_constDiffSmoothing.txt new file mode 100644 index 0000000..b067fda --- /dev/null +++ b/doc/smoothingModel_constDiffSmoothing.txt @@ -0,0 +1,54 @@ +"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; + smoothingLength lengthScale; + smoothingLengthReferenceField lengthScaleRefField; + verbose; +\} :pre + +{number1} = scalar fields will be bound to this lower value :ulb,l +{number2} = scalar fields will be bound to this upper value :l +{lengthScale} = length scale over which the exchange fields will be smoothed out :l +{lengthScaleRefField} = length scale over which reference fields (e.g., the average particle velocity) will be smoothed out. Should be always larger than lengthScale. If not specified, will be equal to lengthScale. :l +{verbose} = (optional, default false) flag for debugging output :l +:ule + +[Examples:] + +constDiffSmoothingProps +\{ + lowerLimit 0.1; + upperLimit 1e10; + smoothingLength 1500e-6; + smoothingLengthReferenceField 9000e-6; +\} :pre + +[Description:] + +The "constDiffSmoothing" model is a basic smoothingModel model which reads a smoothing length scale being used for smoothing the exchange fields (voidfraction, Ksl, f if present). This model can be used for smoothing explicit force coupling fields, as well as implicit force coupling algorithms. +Smoothing for reference fields is performed to "fill in" values in cells in which these reference fields are not specified. Values calculated in the cells (via Lagrangian-To-Euler mapping) are NOT changed! These reference fields are, e.g., the average particle velocity, which are not specified in all cells in case the flow is rather dilute. + +[Restrictions:] This model is tested in a limited number of flow situations. + +ATTENTION: In case a smoothing model is used in conjunction with "PimpleImEx" solvers, the fields "f" and "fSmooth" must be placed in the initial time directory! This is because zeroGradient boundary conditions for the fields "f" and "fSmooth" must be specified, otherwise the smoothing operation will give an Error. + + +[Related commands:] + +"smoothingModel"_smoothingModel.html + diff --git a/doc/smoothingModel_noSmoothing.html b/doc/smoothingModel_noSmoothing.html deleted file mode 100644 index 40081ed..0000000 --- a/doc/smoothingModel_noSmoothing.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

smoothingModel_noSmoothing command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
smoothingModel off; 
-
-

Examples: -

-
smoothingModel off; 
-
-

Description: -

-

The "noSmoothing" model is a dummy smoothingModel model which does no smoothing. -

-

Restrictions: none. -

-

Related commands: -

-

smoothingModel -

- diff --git a/doc/smoothingModel_noSmoothing.txt b/doc/smoothingModel_noSmoothing.txt new file mode 100644 index 0000000..827748e --- /dev/null +++ b/doc/smoothingModel_noSmoothing.txt @@ -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 + diff --git a/doc/voidFractionModel.html b/doc/voidFractionModel.html deleted file mode 100644 index 0dd3793..0000000 --- a/doc/voidFractionModel.html +++ /dev/null @@ -1,34 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

voidfractionModel command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
voidfractionModel model; 
-
-
  • model = name of the voidfractionModel to be applied -
-

Examples: -

-
voidfractionModel centre; 
-
-

Note: This examples list might not be complete - please look for other models (voidfractionModel_XY) in this documentation. -

-

Description: -

-

The voidfractionModel is the base class for models to represent the DEM particle's volume in the CFD domain via a voidfraction field. -

-

Restrictions: none. -

-

Default: none. -

- diff --git a/doc/voidFractionModel.txt b/doc/voidFractionModel.txt new file mode 100644 index 0000000..c431069 --- /dev/null +++ b/doc/voidFractionModel.txt @@ -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 + +voidfractionModel command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +voidfractionModel model; :pre + +model = name of the voidfractionModel to be applied :ul + +[Examples:] + +voidfractionModel centre; :pre + +Note: This examples list might not be complete - please look for other models (voidfractionModel_XY) in this documentation. + +[Description:] + +The voidfractionModel is the base class for models to represent the DEM particle's volume in the CFD domain via a voidfraction field. + +[Restrictions:] none. + +[Default:] none. diff --git a/doc/voidFractionModel_GaussVoidFraction.html b/doc/voidFractionModel_GaussVoidFraction.html deleted file mode 100644 index 9e04c0d..0000000 --- a/doc/voidFractionModel_GaussVoidFraction.html +++ /dev/null @@ -1,60 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

voidfractionModel_GaussVoidFraction command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
voidfractionModel Gauss;
-GaussProps
-{
-    maxCellsPerParticle number1;
-    alphaMin number2;
-    weight number3;
-    porosity number4;
-} 
-
-
  • number1 = maximum number of cells covered by a particle (search will fail when more than number1 cells are covered by the particle) - -
  • number2 = minimum limit for voidfraction - -
  • number3 = (optional) scaling of the particle volume to account for porosity or agglomerations. - -
  • number4 = (optional) diameter of the particle's representation is artificially increased according to number2 * Vparticle, volume remains unaltered! - - -
-

Examples: -

-
voidfractionModel Gauss;
-GaussProps
-{
-    maxCellsPerParticle 1000;
-    alphaMin 0.10;
-    weight 1.;
-    porosity 1.;
-} 
-
-

Description: -

-

The Gauss voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle. The volume is here distributed according to a Gaussian distribution. -

-

The region of influence of a particle can be increased artificially by "porosity", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. -

-

The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. -

-

Restrictions: none. -

-

Related commands: -

-

voidfractionModel , bigParticle -

- diff --git a/doc/voidFractionModel_GaussVoidFraction.txt b/doc/voidFractionModel_GaussVoidFraction.txt new file mode 100644 index 0000000..b6dba1c --- /dev/null +++ b/doc/voidFractionModel_GaussVoidFraction.txt @@ -0,0 +1,53 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +voidfractionModel_GaussVoidFraction command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +voidfractionModel Gauss; +GaussProps +\{ + maxCellsPerParticle number1; + alphaMin number2; + weight number3; + porosity number4; +\} :pre + +{number1} = maximum number of cells covered by a particle (search will fail when more than {number1} cells are covered by the particle) :ulb,l +{number2} = minimum limit for voidfraction :l +{number3} = (optional) scaling of the particle volume to account for porosity or agglomerations. :l +{number4} = (optional) diameter of the particle's representation is artificially increased according to {number2} * Vparticle, volume remains unaltered! :l +:ule + +[Examples:] + +voidfractionModel Gauss; +GaussProps +\{ + maxCellsPerParticle 1000; + alphaMin 0.10; + weight 1.; + porosity 1.; +\} :pre + +[Description:] + +The Gauss voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle. The volume is here distributed according to a Gaussian distribution. + +The region of influence of a particle can be increased artificially by "porosity", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. + +The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. + +[Restrictions:] none. + +[Related commands:] + +"voidfractionModel"_voidFractionModel.html , "bigParticle"_voidFractionModel_bigParticleVoidFraction.html + diff --git a/doc/voidFractionModel_IBVoidFraction.html b/doc/voidFractionModel_IBVoidFraction.html deleted file mode 100644 index d2376c0..0000000 --- a/doc/voidFractionModel_IBVoidFraction.html +++ /dev/null @@ -1,59 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

voidfractionModel_IBVoidFraction command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
voidfractionModel IB;
-IBProps
-{
-    maxCellsPerParticle number1;
-    alphaMin number2;
-    scaleUpVol number3;
-    checkPeriodicCells ;
-} 
-
-
  • number1 = maximum number of cells covered by a particle (search will fail when more than number1 cells are covered by the particle) - -
  • number2 = minimum limit for voidfraction - -
  • number3 = diameter of the particle's representation is artificially increased according to number3 * Vparticle, volume remains unaltered! - -
  • checkPeriodicCells = (optional, default false) flag for considering the minimal distance to all periodic images of this particle - - -
-

Examples: -

-
voidfractionModel IB;
-IBProps
-{
-    maxCellsPerParticle 1000;
-    alphaMin 0.10;
-    scaleUpVol 5.0;
-} 
-
-

Description: -

-

The IB voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle. The model is specially designed for cfdemSolverIB and creates a smooth transition of the voidfraction at the particle surface. Cells which are only partially covered by solid are marked by voidfraction values between 0 and 1 respectively. -

-

The region of influence of a particle can be increased artificially by "scaleUpVol", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. -

-

Code of this sub-model contributed by Alice Hager, JKU. -

-

Restrictions: none. -

-

Related commands: -

-

voidfractionModel -

- diff --git a/doc/voidFractionModel_IBVoidFraction.txt b/doc/voidFractionModel_IBVoidFraction.txt new file mode 100644 index 0000000..70fb00c --- /dev/null +++ b/doc/voidFractionModel_IBVoidFraction.txt @@ -0,0 +1,52 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +voidfractionModel_IBVoidFraction command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +voidfractionModel IB; +IBProps +\{ + maxCellsPerParticle number1; + alphaMin number2; + scaleUpVol number3; + checkPeriodicCells ; +\} :pre + +{number1} = maximum number of cells covered by a particle (search will fail when more than {number1} cells are covered by the particle) :ulb,l +{number2} = minimum limit for voidfraction :l +{number3} = diameter of the particle's representation is artificially increased according to {number3} * Vparticle, volume remains unaltered! :l +{checkPeriodicCells} = (optional, default false) flag for considering the minimal distance to all periodic images of this particle :l +:ule + +[Examples:] + +voidfractionModel IB; +IBProps +\{ + maxCellsPerParticle 1000; + alphaMin 0.10; + scaleUpVol 5.0; +\} :pre + +[Description:] + +The IB voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle. The model is specially designed for cfdemSolverIB and creates a smooth transition of the voidfraction at the particle surface. Cells which are only partially covered by solid are marked by voidfraction values between 0 and 1 respectively. + +The region of influence of a particle can be increased artificially by "scaleUpVol", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. + +Code of this sub-model contributed by Alice Hager, JKU. + +[Restrictions:] none. + +[Related commands:] + +"voidfractionModel"_voidFractionModel.html + diff --git a/doc/voidFractionModel_bigParticleVoidFraction.html b/doc/voidFractionModel_bigParticleVoidFraction.html deleted file mode 100644 index 58d9f75..0000000 --- a/doc/voidFractionModel_bigParticleVoidFraction.html +++ /dev/null @@ -1,62 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

voidfractionModel_bigParticleVoidFraction command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
voidfractionModel bigParticle;
-bigParticleProps
-{
-    maxCellsPerParticle number1;
-    alphaMin number2;
-    weight number3;
-    porosity number4;
-} 
-
-
  • number1 = maximum number of cells covered by a particle (search will fail when more than number1 cells are covered by the particle) - -
  • number2 = minimum limit for voidfraction - -
  • number3 = (optional) scaling of the particle volume to account for porosity or agglomerations. - -
  • number4 = (optional) diameter of the particle's representation is artificially increased according to number2 * Vparticle, volume remains unaltered! - - -
-

Examples: -

-
voidfractionModel bigParticle;
-bigParticleProps
-{
-    maxCellsPerParticle 1000;
-    alphaMin 0.10;
-    weight 1.;
-    porosity 5.0;
-} 
-
-

Description: -

-

The bigParticle voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle which results in a stairstep representation of the bodies within the mesh (i.e. voidfraction is either 1 (fluid) of zero (solid)). For archiving accurate results, approx. 8 cells per particle diameter are necessary. -

-

The region of influence of a particle can be increased artificially by "porosity", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. -

-

The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. -

-

Parts of this sub-model contributed by Alice Hager, JKU. -

-

Restrictions: none. -

-

Related commands: -

-

voidfractionModel -

- diff --git a/doc/voidFractionModel_bigParticleVoidFraction.txt b/doc/voidFractionModel_bigParticleVoidFraction.txt new file mode 100644 index 0000000..15cecec --- /dev/null +++ b/doc/voidFractionModel_bigParticleVoidFraction.txt @@ -0,0 +1,55 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +voidfractionModel_bigParticleVoidFraction command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +voidfractionModel bigParticle; +bigParticleProps +\{ + maxCellsPerParticle number1; + alphaMin number2; + weight number3; + porosity number4; +\} :pre + +{number1} = maximum number of cells covered by a particle (search will fail when more than {number1} cells are covered by the particle) :ulb,l +{number2} = minimum limit for voidfraction :l +{number3} = (optional) scaling of the particle volume to account for porosity or agglomerations. :l +{number4} = (optional) diameter of the particle's representation is artificially increased according to {number2} * Vparticle, volume remains unaltered! :l +:ule + +[Examples:] + +voidfractionModel bigParticle; +bigParticleProps +\{ + maxCellsPerParticle 1000; + alphaMin 0.10; + weight 1.; + porosity 5.0; +\} :pre + +[Description:] + +The bigParticle voidFraction model is supposed to be used when a particle (or its representation) is bigger than a CFD cell. The voidfraction field is set in those cell whose centres are inside the particle which results in a stairstep representation of the bodies within the mesh (i.e. voidfraction is either 1 (fluid) of zero (solid)). For archiving accurate results, approx. 8 cells per particle diameter are necessary. + +The region of influence of a particle can be increased artificially by "porosity", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. + +The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. + +Parts of this sub-model contributed by Alice Hager, JKU. + +[Restrictions:] none. + +[Related commands:] + +"voidfractionModel"_voidFractionModel.html + diff --git a/doc/voidFractionModel_centreVoidFraction.html b/doc/voidFractionModel_centreVoidFraction.html deleted file mode 100644 index dc916bb..0000000 --- a/doc/voidFractionModel_centreVoidFraction.html +++ /dev/null @@ -1,50 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

voidfractionModel_centreVoidFraction command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
voidfractionModel centre;
-centreProps
-{
-    alphaMin number1;
-    weight number2;
-} 
-
-
  • number1 = minimum limit for voidfraction - -
  • number2 = (optional) scaling of the particle volume to account for porosity or agglomerations. - - -
-

Examples: -

-
voidfractionModel centre;
-centreProps
-{
-    alphaMin 0.1;
-    weight 1.;
-} 
-
-

Description: -

-

The centre voidFraction model calculates the voidfraction in a CFD cell accounting for the volume of the particles whose centres are inside the cell. -

-

The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. -

-

Restrictions: none. -

-

Related commands: -

-

voidfractionModel -

- diff --git a/doc/voidFractionModel_centreVoidFraction.txt b/doc/voidFractionModel_centreVoidFraction.txt new file mode 100644 index 0000000..e96a075 --- /dev/null +++ b/doc/voidFractionModel_centreVoidFraction.txt @@ -0,0 +1,45 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +voidfractionModel_centreVoidFraction command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +voidfractionModel centre; +centreProps +\{ + alphaMin number1; + weight number2; +\} :pre + +{number1} = minimum limit for voidfraction :ulb,l +{number2} = (optional) scaling of the particle volume to account for porosity or agglomerations. :l +:ule + +[Examples:] + +voidfractionModel centre; +centreProps +\{ + alphaMin 0.1; + weight 1.; +\} :pre + +[Description:] + +The centre voidFraction model calculates the voidfraction in a CFD cell accounting for the volume of the particles whose centres are inside the cell. + +The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. + +[Restrictions:] none. + +[Related commands:] + +"voidfractionModel"_voidFractionModel.html + diff --git a/doc/voidFractionModel_dividedVoidFraction.html b/doc/voidFractionModel_dividedVoidFraction.html deleted file mode 100644 index 18dff0d..0000000 --- a/doc/voidFractionModel_dividedVoidFraction.html +++ /dev/null @@ -1,66 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

voidfractionModel_dividedVoidFraction command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
voidfractionModel divided;
-dividedProps
-{
-    alphaMin number1;
-    interpolation;
-    weight number2;
-    porosity number3;
-    verbose;
-    cfdemUseOnly;
-} 
-
-
  • number1 = minimum limit for voidfraction - -
  • interpolation = flag to interpolate voidfraction to particle positions (normally off) - -
  • number2 = (optional) scaling of the particle volume to account for porosity or agglomerations. - -
  • number3 = (optional) diameter of the particle's representation is artificially increased according to number2 * Vparticle, volume remains unaltered! - -
  • verbose = (optional, default false) flag for debugging output - -
  • cfdemUseOnly = optional flag, default false - - -
-

Examples: -

-
voidfractionModel divided;
-dividedProps
-{
-    alphaMin 0.2;
-} 
-
-

Description: -

-

The divided voidFraction model is supposed to be used when a particle (or its representation) is in the size range of a CFD cell. Satellite points are used to divide the particle's volume to the touched cells. -

-

The region of influence of a particle can be increased artificially by "porosity", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. -

-

The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. -

-

In the basic implementation of solvers, the void fraction is calculated based on all particles. Depending on the solver used, the void fraction calculation is also performed for a certain type of particles. -The void fraction calculation is based on a three-step approach (reset, set and interpolate), i.e., the void fraction is time interpolated from a previous and a next void fraction field. Appropriate names for these fields have to be specified in the sub-dictionaries voidFracFieldNamesPrev and voidFracFieldNamesNext in the couplingProperties dictionary. -

-

Restrictions: none. -

-

Related commands: -

-

voidfractionModel -

- diff --git a/doc/voidFractionModel_dividedVoidFraction.txt b/doc/voidFractionModel_dividedVoidFraction.txt new file mode 100644 index 0000000..7b55fc9 --- /dev/null +++ b/doc/voidFractionModel_dividedVoidFraction.txt @@ -0,0 +1,59 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +voidfractionModel_dividedVoidFraction command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +voidfractionModel divided; +dividedProps +\{ + alphaMin number1; + interpolation; + weight number2; + porosity number3; + procBoundaryCorrection Switch1; + verbose; + cfdemUseOnly; +\} :pre + +{number1} = minimum limit for voidfraction :ulb,l +{interpolation} = flag to interpolate voidfraction to particle positions (normally off) :l +{number2} = (optional) scaling of the particle volume to account for porosity or agglomerations. :l +{number3} = (optional) diameter of the particle's representation is artificially increased according to {number2} * Vparticle, volume remains unaltered! :l +{Switch1} = (optional, default false) allow for correction at processor boundaries. This requires the use of engineIB and vice versa. :l +{verbose} = (optional, default false) flag for debugging output :l +{cfdemUseOnly} = optional flag, default false :l +:ule + +[Examples:] + +voidfractionModel divided; +dividedProps +\{ + alphaMin 0.2; +\} :pre + +[Description:] + +The divided voidFraction model is supposed to be used when a particle (or its representation) is in the size range of a CFD cell. Satellite points are used to divide the particle's volume to the touched cells. + +The region of influence of a particle can be increased artificially by "porosity", which blows up the particles, but keeps their volume (for voidfraction calculation) constant. + +The particle volume occupied in the CFD domain can be adjusted by the parameter "weight", using Vparticle=dsphere^3*pi/6*weight. + +In the basic implementation of solvers, the void fraction is calculated based on all particles. Depending on the solver used, the void fraction calculation is also performed for a certain type of particles. +The void fraction calculation is based on a three-step approach (reset, set and interpolate), i.e., the void fraction is time interpolated from a previous and a next void fraction field. Appropriate names for these fields have to be specified in the sub-dictionaries voidFracFieldNamesPrev and voidFracFieldNamesNext in the couplingProperties dictionary. + +[Restrictions:] none. + +[Related commands:] + +"voidfractionModel"_voidFractionModel.html + diff --git a/doc/voidFractionModel_noVoidFraction.html b/doc/voidFractionModel_noVoidFraction.html deleted file mode 100644 index 2f27f17..0000000 --- a/doc/voidFractionModel_noVoidFraction.html +++ /dev/null @@ -1,32 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

voidfractionModel_noVoidFractionVoidFraction command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-

voidfractionModel noVoidFraction; -

-

Examples: -

-

voidfractionModel noVoidFraction; -

-

Description: -

-

The noVoidFraction voidFraction model is a dummy model and has no physical meaning. -

-

Restrictions: none. -

-

Related commands: -

-

voidfractionModel -

- diff --git a/doc/voidFractionModel_noVoidFraction.txt b/doc/voidFractionModel_noVoidFraction.txt new file mode 100644 index 0000000..85a812a --- /dev/null +++ b/doc/voidFractionModel_noVoidFraction.txt @@ -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 + +voidfractionModel_noVoidFractionVoidFraction command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +voidfractionModel noVoidFraction; + +[Examples:] + +voidfractionModel noVoidFraction; + +[Description:] + +The noVoidFraction voidFraction model is a dummy model and has no physical meaning. + +[Restrictions:] none. + +[Related commands:] + +"voidfractionModel"_voidFractionModel.html + diff --git a/doc/voidFractionModel_trilinearVoidFraction.html b/doc/voidFractionModel_trilinearVoidFraction.html deleted file mode 100644 index 9da9161..0000000 --- a/doc/voidFractionModel_trilinearVoidFraction.html +++ /dev/null @@ -1,44 +0,0 @@ - -
CFDEMproject WWW Site - CFDEM Commands -
- - - - -
- -

voidfractionModel_trilinearVoidFraction command -

-

Syntax: -

-

Defined in couplingProperties dictionary. -

-
voidfractionModel trilinear;
-trilinearProps
-{
-    alphaMin number1;
-} 
-
-
  • number1 = minimum limit for voidfraction - - -
-

Examples: -

-
voidfractionModel trilinear;
-trilinearProps
-{
-    alphaMin 0.3;
-} 
-
-

Description: -

-

The trilinear voidFraction model is supposed to be used when a particle (or its representation) is in the size range of a CFD cell. The particle's volume is distributed over 8 neighbouring cell centres usind trilinear interpolation. This allows for a very smooth transition of particle volume when a particle travels from one cell to another cell. -

-

Restrictions: The model works only for a structured mesh with equal cubic cells and a clean x/y/z parallel distribution of the cells. WARNING: the alphaMin parameter is not yet considered in the model!!! -

-

Related commands: -

-

voidfractionModel -

- diff --git a/doc/voidFractionModel_trilinearVoidFraction.txt b/doc/voidFractionModel_trilinearVoidFraction.txt new file mode 100644 index 0000000..1fae83e --- /dev/null +++ b/doc/voidFractionModel_trilinearVoidFraction.txt @@ -0,0 +1,39 @@ +"CFDEMproject WWW Site"_lws - "CFDEM Commands"_lc :c + +:link(lws,http://www.cfdem.com) +:link(lc,CFDEMcoupling_Manual.html#comm) + +:line + +voidfractionModel_trilinearVoidFraction command :h3 + +[Syntax:] + +Defined in couplingProperties dictionary. + +voidfractionModel trilinear; +trilinearProps +\{ + alphaMin number1; +\} :pre + +{number1} = minimum limit for voidfraction :ulb,l +:ule + +[Examples:] + +voidfractionModel trilinear; +trilinearProps +\{ + alphaMin 0.3; +\} :pre + +[Description:] + +The trilinear voidFraction model is supposed to be used when a particle (or its representation) is in the size range of a CFD cell. The particle's volume is distributed over 8 neighbouring cell centres usind trilinear interpolation. This allows for a very smooth transition of particle volume when a particle travels from one cell to another cell. + +[Restrictions:] The model works only for a structured mesh with equal cubic cells and a clean x/y/z parallel distribution of the cells. WARNING: the alphaMin parameter is not yet considered in the model!!! + +[Related commands:] + +"voidfractionModel"_voidFractionModel.html diff --git a/src/eulerian/scalarTransportModelsCFDEM/Make/files b/src/eulerian/scalarTransportModelsCFDEM/Make/files index f77abd3..07fbf6a 100644 --- a/src/eulerian/scalarTransportModelsCFDEM/Make/files +++ b/src/eulerian/scalarTransportModelsCFDEM/Make/files @@ -3,6 +3,7 @@ scalarTransportModel/newScalarTransportModel.C /*Sub-Level*/ temperatureModel/temperatureModel.C +solidTemperatureModel/solidTemperatureModel.C generalManual/generalManual.C noTransport/noTransport.C generalPhaseChange/generalPhaseChange.C diff --git a/src/eulerian/scalarTransportModelsCFDEM/eulerianScalarField/eulerianScalarField.C b/src/eulerian/scalarTransportModelsCFDEM/eulerianScalarField/eulerianScalarField.C index 5e93e3e..dca778f 100644 --- a/src/eulerian/scalarTransportModelsCFDEM/eulerianScalarField/eulerianScalarField.C +++ b/src/eulerian/scalarTransportModelsCFDEM/eulerianScalarField/eulerianScalarField.C @@ -197,22 +197,22 @@ void eulerianScalarField::pullCloudFields() const } // ************************************************************ -void eulerianScalarField::update(surfaceScalarField phi, volScalarField voidfraction, volScalarField nuEff, scalar Sc) const +void eulerianScalarField::update(surfaceScalarField phi, volScalarField voidfraction, volScalarField nuEff, scalar Sc, bool limitDiffusion) const { - + scalar oneByCpVolumetric = 1./cpVolumetric_; //Normalize source in case we have a temperature field if(fieldType_=="temperature") { if(cpVolumetricFieldName_=="na" || !updateMixtureProperties_) //use also if mixture properties are not updated { - mSource_.internalField() /= cpVolumetric_; - mSourceKImpl_.internalField() /= cpVolumetric_; + mSource_ *= oneByCpVolumetric; + mSourceKImpl_ *= oneByCpVolumetric; } else { const volScalarField& cpVolumetricField_(particleCloud_.mesh().lookupObject (cpVolumetricFieldName_)); - mSource_.internalField() /= cpVolumetricField_.internalField(); - mSourceKImpl_.internalField() /= cpVolumetricField_.internalField(); + mSource_ /= cpVolumetricField_; + mSourceKImpl_ /= cpVolumetricField_; } } @@ -226,6 +226,14 @@ void eulerianScalarField::update(surfaceScalarField phi, volScalarField voidfrac laplacianScheme = "laplacian((DT*voidfraction),T)"; } + // calc diffusionCoeff field + volScalarField a=nuEff/Sc*voidfraction; + if(limitDiffusion) + { + forAll(a,cellI) + if(voidfraction[cellI] <2*SMALL) + a[cellI]=0.; + } // solve scalar transport equation fvScalarMatrix mEqn @@ -238,7 +246,7 @@ void eulerianScalarField::update(surfaceScalarField phi, volScalarField voidfrac == - fvm::laplacian(nuEff/Sc*voidfraction, m_, laplacianScheme) + fvm::laplacian(a, m_, laplacianScheme) + mSource_ + fvm::Sp(mSourceKImpl_, m_) #ifndef versionExt32 diff --git a/src/eulerian/scalarTransportModelsCFDEM/eulerianScalarField/eulerianScalarField.H b/src/eulerian/scalarTransportModelsCFDEM/eulerianScalarField/eulerianScalarField.H index 888647c..ac6c62b 100644 --- a/src/eulerian/scalarTransportModelsCFDEM/eulerianScalarField/eulerianScalarField.H +++ b/src/eulerian/scalarTransportModelsCFDEM/eulerianScalarField/eulerianScalarField.H @@ -138,7 +138,7 @@ public: // Member Functions void pullCloudFields() const ; - void update(surfaceScalarField, volScalarField, volScalarField, scalar Sc) const ; + void update(surfaceScalarField, volScalarField, volScalarField, scalar Sc, bool limitDiffusion=false) const ; void bound(autoPtr*) const {}; diff --git a/src/eulerian/scalarTransportModelsCFDEM/generalManual/generalManual.C b/src/eulerian/scalarTransportModelsCFDEM/generalManual/generalManual.C index efb86fa..8ac530b 100644 --- a/src/eulerian/scalarTransportModelsCFDEM/generalManual/generalManual.C +++ b/src/eulerian/scalarTransportModelsCFDEM/generalManual/generalManual.C @@ -135,25 +135,25 @@ void generalManual::evolveFields() FatalError <<"generalManual: first eulerianField is temperature, but we need a species. Please re-order your eulerianFields in the input dict. \n" << abort(FatalError); - forAll(rhoMix_.internalField(), iter) + forAll(rhoMix_, iter) { double denominator = 1./eulerianScalarF(0).rhoCarrier(); - rhoMix_.internalField()[iter] = 1.0; - cpRho_.internalField()[iter] = eulerianScalarF(0).cpCarrier(); + rhoMix_[iter] = 1.0; + cpRho_[iter] = eulerianScalarF(0).cpCarrier(); for (int i=0;i tsource diff --git a/src/eulerian/scalarTransportModelsCFDEM/scalarTransportModel/scalarTransportModel.H b/src/eulerian/scalarTransportModelsCFDEM/scalarTransportModel/scalarTransportModel.H index 3c2feea..01b6ae1 100644 --- a/src/eulerian/scalarTransportModelsCFDEM/scalarTransportModel/scalarTransportModel.H +++ b/src/eulerian/scalarTransportModelsCFDEM/scalarTransportModel/scalarTransportModel.H @@ -116,7 +116,7 @@ public: virtual void update(); - virtual volScalarField& sourceField(); + virtual const volScalarField& sourceField(); }; diff --git a/src/eulerian/scalarTransportModelsCFDEM/temperatureModel/temperatureModel.C b/src/eulerian/scalarTransportModelsCFDEM/temperatureModel/temperatureModel.C index aa72fb7..fcef87a 100644 --- a/src/eulerian/scalarTransportModelsCFDEM/temperatureModel/temperatureModel.C +++ b/src/eulerian/scalarTransportModelsCFDEM/temperatureModel/temperatureModel.C @@ -95,7 +95,7 @@ void temperatureModel::update() } // ************************************************************ -volScalarField& temperatureModel::sourceField() +const volScalarField& temperatureModel::sourceField() { return temperatureField_->mSource(); } diff --git a/src/eulerian/scalarTransportModelsCFDEM/temperatureModel/temperatureModel.H b/src/eulerian/scalarTransportModelsCFDEM/temperatureModel/temperatureModel.H index 40c5b1f..4fddda3 100644 --- a/src/eulerian/scalarTransportModelsCFDEM/temperatureModel/temperatureModel.H +++ b/src/eulerian/scalarTransportModelsCFDEM/temperatureModel/temperatureModel.H @@ -90,7 +90,7 @@ public: void update(); - volScalarField& sourceField(); + const volScalarField& sourceField(); }; diff --git a/src/lagrangian/cfdemParticle/Make/files b/src/lagrangian/cfdemParticle/Make/files deleted file mode 100755 index 085cc9c..0000000 --- a/src/lagrangian/cfdemParticle/Make/files +++ /dev/null @@ -1,125 +0,0 @@ -cfdemCloud = cfdemCloud -cfdTools = cfdTools -forceModels = subModels/forceModel -forceSubModels = subModels/forceModel/forceSubModels -IOModels = subModels/IOModel -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 -probeModels = subModels/probeModel - -$(cfdemCloud)/cfdemCloud.C -derived/cfdemCloudIB/cfdemCloudIB.C - -$(cfdTools)/IOtools/json/json.C -$(cfdTools)/global.C -$(cfdTools)/newGlobal.C - -$(forceModels)/forceModel/forceModel.C -$(forceModels)/forceModel/newForceModel.C -$(forceModels)/noDrag/noDrag.C -$(forceModels)/checkCouplingInterval/checkCouplingInterval.C -$(forceModels)/DiFeliceDrag/DiFeliceDrag.C -$(forceModels)/fieldStore/fieldStore.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)/KochHillDrag/KochHillDrag.C -$(forceModels)/LaEuScalarTemp/LaEuScalarTemp.C -$(forceModels)/virtualMassForce/virtualMassForce.C -$(forceModels)/gradPForce/gradPForce.C -$(forceModels)/viscForce/viscForce.C -$(forceModels)/MeiLift/MeiLift.C -$(forceModels)/particleCellVolume/particleCellVolume.C -$(forceModels)/particleVolume/particleVolume.C -$(forceModels)/scalarGeneralExchange/scalarGeneralExchange.C -$(forceModels)/fieldTimeAverage/fieldTimeAverage.C -$(forceModels)/volWeightedAverage/volWeightedAverage.C - -$(forceSubModels)/forceSubModel/newForceSubModel.C -$(forceSubModels)/forceSubModel/forceSubModel.C -$(forceSubModels)/ImEx/ImEx.C - -$(probeModels)/probeModel/probeModel.C -$(probeModels)/probeModel/newProbeModel.C -$(probeModels)/noProbe/noProbe.C -$(probeModels)/particleProbe/particleProbe.C - -$(IOModels)/IOModel/IOModel.C -$(IOModels)/IOModel/newIOModel.C -$(IOModels)/noIO/noIO.C -$(IOModels)/basicIO/basicIO.C -$(IOModels)/trackIO/trackIO.C -$(IOModels)/sophIO/sophIO.C - -$(voidFractionModels)/voidFractionModel/voidFractionModel.C -$(voidFractionModels)/voidFractionModel/newVoidFractionModel.C -$(voidFractionModels)/centreVoidFraction/centreVoidFraction.C -$(voidFractionModels)/dividedVoidFraction/dividedVoidFraction.C -$(voidFractionModels)/bigParticleVoidFraction/bigParticleVoidFraction.C -$(voidFractionModels)/GaussVoidFraction/GaussVoidFraction.C -$(voidFractionModels)/IBVoidFraction/IBVoidFraction.C -$(voidFractionModels)/trilinearVoidFraction/trilinearVoidFraction.C -$(voidFractionModels)/noVoidFraction/noVoidFraction.C - -$(locateModels)/locateModel/locateModel.C -$(locateModels)/locateModel/newLocateModel.C -$(locateModels)/standardSearch/standardSearch.C -$(locateModels)/engineSearch/engineSearch.C -$(locateModels)/engineSearchIB/engineSearchIB.C - - -$(meshMotionModels)/meshMotionModel/meshMotionModel.C -$(meshMotionModels)/meshMotionModel/newMeshMotionModel.C -$(meshMotionModels)/noMeshMotion/noMeshMotion.C - -$(momCoupleModels)/momCoupleModel/momCoupleModel.C -$(momCoupleModels)/momCoupleModel/newMomCoupleModel.C -$(momCoupleModels)/explicitCouple/explicitCouple.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 -$(dataExchangeModels)/twoWayFiles/twoWayFiles.C -$(dataExchangeModels)/noDataExchange/noDataExchange.C -$(dataExchangeModels)/twoWayMPI/twoWayMPI.C - -$(averagingModels)/averagingModel/averagingModel.C -$(averagingModels)/averagingModel/newAveragingModel.C -$(averagingModels)/dilute/dilute.C -$(averagingModels)/dense/dense.C - -$(clockModels)/clockModel/clockModel.C -$(clockModels)/clockModel/newClockModel.C -$(clockModels)/standardClock/standardClock.C -$(clockModels)/noClock/noClock.C - -$(liggghtsCommandModels)/liggghtsCommandModel/liggghtsCommandModel.C -$(liggghtsCommandModels)/liggghtsCommandModel/newLiggghtsCommandModel.C -$(liggghtsCommandModels)/execute/execute.C -$(liggghtsCommandModels)/runLiggghts/runLiggghts.C -$(liggghtsCommandModels)/writeLiggghts/writeLiggghts.C -$(liggghtsCommandModels)/readLiggghtsData/readLiggghtsData.C - -$(smoothingModels)/smoothingModel/smoothingModel.C -$(smoothingModels)/smoothingModel/newSmoothingModel.C -$(smoothingModels)/noSmoothing/noSmoothing.C -$(smoothingModels)/constDiffSmoothing/constDiffSmoothing.C - -LIB = $(CFDEM_LIB_DIR)/lib$(CFDEM_LIB_NAME) diff --git a/src/lagrangian/cfdemParticle/Make/options b/src/lagrangian/cfdemParticle/Make/options deleted file mode 100755 index e30bb1f..0000000 --- a/src/lagrangian/cfdemParticle/Make/options +++ /dev/null @@ -1,34 +0,0 @@ -sinclude $(GENERAL_RULES)/mplib$(WM_MPLIB) -sinclude $(RULES)/mplib$(WM_MPLIB) - -GIT_VERSION := $(shell git describe --dirty --always --tags) -PFLAGS+= -DGITVERSION=\"$(GIT_VERSION)\" -PFLAGS+= -DDEBUGFLAG=\"$(DEBUG)\" -PFLAGS+= -DCFDEMWMPROJECTVERSION="$(CFDEM_WM_PROJECT_VERSION)" - -include $(CFDEM_ADD_LIBS_DIR)/$(CFDEM_ADD_LIBS_NAME) - -EXE_INC = \ - $(PFLAGS) \ - $(PINC) \ - -I ./cfdemParticle \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/transportModels \ - $(CFDEM_ADD_INCOMPTURBMOD_PATHS) \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/lagrangian/basic/lnInclude \ - -I$(LIB_SRC)/OpenFOAM/containers/HashTables/labelHashSet \ - -I$(CFDEM_LIGGGHTS_SRC_DIR) \ - -I$(CFDEM_SRC_DIR)/cfdTools \ - -LIB_LIBS = \ - $(PLIBS) \ - -L$(CFDEM_LIB_DIR) \ - -lfiniteVolume \ - $(CFDEM_ADD_INCOMPTURBMOD_LIBS) \ - -lmeshTools \ - -llagrangian \ - -L$(CFDEM_LIGGGHTS_SRC_DIR) \ - -Wl,--whole-archive -l$(CFDEM_LIGGGHTS_LIB_NAME) -Wl,--no-whole-archive \ - $(CFDEM_ADD_LIB_PATHS) \ - $(CFDEM_ADD_STATICLIBS) diff --git a/src/lagrangian/cfdemParticle/cfdTools/forceCheckEx.H b/src/lagrangian/cfdemParticle/cfdTools/forceCheckEx.H index 104030d..fb660bc 100644 --- a/src/lagrangian/cfdemParticle/cfdTools/forceCheckEx.H +++ b/src/lagrangian/cfdemParticle/cfdTools/forceCheckEx.H @@ -1,4 +1,14 @@ +//calc. total source - this NOT a relevant explicit force! +dimensionedVector fExpSource = -1 * particleCloud.momCoupleM(1).returnIntegralSourceField(); //negative because we want the force on the fluid +reduce(fExpSource, sumOp()); //must reduce, since sum in function is not the global sum! + //calc. total explicit force -vector fExpTotal =-sum(mesh.V()*f.internalField()); //negative because we want the force on the fluid -reduce(fExpTotal, sumOp()); -Info << "TotalForceExp: " << fExpTotal << endl; +dimensionedVector fExpTotal = -gSum( + mesh.V() + * f.internalField() + ); //negative because we want the force on the fluid + +fExpTotal.value() -= fExpSource.value(); //Subtract the explicit source, since this is NOT a coupling force!! + +Info << "TotalSourceExp: " << fExpSource.value() << endl; +Info << "TotalForceExp: " << fExpTotal.value() << endl; diff --git a/src/lagrangian/cfdemParticle/cfdTools/forceCheckIm.H b/src/lagrangian/cfdemParticle/cfdTools/forceCheckIm.H index 5622daf..ef603bd 100644 --- a/src/lagrangian/cfdemParticle/cfdTools/forceCheckIm.H +++ b/src/lagrangian/cfdemParticle/cfdTools/forceCheckIm.H @@ -1,4 +1,9 @@ //calc. total implicit force -vector fImpTotal = sum(mesh.V()*Ksl.internalField()*(Us.internalField()-U.internalField())); -reduce(fImpTotal, sumOp()); -Info << "TotalForceImp: " << fImpTotal << endl; +volVectorField fImp(Ksl*(Us-U)); +particleCloud.scaleWithVcell(fImp); +dimensionedVector fImpTotal = gSum(fImp); +// mesh.V() +// * Ksl.internalField() +// * ( Us.internalField() - U.internalField() ) +// ); +Info << "TotalForceImp: " << fImpTotal.value() << endl; diff --git a/src/lagrangian/cfdemParticle/cfdTools/readPISOControls_OF30.H b/src/lagrangian/cfdemParticle/cfdTools/readPISOControls_OF30.H index c432889..f935921 100644 --- a/src/lagrangian/cfdemParticle/cfdTools/readPISOControls_OF30.H +++ b/src/lagrangian/cfdemParticle/cfdTools/readPISOControls_OF30.H @@ -5,4 +5,3 @@ pisoControl piso(mesh); //create lables label nCorr = piso.nCorrPISO(); label nNonOrthCorr = piso.nNonOrthCorr(); -bool momentumPredictor = piso.momentumPredictor(); diff --git a/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H index d94133e..e54437f 100644 --- a/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H +++ b/src/lagrangian/cfdemParticle/cfdTools/setupProbeModel.H @@ -1,3 +1,5 @@ //set probeModel parameters for this force model - particleCloud_.probeM().setOutputFile(); - particleCloud_.probeM().setCounter(); + //CANNOT be used for scalarGeneralExchange force model, since this force model handles multiple species + if(probeIt_) + particleCloud_.probeM().setOutputFile(typeName+".logDat"); + diff --git a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H index 1e39cb6..faebedc 100755 --- a/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H +++ b/src/lagrangian/cfdemParticle/cfdTools/versionInfo.H @@ -33,8 +33,8 @@ Description #ifndef versionInfo_H #define versionInfo_H -word CFDEMversion="cfdem-3.4.0"; -word compatibleLIGGGHTSversion="3.4.0"; +word CFDEMversion="cfdem-3.5.0"; +word compatibleLIGGGHTSversion="3.5.0"; word OFversion="3.0.x-commit-ac3f6c67e02f0aac3777c27f9fb7558fc3536e37"; Info << "\nCFDEMcoupling version: " << CFDEMversion << endl; diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C index 7d82bae..d454746 100644 --- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C +++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C @@ -44,6 +44,7 @@ Description #include "clockModel.H" #include "smoothingModel.H" #include "liggghtsCommandModel.H" +#include "cyclicPolyPatch.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::cfdemCloud::cfdemCloud @@ -78,6 +79,7 @@ Foam::cfdemCloud::cfdemCloud solveScalarTransport_(true), verbose_(false), debug_(false), + allowCFDsubTimestep_(true), ignore_(false), modelType_(couplingProperties_.lookup("modelType")), positions_(NULL), @@ -94,6 +96,7 @@ Foam::cfdemCloud::cfdemCloud particleWeights_(NULL), particleVolumes_(NULL), particleV_(NULL), + dragPrev_(NULL), numberOfParticles_(0), d32_(-1), numberOfParticlesChanged_(false), @@ -110,7 +113,6 @@ Foam::cfdemCloud::cfdemCloud imExSplitFactor_(1.0), treatVoidCellsAsExplicitForce_(false), useDDTvoidfraction_("off"), - dragPrev_(NULL), ddtVoidfraction_ ( IOobject @@ -124,6 +126,7 @@ Foam::cfdemCloud::cfdemCloud mesh, dimensionedScalar("zero", dimensionSet(0,0,-1,0,0), 0) // 1/s ), + checkPeriodicCells_(false), turbulence_ ( #if defined(version24Dev) @@ -261,6 +264,8 @@ Foam::cfdemCloud::cfdemCloud averagingM().applyDebugSettings(debugMode()); //-- + dataExchangeM().setCG(); + Info << "If BC are important, please provide volScalarFields -imp/expParticleForces-" << endl; if (couplingProperties_.found("solveFlow")) solveFlow_=Switch(couplingProperties_.lookup("solveFlow")); @@ -268,6 +273,14 @@ Foam::cfdemCloud::cfdemCloud solveScalarTransport_=Switch(couplingProperties_.lookup("solveScalarTransport")); if (couplingProperties_.found("imExSplitFactor")) imExSplitFactor_ = readScalar(couplingProperties_.lookup("imExSplitFactor")); + + if(imExSplitFactor_>1.0) + FatalError << "You have set imExSplitFactor > 1 in your couplingProperties. Must be <=1." + << abort(FatalError); + if(imExSplitFactor_<0.0) + FatalError << "You have set imExSplitFactor < 0 in your couplingProperties. Must be >=0" + << abort(FatalError); + if (couplingProperties_.found("treatVoidCellsAsExplicitForce")) treatVoidCellsAsExplicitForce_ = readBool(couplingProperties_.lookup("treatVoidCellsAsExplicitForce")); if (couplingProperties_.found("verbose")) verbose_=true; @@ -332,8 +345,41 @@ Foam::cfdemCloud::cfdemCloud ); } - dataExchangeM().setCG(); - if (!cgOK_ && cg_ > 1) FatalError<< "at least one of your models is not fit for cg !!!"<< abort(FatalError); + Switch cgWarnOnly_(couplingProperties_.lookupOrDefault("cgWarnOnly", true)); + if (!cgOK_ && cg_ > 1) + { + if(cgWarnOnly_) + Warning<< "at least one of your models is not fit for cg !!!"<< endl; + else + FatalError<< "at least one of your models is not fit for cg !!!"<< abort(FatalError); + } + + // check if sim is fully peridic box + const polyBoundaryMesh& patches = mesh_.boundaryMesh(); + int nPatchesCyclic(0); + int nPatchesNonCyclic(0); + forAll(patches, patchI) + { + const polyPatch& pp = patches[patchI]; + #if defined(versionExt32) + if (isA(pp)) + nPatchesCyclic++; + else if (!isA(pp)) + nPatchesNonCyclic++; + #else + if (isA(pp) || isA(pp)) + nPatchesCyclic++; + else if (!isA(pp)) + nPatchesNonCyclic++; + #endif + } + if(nPatchesNonCyclic==0) + checkPeriodicCells_=true; + if(nPatchesCyclic>0 && nPatchesNonCyclic>0) + { + if(verbose_) Info << "nPatchesNonCyclic=" << nPatchesNonCyclic << ", nPatchesCyclic=" << nPatchesCyclic << endl; + Warning << "Periodic handing is disabled because the domain is not fully periodic!\n" << endl; + } } // * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * // @@ -809,8 +855,9 @@ tmp cfdemCloud::ddtVoidfraction() const { if (useDDTvoidfraction_==word("off")) { - Info << "suppressing ddt(voidfraction)" << endl; return tmp (ddtVoidfraction_ * 0.); + if(verbose_) + Info << "suppressing ddt(voidfraction)" << endl; } return tmp (ddtVoidfraction_ * 1.) ; } diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H index 5df99b3..42077ca 100644 --- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H +++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.H @@ -97,6 +97,8 @@ protected: bool debug_; + bool allowCFDsubTimestep_; + bool ignore_; const word modelType_; @@ -167,6 +169,8 @@ protected: mutable volScalarField ddtVoidfraction_; + mutable Switch checkPeriodicCells_; + #if defined(version24Dev) const turbulenceModel& turbulence_; #elif defined(version21) || defined(version16ext) @@ -252,6 +256,10 @@ public: bool debugMode(){ return debug_;}; + bool allowCFDsubTimestep(){ return allowCFDsubTimestep_;}; + + void setAllowCFDsubTimestep(bool b){allowCFDsubTimestep_=b;}; + void checkCG(bool); void setPos(double **&); @@ -365,7 +373,10 @@ public: FatalError << "cfdemCloud::shapeArray(): you are attempting to get an access to shape array for spheroids/superquadrics. This is not allowed for spheres. Recompile the code with #define anisotropicRotation in OFversion.H or enable superquadrics in LIGGGHTS (SUPERQUADRIC_ACTIVE_FLAG)" << abort(FatalError); return NULL; }; - virtual vector shape(int) const {return Foam::vector(0,0,0);}; + virtual vector shape(int) const { + FatalError << "cfdemCloud::shapeArray(): you are attempting to get an access to shape array for spheroids/superquadrics. This is not allowed for spheres. Recompile the code with #define anisotropicRotation in OFversion.H or enable superquadrics in LIGGGHTS (SUPERQUADRIC_ACTIVE_FLAG)" << abort(FatalError); + return Foam::vector(0,0,0); + }; // access to complex shape information virtual inline double ** vectorArray() const {return NULL;}; @@ -460,6 +471,14 @@ public: inline const incompressible::RASModel& turbulence() const; #endif + inline void makeSpecific(volScalarField&); + + inline void makeSpecific(volVectorField&); + + inline void scaleWithVcell(volScalarField&); + + inline void scaleWithVcell(volVectorField&); + // Write // write cfdemCloud internal data @@ -511,6 +530,7 @@ public: void zeroizeParticleDatFieldsUserCFDEMToExt(); void accessParticleDatFieldsUserCFDEMToExt(word fieldToAccess, double **& fieldData); //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= + bool checkPeriodicCells() { return checkPeriodicCells_; } }; diff --git a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloudI.H b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloudI.H index 4ad6b40..22cc99f 100644 --- a/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloudI.H +++ b/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloudI.H @@ -332,5 +332,30 @@ inline autoPtr* cfdemCloud::liggghtsCommand() const { return turbulence_; } + +inline void cfdemCloud::makeSpecific(volScalarField& field) +{ + forAll(field,cellI) + field[cellI] /= mesh_.V()[cellI]; +} + +inline void cfdemCloud::makeSpecific(volVectorField& field) +{ + forAll(field,cellI) + field[cellI] /= mesh_.V()[cellI]; +} + +inline void cfdemCloud::scaleWithVcell(volScalarField& field) +{ + forAll(field,cellI) + field[cellI] *= mesh_.V()[cellI]; +} + +inline void cfdemCloud::scaleWithVcell(volVectorField& field) +{ + forAll(field,cellI) + field[cellI] *= mesh_.V()[cellI]; +} + } // ************************************************************************* // diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C index 731d55b..45c8d7a 100644 --- a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C +++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.C @@ -59,14 +59,32 @@ cfdemCloudIB::cfdemCloudIB pRefCell_(readLabel(mesh.solutionDict().subDict("PISO").lookup("pRefCell"))), pRefValue_(readScalar(mesh.solutionDict().subDict("PISO").lookup("pRefValue"))), haveEvolvedOnce_(false), - skipLagrangeToEulerMapping_(false) + skipLagrangeToEulerMapping_(false), + skipAfter_(false), + timeStepsToSkip_(0), + calculateTortuosity_(false) { - if(this->couplingProperties().found("skipLagrangeToEulerMapping")) { Info << "Will skip lagrange-to-Euler mapping..." << endl; skipLagrangeToEulerMapping_=true; } + if(this->couplingProperties().found("timeStepsBeforeSkipping")) + { + skipAfter_=true; + timeStepsToSkip_ = readScalar + ( + this->couplingProperties().lookup("timeStepsBeforeSkipping") + ); + Info << "Will skip LagrangeToEuler mapping after " << timeStepsToSkip_ << " time steps" << endl; + } + if(this->couplingProperties().found("tortuosity")) + { + calculateTortuosity_ = true; + flowDir_ = this->couplingProperties().subDict("tortuosity").lookup("flowDirection"); + flowDir_ = flowDir_ / mag(flowDir_); + Info << "Will calculate tortuosity in the mean flow direction ("<("U"); + volScalarField voidfraction = mesh_.lookupObject("voidfraction"); + double ux = 0.0; + double umag = 0.0; + forAll(mesh_.V(),cellI) + { + if(voidfraction[cellI] > 0.5) + { + double V = mesh_.V()[cellI]; + ux += ((U[cellI] & dir))*V; + umag += mag(U[cellI])*V; + } + } + //double ux_reduced = 0.0; + //double umag_reduced = 0.0; + //MPI_Allreduce(&ux, &ux_reduced, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); + //MPI_Allreduce(&umag, &umag_reduced, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); + reduce(umag, sumOp()); + reduce(ux, sumOp()); + double tortuosity = ux == 0.0 ? 1.0 : umag / ux; + return tortuosity; +} + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H index 19b70c8..14bc241 100644 --- a/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H +++ b/src/lagrangian/cfdemParticle/derived/cfdemCloudIB/cfdemCloudIB.H @@ -64,6 +64,11 @@ protected: mutable bool haveEvolvedOnce_; mutable bool skipLagrangeToEulerMapping_; + mutable bool skipAfter_; + mutable int timeStepsToSkip_; + mutable bool calculateTortuosity_; + + vector flowDir_; public: @@ -85,7 +90,7 @@ public: bool reAllocArrays() const; - bool evolve(volScalarField&); + bool evolve(volScalarField&,volScalarField&); void calcVelocityCorrection(volScalarField&,volVectorField&,volScalarField&,volScalarField&); @@ -98,6 +103,10 @@ public: { return angularVelocities_; }; + void setInterFace(volScalarField& interFace); + + double getTortuosity(vector dir); + }; diff --git a/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H b/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H deleted file mode 100644 index 168aa9a..0000000 --- a/src/lagrangian/cfdemParticle/etc/OFversion/OFversion.H +++ /dev/null @@ -1,42 +0,0 @@ -#if(CFDEMWMPROJECTVERSION == 24) - #define version24 -#elif(CFDEMWMPROJECTVERSION == 30) - #define version30 -#elif(CFDEMWMPROJECTVERSION == 132) - #define versionExt32 -#endif - -//define anisotropicRotation cloud models -//#define anisotropicRotation - -// features of 16ext work also in extend 3.2 -#if defined(versionExt32) - #define version16ext -#endif - -// features of 2.4Dev work also in Dev -#if defined(version30) - #define version24Dev -#endif - -// basically use 24x settings + some dev features (e.g. new turbulence model structure) -#if defined(version24Dev) - #define version24 -#endif - -// features of 2.4 work also in 2.3 -#if defined(version24) - #define version23 -#endif - -// features of 2.1 work also in 2.3 -#if defined(version23) - #define version21 - #define version221 -#endif - -// features of 2.1 work also in 2.2 -#if defined(version22) - #define version21 - #define version221 -#endif diff --git a/src/lagrangian/cfdemParticle/etc/additionalLibs_2.4.x b/src/lagrangian/cfdemParticle/etc/additionalLibs_2.4.x deleted file mode 100644 index bda1adf..0000000 --- a/src/lagrangian/cfdemParticle/etc/additionalLibs_2.4.x +++ /dev/null @@ -1,41 +0,0 @@ -# paths for additional libraries -CFDEM_ADD_LIB_PATHS = \ - -# additional libraries to be linked to solvers -CFDEM_ADD_LIBS = \ - -# additional static libraries to be linked to lagrangian library -CFDEM_ADD_STATICLIBS = \ --lmpi_cxx \ - -################################################################# -## SETTINGS FOR 2.4.x ## -################################################################# -#---------------------------------------------------------------- -# incompressible turbulence model settings -#---------------------------------------------------------------- -# paths for incompressible turbulence models to use -CFDEM_ADD_INCOMPTURBMOD_PATHS = \ --I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ --I$(LIB_SRC)/fvOptions/lnInclude \ - -# libs for turbulence models to use -CFDEM_ADD_INCOMPTURBMOD_LIBS = \ --lincompressibleRASModels \ --lincompressibleLESModels \ --lfvOptions \ - -#---------------------------------------------------------------- -# compressible turbulence model settings -#---------------------------------------------------------------- -# paths for compressible turbulence models to use -CFDEM_ADD_COMPTURBMOD_PATHS = \ --I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \ --I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ --I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \ - -# libs for turbulence models to use -CFDEM_ADD_COMPTURBMOD_LIBS = \ --lcompressibleRASModels \ --lcompressibleLESModels \ --lfluidThermophysicalModels \ diff --git a/src/lagrangian/cfdemParticle/etc/additionalLibs_3.0.x b/src/lagrangian/cfdemParticle/etc/additionalLibs_3.0.x deleted file mode 100644 index 91bbfb3..0000000 --- a/src/lagrangian/cfdemParticle/etc/additionalLibs_3.0.x +++ /dev/null @@ -1,43 +0,0 @@ -# paths for additional libraries -CFDEM_ADD_LIB_PATHS = \ - -# additional libraries to be linked to solvers -CFDEM_ADD_LIBS = \ - -# additional static libraries to be linked to lagrangian library -CFDEM_ADD_STATICLIBS = \ --lmpi_cxx \ - -################################################################# -## SETTINGS FOR 3.0.x ## -################################################################# -#---------------------------------------------------------------- -# incompressible turbulence model settings -#---------------------------------------------------------------- -# paths for incompressible turbulence models to use -CFDEM_ADD_INCOMPTURBMOD_PATHS = \ --I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ --I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \ --I$(LIB_SRC)/fvOptions/lnInclude \ - -# libs for turbulence models to use -CFDEM_ADD_INCOMPTURBMOD_LIBS = \ --lturbulenceModels \ --lincompressibleTurbulenceModels \ --lfvOptions \ - -#---------------------------------------------------------------- -# compressible turbulence model settings -#---------------------------------------------------------------- -# paths for compressible turbulence models to use -CFDEM_ADD_COMPTURBMOD_PATHS = \ --I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ --I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ --I$(LIB_SRC)/transportModels/compressible/lnInclude \ --I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ - -# libs for turbulence models to use -CFDEM_ADD_COMPTURBMOD_LIBS = \ --lturbulenceModels \ --lcompressibleTurbulenceModels \ -################################################################# diff --git a/src/lagrangian/cfdemParticle/etc/additionalLibs_3.2 b/src/lagrangian/cfdemParticle/etc/additionalLibs_3.2 deleted file mode 100644 index c5bdc5a..0000000 --- a/src/lagrangian/cfdemParticle/etc/additionalLibs_3.2 +++ /dev/null @@ -1,45 +0,0 @@ -# paths for additional libraries -CFDEM_ADD_LIB_PATHS = \ --L/usr/include/vtk \ --L/usr/lib64/vtk \ - -# additional libraries to be linked to solvers -CFDEM_ADD_LIBS = \ --lvtkCommonCore \ --lvtkIOCore \ --lvtkIOXML \ --lvtkIOLegacy \ --lvtkCommonDataModel \ - -# additional static libraries to be linked to lagrangian library -CFDEM_ADD_STATICLIBS = \ --lmpi_cxx \ - -################################################################# -## SETTINGS FOR Extend 3.2 ## -################################################################# -#---------------------------------------------------------------- -# incompressible turbulence model settings -#---------------------------------------------------------------- -# paths for incompressible turbulence models to use -CFDEM_ADD_INCOMPTURBMOD_PATHS = \ --I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ - -# libs for turbulence models to use -CFDEM_ADD_INCOMPTURBMOD_LIBS = \ --lincompressibleRASModels \ --lincompressibleLESModels \ - -#---------------------------------------------------------------- -# compressible turbulence model settings -#---------------------------------------------------------------- -# paths for compressible turbulence models to use -CFDEM_ADD_COMPTURBMOD_PATHS = \ --I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \ --I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ --I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \ - -# libs for turbulence models to use -CFDEM_ADD_COMPTURBMOD_LIBS = \ --lcompressibleRASModels \ --lcompressibleLESModels \ diff --git a/src/lagrangian/cfdemParticle/etc/bashrc b/src/lagrangian/cfdemParticle/etc/bashrc index c16b40a..121c107 100755 --- a/src/lagrangian/cfdemParticle/etc/bashrc +++ b/src/lagrangian/cfdemParticle/etc/bashrc @@ -240,10 +240,26 @@ else fi # detect OF version -if [ $WM_PROJECT_VERSION == "3.0.x" ]; then +if [[ $WM_PROJECT_VERSION == 4.* ]]; then + export CFDEM_WM_PROJECT_VERSION=40 + echo "************************************" + echo "WARNING from your CFDEM code!" + echo "WARNING: Coupling with your OpenFOAM(R) version is currently under development!" + echo "In doubt switch to another version." + echo "************************************" + sleep 1.5 +elif [[ $WM_PROJECT_VERSION == 3.0.* ]]; then export CFDEM_WM_PROJECT_VERSION=30 -elif [ $WM_PROJECT_VERSION == "2.4.x" ]; then +elif [[ $WM_PROJECT_VERSION == 2.4.* ]]; then export CFDEM_WM_PROJECT_VERSION=24 elif [[ $WM_PROJECT_VERSION == "3.2" && $WM_FORK == "extend" ]]; then export CFDEM_WM_PROJECT_VERSION=132 +else + clear + echo "************************************" + echo "ERROR from your CFDEM code!" + echo "ERROR: your OpenFOAM(R) version is not supported!" + echo "Please use a version that is supported, i.e., see the bashrc file in the source directory!" + echo "************************************" + sleep 1.5 fi diff --git a/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh b/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh index 66b686a..eb05dcf 100755 --- a/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh +++ b/src/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh @@ -25,6 +25,7 @@ echo "CFDEM_VERSION=$CFDEM_VERSION" echo "couple to OF_VERSION=$WM_PROJECT_VERSION" echo "compile option=$WM_COMPILE_OPTION" + echo echo "check if paths are set correctly" checkDirComment "$CFDEM_PROJECT_DIR" '$CFDEM_PROJECT_DIR' "yes" @@ -45,6 +46,10 @@ echo '$CFDEM_LIGGGHTS_LIB_NAME = '"$CFDEM_LIGGGHTS_LIB_NAME" echo '$CFDEM_LIB_NAME = '"$CFDEM_LIB_NAME" echo '$LD_LIBRARY_PATH = '"$LD_LIBRARY_PATH" echo '$WM_NCOMPPROCS = '"$WM_NCOMPPROCS" +echo '$WM_LABEL_SIZE = '"$WM_LABEL_SIZE" +if [ $WM_LABEL_SIZE != 32 ]; then + echo "!!!! Warning: WM_LABEL_SIZE must be 32!!!!! (Please correct in $FOAM_ETC/bashrc.)" +fi echo "*******************" diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh index 9792a1a..b51b202 100755 --- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh +++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh @@ -18,14 +18,14 @@ mkdir -p $logDir #================================================================================# # compile src #================================================================================# -bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh +. $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_src.sh #================================================================================# # compile solvers #================================================================================# -bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh +. $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh #================================================================================# # compile utilities #================================================================================# -bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh +. $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh index 445712a..d9c1c5b 100755 --- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh +++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_all.sh @@ -19,9 +19,9 @@ mkdir -p $logDir #================================================================================# # compile LIGGGHTS src + libraries #================================================================================# -bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh +. $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileLIGGGHTS.sh #================================================================================# # compile CFDEMcoupling #================================================================================# -bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh +. $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compileCFDEMcoupling.sh diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh index b80c0f4..ae807ee 100755 --- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh +++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_sol.sh @@ -9,6 +9,7 @@ whitelist="solver-list.txt" #- include functions source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh + logDir="log" cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir @@ -63,7 +64,7 @@ else echo "do compilation in serial" else nsteps=$WM_NCOMPPROCS - nchunk=`echo $njobs/$nsteps+1 | bc` + let nchunk=$njobs/$nsteps+1 echo "do compilation on $nsteps procs in $nchunk chunks" let nchunk++ # +1, to wait for the last compilation too fi @@ -74,7 +75,8 @@ else #wait until prev. compilation is finished echo "waiting..." - until [ `ps -a | grep make | wc -l` -eq 0 ]; + #until [ `ps -a | grep make | wc -l` -eq 0 ]; + until [ `ls -a | $logpath/grep *.tempXYZ | wc -l` -eq 0 ]; do sleep 2 done @@ -127,7 +129,8 @@ fi #wait until prev. compilation is finished echo "waiting..." -until [ `ps -a | grep make | wc -l` -eq 0 ]; +#until [ `ps -a | grep make | wc -l` -eq 0 ]; +until [ `ls -a | grep $logpath/*.tempXYZ | wc -l` -eq 0 ]; do sleep 2 done diff --git a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh index 360b167..22a7cde 100755 --- a/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh +++ b/src/lagrangian/cfdemParticle/etc/compileCFDEMcoupling_uti.sh @@ -9,6 +9,7 @@ whitelist="utilities-list.txt" #- include functions source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh + logDir="log" cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc mkdir -p $logDir @@ -36,6 +37,11 @@ echo "example:" echo "cfdemPostproc/dir" echo "" +#- create a tmp file and delete comments in it - work with tmp file then. +cp $whitelist "tmpFile.txt" +sed -i '/^#/d' "tmpFile.txt" +whitelist="tmpFile.txt" + if [ ! -f "$CWD/$whitelist" ];then echo "$whitelist does not exist in $CWD" else @@ -54,7 +60,7 @@ else echo "do compilation in serial" else nsteps=$WM_NCOMPPROCS - nchunk=`echo $njobs/$nsteps+1 | bc` + let nchunk=$njobs/$nsteps+1 echo "do compilation on $nsteps procs in $nchunk chunks" let nchunk++ # +1, to wait for the last compilation too fi @@ -65,7 +71,8 @@ else #wait until prev. compilation is finished echo "waiting..." - until [ `ps -a | grep make | wc -l` -eq 0 ]; + #until [ `ps -a | grep make | wc -l` -eq 0 ]; + until [ `ls -a | $logpath/grep *.tempXYZ | wc -l` -eq 0 ]; do sleep 2 done @@ -100,16 +107,25 @@ else parallel="true" #--------------------------------------------------------------------------------# - #echo "compiling $LINE" + echo "compiling $LINE" compileSolver $logpath $logfileName $casePath $headerText $parallel let counter++ fi done - sleep 1 # wait a second until compilation starts + #sleep 1 # wait a second until compilation starts done echo "compilation done." fi +#wait until prev. compilation is finished +echo "waiting..." +#until [ `ps -a | grep make | wc -l` -eq 0 ]; +until [ `ls -a | grep $logpath/*.tempXYZ | wc -l` -eq 0 ]; +do + sleep 2 +done + +rm "$CWD/tmpFile.txt" \ No newline at end of file diff --git a/src/lagrangian/cfdemParticle/etc/cshrc b/src/lagrangian/cfdemParticle/etc/cshrc index 08c1306..0d413b7 100755 --- a/src/lagrangian/cfdemParticle/etc/cshrc +++ b/src/lagrangian/cfdemParticle/etc/cshrc @@ -181,8 +181,8 @@ alias cfdemCompCFDEMuti 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/compil alias cfdemTestTUT 'bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/testTutorials.sh' #- shortcut to change dictionaries according to OF version -cfdemChangeTutOFversion() { bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/OFVersionChange/shellScripts/cfdemChangeTutOFversion_all.sh $1; } -export -f cfdemChangeTutOFversion +#cfdemChangeTutOFversion() { bash $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/OFVersionChange/shellScripts/cfdemChangeTutOFversion_all.sh $1; } +#export -f cfdemChangeTutOFversion #- shortcut to visualize the clock model data alias vizClock 'python $CFDEM_UT_DIR/vizClock/matPlot.py' @@ -223,10 +223,28 @@ else endif # detect OF version -if ( $WM_PROJECT_VERSION == "3.0.x" ) then +if ( $WM_PROJECT_VERSION =~ "4.*" ) then + setenv CFDEM_WM_PROJECT_VERSION 40 + echo "************************************" + echo "WARNING from your CFDEM code!" + echo "WARNING: Coupling with your OpenFOAM(R) version is currently under development!" + echo "In doubt switch to another version." + echo "************************************" + sleep 1.5 +else if ( $WM_PROJECT_VERSION =~ "3.0.*" ) then setenv CFDEM_WM_PROJECT_VERSION 30 -else if ( $WM_PROJECT_VERSION == "2.4.x" ) then +else if ( $WM_PROJECT_VERSION =~ "2.4.*" ) then setenv CFDEM_WM_PROJECT_VERSION 24 -else if ( $WM_PROJECT_VERSION == "3.2" && $WM_FORK == "extend" ) then - setenv CFDEM_WM_PROJECT_VERSION 132 +else if ( $WM_PROJECT_VERSION == "3.2" ) then + if ( $WM_FORK == "extend" ) then + setenv CFDEM_WM_PROJECT_VERSION 132 + endif +else + clear + echo "************************************" + echo "ERROR from your CFDEM code!" + echo "ERROR: your openFOAM(R)s version is not supported!" + echo "Please use a version that is supported, i.e., see the bashrc file in the source directory!" + echo "************************************" + sleep 1.5 endif diff --git a/src/lagrangian/cfdemParticle/etc/functions.sh b/src/lagrangian/cfdemParticle/etc/functions.sh index 1a72d88..c219c87 100755 --- a/src/lagrangian/cfdemParticle/etc/functions.sh +++ b/src/lagrangian/cfdemParticle/etc/functions.sh @@ -80,7 +80,7 @@ compileLib() echo "Please make sure to have the incompressible libraries first in the library-list.txt!" cd $CFDEM_SRC_DIR/lagrangian/cfdemParticle echo "changing to $PWD" - if [[ $WM_PROJECT_VERSION == "dev" || $WM_PROJECT_VERSION == "3.0.x" ]]; then + if [[ $WM_PROJECT_VERSION == dev || $WM_PROJECT_VERSION == 3.0.* || $WM_PROJECT_VERSION == 4.* ]]; then wrmdep 2>&1 | tee -a $logpath/$logfileName else rmdepall 2>&1 | tee -a $logpath/$logfileName @@ -90,12 +90,13 @@ compileLib() else echo "Compiling a incompressible library." fi - if [[ $WM_PROJECT_VERSION == "dev" || $WM_PROJECT_VERSION == "3.0.x" ]]; then + if [[ $WM_PROJECT_VERSION == dev || $WM_PROJECT_VERSION == 3.0.* || $WM_PROJECT_VERSION == 4.* ]]; then wrmdep 2>&1 | tee -a $logpath/$logfileName else rmdepall 2>&1 | tee -a $logpath/$logfileName fi wclean 2>&1 | tee -a $logpath/$logfileName + rm -r $casePath/Make/cfdemParticle #fi wmake libso 2>&1 | tee -a $logpath/$logfileName @@ -142,7 +143,7 @@ compileSolver() else #- wclean and wmake #if [ $doClean != "noClean" ]; then - if [[ $WM_PROJECT_VERSION == "dev" || $WM_PROJECT_VERSION == "3.0.x" ]]; then + if [[ $WM_PROJECT_VERSION == dev || $WM_PROJECT_VERSION == 3.0.* || $WM_PROJECT_VERSION == 4.* ]]; then wrmdep 2>&1 | tee -a $logpath/$logfileName else rmdepall 2>&1 | tee -a $logpath/$logfileName @@ -153,9 +154,14 @@ compileSolver() # compile parallel? if [[ $parallel == "true" ]]; then + touch $logpath/$logfileName.tempXYZ wmake 2>&1 | tee -a $logpath/$logfileName #& + rm $logpath/$logfileName.tempXYZ else + touch $logpath/$logfileName.tempXYZ wmake 2>&1 | tee -a $logpath/$logfileName + rm $logpath/$logfileName.tempXYZ + fi #- keep terminal open @@ -237,11 +243,11 @@ compileLMPlib() fi #Just check if library is there and and abort if not - if [ $compilationModeSwitch == "false" ]; then + if [[ $compilationModeSwitch == "false" ]]; then if [ -d "$libraryPath" ]; then echo "lib path $libraryPath EXISTS!" - cd $libraryPath - if [ -e *.a ]; then + libraries=$(ls ${libraryPath}/*.a 2> /dev/null | wc -l) + if [[ $libraries != "0" ]]; then echo "... and contains the following libraries: " ls $libraryPath/*.a echo "Congratulations! Check passed! " @@ -257,7 +263,7 @@ compileLMPlib() fi fi else - if [ $compilationModeSwitch == "noClean" ]; then + if [[ $compilationModeSwitch == "noClean" ]]; then echo "compileLMPlib will skip the cleaning step!" echo "" else @@ -279,7 +285,7 @@ compileLMPlib() bash Install.sh 0 2>&1 | tee -a $logpath/$logfileName bash Install.sh 1 2>&1 | tee -a $logpath/$logfileName else - if [ $compilationModeSwitch == "noClean" ]; then + if [[ $compilationModeSwitch == "noClean" ]]; then echo "compileLMPlib will skip the cleaning step!" echo "" else @@ -344,7 +350,7 @@ cleanCFDEM() cd $path echo "cleaning library $PWD" - if [[ $WM_PROJECT_VERSION == "dev" || $WM_PROJECT_VERSION == "3.0.x" ]]; then + if [[ $WM_PROJECT_VERSION == dev || $WM_PROJECT_VERSION == 3.0.* || $WM_PROJECT_VERSION == 4.* ]]; then wrmdep else rmdepall @@ -402,7 +408,7 @@ cleanCFDEM() cd $path echo "cleaning solver $PWD" - if [[ $WM_PROJECT_VERSION == "dev" || $WM_PROJECT_VERSION == "3.0.x" ]]; then + if [[ $WM_PROJECT_VERSION == dev || $WM_PROJECT_VERSION == 3.0.* || $WM_PROJECT_VERSION == 4.* ]]; then wrmdep else rmdepall @@ -451,12 +457,12 @@ DEMrun() debugMode="$6" #--------------------------------------------------------------------------------# - if [ $debugMode == "on" ]; then + if [[ $debugMode == "on" ]]; then debugMode="valgrind" - elif [ $debugMode == "strict" ]; then + elif [[ $debugMode == "strict" ]]; then #debugMode="valgrind --leak-check=full -v --trace-children=yes --track-origins=yes" debugMode="valgrind --tool=memcheck --track-origins=yes --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes" - elif [ $debugMode == "strictXML" ]; then + elif [[ $debugMode == "strictXML" ]]; then #debugMode="valgrind --leak-check=full -v --trace-children=yes --track-origins=yes" debugMode="valgrind --tool=memcheck --leak-check=yes --leak-check-heuristics=stdstring,length64,newarray,multipleinheritance --show-reachable=no --num-callers=20 --track-fds=yes --xml=yes --xml-file=valgrind.xml" else @@ -503,12 +509,12 @@ parDEMrun() debugMode="$8" #--------------------------------------------------------------------------------# - if [ $debugMode == "on" ]; then + if [[ $debugMode == "on" ]]; then debugMode="valgrind" - elif [ $debugMode == "strict" ]; then + elif [[ $debugMode == "strict" ]]; then #debugMode="valgrind --leak-check=full -v --trace-children=yes --track-origins=yes" debugMode="valgrind --tool=memcheck --track-origins=yes --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes" - elif [ $debugMode == "strictXML" ]; then + elif [[ $debugMode == "strictXML" ]]; then #debugMode="valgrind --leak-check=full -v --trace-children=yes --track-origins=yes" debugMode="valgrind --tool=memcheck --leak-check=yes --leak-check-heuristics=stdstring,length64,newarray,multipleinheritance --show-reachable=no --num-callers=20 --track-fds=yes --xml=yes --xml-file=valgrind.xml" else @@ -531,7 +537,7 @@ parDEMrun() echo 2>&1 | tee -a $logpath/$logfileName #- run applictaion - if [ $machineFileName == "none" ]; then + if [[ $machineFileName == "none" ]]; then mpirun -np $nrProcs $debugMode $CFDEM_LIGGGHTS_SRC_DIR/$CFDEM_LIGGGHTS_LIB_NAME < $solverName 2>&1 | tee -a $logpath/$logfileName else mpirun -machinefile $machineFileName -np $nrProcs $debugMode $CFDEM_LIGGGHTS_SRC_DIR/$CFDEM_LIGGGHTS_LIB_NAME < $solverName 2>&1 | tee -a $logpath/$logfileName @@ -557,7 +563,7 @@ CFDrun() debugMode="$6" #--------------------------------------------------------------------------------# - if [ $debugMode == "on" ]; then + if [[ $debugMode == "on" ]]; then debugMode="valgrind" else debugMode="" @@ -605,7 +611,7 @@ parCFDrun() debugMode="$8" #--------------------------------------------------------------------------------# - if [ $debugMode == "on" ]; then + if [[ $debugMode == "on" ]]; then debugMode="valgrind" else debugMode="" @@ -641,7 +647,7 @@ parCFDrun() echo 2>&1 | tee -a $logpath/$logfileName #- run applictaion - if [ $machineFileName == "none" ]; then + if [[ $machineFileName == "none" ]]; then mpirun -np $nrProcs $debugMode $solverName -parallel 2>&1 | tee -a $logpath/$logfileName else mpirun -machinefile $machineFileName -np $nrProcs $debugMode $solverName -parallel 2>&1 | tee -a $logpath/$logfileName @@ -669,17 +675,18 @@ parCFDDEMrun() debugMode="$8" reconstuctCase="$9" decomposeCase=${10} + remoteStorageLocation=${11} #--------------------------------------------------------------------------------# - if [ $debugMode == "on" ]; then + if [[ $debugMode == "on" ]]; then debugMode="valgrind" - elif [ $debugMode == "strict" ]; then + elif [[ $debugMode == "strict" ]]; then #debugMode="valgrind --leak-check=full -v --trace-children=yes --track-origins=yes" debugMode="valgrind --tool=memcheck --track-origins=yes --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes" - elif [ $debugMode == "strictXML" ]; then + elif [[ $debugMode == "strictXML" ]]; then #debugMode="valgrind --leak-check=full -v --trace-children=yes --track-origins=yes" debugMode="valgrind --tool=memcheck --leak-check=yes --leak-check-heuristics=stdstring,length64,newarray,multipleinheritance --show-reachable=no --num-callers=20 --track-fds=yes --xml=yes --xml-file=valgrind.xml" - elif [ $debugMode == "profile" ]; then + elif [[ $debugMode == "profile" ]]; then # make sure you did hpcstruct before debugMode="hpcrun" rm -r $casePath/CFD/hpctoolkit-$solverName-measurements @@ -698,10 +705,14 @@ parCFDDEMrun() echo "Not decomposing case." else echo "Decomposing case." - #- remove old data - rm -rf processor* + decomposePar -force - decomposePar + if [[ $remoteStorageLocation == "" ]]; then + echo "do nothing." + else + echo "do links" + linkProcDirs $remoteStorageLocation + fi fi #- make proc dirs visible @@ -745,8 +756,7 @@ parCFDDEMrun() if [[ $debugMode == "hpcrun" ]]; then rm hpctoolkit-$solverName-database* - hpcprof -S $CFDEM_APP_DIR/$solverName.hpcstruct -I ./'*' hpctoolkit-$solverName-measurements - echo "huhu" + hpcprof -S $CFDEM_APP_DIR/$solverName.hpcstruct -I ./'*' hpctoolkit-$solverName-measurements fi #- keep terminal open (if started in new terminal) @@ -871,7 +881,7 @@ pseudoParallelRun() outputfile="log.$appname" #--------------------------------------------------------------------------------# -if [ -z "$njobs" ]; then +if [[ -z "$njobs" ]]; then echo "" echo " K. Wardle 6/22/09" echo " bash script to run reconstructPar (or other fct) in pseudo-parallel mode" @@ -895,7 +905,7 @@ echo "do $appname on $nsteps time directories" #echo "nsteps= $nsteps" #let nsteps=$nsteps1-1 -nchunk=`echo $nsteps/$njobs+1 | bc` +let nchunk=$nsteps/$njobs+1 #echo "nchunk = $nchunk" #find max time @@ -913,9 +923,9 @@ p=p for i in `seq $njobs` do - nn=`echo $i*$nchunk | bc` + let nn=$i*$nchunk tstop=`ls processor0 | sed -n $nn$p` - if [ $i == $njobs ] + if [[ $i == $njobs ]] then tstop=$tmax fi @@ -934,10 +944,10 @@ until [ `ps -C $appname | wc -l` -eq 1 ]; do sleep 10 ## n1=`ps -C $appname | wc -l` -## n2=`echo $n1-1 | bc` +## let n2=$n1-1 nnow=`ls -d [0-9]*/ | wc -l` ##count time directories in case root dir, this will include 0 - nmore=`echo $nsteps-$nnow+1 | bc` ##calculate number left to reconstruct and subtract 0 dir - if [ $nmore != $nmore_old ] + let nmore=$nsteps-$nnow+1 ##calculate number left to reconstruct and subtract 0 dir + if [[ $nmore != $nmore_old ]] then echo "$nmore directories remaining..." fi @@ -945,7 +955,7 @@ until [ `ps -C $appname | wc -l` -eq 1 ]; done #combine and cleanup -if [ -n "$outputfile" ] +if [[ -n "$outputfile" ]] then #check if output file already exists if [ -e "$outputfile" ] @@ -1108,7 +1118,7 @@ trackMem() do CMD=$(/bin/ps -o comm -p $PID | /usr/bin/tail -1) - if [ $CMD == $appname ] + if [[ $CMD == $appname ]] then TOTAL=$(/usr/bin/pmap $PID 2>/dev/null | /usr/bin/tail -1 | /usr/bin/awk '{ print $2 }') @@ -1124,11 +1134,81 @@ removeBracketsFromFile() #--------------------------------------------------------------------------------# #- define variables oldFileName="$1" - newFileName="$oldFileName""_noBrackets" + overwrite="$2" #--------------------------------------------------------------------------------# - sed -e 's/[(,)]//g' $oldFileName > $newFileName + if [[ $overwrite == "true" ]] + then + sed -i 's/[(,)]//g' $oldFileName + else + newFileName="$oldFileName""_noBrackets" + sed -e 's/[(,)]//g' $oldFileName > $newFileName + fi } +#========================================# +#- remove brackets from file +linkProcDirs() +{ + #--------------------------------------------------------------------------------# + #- define variables + remoteDir="$1" + #--------------------------------------------------------------------------------# + # check remote directory exist + if [[ -d "$remoteDir" ]] + then + echo " $remoteDir exists - **check**" + else + Fatal "ERROR: remote directory does not exist: $remoteDir" + fi + # check case is decomposed + if [[ -d "processor0" ]] + then + echo " case is decomposed - **check**" + else + Fatal "ERROR: case is NOT decomposed - please do so and run again." + fi + + # check CFD dir exists at remote location + if [[ -d $remoteDir/CFD ]] + then + Fatal "ERROR: there is (!) a dir called CFD at $remoteDir - please rename it and run again." + else + echo " there is no dir called CFD at $remoteDir - **check**" + fi + + # create a dir CFD at remoteDir + mkdir $remoteDir/CFD + + # create a backup dir oldProcDirs + mkdir oldProcDirs + + # check if oldProcDirs is empty + if [[ -d oldProcDirs/processor0 ]] + then + Fatal "ERROR: ./oldProcDirs is not empty - please clean up and run again." + else + echo " ./oldProcDirs is empty - **check**" + fi + + # moving proc dirs to oldProcsDir (backup) + cp -r processor* $remoteDir/CFD + mv processor* oldProcDirs + + # create a link to remote proc dirs + counter=0 + for procDir in $remoteDir/CFD/*/; do + ln -s $remoteDir/CFD/processor$counter processor$counter + counter=$[counter + 1] + done + + # create a link to postProcessing dir + mkdir postProcessing + mv postProcessing $remoteDir/CFD + ln -s $remoteDir/CFD/postProcessing postProcessing + + # success + echo "linking was successful" +} diff --git a/src/lagrangian/cfdemParticle/etc/library-liggghts-list.txt b/src/lagrangian/cfdemParticle/etc/library-liggghts-list.txt deleted file mode 100644 index bb409f7..0000000 --- a/src/lagrangian/cfdemParticle/etc/library-liggghts-list.txt +++ /dev/null @@ -1,3 +0,0 @@ -#syntax: makefileName/dir -#note: dir is not a path, just a keyword here -############################################### diff --git a/src/lagrangian/cfdemParticle/etc/library-list.txt b/src/lagrangian/cfdemParticle/etc/library-list.txt deleted file mode 100644 index 59f9fe9..0000000 --- a/src/lagrangian/cfdemParticle/etc/library-list.txt +++ /dev/null @@ -1,2 +0,0 @@ -lagrangian/cfdemParticle/dir -eulerian/scalarTransportModelsCFDEM/dir diff --git a/src/lagrangian/cfdemParticle/etc/solver-list.txt b/src/lagrangian/cfdemParticle/etc/solver-list.txt deleted file mode 100644 index 41ca4d9..0000000 --- a/src/lagrangian/cfdemParticle/etc/solver-list.txt +++ /dev/null @@ -1,4 +0,0 @@ -cfdemSolverPiso/dir -cfdemSolverIB/dir -cfdemSolverPisoScalar/dir -cfdemSolverPisoSTM/dir diff --git a/src/lagrangian/cfdemParticle/etc/tutorial-list.txt b/src/lagrangian/cfdemParticle/etc/tutorial-list.txt deleted file mode 100644 index c287909..0000000 --- a/src/lagrangian/cfdemParticle/etc/tutorial-list.txt +++ /dev/null @@ -1,22 +0,0 @@ - -#===================================================================# -# This file specifies the example cases being executed by -# .../etc/testTutorial.sh , which can be run with the alias -# cfdemTestTUT -# Christoph Goniva - June. 2011, DCS Computing GmbH -#===================================================================# - -cfdemSolverPiso/settlingTestMPI/dir - -cfdemSolverPiso/ErgunTestMPI/dir - -cfdemSolverPiso/ErgunTestMPI_cgs/dir - -cfdemSolverPiso/ErgunTestMPI_restart/dir -cfdemSolverPiso/voidfractionTest/dir - -cfdemSolverIB/twoSpheresGlowinskiMPI/dir - -cfdemSolverPisoScalar/packedBedTemp/dir - -cfdemSolverPisoSTM/packedBedTemp/dir diff --git a/src/lagrangian/cfdemParticle/etc/utilities-list.txt b/src/lagrangian/cfdemParticle/etc/utilities-list.txt deleted file mode 100644 index a8ac78b..0000000 --- a/src/lagrangian/cfdemParticle/etc/utilities-list.txt +++ /dev/null @@ -1 +0,0 @@ -cfdemPostproc/dir diff --git a/src/lagrangian/cfdemParticle/subModels/averagingModel/averagingModel/averagingModel.C b/src/lagrangian/cfdemParticle/subModels/averagingModel/averagingModel/averagingModel.C index 1e4ea73..cd35eb9 100644 --- a/src/lagrangian/cfdemParticle/subModels/averagingModel/averagingModel/averagingModel.C +++ b/src/lagrangian/cfdemParticle/subModels/averagingModel/averagingModel/averagingModel.C @@ -59,7 +59,7 @@ void averagingModel::undoVectorAverage { // WARNING - not sure if this is valid for dilute model!!! - if(!single) fieldPrev.internalField() = fieldNext.internalField(); + if(!single) fieldPrev == fieldNext; label cellI; vector valueVec; @@ -294,13 +294,13 @@ void averagingModel::setDSauter void averagingModel::resetVectorAverage(volVectorField& prev,volVectorField& next,bool single) const { - if(!single) prev.internalField() = next.internalField(); - next.internalField() = vector::zero; + if(!single) prev == next; + next == dimensionedVector("zero", next.dimensions(), vector::zero); } void averagingModel::resetWeightFields() const { - UsWeightField_.internalField() = 0; + UsWeightField_ == dimensionedScalar("zero", UsWeightField_.dimensions(), 0.0); } @@ -319,39 +319,20 @@ void Foam::averagingModel::undoWeightFields(double**const& mask) const tmp Foam::averagingModel::UsInterp() const { - tmp tsource - ( - new volVectorField - ( - IOobject - ( - "Us_averagingModel", - particleCloud_.mesh().time().timeName(), - particleCloud_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - particleCloud_.mesh(), - dimensionedVector - ( - "zero", - dimensionSet(0, 1, -1, 0, 0), - vector::zero - ) - ) - ); - if (particleCloud_.dataExchangeM().couplingStep() > 1) { - tsource() = (1 - particleCloud_.dataExchangeM().timeStepFraction()) * UsPrev_ - + particleCloud_.dataExchangeM().timeStepFraction() * UsNext_; + return tmp + ( + new volVectorField("Us_averagingModel", (1 - particleCloud_.dataExchangeM().timeStepFraction()) * UsPrev_ + particleCloud_.dataExchangeM().timeStepFraction() * UsNext_) + ); } else { - tsource() = UsNext_; + return tmp + ( + new volVectorField("Us_averagingModel", UsNext_) + ); } - - return tsource; } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H index a1794f6..a11956e 100755 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/dataExchangeModel/dataExchangeModel.H @@ -203,8 +203,11 @@ public: Info << "particleCloud_.mesh().time().deltaT().value() = " << particleCloud_.mesh().time().deltaT().value() << endl; Info << "couplingInterval_ = " << couplingInterval_ << endl; Info << "DEMts_ = " << DEMts_ << endl; - FatalError<<"\nError - TS bigger than coupling interval!\n"<< abort(FatalError); + FatalError<<"\nError - CFD time-step bigger than coupling time (= DEM time step * coupling interval)!\n"<< abort(FatalError); } + if(!particleCloud_.allowCFDsubTimestep()) + if(particleCloud_.mesh().time().deltaT().value() < couplingInterval_ * DEMts_ + SMALL) + FatalError<<"\nYour models require: CFD time-step = coupling interval (= DEM time step * coupling interval)! \n"<< abort(FatalError); } /*inline bool checkExactTiming() const diff --git a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C index 03c3a9d..15c2d1a 100644 --- a/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C +++ b/src/lagrangian/cfdemParticle/subModels/dataExchangeModel/twoWayMPI/twoWayMPI.C @@ -110,7 +110,7 @@ void twoWayMPI::getData { char* charName = wordToChar(name); char* charType = wordToChar(type); - data_liggghts_to_of(charName,charType, lmp, (void*&) field,"double"); + data_liggghts_to_of(charName,charType, lmp, (void*&) field, (char *)"double"); } void twoWayMPI::getData @@ -123,7 +123,7 @@ void twoWayMPI::getData { char* charName = wordToChar(name); char* charType = wordToChar(type); - data_liggghts_to_of(charName,charType, lmp, (void*&) field,"int"); + data_liggghts_to_of(charName,charType, lmp, (void*&) field, (char *)"int"); } void twoWayMPI::giveData @@ -232,7 +232,6 @@ bool Foam::twoWayMPI::couple(int i) const DynamicList interruptTimes(0); DynamicList DEMstepsToInterrupt(0); DynamicList lcModel(0); - scalar interruptTime = -1; forAll(particleCloud_.liggghtsCommandModelList(),i) { diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/Archimedes/Archimedes.C b/src/lagrangian/cfdemParticle/subModels/forceModel/Archimedes/Archimedes.C index 4722a8c..89360ba 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/Archimedes/Archimedes.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/Archimedes/Archimedes.C @@ -77,7 +77,7 @@ Archimedes::Archimedes probeIt_=!Switch(propsDict_.lookup("suppressProbe")); if(probeIt_) { - particleCloud_.probeM().initialize(typeName, "archimedesF.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("archimedesForce"); //first entry must the be the force particleCloud_.probeM().scalarFields_.append("Vp"); particleCloud_.probeM().writeHeader(); @@ -94,6 +94,7 @@ Archimedes::Archimedes // define switches which can be read from dict (default = false) forceSubM(0).setSwitchesList(1,true); // activate treatForceDEM switch (DEM side only treatment) + forceSubM(0).setSwitchesList(3,true); // activate search for verbose switch //set default switches (hard-coded default = false) forceSubM(0).setSwitches(1,true); // will treat forces on DEM side only - IMPORTANT! @@ -129,51 +130,56 @@ Archimedes::~Archimedes() void Archimedes::setForce() const { vector force(0,0,0); + scalar piBySix(M_PI/6.); + scalar Vs(0.); + scalar ds(0.); #include "setupProbeModel.H" for(int index = 0;index < particleCloud_.numberOfParticles(); ++index) { - //if(mask[index][0]) - //{ - label cellI = particleCloud_.cellIDs()[index][0]; - force=vector::zero; + label cellI = particleCloud_.cellIDs()[index][0]; + force=vector::zero; - if (cellI > -1) // particle Found + if (cellI > -1) // particle Found + { + if(twoDimensional_) { - if(twoDimensional_) - { - scalar r = particleCloud_.radius(index); - force = -g_.value()*forceSubM(0).rhoField()[cellI]*r*r*M_PI; // circle area - Warning << "Archimedes::setForce() : this functionality is not tested!" << endl; - }else{ - force = -g_.value()*forceSubM(0).rhoField()[cellI]*particleCloud_.particleVolume(index); - } - - //if(index >=0 && index <100) - //{ - // Pout << "cellI = " << cellI << endl; - // Pout << "index = " << index << endl; - // Pout << "forceSubM(0).rhoField()[cellI] = " << forceSubM(0).rhoField()[cellI] << endl; - // Pout << "particleCloud_.particleVolume(index) = " << particleCloud_.particleVolume(index) << endl; - // Pout << "force = " << force << endl; - //} - - //Set value fields and write the probe - if(probeIt_) - { - #include "setupProbeModelfields.H" - // Note: for other than ext one could use vValues.append(x) - // instead of setSize - vValues.setSize(vValues.size()+1, force); //first entry must the be the force - sValues.setSize(sValues.size()+1, particleCloud_.particleVolume(index)); - particleCloud_.probeM().writeProbe(index, sValues, vValues); - } + scalar r = particleCloud_.radius(index); + force = -g_.value()*forceSubM(0).rhoField()[cellI]*r*r*M_PI; // circle area + Warning << "Archimedes::setForce() : this functionality is not tested!" << endl; + }else{ + ds = particleCloud_.d(index); + scalar dParcel = ds; + forceSubM(0).scaleDia(dParcel); //caution: this fct will scale ds! + Vs = dParcel*dParcel*dParcel*piBySix; + force = -g_.value()*forceSubM(0).rhoField()[cellI]*Vs; + forceSubM(0).scaleForce(force,ds); } - // write particle based data to global array - forceSubM(0).partToArray(index,force,vector::zero); - //} + if(forceSubM(0).verbose() && index >=0 && index <2) + { + Pout << "cellI = " << cellI << endl; + Pout << "index = " << index << endl; + Pout << "forceSubM(0).rhoField()[cellI] = " << forceSubM(0).rhoField()[cellI] << endl; + Pout << "particleCloud_.particleVolume(index) = " << particleCloud_.particleVolume(index) << endl; + Pout << "force = " << force << endl; + } + + //Set value fields and write the probe + if(probeIt_) + { + #include "setupProbeModelfields.H" + // Note: for other than ext one could use vValues.append(x) + // instead of setSize + vValues.setSize(vValues.size()+1, force); //first entry must the be the force + sValues.setSize(sValues.size()+1, particleCloud_.particleVolume(index)); + particleCloud_.probeM().writeProbe(index, sValues, vValues); + } + } + + // write particle based data to global array + forceSubM(0).partToArray(index,force,vector::zero); } } diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/ArchimedesIB/ArchimedesIB.C b/src/lagrangian/cfdemParticle/subModels/forceModel/ArchimedesIB/ArchimedesIB.C index 0c85072..38155da 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/ArchimedesIB/ArchimedesIB.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/ArchimedesIB/ArchimedesIB.C @@ -73,7 +73,7 @@ ArchimedesIB::ArchimedesIB #endif { //Append the field names to be probed - particleCloud_.probeM().initialize(typeName, "archimedesIBF.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("archimedesIBForce"); //first entry must the be the force particleCloud_.probeM().writeHeader(); diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.C index 72ef958..0969bf3 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.C @@ -67,16 +67,14 @@ DiFeliceDrag::DiFeliceDrag voidfractionFieldName_(propsDict_.lookup("voidfractionFieldName")), voidfraction_(sm.mesh().lookupObject (voidfractionFieldName_)), UsFieldName_(propsDict_.lookup("granVelFieldName")), - UsField_(sm.mesh().lookupObject (UsFieldName_)), - scaleDia_(1.), - scaleDrag_(1.) + UsField_(sm.mesh().lookupObject (UsFieldName_)) { // suppress particle probe if (probeIt_ && propsDict_.found("suppressProbe")) probeIt_=!Switch(propsDict_.lookup("suppressProbe")); if(probeIt_) { - particleCloud_.probeM().initialize(typeName, "diFeliceDrag.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("dragForce"); //first entry must the be the force particleCloud_.probeM().vectorFields_.append("Urel"); //other are debug particleCloud_.probeM().scalarFields_.append("Rep"); //other are debug @@ -86,10 +84,6 @@ DiFeliceDrag::DiFeliceDrag } particleCloud_.checkCG(true); - if (propsDict_.found("scale")) - scaleDia_=scalar(readScalar(propsDict_.lookup("scale"))); - if (propsDict_.found("scaleDrag")) - scaleDrag_=scalar(readScalar(propsDict_.lookup("scaleDrag"))); // init force sub model setForceSubModels(propsDict_); @@ -117,13 +111,6 @@ DiFeliceDrag::~DiFeliceDrag() void DiFeliceDrag::setForce() const { - if (scaleDia_ > 1) - Info << typeName << " using scale = " << scaleDia_ << endl; - else if (particleCloud_.cg() > 1){ - scaleDia_=particleCloud_.cg(); - Info << typeName << " using scale from liggghts cg = " << scaleDia_ << endl; - } - const volScalarField& nufField = forceSubM(0).nuField(); const volScalarField& rhoField = forceSubM(0).rhoField(); @@ -141,6 +128,7 @@ void DiFeliceDrag::setForce() const vector Us(0,0,0); vector Ur(0,0,0); scalar ds(0); + scalar dParcel(0); scalar nuf(0); scalar rho(0); scalar magUr(0); @@ -165,6 +153,11 @@ void DiFeliceDrag::setForce() const position = particleCloud_.position(index); voidfraction = voidfractionInterpolator_().interpolate(position,cellI); Ufluid = UInterpolator_().interpolate(position,cellI); + + //Ensure interpolated void fraction to be meaningful + // Info << " --> voidfraction: " << voidfraction << endl; + if(voidfraction>1.00) voidfraction = 1.00; + if(voidfraction<0.30) voidfraction = 0.30; }else { voidfraction = voidfraction_[cellI]; @@ -172,12 +165,15 @@ void DiFeliceDrag::setForce() const } Us = particleCloud_.velocity(index); + ds = 2*particleCloud_.radius(index); + dParcel = ds; + forceSubM(0).scaleDia(ds); //caution: this fct will scale ds! //Update any scalar or vector quantity for (int iFSub=0;iFSub-1 && index <102) { Pout << "index = " << index << endl; - Pout << "scaleDrag_ = " << scaleDrag_ << endl; Pout << "Us = " << Us << endl; Pout << "Ur = " << Ur << endl; - Pout << "ds/scale = " << ds/scaleDia_ << endl; + Pout << "dprim = " << ds << endl; + Pout << "dParcel = " << dParcel << endl; Pout << "rho = " << rho << endl; Pout << "nuf = " << nuf << endl; Pout << "voidfraction = " << voidfraction << endl; Pout << "Rep = " << Rep << endl; Pout << "Cd = " << Cd << endl; + Pout << "dragCoefficient = " << dragCoefficient << endl; Pout << "drag (total) = " << drag << endl; } diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.H b/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.H index a043b28..e4706b5 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.H +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/DiFeliceDrag/DiFeliceDrag.H @@ -72,10 +72,6 @@ private: const volVectorField& UsField_; // the average particle velocity field (for implicit/expliti force split) - mutable scalar scaleDia_; - - mutable scalar scaleDrag_; - public: //- Runtime type information diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C index 93f3a15..d28af6c 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.C @@ -70,8 +70,6 @@ GidaspowDrag::GidaspowDrag phi_(readScalar(propsDict_.lookup("phi"))), UsFieldName_(propsDict_.lookup("granVelFieldName")), UsField_(sm.mesh().lookupObject (UsFieldName_)), - scaleDia_(1.), - scaleDrag_(1.), switchingVoidfraction_(0.8) { //Append the field names to be probed @@ -80,7 +78,7 @@ GidaspowDrag::GidaspowDrag probeIt_=!Switch(propsDict_.lookup("suppressProbe")); if(probeIt_) { - particleCloud_.probeM().initialize(typeName, "gidaspowDrag.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("dragForce"); //first entry must be the force particleCloud_.probeM().vectorFields_.append("Urel"); particleCloud_.probeM().scalarFields_.append("Rep"); @@ -103,10 +101,6 @@ GidaspowDrag::GidaspowDrag forceSubM(iFSub).readSwitches(); particleCloud_.checkCG(true); - if (propsDict_.found("scale")) - scaleDia_=scalar(readScalar(propsDict_.lookup("scale"))); - if (propsDict_.found("scaleDrag")) - scaleDrag_=scalar(readScalar(propsDict_.lookup("scaleDrag"))); if (propsDict_.found("switchingVoidfraction")) switchingVoidfraction_ = readScalar(propsDict_.lookup("switchingVoidfraction")); @@ -123,15 +117,16 @@ GidaspowDrag::~GidaspowDrag() void GidaspowDrag::setForce() const { - if (scaleDia_ > 1) - Info << typeName << " using scale = " << scaleDia_ << endl; - else if (particleCloud_.cg() > 1){ - scaleDia_=particleCloud_.cg(); - Info << typeName << " using scale from liggghts cg = " << scaleDia_ << endl; - } - const volScalarField& nufField = forceSubM(0).nuField(); const volScalarField& rhoField = forceSubM(0).rhoField(); + #if defined(version24Dev) + // there seems to have been a change in the return value of + // particleCloud_.turbulence().nu() used by forceSubM(0).nuField(); + const volScalarField& nufField = particleCloud_.turbulence().nu(); + #else + const volScalarField& nufField = forceSubM(0).nuField(); + #endif + //update force submodels to prepare for loop for (int iFSub=0;iFSub switchingVoidfraction_) //dilute { - Rep=ds/scaleDia_*voidfraction*magUr/(nuf+SMALL); - CdMagUrLag = (24.0*nuf/(ds/scaleDia_*voidfraction)) //1/magUr missing here, but compensated in expression for betaP! + Rep=ds*voidfraction*magUr/(nuf+SMALL); + CdMagUrLag = (24.0*nuf/(ds*voidfraction)) //1/magUr missing here, but compensated in expression for betaP! *(scalar(1.0)+0.15*Foam::pow(Rep, 0.687)); betaP = 0.75*( //this is betaP = beta / localPhiP! rho*voidfraction*CdMagUrLag / - (ds/scaleDia_*Foam::pow(voidfraction,2.65)) + (ds*Foam::pow(voidfraction,2.65)) ); } else //dense { betaP = (150 * localPhiP*nuf*rho) //this is betaP = beta / localPhiP! - / (voidfraction*ds/scaleDia_*phi_*ds/scaleDia_*phi_) + / (voidfraction*ds*phi_*ds*phi_) + (1.75 * magUr * rho) - /((ds/scaleDia_*phi_)); + /((ds*phi_)); } // calc particle's drag - dragCoefficient = Vs*betaP*scaleDrag_; + dragCoefficient = Vs*betaP; if (modelType_=="B") dragCoefficient /= voidfraction; + forceSubM(0).scaleCoeff(dragCoefficient,dParcel); drag = dragCoefficient * Ur; // explicitCorr @@ -256,8 +260,7 @@ void GidaspowDrag::setForce() const Pout << "index = " << index << endl; Pout << "Us = " << Us << endl; Pout << "Ur = " << Ur << endl; - Pout << "ds = " << ds << endl; - Pout << "ds/scale = " << ds/scaleDia_ << endl; + Pout << "dprim = " << ds << endl; Pout << "phi = " << phi_ << endl; Pout << "rho = " << rho << endl; Pout << "nuf = " << nuf << endl; diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.H b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.H index 61c7d19..475c158 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.H +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/GidaspowDrag/GidaspowDrag.H @@ -78,10 +78,6 @@ private: const volVectorField& UsField_; // the average particle velocity field - mutable scalar scaleDia_; - - mutable scalar scaleDrag_; - mutable scalar switchingVoidfraction_; //voidfraction above which dilute formulation will be used public: diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C index 41b9996..b831f2f 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.C @@ -67,16 +67,14 @@ KochHillDrag::KochHillDrag voidfractionFieldName_(propsDict_.lookup("voidfractionFieldName")), voidfraction_(sm.mesh().lookupObject (voidfractionFieldName_)), UsFieldName_(propsDict_.lookupOrDefault("granVelFieldName",word("Us"))), - UsField_(sm.mesh().lookupObject (UsFieldName_)), - scaleDia_(1.), - scaleDrag_(1.) + UsField_(sm.mesh().lookupObject (UsFieldName_)) { // suppress particle probe if (probeIt_ && propsDict_.found("suppressProbe")) probeIt_=!Switch(propsDict_.lookup("suppressProbe")); if(probeIt_) { - particleCloud_.probeM().initialize(typeName, "kochHillDrag.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("dragForce"); //first entry must the be the force particleCloud_.probeM().vectorFields_.append("Urel"); //other are debug particleCloud_.probeM().scalarFields_.append("Rep"); //other are debug @@ -101,11 +99,6 @@ KochHillDrag::KochHillDrag forceSubM(iFSub).readSwitches(); particleCloud_.checkCG(true); - - if (propsDict_.found("scale")) - scaleDia_=scalar(readScalar(propsDict_.lookup("scale"))); - if (propsDict_.found("scaleDrag")) - scaleDrag_=scalar(readScalar(propsDict_.lookup("scaleDrag"))); } @@ -119,13 +112,6 @@ KochHillDrag::~KochHillDrag() void KochHillDrag::setForce() const { - if (scaleDia_ > 1) - Info << typeName << " using scale = " << scaleDia_ << endl; - else if (particleCloud_.cg() > 1){ - scaleDia_=particleCloud_.cg(); - Info << typeName << " using scale from liggghts cg = " << scaleDia_ << endl; - } - const volScalarField& nufField = forceSubM(0).nuField(); const volScalarField& rhoField = forceSubM(0).rhoField(); @@ -146,6 +132,7 @@ void KochHillDrag::setForce() const vector Us(0,0,0); vector Ur(0,0,0); scalar ds(0); + scalar dParcel(0); scalar nuf(0); scalar rho(0); scalar magUr(0); @@ -193,6 +180,8 @@ void KochHillDrag::setForce() const } ds = particleCloud_.d(index); + dParcel = ds; + forceSubM(0).scaleDia(ds); //caution: this fct will scale ds! nuf = nufField[cellI]; rho = rhoField[cellI]; @@ -200,9 +189,9 @@ void KochHillDrag::setForce() const //Update any scalar or vector quantity for (int iFSub=0;iFSub 0) { // calc particle Re Nr - Rep = ds/scaleDia_*voidfraction*magUr/(nuf+SMALL); + Rep = ds*voidfraction*magUr/(nuf+SMALL); // calc model coefficient F0 scalar F0=0.; @@ -245,13 +234,15 @@ void KochHillDrag::setForce() const scalar F = voidfraction * (F0 + 0.5*F3*Rep); // calc drag model coefficient betaP - betaP = 18.*nuf*rho/(ds/scaleDia_*ds/scaleDia_)*voidfraction*F; + betaP = 18.*nuf*rho/(ds*ds)*voidfraction*F; // calc particle's drag - dragCoefficient = Vs*betaP*scaleDrag_; + dragCoefficient = Vs*betaP; if (modelType_=="B") dragCoefficient /= voidfraction; + forceSubM(0).scaleCoeff(dragCoefficient,dParcel); + if(forceSubM(0).switches()[7]) // implForceDEMaccumulated=true { //get drag from the particle itself @@ -277,8 +268,7 @@ void KochHillDrag::setForce() const Pout << "index = " << index << endl; Pout << "Us = " << Us << endl; Pout << "Ur = " << Ur << endl; - Pout << "ds = " << ds << endl; - Pout << "ds/scale = " << ds/scaleDia_ << endl; + Pout << "dprim = " << ds << endl; Pout << "rho = " << rho << endl; Pout << "nuf = " << nuf << endl; Pout << "voidfraction = " << voidfraction << endl; diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.H b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.H index 95d6712..70a3200 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.H +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/KochHillDrag/KochHillDrag.H @@ -74,11 +74,7 @@ private: word UsFieldName_; - const volVectorField& UsField_; - - mutable scalar scaleDia_; - - mutable scalar scaleDrag_; + const volVectorField& UsField_; public: diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/LaEuScalarTemp/LaEuScalarTemp.C b/src/lagrangian/cfdemParticle/subModels/forceModel/LaEuScalarTemp/LaEuScalarTemp.C index 03d6096..d8b054f 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/LaEuScalarTemp/LaEuScalarTemp.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/LaEuScalarTemp/LaEuScalarTemp.C @@ -58,11 +58,12 @@ addToRunTimeSelectionTable LaEuScalarTemp::LaEuScalarTemp ( const dictionary& dict, - cfdemCloud& sm + cfdemCloud& sm, + word name ) : forceModel(dict,sm), - propsDict_(dict.subDict(typeName + "Props")), + propsDict_(dict.subDict(name == "" ? typeName + "Props" : name + "Props")), tempFieldName_(propsDict_.lookup("tempFieldName")), T_(sm.mesh().lookupObject (tempFieldName_)), voidfractionFieldName_(propsDict_.lookup("voidfractionFieldName")), @@ -82,8 +83,7 @@ LaEuScalarTemp::LaEuScalarTemp partHeatFluid_(NULL), validPartHeatFluid_(false), lambda_(readScalar(propsDict_.lookup("lambda"))), - Cp_(readScalar(propsDict_.lookup("Cp"))), - scaleDia_(1.) + Cp_(readScalar(propsDict_.lookup("Cp"))) { allocateMyArrays(); @@ -123,12 +123,8 @@ LaEuScalarTemp::LaEuScalarTemp // forceSubM(iFSub).readSwitches(); particleCloud_.checkCG(true); - - if (propsDict_.found("scale")) - scaleDia_=scalar(readScalar(propsDict_.lookup("scale"))); } - // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // LaEuScalarTemp::~LaEuScalarTemp() @@ -167,18 +163,11 @@ void LaEuScalarTemp::setForce() const void LaEuScalarTemp::manipulateScalarField(volScalarField& EuField) const { - if (scaleDia_ > 1) - Info << typeName << " using scale = " << scaleDia_ << endl; - else if (particleCloud_.cg() > 1){ - scaleDia_=particleCloud_.cg(); - Info << typeName << " using scale from liggghts cg = " << scaleDia_ << endl; - } - // realloc the arrays allocateMyArrays(); // reset Scalar field - EuField.internalField() = 0.0; + EuField == dimensionedScalar("zero", EuField.dimensions(), 0.); // get DEM data particleCloud_.dataExchangeM().getData(partTempName_,"scalar-atom",partTemp_); @@ -193,15 +182,17 @@ void LaEuScalarTemp::manipulateScalarField(volScalarField& EuField) const scalar Tfluid(0); label cellI=0; vector Us(0,0,0); - scalar dscaled(0); + scalar ds(0); scalar nuf(0); + scalar rho(0); scalar magUr(0); scalar As(0); scalar Rep(0); scalar Pr(0); scalar Nup(0); scalar n = 3.5; // model parameter - scalar sDth(scaleDia_*scaleDia_*scaleDia_); + scalar scaleDia = forceSubM(0).scaleDia(); + scalar sDth(scaleDia*scaleDia*scaleDia); #include "resetVoidfractionInterpolator.H" #include "resetUInterpolator.H" @@ -229,12 +220,28 @@ void LaEuScalarTemp::manipulateScalarField(volScalarField& EuField) const // calc relative velocity Us = particleCloud_.velocity(index); - magUr = mag(Ufluid-Us); - dscaled = 2*particleCloud_.radius(index)/scaleDia_; - As = dscaled*dscaled*M_PI*sDth; + ds = 2*particleCloud_.radius(index); + forceSubM(0).scaleDia(ds); //caution: this fct will scale ds! nuf = nufField[cellI]; - Rep = dscaled*magUr/nuf; - Pr = max(SMALL,Cp_*nuf*rhoField[cellI]/lambda_); + rho = rhoField[cellI]; + + //Update any scalar or vector quantity + for (int iFSub=0;iFSub (velFieldName_)), - useSecondOrderTerms_(false), - scaleDia_(1.), - numParticlesParcel_(1) + useSecondOrderTerms_(false) { if (propsDict_.found("useSecondOrderTerms")) useSecondOrderTerms_=true; @@ -87,11 +85,9 @@ MeiLift::MeiLift forceSubM(iFSub).readSwitches(); particleCloud_.checkCG(false); - if (propsDict_.found("scale")) - scaleDia_=scalar(readScalar(propsDict_.lookup("scale"))); //Append the field names to be probed - particleCloud_.probeM().initialize(typeName, "meiLift.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("liftForce"); //first entry must the be the force particleCloud_.probeM().vectorFields_.append("Urel"); //other are debug particleCloud_.probeM().vectorFields_.append("vorticity"); //other are debug @@ -113,14 +109,6 @@ MeiLift::~MeiLift() void MeiLift::setForce() const { - if (scaleDia_ > 1) - Info << typeName << " using scale = " << scaleDia_ << endl; - else if (particleCloud_.cg() > 1){ - scaleDia_=particleCloud_.cg(); - Info << typeName << " using scale from liggghts cg = " << scaleDia_ << endl; - } - numParticlesParcel_ = scaleDia_*scaleDia_*scaleDia_; - const volScalarField& nufField = forceSubM(0).nuField(); const volScalarField& rhoField = forceSubM(0).rhoField(); @@ -131,6 +119,7 @@ void MeiLift::setForce() const scalar magUr(0); scalar magVorticity(0); scalar ds(0); + scalar dParcel(0); scalar nuf(0); scalar rho(0); scalar voidfraction(1); @@ -139,7 +128,6 @@ void MeiLift::setForce() const scalar Cl(0); scalar Cl_star(0); scalar J_star(0); - scalar dPrim(0); scalar Omega_eq(0); scalar alphaStar(0); scalar epsilon(0); @@ -183,15 +171,27 @@ void MeiLift::setForce() const if (magUr > 0 && magVorticity > 0) { ds = 2*particleCloud_.radius(index); - dPrim = ds/scaleDia_; + dParcel = ds; + forceSubM(0).scaleDia(ds); //caution: this fct will scale ds! nuf = nufField[cellI]; rho = rhoField[cellI]; - // calc dimensionless properties - Rep = dPrim*magUr/nuf; - Rew = magVorticity*dPrim*dPrim/nuf; + //Update any scalar or vector quantity + for (int iFSub=0;iFSub (voidfractionFieldName_)), UsFieldName_(propsDict_.lookup("granVelFieldName")), - UsField_(sm.mesh().lookupObject (UsFieldName_)), - scaleDia_(1.), - scaleDrag_(1.) + UsField_(sm.mesh().lookupObject (UsFieldName_)) { // suppress particle probe if (probeIt_ && propsDict_.found("suppressProbe")) probeIt_=!Switch(propsDict_.lookup("suppressProbe")); if(probeIt_) { - particleCloud_.probeM().initialize(typeName, "schillerNaumannDrag.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("dragForce"); //first entry must the be the force particleCloud_.probeM().vectorFields_.append("Urel"); //other are debug particleCloud_.probeM().scalarFields_.append("Rep"); //other are debug @@ -99,10 +97,6 @@ SchillerNaumannDrag::SchillerNaumannDrag forceSubM(iFSub).readSwitches(); particleCloud_.checkCG(false); - if (propsDict_.found("scale")) - scaleDia_=scalar(readScalar(propsDict_.lookup("scale"))); - if (propsDict_.found("scaleDrag")) - scaleDrag_=scalar(readScalar(propsDict_.lookup("scaleDrag"))); } @@ -116,13 +110,6 @@ SchillerNaumannDrag::~SchillerNaumannDrag() void SchillerNaumannDrag::setForce() const { - if (scaleDia_ > 1) - Info << typeName << " using scale = " << scaleDia_ << endl; - else if (particleCloud_.cg() > 1){ - scaleDia_=particleCloud_.cg(); - Info << typeName << " using scale from liggghts cg = " << scaleDia_ << endl; - } - const volScalarField& nufField = forceSubM(0).nuField(); const volScalarField& rhoField = forceSubM(0).rhoField(); @@ -140,6 +127,7 @@ void SchillerNaumannDrag::setForce() const vector Us(0,0,0); vector Ur(0,0,0); scalar ds(0); + scalar dParcel(0); scalar nuf(0); scalar rho(0); scalar magUr(0); @@ -171,12 +159,17 @@ void SchillerNaumannDrag::setForce() const } Us = particleCloud_.velocity(index); + ds = 2*particleCloud_.radius(index); + dParcel = ds; + forceSubM(0).scaleDia(ds); //caution: this fct will scale ds! + nuf = nufField[cellI]; + rho = rhoField[cellI]; //Update any scalar or vector quantity for (int iFSub=0;iFSub 0) { // calc particle Re Nr - Rep = ds/scaleDia_*magUr/nuf; + Rep = ds*magUr/nuf; // calc fluid drag Coeff Cd = max(0.44,24.0/Rep*(1.0+0.15*pow(Rep,0.687))); @@ -204,14 +194,13 @@ void SchillerNaumannDrag::setForce() const dragCoefficient = 0.125*Cd*rho *M_PI *ds*ds - *scaleDia_ - *magUr - *scaleDrag_; + *magUr; if (modelType_=="B") dragCoefficient /= voidfraction; // calc particle's drag + forceSubM(0).scaleCoeff(dragCoefficient,dParcel); drag = dragCoefficient*Ur; // explicitCorr @@ -227,10 +216,9 @@ void SchillerNaumannDrag::setForce() const if(forceSubM(0).verbose() && index >-1 && index <102) { Pout << "index = " << index << endl; - Pout << "scaleDrag_ = " << scaleDrag_ << endl; Pout << "Us = " << Us << endl; Pout << "Ur = " << Ur << endl; - Pout << "ds/scale = " << ds/scaleDia_ << endl; + Pout << "dprim = " << ds << endl; Pout << "rho = " << rho << endl; Pout << "nuf = " << nuf << endl; Pout << "voidfraction = " << voidfraction << endl; diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/SchillerNaumannDrag/SchillerNaumannDrag.H b/src/lagrangian/cfdemParticle/subModels/forceModel/SchillerNaumannDrag/SchillerNaumannDrag.H index c9da6f8..bbc9923 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/SchillerNaumannDrag/SchillerNaumannDrag.H +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/SchillerNaumannDrag/SchillerNaumannDrag.H @@ -72,10 +72,6 @@ private: const volVectorField& UsField_; - mutable scalar scaleDia_; - - mutable scalar scaleDrag_; - public: //- Runtime type information diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/ShirgaonkarIB/ShirgaonkarIB.C b/src/lagrangian/cfdemParticle/subModels/forceModel/ShirgaonkarIB/ShirgaonkarIB.C index 983970c..c672697 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/ShirgaonkarIB/ShirgaonkarIB.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/ShirgaonkarIB/ShirgaonkarIB.C @@ -71,7 +71,7 @@ ShirgaonkarIB::ShirgaonkarIB p_(sm.mesh().lookupObject (pressureFieldName_)) { //Append the field names to be probed - particleCloud_.probeM().initialize(typeName, "shirgaonkarIB.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("dragForce"); //first entry must the be the force particleCloud_.probeM().writeHeader(); diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/checkCouplingInterval/checkCouplingInterval.C b/src/lagrangian/cfdemParticle/subModels/forceModel/checkCouplingInterval/checkCouplingInterval.C index 92cff1d..12f3898 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/checkCouplingInterval/checkCouplingInterval.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/checkCouplingInterval/checkCouplingInterval.C @@ -34,8 +34,6 @@ Description #include "checkCouplingInterval.H" #include "addToRunTimeSelectionTable.H" -//#include "mpi.h" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam @@ -64,31 +62,40 @@ checkCouplingInterval::checkCouplingInterval : forceModel(dict,sm), propsDict_(dict.subDict(typeName + "Props")), - U_(sm.mesh().lookupObject ("U")), + warnOnly_(propsDict_.lookupOrDefault("warnOnly", true)), + velocityFieldName_(propsDict_.lookupOrDefault("velocityFieldName", "U")), + U_(sm.mesh().lookupObject (velocityFieldName_)), rhoP_(readScalar(propsDict_.lookup("rhoP"))), - maxCFL_(50) + maxCFL_(propsDict_.lookupOrDefault("maxCFL", 50.)), + maxAccNr_(propsDict_.lookupOrDefault("maxAccNr", 0.1)), + UmaxExpected_(readScalar(propsDict_.lookup("UmaxExpected"))), + minAllowedVcellByVparcel_(propsDict_.lookupOrDefault("minAllowedVcellByVparcel", 3.)), + nextRun_(0), + timeInterval_(propsDict_.lookupOrDefault("timeInterval", sm.dataExchangeM().couplingTime())), + couplingStepInterval_(floor(timeInterval_/sm.dataExchangeM().couplingTime())) { - if (propsDict_.found("maxCFL")) - maxCFL_=readScalar(propsDict_.lookup("maxCFL")); - // init force sub model setForceSubModels(propsDict_); // read those switches defined above, if provided in dict forceSubM(0).readSwitches(); - if (probeIt_ && propsDict_.found("suppressProbe")) + /*if (probeIt_ && propsDict_.found("suppressProbe")) probeIt_=!Switch(propsDict_.lookup("suppressProbe")); if(probeIt_) { - particleCloud_.probeM().initialize(typeName, "checkCouplingInterval.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); + particleCloud_.probeM().scalarFields_.append("maxCFL"); + particleCloud_.probeM().scalarFields_.append("maxCFLexpected"); particleCloud_.probeM().scalarFields_.append("minTauP"); particleCloud_.probeM().scalarFields_.append("minVcellByVparcel"); particleCloud_.probeM().scalarFields_.append("minStokes"); particleCloud_.probeM().scalarFields_.append("maxStokes"); particleCloud_.probeM().writeHeader(); - } + }*/ + Info << "running checkCouplingInterval every " << couplingStepInterval_ << " coupling steps," + << "which is every " << timeInterval_ << " seconds." << endl; } @@ -99,29 +106,77 @@ checkCouplingInterval::~checkCouplingInterval() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +inline bool checkCouplingInterval::doCheck() const +{ + label couplingStep = particleCloud_.dataExchangeM().couplingStep(); + if(couplingStep >= nextRun_) + { + nextRun_ += couplingStepInterval_; + return true; + } + return false; +} void checkCouplingInterval::setForce() const { #include "setupProbeModel.H" - if(particleCloud_.mesh().time().write()) + if(doCheck()) { + Info << "========================================================================" << endl; + Info << "Check Coupling Interval" << endl; + Info << "========================================================================" << endl; + //============================================================================================== // calc the maximum CFL number scalar CFL = 0.0; + scalar CFLexpected = 0.0; + scalar ts = particleCloud_.mesh().time().deltaT().value(); if (particleCloud_.mesh().nInternalFaces()) { surfaceScalarField phi(particleCloud_.mesh().lookupObject ("phi")); scalarField sumPhi(fvc::surfaceSum(mag(phi))().internalField()); - CFL = 0.5*gMax(sumPhi/particleCloud_.mesh().V().field())*particleCloud_.mesh().time().deltaT().value(); - } - if (CFL > maxCFL_) - FatalError << "CFL exceeds maximum allowed value:" << maxCFL_ - << ", and reached the value:" << CFL - << "\nThe simulation is stopped, check your settings." << abort(FatalError); + CFL = 0.5*gMax(sumPhi/particleCloud_.mesh().V().field())*ts; + scalar minVol = gMin(particleCloud_.mesh().V()); + scalar minLen = pow(minVol,1./3.); + CFLexpected = UmaxExpected_ * ts / minLen; + } + + if (CFL > maxCFL_) + { + if(warnOnly_) + Warning << "CFL exceeds maximum allowed value:" << maxCFL_ + << ", and reached the value:" << CFL + << "\ncheck your settings!" << endl; + else + FatalError << "CFL exceeds maximum allowed value:" << maxCFL_ + << ", and reached the value:" << CFL + << "\nThe simulation is stopped, check your settings." << abort(FatalError); + } + else if (CFLexpected > maxCFL_) + if(warnOnly_) + Warning << "Expected CFL (based on UmaxExpected) exceeds maximum allowed value:" << maxCFL_ + << ", and reached the value:" << CFLexpected + << "\ncheck your settings." << endl; + else + FatalError << "Expected CFL (based on UmaxExpected) exceeds maximum allowed value:" << maxCFL_ + << ", and reached the value:" << CFLexpected + << "\nThe simulation is stopped, check your settings." << abort(FatalError); + else + { + Info << "max. CFL = " << CFL << endl; + Info << "max. expected CFL (based on UmaxExpected) = " << CFLexpected << endl; + } + //============================================================================================== + + + //============================================================================================== + // particle relaxation time tau, + // Stokes nr, + // cell/particle volume ratio const volScalarField& nufField = forceSubM(0).nuField(); const volScalarField& rhoField = forceSubM(0).rhoField(); @@ -189,30 +244,56 @@ void checkCouplingInterval::setForce() const scalar maxVparcelAll = maxDparcelAll*maxDparcelAll*maxDparcelAll*3.1416/6.0; scalar minVcellByVparcel = minVcellAll/maxVparcelAll; + if(accNr > maxAccNr_) + { + if(warnOnly_) + Warning << "The max. acceleration nr (coupling time / particle relaxation time) exceeds the maximum allowed value " << maxAccNr_ + << ", and reached the value:" << accNr + << "\ncheck your settings." << endl; + else + FatalError << "The max. acceleration nr (coupling time / particle relaxation time) exceeds the maximum allowed value " << maxAccNr_ + << ", and reached the value:" << accNr + << "\nThe simulation is stopped, check your settings." << abort(FatalError); + } + else + { + Info << "min. occurring particle relaxation time [s]: " << minTauPAll << endl; + Info << "coupling interval [s]: " << DEMtime << endl; + Info << "max. occurring acceleration nr: " << accNr << endl; + } - Info << "min. occurring particle relaxation time [s]: " << minTauPAll << endl; - Info << "coupling interval [s]: " << DEMtime << endl; - Info << "max. occurring acceleration nr: " << accNr << endl; - if(accNr > 0.1) Warning << "you should use a smaller coupling interval!" << endl; + if(minVcellByVparcel < minAllowedVcellByVparcel_) + { + if(warnOnly_) + Warning << "The min. ratio of Vcell / Vparcel is below the minimum allowed value " << minAllowedVcellByVparcel_ + << ", and reached the value:" << minVcellByVparcel + << "\ncheck your settings." << endl; + else + FatalError << "The min. ratio of Vcell / Vparcel is below the minimum allowed value " << minAllowedVcellByVparcel_ + << ", and reached the value:" << minVcellByVparcel + << "\nThe simulation is stopped, check your settings." << abort(FatalError); + } + else + Info << "min. ratio of Vcell / Vparcel is " << minVcellByVparcel << endl; - Info << "min. occurring cell/parcel volume ratio: " << minVcellByVparcel << endl; - if(minVcellByVparcel < 3) Warning << "you should use bigger cells!" << endl; + Info << "min./max. Stokes Nr: " << minStAll << " / " << maxStAll << endl; - Info << "min. Stokes Nr: " << minStAll << endl; - Info << "max. Stokes Nr: " << maxStAll << endl; + Info << "========================================================================" << endl; - //Set value fields and write the probe + /*//Set value fields and write the probe if(probeIt_) { #include "setupProbeModelfields.H" // Note: for other than ext one could use vValues.append(x) // instead of setSize + sValues.setSize(sValues.size()+1, CFL); + sValues.setSize(sValues.size()+1, CFLexpected); sValues.setSize(sValues.size()+1, minTauPAll); sValues.setSize(sValues.size()+1, minVcellByVparcel); sValues.setSize(sValues.size()+1, minStAll); sValues.setSize(sValues.size()+1, maxStAll); particleCloud_.probeM().writeProbe(0, sValues, vValues); - } + }*/ } } diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/checkCouplingInterval/checkCouplingInterval.H b/src/lagrangian/cfdemParticle/subModels/forceModel/checkCouplingInterval/checkCouplingInterval.H index 2ec2e7b..23655d5 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/checkCouplingInterval/checkCouplingInterval.H +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/checkCouplingInterval/checkCouplingInterval.H @@ -62,12 +62,30 @@ class checkCouplingInterval private: dictionary propsDict_; + Switch warnOnly_; + + word velocityFieldName_; + const volVectorField& U_; const scalar rhoP_; scalar maxCFL_; + scalar maxAccNr_; + + scalar UmaxExpected_; + + scalar minAllowedVcellByVparcel_; + + mutable int nextRun_; + + scalar timeInterval_; + + int couplingStepInterval_; + + inline bool doCheck() const; + public: //- Runtime type information diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.C b/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.C index 6c13e86..148546b 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/forceModel/forceModel.C @@ -225,6 +225,10 @@ void forceModel::setForceSubModels(dictionary& dict) { forceSubModels_ = wordList(dict.lookup("forceSubModels")); } + else if (dict.found("forceSubModel")) + { + FatalError << "Did you mean the forceSubModels keyword? " << abort(FatalError); + } else { forceSubModels_.setSize(1, "ImEx"); diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C b/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C index 2115a36..2f15549 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.C @@ -118,7 +118,9 @@ forceSubModel::forceSubModel densityFieldName_(dict_.lookupOrDefault("densityFieldName","rho")), rho_(sm.mesh().lookupObject (densityFieldName_)), verboseDiskIntervall_(1), - verboseDiskCounter_(0) + verboseDiskCounter_(0), + scaleDia_(dict_.lookupOrDefault("scale",1.)), + scaleDrag_(dict_.lookupOrDefault("scaleDrag",1.)) { // init standard switch list int iCounter(0); @@ -143,6 +145,15 @@ forceSubModel::forceSubModel // sanity check of what is defined above if(switchesNameList_.size() != nrDefaultSwitches_) FatalError<< "please check the nr of switches defined in forceSubModel class." << abort(FatalError); + + // info about scaleDia being used + if (scaleDia_ != 1) + Info << "using scale = " << scaleDia_ << endl; + else if (particleCloud_.cg() != 1) + { + scaleDia_=particleCloud_.cg(); + Info << "using scale from liggghts cg = " << scaleDia_ << endl; + } } @@ -282,31 +293,56 @@ void forceSubModel::explicitCorrScalar(scalar& sourceKImplicit, // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -void forceSubModel::update( scalar& deltaT, - label particleI, - label cellI, - scalar& scalToUpdate1, - scalar& scalToUpdate2, - bool verbose +void forceSubModel::update( label particleI, + label cellI, + scalar& d, + scalar& scalToUpdate1, + scalar& scalToUpdate2, + bool verbose ) const { //no action } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -void forceSubModel::update( scalar& deltaT, - label particleI, - label cellI, - vector& vecToUpdate1, - vector& vecToUpdate2, - scalar& scalToUpdate1, - scalar& scalToUpdate2, - bool verbose +void forceSubModel::update( label particleI, + label cellI, + scalar& d, + vector& vecToUpdate1, + vector& vecToUpdate2, + scalar& scalToUpdate1, + scalar& scalToUpdate2, + bool verbose ) const { //no action } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +void forceSubModel::scaleDia(scalar& d) const +{ + d /= scaleDia_; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +void forceSubModel::scaleForce(vector& force, scalar& d) const +{ + force *= scaleDia_*scaleDia_*scaleDia_*scaleDrag_; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +void forceSubModel::scaleForce(vector& force) const +{ + Warning << "Function not defined!" << endl; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +void forceSubModel::scaleCoeff(scalar& coeff,scalar& d) const +{ + coeff *= scaleDia_*scaleDia_*scaleDia_*scaleDrag_; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +void forceSubModel::scaleCoeff(scalar& coeff) const +{ + Warning << "Function not defined!" << endl; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // void forceSubModel::explicitLimit ( vector& dragImplicit, diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.H b/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.H index 5ecd622..ce47eb7 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.H +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/forceSubModels/forceSubModel/forceSubModel.H @@ -88,6 +88,10 @@ protected: mutable int verboseDiskCounter_; + scalar scaleDia_; + + scalar scaleDrag_; + public: //- Runtime type information @@ -156,14 +160,24 @@ public: virtual void explicitCorrScalar(scalar&, scalar&, scalar&, scalar&, const scalar&, scalar&, bool, label index=100) const; - virtual void update(scalar& deltaT, label particleI, label cellI, + virtual void update(label particleI, label cellI, scalar& d, scalar& scalToUpdate1, scalar& scalToUpdate2, bool verbose) const; - virtual void update(scalar& deltaT, label particleI, label cellI, + virtual void update(label particleI, label cellI, scalar& d, vector& vecToUpdate1, vector& vecToUpdate2, scalar& scalToUpdate1, scalar& scalToUpdate2, bool verbose) const; + virtual void scaleDia(scalar& d) const; + + virtual void scaleForce(vector& force) const; + + virtual void scaleForce(vector& force, scalar& d) const; + + virtual void scaleCoeff(scalar& coeff) const; + + virtual void scaleCoeff(scalar& coeff, scalar& d) const; + virtual void explicitLimit(vector&, vector&, scalar&) const; virtual void verboseToDiskWrite(Field& writeValues) const {};//implement writing to disk @@ -217,6 +231,10 @@ public: const volVectorField& divTauField(const volVectorField&) const; const volVectorField& IBDragPerV(const volVectorField&,const volScalarField&) const; + + const scalar& scaleDia() const {return scaleDia_;}; + + const scalar& scaleDrag() const {return scaleDia_;}; }; diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/gradPForce/gradPForce.C b/src/lagrangian/cfdemParticle/subModels/forceModel/gradPForce/gradPForce.C index 0bdd42e..b077aa9 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/gradPForce/gradPForce.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/gradPForce/gradPForce.C @@ -121,7 +121,7 @@ gradPForce::gradPForce probeIt_=!Switch(propsDict_.lookup("suppressProbe")); if(probeIt_) { - particleCloud_.probeM().initialize(typeName, "gradP.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("gradPForce"); //first entry must the be the force particleCloud_.probeM().scalarFields_.append("Vs"); particleCloud_.probeM().scalarFields_.append("rho"); diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.C b/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.C index af0726c..fa697b1 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.C @@ -61,27 +61,20 @@ noDrag::noDrag ) : forceModel(dict,sm), - propsDict_(dict), - verbose_(false), - noDEMForce_(false), - keepCFDForce_(false) + propsDict_(dict.subDict(typeName + "Props")), + noDEMForce_(propsDict_.lookupOrDefault("noDEMForce",false)), + keepCFDForce_(propsDict_.lookupOrDefault("keepCFDForce",false)) { - if(dict.found(word(typeName + "Props"))) - propsDict_=dictionary(dict.subDict(typeName + "Props")); - // init force sub model setForceSubModels(propsDict_); // define switches which can be read from dict forceSubM(0).setSwitchesList(0,true); // activate treatExplicit + forceSubM(0).setSwitchesList(3,true); // activate search for verbose switch // read those switches defined above, if provided in dict forceSubM(0).readSwitches(); - if (propsDict_.found("noDEMForce")) noDEMForce_=true; - - if (propsDict_.found("keepCFDForce")) keepCFDForce_=true; - coupleForce_=false; } @@ -96,7 +89,13 @@ noDrag::~noDrag() void noDrag::setForce() const { - Info << "noDrag::setForce" << endl; + if(forceSubM(0).verbose()) + { + Info << "noDrag::setForce:" << endl; + Info << "noDEMForce=" << noDEMForce_ << endl; + Info << "keepCFDForce=" << keepCFDForce_ << endl; + } + label cellI=0; bool treatExplicit=forceSubM(0).switches()[0]; for(int index = 0;index < particleCloud_.numberOfParticles(); ++index) diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.H b/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.H index 8928267..65e3c65 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.H +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/noDrag/noDrag.H @@ -57,11 +57,9 @@ class noDrag private: dictionary propsDict_; - bool verbose_; + Switch noDEMForce_; - bool noDEMForce_; - - bool keepCFDForce_; + Switch keepCFDForce_; public: diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.C b/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.C index 991f0c0..17735be 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/particleCellVolume/particleCellVolume.C @@ -141,7 +141,7 @@ void particleCellVolume::setForce() const { if(forceSubM(0).verbose()) Info << "particleCellVolume.C - setForce()" << endl; - scalarField_.internalField()=0.; + scalarField_ == dimensionedScalar("zero", scalarField_.dimensions(), 0.); // get reference to actual field const volScalarField& field = mesh_.lookupObject(scalarFieldName_); @@ -168,8 +168,8 @@ void particleCellVolume::setForce() const scalarField2_[cellI] = 0.; } } - scalarField_.internalField() = gSum(scalarField_); - scalarField2_.internalField() = gSum(scalarField2_); + scalarField_ == dimensionedScalar("zero", scalarField_.dimensions(), gSum(scalarField_)); + scalarField2_ == dimensionedScalar("zero", scalarField_.dimensions(), gSum(scalarField2_)); reduce(minFieldVal, minOp()); reduce(maxFieldVal, maxOp()); diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/scalarGeneralExchange/scalarGeneralExchange.C b/src/lagrangian/cfdemParticle/subModels/forceModel/scalarGeneralExchange/scalarGeneralExchange.C index f68ca9d..6a1bd43 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/scalarGeneralExchange/scalarGeneralExchange.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/scalarGeneralExchange/scalarGeneralExchange.C @@ -112,17 +112,26 @@ scalarGeneralExchange::scalarGeneralExchange probeIt_=!Switch(propsDict_.lookup("suppressProbe")); if(probeIt_) { - particleCloud_.probeM().initialize(typeName, typeName+".logDat"); + forAll(eulerianFieldNames_, fieldIt) + { + particleCloud_.probeM().initialize(typeName, typeName + "_" + eulerianFieldNames_[fieldIt] + ".logDat"); particleCloud_.probeM().vectorFields_.append("Urel"); //first entry must the be the vector to probe - particleCloud_.probeM().scalarFields_.append("Nu"); //other are debug - particleCloud_.probeM().scalarFields_.append("Rep"); //other are debug + if(eulerianFieldNames_[fieldIt]==tempFieldName_) //this is the temperature + { + particleCloud_.probeM().scalarFields_.append("Rep"); + particleCloud_.probeM().scalarFields_.append("Nu"); + } + else + particleCloud_.probeM().scalarFields_.append("Sh"); particleCloud_.probeM().scalarFields_.append("exchangeRate"); particleCloud_.probeM().writeHeader(); + } } for (int iFSub=0;iFSub=0 && particleSpeciesValue_[speciesID]<0.0) //skip if species is not active return; @@ -261,6 +278,8 @@ void scalarGeneralExchange::manipulateScalarField(volScalarField& explicitEulerS partHeatTransCoeffName_, partHeatTransCoeffPositionInRegister_, partHeatFluidName_, partHeatFluidPositionInRegister_ ); + if(probeIt_) + particleCloud_.probeM().setOutputFile(typeName+"_"+tempFieldName_+".logDat"); } else { @@ -272,8 +291,11 @@ void scalarGeneralExchange::manipulateScalarField(volScalarField& explicitEulerS partSpeciesTransCoeffNames_[speciesID], partSpeciesTransCoeffPositionInRegister_[speciesID], partSpeciesFluidNames_[speciesID], partSpeciesFluidPositionInRegister_[speciesID] ); + if(probeIt_) + particleCloud_.probeM().setOutputFile(typeName + "_" + fieldName + ".logDat"); } + //============================== // get references const volScalarField& voidfraction_(particleCloud_.mesh().lookupObject (voidfractionFieldName_)); // ref to voidfraction field @@ -318,7 +340,6 @@ void scalarGeneralExchange::manipulateScalarField(volScalarField& explicitEulerS #include "resetVoidfractionInterpolator.H" #include "resetUInterpolator.H" #include "resetFluidScalarFieldInterpolator.H" - #include "setupProbeModel.H" for(int index = 0;index < particleCloud_.numberOfParticles(); ++index) { @@ -406,8 +427,9 @@ void scalarGeneralExchange::manipulateScalarField(volScalarField& explicitEulerS // Note: for other than ext one could use vValues.append(x) // instead of setSize vValues.setSize(vValues.size()+1, Ur); + if(speciesID<0) //this is the temperature, then also report Rep + sValues.setSize(sValues.size()+1, Rep); sValues.setSize(sValues.size()+1, (this->*Nusselt)(Rep,Pr,voidfraction)); - sValues.setSize(sValues.size()+1, Rep); sValues.setSize(sValues.size()+1, tmpPartFlux); particleCloud_.probeM().writeProbe(index, sValues, vValues); } @@ -432,9 +454,11 @@ void scalarGeneralExchange::manipulateScalarField(volScalarField& explicitEulerS NULL ); - // scale with the cell volume to get (total) volume-specific source - explicitEulerSource.internalField() /= -explicitEulerSource.mesh().V(); - implicitEulerSource.internalField() /= -implicitEulerSource.mesh().V(); + // scale with the cell volume to get (total) volume-specific source + particleCloud_.makeSpecific(explicitEulerSource); + explicitEulerSource*=-1; + particleCloud_.makeSpecific(implicitEulerSource); + implicitEulerSource*=-1; // limit explicit source term scalar explicitEulerSourceInCell; @@ -452,6 +476,7 @@ void scalarGeneralExchange::manipulateScalarField(volScalarField& explicitEulerS //Reporting of integral quantities //TODO: write to different file for speciesId>0 Field writeValues; bool writeDiskNow=forceSubM(0).verboseToDisk(); //must call 'verboseToDisk()' only once since this function is incremeting a counter! + writeValues.clear(); if( forceSubM(0).verbose() || writeDiskNow) { scalar exchangeRate = gSum(-(explicitEulerSource @@ -734,6 +759,15 @@ void scalarGeneralExchange::setPointersToExternalArrays( word nameFlux, word nameFluid, int positionFluid ) const { + if(particleCloud_.particleDatFieldsUserCFDEMToExt.size() != + particleCloud_.namesFieldsUserCFDEMToExt.size() + ) + FatalError << "\n\n****CATASTROPHIC ERROR MOST LIKELY CAUSED BY USER!!! \n" + << "particleCloud_.particleDatFieldsUserCFDEMToExt.size() is NOT EQUAL to particleCloud_.namesFieldsUserCFDEMToExt.size()." + << "This may be caused by an incorrect time step, or coupling interval, resulting in the fact that an array inside particleCloud_ was not allocated. " + << "Please check your time step and coupling interval settings, such that fluid-particle coupling is done EVERY fluid time step. \n\n" + << abort(FatalError); + if(validPartFlux_) //EXPLICIT coupling strategy for Lagrangian part { partDatFlux_ = particleCloud_.particleDatFieldsUserCFDEMToExt[positionFlux]; diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/virtualMassForce/virtualMassForce.C b/src/lagrangian/cfdemParticle/subModels/forceModel/virtualMassForce/virtualMassForce.C index 53feed5..702d4ad 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/virtualMassForce/virtualMassForce.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/virtualMassForce/virtualMassForce.C @@ -73,13 +73,6 @@ virtualMassForce::virtualMassForce splitUrelCalculation_(false), Cadd_(0.5) { - - if (particleCloud_.dataExchangeM().maxNumberOfParticles() > 0 && !splitUrelCalculation_) - { - // get memory for 2d array - particleCloud_.dataExchangeM().allocateArray(UrelOld_,NOTONCPU,3); - } - // init force sub model setForceSubModels(propsDict_); // define switches which can be read from dict @@ -110,7 +103,7 @@ virtualMassForce::virtualMassForce particleCloud_.checkCG(true); //Append the field names to be probed - particleCloud_.probeM().initialize(typeName, "virtualMass.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("virtualMassForce"); //first entry must the be the force particleCloud_.probeM().vectorFields_.append("Urel"); particleCloud_.probeM().vectorFields_.append("UrelOld"); @@ -118,6 +111,17 @@ virtualMassForce::virtualMassForce particleCloud_.probeM().scalarFields_.append("Vs"); particleCloud_.probeM().scalarFields_.append("rho"); particleCloud_.probeM().writeHeader(); + + if(!splitUrelCalculation_) + FatalError << "Virtual mass model: you have set 'splitUrelCalculation' to false, but this is not implemented. use true!" << abort(FatalError); + + if (particleCloud_.dataExchangeM().maxNumberOfParticles() > 0 && !splitUrelCalculation_) + { + // get memory for 2d array + particleCloud_.dataExchangeM().allocateArray(UrelOld_,NOTONCPU,3); + Info << "**Virtual mass model: allocating UrelOld " << endl; + } + } @@ -253,7 +257,10 @@ void Foam::virtualMassForce::reAllocArrays() const if (!splitUrelCalculation_) { if(particleCloud_.numberOfParticlesChanged()) + { particleCloud_.dataExchangeM().allocateArray(UrelOld_,NOTONCPU,3); + Info << "**Virtual mass model: allocating UrelOld " << endl; + } // get DEM data particleCloud_.dataExchangeM().getData("UrelOld", "vector-atom", UrelOld_); diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/viscForce/viscForce.C b/src/lagrangian/cfdemParticle/subModels/forceModel/viscForce/viscForce.C index b716e81..d58aef5 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/viscForce/viscForce.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/viscForce/viscForce.C @@ -118,7 +118,7 @@ viscForce::viscForce if(probeIt_) { - particleCloud_.probeM().initialize(typeName, "visc.logDat"); + particleCloud_.probeM().initialize(typeName, typeName+".logDat"); particleCloud_.probeM().vectorFields_.append("viscForce"); //first entry must the be the force particleCloud_.probeM().scalarFields_.append("Vs"); particleCloud_.probeM().writeHeader(); diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/volWeightedAverage/volWeightedAverage.C b/src/lagrangian/cfdemParticle/subModels/forceModel/volWeightedAverage/volWeightedAverage.C index 27bf26f..19e4db0 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/volWeightedAverage/volWeightedAverage.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/volWeightedAverage/volWeightedAverage.C @@ -65,9 +65,9 @@ volWeightedAverage::volWeightedAverage propsDict_(dict.subDict(typeName + "Props")), mesh_(particleCloud_.mesh()), startTime_(propsDict_.lookupOrDefault("startTime",0.)), - volumeFractionName_(propsDict_.lookupOrDefault("volumeFractionName","voidfraction")), scalarFieldNames_(propsDict_.lookup("scalarFieldNames")), vectorFieldNames_(propsDict_.lookup("vectorFieldNames")), + volumeFractionName_(propsDict_.lookupOrDefault("volumeFractionName","voidfraction")), volumeFraction_(particleCloud_.mesh().lookupObject(volumeFractionName_)), upperThreshold_(readScalar(propsDict_.lookup("upperThreshold"))), lowerThreshold_(readScalar(propsDict_.lookup("lowerThreshold"))), @@ -191,7 +191,7 @@ void volWeightedAverage::setForce() const MPI_Allreduce(&totVol, &totVol_all, 3, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); integralValue = gSum(scalarFields_[i]); volWeightedAverage = integralValue / (totVol_all+SMALL); - scalarFields_[i].internalField() = volWeightedAverage; + scalarFields_[i] == dimensionedScalar("value", scalarFields_[i].dimensions(), volWeightedAverage); if(verbose_) { @@ -242,7 +242,7 @@ void volWeightedAverage::setForce() const MPI_Allreduce(&totVol, &totVol_all, 3, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); volWeightedAverage = gSum(vectorFields_[i]) / (totVol_all+SMALL); - vectorFields_[i].internalField() = volWeightedAverage; + vectorFields_[i] == volWeightedAverage; if(verbose_) { diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.C b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.C index c13c59e..e3448e6 100644 --- a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.C +++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.C @@ -68,8 +68,7 @@ execute::execute commandList_(0), command_(""), scalarList_(0), - labelList_(0), - timeStamp_(false) + labelList_(0) { // define dictionary char h[80]; diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.H b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.H index 1b73e65..78b3755 100644 --- a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.H +++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/execute/execute.H @@ -71,8 +71,6 @@ private: labelList labelList_; - bool timeStamp_; - public: //- Runtime type information diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.C b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.C index 0267e8b..ad7e306 100644 --- a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.C +++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.C @@ -73,7 +73,8 @@ liggghtsCommandModel::liggghtsCommandModel couplingStepInterval_(0), exactTiming_(false), commandLines_(1), - verbose_(false) + verbose_(false), + timeStamp_(false) {} @@ -255,7 +256,10 @@ bool liggghtsCommandModel::checkPath(fileName path) } -void liggghtsCommandModel::parseCommandList(wordList& commandList,labelList& labelList,scalarList& scalarList,word& command, dictionary& propsDict, bool timeStamp) +void liggghtsCommandModel::parseCommandList(wordList& commandList,labelList& labelList, + scalarList& scalarList, + word& command, dictionary& propsDict, + bool& timeStamp) { bool addBlank = true; // std no blanks after each word fileName add; diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.H b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.H index 57144f5..17a560a 100644 --- a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.H +++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/liggghtsCommandModel/liggghtsCommandModel.H @@ -93,6 +93,8 @@ protected: bool verbose_; + bool timeStamp_; + public: //- Runtime type information @@ -174,7 +176,7 @@ public: label commandLines(){return commandLines_;}; - void parseCommandList(wordList&, labelList&, scalarList&, word&, dictionary&, bool=false); + void parseCommandList(wordList&, labelList&, scalarList&, word&, dictionary&, bool& timeStamp); }; diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/setDEMGravity/setDEMGravity.C b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/setDEMGravity/setDEMGravity.C new file mode 100644 index 0000000..f2e8b63 --- /dev/null +++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/setDEMGravity/setDEMGravity.C @@ -0,0 +1,156 @@ +/*---------------------------------------------------------------------------*\ + 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 "setDEMGravity.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +defineTypeNameAndDebug(setDEMGravity, 0); + +addToRunTimeSelectionTable +( + liggghtsCommandModel, + setDEMGravity, + dictionary +); + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +// Construct from components +setDEMGravity::setDEMGravity +( + const dictionary& dict, + cfdemCloud& sm, + int i +) +: + liggghtsCommandModel(dict,sm,i), + propsDict_(dict), + nrModel_(i), + insertionNr_(0.), + command_(0), + filePathList_(100), + scalarList_(40), + labelList_(1), + #if defined(version21) || defined(version16ext) + g_(sm.mesh().lookupObject ("g")), + #elif defined(version15) + g_(dimensionedVector(sm.mesh().lookupObject("environmentalProperties").lookup("g")).value()), + #endif + unfix_(false) +{ + // define dictionary + char h[80]; + sprintf(h,"%d",nrModel_); + word myName_=word(typeName + "Props" + h); + propsDict_=dictionary(dict.subDict(myName_)); + + // read unfix flag + unfix_=Switch(propsDict_.lookupOrDefault("unfix",false)); + + if (propsDict_.found("exactTiming")) + exactTiming_=true; + Info << "exactTiming==" << exactTiming_ << endl; + + if (propsDict_.found("verbose")) verbose_=true; + + scalar gNorm=mag(g_.value()); + vector g=g_.value()/mag(g_.value()); + + + //======================================= + // create command + + if(unfix_) + { + filePathList_[0] = "unfix"; + filePathList_[1] = "gravity"; + } + else + { + filePathList_[0] = "fix"; + filePathList_[1] = "gravity"; + filePathList_[2] = "all"; + filePathList_[3] = "gravity"; + filePathList_[4] = "number"; + filePathList_[5] = "vector"; + filePathList_[6] = "number"; + filePathList_[7] = "number"; + filePathList_[8] = "number"; + scalarList_[0]=gNorm; + scalarList_[1]=g[0]; + scalarList_[2]=g[1]; + scalarList_[3]=g[2]; + } + + command_=wordList(1); + + parseCommandList(filePathList_, labelList_, scalarList_, command_[0], propsDict_, timeStamp_); + Info << "liggghtsCommand " << command_[0] << endl; + + checkTimeSettings(propsDict_); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +setDEMGravity::~setDEMGravity() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +const char* setDEMGravity::command(int commandLine) +{ +Info << "commandLine=" << commandLine << endl; + strCommand_=string(command_[commandLine]); + + return strCommand_.c_str(); +} + +bool setDEMGravity::runCommand(int couplingStep) +{ + checkTimeSettings(propsDict_); + return runThisCommand(couplingStep); +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/setDEMGravity/setDEMGravity.H b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/setDEMGravity/setDEMGravity.H new file mode 100644 index 0000000..8caaeec --- /dev/null +++ b/src/lagrangian/cfdemParticle/subModels/liggghtsCommandModel/setDEMGravity/setDEMGravity.H @@ -0,0 +1,121 @@ +/*---------------------------------------------------------------------------*\ + 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 + setDEMGravity + +SourceFiles + setDEMGravity.C + +\*---------------------------------------------------------------------------*/ + +#ifndef setDEMGravity_H +#define setDEMGravity_H + +#include "liggghtsCommandModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class setDEMGravity Declaration +\*---------------------------------------------------------------------------*/ + +class setDEMGravity +: + public liggghtsCommandModel +{ +private: + + dictionary propsDict_; + + int nrModel_; + + int insertionNr_; + + wordList command_; + + wordList filePathList_; + + scalarList scalarList_; + + labelList labelList_; + + #ifdef version21 + const uniformDimensionedVectorField& g_; // ref to gravity + #elif defined(version16ext) || defined(version15) + const dimensionedVector& g_; // ref to gravity + #endif + + Switch unfix_; + +public: + + //- Runtime type information + TypeName("setDEMGravity"); + + + // Constructors + + //- Construct from components + setDEMGravity + ( + const dictionary& dict, + cfdemCloud& sm, + int i + ); + + // Destructor + + ~setDEMGravity(); + + + // Member Functions + + word name(){return typeName;}; + + const char* command(int); + + bool runCommand(int); + +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.C b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.C index 2dc56f4..260d9ef 100644 --- a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.C +++ b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.C @@ -56,13 +56,13 @@ addToRunTimeSelectionTable engineSearch::engineSearch ( const dictionary& dict, - cfdemCloud& sm + cfdemCloud& sm, + word name ) : locateModel(dict,sm), - propsDict_(dict.subDict(typeName + "Props")), - //faceDecomp_(propsDict_.lookup("faceDecomp")), - treeSearch_(propsDict_.lookup("treeSearch")), + propsDict_(dict.subDict(name == "" ? typeName + "Props" : name + "Props")), + treeSearch_(propsDict_.lookupOrDefault("treeSearch", true)), #if defined(version30) searchEngine_(particleCloud_.mesh(),polyMesh::FACE_PLANES) #elif defined(version21) @@ -70,7 +70,6 @@ engineSearch::engineSearch #elif defined(version16ext) searchEngine_(particleCloud_.mesh(),false) //(particleCloud_.mesh(),faceDecomp_) #endif - //searchEngine_(particleCloud_.mesh(),faceDecomp_) // only 2.0.x {} @@ -98,10 +97,7 @@ label engineSearch::findCell // create pos vector for(int i=0;i<3;i++) position[i] = positions[index][i]; - // find cell using tree search if switched on cellIDs[index][0] = searchEngine_.findCell(position,-1,treeSearch_); - //label cellIdOld = cellIDs[index][0]; - //cellIDs[index][0] = searchEngine_.findCell(position,cellIdOld,treeSearch_); } else cellIDs[index][0] = -1; } diff --git a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.H b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.H index b52f2bc..be7b493 100644 --- a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.H +++ b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearch/engineSearch.H @@ -57,17 +57,13 @@ class engineSearch public locateModel { -private: +protected: dictionary propsDict_; - //Switch faceDecomp_; - Switch treeSearch_; -protected: - - meshSearch searchEngine_; + mutable meshSearch searchEngine_; public: @@ -81,7 +77,8 @@ public: engineSearch ( const dictionary& dict, - cfdemCloud& sm + cfdemCloud& sm, + word name = word("") ); // Destructor @@ -90,7 +87,7 @@ public: // Member Functions - label findCell + virtual label findCell ( double** const& mask, double**& positions, diff --git a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.C b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.C index d06c8d3..580c1ce 100644 --- a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.C +++ b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.C @@ -64,16 +64,10 @@ engineSearchIB::engineSearchIB cfdemCloud& sm ) : - engineSearch(dict.subDict(typeName + "Props"),sm), - propsDict_(dict.subDict(typeName + "Props")), + engineSearch(dict,sm,typeName), zSplit_(readLabel(propsDict_.lookup("zSplit"))), - xySplit_(readLabel(propsDict_.lookup("xySplit"))), - checkPeriodicCells_(false) -{ - - if(propsDict_.found("checkPeriodicCells")) checkPeriodicCells_=true; - -} + xySplit_(readLabel(propsDict_.lookup("xySplit"))) +{} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // @@ -93,13 +87,12 @@ label engineSearchIB::findCell int size ) const { - + bool checkPeriodicCells(particleCloud_.checkPeriodicCells()); int numprocs, me; MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Comm_rank(MPI_COMM_WORLD, &me); const boundBox& globalBb = particleCloud_.mesh().bounds(); - vector position; for(int index = 0;index < size; ++index) { @@ -122,35 +115,14 @@ label engineSearchIB::findCell vector pos = position; label altStartPos = -1; label numberOfPoints = (zSplit_-1)*xySplit_ + 2; // 1 point at bottom, 1 point at top - label thetaLevel = 0; - scalar theta, phi; - const scalar thetaSize = 180./zSplit_, phiSize = 360./xySplit_; - const scalar deg2rad = M_PI/180.; for(int countPoints = 0; countPoints < numberOfPoints; ++countPoints) { - pos = position; - if(countPoints == 0) - { - pos[2] += radius; - } - else if(countPoints == 1) - { - pos[2] -= radius; - } - else - { - thetaLevel = (countPoints - 2) / xySplit_; - theta = deg2rad * thetaSize * (thetaLevel+1); - phi = deg2rad * phiSize * (countPoints - 2 - thetaLevel*xySplit_); - pos[0] += radius * sin(theta) * cos(phi); - pos[1] += radius * sin(theta) * sin(phi); - pos[2] += radius * cos(theta); - } + pos = generateSatellitePoint(index, countPoints); - altStartPos=findSingleCell(pos,oldID); //particleCloud_.mesh().findCell(pos);// + altStartPos=findSingleCell(pos,oldID); //particleCloud_.mesh().findCell(pos);// //check for periodic domains - if(checkPeriodicCells_) + if(checkPeriodicCells) { for(int iDir=0;iDir<3;iDir++) { @@ -163,7 +135,7 @@ label engineSearchIB::findCell pos[iDir]+=globalBb.max()[iDir]-globalBb.min()[iDir]; } } - altStartPos=findSingleCell(pos,oldID); //particleCloud_.mesh().findCell(pos);// + altStartPos=findSingleCell(pos,oldID); //particleCloud_.mesh().findCell(pos);// } if(altStartPos >= 0) // found position, we're done @@ -179,6 +151,29 @@ label engineSearchIB::findCell return 1; } +vector engineSearchIB::generateSatellitePoint(int index, int countPoints) const +{ + vector position = particleCloud_.position(index); + scalar theta, phi; + const scalar thetaSize = 180./zSplit_, phiSize = 360./xySplit_; + const scalar deg2rad = M_PI/180.; + vector pos = position; + double radius=particleCloud_.radius(index); + if(countPoints == 0) { + pos[2] += radius; + } else if(countPoints == 1) { + pos[2] -= radius; + } else { + scalar thetaLevel = (countPoints - 2) / xySplit_; + theta = deg2rad * thetaSize * (thetaLevel+1); + phi = deg2rad * phiSize * (countPoints - 2 - thetaLevel*xySplit_); + pos[0] += radius * sin(theta) * cos(phi); + pos[1] += radius * sin(theta) * sin(phi); + pos[2] += radius * cos(theta); + } + return pos; +} + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.H b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.H index dcd24ed..17a5c39 100644 --- a/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.H +++ b/src/lagrangian/cfdemParticle/subModels/locateModel/engineSearchIB/engineSearchIB.H @@ -56,13 +56,9 @@ class engineSearchIB { protected: - dictionary propsDict_; - const label zSplit_; const label xySplit_; - - bool checkPeriodicCells_; public: @@ -93,6 +89,12 @@ public: int size ) const; + virtual vector generateSatellitePoint + ( + int index, + int countPoints + ) const; + }; diff --git a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/explicitCouple/explicitCouple.C b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/explicitCouple/explicitCouple.C index b0168b0..0aa4767 100644 --- a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/explicitCouple/explicitCouple.C +++ b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/explicitCouple/explicitCouple.C @@ -128,30 +128,21 @@ void Foam::explicitCouple::applyDebugSettings(bool debug) const } } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +dimensionedVector explicitCouple::returnIntegralSourceField() const +{ + //Sum is over cells of PROCESOR ONLY!! + dimensionedVector intSource = dimensionedVector("0", dimensionSet(1, 1, -2, 0, 0), vector::zero); + forAll(sourceField_,cellI) + intSource.value() += sourceField_.internalField()[cellI] * particleCloud_.mesh().V()[cellI]; + + return intSource; // in Newton +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tmp explicitCouple::expMomSource() const { - tmp tsource - ( - new volVectorField - ( - IOobject - ( - "f_explicitCouple", - particleCloud_.mesh().time().timeName(), - particleCloud_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - particleCloud_.mesh(), - dimensionedVector - ( - "zero", - dimensionSet(1, -2, -2, 0, 0), // N/m3 - vector::zero - ) - ) - ); - + //This INCLUDES the source field that is set separately! scalar tsf = particleCloud_.dataExchangeM().timeStepFraction(); if(1-tsf < 1e-4) //tsf==1 @@ -167,23 +158,32 @@ tmp explicitCouple::expMomSource() const if (mag(fNext_[cellI][i]) > fLimit_[i]) fNext_[cellI][i] = fLimit_[i]; } } - tsource() = fPrev_; + return tmp + ( + new volVectorField("f_explicitCouple", fPrev_) + ); }else { - tsource() = (1 - tsf) * fPrev_ + tsf * fNext_; + return tmp + ( + new volVectorField("f_explicitCouple", (1 - tsf) * fPrev_ + tsf * fNext_) + ); } - return tsource; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Foam::explicitCouple::resetMomSourceField() const { - fPrev_.internalField() = fNext_.internalField(); - fNext_.internalField() = vector::zero; + fPrev_ == fNext_; + fNext_ == dimensionedVector("zero", fNext_.dimensions(), vector::zero); } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - inline vector Foam::explicitCouple::arrayToField(label cellI) const { - return particleCloud_.forceM(0).expParticleForces()[cellI] / particleCloud_.mesh().V()[cellI] + sourceField_[cellI]; + //This INCLUDES the source field that is set separately! + return particleCloud_.forceM(0).expParticleForces()[cellI] / particleCloud_.mesh().V()[cellI] + + sourceField_[cellI]; } void Foam::explicitCouple::setSourceField(volVectorField & field) const diff --git a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/explicitCouple/explicitCouple.H b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/explicitCouple/explicitCouple.H index 3a88ef0..04dfc00 100644 --- a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/explicitCouple/explicitCouple.H +++ b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/explicitCouple/explicitCouple.H @@ -97,6 +97,8 @@ public: void resetMomSourceField() const; void setSourceField(volVectorField &) const; + + dimensionedVector returnIntegralSourceField() const; }; diff --git a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/implicitCouple/implicitCouple.C b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/implicitCouple/implicitCouple.C index 6da34fa..c6729f8 100644 --- a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/implicitCouple/implicitCouple.C +++ b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/implicitCouple/implicitCouple.C @@ -131,28 +131,6 @@ void Foam::implicitCouple::applyDebugSettings(bool debug) const tmp implicitCouple::impMomSource() const { - tmp tsource - ( - new volScalarField - ( - IOobject - ( - "Ksl_implicitCouple", - particleCloud_.mesh().time().timeName(), - particleCloud_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - particleCloud_.mesh(), - dimensionedScalar - ( - "zero", - dimensionSet(1, -3, -1, 0, 0), // N/m3 / m/s - 0 - ) - ) - ); - scalar tsf = particleCloud_.dataExchangeM().timeStepFraction(); // calc Ksl @@ -175,19 +153,23 @@ tmp implicitCouple::impMomSource() const // limiter if (KslNext_[cellI] > KslLimit_) KslNext_[cellI] = KslLimit_; } - tsource() = KslPrev_; + return tmp + ( + new volScalarField("Ksl_implicitCouple", KslPrev_) + ); }else { - tsource() = (1 - tsf) * KslPrev_ + tsf * KslNext_; + return tmp + ( + new volScalarField("Ksl_implicitCouple", (1 - tsf) * KslPrev_ + tsf * KslNext_) + ); } - - return tsource; } void Foam::implicitCouple::resetMomSourceField() const { - KslPrev_.internalField() = KslNext_.internalField(); - KslNext_.internalField() = 0; + KslPrev_ == KslNext_; + KslNext_ == dimensionedScalar("zero", KslNext_.dimensions(), 0.0); } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/momCoupleModel/momCoupleModel.C b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/momCoupleModel/momCoupleModel.C index 9478883..d13db22 100644 --- a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/momCoupleModel/momCoupleModel.C +++ b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/momCoupleModel/momCoupleModel.C @@ -55,6 +55,7 @@ tmp momCoupleModel::impMomSource() const return tsource; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tmp momCoupleModel::expMomSource() const { FatalError<<"the solver calls for expMomSource()\n" @@ -64,11 +65,22 @@ tmp momCoupleModel::expMomSource() const return tsource; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void momCoupleModel::setSourceField(volVectorField & a) const { //do nothing; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +dimensionedVector momCoupleModel::returnIntegralSourceField() const +{ + FatalError<<"the solver calls for returnIntegralSourceField()\n" + <<", please set 'momCoupleModel' to type 'explicitCouple' to access this data.\n" + << abort(FatalError); + + return dimensionedVector("0", dimensionSet(1, 1, -2, 0, 0), vector::zero); // Newton +} + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // Construct from components diff --git a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/momCoupleModel/momCoupleModel.H b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/momCoupleModel/momCoupleModel.H index fc05165..c0d7858 100644 --- a/src/lagrangian/cfdemParticle/subModels/momCoupleModel/momCoupleModel/momCoupleModel.H +++ b/src/lagrangian/cfdemParticle/subModels/momCoupleModel/momCoupleModel/momCoupleModel.H @@ -121,6 +121,8 @@ public: virtual void resetMomSourceField() const=0; virtual void setSourceField(volVectorField &) const; + + virtual dimensionedVector returnIntegralSourceField() const; }; diff --git a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C index b8045f8..b1c455c 100644 --- a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C +++ b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.C @@ -110,21 +110,28 @@ particleProbe::~particleProbe() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -void particleProbe::setOutputFile() const +void particleProbe::setOutputFile(const word& logFileName) const { - if(itemCounter_>0) + bool foundFile = false; + if(itemCounter_>0 && verboseToFile_ ) { - //set the current item ID - if(currItemId_== itemCounter_) - currItemId_=1; - else - currItemId_+=1; - sPtr = sPtrList_[currItemId_-1]; //set the pointer to the output file from list - probeIndex_=currItemId_-1; + forAll(itemsToSample_, iterator) + { + if(itemsToSample_[iterator] == logFileName) + { + probeIndex_ = iterator ; + foundFile = true; + } + } + + if(!foundFile) + FatalError << "particleProbe::setOutputFile for logFileName " << logFileName << " : "<< "File not found" << abort(FatalError); + currItemId_ = probeIndex_ + 1; + setCounter(); //set counter, will auto-check if first item } } - +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * void particleProbe::initialize(const word& modelName,const word& logFileName) const { //update the list of items to be sampled @@ -157,9 +164,10 @@ void particleProbe::initialize(const word& modelName,const word& logFileName) co MPI_Comm_rank(MPI_COMM_WORLD,&rank_); //open a separate file for each processor - char* filecurrent_ = new char[strlen(fileNameOut_) + 4]; //reserve 4 chars for processor name + char* filecurrent_ = new char[strlen(fileNameOut_) + 5]; //reserve 4 chars for processor name sprintf(filecurrent_,"%s%s%d", fileNameOut_, ".", rank_); - Info << "particleProbe for model " << name_ << " will write to file " << filecurrent_ << endl; + Info << "particleProbe for model " << name_ << " will write to file " << filecurrent_ + << ". This is item " << itemCounter_ << " to probe." << endl; //generate the file streams fileName probeSubDir = dirName_; @@ -196,8 +204,9 @@ void particleProbe::initialize(const word& modelName,const word& logFileName) co Info << "particleProbe::initialize done!" << endl; return; - } + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * void particleProbe::writeHeader() const { @@ -230,6 +239,7 @@ void particleProbe::writeHeader() const } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * void particleProbe::clearProbes() const { @@ -256,6 +266,7 @@ void particleProbe::clearProbes() const vProbes_.clear(); } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * void particleProbe::updateProbes(int index, Field sValues, Field vValues) const { //check if the particle already has an allocated vector. If not, create it. It should be only called at the beginning. @@ -299,16 +310,18 @@ void particleProbe::updateProbes(int index, Field sValues, Field } } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * void particleProbe::writeProbe(int index, Field sValues, Field vValues) const { updateProbes(index,sValues,vValues); //update probe vectors if(printNow_ && checkIDForPrint(index) && verboseToFile_) { + sPtr = sPtrList_[probeIndex_]; //set the pointer to the output file from list //index and time - *sPtr << setprecision(IOstream::defaultPrecision()+7) ; - *sPtr << index << tab + *sPtr << setprecision(IOstream::defaultPrecision()+7) ; + *sPtr << index << tab << particleCloud_.mesh().time().value() << " " ; *sPtr << "|| "; @@ -341,13 +354,13 @@ void particleProbe::writeProbe(int index, Field sValues, Field v << endl; } else *sPtr << endl; - } return; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * bool particleProbe::checkIDForPrint(int index) const { @@ -363,6 +376,7 @@ bool particleProbe::checkIDForPrint(int index) const return sampleThisId_; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * void particleProbe::setCounter() const { @@ -370,7 +384,7 @@ void particleProbe::setCounter() const //Do only if called by first item in the list of items! if(currItemId_==1) { - printCounter_++; + printCounter_++; if(printOnlyAt_==-1) { if( printCounter_ >= printEvery_ ) @@ -393,7 +407,6 @@ void particleProbe::setCounter() const return; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.H b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.H index 92f5748..6004b5a 100644 --- a/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.H +++ b/src/lagrangian/cfdemParticle/subModels/probeModel/particleProbe/particleProbe.H @@ -136,7 +136,7 @@ public: // Member Functions void updateProbes(int index, Field sValues, Field vValues) const; void initialize(const word& modelName, const word& logFileName) const; - void setOutputFile() const; + void setOutputFile(const word& logFileName) const; void writeHeader() const; void writeProbe(int index, Field sValues, Field vValues) const; bool checkIDForPrint(int) const; diff --git a/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H b/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H index 087fe89..cb4f623 100644 --- a/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H +++ b/src/lagrangian/cfdemParticle/subModels/probeModel/probeModel/probeModel.H @@ -134,7 +134,7 @@ public: // Member Functions virtual void initialize(const word& modelName, const word& logFileName) const {}; - virtual void setOutputFile() const {}; + virtual void setOutputFile(const word& logFileName) const {}; virtual void writeHeader() const {}; virtual void writeProbe(int index, Field sValues, Field vValues) const {}; virtual bool checkIDForPrint(int) const {return false;}; diff --git a/src/lagrangian/cfdemParticle/subModels/smoothingModel/constDiffSmoothing/constDiffSmoothing.C b/src/lagrangian/cfdemParticle/subModels/smoothingModel/constDiffSmoothing/constDiffSmoothing.C index 695e515..f657bfd 100644 --- a/src/lagrangian/cfdemParticle/subModels/smoothingModel/constDiffSmoothing/constDiffSmoothing.C +++ b/src/lagrangian/cfdemParticle/subModels/smoothingModel/constDiffSmoothing/constDiffSmoothing.C @@ -93,14 +93,14 @@ bool constDiffSmoothing::doSmoothing() const return true; } - +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // void Foam::constDiffSmoothing::smoothen(volScalarField& fieldSrc) const { // Create scalar smooth field from virgin scalar smooth field template volScalarField sSmoothField = sSmoothField_; sSmoothField.dimensions().reset(fieldSrc.dimensions()); - sSmoothField.internalField()=fieldSrc.internalField(); + sSmoothField ==fieldSrc; sSmoothField.correctBoundaryConditions(); sSmoothField.oldTime().dimensions().reset(fieldSrc.dimensions()); sSmoothField.oldTime()=fieldSrc; @@ -141,7 +141,7 @@ void Foam::constDiffSmoothing::smoothen(volVectorField& fieldSrc) const volVectorField vSmoothField = vSmoothField_; vSmoothField.dimensions().reset(fieldSrc.dimensions()); - vSmoothField.internalField()=fieldSrc.internalField(); + vSmoothField=fieldSrc; vSmoothField.correctBoundaryConditions(); vSmoothField.oldTime().dimensions().reset(fieldSrc.dimensions()); vSmoothField.oldTime()=fieldSrc; @@ -176,7 +176,7 @@ void Foam::constDiffSmoothing::smoothenReferenceField(volVectorField& fieldSrc) volVectorField vSmoothField = vSmoothField_; vSmoothField.dimensions().reset(fieldSrc.dimensions()); - vSmoothField.internalField()=fieldSrc.internalField(); + vSmoothField=fieldSrc; vSmoothField.correctBoundaryConditions(); vSmoothField.oldTime().dimensions().reset(fieldSrc.dimensions()); vSmoothField.oldTime()=fieldSrc; @@ -188,21 +188,18 @@ void Foam::constDiffSmoothing::smoothenReferenceField(volVectorField& fieldSrc) DT_.value() = smoothingLengthReferenceField_.value() * smoothingLengthReferenceField_.value() / deltaT.value(); - tmp NLarge + volScalarField NLarge ( - new volScalarField + IOobject ( - IOobject - ( - "xxx", - particleCloud_.mesh().time().timeName(), - particleCloud_.mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "NLarge", + particleCloud_.mesh().time().timeName(), particleCloud_.mesh(), - 0.0 - ) + IOobject::NO_READ, + IOobject::NO_WRITE + ), + particleCloud_.mesh(), + 0.0 ); @@ -210,7 +207,7 @@ void Foam::constDiffSmoothing::smoothenReferenceField(volVectorField& fieldSrc) forAll(vSmoothField,cellI) { if ( mag(vSmoothField.oldTime().internalField()[cellI]) > 0.0f) // have a vector in the OLD vSmoothField, so keep it! - NLarge()[cellI] = sourceStrength; + NLarge[cellI] = sourceStrength; } // do the smoothing @@ -219,8 +216,8 @@ void Foam::constDiffSmoothing::smoothenReferenceField(volVectorField& fieldSrc) fvm::ddt(vSmoothField) -fvm::laplacian( DT_, vSmoothField) == - NLarge() / deltaT * vSmoothField.oldTime() //add source to keep cell values constant - -fvm::Sp( NLarge() / deltaT, vSmoothField) //add sink to keep cell values constant + NLarge / deltaT * vSmoothField.oldTime() //add source to keep cell values constant + -fvm::Sp( NLarge / deltaT, vSmoothField) //add sink to keep cell values constant ); // get data from working vSmoothField diff --git a/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.C b/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.C index 01a73ab..ef8e2d2 100644 --- a/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.C +++ b/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.C @@ -76,6 +76,12 @@ void Foam::noSmoothing::smoothen(volScalarField& field) const void Foam::noSmoothing::smoothen(volVectorField& field) const {} +void Foam::noSmoothing::smoothenAbsolutField(volScalarField& field) const +{} + +void Foam::noSmoothing::smoothenAbsolutField(volVectorField& field) const +{} + void Foam::noSmoothing::smoothenReferenceField(volVectorField& field) const {} diff --git a/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.H b/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.H index d26ad39..559029f 100644 --- a/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.H +++ b/src/lagrangian/cfdemParticle/subModels/smoothingModel/noSmoothing/noSmoothing.H @@ -80,6 +80,10 @@ public: void smoothen(volVectorField&) const; + void smoothenAbsolutField(volScalarField&) const; + + void smoothenAbsolutField(volVectorField&) const; + void smoothenReferenceField(volVectorField&) const; }; diff --git a/src/lagrangian/cfdemParticle/subModels/smoothingModel/smoothingModel/smoothingModel.C b/src/lagrangian/cfdemParticle/subModels/smoothingModel/smoothingModel/smoothingModel.C index b906a16..d20b639 100644 --- a/src/lagrangian/cfdemParticle/subModels/smoothingModel/smoothingModel/smoothingModel.C +++ b/src/lagrangian/cfdemParticle/subModels/smoothingModel/smoothingModel/smoothingModel.C @@ -129,6 +129,34 @@ void smoothingModel::dSmoothing() const //dSmooth *= 0.0; } + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +void smoothingModel::smoothenAbsolutField(volScalarField& scalField) const +{ + + //1 - First make the field volume-specific + particleCloud_.makeSpecific(scalField); + + //2 - smoothen now the volume-specific field (the volume integral of this field will be conserved!) + smoothen(scalField); + + //3 - Finally, make field absolute again + particleCloud_.scaleWithVcell(scalField); +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +void smoothingModel::smoothenAbsolutField(volVectorField& vecField) const +{ + + //1 - First make the field volume-specific + particleCloud_.makeSpecific(vecField); + + //2 - smoothen now the volume-specific field (the volume integral of this field will be conserved!) + smoothen(vecField); + + //3 - Finally, make field absolute again + particleCloud_.scaleWithVcell(vecField); +} } // End namespace Foam // ************************************************************************* // diff --git a/src/lagrangian/cfdemParticle/subModels/smoothingModel/smoothingModel/smoothingModel.H b/src/lagrangian/cfdemParticle/subModels/smoothingModel/smoothingModel/smoothingModel.H index d0c56a6..330855e 100644 --- a/src/lagrangian/cfdemParticle/subModels/smoothingModel/smoothingModel/smoothingModel.H +++ b/src/lagrangian/cfdemParticle/subModels/smoothingModel/smoothingModel/smoothingModel.H @@ -116,6 +116,10 @@ public: virtual void smoothen(volVectorField&) const=0; + virtual void smoothenAbsolutField(volScalarField&) const; //for smoothing absolute fields (NOT per m³) + + virtual void smoothenAbsolutField(volVectorField&) const; //for smoothing absolute fields (NOT per m³) + virtual void smoothenReferenceField(volVectorField&) const=0; }; diff --git a/src/lagrangian/cfdemParticle/subModels/voidFractionModel/GaussVoidFraction/GaussVoidFraction.C b/src/lagrangian/cfdemParticle/subModels/voidFractionModel/GaussVoidFraction/GaussVoidFraction.C index 40b8f7a..020f6f0 100644 --- a/src/lagrangian/cfdemParticle/subModels/voidFractionModel/GaussVoidFraction/GaussVoidFraction.C +++ b/src/lagrangian/cfdemParticle/subModels/voidFractionModel/GaussVoidFraction/GaussVoidFraction.C @@ -91,7 +91,7 @@ void GaussVoidFraction::setvoidFraction(double** const& mask,double**& voidfract { reAllocArrays(); - voidfractionNext_.internalField()=1; + voidfractionNext_ == dimensionedScalar("one", voidfractionNext_.dimensions(), 1.); scalar radius(-1); scalar volume(0); diff --git a/src/lagrangian/cfdemParticle/subModels/voidFractionModel/IBVoidFraction/IBVoidFraction.C b/src/lagrangian/cfdemParticle/subModels/voidFractionModel/IBVoidFraction/IBVoidFraction.C index b3e16e5..083275e 100755 --- a/src/lagrangian/cfdemParticle/subModels/voidFractionModel/IBVoidFraction/IBVoidFraction.C +++ b/src/lagrangian/cfdemParticle/subModels/voidFractionModel/IBVoidFraction/IBVoidFraction.C @@ -68,8 +68,7 @@ IBVoidFraction::IBVoidFraction propsDict_(dict.subDict(typeName + "Props")), alphaMin_(readScalar(propsDict_.lookup("alphaMin"))), alphaLimited_(0), - scaleUpVol_(readScalar(propsDict_.lookup("scaleUpVol"))), - checkPeriodicCells_(false) + scaleUpVol_(readScalar(propsDict_.lookup("scaleUpVol"))) { Info << "\n\n W A R N I N G - do not use in combination with differentialRegion model! \n\n" << endl; //Info << "\n\n W A R N I N G - this model does not yet work properly! \n\n" << endl; @@ -79,7 +78,6 @@ IBVoidFraction::IBVoidFraction if(scaleUpVol_ < 1){ FatalError<< "scaleUpVol shloud be > 1."<< abort(FatalError); } if(alphaMin_ > 1 || alphaMin_ < 0.01){ FatalError<< "alphaMin shloud be > 1 and < 0.01." << abort(FatalError); } - if(propsDict_.found("checkPeriodicCells")) checkPeriodicCells_=true; } @@ -101,7 +99,7 @@ void IBVoidFraction::setvoidFraction(double** const& mask,double**& voidfraction reAllocArrays(); - voidfractionNext_.internalField()=1; + voidfractionNext_ == dimensionedScalar("one", voidfractionNext_.dimensions(), 1.); for(int index=0; index< particleCloud_.numberOfParticles(); index++) { @@ -127,87 +125,55 @@ void IBVoidFraction::setvoidFraction(double** const& mask,double**& voidfraction //compute the voidfraction for the cell "particleCentreCellID vector cellCentrePosition = particleCloud_.mesh().C()[particleCenterCellID]; - scalar centreDist=mag(cellCentrePosition-positionCenter); + scalar fc = pointInParticle(index, positionCenter, cellCentrePosition); vector minPeriodicParticlePos=positionCenter; - if(checkPeriodicCells_) //consider minimal distance to all periodic images of this particle + if(particleCloud_.checkPeriodicCells()) //consider minimal distance to all periodic images of this particle { - centreDist = minPeriodicDistance(cellCentrePosition, positionCenter, globalBb, + fc = minPeriodicDistance(index,cellCentrePosition, positionCenter, globalBb, minPeriodicParticlePos); } + scalar centreDist=mag(cellCentrePosition-minPeriodicParticlePos); + scalar corona = 0.5*sqrt(3.0)*pow(particleCloud_.mesh().V()[particleCenterCellID],0.33333); + vector coronaPoint = cellCentrePosition + (cellCentrePosition - minPeriodicParticlePos) * (corona / centreDist); - if(centreDist + 0.5*sqrt(3.0)*pow(particleCloud_.mesh().V()[particleCenterCellID],0.33333) < radius) + if(pointInParticle(index, minPeriodicParticlePos, coronaPoint) < 0.0) { voidfractionNext_[particleCenterCellID] = 0; } else { - const labelList& vertices = particleCloud_.mesh().cellPoints()[particleCenterCellID]; - forAll(vertices, i) + const labelList& vertices = particleCloud_.mesh().cellPoints()[particleCenterCellID]; + int nn = 0.0; + forAll(vertices, i) nn ++; + + double ratio = 0.125; //1.0 / static_cast(nn); + forAll(vertices, i) { - vector vertexPosition = particleCloud_.mesh().points()[vertices[i]]; - scalar centreVertexDist = mag(vertexPosition-positionCenter); - if(checkPeriodicCells_) //consider minimal distance to all periodic images of this particle - { - centreVertexDist = minPeriodicDistance(vertexPosition, positionCenter, globalBb, - minPeriodicParticlePos); - } - - if(centreDistradius) - { - //compute lambda - scalar a = (vertexPosition - cellCentrePosition) - & (vertexPosition - cellCentrePosition); - scalar b = 2. * (vertexPosition - cellCentrePosition) - & (cellCentrePosition-minPeriodicParticlePos); - scalar c = ((cellCentrePosition-minPeriodicParticlePos) - & (cellCentrePosition-minPeriodicParticlePos) - ) - - radius*radius; - - scalar lambda = 0.; - - if (b*b-4*a*c>=0) lambda = (-b+sqrt(b*b-4*a*c))/(2*a); - if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID]-=lambda*.125; - else - { - lambda = (-b-sqrt(b*b-4*a*c))/(2*a); - if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID]-=lambda*.125; - } - } - else if(centreDist>radius && centreVertexDist=0) lambda = (-b+sqrt(b*b-4*a*c))/(2*a); - if(lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID]-=(1-lambda)*0.125; - else - { - lambda = (-b-sqrt(b*b-4*a*c))/(2*a); - if (lambda > 0 && lambda <=1) voidfractionNext_[particleCenterCellID]-=(1-lambda)*0.125; - } - } - } + vector vertexPosition = particleCloud_.mesh().points()[vertices[i]]; + scalar fv = pointInParticle(index, positionCenter, vertexPosition); + if(particleCloud_.checkPeriodicCells()) { //consider minimal distance to all periodic images of this particle + fv = minPeriodicDistance(index,vertexPosition, positionCenter, globalBb, minPeriodicParticlePos); + } + if(fc < 0.0 && fv < 0.0) + voidfractionNext_[particleCenterCellID]-=ratio; + else if(fc < 0.0 && fv > 0.0) { + //compute lambda + scalar lambda = segmentParticleIntersection(index, minPeriodicParticlePos, cellCentrePosition, vertexPosition); + voidfractionNext_[particleCenterCellID] -= ratio*lambda; + } else if(fc > 0.0 && fv < 0.0) { + //compute lambda + scalar lambda = segmentParticleIntersection(index, minPeriodicParticlePos, vertexPosition, cellCentrePosition); + voidfractionNext_[particleCenterCellID] -= ratio*lambda; + } + } } //end particle partially overlapping with cell //generating list with cell and subcells - buildLabelHashSet(radius, minPeriodicParticlePos, particleCenterCellID, hashSett, true); + buildLabelHashSet(index,minPeriodicParticlePos, particleCenterCellID, hashSett, true); //Add cells of periodic particle images on same processor - if(checkPeriodicCells_) + if(particleCloud_.checkPeriodicCells()) { int doPeriodicImage[3]; for(int iDir=0;iDir<3;iDir++) @@ -227,117 +193,100 @@ void IBVoidFraction::setvoidFraction(double** const& mask,double**& voidfraction List particlePosList; //List of particle center position List