From ccbc2b9cba79ace794e5ee4c9d53db7c2d3ae2c2 Mon Sep 17 00:00:00 2001 From: danielque Date: Wed, 18 Jul 2018 14:54:12 +0200 Subject: [PATCH] [DOC] add some missing documentation (partly from PUBLIC) --- doc/forceModel_BeetstraDrag.txt | 103 ++++++++++++++++++++++++++ doc/forceModel_fieldTimeAverage.txt | 70 +++++++++++++++++ doc/forceModel_interface.txt | 72 ++++++++++++++++++ doc/forceModel_volWeightedAverage.txt | 86 +++++++++++++++++++++ doc/probeModel_particleProbe.txt | 102 +++++++++++++++++++++++++ 5 files changed, 433 insertions(+) create mode 100644 doc/forceModel_BeetstraDrag.txt create mode 100644 doc/forceModel_fieldTimeAverage.txt create mode 100644 doc/forceModel_interface.txt create mode 100644 doc/forceModel_volWeightedAverage.txt create mode 100644 doc/probeModel_particleProbe.txt diff --git a/doc/forceModel_BeetstraDrag.txt b/doc/forceModel_BeetstraDrag.txt new file mode 100644 index 00000000..57e09ea5 --- /dev/null +++ b/doc/forceModel_BeetstraDrag.txt @@ -0,0 +1,103 @@ +"CFDEMproject Website"_lws - "Main Page"_main :c + +:link(lws,http://www.cfdem.com) +:link(main,CFDEMcoupling_Manual.html) + +:line + +forceModel BeetstraDrag command :h3 + +[Syntax:] + +Defined in "couplingProperties"_CFDEMcoupling_dicts.html#couplingProperties +dictionary. + +forceModels +( + BeetstraDrag +); +BeetstraDragProps +\{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; + minVoidfraction scalar1; + granVelFieldName "Us"; +\ + useFilteredDragModel; + g gravity; + dPrim dPrimValue; + rhoP rhoPValue; + rho rhoValue; + nuf nufValue; +\ + useParcelSizeDependentFilteredDrag; + k kValue; +\ + treatForceExplicit; + implForceDEM; + verbose; + interpolation; +\} :pre + +{U} = name of the finite volume fluid velocity field :ulb,l +{voidfraction} = name of the finite volume voidfraction field :l +{minVoidfraction} = minimum void fraction value to ensure meaningful interpolated void fraction (default = 0.1) :l +{Us} = name of the finite volume cell averaged particle velocity field :l + +{useFilteredDragModel} = switch for using a coarsening correction for the Beetstra drag model (takes grid-size effects into account; default = off) :l + +{gravity} = gravity value (default = 9.81) :l +{dPrimValue} = diameter of primary particle :l +{rhoPValue} = particle density :l +{rhoValue} = finite volume density :l +{nufValue} = kinematic viscosity :l + +{useParcelSizeDependentFilteredDrag} = switch for using a coarsening correction for the Beetstra drag model (only used if {useFilteredDragModel} is on; default = off) :l + +{kValue} = factor for parcels size effect (default = 0.05; must be defined if useParcelSizeDependentFilteredDrag is used) :l + +{interpolation} = flag to use interpolated voidfraction and fluid velocity values (normally off) :l +{treatForceExplicit} = switch to force explicit treatment of force (normally off) :l +{implForceDEM} = flag to use implicit formulation of drag on DEM side (normally off, if on, this switch will force {treatForceExplicit} to be off) :l +{verbose} = switch to force display of data on screen (default: off; typically used for debug purposes) :l +:ule + +[Examples:] + +forceModels +( + BeetstraDrag +); +BeetstraDragProps +\{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; + interpolation true; + useFilteredDragModel; + g 9.81; + dPrim 100e-6; + rhoP 7000.; + rho 10.; + nuf 1.5e-4; + useParcelSizeDependentFilteredDrag; + k 0.05; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle +interaction forces) acting on each DEM particle. The {BeetstraDrag} model is a +model that calculates the particle based drag force following the correlation of +Beetstra et al., AIChE J., 53(2) (2007). +The filtered drag model is based on S. Radl, S. Sundaresan, Chem. Eng. Sci., 117 (2014). + +[Restrictions:] + +This model is strictly valid only for monodisperse gas-particle flows. +For the polydisperse model of Beetstra et al. (2007) use {BeetstraDragPoly}. + +[Related commands:] + +"forceModel"_forceModel.html, BeetstraDragPoly + diff --git a/doc/forceModel_fieldTimeAverage.txt b/doc/forceModel_fieldTimeAverage.txt new file mode 100644 index 00000000..1304242d --- /dev/null +++ b/doc/forceModel_fieldTimeAverage.txt @@ -0,0 +1,70 @@ +"CFDEMproject Website"_lws - "Main Page"_main :c + +:link(lws,http://www.cfdem.com) +:link(main,CFDEMcoupling_Manual.html) + +: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 "force model" 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_interface.txt b/doc/forceModel_interface.txt new file mode 100644 index 00000000..0e435413 --- /dev/null +++ b/doc/forceModel_interface.txt @@ -0,0 +1,72 @@ +"CFDEMproject Website"_lws - "Main Page"_main :c + +:link(lws,http://www.cfdem.com) +:link(main,CFDEMcoupling_Manual.html) + +:line + +forceModel interface command :h3 + +[Syntax:] + +Defined in "couplingProperties"_CFDEMcoupling_dicts.html#couplingProperties +dictionary. + +forceModels +( + interface +); +interfaceProps +\{ + VOFvoidfractionFieldName "alpha"; + alphaThreshold value1; + sigma value2; + theta value3; +\} :pre + +{alpha} = name of the finite volume fluid volume fraction field in a VOF simulation :ulb,l +{value1} = parameter used to define the distance of influence of the model :l +{value2} = fluid gas surface tension :l +{value3} = Three-phase contact angle for interface force :l +:ule + +[Examples:] + +forceModels +( + interface +); +interfaceProps +\{ + VOFvoidfractionFieldName "alpha"; + alphaThreshold 0.54; + sigma 0.07; + theta 1.12; +\} :pre + +[Description:] + +The force model performs the calculation of forces (e.g. fluid-particle +interaction forces) acting on each DEM particle. The {interface} model is a +model that calculates the particle-fluid-gas interfacial force. +(see "Wierink et al. (2011)"_#Wierink2011) + +[Restrictions:] + +Only for VOF simulations. + +[Related commands:] + +"forceModel"_forceModel.html + +:line + +:link(Wierink2011) +[(Wierink 2011)] +"Mechanistic modelling of particle interface interaction in three phase flows", +Wierink G., Goniva C., Niceno B., Heiskanen K., +Proc. of the 8th Int. Conf. on CFD in Oil and Gas, Metallurgical and Process Industries, +Trondheim, Norway. + + + diff --git a/doc/forceModel_volWeightedAverage.txt b/doc/forceModel_volWeightedAverage.txt new file mode 100644 index 00000000..6013dc8e --- /dev/null +++ b/doc/forceModel_volWeightedAverage.txt @@ -0,0 +1,86 @@ +"CFDEMproject Website"_lws - "Main Page"_main :c + +:link(lws,http://www.cfdem.com) +:link(main,CFDEMcoupling_Manual.html) + +:line + +forceModel volWeightedAverage command :h3 + +[Syntax:] + +Defined in "couplingProperties"_CFDEMcoupling_dicts.html#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/probeModel_particleProbe.txt b/doc/probeModel_particleProbe.txt new file mode 100644 index 00000000..0d664b46 --- /dev/null +++ b/doc/probeModel_particleProbe.txt @@ -0,0 +1,102 @@ +"CFDEMproject Website"_lws - "Main Page"_main :c + +:link(lws,http://www.cfdem.com) +:link(main,CFDEMcoupling_Manual.html) + +:line + +probeModel particleProbe command :h3 + +[Syntax:] + +Defined in "couplingProperties"_CFDEMcoupling_dicts.html#couplingProperties +dictionary. + +forceModels +( + forceModel1 + forceModel2 + forceModel3 +); :pre + +probeModel particleProbe; :pre + +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 + 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 + +{forceModeli} = list of force models in the simulation, the particleProbe will be applied to all of these models! :ulb,l +{particleIDsToSample} = list of particle IDs to be sampled. :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 +{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:] + +forceModels +( + gradPForce +); :pre + +probeModel particleProbe; :pre + +particleProbeProps +\{ + particleIDsToSample (0 1 2 3); + 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 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 +$caseDir/CFD/particleProbes/startTime directory, where {startTime} is the time +at which the simulation is started (this avoids unwanted deletion of +particleProbe data). + +[Restrictions:] + +none + +[Related commands:] + +The following force models are currently enabled for particle probing: + +Archimedes, ArchimedesIB, BeetstraDrag, DiFeliceDrag, GidaspowDrag, +KochHillDrag, SchillerNaumannDrag, ShirgaonkarIB, virtualMassForce, +"gradPForce"_forceModel_gradPForce.html, "viscForce"_forceModel_viscForce.html, +"MeiLift"_forceModel_MeiLift.html, that is most of the forceModels, see the +{src} directory for details, i.e. use + +grep -r 'probeM(' ./ :pre + +in a CLI terminal. + +[Default:] + +none +