Commit graph

26 commits

Author SHA1 Message Date
Henry Weller
fa8929df6d Use Zero rather than pTraits<Type>::zero unless a static typed '0' is required 2016-03-22 17:46:52 +00:00
Henry Weller
c13421b10a Matrix: Added (i, j) addressing to allow support for addressing blocks of the matrix
This change brings OpenFOAM into line with the standard matrix
addressing in other C++ libraries for better interoperability.
2016-03-20 19:44:29 +00:00
Henry Weller
930d750bfd Matrix: Switch n() and m() so that now m() = number of rows and n() = number of columns
For consistency with current references and other numerics libraries
2016-03-10 22:53:09 +00:00
Henry Weller
503273c69e src/finiteVolume: Moved function documentation comments into .H files and removed duplicates 2016-02-29 19:58:50 +00:00
Henry Weller
99c000fc94 Rationalized the indentation of C-preprocessor directives 2016-02-29 15:42:03 +00:00
Henry Weller
cd59748bdb tmp: encapsulate refCount to enable the option for tmp to use a specific version 2016-02-28 22:50:24 +00:00
Henry Weller
3a56ebf33d 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
Henry Weller
7d192447f0 Boundary conditions: Added extrapolatedCalculatedFvPatchField
To be used instead of zeroGradientFvPatchField for temporary fields for
which zero-gradient extrapolation is use to evaluate the boundary field
but avoiding fields derived from temporary field using field algebra
inheriting the zeroGradient boundary condition by the reuse of the
temporary field storage.

zeroGradientFvPatchField should not be used as the default patch field
for any temporary fields and should be avoided for non-temporary fields
except where it is clearly appropriate;
extrapolatedCalculatedFvPatchField and calculatedFvPatchField are
generally more suitable defaults depending on the manner in which the
boundary values are specified or evaluated.

The entire OpenFOAM-dev code-base has been updated following the above
recommendations.

Henry G. Weller
CFD Direct
2016-02-20 22:44:37 +00:00
Henry Weller
79f0c385ca Info -> InfoInFunction and updated comments 2016-01-20 17:51:15 +00:00
Henry Weller
a23f79fa7e Info -> InfoInFunction and updated comments 2016-01-20 16:21:37 +00:00
Henry Weller
e029c7c1a3 Update headers 2016-01-11 13:02:52 +00:00
Henry Weller
a56ab5f863 Consistently indent continuation backslashes in macro definitions 2016-01-11 13:00:56 +00:00
Henry Weller
94c05a1e6c Update code to use the simpler C++11 template syntax removing spaces between closing ">"s 2016-01-10 22:41:16 +00:00
Henry Weller
baa5a1df12 LimitFuncs: Update function specializations to satisfy gcc, clang and icpc 2015-12-09 22:37:43 +00:00
Henry Weller
c47adcc10d src/finiteVolume/interpolation: Modified code to conform to OpenFOAM coding standards
declaring the namespace in function definitions in C files
2015-12-09 22:23:38 +00:00
Henry Weller
10aea96ae5 applications: Update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-10 17:53:31 +00:00
Henry Weller
cad9467374 src/finiteVolume: Update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-10 16:55:03 +00:00
Henry Weller
03494fef5d Updated notImplemented -> NotImplemented
The new NotImplemented macro uses __PRETTY_FUNCTION__ for GNU compatible
compilers otherwise __func__ to provide the function name string.
2015-11-01 10:26:37 +00:00
Henry Weller
289d67f825 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
Henry Weller
30af1cdbc4 cellCoBlended: New surfaceInterpolation scheme based on CoBlended using the cell-based Courant number
This scheme is equivalent to the CoBlended scheme except that the Courant
    number is evaluated for cells using the same approach as use in the
    finite-volume solvers and then interpolated to the faces rather than being
    estimated directly at the faces based on the flux.  This is a more
    consistent method for evaluating the Courant number but suffers from the
    need to interpolate which introduces a degree of freedom.  However, the
    interpolation scheme for "Co" is run-time selected and may be specified in
    "interpolationSchemes" and "localMax" might be most appropriate.

    Example of the cellCoBlended scheme specification using LUST for Courant
    numbers less than 1 and linearUpwind for Courant numbers greater than 10:
    \verbatim
    divSchemes
    {
        .
        .
        div(phi,U)  Gauss cellCoBlended 1 LUST grad(U) 10 linearUpwind grad(U);
        .
        .
    }

    interpolationSchemes
    {
        .
        .
        interpolate(Co) localMax;
        .
        .
    }
    \endverbatim
2015-07-14 13:39:57 +01:00
Henry Weller
0d024dd37d 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
0575911f94 LimitedScheme/LimitFuncs: Make the limiter function for symmTensor consistent with tensor
Use the trace as the limiter function for both symmTensor and tensor to
bound the normal stresses rather than the shear stresses.

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1751
2015-06-18 11:45:40 +01:00
Henry
017855b877 Update headers 2015-02-12 10:01:10 +00:00
Henry
4003887517 Do not register temporaries 2015-02-12 10:00:53 +00:00
Henry
ca026b5dc7 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
446e5777f0 Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00