Commit Graph

2686 Commits

Author SHA1 Message Date
Henry Weller
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
Henry Weller
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
Henry Weller
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
Henry Weller
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
Henry Weller
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
Henry Weller
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
Henry Weller
430d894e37 Added ROOTSMALL 2015-09-02 15:29:54 +01:00
Henry Weller
047883da98 fluent3DMeshToFoam: Updated to handle ',' and '|' characters in headers
Patch provided by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1826
2015-08-24 17:53:50 +01:00
Henry Weller
9f697a5b65 utilities/postProcessing/noise: Corrected documentation
Patches provided by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1832
2015-08-19 11:37:27 +01:00
Henry Weller
913103ec0a Rename circulators to be consistent with the standard OpenFOAM class naming convention 2015-08-06 16:54:47 +01:00
Henry Weller
19dcf83b6a paraFoam: add support for system/blockMeshDict with the -block option
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1803
2015-08-01 18:36:00 +01:00
Henry Weller
91e04d69c1 Resolve various unimportant warning messages from Gcc, Clang and Icpc 2015-07-19 11:31:49 +01:00
Henry Weller
98685bd6b3 Remove unnecessary use of keyword "explicit" 2015-07-17 18:26:58 +01:00
Henry Weller
94401af010 Resolved issues with virtual function inheritance and warning from clang
Also removed __GNUC__ conditional compilation statements which are no
longer needed.
2015-07-17 12:11:37 +01:00
Henry Weller
bcee47d5ed blockMesh: Correct handling of the -case option
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1773
2015-07-04 23:35:16 +01:00
Henry Weller
72300041df Removed use of the deprecated "register" keyword
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4340.html
2015-06-30 10:26:44 +01:00
Henry Weller
c981db68c7 sampledPlane: Correct handling of coordinate system specification
Patches provided by Timm Severin
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1764
2015-06-25 22:04:00 +01:00
Henry Weller
ad40e110df Update headers 2015-06-24 10:45:42 +01:00
Henry Weller
5e05479e2a Use basicThermo::dictName rather than hard-coding "thermophysicalProperties" 2015-06-24 10:44:57 +01:00
Henry Weller
b73fe0d4c3 utilities/postProcessing: Automate the selection of incompressible/compressible modes 2015-06-24 10:44:02 +01:00
Henry Weller
5c6203309b timeSelector: Add support for -newTimes option
//- Return the set of times selected based on the argList options
    //  including support for \b -newTimes in which times are selected
    //  if the file <fName> does not exist in the time directory.
    //  Also set the runTime to the first instance or the
    //  \c constant/ directory if no instances are specified or available
    static instantList select
    (
        Time& runTime,
        const argList& args,
        const word& fName
    );

This is experimental functionality and currently on test in the yPlus
post-processing utility.
2015-06-24 10:04:29 +01:00
Henry Weller
b7cfd08fcb Update headers 2015-06-23 11:27:05 +01:00
Henry Weller
87f6977bcb Removed support for the legacy SiCortex64 architecture 2015-06-23 11:26:45 +01:00
Henry Weller
35c53a0ee8 createTurbulenceFields: Construct fields and turbulence model for every time step processed
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1749
2015-06-16 12:49:02 +01:00
Henry
a9374358fe viewFactorsGen: Correct container resizing
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1712
2015-05-28 16:13:29 +01:00
Henry
cfe1163dc8 mapFields: Reinstated mapFields from OpenFOAM-2.2.x and renamed the current mapFields -> mapFieldsPar
This required the addition of the meshToMesh class in the sampling
library from OpenFOAM-2.2.x which is now named meshToMesh0.
2015-05-26 11:32:46 +01:00
Henry
605b3ff820 streamFunction: Evaluate which coordinate plan the 2D geometry is in filter-out the normal component
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1703
2015-05-22 22:38:39 +01:00
Henry
9f89faaa69 extrudeMesh: Add wedge patches after edge collapse 2015-05-18 11:54:03 +01:00
Henry
b5d3f85bd4 functionObjects: Upgrade to use new turbulence modeling library 2015-05-17 14:56:40 +01:00
Henry
9e015293b2 foamListTimes: Added '-rm' option to remove the selected time directories
If -rm is specified with the -processor option the selected time
directories are removed from all the processor directories.
2015-05-08 22:47:31 +01:00
Henry
c1b53fda48 planeExtrusion.[HC]: Renamed from plane.[HC] to avoid name clash 2015-05-04 21:16:44 +01:00
Henry
d7e1d5c24d extrudeMesh: Add sector extrusion type and specialize wedge and plane
to create single layer extrusions with wedge and empty front and back
patches respectively.
2015-05-04 20:54:39 +01:00
Henry
5f7d4e4502 refineMesh: Improved command-line argument handling to be more consistent with other OpenFOAM utilities
Command-line option handling:
    + If -all specified or no refineMeshDict exists or, refine all cells
    + If -dict <file> specified refine according to <file>
    + If refineMeshDict exists refine according to refineMeshDict

    When the refinement or all cells is selected apply 3D refinement for 3D
    cases and 2D refinement for 2D cases.
2015-05-04 16:38:03 +01:00
Henry
30d396ae28 viewFactorsGen: Handle baffles
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1680
2015-04-30 22:25:40 +01:00
Henry
0795ebed1f execFlowFunctionObjects: Update handling of turbulence models 2015-04-25 16:31:09 +01:00
Henry
48155ba517 Pe: Create and write volScalarField in addition to the surfaceScalarField for ease of post-processing
Update handling of turbulence models
2015-04-25 16:29:54 +01:00
Henry
ebd85bc514 Update header 2015-04-25 15:13:15 +01:00
Henry
82c0cc5312 timeSelector: Rename option zeroTime -> withZero for consistency with the noZero option 2015-04-25 15:12:08 +01:00
Henry
aba8486680 foamListTimes: Change the default behavior to not include 0 in the list
To include 0 use the -zeroTime option
2015-04-25 11:49:49 +01:00
Henry
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
Henry
a99f9f0378 foamyHexMesh/Make/options: Added ${CGAL_LIBS} 2015-04-21 16:13:52 +01:00
Henry
9c6a3c66d7 reconstructParMesh: Correct handling of time and constant command-line options
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1641
2015-04-18 11:51:51 +01:00
Henry
5a12edc36c reconstructParMesh: Enable -constant and -zeroTime options 2015-04-12 10:01:33 +01:00
Henry
56e9699cb0 viewFactorsGen: Add support for 2D slab geometries
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1649
2015-04-11 11:44:02 +01:00
Henry
2b74a6e3b3 refineMesh: Correct and simplify check for 2D mesh
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1112
2015-03-29 22:19:55 +01:00
Henry
55d6b41d4b vtkPV?FoamMeshVolume: Corrected conversion of tetWedge to VTK_WEDGE
Thanks to Bruno Santos for analysing and fixing this
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1633
2015-03-29 20:17:45 +01:00
Henry
9cd9a9f364 ddtScheme::fvcDdtPhiCoeff: Zero ddtCorr on AMIs
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1421
2015-03-24 15:23:01 +00:00
Henry
8cd3023439 Rationalize position searching and add cell->tet decomposition as the default cell-search algorithm
Resolves issues with probes and findRefCell for meshes in which all cell face-pyramids are positive.
2015-02-25 10:57:06 +00:00
Henry
1845e2014d DSMC: Rationalization and addition of mapping support 2015-02-20 17:24:14 +00:00
Henry
945c4c3d18 fluidThermo: Add compressibleTransportModel as base-class
Needed to create generic compressible turbulence model library
2015-02-17 17:25:26 +00:00
Henry
3673b65b61 surfaceCheck: Make -blockMesh output easier to parse
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1534
2015-02-16 22:15:54 +00:00
Henry
04af7672af refineWallLayer: Rationalize and add support for operating on a list of patch name regular expressions
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=1525
2015-02-14 22:50:59 +00:00
Henry
8628ef2fea Corrected capitalization of Doxygen documentation comments 2015-02-14 13:10:15 +00:00
Henry
1edf292c00 Correct Doxygen multiline comments 2015-02-14 10:59:29 +00:00
Henry
0bf2543df6 utilities: Correct "End" statement to be consistent with all other applications 2015-02-12 22:14:02 +00:00
Henry
525a0b3e0f decomposePar: Do not register Lagrangian IOFields as the names may conflict with those of volFields
Required change to IOobjectList to support the optional no-registration specification
2015-02-12 21:59:17 +00:00
Henry
50268fb910 conformalVoronoiMesh: Name extendedFeatureEdgeMesh correctly 2015-02-12 21:58:19 +00:00
Henry
7a25d8978c Avoid registration of variables which may generate name conflicts 2015-02-12 13:20:20 +00:00
Henry
315ab1225c Update headers 2015-02-12 12:34:27 +00:00
Henry
d01afadbc1 Name fields to avoid duplicate registration 2015-02-12 12:33:45 +00:00
Henry
c778346c96 Formatting: Rationalized the indentation of #include 2015-02-10 20:35:50 +00:00
Henry
633ae4ede0 solvers: rationalize the return statement 2015-02-10 18:20:42 +00:00
Henry
66cb99e696 Updated headers to ensure the class name declared to Doxygen is in the appropriate namespace
Also moved global classes which should be in the Foam namespace into it.
2015-02-09 14:43:11 +00:00
Henry
17f37056df foamUpgradeFvSolution: No longer maintained 2015-02-05 12:12:20 +00:00
Henry
73c306b7c7 Updated header 2015-02-05 12:11:47 +00:00
Henry
9952d06d16 mapFields: Minimum hack provided by Mattijs to get mapFields working again
This version is very inefficient in parallel and does not provide the
-parallelSource or -parallelTarget options which will need to be
reinstanted in the future or we could revert mapFields to the
OpenFOAM-2.2 version.
2015-02-05 12:09:34 +00:00
Henry
98bcdb04d8 transform: Handle codirectional and contradirectional transformation vectors
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=416
2015-02-02 09:44:59 +00:00
Henry
d3c40298db viewFactorsGen/shootRays: Allow the specification of maxDynListLength in viewFactorsDict
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1501
2015-01-27 10:49:23 +00:00
Henry
2f6d77d5a6 Combine yPlusRAS and yPlusLES into the single utility yPlus
which provides y+ values for the near-wall cells for laminar, LES and RAS
2015-01-21 21:09:34 +00:00
Henry
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
Henry
543c0e33e0 applications/utilities/mesh/generation/Allwmake: Updated for changes to foamyHexMesh organization 2015-01-19 09:02:49 +00:00
Henry
8a055c989c Updated headers 2015-01-18 21:16:37 +00:00
Henry
ee3dea5fda Rationalized foamyHexMesh directory structure and build scripts
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1186
2015-01-18 21:13:45 +00:00
Henry
917852b74e Updated headers 2015-01-08 10:45:47 +00:00
Henry
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
Henry
7c83877181 Updated headers 2015-01-06 17:32:02 +00:00
Henry
4fbf622008 wallDist: separate the meshWaveWallDist from the wallDist interface
In preparation for run-time selectable methods
2015-01-06 17:31:02 +00:00
Henry
444dbda097 Ensure __STDC_LIMIT_MACROS is defined before the CGAL headers are included
Additional resolution of bug-report http://www.openfoam.org/mantisbt/view.php?id=1474
2015-01-04 23:43:25 +00:00
Henry
ae019fccfa Removed spurious file
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1374
2015-01-01 16:27:58 +00:00
Henry
ded2f25726 Updated headers 2014-12-31 19:08:15 +00:00
Henry
325b003b6e Added and verified support for 64bit labels
To compile with 64bit labels set

WM_LABEL_SIZE=64

in ~/OpenFOAM/dev/prefs.sh

source ~/.bashrc

then Allwmake in OpenFOAM-dev.

This will build into for example OpenFOAM-dev/platforms/linux64ClangDPInt64Opt

If WM_LABEL_SIZE is unset or set to 32:

WM_LABEL_SIZE=32

the build would be placed into OpenFOAM-dev/platforms/linux64ClangDPInt32Opt

Thus both 32bit and 64bit label builds can coexist without problem.
2014-12-31 19:02:52 +00:00
Henry
38998d5e1f Updated header 2014-12-31 19:02:04 +00:00
Henry
1bddcdaaec orientFaceZone: convert 0 to label 2014-12-31 19:01:13 +00:00
Henry
a2f626ade6 execFlowFunctionObjects: Reconstruct functionObjects if the mesh changes
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1452
2014-12-18 17:13:41 +00:00
Henry
296a302867 Renamed -frounded-math option 2014-12-16 08:37:25 +00:00
Henry
95dcfa46aa Move gcc-specific options to the appropriate wmake rules files 2014-12-15 22:39:21 +00:00
Henry
f4596ad247 Resolve issues relating to compilation with clang-3.5.0 2014-12-15 22:38:10 +00:00
Henry
844b283030 New version of wmake supporting out-of-tree object and dependency files 2014-12-14 21:42:18 +00:00
OpenFOAM-admin
9fb26d59d3 GIT: Repo update 2014-12-11 08:35:10 +00:00
mattijs
2bbddf9cb5 ENH: snappyHexMeshDict: added note 2014-09-30 17:14:16 +01:00
mattijs
18d73c1131 BUG: surfaceCheck: face based data 2014-09-26 17:39:37 +01:00
william
2fdeb139dc BUG: mantis #1389: foamyHexMesh: point insertion was not correctly setting the vertex count 2014-09-08 12:33:32 +01:00
mattijs
81cc21870d ENH: sampleDict: missing entry 2014-09-03 16:04:38 +01:00
mattijs
d4c966de31 ENH: mapFields: expose AMI mapping methods 2014-09-03 11:54:30 +01:00
mattijs
fc2343ae73 ENH: patchSummary: support point fields 2014-08-13 17:16:21 +01:00
mattijs
1083044bc2 ENH: refineHexMesh: add -region option 2014-08-06 17:00:25 +01:00
mattijs
be27bb8641 BUG: extrudeToRegionMesh: memory leak 2014-07-24 17:29:07 +01:00
mattijs
ee3eb6e370 BUG: createPatch: cleanup 2014-07-23 20:30:22 +01:00
mattijs
c98456cda3 STYLE: faceZoneSelection: corrected comment 2014-07-11 10:59:08 +01:00
andy
bb039fc250 ENH: extrudeMesh - migrating new functionlity from internal development line 2014-07-02 16:09:46 +01:00