Commit Graph

82 Commits

Author SHA1 Message Date
Mark Olesen
428f746c68 STYLE: include temperature (T) in the default paraFoam pre-selection 2018-04-12 13:51:51 +02:00
mattijs
d2b1b1cdc0 ENH: paraFoam: catch read errors. Fixes #798. 2018-04-12 15:12:04 +01:00
Mark Olesen
c0498e731a ENH: consolidate some common methods for paraview + catalyst 2018-04-03 18:42:35 +02:00
Mark Olesen
d17bc72585 ENH: consistency of HashSet setMany(), insertMany() with packed-list version
- this also provides a better separation of the intent
  (ie, inserting a single value, or inserting multiply values)
2018-03-14 21:08:29 +01:00
Mark Olesen
e2332d6bd2 COMP: better handling of versioned cmake libraries
- sentinel was not working properly when building user-space routines
2018-01-31 08:35:56 +01:00
Mark Olesen
f385e3b984 ENH: finiteArea support for paraview reader plugin (paraFoam) 2017-12-06 15:10:11 +00:00
Andrew Heather
2defba00a9 ENH: Lagrangian - provided backwards compatibility for cases using the
old "positions" file form

The change to barycentric-based tracking changed the contents of the
cloud "positions" file to a new format comprising the barycentric
co-ordinates and other cell position-based info.  This broke
backwards compatibility, providing no option to restart old cases
(v1706 and earlier), and caused difficulties for dependent code, e.g.
for post-processing utilities that could only infer the contents only
after reading.

The barycentric position info is now written to a file called
"coordinates" with provision to restart old cases for which only the
"positions" file is available. Related utilities, e.g. for parallel
running and data conversion have been updated to be able to support both
file types.

To write the "positions" file by default, use set the following option
in the InfoSwitches section of the controlDict:

    writeLagrangianPositions 1;
2017-09-13 13:13:36 +01:00
Andrew Heather
fb20bc107e INT: Updated dependent code following latest set of integrations 2017-09-06 16:05:12 +01:00
Mark Olesen
2cfc88fa03 STYLE: paraview reader attempts to shallow copy nullptr (closes #586)
- Can occur if the selected geometry does not actually exist.
  A non-critical bug since paraview catches this anyhow and
  just emits a warning message.
2017-09-12 15:42:10 +02:00
Mark Olesen
05aa701c15 ENH: handle all lagrangian fields in pv reader (issue #585)
- previous only checked for clouds at the last instance and only
  detected lagrangian fields from the first cloud.

  Now check for clouds at all instances and detect all of their fields
  as well.
2017-09-12 11:38:05 +02:00
Mark Olesen
3f6e130c91 STYLE: flatten PVReaders directory structure 2017-08-02 11:19:57 +02:00
Mark Olesen
86ef9e86dc ENH: make treatment of stream allocators more uniform (issue #532)
- use allocator class to wrap the stream pointers instead of passing
  them into ISstream, OSstream and using a dynamic cast to delete
  then. This is especially important if we will have a bidirectional
  stream (can't delete twice!).

STYLE:

- file stream constructors with std::string (C++11)

- for rewind, explicit about in|out direction. This is not currently
  important, but avoids surprises with any future bidirectional access.

- combined string streams in StringStream.H header.
  Similar to <sstream> include that has both input and output string
  streams.
2017-07-17 15:14:38 +02:00
Mark Olesen
cde12ad9e5 ENH: consolidate vtk classes into 'Foam::vtk' namespace
- elminate the foamVtkFormatter operator() in favour of xmlAttr.
  Improves readability and the purpose is clearer.
2017-06-13 14:10:07 +02:00
Mark Olesen
a42c35f64b ENH: paraview reader module with internal caching of the vtk geometries
- The reader module allows two levels of caching.
  The OpenFOAM fvMesh can be cached in memory, for faster loading of
  fields. Additionally, the translated VTK geometries are held in a
  local cache. The cached VTK geometries should incur no additional
  overhead since they use the VTK reference counting for their storage
  management.
2017-05-24 17:12:49 +02:00
Mark Olesen
96d98cd2de ENH: paraFoam --help => immediate pass-through to paraview --help
ENH: Paraview modules.

- Update props with int, not bool (for more versatility)
- Set properties and tool-tips directly on widgets instead of buttons
2017-05-23 08:02:25 +02:00
Mark Olesen
8a66ec9975 ENH: replace paraview vtk conversion with library utilities
- this allows filling in the VTK structures without intermediate data
  and without sequencial insertion. Should be faster and smaller
  than the previous cell-wise insertion methods.
  Most importantly, it improves code reuse.
2017-05-15 13:01:38 +02:00
Mark Olesen
1f18a0f97f ENH: replace internal meshmaps with foamVtkMeshMaps 2017-05-15 12:57:36 +02:00
Mark Olesen
2f288cfbef ENH: first pv reader version with delayed assembly of output blocks
- this greatly simplifies data management and opens the possibility of
  reusing converted vtk meshes instead of converting each time.
2017-05-15 02:06:53 +02:00
Mark Olesen
cf5ebd82db ENH: improve internal bookkeeping in paraview readers
- has the selected values directly and use these lookup names to store
  directly into a hash. This replaces several parallel lists of
  decomp information etc and makes it easier.
2017-05-14 21:42:59 +02:00
Mark Olesen
09f0cfd5c7 STYLE: reduce number of small methods in paraview reader
- improves the overview of the code
2017-05-14 21:38:15 +02:00
Mark Olesen
48bf71dd26 STYLE: avoid VTK InsertNextPoint if we already know the sizes
- avoids potentially issues if we reusing a vtkPoints array,
  and should be marginally faster without the additional
  range checking.
2017-05-14 21:24:06 +02:00
Mark Olesen
2e0337d024 ENH: use smart pointers for paraview readers
- adds flexiblity and reduces risk of memory leaks as we add/change
  features

STYLE: adjust naming for paraview internal polyDecomp
2017-05-14 21:04:11 +02:00
Mark Olesen
71710e0798 ENH: use prefix when displaying group,patch names for paraview selection
- easier to detect the implicit grouping
2017-05-12 15:37:04 +02:00
Mark Olesen
e5cdee5dd9 STYLE: use labelRange and range-based-for in paraview readers
- also use updated forAll* macros
2017-05-12 15:36:44 +02:00
Andrew Heather
db5348880e MRG: resolved merge conflicts from merge from develop branch 2017-05-19 16:29:54 +01:00
Mark Olesen
15d0a918c5 COMP: use VTK_OVERRIDE on paraview methods
COMP: avoid undefined-var-template warning in runTimePostProcessing
2017-05-18 13:21:48 +02:00
Mark Olesen
3814762785 ENH: relocate triSurface classes into surfMesh library (issue #294)
- simplifies organization, includes, linkage etc.
2017-05-18 10:42:05 +02:00
Mark Olesen
8728e8353f STYLE: avoid explicit use of 'word' as HashTable template parameter
- less clutter and typing to use the default template parameter when
  the key is 'word' anyhow.

- use EdgeMap instead of the longhand HashTable version where
  appropriate
2017-05-10 13:44:27 +02:00
Mark Olesen
5fc6c3ca34 ENH: provide FOAM_EXECUTABLE as environment variable in argList
- can be used directly from within an application or function-object.
  Makes it available for dictionaries.
2017-02-24 17:48:13 +01:00
Mark Olesen
1bdb57985f COMP: drop FOAM_EXT_LIBBIN dependency for VTK-related items
- they don't use scotch/metis anyhow, which are the only things
  placed in FOAM_EXT_LIBBIN
2017-04-04 16:22:12 +02:00
Mark Olesen
c1ca2f4a38 BUG: missing chdir in Allwclean for wallFunctionTable
STYLE: improve consistency in Allwclean scripts
2017-02-23 01:07:10 +01:00
Mark Olesen
3d02c8a530 ENH: improve isolation of shell variables in wmake scripts
- reduces unexpected interactions between various make elements
2017-02-10 16:13:54 +01:00
Mark Olesen
9d63cc5ca8 ENH: add versioning for VTK library to runTimePostProcessing (issue #370)
Eg,
    librunTimePostProcessing.so
    librunTimePostProcessing.so.7 -> librunTimePostProcessing.so.7.1.0
    librunTimePostProcessing.so.7.1.0

- centralize handling of paraview/vtk versioning into wmake/cmakeFunctions
2017-01-23 13:37:42 +01:00
Mark Olesen
f47e8513d7 ENH: avoid deprecated paraview method SetImmediateUpdate()
- add support for patch names in block mesh reader.
2017-01-12 11:41:15 +01:00
Mark Olesen
ecb80a2ee8 ENH: refactor paraview readers code to avoid duplication
- as originally intended years ago, but never actually done.

- use 'foamPvCore' instead of 'vtkPVReaders' to avoid potential name
  collisions with any 'vtk*' files and since we may reuse these
  functions in other foam-paraview modules (not just readers).

STYLE: use same font size/colour for patch-names as for point-numbers

BUG: repair issue with single time-step

- paraview time-selector returns '0' as the requested time if there is
  only one time step. However, if we have skipped the 0/ directory,
  this single time step is likely a non-zero value.
2017-01-12 06:40:58 +01:00
Mark Olesen
7a90f5e6fb ENH: add versioning to paraview plugin support libraries (issue #370)
- use "-pvMAJ.MIN" suffix for similarity with the paraview convention

- use sentinel file to ensure clean change of intermediate targets

- ensure all library files are being properly removed
2017-01-05 16:22:07 +01:00
Mark Olesen
2c96ec7550 ENH: update QT interface code for ParaView reader (issue #337)
- remove old (ParaView-3) files

- Works in 4.4.0, 5.0.1, 5.2.0 etc

STYLE:
- slots now use SM properties directly without a second lookup.
  This reduces exposure of the QT elements and simplifies the coding.

- avoid focus borders on the Qt elements

- place the "use Polyhedron" checkbox into a column

- move "Cache Mesh" down in the GUI (an advanced feature and thus
  should be less prominent)

- obtain button labels/tooltip directly from the XML content
2017-01-05 11:31:11 +01:00
Mark Olesen
4eb679614c ENH: update blockMesh reader (issue #337)
- use property group customization instead of individual pqPropertyWidget
2017-01-04 12:27:36 +01:00
Mark Olesen
71ea6bec62 ENH: update blockMesh reader for paraview 5.2 (issue #337)
- although this is not the final desired form, since it uses
  individual pqPropertyWidget customizations (ie, ugly layout, too
  many bits of code), but is an interesting intermediate solution
  that may be useful in other contexts.
2017-01-04 10:48:13 +01:00
Mark Olesen
608bb5d83b COMP: update lnInclude directories when building (issue #364)
- Could be related to interrupted builds.
  So if there are any parts of the build that rely on an explicit
  'wmakeLnInclude', make sure that the contents are properly updated.

--

ENH: improved feedback from top-level Allwmake

- Report which section (libraries, applications) is being built.

- Provide final summary of date, version, etc, which can be helpful
  for later diagnosis or record keeping.

- The -log=XXX option for Allwmake now accepts a directory name
  and automatically appends an appropriate log name.
  Eg,
      ./Allwmake -log=logs/  ->> logs/log.linux64GccDPInt32Opt

  The default name is built from the value of WM_OPTIONS.

--

BUG: shell not exiting properly in combination with -log option

- the use of 'tee' causes the shell to hang around.
  Added an explicit exit to catch this.

--

- Detecting the '-k' (-non-stop) option at the top-level Allwmake, which
  may improve robustness.

- Explicit continue-on-error for foamyMesh (as optional component)

- unify format of script messages for better readability

COMP: reduce warnings when building Pstream (old-style casts in openmpi)
2016-12-22 11:26:29 +01:00
Andrew Heather
c0f44ac4f3 MRG: Integrated foundation code 2016-12-12 12:10:29 +00:00
Henry Weller
3d08651324 PVReaders: Update link order to avoid problems on Ubuntu
Resolves bug-report http://bugs.openfoam.org/view.php?id=2372
2016-12-06 10:57:35 +00:00
Mark Olesen
a2bba390f2 COMP: improve robustness of cmake (vtk) builds when directories have moved 2016-11-28 23:28:21 +01:00
Mark Olesen
b69ab6c895 COMP: reduce compile noise for paraview modules
- vtkkwiml headers use old-style casts, so reduce compile-time warnings
2016-11-28 22:34:38 +01:00
Henry Weller
80db302666 Allwmake: Remove 'set -x' which generates a lot of noise
'set -x' should be used for debugging.

Added command printing into wmake and Allwmake as a replacement for
'set -x' to log current target.
2016-11-13 18:08:22 +00:00
Henry Weller
23795a7fb5 PVblockMeshReader: Removed unnecessary 'UpdateGUI' button
The 'Refresh' button updates the blockMesh and the GUI.
2016-11-11 12:17:53 +00:00
Henry Weller
74cfb6bf34 PVblockMeshReader: Remove old vertex labels on refresh 2016-11-05 21:41:32 +00:00
Henry Weller
a21c3d6332 PVblockMeshReader: Added "Refresh" button to update the blockMesh
Reconstructs the blockMesh and updates the display from the current
blockMeshDict so that any changes can viewed without exiting
paraFoam -block
2016-11-04 20:50:13 +00:00
Henry Weller
3ab919d407 paraFoam -block: Added support for vertex and block names
Patch contributed by Mattijs Janssens
2016-11-04 17:29:02 +00:00
Mark Olesen
d2fc2c9edc ENH: improved infrastructure for writing VTK content
Note: classes are prefixed with 'foamVtk' instead of 'vtk' to avoid potential
conflicts with VTK itself.

foamVtkCore
~~~~~~~~~~~
- General very low-level functionality.

foamVtkPTraits
~~~~~~~~~~~~~~
- Traits type of functionality for VTK

foamVtkOutputOptions
~~~~~~~~~~~~~~~~~~~~
- The various format output options as a class that can be passed to
  formatters etc.

foamVtkCells
~~~~~~~~~~~~
- Intended for unifying vtkTopo and PV-Reader code in the future.
- Handles polyhedron decompose internally etc

foamVtkOutput, foamVtkFormatter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Output helpers.
- Selector for individual formatters.
  Currently write all scalar data a 'float' (not 'double'). Can
  revisit this in the future.
2016-11-03 14:24:00 +01:00