Commit Graph

22478 Commits

Author SHA1 Message Date
044876bfe9 ENH: surface writers now track their own write status
- instead of deciding beforehand if a surface format requires a separate
  geometry file (or if a geometry file should be written if no fields were
  written) now determine afterwards if something was written.

  This improves the overall reliability (consistency) and is more
  convenient for the caller as well.
2019-03-13 14:13:04 +01:00
15a224ec4c STYLE: fix doxygen comment for vtkWrite 2019-03-13 12:54:44 +01:00
5104eadf0d ENH: PtrList and PtrListOps improvements
- PtrDynList support for move append list:
  can be used to concatenate pointer lists into a single one

- include resize in PtrDynList squeezeNull as being a natural
  combination

- support sorting operations for pointer lists (PtrListOps)
2019-03-13 10:53:28 +01:00
2ae60cc7bb ENH: minor improvements for plane
- comparison operator, for sorting based on the position of the origin.

- allow modification of the origin.

- zero-initialise for null constructor: base components are vectors
  and cheap to initialise.

- 'unfriend' the output operator: it uses public access methods
2019-03-13 08:00:39 +01:00
54989c4a18 COMP: add wmake rules for Pgi compiler (#1234) 2019-03-11 15:56:40 +01:00
06ab522d77 COMP: rename variable to avoid confusion with 'restrict' keyword
- considered an error by the PGI compiler
2019-03-11 17:52:02 +01:00
6ff14832de ENH: add bar/Pa conversions 2019-03-11 18:37:18 +01:00
2692e08965 COMP: OSspecific dependency on pthread no longer exists (#614) 2019-03-11 15:56:40 +01:00
ab02ef42fb CONFIG: bump API version number to 1902 to register changes in surface writers 2019-03-11 15:28:55 +01:00
9adfa25d8f BUG: incorrect return type for T() method. Regression from 3019f30b12 2019-03-11 15:27:36 +01:00
48538810e8 ENH: improved consistency of surface writers (#1232)
- remove writeGeometry() in favour of write() and make it pure virtual
  so that all writers must explicitly deal with it.

- establish proxy extension at construction time and treated as an
  invariant thereafter. This avoids potentially surprising changes in
  behaviour when writing.
2019-03-11 15:09:03 +01:00
304249932e COMP: runTimePostProcessing build with VTP+MPI fails (#1231)
- incorrectly uses paraview include dirs instead of the more universal
  vtk include dirs for the MPI test.
2019-03-11 11:04:18 +01:00
7c4f455b96 ENH: suppress cell/patch/proc ids for foamToVTK (#1230)
- reduces output size, consistent with vtkWrite function object

STYLE: mark some foamToVTK options as advanced (ie, visible with -help-full)
2019-03-11 11:02:58 +01:00
ed181431d9 ENH: old-time field: avoid reading in postprocessing mode. Fixes #1228. 2019-03-06 11:35:16 +00:00
aacb7b0c35 BUG: faMesh: support for multi-region moving meshes. See #1170. 2019-03-04 11:00:52 +00:00
10e279bb79 BUG: faMesh: support for multi-region moving meshes. See #1170. 2019-03-04 11:00:52 +00:00
172af61602 STYLE: relocate -mcpu into compiler instead of compiler-flags (#1225) 2019-03-01 18:34:05 +01:00
ec93384c1d COMP: adjust ARM compilation flags (#1225)
- with -mcpu=native for automatic detection and -armpl for linking in
  the performance libraries

STYLE: relocate -mcpu into compiler instead of compiler-flags (#1225)
2019-03-01 18:20:41 +01:00
bb94f5aa86 COMP: adjust ARM compilation flags (#1225)
- with -mcpu=native for automatic detection and -armpl for linking in
  the performance libraries
2019-03-01 18:20:41 +01:00
ad0709b832 ENH: update empty sampled surfaces storage (#1217)
- also store empty sampled surfaces, otherwise we miss geometry updates.
2019-03-01 14:50:54 +01:00
90ff1dfa5c ENH: additional constructors for IjkField 2019-02-27 08:01:19 +01:00
eae53be0c7 ENH: use 0.0-value instead of -value for inv(dimensionSet)
- the automatic rounding avoids generation of negative zero values.
  For other exponent values it has no effect.
2019-02-26 22:43:56 +01:00
e1be36b7bb ENH: DEShybrid - added robustness for case that nuEff goes negative (typically from negative denisty in compressible cals). See #1224 2019-03-01 11:30:20 +00:00
c0192d7417 GIT: remove backup file 2019-03-01 08:05:13 +01:00
33f60df264 ENH: potentialFoam: add region functionality. Fixes #1223.
Also implements combination of -region and -dry-run
2019-02-28 17:04:46 +00:00
30201801d3 BUG: snappyHexMesh: deal with non-compact regions. Fixes #1221. 2019-02-28 15:09:32 +00:00
6297f7b0fd ENH: use cellPoint interpolation directly for surfaceFieldValue (#1212)
- prior to sampledSurface supporting different interpolation schemes a
  workaround means was used to simulate cellPoint -> face
  interpolation, with averaging of vertex interpolation.

  We instead now use cellPoint interpolation directly for the face
  values when 'interpolate=true'.
2019-02-25 18:40:35 +01:00
4547796ae9 BUG: dereference invalid autoPtr in XiEngineFoam (fixes #1250) 2019-03-26 09:42:27 +01:00
154d1f001b ENH: improve findInstance handling of negative times (#1112)
- normally findInstance will 'bottom out' with the constant directory
  while doing its reverse time search. This mechanism however fails
  when searching for negative start values (if there are none in the
  list). Add additional logic for this so that constant will also be
  used in these situations.

Note: to have decomposePar work for all times, may need the -constant option
to trigger the proper time list.
2019-03-26 09:16:57 +01:00
21caf7c5f9 STYLE: add 'coeffs' to annotated decomposeParDict 2019-03-26 08:27:33 +01:00
c44b46d9fb STYLE: minor adjustments for fan tables (#1229) 2019-03-26 08:17:53 +01:00
e998e9fdfd STYLE: avoid nullptr when writing fan RPM 2019-03-26 07:59:44 +01:00
ea95202c95 ENH: additional constructor and methods for PDRblock (#1216)
- construct from positions

- reset positions, minEdgeLen, find grid index

ENH: add accessor for obtaining the size of a single i-j-k dimension

- eg, obtain the 'i' dimension with any of these methods:

      ijkAddr.size(vector::X)
      ijkAddr.sizes().x()
      ijkAddr.sizes()[0]
2019-03-25 12:53:45 +01:00
3ab5dec91f STYLE: consistent polyMesh owner/neighbour note
- had different spacing depending if defined from faces or shapes

- reinstates commit f7413b27b7 from history repository
2019-02-25 13:11:33 +01:00
c98f7fd9f6 GIT: added PDRblockMesh to Allwmake 2019-02-25 07:46:21 +01:00
b4938cec59 ENH: basic i-j-k Field container (#1216)
- this is a simple container for fields with i-j-k addressing.

  It does not support field operations directly, but is primarily
  intended to be used when assembling field information with i-j-k
  logic. After assembly, the field can be transferred to a regular
  field for normal operations.  Eg,

      IjkField<scalar> assemble({15, 16, 200});

      // .. fill in i-j-k fields

      Field<scalar> final(std::move(assemble));
      assemble.clear();   // be pedantic
      ...
2019-02-24 18:16:17 +01:00
eb9d4f9b55 STYLE: use finiteVolume in Make/options placeholder 2019-02-24 17:32:13 +01:00
2d26655a19 ENH: new PDRblockMesh mesh generation utility (issue #1216)
- While a rectilinear mesh can be created with blockMesh, not every mesh
  created with blockMesh will satisfy the requirements for being a
  rectilinear mesh.

  This alternative to blockMesh uses a single block that is aligned
  with the xy-z directions and specifications of the control points,
  mesh divisions and expansion ratios. For example,

    x
    {
        points  ( -13.28 -0.10 6.0 19.19 );
        nCells  (  10  12 10 );
        ratios  ( 0.2   1  5 );
    }

    y { ... }
    z { ... }

  With only one block, the boundary patch definition is simple and the
  canonical face number is used directly. For example,

    inlet
    {
        type    patch;
        faces   ( 0 );
    }
    outlet
    {
        type    patch;
        faces   ( 1 );
    }

    sides
    {
        type    patch;
        faces   ( 2 3 );
    }

    ...

- After a mesh is defined, it is trivial to retrieve mesh-related
  information such as cell-volume, cell-centres for any i-j-k location
  without an actual polyMesh.

STYLE: remove -noFunctionObjects from blockMesh

- no time loop, so function objects cannot be triggered anyhow.
2019-02-23 15:45:32 +01:00
9d5edd161c STYLE: mention -doc-source option under -help-full instead of under -help 2019-02-24 11:40:09 +01:00
b3e061525b ENH: add directory support for foamCleanTutorials 2019-02-23 19:59:04 +01:00
36fa4b546f ENH: add labelVector2D definition
- can be useful for 2D mesh dimensioning or possibly for matrices
2019-02-22 18:11:00 +01:00
cd31a868ff ENH: support addPatches with PtrList 2019-02-22 18:11:00 +01:00
b5e4924eec ENH: additional PtrList constructor and memory management method
- PtrList::release() method.

  Similar to autoPtr and unique_ptr and clearer in purpose than
  using set(i,nullptr)

- Construct from List of pointers, taking ownership.

  Useful when upgrading code. Eg,

     List<polyPatch*> oldList = ...;
     PtrList<polyPatch> newList(oldList);
     ...

BUG: incorrect resizing method names (PtrDynList) in previously unused code
2019-02-22 15:55:17 +01:00
f0ff7627b1 BUG: incorrect increment introduced by c508da8f37 2019-02-22 13:36:39 +01:00
4f3e88c164 DEFEATURE: remove surfMesh samplers - superseded by sampledSurfaces
- this functionality was originally added to allow sampling of volume
  fields onto a surface in order to perform calculations on them.

  However, the sampling framework essentially mirrored the
  sampledSurface, but was less complete.

  It is now possible to store sampled surfaces on a registry and
  do calculation with their fields. This is the preferred method,
  and thus removing the surfMeshSample duplicate code.
2019-02-22 13:06:34 +01:00
9703e195da ENH: avoid updating sampled surfaces unless necessary 2019-02-22 12:51:23 +01:00
7844f3ffad ENH: avoid references to temporaries in surfaceWriter
- previously wrapped raw points/faces with a meshedSurfRef on input,
  but now handle the raw -> meshedSurf logic directly within
  surfaceWriter to avoid holding references to temporaries

  Since the updated meshedSurfRef is now modifiable, it can be used
  directly as a redirection mechanism within surfaceWriter.

- add explicit close() in destructor
2019-02-22 11:40:58 +01:00
a6e4e4b8f4 ENH: additional constructors and methods for meshedSurfRef
- construct null, clear() and reset() methods
2019-02-22 11:10:53 +01:00
4f18978f02 STYLE: pass points, faces instead of meshedSurfRef in surfaceFieldValue
- removes a layer of opacity and may help with future restructuring
2019-02-22 11:08:07 +01:00
3390103285 BUG: new surface writer loses serial/parallel preference (fixes #1214) 2019-02-22 10:21:01 +01:00