Commit Graph

11206 Commits

Author SHA1 Message Date
83db6f793c BUG: resolve some decomposeParDict problems (issues #60, #265).
- Cleanup/centralize handling of -decomposeParDict by relocating
  common code into argList. Ensures that all processes receive
  identical information about the -decomposeParDict opton.

- Only use alternative decomposeParDict for simpleFoam/motorBike
  tutorial so that this will be included in the test loop for snappy.

- Added Mattijs' fix for surfaceRedistributePar.
2016-10-25 18:19:19 +02:00
c9e9815b86 ENh: Adding clone member to sixDoFSolvers 2016-10-26 14:53:26 -07:00
1ff9ae9ff5 ENH: setTimeStep: adjust timestep for adjustableRunTime writeInterval. Fixes #268. 2016-10-24 13:07:51 +01:00
1f408ffd1b ENH: effectivenessHeatExchangerSource - calculate upstream average temperature by default 2016-10-26 15:54:03 +01:00
1df1f8fe20 STYLE: adjust mergePoints to ease adoption of different list types (issue #250)
- A preliminary minor adjustment only.
2016-10-19 10:42:47 +02:00
779f884355 COMP: compile issue with gcc-5.2 (closes #273)
- Superfluous #include "FieldFunctions.H" provokes warnings/errors
  with newer gcc.
2016-10-17 21:50:30 +02:00
5682eb6035 BUG: snappyHexMesh: findCellZoneTopo was copying same value but still setting
changed flag which caused infinite while loop. Background info:
- findCellZoneTopo tries to find for all named surface intersections
which side of the face is in the faceZone
- i.e. it tries to make the cellZone consistent with the faceZone
(to fix small problems)
- this had some logic to assign the neighbour cellZone to the owner cellZone
- which didn't check for the neighbour being the same value as the owner
- but still set a 'changed' flag which caused the loop to never end.
2016-10-17 12:25:03 +01:00
a5e1c11a4b ENH: subTriSurfaceMesh: fixed comment 2016-10-17 12:24:11 +01:00
2b5e278ffc STYLE: Corrected typo 2016-10-19 13:20:18 +01:00
9cfce48c9c ENH: noiseModel: Updated check for uniform time step size 2016-10-19 13:19:34 +01:00
8f7ad9130a ENH: wallDist - suppress calc if updateInterval is zero 2016-09-30 11:47:38 +01:00
0ceb2cd230 ENH: wallDist - added option to evaluate every XXX steps 2016-09-28 16:59:57 +01:00
025eebca13 ENH: provide direct access to raw pointer/reference from autoPtr (issue #252)
All of the access methods for autoPtr include validity checks and will
fail if the underlying point is NULL. In some cases, however, we'd
like to retain the automatic deletion mechanism, but still address a
nullptr. This is mostly for cases in which a file-stream should be
allocated, but only on the master process. For these cases we'd still
like to pass through and reference the underlying pointer (eg, to
obtain the correct method call) without tripping the pointer check
mechanism. If we attempt to use the ptr() method, the autoPtr memory
management is bypassed and we risk memory leaks.

Instead provide an alternative mechanism to obtain the raw underlying
pointers/references. Use rawPtr() and rawRef() for these potentially
useful, but also potentially dangerous, operations.
2016-10-03 16:38:19 +02:00
59418c711a STYLE: Added header documentation to function 2016-09-29 10:30:30 +01:00
4093fcd66b ENH: provide refOrNull method for autoPtr.
- Normally use '()' to deference. This has extra safety and issues a
  fatal error if the underlying pointer is not valid.

  However, in some cases we are happy with getting a null reference.
  The refOrNull() method returns the reference without any checking.

  Usage example:

      autoPtr<OFstream> osPtr;
      if (Pstream::master())
      {
          osPtr.reset(new OFstream(...));
      }
      writeViaMaster(osPtr.refOrNull());

      - The writeViaMaster() call takes an OFstream reference,
        but this is only used directly on the master.
        The slaves will pass things through to the master.
2016-09-28 11:26:42 +02:00
85885adea8 ENH: provide list of enums for NamedEnum
- can be used to loop over all enumerations in the order of definition.
2016-09-27 12:40:17 +02:00
26b6f93b33 ENH: distributedTriSurfaceMesh: bail out if getting stuck due to precision errors 2016-09-28 12:26:23 +01:00
af13209920 STYLE: add OpenFOAM version to ensight geom file description.
- More informative than a horizonal line, can help when debugging.

STYLE: remove unused write field methods from ensightParts
2016-09-23 14:53:01 +02:00
6f4509b938 BUG: incorrect symmTensor order for some ensight output (fixes #243)
- affects foamToEnsightParts, sampled surfaces

- Use ensightPTraits mechanism throughout to avoid this issue
2016-09-23 09:10:57 +02:00
008a583992 BUG: output field name instead of field (fixes #224) 2016-09-20 15:15:19 +05:30
b4f050ad52 ENH: more flexible selection/naming for ddt2 FO (issue #224)
- bugfix (empty patches), and added detection of steady-state
  scheme.

Caveat: when called via execFlowFunctionObjects will always produce a
  zero field, since the oldTime field is not available for this mode.
2016-09-16 14:49:47 +02:00
a5fbb36d73 ENH: runTime calculation of zeroGradient volume fields (issue #235)
Extrapolate internal field to walls for post-processing.
Uses as new syntax for handling the naming of multiple fields.

The input fields are selected via a wordReList.
For example,

    fields      (U "(T|k|epsilon|omega)");

The names of the resulting output fields use placeholder tokens for
flexibility. For example,

    result      zeroGradient(@@);

The '@@' placeholder is replaced by the name of the input field.
Eg,
    fields      (U T);
    result      zeroGradient(@@);
->  zeroGradient(U), zeroGradient(T)

Or,
    fields      (U T);
    result      @@nearWall;
->  UnearWall, TnearWall

NOTE:
    The function object will skip over fields that only have
    processor, empty, zeroGradient patches. The operation does not
    make much sense for these, and it avoids inadvertently
    re-processing fields twice.
2016-09-16 21:33:40 +02:00
3aa54d114d ENH: runTime calculation of (dp/dt)^2 - issue #224
- implemented using magSqr() instead of sqr().
  For scalar fields they are the same, but can be useful
  if this function object is extended for more field types.
2016-09-14 14:02:40 +02:00
a32c043944 BUG: metisDecomp compile failure for WM_DP (closes #232)
- spurious use of floatScalar instead of scalar for processor weights.

STYLE: partially updated dummy metis.h to reflect metis-5.1.0 API
2016-09-13 08:51:03 +02:00
0e5054c3c7 STYLE: PrimitivePatch: undefined function 2016-09-07 12:40:35 +01:00
b74cf47bc3 ENH: snappyHexMesh: combine previous zone based algorithm with v3+ one.
Fixes #66.
2016-09-07 12:38:59 +01:00
0d9fc569c5 BUG: Non-const dereferencing of tmp in fvc:dt2dt2 (closes #227) 2016-09-07 09:33:26 +02:00
7110aa8236 STYLE: propogate WM_CC for CMake (fixes #226)
- reported by Bruno
2016-09-06 16:17:20 +02:00
b5231f2ec1 BUG: triSurface IO operators are asymmetrical (fixed #225)
- Also reported as http://bugs.openfoam.org/view.php?id=2188
2016-09-06 14:57:40 +02:00
fa2ae8e7b4 ENH: add stream operators for MeshedSurface, UnsortedMeshedSurface
- add corrsponding testing into surfaceMeshConvertTesting too
2016-09-06 14:45:44 +02:00
86c214de81 ENH: minor adjustments to surfZoneIdentifier
- gearing to make it more reusable in triSurface
2016-08-12 10:05:01 +02:00
ef4ae3063b BUG: snappyHexMesh: patch intersections of mesh was using cell zone information.
This was going wrong in a fair few cases where you would get regions which
were delimited by a combination of intersections with unnamed surfaces (wall)
and named surfaces (faceZone surface) but not with either of these sets
individually. This would cause there to be unvisited cells (zone = -2)
next to a visited cells but separated by a named surface only (and not an
unnamed surface). Fixed by using direct surface intersection in the removal
part. Related to #66.
2016-08-19 10:48:35 +01:00
ce1abf5b42 CONFIG: use src/conversion/Allwmake when building source
- existed, but was not being called
2016-08-08 11:38:38 +02:00
616cb0f137 BUG: 'processor' in directory name causes issues (issue #199)
- previously just detected the presence of "processor" in the case
  path name. Restrict to checking the final portion.
  Does not solve all problems, but solves ones like this:

      test-new-processor-generation/....
2016-08-01 14:11:05 +02:00
ed2017aa21 ENH: group info about particle output with "{}" etc
- The only reasonable means of mirroring the data layout.

  The '{}' delimiters mark the extent of the binary writes.

  The primitives 'label' and 'scalar' are directly supported and correspond
  to known byte widths.

  Using "List<scalar>" was a bad choice, since this triggers unpleasant
  tokenizing behaviour. Instead use 'scalars' as a provisional placeholder
  to indicates a list of scalar values. However, there is currently no
  support for actually handling lists of scalars, for several reasons:

   * The information is not available at compile-time.
     The cloud or parcel must be queried. And it must be guaranteed
     that this value is consistent for the entire cloud.

   * Binary output of lists is currently not great for determining the
     the encoded width:
        - A zero-size list is a single '0'.
        - The leading size is a non-constant number of digits.
        - There are prefix/suffix newlines need to be tagged and
          skipped.

  The special '*' (glob) token indicates that the remaining content
  has a dynamic variable length and nothing reasonable can be known
  about their sizes. This is exemplified by the collision records.
2016-06-02 17:39:19 +02:00
215f9a8555 BUG: incorrect face order/orientation in boundBox (issue #196)
- was fortunately not used anywhere previously
2016-07-28 07:00:33 +02:00
e219399d93 ENH: sampledSets: warn for no fields (fixes #206) 2016-08-10 13:32:47 +01:00
d6e15499b8 BUG: snappyHexMesh: compacting list w/o checking for aliasing. Fixes #197 2016-07-27 13:06:01 +01:00
267409dc62 ENH: Changing radiation correct in YEEq.H in fireFoam.
Adding clone member functions to motion solvers
2016-10-26 11:45:57 -07:00
7241e7ddd0 ENH: Adding autoMap and rMap tp greyDiffusiveViewFactorFixedValueFvPatchScalarField 2016-09-30 11:03:10 -07:00
571fc94077 BUG: runTimePostProcessing - corrected surface visualisation caused by regression update/bug 2016-09-07 10:02:02 +01:00
2b40688ebd ENH: Adding iso-plane histogram to regionSizeDistribution 2016-09-02 12:28:20 -07:00
3fbd69b9e7 Adding area weighted average to U mean calculation for uniformJump option in fan BC 2016-09-02 11:51:59 -07:00
633c0fcc37 STYLE: Corrected spelling error 2016-08-25 17:28:50 +01:00
4302ddf47e BUG: ensightSurfaceReader - enabled reading of data from sub-directory and updated field mask (See #215) 2016-08-18 15:29:56 +01:00
28c15a6ec1 ENH: noise functionality robustness improvements 2016-08-18 15:24:13 +01:00
b34b7fab82 ENH: tetOverlapVolume - improved robustness. Fixes #207 2016-08-11 12:14:43 +01:00
8af962c7b2 ENH: plane - updated construct from components to optionally normalise the normal vector 2016-08-11 12:14:34 +01:00
03f552aa6e BUG: blendingFactor function object updated to handle bounded schemes. Fixes #205 2016-08-09 15:38:40 +01:00
a985c5520b ENH: boundedConvection scheme - added access function to the underlying scheme 2016-08-09 15:33:46 +01:00