Commit Graph

22257 Commits

Author SHA1 Message Date
4d8f5220ee COMP: polyMeshTetDecomposition: vGreat vs VGREAT 2019-02-11 12:11:59 +00:00
a3abdc5e16 ENH: Function1: better error message. Fixes #1200. 2019-02-11 12:10:47 +00:00
c50ea3cb83 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
b59fbe72c3 STYLE: DFSEM inlet - updated messages when checking validity of the stress tensors 2019-02-11 10:23:45 +00:00
cad01fea73 ENH: forces function object - made user selection clearer when running 2019-02-11 09:22:26 +00:00
2243efa9aa STYLE: missing space in warning message 2019-02-08 18:53:27 +01:00
6db9acc163 TUT: use coarser grid for gasMixing tutorial and run in parallel 2019-02-08 18:43:08 +01:00
49615340d4 ENH: add failsafe version of Enum::get() 2019-02-08 16:51:54 +01:00
59cb856f00 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
eff74413be COMP: resolved compiler warnings 2019-02-08 09:32:53 +00:00
f38c0f7a27 STYLE: Header clean-up 2019-02-08 09:30:46 +00:00
f76136f97e ENH: restart: save/restore cumulative continuity error. See #1172. 2019-02-07 14:28:30 +00:00
0c1c075c5b ENH: uniformFixedValue: adapt point bc. See #1046. 2019-02-07 14:08:03 +00:00
1e772411f6 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
55cebb47ef 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
b9e801ce91 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
800ef8f815 ENH: use vtk::surfaceWriter in shortestPathSet debugging 2019-02-07 09:45:13 +01:00
a7bb3e014c STYLE: indentation 2019-02-05 09:06:24 +01:00
9461d950d2 ENH: PatchFunction1: work with points. See 1046. 2019-02-07 10:33:46 +00:00
c6cf671d28 ENH: restart: save/restore cumulative continuity error. See #1172. 2019-02-07 10:27:03 +00:00
97c8ca83a4 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
988e4cad7f BOT: Added OpenCFD copyright prior to transfer - moved files 2019-02-06 14:22:42 +00:00
4f6bea3264 BOT: Added OpenCFD copyright prior to transfer - same file locations 2019-02-06 12:49:44 +00:00
b921ae298e BOT: Cleaned up header files 2019-02-06 12:28:23 +00:00
4d82589841 ENH: exact restart. Fixes #1172. 2019-02-06 12:13:52 +00:00
6922deb9fb STYLE: relax working about patch level 2019-02-06 12:48:13 +01:00
b5ee515afc CONFIG: bump API version number to 1901 to register recent changes
- objectRegistry search, erase methods
  - clip, minMax
  - function object triggering
  ...
2019-02-06 12:01:29 +01:00
cce0d45dfe ENH: refactored regIOobject searching in object registry
- The findObject() methods are template-typed and used to locate a
  particular Type/name combination.

  Eg,

      volScalarField* ptr = obr.findObject<volScalarField>("xyz");

- The findIOobject() methods are un-typed and use the name only.

  Eg,

      regIOobject* ptr = obr.findIOobject("xyz");

The typed versions will be most commonly used, but the un-typed lookup
can be useful in a templating.

- Simplified findObject* methods to use findIOobject* as the backend.
2019-02-06 12:01:29 +01:00
0767409988 ENH: support objectRegistry::checkOut(const word& name)
- similar to what erase() does, but as a mutable operation (#1180)

- replace basicThermo lookupAndCheckout (commit 880c98757d) with
  the new objectRegistry::checkOut() method.
2019-02-06 12:01:29 +01:00
8f572a5e71 ENH: improve volRegion handling of moving meshes (#1194)
- implemented as lazy evaluation with an additional update() method.
  This avoids unnecessary changes until the values are actually
  required.

- apply mesh motion changes for momentum, volFieldValue,
  specieReactionRates function objects
2019-02-06 10:25:47 +01:00
fb561daf7a ENH: avoid potential leaks with objectRegistry::erase (#1180)
- forwards to the underlying HashTable erase, but frees things owned
  by the registry as well (ie, performs a checkOut)
2019-02-06 09:09:31 +01:00
d0d83b0784 COMP: basicThermo: object instead of class name. See #1180. 2019-02-06 09:28:36 +00:00
cd8e32f603 TUT: consistent headers/formatting for chokedNozzle
- also removed some editing cruft from controlDict that should not
  have been there
2019-02-06 07:54:05 +01:00
6384896523 TUT: Corrected function object entry 2019-02-05 14:08:39 +00:00
b6c5fc0ada ENH: Added checks for input Reynolds stresses based on Lund coefficient constraints. Fixes #1124 2019-02-05 14:07:59 +00:00
edfd27f9e4 BUG: Corrected re-reading of time control function objects. Fixes #1192 2019-02-05 11:28:31 +00:00
427acc84b0 COMP: foamVtkTools: template specialization bug in gcc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480
2019-02-04 16:39:01 +00:00
cc039d1356 GIT: tutorials: cleanup generated files 2019-02-04 12:29:26 +00:00
4db5c3657b COMP: Allwmake: also resolve link order: -lblockMesh needed when linking overset 2019-02-04 12:03:53 +00:00
cab94a5d0a Merge remote-tracking branch 'origin/master' into develop 2019-02-04 10:55:34 +00:00
d329087473 ENH: Added fieldMinMax function object default config 2019-02-04 10:50:28 +00:00
b3c9bd480b ENH: Updating interCondensatingEvaporatingFoam tutorial case 2019-02-01 15:12:08 -08:00
b3b9dd9b18 ENH: Changing energy Eq in interCondensatingEvaporatingFoam
from e to T. T proved to be more generic solution.
2019-02-01 15:10:16 -08:00
4435819a7a Merge branch 'feature-fieldLimits' into 'develop'
Add minMax and clip field functions

See merge request Development/OpenFOAM-plus!230
2019-02-01 16:54:36 +00:00
932666c408 ENH: add vtk::Tools::Patch faceCentres() method 2019-02-01 10:37:15 +01:00
8473fd0b2a COMP: template specialization in incorrect namespace
STYLE: avoid local variable name masking
2019-02-01 10:20:29 +01:00
9b8ac57e98 BUG: foamToEnsightParts reports the time value twice in log output 2019-01-30 15:41:06 +01:00
f7729d6f8c GIT: Added gitlab templates 2019-01-29 16:52:35 +00:00
b7fb6116c3 ENH: restructuring of ensight output files
- changed ensightOutput from a class solely comprising static methods to
  a namespace and added in sub-namespaces Detail and Serial.

  This makes it easier to "mix-in" functions at different levels.
  Refactored and combined some serial/parallel code where possible.

  The general ensightOutput namespace has now shifted to be in the
  fileFormats lib, while leaving volField outputs in the conversion lib
  and cloud outputs in the lagrangian-intermediate lib.

  The ensightCloud namespace is now simply folded into the new
  ensightOutput namespace.

  These changes clean up some code, reduce fragmentation and
  duplication and removes the previous libconversion dependency for
  sampling.

- use int for ensight nTypes constexpr

Note: issue #1176 is unaffected except for the change in file name:

   ensightOutputTemplates.C -> ensightOutputVolFieldTemplates.C
2019-01-29 15:18:17 +01:00
1982f1df89 Merge branch 'feature-solver-info' into 'develop'
Function object updates

See merge request Development/OpenFOAM-plus!231
2019-01-31 17:00:01 +00:00