Commit Graph

417 Commits

Author SHA1 Message Date
1a16207e0d COMP: compilation of Test-QRMatrix (clang, int64)
- remove unused local functions from volumeExprDriver
2019-12-16 11:22:15 +01:00
98467036b3 STYLE: regularize quoting and exit on failed 'cd' 2019-11-13 13:19:16 +01:00
ec7e3c88e4 ENH: test for WM_PROJECT_DIR being set/unset in scripts 2019-11-06 09:18:51 +01:00
fdf8d10ab4 Merge commit 'e9219558d7' into develop-v1906 2019-12-05 11:47:19 +00:00
e9219558d7 GIT: Header file updates 2019-10-31 14:48:44 +00:00
fd4ffc8a27 ENH: use PrecisionAdaptor in kahipDecomp 2019-10-29 11:42:55 +01:00
328513fcaa ENH: use List instead of UList for internal decomposition implementation
- enables future use of precision adaptors
2019-10-29 10:46:33 +01:00
a3f3ec81f8 BUG: randomDecomp: added non-mesh decomposition. Fixes #1428. 2019-09-05 14:25:15 +01:00
1d79c0452c ENH: additional contiguous traits (#1378)
- change contiguous from a series of global functions to separate
  templated traits classes:

    - is_contiguous
    - is_contiguous_label
    - is_contiguous_scalar

  The static constexpr 'value' and a constexpr conversion operator
  allow use in template expressions.  The change also makes it much
  easier to define general traits and to inherit from them.

  The is_contiguous_label and is_contiguous_scalar are special traits
  for handling data of homogeneous components of the respective types.
2019-07-29 11:36:30 +02:00
3c07a1bb6f ENH: Foam::name() of memory address
- returns the memory address formatted in hexadecimal, which can be
  useful for detailed information
2019-08-12 10:46:29 +02:00
f94be1bebb ENH: use FatalIOErrorInLookup instead of FatalErrorInLookup 2019-07-16 10:26:51 +02:00
fb09f56aba ENH: use FatalErrorInLookup macros (#1362) 2019-07-12 18:00:00 +02:00
53947016fa BUG: metis PrecisionAdaptor used ref() instead of constCast() - closes #1354
- the scotch interface still uses non-const pointers when passing in
  values. For the ConstPrecisionAdaptor this means that we need to cheat
  with a constCast(). Using ref() will rightly trigger complaints about
  trying to modify a const object.
2019-07-04 17:07:48 +02:00
355d6c4c4f ENH: scotch: make repeatable. Fixes #1274. 2019-06-19 08:45:48 +01:00
ed10b19a2c COMP: randomDecomp - resolved compiler warnings 2019-06-14 17:01:30 +01:00
f1394e9ce3 STYLE: use data() instead of begin() when passing metisDecomp raw data 2019-06-14 11:08:31 +02:00
01ea3cc790 ENH: metis: use PrecisionAdaptor to support 64 bit indices 2019-06-13 20:52:48 +01:00
b5d775a691 STYLE: avoid deprecated lookup methods 2019-05-22 15:06:12 +01:00
8345452484 STYLE: additional constructor for randomDecomp 2019-05-20 08:58:35 +01:00
51f501b668 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
659526101a ENH: Adding reflection capability to solar load radiation model
ENH: Several modifycations to avoid erroneuos rays to be shot
from wrong faces.

ENH: Updating tutorials and avoiding registration of the
coarse singleCellFvMesh

Adding solarLoad tutorial case simpleCarSolarPanel

ENH: Changes needed for the merge
2019-01-21 16:29:58 -08:00
9893e62386 ENH:
Adding reflecting fluxes to Solar load radiation model.
Adding functionality to the boundary radiation models and new
place holder for basic wall types such as transparent, opaqueDiffusive,
opaqueReflective,etc.
Changing radiation wall models to run time selectable.
Adding multi-band capabilities to VF model and improving the set up
for using solar loads in VF and fvDOM radiation models.
2018-12-03 13:51:40 -08:00
e7a046858e COMP: avoid some implicit linkage (#1238) 2019-04-30 11:28:23 +02: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
0fab8abc76 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
cd91a252ac ENH: improve handling of pt-scotch headers/libraries
- provide dedicated detection 'have_ptscotch' function that can be
  used after the 'have_scotch' function.

  It sets the PTSCOTCH_ARCH_PATH, PTSCOTCH_INC_DIR, PTSCOTCH_LIB_DIR
  and helps when the serial and parallel versions are located with
  different logic.
2019-04-05 13:10:53 +02:00
ae719b87b5 ENH: exact: use parallel decomposition method 2019-03-20 15:29:47 +00:00
f679ab4300 STYLE: adjust some internal variables names in hierarchGeomDecomp 2019-03-20 12:02:42 +01:00
d2eb50832c ENH: add handling of lib/exe file extensions in makefile (#1238)
- relocates some logic from makefiles/general into platform-specific
  overrides
2019-03-14 10:42:57 +01:00
17a579bf92 ENH: exact: new patchDistMethod 2019-02-18 15:31:42 +00:00
48055b2dea ENH: distributedTriSurfaceMesh: auto-decomposition; inside/outside support 2019-02-18 13:29:01 +00:00
482a1b08a7 ENH: scotchDecomp: check validity of processorWeights. Fixes #1207. 2019-02-14 12:40:25 +00:00
655f7d1997 ENH: for-range, forAllIters() ... in parallel/
- reduced clutter when iterating over containers
2019-01-07 09:20:51 +01:00
154029ddd0 BOT: Cleaned up header files 2019-02-06 12:28:23 +00:00
2067014079 ENH: minor consistency improvements for bounding box
- a valid() method (same as !empty() call) for consistency with other
  containers and data types

- a centre() method (same as midpoint() method) for consistency with
  other OpenFOAM geometric entities
2019-01-09 09:32:23 +01:00
e2bc0b55b9 COMP: use std::move() explicitly to avoid copying 2019-01-02 15:56:54 +01:00
1d85fecf4d ENH: use Zero when zero-initializing types
- makes the intent clearer and avoids the need for additional
  constructor casting. Eg,

      labelList(10, Zero)    vs.  labelList(10, 0)
      scalarField(10, Zero)  vs.  scalarField(10, scalar(0))
      vectorField(10, Zero)  vs.  vectorField(10, vector::zero)
2018-12-11 23:50:15 +01:00
e761570986 ENH: reduce number of warnings emitted by hierarchGeomDecomp
- it is sufficient to provide the total number of times that findBinary()
  failed instead of flooding the screen with messages

  Full verbose warnings still emitted when debugging is on.
2018-12-13 18:26:30 +01:00
a93a1abec7 COMP: define Scotch and Zoltan include dirs before mpi directories
- the local third-party headers are to be searched before any MPI
  include directories. This stops the situation where an mpi-specific
  version of ptscotch.h is installed into the MPI directories.

  This "system" version may well have a different SCOTCH_Num size
  (32 bit vs 64 bit) from the third-party library etc.
2018-12-11 18:50:19 +01:00
41a03f3790 ENH: add regular expressions for reconstructPar, mapFieldsPar -fields option
- improved flexibility

- reconstruction of Lagrangian positions/fields now handled as a class
  for better modularity
2018-11-28 08:36:17 +01:00
ffec4c6fa7 STYLE: more consistent formatting for deprecated items
- Start brief descriptions with 'Deprecated(YYYY-MM)' so that it is
  readily visible in the short method description. Consistent date
  format (YYYY-MM), placed immediately after the \deprecated tag.
2018-11-11 17:17:33 +01:00
91cfe4c271 ENH: add wordRes::matching() method
- returns indices of matching entries.
2018-11-09 21:21:15 +01:00
dff2569c7f GIT: commit text missed in squashed merge
commit 3f9c7bf411
    commit 3cf177e759

====

ENH: add geometric decomposition constraint (issue #921)

- geometric decomposition constraints may be used to prevent the
  decomposition of regions of the mesh.

  The geometric constraint is applied according to the face centres,
  which define the connectivity between cells.

  Specified in decomposeParDict

    constraints
    {
        geometric
        {
            type    geometric;

            geometry
            {
                box1
                {
                    type    box;
                    min     (-10 -10 -10);
                    max     (1 1 1);
                }

                ball1
                {
                    type    sphere;
                    origin  (-2 -2 1);
                    radius  1;
                }
            }
        }
    }

ENH: add 'grow' option for geometric decomposition constraint (issue #921)

- the 'grow' option includes an additional check to include cell faces
  for any cell that already has two or more of its faces "unblocked".
  This could indicate a connection over a corner, but does not distinguish
  between connectivity introduced by the constraint and the connectivity
  defined by other constraints.

ENH: geometric decomposition constraint using topoSetFaceSource (issue #921)

- replaced use of searchableSurface with a more general and
  more efficient topoSetFaceSource instead.
  Since searchableSurface is also available as a topoSetFaceSource,
  there is no loss in functionality, but using topoSetFaceSource allow
  directly looping over the faces without creating of an additional
  List of volumeTypes.
2018-11-08 21:55:39 +01:00
3cf177e759 Work-package-09 geometric constraint 2018-11-08 20:50:47 +00:00
a7a346b206 STYLE: indentation for FatalIOErrorInFunction calls 2018-11-06 09:49:22 +01:00
f16c417fff CONFIG: mismatch in keyword for singleProcessorFaceSets
- catch some dictionary entries from pre-develop branch
2018-10-19 22:18:06 +02:00
07dafe7b0b STYLE: use range-for when looping dictionary entries.
- as part of the cleanup of dictionary access methods (c6520033c9)
  made the dictionary class single inheritance from IDLList<entry>.

  This eliminates any ambiguities for iterators and allows
  for simple use of range-for looping.

  Eg,
      for (const entry& e : topDict))
      {
          Info<< "entry:" << e.keyword() << " is dict:" << e.isDict() << nl;
      }

   vs

      forAllConstIter(dictionary, topDict, iter))
      {
          Info<< "entry:" << iter().keyword()
              << " is dict:" << iter().isDict() << nl;
      }
2018-10-19 13:08:24 +02:00
4e04c1966f ENH: use dictionary::get<word>() instead of lookup() in a few places 2018-10-19 09:11:31 +02:00
3b74512231 ENH: cleanup of Enum class
- more dictionary-like methods, enforce keyType::LITERAL for all
  lookups to avoid any spurious keyword matching.

- new readEntry, readIfPresent methods

- The get() method replaces the now deprecate lookup() method.

- Deprecate lookupOrFailsafe()
  Failsafe behaviour is now an optional parameter for lookupOrDefault,
  which makes it easier to tailor behaviour at runtime.

- output of the names is now always flatted without line-breaks.
  Thus,

     os << flatOutput(someEnumNames.names()) << nl;
     os << someEnumNames << nl;

  both generate the same output.

- Constructor now uses C-string (const char*) directly instead of
  Foam::word in its initializer_list.

- Remove special enum + initializer_list constructor form since
  it can create unbounded lookup indices.

- Removd old hasEnum, hasName forms that were provided during initial
  transition from NamedEnum.

- Added static_assert on Enum contents to restrict to enum or
  integral values.  Should not likely be using this class to enumerate
  other things since it internally uses an 'int' for its values.

  Changed volumeType accordingly to enumerate on its type (enum),
  not the class itself.
2018-10-18 12:57:32 +02:00
8fabc32539 ENH: simplify objectRegistry access names (issue #322)
New name:  findObject(), cfindObject()
  Old name:  lookupObjectPtr()

      Return a const pointer or nullptr on failure.

  New name:  findObject()
  Old name:  --

      Return a non-const pointer or nullptr on failure.

  New name:  getObjectPtr()
  Old name:  lookupObjectRefPtr()

      Return a non-const pointer or nullptr on failure.
      Can be called on a const object and it will perform a
      const_cast.

- use these updated names and functionality in more places

NB: The older methods names are deprecated, but continue to be defined.
2018-10-17 16:44:10 +02:00