Commit Graph

16328 Commits

Author SHA1 Message Date
f4202d9ee6 sixDoFSolver: Run-time selectable solver (integrator) for sixDoFRigidBodyMotion
The built-in explicit symplectic integrator has been replaced by a
general framework supporting run-time selectable integrators.  Currently
the explicit symplectic, implicit Crank-Nicolson and implicit Newmark
methods are provided, all of which are 2nd-order in time:

Symplectic 2nd-order explicit time-integrator for 6DoF solid-body motion:

    Reference:
        Dullweber, A., Leimkuhler, B., & McLachlan, R. (1997).
        Symplectic splitting methods for rigid body molecular dynamics.
        The Journal of chemical physics, 107(15), 5840-5851.

    Can only be used for explicit integration of the motion of the body,
    i.e. may only be called once per time-step, no outer-correctors may be
    applied.  For implicit integration with outer-correctors choose either
    CrankNicolson or Newmark schemes.

    Example specification in dynamicMeshDict:
    solver
    {
        type    symplectic;
    }

Newmark 2nd-order time-integrator for 6DoF solid-body motion:

    Reference:
        Newmark, N. M. (1959).
        A method of computation for structural dynamics.
        Journal of the Engineering Mechanics Division, 85(3), 67-94.

    Example specification in dynamicMeshDict:
    solver
    {
        type    Newmark;
        gamma   0.5;    // Velocity integration coefficient
        beta    0.25;   // Position integration coefficient
    }

Crank-Nicolson 2nd-order time-integrator for 6DoF solid-body motion:

    The off-centering coefficients for acceleration (velocity integration) and
    velocity (position/orientation integration) may be specified but default
    values of 0.5 for each are used if they are not specified.  With the default
    off-centering this scheme is equivalent to the Newmark scheme with default
    coefficients.

    Example specification in dynamicMeshDict:
    solver
    {
        type    CrankNicolson;
        aoc     0.5;    // Acceleration off-centering coefficient
        voc     0.5;    // Velocity off-centering coefficient
    }

Both the Newmark and Crank-Nicolson are proving more robust and reliable
than the symplectic method for solving complex coupled problems and the
tutorial cases have been updated to utilize this.

In this new framework it would be straight forward to add other methods
should the need arise.

Henry G. Weller
CFD Direct
2015-10-19 14:03:46 +01:00
11f35cc720 reactingTwoPhaseEulerFoam: Remove the build-in write of Ur
Ur can be generated using a functionObject or in the post-processor
2015-10-19 14:01:51 +01:00
dae6a80f50 boundaryFoam: Remove unsupported 'parallel' option
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1868
2015-10-17 20:20:28 +01:00
ebd9f94a4d functionObjects/utilities/turbulenceFields/turbulenceFields: Added k and epsilon
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1870
2015-10-17 15:20:10 +01:00
eb1080c933 checkMesh: Provide the number of geometric and solution directions.
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1872
2015-10-17 13:56:34 +01:00
79f2024248 template cases: corrected BirdCarreauCoeffs names (m -> k) 2015-10-15 12:10:12 +01:00
f3d4e51242 prghTotalPressureFvPatchScalarField: Total pressure BC for p_rgh
Resolves some stability issues with the outlet of multiphase problems.
2015-10-14 13:15:17 +01:00
d3b8af8547 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/steamInjection: Add missing relaxation entry 2015-10-13 22:31:03 +01:00
1dead33a89 uniformFixedValueFvPatchField: Remove the inconsistent optional "value"
read in the construction from dictionary.

It is important that the initial value is obtained from the table
provided to avoid the user having to evaluate a consistent one or risk
the code crashing from a very sudden change in the value.
2015-10-13 22:28:26 +01:00
7e8a4e1fe8 Update header 2015-10-12 21:33:56 +01:00
9427d134f9 sixDoFRigidBodyMotion: Time integration now switches between symplectic and Crank-Nicolson
For explicit motion (and the first iteration of iterative motion
correction) the 2nd-order symplectic motion integrator is used.

For iterative correction a form of lagged Crank-Nicolson is used in
which the current time-step values correspond to the current iteration.
This converges to a 2nd-order implicit solution.
2015-10-12 21:27:42 +01:00
d3e5ea4914 fvSchemes: setFluxRequired now adds entry quietly 2015-10-12 21:26:40 +01:00
94f952ab04 reactingMultiphaseEulerFoam: Completed LTS support in multuphaseSystem 2015-10-05 22:42:12 +01:00
9577ad2d23 reactingMultiphaseEulerFoam, multiphaseEulerFoam: Correct flux averaging for sub-cycling 2015-10-05 17:43:33 +01:00
25040ad08a reactingTwoPhaseEulerFoam: Update cell-based UEqn
to use the transport matrix construction in MovingPhaseModel
2015-10-05 16:22:04 +01:00
557c8adba8 Added "-region" option to wallGradU, temporalInterpolate and pPrime2
Patches provided by Bruno Santos
Resolves feature-request http://www.openfoam.org/mantisbt/view.php?id=1861
2015-10-05 11:33:13 +01:00
027909c737 dimensionedType: rationalize lookupOrDefault and lookupOrAddToDict
Now consistent with constructors.
2015-10-01 17:29:29 +01:00
81e083fc59 wingMotion tutorials: added missing ';' 2015-10-01 14:07:29 +01:00
fdc56d9619 surfaceFilmModels/submodels/thermo/phaseChangeModel/solidification: Corrected and improved solidification rate controls
Solidification phase change model where all film mass is converted when the
    local temperature > activation temperature.  The latent heat is
    assumed to be removed by heat-transfer to the wall.
2015-09-30 18:18:20 +01:00
12a1e428c8 patchInjection: Check for 0-patches 2015-09-30 18:17:32 +01:00
cceebf0601 dimensionedType: Corrected order of dimensions and value in lookupOrDefault and lookupOrAddToDict
Deprecated old versions.
2015-09-30 18:16:12 +01:00
45b875b65d Removed unnecessary "else if" conditions
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1858
2015-09-28 22:18:39 +01:00
4c9eb4c2e9 ptot: Add support for -region
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1227
Patch provided by Bruno Santos
2015-09-28 15:34:37 +01:00
e846c991ad KinematicLookupTableInjection: Use 64bit integers to avoid overflow for large numbers of injectors. 2015-09-28 14:30:48 +01:00
c8135cee57 reactingEulerFoam: Further improvements to the handling of mass-transfer
between incompressible and compressible phases
2015-09-25 19:00:07 +01:00
c5955e4af4 reactingEulerFoam: Support compressibility and mass-transfer independently
Now combinations of incompressible, compressible phases with or without
mass-transfer are supported efficiently.
2015-09-25 17:54:55 +01:00
6a3d9e9d82 reactingTwoPhaseEulerFoam: alphatFixedDmdtWallBoilingWallFunction: new BC to test wall boiling 2015-09-25 17:52:51 +01:00
d0b23bec38 solidBodyMotionFvMesh: Fixed typo
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1854
2015-09-23 15:55:54 +01:00
29cea780e1 reactingMultiphaseEulerFoam: Optimize the handling of optional forces 2015-09-18 18:55:21 +01:00
1979194f36 reactingMultiphaseEulerFoam: Added support for turbulent dispersion 2015-09-17 22:55:08 +01:00
3ca5ecb15a pairPatchAgglomeration: Added call to compactLevels at the end of agglomerate
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1853
2015-09-17 17:05:12 +01:00
3c71648ed5 reactingMultiphaseEulerFoam: Created local reference to the list of phases to avoid clutter 2015-09-17 09:48:30 +01:00
1c203d4116 Renamed reactingEulerFoam phaseSystemTemplates.H -> phaseSystemTemplates.C
This file contains definitions rather than declarations
2015-09-17 09:47:27 +01:00
6672e64327 reactingEulerFoam: Updated phase loops 2015-09-17 09:19:03 +01:00
0859c15eb2 reactingMultiphaseEulerFoam: Removed debugging option 2015-09-16 22:22:37 +01:00
c31789c34c reactingEulerFoam: Use PtrListDictionary for list/table of phases
This makes looping over the phases much simpler which maintaining
support for phase-name lookup.
2015-09-16 21:29:09 +01:00
7b5d6114ad PtrListDictionary: New form of Dictionary in which the list type is PtrList rather than a linked-list 2015-09-16 21:26:26 +01:00
15c7b16c20 PtrList: Added const_iterator 2015-09-16 21:25:09 +01:00
bb0898d2e0 globalMeshData: Changed the communicator for the reductions
Avoids problems with overlapping communicationbetween these reductions
and the calculation of deltaCoeffs.  This is a temporary fix while code
reorganizations are undertaken to ensure the globalMeshData is updated
before deltaCoeffs are requested.

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1780
2015-09-13 22:21:53 +01:00
07e0e27c4a Renamed file
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1846
2015-09-13 21:21:51 +01:00
3226b03d63 wmake/rules/linuxPPC64leGcc/linuxPPC64leGcc: Updated link options
Patch provided by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1846
2015-09-12 23:32:11 +01:00
c06eb9be09 reactingMultiphaseEulerFoam: Removed incomplete tutorial cases 2015-09-11 17:53:21 +01:00
8d21b380ef Renamed phiAlpha -P alphaPhi for consistency with Euler-Euler solvers 2015-09-11 17:52:43 +01:00
85b27f674f reactingMultiphaseEulerFoam: New Euler-Euler multiphase solver
Supporting any number of phases with heat and mass transfer, phase-change and reactions
2015-09-11 15:33:12 +01:00
34f060cfbb stitchMesh: Improved docs
Provided by Bruno Santos
Resolves report http://www.openfoam.org/mantisbt/view.php?id=1767
2015-09-09 19:56:07 +01:00
5e4bf8c9f9 Added applications/utilities/mesh/manipulation/stitchMesh/toleranceDict
Provided by Bruno Santos
Resolves report http://www.openfoam.org/mantisbt/view.php?id=1848
2015-09-09 19:53:10 +01:00
dd3f68b1fa reactingEulerFoam: Rationalize the phaseSystem base-class 2015-09-04 17:01:31 +01:00
f9870ed9d0 Updated headers 2015-09-02 15:33:16 +01:00
8733ce815e chemkinReader: Add tolerance to element balance check
Patch provided by Daniel Jasinski
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=1843
2015-09-02 15:32:16 +01:00
7405f7552e chtMultiRegionFoam: Updated temperature diagnostics
Patch provided by Daniel Jasinski
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=1843
2015-09-02 15:30:20 +01:00