Skip to content
Snippets Groups Projects
  1. Dec 16, 2016
  2. Dec 15, 2016
  3. Dec 14, 2016
  4. Dec 12, 2016
  5. Dec 07, 2016
  6. Dec 06, 2016
  7. Dec 05, 2016
  8. Dec 04, 2016
  9. Dec 03, 2016
  10. Dec 01, 2016
    • Henry Weller's avatar
    • Mark Olesen's avatar
      ENH: improve objectRegistry functionality (issue #322) · 92fa5a19
      Mark Olesen authored
      - Recursive searching for objects within a registry is now optional
        (previous it was always done).
      
        A recursive search effectively blocks the construction of sub-sub-registries
        if their names are 'masked' by some parent level sub-registry with
        the same name! (BUG)
      
      - Recursive search is now turned OFF by default, which makes it consistent
        with dictionary and probably causes the least number of surprises.
      
      ----
      Various new convenience methods added:
      
      lookupObjectRef()
      - returns a non-const reference.
        For example,
      
            volScalarField& U = mesh().lookupObjectRef<volScalarField>("U");
      
        Instead of
      
            volScalarField& U = const_cast<volScalarField&>
            (
                mesh().lookupObject<volScalarField>("U")
            );
      
      --
      lookupObjectPtr()
      - returns a const pointer, and nullptr on failure.
        For example,
      
            const volScalarField* Uptr = mesh().lookupObjectPtr<volScalarField>("U");
            if (Uptr)
            {
                const volScalarField& U = *Uptr;
                ...
            }
      
        Instead of
      
            if (mesh().foundObject<volScalarField>("U"))
            {
                const volScalarField& U = mesh().lookupObject<volScalarField>("U");
                ...
            }
      
      --
      lookupObjectRefPtr()
      - returns a non-const pointer, and nullptr on failure.
        For example,
      
            volScalarField* Uptr = mesh().lookupObjectRefPtr<volScalarField>("U");
            if (Uptr)
            {
                volScalarField& U = *Uptr;  // use as reference
                (*Uptr) = ...;              // or use directly
            }
      
        Instead of
      
            if (mesh().foundObject<volScalarField>("U"))
            {
                volScalarField& U = const_cast<volScalarField&>
                (
                    mesh().lookupObject<volScalarField>("U")
                );
            }
      
      --
      sortedNames()
      - now works with template parameters and with regular expression
        matching as well.
        For example,
      
            wordList names  = mesh().sortedNames();
            wordList fields = mesh().sortedName<volScalarField>();
      
        Instead of
      
            wordList names  = mesh().sortedNames();
            wordList fields = mesh().names<volScalarField>();
            Foam::sort(fields);
      
      --
      92fa5a19
    • Mark Olesen's avatar
      ENH: add Test-objectRegistry (issue #322) · 8628ddac
      Mark Olesen authored
      - test clearly shows failure to insert a sub-registry when it has
        the same name as one of the parent sub-registry.
      8628ddac
  11. Dec 13, 2016
  12. Nov 29, 2016
  13. Nov 28, 2016
  14. Nov 25, 2016
    • Henry Weller's avatar
      foamDictionary: Added support for manipulating lists of dictionaries · 1d1f71f7
      Henry Weller authored
        - provides support for manipulating polyMesh/boundary
      
        - changed behaviour of disableFunctionEntries option to preserve
          #include
      
        - dictionary: added reading of lists of dictionaries.
          + each list element may be accessed using the 'entryDDD' keyword
            according to their list index.
      
      Patch contributed by Mattijs Janssens
      1d1f71f7
    • Mark Olesen's avatar
      COMP: add in plain lib/ directories for boost, cgal, fftw · dc1c37e4
      Mark Olesen authored
      - these directories are sometimes used for a central, non-thirdparty, non-system
        installation
      
      - leave gmp and mpfr as is, since it is not clear how these would interact with system
        versions
      dc1c37e4
    • Henry Weller's avatar
      topoSet: cellZoneSet, pointZoneSet extensions · 81de1dc9
      Henry Weller authored
      cellZones and pointZones can now be created in one action without the
      need to first create a cellSet or pointSet and converting that to the
      corresponding zone, e.g.
      
      actions
      (
          // Example: create cellZone from a box region
          {
              name    c0;
              type    cellZoneSet;
              action  new;
              source  boxToCell;
              sourceInfo
              {
                  box   (0.04 0 0)(0.06 100 100);
              }
          }
      );
      81de1dc9
  15. Nov 24, 2016
  16. Nov 25, 2016
  17. Dec 02, 2016
  18. Nov 24, 2016
  19. Nov 23, 2016