Commit Graph

21972 Commits

Author SHA1 Message Date
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
6dcc46b187 ENH: improve error handling for foamHelp
- Catch any leading option (the incorrect location).
- Catch initialization error for cleaner result.
2018-11-21 20:18:39 +01:00
98b5914198 CONFIG: adjust MANPATH if an OpenFOAM doc/man1 directory exists 2018-11-21 11:07:40 +01:00
50ccb197dc BUG: fix bad environment parsing in foamCreateModuleInclude
- The changes in foamCleanPath introduced for issues (#1007, #1008)
  include quoted output of the cleaned environment variable.
  When used in foamCreateModuleInclude, the quotes make their way
  into the final environment. Avoid this by using the -sh-env
  eval format instead.

- add environment extraction of MANPATH changes
2018-11-21 11:02:58 +01:00
31c21031ea ENH: reduce intermediate text with generating completion options
- more filtering in the sed stage to remove non-essential text.
  Terminate parsing on first appearance of -help-full option.
2018-11-21 10:51:57 +01:00
481e83f007 STYLE: adjust shell syntax and usage output for paraFoam
- have -help-full as the last entry in the list of options.
  This permits some optimizations when generating shell completions.
2018-11-21 09:44:00 +01:00
253dd183f9 STYLE: include mpirun path information in top-level Allwmake
- provides some feedback about which mpi is being used
2018-11-21 08:39:26 +01:00
4a37e23ffa ENH: floatingBody: excess debug switches 2018-11-22 08:58:56 +00: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
6c568c61bf STYLE: Renamed source files to reflect solver names (issue #890) 2018-11-20 19:10:06 +01:00
100ec01c82 SUBMODULE: updated to avoid implicit construction of dimensionedType 2018-11-20 18:26:05 +01: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
698bf3f61d STYLE: usage order in foamConfigurePaths 2018-11-19 15:38:14 +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
cbbafa7457 Mapping injected faces through interpolation
See merge request Development/OpenFOAM-plus!220

Code supplied by Daniel Rettenmaier rettenmaier@gsc.tu-darmstadt.de
2018-11-15 14:58:56 +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
f2de61f82c STYLE: add geometric constraint to decomposeParDict example (issue #921) 2018-11-15 11:45:18 +01:00
5c993cf009 STYLE: remove redundant return statement 2018-11-14 12:54:58 +01:00
5029d29ff6 ENH: support -gcc option for foamConfigurePaths
- simplifies things for legacyCompile
2018-11-15 13:55:21 +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
90dd4b30cd TUT: syntax typo (#1059) 2018-11-12 13:59:38 +01:00
2ac5df6f93 BUG: inconsistent field ordering in PDRMesh (fixes #1069) 2018-11-12 12:59:03 +01:00
b016b1664e COMP: use typeName_() accessors for building fieldTypes
- resolves better on some compilers.
2018-11-12 12:43:33 +01:00
9c993c8ebd Merge branch 'feature-ioobjectlist-registry' into 'develop'
Feature ioobjectlist registry

See merge request Development/OpenFOAM-plus!218
2018-11-12 11:39:01 +00:00
a89fedb2ec Merge branch 'feature-uniformFixedValue' into 'develop'
uniformFixedValue: avoid re-evaluation on reading or mapping

See merge request Development/OpenFOAM-plus!219
2018-11-12 10:49:28 +00:00
e9af742819 BUG: uniformFixedValue: do not evaluate upon reading. Fixes #1058. 2018-11-12 09:15:09 +00:00
9bc61e5f41 ENH: improve IOobjectList name filtering
- support name filtering by class based on <Type> or predicates.
  Eg,

      objects.sortedNames<volScalarField>(namePattern);
  vs  objects.sortedNames(volScalarField::typeName, namePattern);

  These can also be used directly for untyped name matching.
  Eg,
      objects.sortedNames<void>(namePattern);

  Can also use a predicate:

      objects.sortedNames(wordRe("vol.*Field"), namePattern);
      objects.sortedNames
      (
          [](const word& clsName){ return clsName.startsWith("vol"); },
          namePattern
      );
2018-11-12 08:55:45 +01:00
256042158f ENH: IOobjectList improvements
- add IOobjectList::count() methods

- lookupClass<Type>() to use types instead of class variables.

- additional helpers for parallel: allNames(), checkNames()

- provide filterClasses() and filterObjects(), prune_0() method
  forwarding to HashTable methods for easier access.
2018-11-12 01:01:58 +01:00
f94d724a93 ENH: add objectRegistry::count() methods
- can be useful for obtaining information about number of fields.
  Eg,

       nScalar = mesh.count<volScalarField>(wordre);
2018-11-11 19:00:54 +01:00
4965ea4988 ENH: simplify/extend objectRegistry code with templated predicates
- replace explicit use of wordRe, wordRes, wordHashSet as filters
  with a MatchPredicate.

- support filtering by class based on <Type> or predicates
2018-11-10 17:20:32 +01:00
f44e59fb55 ENH: add IOobject::isHeaderClassName() method
- in parameter form, check if it headerClassName() corresponds to the
  specified class name

- in templated form, check if headerClassName() corresponds to the
  Type:typeName value.
  Specialization for <void> always returns true (ie, no checks)
2018-11-10 16:54:19 +01:00