Commit Graph

17013 Commits

Author SHA1 Message Date
bf0a48d68e ENH: avoid possible divide-by-zero (fixes #2025)
- based on fix supplied by Henning.Scheufler@dlr.de
2021-03-15 18:29:13 +01:00
88c256b86a ENH: add dictionaryContent wrapper
STYLE: adjust wording of age-warning
2021-03-15 16:24:42 +01:00
db343351f7 BUG: redistributePar: single-step. See #1211
- override casename, procesorCase flags to guarantee reconstructed
case to be written to the undecomposed directory
- alternative is to construct a Zero mesh on the undecomposed
runTime and add all other bits to that but that has not been
pursued
2021-03-15 08:31:10 +00:00
273741c052 BUG: correct the EnSight point value patch conversion (#2010)
- patch point ordering was affected by the EnSight face sorting
  (tri, quad, nsided). This did not affect other point fields,
  since they use the internal field values.
2021-03-12 18:13:34 +01:00
fa645c2dac ENH: noexcept size_bytes() method for lists
- for use when the is_contiguous check has already been done outside
  the loop. Naming as per std::span.

STYLE: use data/cdata instead of begin

ENH: replace random_shuffle with shuffle, fix OSX int64 ambiguity
2021-03-09 09:49:31 +01:00
51cd7ceecb ENH: improvements for token methods
- direct check of punctuation.
  For example,

      while (!tok.isPunctuation(token::BEGIN_LIST)) ..

  instead of

  while (!(tok.isPunctuation() && tok.pToken() == token::BEGIN_LIST)) ..

  Using direct comparison (tok != token::BEGIN_LIST) can be fragile
  when comparing int values:

      int c = readChar(is);
      while (tok != c) ..  // Danger, uses LABEL comparison!

- direct check of word.
  For example,

      if (tok.isWord("uniform")) ..

  instead of

      if (tok.isWord() && tok.wordToken() == "uniform") ..

- make token lineNumber() a setter method

ENH: adjust internal compound method empty() -> moved()

- support named compound tokens

STYLE: setter method for stream indentation
2021-03-09 09:23:41 +01:00
496792f328 COMP: use single-parameter fvMeshDistribute 2021-03-08 15:34:39 +01:00
aa942aadd4 Merge branch 'develop' of https://develop.openfoam.com/Development/openfoam into develop 2021-03-08 11:07:28 +00:00
ba9e573812 ENH: redistributePar: single-step. See #1211
- single-step for reconstructParMesh
- no point merging for redistributePar -reconstruct
2021-03-08 11:01:57 +00:00
50d21b32f2 GIT: removed unused files in the adjoint boundary conditions (#1994) 2021-03-05 12:35:32 +00:00
9ca6e4a548 COMP: objectiveManager::write was hiding regIOobject::write (see #2005) 2021-03-05 12:35:32 +00:00
6940b08822 COMP: adjustments for OSX (#2013)
- int64 ambiguity
- std::array include

- bsd-sed syntax (replaces gnu-sed syntax):
  * wmake-build-info
  * wmake-with-bear
2021-03-05 11:17:11 +01:00
a6f7b0f2ee BUG: eigenVectors: correct field-function return type (#2011)
- return type of `eigenVectors`  field functions should be
  `tensor` instead of `symmTensor`
2021-03-04 18:08:29 +01:00
23e14cd1d9 ENH: fvMeshDistribute: single-step distribution. Fixes #1211
First receives all mesh parts and then stitches them
all together in one step. This avoids lots of intermediate
addressing calculation
2021-03-03 15:39:48 +00:00
de7bc07153 BUG: snappyHexMesh: sync deletion decision. See #1772. 2021-03-03 13:14:35 +00:00
fcfaf9ba88 ENH: Adding thermo pairs to Lee model 2021-02-22 10:10:11 +00:00
1020991796 ENH: Adding tabutaled type to thermoPhysicsTypes.
Adding thermo options for mass exchange Lee model for multiPhaseInter using
tabulated type of thermos.
2021-02-22 10:10:11 +00:00
125e60ca67 BUG: pointPatch value ignored in vtk, ensight conversion (fixes #2010
- pointPatches may or may not have a "value" type.
  Use the patch value field where possible and the internal field
  otherwise. Previously always used the internal field.
2021-02-19 14:14:11 +01:00
1bb7afc7fe ENH: raw format with optional output for face area normals (#2003)
- the raw surface writer simply outputs x/y/z and field values.
  This additional flag allows recovery of some geometric information.

- optional user-specified output precision

Example,
```
formatOptions
{
    raw
    {
        normal      yes;
        precision   10;
    }
}
```
2021-02-17 13:36:16 +01:00
af80006f97 Merge remote-tracking branch 'origin/master' into develop 2021-02-17 09:39:18 +01:00
66d1b54a79 ENH: 'Math' namespace for mathematical functions
- centralises existing functions (erfInv, incGamma*, invIncGamma*).
  Provides a location for additional functions in the future.

- adjusted existing models to use these functions
  (e.g. distributionModels::normal)
2021-02-16 18:08:50 +01:00
0b1a33e9be ENH: relax the tensor-inverse tolerance on Tensor (FULLDEBUG) 2021-02-16 18:00:16 +01:00
531e8ab66d CONFIG: relocate messageStream output level control to an InfoSwitch
- location and naming more consistent with other controls

    old: DebugSwitch  'level'
    new: InfoSwitch   'outputLevel'
2021-02-16 14:30:36 +01:00
b97cd5c380 ENH: add HashPtrTable release method
- effectively 'steals' the pointer from the table but leaves its
  name as a placeholder
2021-02-16 14:30:36 +01:00
f8a0677a66 ENH: replace base implementation of Foam::Swap with std::swap
- eliminates a potentially invalid code branch.
  Since it essentially had the same internals as std::swap anyhow,
  make that more evident.

ENH: use std::swap for basic types

- makes it clearer that they do not rely on any special semantics
2021-02-16 14:30:36 +01:00
2954f55f6a ENH: improve surfaceFieldValue sampling and writing (#1999)
- ensure surface writing is time-step and nFields aware.
  This avoids overwriting (ignoring) previous output fields.

- allow sampled surfaces to be used for weight fields as well.
  Not sure why this restriction was still there.

- remove old compatibility reading of orientedFields.
  Last used in v1612, now removed.

- only use face sampling. For surfaceFieldValue we can only do
  something meaningful with face values.

ENH: modify interface methods for surfaceWriter

- replace direct modification of values with setter methods.
  Eg,
     old: writer.isPointData() = true;
     new: writer.isPointData(true);

  This makes it possible to add internal hooks to catch state changes.

ENH: allow post-construction change to sampledSurface interpolation

- rename interpolate() method to isPointData() for consistency with
  other classes and to indicate that it is a query.

- additional isPointData(bool) setter method to change the expected
  representation type after construction

- remove 'interpolate' restriction on isoSurfacePoint which was
  previously flagged as an error but within sampledSurfaces can use
  sampleScheme cellPoint and obtain representative samples.
  Relax this restriction since this particular iso-surface algorithm
  is slated for removal in the foreseeable future.
2021-02-16 14:30:19 +01:00
48fdec46c7 BUG: Improving robustness of tracking on cells with detA zero
1) Small modification to the tracking logic for detA zero.
2) Adding small vector displacement to locate function to avoid error where
particle is inserted at the cell centre.
2021-02-15 12:34:49 -08:00
a334aaae78 ENH: noiseModel gainX - protect against very small input frequencies 2021-02-15 12:51:35 +00:00
ae8ccd7b94 BUG: foamToEnsight cellZones missing mesh coverage (closes #2002) 2021-02-15 13:10:01 +01:00
77c31a7bef BUG: inconsistent surfaceFieldValue writing (fixes #1999)
- setup writer outside the data loop to ensure that the number of
  output fields is correct (VTK format).

- ignore 'interpolate' on sampled surfaces to ensure proper
  face sampling, never allow point sampling

BUG: incorrect debug-switch for sampledIsoSurface
2021-02-10 13:47:53 +01:00
9f7a400952 GIT: remove old "removed-file" dependency stubs, version file (#1994) 2021-02-10 12:43:07 +01:00
6cdf89dced ENH: use concise forms for walking processor and cyclic boundaries 2021-02-09 17:57:49 +01:00
f24e3f113f ENH: use PtrListOps to reduce code 2021-02-09 16:22:23 +01:00
5080d3cd1f ENH: additional PtrListOps to simplify gathering information
- get: uses access operation to get values for each list item
  Example,
  PtrListOps::get(mesh.boundaryMesh(), nameOp<polyPatch>());

- names: the name() of each list item filtered for matches

- firstMatching: index of first item with a matching name()

- findMatching: indices of items with a matching match name()
  Example,
  PtrListOps::findMatching(mesh.boundaryMesh(), wordRes( ... ));

STYLE: deprecate transitional getNameOp, getTypeOp

- use nameOp, typeOp (word.H) instead
2021-02-09 16:22:23 +01:00
10787d7e82 BUG: particle: use correct celli. Fixes #1992
Was checking the old celli instead of the result of
re-finding the position. See also Foundation commit 50a965f8866683a81d79cbc7811af7333baf9d10.
2021-02-08 10:30:09 +00:00
3941159d6a ENH: polyMesh: fixed error message 2021-02-08 10:30:09 +00:00
13152510b3 ENH: surfaceFieldValue - set surface output info for run-time post-processing
If the 'writeFields' option is set in surfaceFieldValue, e.g.

    surface1
    {
        type        surfaceFieldValue;
        libs        (fieldFunctionObjects);
        operation   none;
        fields      (p);
        regionType  patch;
        name        walls;

        // Create a surface in VTK format
        writeFields yes;
        surfaceFormat vtk;
    }

... the surface can now be used in runTimePostProcessing, e.g.:

    surfaces
    {
        surfaceFieldValueOutput
        {
            type            functionObjectSurface;
            representation  surface;
            liveObject      no;
            field           p;
            colourBy        field;
            range           (0 120000);
            functionObject  surface1;
        }
    }

Note: setting 'liveObject' to 'no' to suppress warnings due to the surface
not being retrieved from the object registry (default = 'yes') - this surface
can [currently] only be read from disk.
2021-01-28 16:55:30 +00:00
170d73f4ec STYLE: minor doc update 2021-01-28 16:55:30 +00:00
aa1e1eb15d COMP: fix inline friend declarations (gcc-4.8.5) 2021-01-27 10:33:19 +01:00
8bda4fadbe Merge remote-tracking branch 'origin/master' into develop 2021-01-26 17:06:33 +01:00
d70e11195c BUG: syncTools: incorrect communicator. See #1986 2021-01-26 10:28:12 +01:00
2c7e95d2cb ENH: rename protected UList size(label) -> setAddressableSize(label)
- modification/continuation of 8d63073b08 and 5c1ec7ecb8 (#595).

  Although this protected function is only used internally, the name
  `size(label)` is too easily confused with `resize(label)` and
  `setSize(label)`. The longer method name eliminates some ambiguity.
  Name consistent with PtrListDetail.

- leave size(label) method (for possible compatibility),
  but mark as deprecated

- improve sizing consistency for (Istream >> DynamicList)

STYLE: more consistent use of resize vs setSize in DynamicList

- more consistency between DynamicList and DynamicField.
  There were some inconsistencies in how construct with a size was
  interpreted.

STYLE: more consistent declaration/use of Swap
2021-01-26 09:42:29 +01:00
9b56c6b1ac ENH: consistent noexcept for list iterators and raw-data accessors
- add byteSize to FixedList and Matrix, for possible streaming

ENH: expose data/cdata for PackedList, bitSet
2021-01-26 09:42:27 +01:00
0d6de94e8e COMP: ambiguity in IOobject::writeHeader
- a C-string is interpreted as a bool instead of as a word,
  so remove default parameter to eliminate ambiguity
2021-01-26 09:42:26 +01:00
d770ce7aa8 BUG: syncTools: incorrect communicator. See #1986 2021-01-25 18:06:28 +00:00
f88feaf0d4 BUG: surfaceFieldValue fails writing legacy VTK format
- number of fields was not set.
- interpolated surfaces incorrectly written for all formats
2021-01-22 16:20:46 +01:00
0e7a2d1529 ENH: syncTools: specialisation for contiguous data. Fixes #1986. 2021-01-20 09:33:44 +00:00
648f0593c8 ENH: primitiveMesh: do not copy input storage. See #1963. 2021-01-20 09:33:44 +00:00
81629a44d0 BUG: mapped: access map() for AMI cases. Fixes #1982
Should not call map() since it triggers building the
(one-to-one) mapping which conflicts with the self-contained
mapping of cyclicAMI
2021-01-18 18:19:24 +00:00
71812c21c5 ENH: add 'arch' information to output file headers (ASCII)
- this was previously suppressed for ASCII format as being 'clutter',
  but without it there is no context for interpreting the type of data
  contained in ASCII files: potentially leading to integer overflows
  when reading in ParaView etc.
2021-01-15 15:06:06 +01:00