Commit Graph

16626 Commits

Author SHA1 Message Date
Henry Weller
2ddcb12c67 VectorSpace: Change template parameter from nCmpt to Ncmpts for consistency with other template classes 2016-03-10 12:44:53 +00:00
Henry Weller
7c692c18d8 Vector: Add constructor from Foam::zero 2016-03-10 12:44:25 +00:00
Henry Weller
2027059b63 src/OpenFOAM: changed template rank type from int to Foam::direction
Foam::direction is an unsigned type which makes it easier for the
compiler to pickup and report errors in the instantiation of
VectorSpaces and associated types.
2016-03-09 10:10:28 +00:00
Henry Weller
c28a0c0d94 etc/cshrc, etc/config.csh: foamCompiler -> WM_COMPILER_TYPE
for consistency with etc/bashrc and etc/config.sh

See commit 4409a0ea5a
2016-03-09 09:05:35 +00:00
Henry Weller
80c3bcff48 bin/tools/foamConfigurePaths: foamCompiler -> WM_COMPILER_TYPE 2016-03-09 09:05:07 +00:00
Henry Weller
4409a0ea5a etc/bashrc, etc/config.sh: Updates provided by Bruno Santos:
1. "foamCompiler" was changed to a more permanent "WM_COMPILER_TYPE"
    environment variable, so that it can be used by 3rd party
    installation scripts, such as "makeGcc", "makeLLVM" and so on. More
    on this will be provided in issue #1215.

 2. The script functions such as "_foamSource()" and "_foamAddPath()"
    were moved to a new file "etc/config.sh/functions". It has the
    ability to set or unset, depending on whether "WM_BASH_FUNCTIONS" is
    defined or not. This allows for these functions to be reused by
    other scripts, such as "makeGcc".

 3. The script "etc/config.sh/CGAL" relies on whether a local
    environment variable "SOURCE_CGAL_VERSIONS_ONLY" is defined or not,
    so that it will load only the version settings if it's defined. This
    is to make it easier to call this script from "makeCGAL". Although
    it still feels a bit of a clunky hack, but I didn't manage to deduce
    any other way we could do this :( I didn't add indentation within
    the if-block, to make it easier to read the changes. In addition,
    the local variable "common_path" is used to shorten the length of
    the lines and use slightly less repeated code.

 4. Added another new script "etc/config.sh/compiler", which has only
    the version numbers for the compilers taken out from the "settings"
    file. It currently depends on "WM_COMPILER_TYPE" for setting the
    variables, the same way it did with "foamCompiler". This script is
    now always sourced from the "settings" file, for the following
    reasons:

   - "makeGCC" and "makeLLVM" can now take advantage of this script file.

   - The example "compiler" script (detailed next) can rely on this
     script file and then override parameters on-demand, as well as
     allowing for system compilers to have dedicated settings, such as
     setting "WM_CC". This is similar to how the example environment
     script for "paraview" works.

 5. To the script "etc/config.sh/example/compiler" were added a few more examples:

   - It now starts with a block where it first loads the default "compiler" script.

   - Has a "WM_COMPILER=Gcc48u" case example for when we try to use GCC
     4.8 in Ubuntu 15.10. This is just to give the idea that in a
     particular system, we might have several system-wide compiler
     versions. For example, in Ubuntu 15.10, there is GCC 4.7, 4.8 and
     5.2, which could be used for testing performances or compatibility
     with some other 3rd party library.

   - Has the "WM_COMPILER=Icc" case example, related to the original bug
     report, where "WM_CC=icc" and "WM_CXX=icpc", so that the user then
     simply copies this file to their own local preferences folder.

 6. Small bug fix in "etc/config.sh/mpi", where unsetting "minBufferSize" was missing at the end of the script.

 7. Small change in "etc/config.sh/paraview", where "CMAKE_ROOT" is set
    along with "CMAKE_HOME". This is due to a rare issue that occurs on
    people's systems where they have a custom system-wide CMake version
    installed and which is used by having "CMAKE_ROOT" set on that
    environment. This can mess up OpenFOAM's custom ParaView builds,
    given that conflicting CMake versions can lead to not building
    ParaView at all.

   - For more details about "CMAKE_ROOT":
     https://cmake.org/Wiki/CMake_Useful_Variables [^]

 8. The scripts "_foamAddPath _foamAddLib _foamAddMan" were not being
    unset at the end of "settings". They are now unset at the end of
    "bashrc", through a call to the new double-use "functions" script.

Additionally all references to "foamCompiler" have been changed to
"WM_COMPILER_TYPE".

See also http://www.openfoam.org/mantisbt/view.php?id=1232
2016-03-09 09:01:09 +00:00
Henry Weller
4e6f473a01 wmake/src/Makefile: Override WM_COMPILE_OPTION with Opt for optimized compilation of the wmake utilities
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=2021
2016-03-08 14:24:11 +00:00
Henry Weller
21f5499da9 fixedShearStressFvPatchVectorField: Corrected patch nuEff access
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=2020
2016-03-08 14:14:39 +00:00
Henry Weller
e5045949f6 JohnsonJacksonParticle*FvPatchScalarField.C: Corrected null-construction initialization
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=2022
2016-03-08 14:13:05 +00:00
Henry Weller
93285d5fe1 src/OpenFOAM/primitives: Moved the standard static data members for vector and tensor types into VectorSpace
This simplifies the code easing maintenance and the addition of other
VectorSpace types.
2016-03-08 10:57:41 +00:00
Henry Weller
8a93701ef2 simpleFoam, SRFSimpleFoam: Added momentumPredictor option 2016-03-07 15:27:01 +00:00
Henry Weller
ea1593477a SRFWallVelocityFvPatchVectorField: New BC for walls rotating in the SRF
Wall-velocity condition to be used in conjunction with the single rotating
    frame (SRF) model (see: FOAM::SRFModel)

    The condition applies the appropriate rotation transformation in time and
    space to determine the local SRF velocity of the wall.

        \f[
            U_p = - U_{p,srf}
        \f]

    where
    \vartable
        U_p     = patch velocity [m/s]
        U_{p,srf} = SRF velocity
    \endvartable

    The normal component of \f$ U_p \f$ is removed to ensure 0 wall-flux even
    if the wall patch faces are irregular.

    \heading Patch usage

    Example of the boundary condition specification:
    \verbatim
    myPatch
    {
        type            SRFWallVelocity;
        value           uniform (0 0 0);    // Initial value
    }
    \endverbatim
2016-03-07 15:25:52 +00:00
Henry Weller
d62351f53c Tensor: Added inv() member function 2016-03-07 15:25:27 +00:00
Henry Weller
0e1787e44a polyMeshFilter.H: Updated indentation 2016-03-06 21:35:02 +00:00
Henry Weller
ed2cff905c tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/Allrun.pre: Updated for latest version of collapseEdges 2016-03-06 21:34:31 +00:00
Henry Weller
ef86cd63d1 Update "wrmdep -update" to remove dead symbolic links
Patch provided by Bruno Santos
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=2016
2016-03-06 19:13:45 +00:00
Henry Weller
4bc77e6aff Sprucing up the tutorials folder and adding -dict to "collapseEdges"
Patch provided by Bruno Santos
Resolves patch application request http://www.openfoam.org/mantisbt/view.php?id=2015
2016-03-06 19:06:44 +00:00
Henry Weller
7fc1915e1d Vector: added operator=(scalar) 2016-03-06 19:05:34 +00:00
Henry Weller
e7bac07e14 Tensor: Added operator&= 2016-03-06 19:05:14 +00:00
Henry Weller
e18ac8ff50 Matrix: Improved readability of the code 2016-03-06 19:04:53 +00:00
Henry Weller
0f5059927c reactingTwoPhaseEulerFoam: Corrected mass exchange terms in the face-momentum equation
Thanks to Juho Peltola for the patch
2016-03-06 19:02:43 +00:00
Henry Weller
9a8a1c83b0 messageStream: Added DebugInfo and DebugInFunction:
DebugInfo:
    Report an information message using Foam::Info if the local debug
    switch is true

DebugInFunction:
    Report an information message using Foam::Info for FUNCTION_NAME in
    file __FILE__ at line __LINE__ if the local debug switch is true
2016-03-04 11:30:13 +00:00
Henry Weller
0e7278ad5b StaticAssert: Avoid unused typedef messages from gcc 2016-03-04 11:29:37 +00:00
Henry Weller
0f49eb44d5 CocoParserErrors.H: No longer used 2016-03-04 11:29:14 +00:00
Henry Weller
d6396ec5d2 DynamicList: Added initialized constructor and STL erase function 2016-03-04 11:28:35 +00:00
Henry Weller
2bbc844ea0 Rationalize the autoMesh library: autoHexMesh -> snappyHexMesh
autoRefine -> snappyRefine
autoLayer -> snappyLayer
autoSnap -> snappySnap
2016-03-01 16:21:31 +00:00
Henry Weller
eb5d349242 Rationalize the autoMesh library: autoMesh -> snappyHexMesh 2016-03-01 16:01:42 +00:00
Henry Weller
3d295e9eff src/OpenFOAM: Removed unused files 2016-03-01 12:29:33 +00:00
Henry Weller
5db3116a74 src/OpenFOAM: Moved function documentation comments into .H files and removed duplicates 2016-03-01 12:29:01 +00:00
Henry Weller
3963149c05 src/OpenFOAM: Moved function documentation comments into .H files and removed duplicates 2016-02-29 21:21:41 +00:00
Henry Weller
1317a716e1 src/finiteVolume: Moved function documentation comments into .H files and removed duplicates 2016-02-29 19:58:50 +00:00
Henry Weller
8b9fd56439 OpenFOAM: Added experimental version of 'tmp' which does not use reference counting 2016-02-29 18:36:37 +00:00
Henry Weller
7ba41e0095 Removed duplicate, inconsistent and spurious comments in .C files 2016-02-29 18:33:54 +00:00
Henry Weller
95d146ecdf Rationalized the indentation of C-preprocessor directives 2016-02-29 15:42:03 +00:00
Henry Weller
1277b4b8c4 sampledSets: use smallDist consistently between getTrackingPoint and other tracking functions
Use different hit-tolerances between sampling methods to account for the
difference in the "offset" definition.
2016-02-29 12:09:46 +00:00
Henry Weller
dac76d680c tmp: encapsulate refCount to enable the option for tmp to use a specific version 2016-02-28 22:50:24 +00:00
Henry Weller
eb1498f4c7 ConeNozzleInjection: Corrected copy constructor
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2010
2016-02-28 18:22:38 +00:00
Henry Weller
0db8ff34fd src/OpenFOAM/containers: Updated formatting and comments 2016-02-28 18:21:58 +00:00
Henry Weller
0830ace954 tmp: Limit the number of references to a temporary object to 2
which reduces the number of potential problems with the reuse of
temporary objects.

In order to avoid unnecessary creation of tmp's referring to temporary
objects the assignment operator now transfers ownership of the object
and resets the argument.
2016-02-27 18:11:09 +00:00
Chris Greenshields
93d7a419aa Packaged coordinateSystem: updated localAxesRotation -> cylindrical 2016-02-26 16:12:50 -06:00
Henry Weller
cd852be3da OpenFOAM: Updated all libraries, solvers and utilities to use the new const-safe tmp
The deprecated non-const tmp functionality is now on the compiler switch
NON_CONST_TMP which can be enabled by adding -DNON_CONST_TMP to EXE_INC
in the Make/options file.  However, it is recommended to upgrade all
code to the new safer tmp by using the '.ref()' member function rather
than the non-const '()' dereference operator when non-const access to
the temporary object is required.

Please report any problems on Mantis.

Henry G. Weller
CFD Direct.
2016-02-26 17:31:28 +00:00
Henry Weller
f4ba71ddd0 OpenFOAM libraries: Updated to use the new const-safe tmp 2016-02-26 08:13:59 +00:00
Henry Weller
e1405f2260 FieldField, DimensionedField, GeometricField: Simplified tmp reuse and cleanup 2016-02-25 18:29:00 +00:00
Henry Weller
85fa6c2649 Field: Simplified tmp reuse and cleanup 2016-02-25 15:07:14 +00:00
Henry Weller
dfa89cf8ee tmp: Improved diagnostics in case of inappropriate reuse 2016-02-25 11:48:15 +00:00
Henry Weller
acac7d786b tutorials: Added missing 'value' entry for 'calculatedFvPatchField's 2016-02-24 16:21:50 +00:00
Henry Weller
271935c1bf calculatedFvPatchField: 'value' entry is now required to avoid problems with non-initialization 2016-02-24 16:01:40 +00:00
Henry Weller
65edfca2f9 wallDist: Updated for new 'tmp' 2016-02-24 15:57:17 +00:00
Henry Weller
37c1c04487 reactingTwoPhaseEulerFoam/Make/options: Removed temporary debug option 2016-02-24 14:05:20 +00:00
Henry Weller
c02bf70ea7 tmp: Improved reference count checks to provide better error diagnostics
in case of tmp misuse.

Simplified tmp reuse pattern in field algebra to use tmp copy and
assignment rather than the complex delayed call to 'ptr()'.

Removed support for unused non-const 'REF' storage of non-tmp objects due to C++
limitation in constructor overloading: if both tmp(T&) and tmp(const T&)
constructors are provided resolution is ambiguous.

The turbulence libraries have been upgraded and '-DCONST_TMP' option
specified in the 'options' file to switch to the new 'tmp' behavior.
2016-02-24 12:47:36 +00:00