Commit Graph

22611 Commits

Author SHA1 Message Date
09c1621afb BUG: incorrect IOobject instance for absolute windows path (#1238)
STYLE: remove unused local variables in edgeMeshFormat
2019-05-23 10:27:06 +01:00
c9d0fefd85 COMP: place libz linkage at the end (#1238) 2019-05-22 15:31:10 +01:00
25fecd7588 STYLE: avoid deprecated lookup methods 2019-05-22 15:06:12 +01:00
5b5824fb74 ENH: add matrix-vector, vector-matrix multiplication (#1220)
- the vector-matrix multiplication is treated as a row vector
2019-05-20 15:58:32 +01:00
931d050724 ENH: improvements, modernization of matrix containers (#1220)
- add iterators, begin/end, empty() methods for STL behaviour.
  Use standard algorithms where possible
     * std::fill, std::copy
     * std::min_element, std::max_element

- access methods consistent with other OpenFOAM containers:
     * data(), cdata(), uniform()

- Use ListPolicy to impose output line breaks

- Can recover matrix storage for re-use elsewhere.
  For example, to populate values with 2D i-j addressing and later
  release it as flat linear storage.

- construct/assign moveable

- added minMax() function for Matrix

- additional inplace +=, -=, *=, /= operations

- add named methods at() and rowData() to Matrix.
  Allows a better distinction between linear and row-based addressing

- low-level matrix solve on List/UList instead of Field
2019-05-22 12:18:31 +01:00
c93efc0eda ENH: add sign(), csign() methods for complex
- use std::hypot for complex mag() instead of long-hand version

- Detail::conj() function for complex or non-complex
2019-05-21 11:18:12 +01:00
cd51444057 ENH: surfaceFieldValue - update selection on mesh changes 2019-05-22 08:15:19 +01:00
d249e7f8be ENH: Removed misleading PSD13 output 2019-05-20 13:37:11 +01:00
b29596d5b5 ENH: Compatibility updates for finiteArea 2019-05-15 08:35:07 +01:00
ad718b7388 Merge branch 'feature-dictionary-checking' into 'develop'
Feature dictionary checking

See merge request Development/OpenFOAM-plus!259
2019-05-22 10:29:41 +01:00
d85bf36965 ENH: dictionary checking methods with predicates on the input values
- can be used to check the validity of input values.

Example:

    dict.getCheck<label>("nIters", greaterOp1<label>(0));
    dict.getCheck<scalar>("relax", scalarMinMax::zero_one());

- use 'get' prefix for more regular dictionary methods.
  Eg, getOrDefault() as alternative to lookupOrDefault()

- additional ops for convenient construction of predicates

ENH: make dictionary writeOptionalEntries integer

- allow triggering of Fatal if default values are used

ENH: additional scalarRange static methods: ge0, gt0, zero_one

- use GREAT instead of VGREAT for internal placeholders

- additional MinMax static methods: gt, le
2019-05-21 19:10:14 +01:00
f2002a753f ENH: uniformFixedValue: add library 2019-05-21 13:36:36 +01:00
ba01298b3e ENH: overset: GAMG normalisation of hole cells 2019-05-21 13:21:27 +01:00
46647fcaf9 ENH: GAMG: supress debug msg 2019-05-21 09:42:34 +01:00
dea152929c BUG: off-by-one in Windows env and cwd sizing (#1238) 2019-05-20 17:41:27 +01:00
e02eed160d STYLE: additional constructor for randomDecomp 2019-05-20 08:58:35 +01:00
e81f87ea89 STYLE: adjust fluxSummary documentation 2019-05-17 11:46:51 +01:00
dd990fe50a STYLE: update of 'mode' to 'type' keyword for radiation properties 2019-05-17 09:53:25 +01:00
4eeadb73d3 STYLE: add notices for deprecated dictionary methods 2019-05-17 09:02:51 +01:00
0d7a84ff66 CONFIG: use C++11 regex instead of POSIX for newer compilers
BUG: The ok_ flag was not being updated in the regExpCxx::set() method
2019-05-21 12:29:52 +01:00
58602f1c40 STYLE: add namespace qualifiers to interpolationWeights 2019-05-16 14:06:40 +01:00
b992b862c0 ENH: overset: allow use in non-dynamicMesh applications
This is to avoid overset interpolation in the calculation of the stencil
itself since this triggers a loop.
2019-05-16 10:30:55 +01:00
11ad82f84a ENH: timeInfo function object (#1320)
- records execution and wallclock times to postProcessing/
  which can be more convenient than parsing a log file.
2019-05-15 09:21:45 +01:00
ab991e57fe BUG: overset: out-of-range indexing. Fixes #1321 2019-05-15 11:43:34 +01:00
5cf46aa63f STYLE: parProfiling: no tabs 2019-05-15 10:01:54 +01:00
b0f298fe05 ENH: parProfiling: do not print on exit. Fixes #1298. 2019-05-15 08:30:06 +01:00
8b48340d75 ENH: decomposition: added 'random' method for testing.
This will use a random-number generator to select for
each cell the processor. Useful for testing parallel/non-parallel
consistent behaviour.
2019-05-08 12:27:24 +01:00
c8c6af5b6c ENH: add -excludePatches option for surfaceMeshExtract (#1315)
- simplify faceZone selection in surfaceMeshExtract
2019-05-10 17:11:47 +02:00
d90ec8567b TUT: add "libfvMotionSolvers.so" to lumpedPointMotion tutorial
- uniformFixedValue was relocated from lib OpenFOAM
2019-05-10 13:12:33 +02:00
d9d5a87259 ENH: support all 12 Euler rotation orders (#1292)
- adjust naming of quaternion 'rotationSequence' to be 'eulerOrder'
  to reflect its purpose.

- provide rotation matrices directly for these rotation orders in
  coordinateRotations::euler for case in which the rotation tensor
  is required but not a quaternion.
2019-05-10 11:20:21 +02:00
d3d0e08e35 Revert "COMP: combine twoPhaseProperties library into interfaceProperties"
Modified revert of commit 6c6f777bd5.

- The "alphaContactAngleFvPatchScalarField" occurs in several
  places in the code base:

    - as abstract class for two-phase properties
    - in various multiphase solvers

  To resolve potential linking conflicts, renamed the abstract class
  as "alphaContactAngleTwoPhaseFvPatchScalarField" instead.

  This permits potential linking of two-phase and multi-phase
  libraries without symbol conflicts and has no effect on concrete
  uses of two-phase alphaContactAngle boudary conditions.
2019-05-08 18:48:52 +02:00
ffa37bd5aa STYLE: adjust wording in compilation notes 2019-05-08 16:51:14 +02:00
5dfd3140a1 Merge branch 'feature-porting-mingw' into 'develop'
Feature porting mingw

See merge request Development/OpenFOAM-plus!258
2019-05-08 14:37:23 +01:00
d557ca89e4 ENH: additional MinMax span() and zero_one() methods 2019-05-08 12:12:00 +02:00
6a5ae80fa0 ENH: additional HashTable emplace/insert/set methods (#1286)
- support move insert/set and emplace insertion.

  These adjustments can be used for improved memory efficiency, and
  allow hash tables of non-copyable objects (eg, std::unique_ptr).

- extend special HashTable output treatment to include pointer-like
  objects such as autoPtr and unique_ptr.

ENH: HashTable::at() method with checking. Fatal if entry does not exist.
2019-05-06 08:34:39 +02:00
2620772973 STYLE: unnecessary read-check in ccm::writer 2019-05-07 20:39:20 +02:00
cfe46f29d2 Merge branch 'feature-dynamicCode' into 'develop'
Feature dynamic code

See merge request Development/OpenFOAM-plus!255
2019-05-07 17:33:32 +01:00
9a0ff2c797 ENH: add colour for x3d surface writer (#1057)
- can be used for outputing sampled surfaces in x3d format for direct
  import in other rendering tools.
2019-05-06 17:13:22 +02:00
4220d3e4f0 STYLE: comments and parameter names for coordinateRotations::euler 2019-05-03 13:31:00 +02:00
c82b56a842 ENH: support pointer cast from autoPtr 2019-05-03 09:59:53 +02:00
3e7a21dbc4 STYLE: use iterator for mutable access in masterUncollatedFileOperation 2019-05-03 11:27:23 +02:00
3e157977c0 Merge branch 'feature-MUSCS-SurfaceReact' into 'develop'
Reacting heterogeneous cloud

See merge request Development/OpenFOAM-plus!242
2019-05-02 19:40:26 +01:00
33db2dd3e2 ENH: overset: insert remote interpolation into lduMatrix
All remote contributions to interpolation stencils now
get added as 'processor' type lduInterfaces. This guarantees
a consistent matrix, e.g. initial residual is normalised to 1.

Second change is the normalisation of the interpolation discretisation
which uses the diagonal from the unmodified equation. This helps
GAMG.
2019-05-02 16:49:48 +01:00
b7efd7ed71 ENH: GAMG: enable debug printing 2019-05-02 13:28:01 +01:00
f6ba03633d ENH: use areaAverage instead of average for -func patchAverage (#1303)
- this corresponds more closely to the expected behaviour of a
  patch-average value being independent of the local face
  discretization
2019-05-02 13:15:49 +02:00
f85be0c4bd Merge branch 'feature-reflectiveSolarLoad' into 'develop'
Feature reflective solar load

See merge request Development/OpenFOAM-plus!243
2019-05-02 10:45:45 +01:00
6a3747a869 INT: Updates for radiation modelling for integration into the develop branch 2019-05-02 10:40:16 +01:00
f50d23a957 ENH: ensure that content changes in coded objects are noticed (#1293)
- for codedFunctionObject and CodedSource the main code snippets
  were not included in the SHA1 calculation, which meant that many
  changes would not be noticed and no new library would be compiled.

  As a workaround, a dummy 'code' entry could be used solely for the
  purposes of generating a SHA1, but this is easily forgotten.

  We now allow tracking of the dynamicCodeContext for the coded
  objects and append to the SHA1 hasher with specific entries.
  This should solve the previous misbehaviour.

  We additionally add information about the ordering of the code
  sections. Suppose we have a coded function object (all code
  segments are optional) with the following:

      codeExecute "";
      codeWrite   #{ Info<< "Called\n"; #};

  which we subsequently change to this:

      codeExecute #{ Info<< "Called\n"; #};
      codeWrite   "";

  If the code strings are simply concatenated together, the SHA1 hashes
  will be identical. We thus 'salt' with their semantic locations,
  choosing tags that are unlikely to occur within the code strings
  themselves.

- simplify the coded templates with constexpr for the SHA1sum
  information.

- Correct the CodedSource to use 'codeConstrain' instead of
  'codeSetValue' for consistency with the underlying functions.
2019-05-01 14:00:54 +02:00
879d280bb9 ENH: modernize SHA1 classes (#1301)
- localize some functionality, std::array for digest internals.
  Additional append sub-string methods, pass-through write of digest
  etc.
2019-05-01 12:14:09 +02:00
3e894bdef1 ENH: replace processorFvPatchField specialization with 'if...' (#1304)
- only apply component-wise transformCoupleField for non-scalar types
2019-05-01 14:20:08 +02:00