Commit graph

71 commits

Author SHA1 Message Date
Henry Weller
cb9732204d Replaced StaticAssert with the C++11 equivalent static_assert 2016-04-26 20:44:55 +01:00
Henry Weller
6fd4ce6cc3 Revert "src/postProcessing/functionObjects/field/Make/files: Corrected"
This reverts commit 73fe45cd27.
2016-04-26 20:33:45 +01:00
Henry Weller
73fe45cd27 src/postProcessing/functionObjects/field/Make/files: Corrected 2016-04-26 20:31:58 +01:00
Henry Weller
a8bf4be58a Standardized cell, patch, face and processor loop index names 2016-04-25 12:00:53 +01:00
Henry Weller
db1f124025 dictionary: Corrected topDict()
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2060
2016-04-21 21:08:56 +01:00
Henry Weller
56668b2406 Pstream: optimisation of data exchange
Contributed by Mattijs Janssens.

1. Any non-blocking data exchange needs to know in advance the sizes to
   receive so it can size the buffer.  For "halo" exchanges this is not
   a problem since the sizes are known in advance but or all other data
   exchanges these sizes need to be exchanged in advance.

   This was previously done by having all processors send the sizes of data to
   send to the master and send it back such that all processors
   - had the same information
   - all could work out who was sending what to where and hence what needed to
     be received.

   This is now changed such that we only send the size to the
   destination processor (instead of to all as previously). This means
   that
   - the list of sizes to send is now of size nProcs v.s. nProcs*nProcs before
   - we cut out the route to the master and back by using a native MPI
     call

   It causes a small change to the API of exchange and PstreamBuffers -
   they now return the sizes of the local buffers only (a labelList) and
   not the sizes of the buffers on all processors (labelListList)

2. Reversing the order of the way in which the sending is done when
   scattering information from the master processor to the other
   processors. This is done in a tree like fashion. Each processor has a
   set of processors to receive from/ send to. When receiving it will
   first receive from the processors with the least amount of
   sub-processors (i.e. the ones which return first). When sending it
   needs to do the opposite: start sending to the processor with the
   most amount of sub-tree since this is the critical path.
2016-04-02 18:32:11 +01:00
Henry Weller
44c73bfbe1 Made all template declarations consistent using 'class' rather than 'typename' 2016-03-22 15:02:55 +00:00
Henry Weller
59c9f3594e Updated header 2016-03-20 10:35:35 +00:00
Henry Weller
9209192b65 objectRegistry: Set the path of the Time objectRegistry
Patch contributed by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2030
2016-03-20 10:31:48 +00:00
Henry Weller
7037737d03 Updated Doxygen documentation and files
Contributed by Bruno Santos
Resolves patch report http://www.openfoam.org/mantisbt/view.php?id=2023

Update online documentation http://openfoam.github.io/Documentation-dev/html/
2016-03-14 11:00:24 +00:00
Henry Weller
e0451c75ec 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
8b8d0a02ba StaticAssert: Avoid unused typedef messages from gcc 2016-03-04 11:29:37 +00:00
Henry Weller
41594f70eb CocoParserErrors.H: No longer used 2016-03-04 11:29:14 +00:00
Henry Weller
bd893a5357 src/OpenFOAM: Removed unused files 2016-03-01 12:29:33 +00:00
Henry Weller
5f729820a1 src/OpenFOAM: Moved function documentation comments into .H files and removed duplicates 2016-03-01 12:29:01 +00:00
Henry Weller
d020141e48 src/OpenFOAM: Moved function documentation comments into .H files and removed duplicates 2016-02-29 21:21:41 +00:00
Henry Weller
c544bec896 Removed duplicate, inconsistent and spurious comments in .C files 2016-02-29 18:33:54 +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
79f0c385ca Info -> InfoInFunction and updated comments 2016-01-20 17:51:15 +00:00
Henry Weller
4426006d69 Info -> InfoInFunction and updated comments 2016-01-20 10:18:13 +00:00
Henry Weller
f9a8134c74 Updated header 2016-01-19 21:58:32 +00:00
Henry Weller
d70384fcc1 Info -> InfoInFunction 2016-01-19 21:58:11 +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
36f2d69888 Update code to use the simpler C++11 template syntax 2016-01-10 19:20:16 +00:00
Henry Weller
016aad0d72 functionObjects: Format time according to the specification in controlDict
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1921
2015-11-20 13:22:51 +00:00
Henry Weller
cc99b65d77 src/OpenFOAM: Update ...IOErrorIn -> ...IOErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-10 21:13:04 +00:00
Henry Weller
1944b09bb5 SolverPerformance: Complete the integration of the templated SolverPerformance<Type>
Now solvers return solver performance information for all components
with backward compatibility provided by the "max" function which created
the scalar solverPerformance from the maximum component residuals from
the SolverPerformance<Type>.

The residuals functionObject has been upgraded to support
SolverPerformance<Type> so that now the initial residuals for all
(valid) components are tabulated, e.g. for the cavity tutorial case the
residuals for p, Ux and Uy are listed vs time.

Currently the residualControl option of pimpleControl and simpleControl
is supported in backward compatibility mode (only the maximum component
residual is considered) but in the future this will be upgraded to
support convergence control for the components individually.

This development started from patches provided by Bruno Santos, See
http://www.openfoam.org/mantisbt/view.php?id=1824
2015-11-10 08:50:11 +00:00
Henry Weller
d5b4448e1a src/OpenFOAM: Update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-08 12:23:52 +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
ff10fe0d5e messageStream, error: Add new versions of message and error macros
which use the __PRETTY_FUNCTION__ constant string to provide the function name
2015-10-30 17:30:26 +00:00
Henry Weller
f623ba2542 Make Doxygen documentation consistent with the rest of OpenFOAM 2015-10-29 22:40:41 +00:00
Henry Weller
fdd1beccf4 functionObjectFile: Use wordList rather than wordHashSet to maintain order
Change based on patch provided by Hassan Kassem
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1796
2015-08-05 17:38:31 +01:00
Henry Weller
e6e7820ae5 Upgrade Intel C++ compiler to icpc (ICC) 15.0.3 20150407
This resolves a whole range of issues and work-arounds with earlier
releases.  This version of icpc is more or less compatible with the
latest gcc and clang compilers and only required one hack to avoid
warnings from PackedBoolList.H.
2015-07-17 16:50:40 +01:00
Henry Weller
77bf182edc 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
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
0b5082b8c7 Correct typo 2015-06-24 10:06:56 +01:00
Henry Weller
97b0882ef4 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
1a3ef4d827 IOobject: Added member function "member()" which returns the member name of the object
i.e. without the group suffix.

Patch provided by William Bainbridge
2015-06-04 17:09:42 +01:00
Henry
54af0e3359 Time: Correct precision adjustment for user-time 2015-05-20 12:43:54 +01:00
Henry
d9090fcf42 messageStream: Remove confusing argument-based conditional output
This had been used in functionObjects:

    Info(log)<< "messages" << data << ....

in which it is not at all clear what the "log" argument does whereas

    if (log) Info<< "messages" << data << ....

is totally clear and more efficient.
2015-05-18 11:54:56 +01:00
Henry
db4ac98fd8 faceSource: Writing the total area of the faceSource (sum(magSf)) for each time is now optional
Previous behavior which may be useful for moving-mesh cases can be
selected using the optional entry:
    writeTotalArea  yes;

The initial total area is written in the log and data file header e.g.:

 #   Source : faceZone f0
 #   Faces  : 8
 #   Area   : 1.063860e-02
2015-04-26 16:32:19 +01:00
Henry
0fe1967c22 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
Henry
2a7c6c18e3 potentialFoam: No longer executes functionObjects by default
Use the new -withFunctionObjects command-line option to execute functionObjects
2015-04-25 21:56:14 +01:00
Henry
c7e807cf74 timeSelector: Rename option zeroTime -> withZero for consistency with the noZero option 2015-04-25 15:12:08 +01:00
Henry
cb82ae7d96 timeSelector: Change select0 to return 'constant' if no times are specified or available
This allows checkMesh and other mesh manipulation utilities to operate
on the mesh without any time directories being present.
2015-04-25 11:51:06 +01:00
Henry
fbb0a87995 Time: Corrected message when maximum time-precision is reached
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=815
2015-03-22 09:48:49 +00:00