Commit Graph

22526 Commits

Author SHA1 Message Date
9cf2ed45f9 ENH: add partial sorting to SortableList 2019-04-24 19:03:00 +02:00
9bd5485aa7 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
45db2cf0ba ENH: generalize indirect lists and support new types
- use an IndirectListBase class for various indirect list types.

- new SortList type

  In some places the SortList can be used as a lightweight alternative
  to SortableList to have the convenience of bundling data and sort
  indices together, but while operating on existing data lists.
  In other situations, it can be useful as an alternative to
  sortedOrder.  For example,

        pointField points = ...;

        labelList order;
        sortedOrder(points, order);

        forAll(order, i)
        {
            points[order[i]] = ...;
        }

   Can be replaced with the following (with the same memory overhead)

        pointField points = ...;

        SortList<point> sortedPoints(points);

        for (point& pt : sortedPoints)
        {
            pt = ...;
        }

- new SliceList type (#1220), which can be used for stride-based
  addressing into existing lists
2019-04-11 15:24:33 +02:00
8926f1c1dd STYLE: add sub-directories in OSspecific/POSIX 2019-04-24 13:15:54 +02:00
5d6e0420db BUG: missing guard for empty list (see b2bc1d6546) 2019-04-24 12:28:40 +02:00
ba10e5913d STYLE: report read/write options as integers (see fb5940131e) 2019-04-24 12:28:40 +02:00
22e4829795 ENH: simplify access and caching logic for gradScheme (#1276) 2019-04-24 12:02:23 +02:00
993fe70cb3 ENH: support checkIn/checkOut with pointers (#1276) 2019-04-24 10:26:41 +02:00
294b2c6a93 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
3a96013909 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
fb5940131e COMP: resolved build error due to change in commit 02598d0e36 - need to revisit 2019-04-17 11:32:25 +01:00
52cb57b65c COMP: resolved compiler warning 2019-04-17 11:31:17 +01:00
4dc557da61 ENH: solverInfo - separated execute and write functionality 2019-04-17 09:24:54 +01:00
d28ef7579c ENH: Added debug info 2019-04-17 09:18:18 +01:00
140a5ff530 ENH: mesh Vsc() calc - not using sub-cycle volume for steady cases 2019-04-17 09:14:58 +01:00
b2bc1d6546 ENH: Only store previous time name if it is not at the current head 2019-04-17 09:13:44 +01:00
5f7b62c5e4 ENH: solutionControl - made dict() function virtual 2019-04-17 09:11:39 +01:00
e26e9e755a BUG: Sf field ignored for sumDirection operation (fixes #1287) 2019-04-16 18:32:07 +02:00
fbeec6286b ENH: add Ostream output for std::vector
- convenient when using data structures from other codes
2019-04-16 18:00:20 +02:00
2c5c3affef STYLE: formatting in makefiles, config files
- fix typo in makefiles/info that affected wmake -show-compile-c

- additional safeguard in src/OpenFOAM/Make/options against self-linking.
  This is not normally required unless PROJECT_LIBS has been added into
  the link stage.
2019-04-16 12:39:25 +02:00
02598d0e36 ENH: add tracking of label/scalar size when reading IOobject header
- extracts values from the arch "LSB;label=32;scalar=64" header entry
  to provision for managing dissimilar primitive sizes.

  Compensate for the additional IOobject members by narrowing the types
  for the (objectState, readOption, writeOption) enumerations
2019-04-16 12:23:01 +02:00
39899217b9 ENH: add backslashes handling, UNC descriptors in fileName (#1008, #1238) 2019-04-16 12:18:20 +02:00
17fe55a7c9 BUG: MeshObject: do not release in destructor. Leave to regIOobject. Fixes #1276. 2019-04-15 15:06:57 +01:00
a554753db6 BUG: bad '#line' directives for dynamicCode (fixes #1282)
- now suppress any '#line' if the input number number is invalid
  (ie, an empty set of tokens)
2019-04-15 12:42:29 +02:00
4f725f2896 ENH: construct axisAngleRotation from x/y/z axis enumeration (#863)
- can be helpful for handling rotations within global planes
2019-04-15 09:55:43 +02:00
23ec5ab405 ENH: residuals: change FO name. See #1203 2019-04-15 10:01:35 +01:00
66c97a27ab BUG: dry-run-write: avoid overwriting mesh 2019-04-15 09:43:14 +01:00
20d57b9842 COMP: use standard compiler macros when distinguishing the OS
- replace (darwin) with (__APPLE__)
- replace (solarisGcc) with (__sun__ && __GNUC__)
- instead of 'darwin' -> '__APPLE'

- cease with passing a -D$(WM_ARCH) define since this adds no useful
  additional information and isn't used anywhere.

Reference
http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system

--

COMP: Extend size disambiguation on long (#1238)
2019-04-12 18:42:30 +02:00
bb10705ace DEFEATURE: remove old IRIX code for floating-point-exceptions 2019-04-12 18:35:18 +02:00
6760ce475c CONFIG: wmake -show-xyz in more places (issue #1256) 2019-04-12 11:02:30 +02:00
92238ec4b6 COMP: manage cpu architecture with cARCH, c++ARCH internal make variables
- allows better separation from compiler settings

- use -fPIC instead of legacy -KPIC for intel compiler
2019-04-12 12:59:11 +02:00
0f26b44557 CONFIG: adjust settings for solaris and darwin
solaris:
  - rename WM_ARCH from SunOS to solaris64 for consistency with wmake/rules
  - drop non-64 solaris from wmake/rules
  - remove automatic selection of FJMPI. This should be done in the bashrc
    or prefs.sh file instead.
  - remove old (likely inaccurate) exported flags, rely on wmake -show-xyz
    or user config instead

darwin:
  - remove '-Ddarwin' from the exported WM_CFLAGS, WM_CXXFLAGS.
    Not used elsewhere (ThirdParty)
2019-04-12 11:06:45 +02:00
acb0901140 COMP: add safePrintStack in dummyPrintStack 2019-04-11 20:51:10 +02:00
310482dd63 COMP: adjust compilation order. Can compile OSspecific before Pstream
STYLE: report MPI flavour (WM_MPLIB) when making mpi-related libraries
2019-04-11 18:22:33 +02:00
057ad170d6 STYLE: use labelUList instead of labelList for ListOps::identity 2019-04-11 16:20:53 +02:00
4ef367b7e4 STYLE: remove unneeded, rarely used construct/assign List from BiIndirectList
- the only code location using BiIndirectList are debug sections
  within polyTopoChange.

  No need to construct/assign directly from a BiIndirectList since
  the '()' method provides a simple alternative.
2019-04-11 16:20:53 +02:00
a7524700f1 ENH: overset: overlap communications 2019-04-11 18:01:55 +01:00
386450ed04 Merge remote-tracking branch 'origin/master' into develop 2019-04-11 11:39:33 +01:00
cc476c7363 BUG: gmsh: skip empty lines. See #1155.
Fix provided by Gavin Ridley.
2019-04-11 11:07:28 +01:00
64ed81b78f BUG: gmsh: skip empty lines. See #1155.
Fix provided by Gavin Ridley.
2019-04-11 11:07:28 +01:00
89b0e9493e ENH: reorganize cpuTime into C++ and POSIX versions (#1238) 2019-04-11 11:00:28 +02:00
106d4b2b5a ENH: replace OSspecific clockValue with std::chrono version (#1278)
- aids with portability and maintenance (#1238)
2019-04-11 10:07:54 +02:00
dd7449a6ee CONFIG: bump API to 1904 for changes in interaction with external MPI 2019-04-10 18:00:04 +02:00
c57ca0d224 CONFIG: adjust adios config paths 2019-04-10 16:08:21 +02:00
ee1a108d07 Merge branch 'feature-pstream-initialize' into 'develop'
better cooperation with external MPI initialize / finalize

See merge request Development/OpenFOAM-plus!252
2019-04-10 14:42:11 +01:00
f0f012813c ENH: make gravity mesh object unmovable and properly registered (#1276)
- change from UpdateableMeshObject to TopologicalMeshObject

- change inheritance order to have MeshObject be registered first
  and mark the IOobject descriptor as unregistered
2019-04-10 12:54:32 +02:00
b4f1092b3a BUG: snappyHexMesh: attraction distance mapping. Fixes #941. 2019-04-10 10:34:50 +01:00
88e891cfb1 ENH: force clearing of Time objectRegistry on destruction (#1276)
- the objectRegistry destructor seems to be called too late.
  Explicitly clear the objectRegistry within the Time destructor to
  ensure that it always happens.
2019-04-10 11:30:31 +02:00
335dfa14a5 ENH: cellVolumeWeight: removed printing. 2019-04-10 11:05:25 +01:00
8ad102dbaa BUG: snappyHexMesh: attraction distance mapping. Fixes #941. 2019-04-10 10:34:50 +01:00