Commit Graph

22283 Commits

Author SHA1 Message Date
95a33c2f68 ENH: wordRes::uniq() removes all duplicates
- previously just removed duplicate literals, but now remove any
  duplicates.

- Replace previous wordHashSet implementation with a linear search
  instead. The lists are normally fairly small and mostly just have
  unique entries anyhow. This reduces the overall overhead.
2019-02-14 11:03:04 +01:00
60c314150c ENH: ensure self-assignment and self-swapping are a no-op for string types
- simplifies their use when reordering lists etc.
  (word, fileName, keyType, wordRe)

- "unfriend" IO operators for string types. They require no internal access

- add compile/uncompile methods to keyType for symmetry with wordRe

- when outputting keyType/wordRe, be more explicit about them using
  writeQuoted()
2019-02-14 09:06:43 +01:00
df35627e69 ENH: controlDict: added entry for clarity. 2019-02-14 12:41:26 +00:00
482a1b08a7 ENH: scotchDecomp: check validity of processorWeights. Fixes #1207. 2019-02-14 12:40:25 +00:00
2833521576 ENH: for-range, forAllIters() ... in meshTools/
- reduced clutter when iterating over containers
2019-01-07 09:20:51 +01:00
24861f5158 ENH: for-range, forAllIters() ... in functionObjects/
- reduced clutter when iterating over containers
2019-01-07 09:20:51 +01:00
60234ab007 STYLE: reduced nesting on return branching 2019-02-13 08:06:36 +01:00
4bc3b2b9cb STYLE: minor adjustments for code formatting and comments 2019-02-12 20:18:06 +01:00
d1bc0d6e56 ENH: lazy evaluation of subRegion in regionFunctionObject (#1202)
- delay dereferencing of optional subRegion entries until an
  objectRegistry is required.

  This improves usabilty when reference objects do not yet exist
  at the time of construction.
2019-02-12 13:54:02 +01:00
4e7ba1800a ENH: delay evaluation of surfaces for fluxSummary (issue #1202)
- complete any pending initialisation on write().
  Allows lazier evaluation until when surfaces are actually available.
2019-02-12 12:39:49 +01:00
bfb0693bbe ENH: delay evaluation of surfaces for surfaceFieldValue (issue #1202)
- complete any pending initialisation on write().
  Allows lazier evaluation until when the surfaces are actually needed.
2019-02-12 12:39:49 +01:00
52101db781 SUBMODULES: catalyst updated to use vtk::vtuAdaptor 2019-02-12 17:56:11 +01:00
ff54ef8299 ENH: additional vtk::Tools methods for handling faces, points etc.
- includes initial relocation of low-level vtu handling.
  Extracted, refactored from the Catalyst function object.
2019-02-03 17:24:26 +01:00
966fc4c503 TUT: add missing fields 2019-02-12 16:46:40 +01:00
5c6b0989a4 ENH: for-range, forAllIters() ... in sampling/, surfMesh/
- reduced clutter when iterating over containers
2019-01-07 09:20:51 +01:00
655f7d1997 ENH: for-range, forAllIters() ... in parallel/
- reduced clutter when iterating over containers
2019-01-07 09:20:51 +01:00
45590671ac ENH: for-range, forAllIters() ... in dynamicMesh/
- reduced clutter when iterating over containers
2019-01-07 09:20:51 +01:00
f5163e50ff ENH: for-range, forAllIters() ... in genericPatchFields/
- reduced clutter when iterating over containers
2019-01-07 09:20:51 +01:00
8d5894174f ENH: for-range, forAllIters() ... in conversion/
- reduced clutter when iterating over containers
2019-01-07 09:20:51 +01:00
e3e0d7c8b9 ENH: add possibility to change const reference in tmp.
- previously it was only possible to reset a pointer, but not to
  change a const-reference directly (needed a swap() to do this).
2019-02-11 18:23:06 +01:00
de673f3bcf STYLE: consolidate 'clear' when initialising surfaceFieldValue 2019-02-11 15:59:14 +01:00
e6937f60de ENH: add Ensight output support for a labelField (treat like scalarField) 2019-02-11 16:03:10 +01:00
c137d3f823 ENH: derivedFields functionObject to create some predefined, calculated fields
- currently supports pTotal, rhoU.
2019-02-08 17:47:45 +01:00
e2754962cc ENH: add remove objects handling in timeFunctionObject and regionFunctionObject
- makes it easier to implement functionObject or field object removal
2019-02-08 17:47:45 +01:00
8f92fa016f ENH: write/clear on all components (issue #1199)
- use registry checkOut for removeRegisteredObject function object
2019-02-11 10:12:17 +01:00
f6d462a246 STYLE: make objectRegistry::cfindIOobject() protected instead of public 2019-02-11 10:58:18 +01:00
4e7ac82060 STYLE: derive surface sampling from fvMeshFunctionObject 2019-02-11 09:47:13 +01:00
75a691ecfa ENH: generic: add genericFvsPatchField 2019-02-11 17:02:14 +00:00
f2d735264f COMP: polyMeshTetDecomposition: vGreat vs VGREAT 2019-02-11 12:11:59 +00:00
12d9a159dc ENH: Function1: better error message. Fixes #1200. 2019-02-11 12:10:47 +00:00
9580a0e243 isoSurface: Fix for isoSurface 'eroding' surfaces down to nothing
The occurrence is from cells with vertices that are shared between two faces
only (these vertices can originate from hex refinement). Decomposing both faces
can occasionally produce triangles with identical vertices and this results in a
non-manifold edge which triggers the erosion procedure.

Avoided by detecting cells with these special vertices and making sure the tet-decomposition
never uses the same points on the faces using them.

Patch contributed by Mattijs Janssens
2019-02-08 14:45:54 +00:00
bb73eb63a3 STYLE: DFSEM inlet - updated messages when checking validity of the stress tensors 2019-02-11 10:23:45 +00:00
96b0bce80a ENH: forces function object - made user selection clearer when running 2019-02-11 09:22:26 +00:00
5610da9f95 STYLE: missing space in warning message 2019-02-08 18:53:27 +01:00
1e607ac62e TUT: use coarser grid for gasMixing tutorial and run in parallel 2019-02-08 18:43:08 +01:00
e5b3af9c05 ENH: add failsafe version of Enum::get() 2019-02-08 16:51:54 +01:00
27c58dde4c STYLE: provide boolList, boolUList typedefs directly in container
- move declaration of emptyLabelList (now deprecated) out of List.H
2019-02-08 16:35:53 +01:00
7904e4a73f COMP: resolved compiler warnings 2019-02-08 09:32:53 +00:00
e929a20921 STYLE: Header clean-up 2019-02-08 09:30:46 +00:00
9cb57f7fa8 ENH: restart: save/restore cumulative continuity error. See #1172. 2019-02-07 14:28:30 +00:00
e3008553e8 ENH: uniformFixedValue: adapt point bc. See #1046. 2019-02-07 14:08:03 +00:00
078e34746e ENH: code adjustments for updated NullObject
- can now safely use labelList::null() instead of emptyLabelList for
  return values. No special treatment required for lists.

  Possible replacements:

      if (notNull(list) && list.size())  ->  if (list.size())
      if (isNull(list) || list.empty())  ->  if (list.empty())

  The receiver may still wish to handle differently to distinguish
  between a null list and an empty list, but no additional special
  protection is required when obtaining sizes, traversing, outputting
  etc.
2019-02-07 13:04:24 +01:00
0800e021ad ENH: improved handling of zone allocation in surfMesh
- relocate zone IO from Detail::MeshedSurfaceIOAllocator into surfMesh
  directly to allow re-purposing of MeshedSurfaceIOAllocator

- provide meshedSurf::emptySurface zero-sized placeholder implementation

- add concrete implementation of meshedSurf::zoneIds() to simplify
  overloading
2019-01-22 09:44:18 +01:00
eaa3da72c5 ENH: extend size of NullObject for safer reinterpret cast
- previously had a single pointer/value zeros (8 bytes), this meant
  that the reinterpret cast to a List would yield a reference that
  could be unsafe under certain conditions.

  Eg,
     const labelList& myList = labelList::null();

     Info<< myList.size() << nl; // OK since size is the first parameter

     SubList<label>(myList, 0);  // Unsafe

  The SubList usage is unsafe since it passes in pointer and size into
  the underlying UList. However, the pointer from the labelList::null()
  will be whatever happens to be around in memory immediately after the
  NullObject singleton. This is mostly not a problem if the List size
  is always checked, but does mean that the data pointer is rather
  dubious.

- Increase the size of the nullObject singleton to 32 bytes of zeros
  to ensure that most reinterpret casting will not result in objects
  that reference arbitrary memory.

  The 32-byte data size is rather arbitrary, but covers most basic
  containers.
2019-02-07 11:13:13 +01:00
2016f88eba ENH: use vtk::surfaceWriter in shortestPathSet debugging 2019-02-07 09:45:13 +01:00
3a6e596a09 STYLE: indentation 2019-02-05 09:06:24 +01:00
7d023d035c ENH: PatchFunction1: work with points. See 1046. 2019-02-07 10:33:46 +00:00
ce7e921f21 ENH: restart: save/restore cumulative continuity error. See #1172. 2019-02-07 10:27:03 +00:00
c59d5c6213 Merge branch 'feature-object-registry-search' into 'develop'
Feature object registry search

See merge request Development/OpenFOAM-plus!232
2019-02-07 08:59:07 +00:00
154029ddd0 BOT: Cleaned up header files 2019-02-06 12:28:23 +00:00