Commit Graph

2745 Commits

Author SHA1 Message Date
266651f1b9 surfaceMeshConvert: Reinstated missing error messages 2016-04-04 13:53:20 +01:00
a9b8bb13e0 applications/.*/Allwmake: Updated to support "stop on 1st error"
Patch contributed by Bruno Santos
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=2042
2016-04-04 09:03:40 +01:00
6e573ad7e8 UList: Rationalize assignment (shallow-copy vs deep-copy)
//- Disallow default shallow-copy assignment
    //
    //  Assignment of UList<T> may need to be either shallow (copy pointer)
    //  or deep (copy elements) depending on context or the particular type
    //  of list derived from UList and it is confusing and prone to error
    //  for the default assignment to be either.  The solution is to
    //  disallow default assignment and provide separate 'shallowCopy' and
    //  'deepCopy' member functions.
    void operator=(const UList<T>&) = delete;

    //- Copy the pointer held by the given UList.
    inline void shallowCopy(const UList<T>&);

    //- Copy elements of the given UList.
    void deepCopy(const UList<T>&);
2016-04-03 10:26:05 +01:00
88bd912374 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
730f89dc9d Use Zero rather than pTraits<Type>::zero unless a static typed '0' is required 2016-03-22 17:46:52 +00:00
cb65ba71d7 Made all template declarations consistent using 'class' rather than 'typename' 2016-03-22 15:02:55 +00:00
caf8776f9b SquareMatrix, SymmetricSquareMatrix: Changed the constructor from size to require only n
This avoids the need to check that the m and n dimensions are the same.
2016-03-22 14:13:48 +00:00
ea6eac35a6 etc/config.sh/CGAL: updated
Patch contributed by Bruno Santos:
 - "etc/config.sh/CGAL":
   - Indented the contents of the recently added if block.
   - Added comment about using system versions.
   - Library paths are now only added if the respective version is not "boost-system" and "cgal-system".

 - "src/renumber/Allwmake":
   It now relies on the previous file to get the version for
   Boost (the same way as in "makeCGAL"). This is so that it will also
   build "SloanRenumber" if "boost_version" is set to "boost-system".

 - "applications/utilities/mesh/generation/Allwmake":
   It now also relies on the script "config.sh/CGAL" to get the
   version for CGAL. If "cgal_version" is set to "cgal-system", it
   will now also build "foamy*Mesh" utilities and respective
   libraries.

Resolves report http://www.openfoam.org/mantisbt/view.php?id=1232
2016-03-22 07:58:38 +00:00
67a51b1fdd 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
fa5867137d transformPoints, surfaceTransformPoints: Updated quaternion construction from Euler-angles
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2024
2016-03-14 16:40:35 +00:00
e57874859a 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
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
2bbc844ea0 Rationalize the autoMesh library: autoHexMesh -> snappyHexMesh
autoRefine -> snappyRefine
autoLayer -> snappyLayer
autoSnap -> snappySnap
2016-03-01 16:21:31 +00:00
eb5d349242 Rationalize the autoMesh library: autoMesh -> snappyHexMesh 2016-03-01 16:01:42 +00:00
5db3116a74 src/OpenFOAM: Moved function documentation comments into .H files and removed duplicates 2016-03-01 12:29:01 +00:00
7ba41e0095 Removed duplicate, inconsistent and spurious comments in .C files 2016-02-29 18:33:54 +00:00
95d146ecdf Rationalized the indentation of C-preprocessor directives 2016-02-29 15:42:03 +00:00
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
5a74397fe4 refineMesh: Added customizable direction fields to multiDirRefinement
Contribution provided by Bruno Santos
Resolves feature request http://www.openfoam.org/mantisbt/view.php?id=2004
2016-02-22 17:06:18 +00:00
96b0f62d04 surfaceCoarsen: Changed List<::... to List< ::... for gcc-4.5 2016-02-21 09:03:39 +00:00
99a10ecea6 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
350d03246e scripts: Reformat with consistent section separators 2016-02-15 18:30:24 +00:00
69b59b6586 Renamed PV4Readers -> PVReaders to avoid confusion when compiling the reader for ParaView-5 2016-02-10 21:12:49 +00:00
968c888fc4 Rename DataEntry -> Function1
Function1 is an abstract base-class of run-time selectable unary
functions which may be composed of other Function1's allowing the user
to specify complex functions of a single scalar variable, e.g. time.
The implementations need not be a simple or continuous functions;
interpolated tables and polynomials are also supported.  In fact form of
mapping between a single scalar input and a single primitive type output
is supportable.

The primary application of Function1 is in time-varying boundary
conditions, it also used for other functions of time, e.g. injected mass
is spray simulations but is not limited to functions of time.
2016-02-08 16:18:07 +00:00
7ec6f28c49 Added support for ParaView-5.0.0
PV4FoamReaders: Updated to build with ParaView-5.0.0
paraFoam: Updated to load PV4FoamReaders for ParaView-5.0.0

Currently this is experimental but if it becomes clear that ParaView-4
and ParaView-5 are and will remain consistent with respect to readers
the plan is to rename

PV4 -> PV

or

PV4 -> PV45 if it is assumed that PV6 may need to be different.
2016-02-08 10:03:55 +00:00
a9bb9c3b99 Updated header 2016-02-07 13:34:03 +00:00
d1387a8563 DataEntry: Created the DataEntryTypes namespace for all the concrete DataEntry types
to avoid name conflicts with these primitive names in the OpenFOAM namespace
2016-02-07 13:32:38 +00:00
34d2890952 foamyHexMeshBackgroundMesh: Updated to compile 2016-02-03 21:24:38 +00:00
a5c829c91b doxygenXmlParser: pre-construct and compile constant regular expressions
and pre-construct constant strings and names

Speeds-up parsing of DTAGS so that lookup of a name takes ~1s

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=982
2016-02-03 16:28:00 +00:00
a55db28a06 rawSurfaceWriter: Added support for compressed output
Patch provided by Armin Wehrfritz
Resolves feature request http://www.openfoam.org/mantisbt/view.php?id=843
2016-02-02 20:22:27 +00:00
472fa0674a Update headers 2016-02-02 20:09:58 +00:00
8b9698ad43 processorPolyPatch, processorCyclicPolyPatch: Rationalized the construction of the patch name
This change ensures that these patches are named consistently so that
they can be looked-up as required in e.g. patchMeanVelocityForce
2016-02-02 20:07:16 +00:00
5728c1f173 Info -> InfoInFunction 2016-01-19 21:58:11 +00:00
9de3a4280e foamToVTK: Default to ASCII format when WM_LABEL_SIZE=64
Based on patch provided by Alexey Matveichev
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1975
2016-01-19 16:28:23 +00:00
1896599d8b Add support for flex-2.6
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1974
2016-01-18 19:44:38 +00:00
59b578f155 Provide consistency in assignment operators
Always return void to avoid various bugs associated with automatic
type conversion.

Resolves request http://openfoam.org/mantisbt/view.php?id=1973
2016-01-17 18:56:28 +00:00
56fa7c0906 Update code to use the simpler C++11 template syntax removing spaces between closing ">"s 2016-01-10 22:41:16 +00:00
4eba393fe1 Update code to use the simpler C++11 template syntax 2016-01-10 19:20:16 +00:00
acb9ec8b46 wmake/rules: Add -std=c++0x to formally enable support for of C++11 features
The c++0x is used rather than c++11 to support gcc-4.5.?
2016-01-10 19:17:31 +00:00
75cf86b769 Correct formatting: "forAll (" -> "forAll("
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1967
2016-01-09 23:10:16 +00:00
95687c59ec wallShearStress: Now may be used with any turbulence model (laminar, RAS or LES/DES)
Resolves feature-request http://www.openfoam.org/mantisbt/view.php?id=1939
2015-12-03 09:15:09 +00:00
633e2b1255 Minor updates to aid porting to FreeBSD
Based on patches provided by Jason Bacon
2015-12-02 18:18:06 +00:00
736621b945 fvOptions: Reorganized and updated to simplify use in sub-models and maintenance
fvOptions are transferred to the database on construction using
fv::options::New which returns a reference.  The same function can be
use for construction and lookup so that fvOptions are now entirely
demand-driven.

The abstract base-classes for fvOptions now reside in the finiteVolume
library simplifying compilation and linkage.  The concrete
implementations of fvOptions are still in the single monolithic
fvOptions library but in the future this will be separated into smaller
libraries based on application area which may be linked at run-time in
the same manner as functionObjects.
2015-12-02 11:49:52 +00:00
ac2a275a75 wallHeatFlux: Corrected sign of radiative heat-flux
Corrects feature-request http://www.openfoam.org/mantisbt/view.php?id=1856
Patch provided by Juho Peltola
2015-12-02 11:47:11 +00:00
ba2f46f12a applications: Added fvOptions library to link 2015-12-01 16:09:19 +00:00
2c2e8247ef mirrorFvMesh: Corrected parallel operation
Patch provided by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1494
2015-11-29 21:40:37 +00:00
660b54b728 moveDynamicMesh: Iterate over mesh.update() according to the PIMPLE settings
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1926
2015-11-25 16:54:14 +00:00
093b4aade6 chemkinReader: Add support for reading transport properties from dictionary
Note the dictionary is in OpenFOAM format not CHEMKIN.

Patch provided by Daniel Jasinski
Resolves feature request http://www.openfoam.org/mantisbt/view.php?id=1888
2015-11-20 18:55:36 +00:00
d968ee30e1 TurbulenceModels: Improved instantiation of single-phase models in solvers
Simplifies lookup of RAS or LES models
2015-11-18 21:10:03 +00:00
22a4b5776b createTurbulenceFields: Specification of turbulence fields now command-line option
Usage: createTurbulenceFields [OPTIONS]
options:
  -case <dir>       specify alternate case directory, default is the cwd
  -constant         include the 'constant/' dir in the times list
  -fields <wordReList>
                    specify which turbulence fields (k, epsilon, omega, R) to
                    write - eg '(k omega)' or '(R)' or '(.*)'.
  -latestTime       select the latest time
  -newTimes         select the new times
  -noFunctionObjects
                    do not execute functionObjects
  -noZero           exclude the '0/' dir from the times list, has precedence
                    over the -withZero option
  -parallel         run in parallel
  -roots <(dir1 .. dirN)>
                    slave root directories for distributed running
  -time <ranges>    comma-separated time ranges - eg, ':10,20,40:70,1000:'
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage

Resolves feature request http://www.openfoam.org/mantisbt/view.php?id=1912
2015-11-13 10:55:34 +00:00