Commit Graph

17013 Commits

Author SHA1 Message Date
2eeaa326d6 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
e91ec2573c 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
0f1fcb97b5 ENH: additional MinMax span() and zero_one() methods 2019-05-08 12:12:00 +02:00
ac317699d8 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
e30dc962b3 STYLE: unnecessary read-check in ccm::writer 2019-05-07 20:39:20 +02:00
a85c55bbb5 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
23e5d43e4e 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
3089a11647 STYLE: comments and parameter names for coordinateRotations::euler 2019-05-03 13:31:00 +02:00
675aa8053a ENH: support pointer cast from autoPtr 2019-05-03 09:59:53 +02:00
8b6f4a4bcf STYLE: use iterator for mutable access in masterUncollatedFileOperation 2019-05-03 11:27:23 +02:00
a54aff9d26 COMP: add wmake rules for mingw (#1238) 2019-04-28 13:36:50 +02:00
07ec741e2a ENH: add OSspecific/MSwindows (#1238) 2019-04-03 19:00:06 +02:00
83d26d19b5 ENH: replace processorFvPatchField specialization with 'if...' (#1304)
- only apply component-wise transformCoupleField for non-scalar types
2019-05-01 14:20:08 +02:00
c96a84e653 STYLE: use std::is_arithmetic in contiguous and ListPolicy 2019-05-01 11:25:34 +02:00
1d5e0a4e0e ENH: unify dlSym handling
- amalgamate dlSym() and dlSymFound() into a single dlSymFind() backend
  with optional 'required' argument. This makes it possible to
  query and assign at once.
2019-04-30 14:27:12 +02:00
26a391b1e9 ENH: no string quotes when using OSHA1stream (#1301)
- previously would have different SHA1 depending on whether the
  string was a C-string, a C++-string or if the SHA1 was calculated
  directly or via the OSHA1stream.

    - SHA1("string")
    - OSHA1stream << "string";
    - OSHA1stream << string("string");

  By avoiding string quoting on output, they now all deliver the same
  result. This also means that the following will no longer change the SHA1
  content, since it does not add anything:

    osha<< string() << string() << string() << string();

  This would have previously add a pair of double quotes each time!
2019-04-30 12:43:59 +02:00
e7a046858e COMP: avoid some implicit linkage (#1238) 2019-04-30 11:28:23 +02:00
25e0182fca COMP: label64: fixes #1297. 2019-04-29 14:23:05 +01:00
beefee48d4 COMP: adjust compilation order with updated interdependencies
- Eg, with surface writers now in surfMesh, there are fewer libraries
  depending on conversion and sampling.

COMP: regularize linkage ordering and avoid some implicit linkage (#1238)
2019-04-28 14:44:33 +02:00
4941213880 COMP: combine twoPhaseProperties library into interfaceProperties
- avoids unnecessary cyclic dependency
2019-04-26 20:55:46 +02:00
59da4cf56d STYLE: use uintptr_t cast instead of long when reporting addresses 2019-04-29 08:15:48 +02:00
ffcff46f18 ENH: support trapping of IOerror exceptions in parallel (#1296)
- continuation of commit 0e7954c22b

ENH: downgrade abort() to exit() in some places (#1238)
2019-04-26 13:55:37 +02:00
849dffedb8 COMP: define processorFvPatchField<scalar> with scoping 2019-04-26 14:35:55 +02:00
6146667284 Merge branch 'feature-indirect-lists' into 'develop'
Feature indirect lists

See merge request Development/OpenFOAM-plus!253
2019-04-29 10:48:17 +01:00
ca2b94d1ac ENH: add simple profiling of MPI communications
See merge request Development/OpenFOAM-plus!254
2019-04-29 10:08:30 +01:00
5e01152779 ENH: Pstream: use commsType to decide whether reduce or all-to-all 2019-04-29 09:23:43 +01:00
70b12e0bd0 ENH: handle cellSet/cellZone updates in fvMeshSubsetProxy (#1294)
- now also track if the cellSet or cellZone has changed on point
  motion.
2019-04-26 13:34:00 +02:00
180a284814 ENH: add '==' and '!=' operators for PackedList/bitSet
- also available as equal() member function
2019-04-26 13:01:39 +02:00
e1609d16d1 STYLE: use degToRad() instead of pi/180 2019-04-26 11:48:27 +02:00
5f40a738d3 STYLE: adjust comments in quaternion
- make I/O operators global (non-member)
2019-04-26 10:27:53 +02:00
d80198ec09 STYLE: use modern iterator access (proximity check) 2019-04-25 17:44:52 +02:00
828f8e8504 ENH: add simple profiling of MPI communications 2019-04-25 15:33:51 +02:00
53be19989b CONTRIBUTION: overset: handling patch interactions. See #1288.
- in case of cell overlapping a patch : set cell to hole always
- in case of cell changing from hole to calculated: set to hole
  and continue. Do so before 'flood filling' holes.
Patch supplied by Nicolas Edh.
2019-04-25 11:00:32 +01:00
bf30779b64 ENH: add partial sorting to SortableList 2019-04-24 19:03:00 +02:00
3a1a353483 STYLE: remove UList operator[] taking std::initializer_list
- unnecessary. Can deduce labelRange from the pair of labels.
  These are all the same:

      list[labelRange(18,3)] = 100;
      list[labelRange{18,3}] = 100;
      list[{18,3}] = 100;

  Removing the run-time handling of std::initializer_list in favour of
  compile-time deduction allows the future use of sliceRange as well.
  Eg,

     list[sliceRange{18,3,2}] = 100;
     list[{18,3,2}] = 100;
2019-04-24 18:26:57 +02:00
2c72724393 STYLE: add sub-directories in OSspecific/POSIX 2019-04-24 13:15:54 +02:00
88cf93c4e7 BUG: missing guard for empty list (see b2bc1d6546) 2019-04-24 12:28:40 +02:00
391afe7854 STYLE: report read/write options as integers (see fb5940131e) 2019-04-24 12:28:40 +02:00
4d215d8e0d ENH: simplify access and caching logic for gradScheme (#1276) 2019-04-24 12:02:23 +02:00
ef0d15546a ENH: support checkIn/checkOut with pointers (#1276) 2019-04-24 10:26:41 +02:00
887236a155 CONTRIBUTION: Parallel: optimisation of exchange. See #1268.
- Enhancements provided by Y. Inoue at RIST (http://www.hpci-office.jp)
- Use allToAll to only swap local data (excludes master processor; saves memory)
- Memory saving is noticeable >= 4000 cores
2019-04-18 15:43:40 +01:00
606ef0dbde BUG: MeshObject: revert 17fe55a7c9.
This fixed the MeshObject on Time but produced problems for the
non-regIOobject MeshObjects.
2019-04-17 14:17:28 +01:00
f3eaf29ed1 COMP: resolved build error due to change in commit 02598d0e36 - need to revisit 2019-04-17 11:32:25 +01:00
9d6a4931c2 COMP: resolved compiler warning 2019-04-17 11:31:17 +01:00
159ee1d95f ENH: solverInfo - separated execute and write functionality 2019-04-17 09:24:54 +01:00
a6acce45b6 ENH: Added debug info 2019-04-17 09:18:18 +01:00
0f00ac2d8c ENH: mesh Vsc() calc - not using sub-cycle volume for steady cases 2019-04-17 09:14:58 +01:00
8b81dacfc4 ENH: Only store previous time name if it is not at the current head 2019-04-17 09:13:44 +01:00
e6ddde737a ENH: solutionControl - made dict() function virtual 2019-04-17 09:11:39 +01:00
922c3c57d5 BUG: Sf field ignored for sumDirection operation (fixes #1287) 2019-04-16 18:32:07 +02:00