Commit Graph

150 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
81e083fc59 wingMotion tutorials: added missing ';' 2015-10-01 14:07:29 +01:00
37cfc3ab46 tutorials: Removed unnecessary spaces between parentheses and values in vectors 2015-07-21 20:55:44 +01:00
4c21f24a8c Input of dimensionedScalars: update read-construction of dimensionedScalar in applications
so that the specification of the name and dimensions are optional in property dictionaries.

Update tutorials so that the name of the dimensionedScalar property is
no longer duplicated but optional dimensions are still provided and are
checked on read.
2015-07-20 22:52:53 +01:00
15198a34bd fluxRequired: Added setFluxRequired function to fvSchemes class
Added calls to setFluxRequired for p in all incompressible solvers which
avoids the need to add fluxRequired entries in fvSchemes dictionary.

Will add calls to setFluxRequired to the rest of the solvers.
2015-07-15 15:04:51 +01:00
75282f9b11 Minor cleanup 2015-05-03 18:11:53 +01:00
0a6ca7ae45 includeEtcEntry: New dictionary include directive: #includeEtc "etcFile"
Description
    Specify an etc file to include when reading dictionaries, expects a
    single string to follow.

    Searches for files from user/group/shipped directories.
    The search scheme allows for version-specific and
    version-independent files using the following hierarchy:
    - \b user settings:
      - ~/.OpenFOAM/\<VERSION\>
      - ~/.OpenFOAM/
    - \b group (site) settings (when $WM_PROJECT_SITE is set):
      - $WM_PROJECT_SITE/\<VERSION\>
      - $WM_PROJECT_SITE
    - \b group (site) settings (when $WM_PROJECT_SITE is not set):
      - $WM_PROJECT_INST_DIR/site/\<VERSION\>
      - $WM_PROJECT_INST_DIR/site/
    - \b other (shipped) settings:
      - $WM_PROJECT_DIR/etc/

    An example of the \c \#includeEtc directive:
    \verbatim
        #includeEtc "etcFile"
    \endverbatim

    The usual expansion of environment variables and other constructs is
    retained.
2015-04-26 10:44:11 +01:00
50ada7c994 blockMesh: Change default location of blockMeshDict from constant/polyMesh to system
For multi-region cases the default location of blockMeshDict is now system/<region name>

If the blockMeshDict is not found in system then the constant directory
is also checked providing backward-compatibility
2015-04-24 22:29:57 +01:00
f6e868e1f7 tutorials/compressible/sonicDyMFoam/movingCone: sonic version of the pimpleDyMFoam/movingCone tutorial 2015-02-22 16:53:33 +00:00
5ecfb06398 tutorials: remove unnecessary under-relax fields entry 2015-02-22 16:52:21 +00:00
7be1393fef tutorials: corrected comments in snappyHexMeshDict
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1541
2015-02-17 23:59:59 +00:00
8628ef2fea Corrected capitalization of Doxygen documentation comments 2015-02-14 13:10:15 +00:00
1edf292c00 Correct Doxygen multiline comments 2015-02-14 10:59:29 +00:00
332c3cc37f Tutorials: change topoSetDicts to avoid duplicate names 2015-02-12 10:01:31 +00:00
78ca0ce02c Add simulationType entry even for simpleFoam cases
so that generic utilities like yPlus select the appropriate turbulence model
2015-01-21 21:08:19 +00:00
2aec249647 Updated the whole of OpenFOAM to use the new templated TurbulenceModels library
The old separate incompressible and compressible libraries have been removed.

Most of the commonly used RANS and LES models have been upgraded to the
new framework but there are a few missing which will be added over the
next few days, in particular the realizable k-epsilon model.  Some of
the less common incompressible RANS models have been introduced into the
new library instantiated for incompressible flow only.  If they prove to
be generally useful they can be templated for compressible and
multiphase application.

The Spalart-Allmaras DDES and IDDES models have been thoroughly
debugged, removing serious errors concerning the use of S rather than
Omega.

The compressible instances of the models have been augmented by a simple
backward-compatible eddyDiffusivity model for thermal transport based on
alphat and alphaEff.  This will be replaced with a separate run-time
selectable thermal transport model framework in a few weeks.

For simplicity and ease of maintenance and further development the
turbulent transport and wall modeling is based on nut/nuEff rather than
mut/muEff for compressible models so that all forms of turbulence models
can use the same wall-functions and other BCs.

All turbulence model selection made in the constant/turbulenceProperties
dictionary with RAS and LES as sub-dictionaries rather than in separate
files which added huge complexity for multiphase.

All tutorials have been updated so study the changes and update your own
cases by comparison with similar cases provided.

Sorry for the inconvenience in the break in backward-compatibility but
this update to the turbulence modeling is an essential step in the
future of OpenFOAM to allow more models to be added and maintained for a
wider range of cases and physics.  Over the next weeks and months more
turbulence models will be added of single and multiphase flow, more
additional sub-models and further development and testing of existing
models.  I hope this brings benefits to all OpenFOAM users.

Henry G. Weller
2015-01-21 19:21:39 +00:00
69ff8aa4d2 wallDist: now a MeshObject cached and updated automatically with a run-time selected algorithm
When using models which require the wallDist e.g. kOmegaSST it will
request the method to be used from the wallDist sub-dictionary in
fvSchemes e.g.

wallDist
{
    method meshWave;
}

specifies the mesh-wave method as hard-coded in previous OpenFOAM versions.
2015-01-08 10:40:23 +00:00
41368addc9 Minor change to comment 2014-12-14 21:50:14 +00:00
9fb26d59d3 GIT: Repo update 2014-12-11 08:35:10 +00:00
f197f9545f tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D: Use PIMPLE rather than PISO to ensure updated fluxes are used in momentum equation 2014-07-17 11:30:02 +01:00
d22da01ef5 ENH: tutorial update: movingCone - updated blockMeshDict 2014-07-15 15:59:34 +01:00
d49889402f sixDoFRigidBodyMotion: Add support to specify the centre for rotation independent of the centre of mass
via the point, line or plane constraints.
2014-05-16 15:35:11 +01:00
fbb3ddf2c4 Updated for release 2.3.0 2014-02-17 10:21:46 +00:00
8acf2daaba BUG: tutorial fixes for 32 bit ubuntu packs 2014-02-11 10:15:00 +00:00
ee4e19ef85 Renamed folder -> directory for consistency with POSIX and the rest of OpenFOAM 2014-01-30 13:01:04 +00:00
c380695ead ENH: tutorial update 2014-01-27 15:41:54 +00:00
8acfa4692a STYLE: snappyHexMeshDict: removed optional parameter 2014-01-27 12:25:56 +00:00
292da7605e Merge branch 'master' of /home/dm4/OpenFOAM/repositories/OpenFOAM-dev 2014-01-24 16:29:30 +00:00
7b60265f3c BUG: propeller: create inlet and outlet from wrong faceZone 2014-01-24 16:28:04 +00:00
d7be8d9d43 Merge branch 'master' of /home/dm4/OpenFOAM/repositories/OpenFOAM-dev 2014-01-24 16:01:26 +00:00
827456621d ENH: propeller: meshed to outerCylinder 2014-01-24 15:29:18 +00:00
73e876c7fb ENH: tutorial update - incompressible 2014-01-24 15:21:10 +00:00
71aa1c53a0 Merge branch 'master' of ssh://dm/home/dm4/OpenFOAM/repositories/OpenFOAM-dev 2014-01-23 11:29:09 +00:00
36f3e513ea sixDoFRigidBodyMotion: Update code and tutorial cases to use new explicit motion
simpleHarmonicMotion case removed temporarily pending the introduction of a suitable motion solver
2014-01-23 11:24:50 +00:00
cb01bcec31 ENH: propeller: use functionObjects 2014-01-23 10:53:24 +00:00
81670ff8e0 ENH: propeller: added renumbering and vorticity 2014-01-23 09:51:57 +00:00
a0a13075c0 ENH: propeller: updated for new snappyHexMesh faceType capability 2014-01-22 17:35:45 +00:00
1dc9207000 ENH: propeller: use smoothSolver on transported quantities 2014-01-22 11:27:17 +00:00
e7201c0326 ENH: tutorial updates 2014-01-20 16:25:13 +00:00
2612f6beac sixDoFRigidBodyMotion: Renamed constraints 2013-12-16 21:19:18 +00:00
8af82f02bf sixDoFRigidBodyMotion: remove the constraint and restraint "Coeffs"
sub-dict and put the coefficients in the containing dictionary.
2013-12-15 22:30:52 +00:00
3ec31ba3f7 pimpleDyMFoam/movingCone: change axis to empty 2013-12-10 14:10:28 +00:00
67a49d125d ENH: Tutorial Allclean script updates 2013-10-11 12:41:11 +01:00
51f085faa5 Rewrite of ddtPhiCorr - ddtCorr and density-weight HbyA on compressible solvers.
For DyM solvers phiAbs is replaced by Uf but this conversion is currently not complete
2013-09-09 12:41:20 +01:00
c4a65259ad GIT: boundary: remove usued file 2013-08-07 11:27:34 +01:00
f75138d1f6 solidBodyMotionFunctions: Changed CofG to origin where appropriate and support run-time selectable omega specification in rotatingMotion 2013-07-30 09:41:27 +01:00
9ad0015d95 STYLE: boundary: remove regenerated files 2013-07-16 09:54:02 +01:00
20726d5371 STYLE: boundary: generated file 2013-06-20 16:51:07 +01:00
14c3689fec epsilon/omega: ensure non-0 values are set on all boundaries 2013-06-20 16:33:15 +01:00
3c1893a8d8 Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev 2013-06-04 11:33:22 +01:00