Commit Graph

21922 Commits

Author SHA1 Message Date
8562e5278f ENH: simplify/extend IOobjectList code with templated predicates
- replace explicit use of word, wordRe, wordRes, wordHashSet as filters
  with a MatchPredicate, since they all satisfy the requirements for
  use a predicate. This change reduces code duplication, allows other
  matcher types (eg, keyType) as well as lambda functions.

- add special treatment for a 'const char*' parameter
  for lookupClass() and the now-deprecated single item lookup() method
  to promote these parameters to 'word'.
2018-11-10 12:12:06 +01:00
faaa93fdb5 ENH: add IOobjectList::findObject() method
- naming similar to objectRegistry, with unambiguous resolution.
  The lookup() methods have different return types depending on the
  calling parameter.

STYLE: use IOobjectListTemplates.C for implementations

- previously included as local definition within IOobjectList.C,
  but will be adding more templated methods soon.

- adjust parameters (eg, matchName instead of matcher) to show their
  function

ENH: handle objectRegistry::names<void>(...)

- this is equivalent to no Type restriction, and can be used when
  filtering names. Eg,

     obr.names<void>(wordRe..);
2018-11-09 21:57:55 +01:00
ffec4c6fa7 STYLE: more consistent formatting for deprecated items
- Start brief descriptions with 'Deprecated(YYYY-MM)' so that it is
  readily visible in the short method description. Consistent date
  format (YYYY-MM), placed immediately after the \deprecated tag.
2018-11-11 17:17:33 +01:00
91cfe4c271 ENH: add wordRes::matching() method
- returns indices of matching entries.
2018-11-09 21:21:15 +01:00
dff2569c7f GIT: commit text missed in squashed merge
commit 3f9c7bf411
    commit 3cf177e759

====

ENH: add geometric decomposition constraint (issue #921)

- geometric decomposition constraints may be used to prevent the
  decomposition of regions of the mesh.

  The geometric constraint is applied according to the face centres,
  which define the connectivity between cells.

  Specified in decomposeParDict

    constraints
    {
        geometric
        {
            type    geometric;

            geometry
            {
                box1
                {
                    type    box;
                    min     (-10 -10 -10);
                    max     (1 1 1);
                }

                ball1
                {
                    type    sphere;
                    origin  (-2 -2 1);
                    radius  1;
                }
            }
        }
    }

ENH: add 'grow' option for geometric decomposition constraint (issue #921)

- the 'grow' option includes an additional check to include cell faces
  for any cell that already has two or more of its faces "unblocked".
  This could indicate a connection over a corner, but does not distinguish
  between connectivity introduced by the constraint and the connectivity
  defined by other constraints.

ENH: geometric decomposition constraint using topoSetFaceSource (issue #921)

- replaced use of searchableSurface with a more general and
  more efficient topoSetFaceSource instead.
  Since searchableSurface is also available as a topoSetFaceSource,
  there is no loss in functionality, but using topoSetFaceSource allow
  directly looping over the faces without creating of an additional
  List of volumeTypes.
2018-11-08 21:55:39 +01:00
3f9c7bf411 Merge branch 'wp09-geometric-constraint' into 'develop'
Work-package-09 geometric constraint

See merge request Development/OpenFOAM-plus!217
2018-11-08 20:50:47 +00:00
3cf177e759 Work-package-09 geometric constraint 2018-11-08 20:50:47 +00:00
69c3a6fb3b COMP: fix conditional for VTK legacy rendering.
- was deprecated for removal with VTK 8.1.0
  definitely removed in VTK 8.2.0
2018-11-08 21:28:26 +01:00
ab11a330e0 ENH: accept movable autoPtr for storage in regIOobject 2018-11-08 17:46:52 +01:00
6d906e52d3 COMP: fieldTypes: add to link line after the static symbols it uses
This fixes the static-initialisation order problem - fieldTypes.C
referes to labelIOField etc. which are after it in Make/files and
hence the link order.
2018-11-08 13:28:46 +00:00
258dd6eeea STYLE: polyMesh: corrected spelling 2018-11-08 10:46:25 +00:00
6f3471d5fb STYLE: protect and comment test of illegal access (#1066) 2018-11-08 14:46:35 +01:00
d7fc5f6f66 ENH: construct cylindrical from origin, axis (issue #863) 2018-11-08 13:12:23 +01:00
f426c510dd CONFIG: update for ParaView-5.6.0 2018-11-08 09:17:02 +01:00
9ebccb2e39 ENH: adjustments for ListOps subset, subsetList
- now takes a const UList<T> as input and returns a List<T>
  instead of trying to use the same ListType for both.

  This avoids previously encountered issues when a UList was passed in.

- add specialized bitSet handling within subset(), where we can benefit
  from faster traversal of sparse selections and have a better estimate
  of the final output size.
2018-11-08 08:47:31 +01:00
2c44ac299d ENH: add bitSet::operator() for predicate use (as per HashSet) 2018-11-08 11:34:02 +01:00
0d29257a6d STYLE: use vtk::surfaceWriter instead of sampleSurface version 2018-10-16 14:49:56 +02:00
c73dcc34f0 TUT: update foamToVTK usage 2018-11-12 01:42:20 +01:00
2b42076d58 ENH: restructuring of foamToEnsight code
- align with foamToVTK code base
2018-10-09 21:28:53 +02:00
89cca8578c ENH: rewrite of foamToVTK to include parallel output (#926)
- Default format is now XML binary (base64) instead of legacy format.
  The old -xml option is redundant and ignored.
  The new -legacy option can be used to force legacy output instead.

- Polyhedral decomposition is now off by default (old -poly is ignored).
  The option -poly-decomp forces decomposition of polyhedrals into
  primitive shapes.

- reduced memory footprint by reading and converting fields
  successively.

- Creation of symlinks to processor files is no longer required or
  desired. The old -noLinks option is ignored.

- Ignore -useTimeName option. Always number according to timeIndex.
2018-10-09 20:00:55 +02:00
8cff734abc ENH: improvements for ensightWrite function object (issue #926)
- align input parameters and some of the behaviour with vtkWrite

  The output is now postProcessing/<name> for similar reasoning as
  mentioned in #866 - better alignment with other function objects, no
  data collision with foamToEnsight output.

- separate controls for internal and boundary meshes

- can restrict conversion based on zone names, enclosing volumes,
  bounding box.
2018-10-09 18:22:40 +02:00
4f2ec88d24 ENH: improvements to the parallelization of ensightCloud output
- communication mode is now selectable (default is blocking)

- eliminate serial-only version as being redundant
2018-10-10 10:32:14 +02:00
e4fac35d60 ENH: cleanup ensightMesh method names and handling of internal vs boundary
- this removes the old 'magically' means of suppressing the internal
  mesh in favour of specifying it directly.
2018-10-09 17:49:15 +02:00
42bb497084 ENH: improvements for vtkWrite function object (issue #926)
- parallel output.

  The output is now postProcessing/<name> for similar reasoning as
  mentioned in #866 - better alignment with other function objects, no
  collision with foamToVTK output.

- align the input parameters with those of vtkCloud so that we can
  specify the ASCII precision and the padding width for the output
  file names as well.

- emit TimeValue field, support file series generation

- support internal or boundary meshes, combining the result into a vtm
  file.

- can restrict conversion based on zone names, enclosing volumes,
  bounding box
2018-10-09 15:52:52 +02:00
2fb382bf8a ENH: multiple zone selection for fvMeshSubsetProxy (#973)
- handle tmp fields in interpolate methods

- special method interpolateInternal() for creating a volume field
  with zero-gradient treatment for patches from an internal field.

  This method was previously also called interpolate(), but that
  masked the ability to subset the internal field only.

  Ensight output needs the volume field:
      uses interpolateInternal().

  VTK output has separate handling of internal and patch fields:
      uses interpolate().

ENH: added fvMeshSubset mesh() method for baseMesh or subMesh.

- simplies coding when the fvMeshSubset may or may not be in active use.

ENH: update foamToEnsight to use newer methods in wrapped form

- static interpolate functions with renaming for manual use with
  fvMeshSubset (when fvMeshSubsetProxy may be too limiting in
  functionality)
2018-10-02 17:06:44 +02:00
94951939d8 Merge remote-tracking branch 'origin/develop' into develop 2018-11-07 18:27:37 +01:00
b053c36a7b COMP: missing files 2018-11-07 18:27:13 +01:00
816674e9d6 ENH: More general approach to momentum source direction for
the actuation disk FO
2018-11-07 09:09:17 -08:00
1ea7aa45f5 STYLE: make dictionary error more descriptive (#1065) 2018-11-07 15:16:14 +01:00
5f556ffb4a ENH: make sourceInfo sub-dictionary optional for topoSet (#1060)
- helps reduce clutter in the topoSetDict files.

  Caveats when using this.

  The older specification styles using "name" will conflict with the
  set name. Eg,

    {
        name    f0
        type    faceSet;
        action  add;
        source  patchToFace;
        sourceInfo
        {
            name   inlet;
        }
    }

    would flattened to the following
    {
        name    f0
        type    faceSet;
        action  add;
        source  patchToFace;
        name   inlet;
    }
    which overwrites the "name" used for the faceSet.

    The solution is to use the updated syntax:

    {
        name    f0
        type    faceSet;
        action  add;
        source  patchToFace;
        patch   inlet;
    }
2018-11-07 10:33:36 +01:00
6090faedef ENH: additional topoSources, and consistency changes (#1060)
- faceBitSet, pointBitSet and faceBoolSet (similar to cellBitSet)
  * allows topo sources in a wider variety of places.
  * With copy or move constructors.

- cylinderToPoint, searchableSurfaceToFace, searchableSurfaceToPoint,
  sphereToFace, sphereToPoint sources

- optional innerRadius for sphere and cylinder sources to treat as hollow.

- support "sets" as well as "set" for cellToCell, faceToFace... sources.

  * convenience and avoids writing the set during processing.
2018-11-06 18:25:05 +01:00
644c0f4a86 ENH: make dictionary of topoSet box sources consistent with searchableBox 2018-11-06 13:25:56 +01:00
72ae121558 STYLE: make dictionary error more descriptive (#1065) 2018-11-07 15:16:14 +01:00
537e8bf9e0 ENH: consolidate OpenFOAM field names (#926)
- Standard known field types in Foam::fieldTypes namespace
2018-11-06 16:52:39 +01:00
414d78a32c STYLE: include gcc/clang version in top-level Allwmake 2018-11-06 17:13:49 +01:00
9b7ec7180f ENH: make checkITstream methods public (dictionary, entry)
- permits use of these checks for routines wishing to handle their own
  logic.
2018-11-06 10:06:25 +01:00
a7a346b206 STYLE: indentation for FatalIOErrorInFunction calls 2018-11-06 09:49:22 +01:00
2fc1a1692b CONFIG: adjust handling of PETSc environment (-force option) 2018-11-06 09:01:40 +01:00
f5baa9a583 ENH: extend globalIndex toGlobal methods
- now applicable to labelLists.

Note:
  in some situations it will be more efficient to use
  Foam::identity() directly. Eg,

     globalIndex globalCells(mesh.nCells());
     ...
     labelList cellIds
     (
         identity(globalCells.localSize(), globalCells.localStart())
     );
2018-11-05 16:23:33 +01:00
dfb652bcac ENH: findRefCell: initialise to -1 if not needed. Fixes #988. 2018-11-05 12:12:25 +00:00
c84390ab13 BUG: uniformFixedValue: missing autoMap, rmap. See #1059. 2018-11-05 11:33:16 +00:00
50baac3c45 ENH: construct string types from Istream now explicit (#1033)
- this helps for trapping unguarded dictionary lookups.
2018-11-03 20:24:34 +01:00
552682ec03 SUBMODULE: updated to avoid implicit construction of word/fileName etc 2018-11-03 20:32:39 +01:00
53b9961887 STYLE: remove unused variables 2018-11-03 17:51:02 +01:00
6043c9621d STYLE: accept "solver" or "motionSolver" without complaint
- The change from "solver" to "motionSolver" has not been
  applied consistently for all types of motion solvers.
2018-11-03 17:25:51 +01:00
aa0f2e0d9b STYLE: accept std::string for ISstream::getLine 2018-11-03 17:09:23 +01:00
fd54070c3a BUG: eof errors in the STARCD, VTK file reader (#1059)
- previously simply read files until the input stream went bad and no
  more lines could be read.  With the more stringent checking of
  values read (commit 0ce7e364a4) this approach causes problems.

  Use the underlying tokenizer instead to decide about termination.
2018-11-03 15:46:37 +01:00
1f9533ed5c COMP: avoid ternary mismatch in PatchFunction1
- SubField<vector> vs Field<vector>
2018-11-02 18:36:14 +01:00
b273241984 STYLE: Minor code formatting change 2018-11-02 11:23:04 +00:00
f5af16d968 ENH: extractEulerianParticles - refactoring and robustness improvements 2018-11-02 11:22:17 +00:00