Commit Graph

14011 Commits

Author SHA1 Message Date
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
3e75a3736b STYLE: remove file series handling from foamVtkOutput
- now handled by the vtk::seriesWriter, and with its static methods.
2018-10-02 14:49:11 +02:00
03eec4a5db ENH: code improvements for vtkCloud function object (issue #926)
- use parallel list writing, beginDataArray methods.

- use static_assert to restrict conversion of non-label integral types

- cache .vtp.series information by fileName instead of by cloud name.
  This issues if the output directory changes, and simplifies code.

ENH: emit TimeValue in files generated by vtkCloud

- additional information for passing to ParaView

ENH: vtkCloud output to postProcessing/ (issue #866)

- better alignment with other function objects, no collision with
  foamToVTK output.
2018-09-17 09:36:00 +02:00
ed62ed1b19 ENH: parallel and xml output for surface vector fields (issue #926)
-  implemented as vtk::surfaceFieldWriter, which replaces
   the vtk::writeSurfFields function.
2018-09-27 13:38:31 +02:00
6f06ce6e02 ENH: parallel and xml output for vtk::lagrangianWriter (issue #926) 2018-09-17 11:35:17 +02:00
9d8af49c16 ENH: parallel and xml output for surfaces (issue #926) 2018-10-16 13:50:13 +02:00
c214d30473 ENH: parallel output for vtk::surfaceMeshWriter (#926) 2018-09-13 13:48:14 +02:00
1adac97150 ENH: parallel output for vtk::patchWriter (issue #926) 2018-09-10 18:28:55 +02:00
e7b77c0af6 ENH: parallel output for vtk::internalWriter (issue #926)
- removed vtk::writeField templates. No longer used.
2018-08-13 18:21:45 +02:00
0d2dbaf61b ENH: parallel and xml output for vtk topoSet writers (issue #926)
- introduce lower-level vtk::indirectPatchWriter class
2018-09-17 15:41:58 +02:00
0e47b0717d ENH: vtk::seriesWriter to encapsulate writing file series (issue #926) 2018-10-02 14:06:34 +02:00
42009c168e ENH: vtk::vtmWriter for generating vtkMultiBlockDataSet (.vtm) (issue #926)
- Provides a means of accumulating file entries for generating vtm
  by accumulate blocks, datasets and writing them later.

  Only a single block depth is currently supported and the methods
  are kept fairly simple.
2018-10-02 12:53:01 +02:00
ee0947b693 ENH: vtk::fileWriter base class for geometry/field writers (issue #926)
- Output formats such as vtp, vtu follow a particular internal data
  structure (HEAD, FIELD_DATA, PIECE, CELL_DATA/POINT_DATA) and other
  output conventions. This writer base tracks these expected output
  states internally to help avoid logic errors in the callers.
2018-09-29 13:14:50 +02:00
d837524860 ENH: use some updated vtk output methods 2018-09-17 10:12:48 +02:00
05427217a0 ENH: improvements for foamVtkOutput, foamVtkFormatter (issue #926)
- parallel list output for foamVtkOutput

- simplified '.series' file output

- beginDataArray() method instead of openDataArray() + closeTag()
  since this seems to be the most common use anyhow.
  With an optional argument for leaving the tag open, this works the
  same as openDataArray() which may be deprecated in the future.

- begin/end methods for CellData, PointData, FieldData (commonly used)

- templating parameters for file headers, content version,
  legacy fields. This improves coding robustness and convenience of use.

- use formatter and higher-level methods for legacy output

- attribute quoting character now part of the formatter itself
  instead of as an argument for xmlAttr().
  Toggle with quoting() method.

- pair-wise processing of xml attributes, which also allows them to be
  passed as optional entries when creating an xml tag.

- xmlComment with multiple arguments
2018-09-17 08:59:03 +02:00
19e03f7dd1 ENH: add renumbering support into foamVtuSizing algorithm (issue #926)
- allows cell point labels will use global numbering, but only for
  unmerged points. We'd ideally like to avoid point merging per se,
  and instead use VTK point blanking instead (as required).

  This approach allows parallel collation of the output into a single
  piece directly.
2018-09-17 09:00:51 +02:00
57ea2ac3d2 STYLE: restructure argList usage format 2018-11-23 13:49:54 +01:00
1456a8ca1d STYLE: emit warning about using deprecated "~OpenFOAM" expansion
- Within strings it is preferable to use the "<etc>" instead.
  Most use cases for the old "~OpenFOAM" expansion have been obsoleted
  by the #includeEtc directive.
2018-11-23 13:12:33 +01:00
ac03307258 ENH: improve consistency in version handling (issue #1010)
- use std::string instead of c-string for the string constants

- centralize some definitions of resources into foamVersion.H

  Now expose some of the hard-coded values used in foamEtcFiles()
  so that they can be known or even overridden as required.

  Relocate to src/OpenFOAM/include as a constant location.
2018-11-23 11:08:36 +01:00
85ffe4c648 ENH: improve consistency in version handling for foamEtcFile (issue #1010)
- Prefer the $WM_PROJECT_VERSION from the environment, since this
  is consistent with the foamEtcFile script, and matches better to
  user expectations.
2018-11-22 12:00:50 +01:00
083e9e9665 ENH: isolate version information in foamVersion names instead of globals
- For compatibility, access to the old global names is provided via
  macros
        #define FOAMversion     foamVersion::version
        #define FOAMbuild       foamVersion::build
        #define FOAMbuildArch   foamVersion::buildArch

- this isolation makes it easier to provide additional scoped methods
  for dealing with version related information.  Eg, printBuildInfo()
2018-11-22 11:50:24 +01:00
0cae54b3e1 COMP: juggle content between stdFoam.H and foamVersion.H
- foamVersion.H now includes stdFoam.H for consistent use
  of compatibility compiler defines.

- move forward declaration of Detail, Module namespaces to stdFoam.H

- doxygen documentation of Foam namespace in stdFoam.H
2018-11-22 10:52:56 +01:00
283801208e STYLE: doxygen format for constants 2018-11-22 10:46:37 +01:00
5187aa13aa ENH: improve output formatting for usage information
- generalize output text wrapping, use for usage notes

- add -help-man option for generating manpage content for any OpenFOAM
  application or solver.

  bin/tools/foamCreateManpage as helper
2018-11-21 19:55:28 +01:00
9bfc010e64 ENH: faMesh: decompose zero-sized patches. Fixes #1090. 2018-11-21 16:38:33 +00:00
fa2971c17a BUG: cyclicACMI: ensure transformation tensors are valid. Fixes #1088. 2018-11-21 15:34:13 +00:00
ba86d90ffc ENH: single precision: various small fixes. See #1086. 2018-11-21 11:12:25 +00:00
5a9a2935ad ENH: modernize code in dimensionSet, dimensionSets
- 'unfriend' operators on dimensionSet, since they operate without
  requiring access to non-public members.

- add missing invTransform() function for dimensionSet.

- make inv(const dimensionSet&) available as
  operator~(const dimensionSet&), which can be used instead
  of (dimless/ds).
2018-11-20 18:16:17 +01:00
72c4b3186b ENH: added dimensionedType::writeEntry method
- writing of dictionary entry with the name of the dimensionedType
  suppressed if it is identical to the keyword.
  This corresponds to the input requirements.
2018-11-20 16:26:44 +01:00
dd87c98393 ENH: add read guard for dimensionedType constructors (#762)
- deprecate dimensionedType constructors using an Istream in favour of
  versions accepting a keyword and a dictionary.

  Dictionary entries are almost the exclusive means of read
  constructing a dimensionedType. By construct from the dictionary
  entry instead of doing a lookup() first, we can detect possible
  input errors such as too many tokens as a result of a input syntax
  error.

  Constructing a dimensionedType from a dictionary entry now has
  two forms.

  1.  dimensionedType(key, dims, dict);

      This is the constructor that will normally be used.

      It accepts entries with optional leading names and/or
      dimensions. If the entry contains dimensions, they are
      verified against the expected dimensions and an IOError is
      raised if they do not correspond. On conclusion, checks the
      token stream for any trailing rubbish.

  2.  dimensionedType(key, dict);

      This constructor is used less frequently.

      Similar to the previous description, except that it is initially
      dimensionless. If entry contains dimensions, they are used
      without further verification. The constructor also includes a
      token stream check.

      This constructor is useful when the dimensions are entirely
      defined from the dictionary input, but also when handling
      transition code where the input dimensions are not obvious from
      the source.

      This constructor can also be handy when obtaining values from
      a dictionary without needing to worry about the input dimensions.
      For example,

         Info<< "rho: " << dimensionedScalar("rho", dict).value() << nl;

      This will accept a large range of inputs without hassle.

ENH: consistent handling of dimensionedType for inputs (#1083)

BUG: incorrect Omega dimensions (fixes #2084)
2018-11-20 15:14:10 +01:00
efdbeae27e ENH: use dictionary::get<> instead of pTraits (#762)
- check Istream in readBool in operator>> variant (#1033)
2018-11-20 10:10:39 +01:00
b9b8c523f2 ENH: faceOnlySet: loosened tolerance. Fixes #1079. 2018-11-19 15:58:09 +00:00
04e95b93ec Merge remote-tracking branch 'origin/develop' into develop 2018-11-19 15:45:56 +01:00
d8ca517dc3 COMP: linkage, single precision 2018-11-19 12:05:28 +00:00
ad2baed5af ENH update use of bitSet in dynamicRefineFvMesh #1075 2018-11-16 10:30:02 +01:00
b4e26828d5 ENH: bitSet instead of boolList for dynamicMultiMotionSolverFvMesh (#1075) 2018-11-16 09:18:09 +01:00
683ff304ca ENH: update looping and use of bitSet for motionSmootherAlgo (#1075) 2018-11-16 09:18:09 +01:00
de2497461c ENH: dynamicRefineBalance: removed. 2018-11-15 15:03:19 +00:00
8ceec6456a Mapping injected faces through interpolation 2018-11-15 14:58:56 +00:00
edf5cf4588 ENH: MeshObject: objectRegistry lookup only once. Fixes #1071. 2018-11-14 12:41:26 +00:00
a072d18380 ENH: add sync() for faceBitSet, faceBoolSet, pointBitSet (#1060)
- fix range checks
2018-11-14 11:55:38 +01:00
c599810533 ENH: code reduction in MeshObject (#1071)
- use forwarding templates for the factory method

- avoid double use of dynamic_cast.
  Don't need implicit use in isA<>, can use result directly

STYLE: updated iteration over HashTable of mesh objects
2018-11-15 13:06:12 +01:00
f269371dbc ENH: support cylindrical coordinates in fieldCoordinateSystemTransform (#1076) 2018-11-16 15:12:19 +01:00
4a53835f4b BUG: incorrect transform for fieldCoordinateSystemTransform (fixes #1076)
- was using coordinate-system and transform() which is the
  local-to-global mapping, whereas it should be invTransform() which
  is the global-to-local mapping
2018-11-16 12:23:41 +01:00
7996e9af8b ENH: add invTransform for fields (#1076) 2018-11-16 12:22:24 +01:00
5c993cf009 STYLE: remove redundant return statement 2018-11-14 12:54:58 +01:00
4bf4b89af4 ENH: support scalar predicates and lists of scalar predicates (#1056) 2018-11-13 14:12:53 +01:00
1883a872a1 STYLE: adds comments in empty Make/options files
- easier when making modifications

STYLE: spelling in topoSetSource comments
2018-11-13 15:21:13 +01:00
8752120ad5 COMP: use hard-coded values for fieldTypes (issue #1068)
- this seems to be the only reliable means of obtaining the values.

  Using typeName_() yields the wrong value.

  Using the typeName causes initialization issues
  (segfault when executing on some systems).
2018-11-12 16:39:55 +01:00