Commit graph

1874 commits

Author SHA1 Message Date
Henry Weller
f2c263b9fd TDACChemistryModel: New chemistry model providing Tabulation of Dynamic Adaptive Chemistry
Provides efficient integration of complex laminar reaction chemistry,
combining the advantages of automatic dynamic specie and reaction
reduction with ISAT (in situ adaptive tabulation).  The advantages grow
as the complexity of the chemistry increases.

References:
    Contino, F., Jeanmart, H., Lucchini, T., & D’Errico, G. (2011).
    Coupling of in situ adaptive tabulation and dynamic adaptive chemistry:
    An effective method for solving combustion in engine simulations.
    Proceedings of the Combustion Institute, 33(2), 3057-3064.

    Contino, F., Lucchini, T., D'Errico, G., Duynslaegher, C.,
    Dias, V., & Jeanmart, H. (2012).
    Simulations of advanced combustion modes using detailed chemistry
    combined with tabulation and mechanism reduction techniques.
    SAE International Journal of Engines,
    5(2012-01-0145), 185-196.

    Contino, F., Foucher, F., Dagaut, P., Lucchini, T., D’Errico, G., &
    Mounaïm-Rousselle, C. (2013).
    Experimental and numerical analysis of nitric oxide effect on the
    ignition of iso-octane in a single cylinder HCCI engine.
    Combustion and Flame, 160(8), 1476-1483.

    Contino, F., Masurier, J. B., Foucher, F., Lucchini, T., D’Errico, G., &
    Dagaut, P. (2014).
    CFD simulations using the TDAC method to model iso-octane combustion
    for a large range of ozone seeding and temperature conditions
    in a single cylinder HCCI engine.
    Fuel, 137, 179-184.

Two tutorial cases are currently provided:
    + tutorials/combustion/chemFoam/ic8h18_TDAC
    + tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC

the first of which clearly demonstrates the advantage of dynamic
adaptive chemistry providing ~10x speedup,

the second demonstrates ISAT on the modest complex GRI mechanisms for
methane combustion, providing a speedup of ~4x.

More tutorials demonstrating TDAC on more complex mechanisms and cases
will be provided soon in addition to documentation for the operation and
settings of TDAC.  Also further updates to the TDAC code to improve
consistency and integration with the rest of OpenFOAM and further
optimize operation can be expected.

Original code providing all algorithms for chemistry reduction and
tabulation contributed by Francesco Contino, Tommaso Lucchini, Gianluca
D’Errico, Hervé Jeanmart, Nicolas Bourgeois and Stéphane Backaert.

Implementation updated, optimized and integrated into OpenFOAM-dev by
Henry G. Weller, CFD Direct Ltd with the help of Francesco Contino.
2016-07-17 15:13:54 +01:00
Henry Weller
8b8270fb11 fvPatchField: Minor reformatting 2016-07-17 14:45:24 +01:00
Henry Weller
857915dabd LUscalarMatrix: Added processor-local matrix inverse function 2016-07-17 14:44:50 +01:00
Henry Weller
f4a588d421 uint: Changed 'uint' to 'unsigned int'
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2152
2016-07-15 11:44:56 +01:00
Henry Weller
75bcfb3af4 Updated template formatting to C++11 2016-07-12 20:03:29 +01:00
Henry Weller
12c3025d20 ODESolvers::seulex: Corrected 'expo' and added 'table_' resize 2016-07-12 20:02:16 +01:00
Henry Weller
fd6701dd0f foamCleanPolyMesh: No need to warn about missing 'polyMesh' directories 2016-07-12 09:07:15 +01:00
Henry Weller
7df235f75c Updated headers 2016-07-12 09:07:04 +01:00
Henry Weller
a6db20e3bb foamChemistryReader: Added support for elements and specie composition
Based on a patch contributed by Francesco Contino, Tommaso Lucchini,
Gianluca D’Errico, Hervé Jeanmart, Nicolas Bourgeois and Stéphane
Backaert.
2016-07-12 09:05:00 +01:00
Henry Weller
d50bce000d ODESolvers: Add support for efficient ODE solver resizing
Note: this reuses the existing storage rather than costly reallocation
which requires the initial allocation to be sufficient for the largest
size the ODE system might have.  Attempt to set a size larger than the
initial size is a fatal error.
2016-07-11 17:27:04 +01:00
Henry Weller
b3386623a2 AllwmakeParseArguments: Correct call to wmake -all
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2146
2016-07-10 22:04:50 +01:00
Henry Weller
c1db326f71 functionObjects: Update documentation 2016-07-09 22:08:11 +01:00
Henry Weller
cd58a79a44 checkGeometry, moveDynamicMesh: Convert processor IDs to 'List<label>'
Resolves bug-report http://bugs.openfoam.org/view.php?id=2140
2016-07-09 20:47:06 +01:00
Henry Weller
4d5d61bbeb wmakeFunctions: Added '()' to depToSource definition
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2144
2016-07-09 20:45:46 +01:00
Henry Weller
763476e965 functionObjects::systemCall: Updated documentation 2016-07-09 14:23:27 +01:00
Henry Weller
d3c863c283 functionObjects: Removed superfluous controlDict files 2016-07-09 14:23:01 +01:00
Henry Weller
3e3cd4bc42 wmake: Simplified handling of '-j' option to sub-processes 2016-07-09 14:22:29 +01:00
Henry Weller
8b4163d797 wmakeLnIncludeAll: Add '-update' option 2016-07-09 14:22:14 +01:00
Henry Weller
83c7d16a0d wmakeLnInclude: Minor simplifications and reformatting 2016-07-09 14:21:44 +01:00
Henry Weller
c8d26992ad wmakeCollect: Use 'mktemp' to create the temporary Makefiles
to avoid file names which are two long for the standard GNU/Linux file systems.
2016-07-09 14:20:31 +01:00
Henry Weller
36f1016f31 wmakeFunctions: Added a faster bash version of 'depToSource' 2016-07-09 14:19:47 +01:00
Henry Weller
af5e1cc4cd wmakeCollect: Create the makefiles in the platforms directory 2016-07-09 09:59:46 +01:00
Henry Weller
267640002f wmakeLnIncludeAll: 'sync' does not guarantee synchronization of the links
A simple 'sleep' is more reliable.
2016-07-08 16:35:40 +01:00
Henry Weller
c074cfc3ff wmakeLnIncludeAll: Improved messages 2016-07-08 14:02:57 +01:00
Henry Weller
f7b851b35f fvcCellReduce: Add support for optional initial value
Patch contributed by Mattijs Janssens
Resolves bug-report http://bugs.openfoam.org/view.php?id=2143
2016-07-08 11:54:30 +01:00
Henry Weller
6230ca2689 laplacianFoam: Added support for fvOptions 2016-07-08 11:34:00 +01:00
Henry Weller
0cfd1adbd0 wmake: Improve messages from wclean, wrmdep and wmakeLnIncludeAll 2016-07-08 10:57:08 +01:00
Henry Weller
d16324bf44 wmakeLnIncludeAll: When running parallel wait for the wmakeLnInclude jobs to complete
then synchronize the file system to ensure all links are flushed before
compilation starts
2016-07-08 08:22:28 +01:00
Henry Weller
ff7a216a58 AllwmakeParseArguments: Filter-out '-q' option to avoid recusion 2016-07-07 16:22:08 +01:00
Henry Weller
5571dbf107 reactingTwoPhaseEulerFoam/pUf/UEqns: Changed naming convention for the dmdt's
for consistency with HeatAndMassTransferPhaseSystem.C
Resolves bug-report http://bugs.openfoam.org/view.php?id=2141
2016-07-07 14:36:10 +01:00
Henry Weller
553abf615b wmakeLnIncludeAll: Now a bash script
Uses the 'wait -n' builtin to avoid the use of non-POSIX 'sleep' commands
2016-07-07 12:09:49 +01:00
Henry Weller
26a3e56c4f Reacting solvers: Added check for the existence of the inert specie 2016-07-06 17:45:34 +01:00
Henry Weller
36adf9702c chemkinToFoam: Added support for converting elements and species composition
Based of patch contributed by Francesco Contino, Tommaso Lucchini,
Gianluca D’Errico, Hervé Jeanmart, Nicolas Bourgeois and Stéphane
Backaert.
2016-07-06 16:24:56 +01:00
Henry Weller
20f9d82737 fvOptions::limitVelocity: New fvOption to limit the maximum velocity magnitude
e.g. to avoid excessive unphysical velocities generated during slamming events in
incompressible VoF simulations

Usage
    Example usage:
    limitU
    {
        type            limitVelocity;
        active          yes;

        limitVelocityCoeffs
        {
            selectionMode   all;
            max             100;
        }
    }
2016-07-06 10:17:21 +01:00
Henry Weller
8e3c88ed25 fvOptions::tabulatedAccelerationSource: Minor update to doc 2016-07-06 10:16:57 +01:00
Henry Weller
5ca69a2501 Updated header 2016-07-06 10:16:37 +01:00
Henry Weller
8929e959ff fvOptions::limitTemperature: Simplify controls and make documentation consistent with the code 2016-07-06 10:15:47 +01:00
Henry Weller
922785d9cf wmakePrintBuild -check: exit 0 if not a git repository 2016-07-05 21:50:34 +01:00
Henry Weller
f989f58d85 reactingEulerFoam dragModels: New models Beetstra, Tenneti
Contributed by Alberto Passalacqua, Iowa State University

Foam::dragModels::Beetstra
    Drag model of Beetstra et al. for monodisperse gas-particle flows obtained
    with direct numerical simulations with the Lattice-Boltzmann method and
    accounting for the effect of particle ensembles.

    Reference:
    \verbatim
        Beetstra, R., van der Hoef, M. A., & Kuipers, J. a. M. (2007).
        Drag force of intermediate Reynolds number flow past mono- and
        bidisperse arrays of spheres.
        AIChE Journal, 53(2), 489–501.
    \endverbatim

Foam::dragModels::Tenneti
    Drag model of Tenneti et al. for monodisperse gas-particle flows obtained
    with particle-resolved direct numerical simulations and accounting for the
    effect of particle ensembles.

    Reference:
    \verbatim
        Tenneti, S., Garg, R., & Subramaniam, S. (2011).
        Drag law for monodisperse gas–solid systems using particle-resolved
        direct numerical simulation of flow past fixed assemblies of spheres.
        International Journal of Multiphase Flow, 37(9), 1072–1092.
    \verbatim
2016-07-05 16:10:07 +01:00
Henry Weller
8496102126 Updated headers 2016-07-05 16:09:56 +01:00
Henry Weller
6d1007d2d8 reactingEulerFoam/interfacialCompositionModels: Minor reformatting 2016-07-05 16:09:39 +01:00
Henry Weller
05d89e486f checkMesh, moveDynamicMesh: option -checkAMI writes the reconstructed AMI weights
Patch contributed by Mattijs Janssens
2016-07-05 15:35:16 +01:00
Henry Weller
98d5ee3b33 wmakeCollect: Name the object makefiles based on the object path
Ensures the order of compilation relates to the location of the source files
2016-07-05 14:53:26 +01:00
Henry Weller
e20c1ac61f wmakeCollect: Support simultaneous builds of different target architectures or compilers 2016-07-05 10:24:08 +01:00
Henry Weller
0bc8286845 wmake: execute wmakeLnIncludeAll once with options 'queue' and 'update' 2016-07-05 07:54:45 +01:00
Henry Weller
276eb1a31b AllwmakeParseArguments: Moved all parallel processing options into wmake
and added support for queue scheduling option '-q', '-queue'

Now the 'Allwmake' scripts execute 'wmake -all' to handle parallel
processing in a general way, avoiding code duplication.
2016-07-04 22:30:20 +01:00
Henry Weller
1af45f72ca Allwmake: Simplified by removing 'doc' option
It is better to run doc/Allwmake or doc/Doxygen/Allwmake and provide the
required options.
2016-07-04 22:28:19 +01:00
Henry Weller
822d6adba7 steadyParticleTracksTemplates: Corrected correspondence between function declaration and definition 2016-07-04 10:44:08 +01:00
Henry Weller
23877413f3 wmakeLnIncludeAll: Corrected type 2016-07-04 10:27:43 +01:00
Henry Weller
911e424515 wmakeLnIncludeAll: Use 'wait -n' rather than and arbitrary 'sleep' when limiting the number of jobs 2016-07-04 09:39:28 +01:00