Skip to content
Snippets Groups Projects
  1. Dec 09, 2016
  2. Dec 08, 2016
  3. Dec 07, 2016
  4. Dec 09, 2016
  5. Dec 07, 2016
  6. Dec 06, 2016
    • Mark OLESEN's avatar
      Merge branch 'feature-objectRegistry' into 'develop' · 5f9be34a
      Mark OLESEN authored
      ENH: improve objectRegistry functionality (issue #322)
      
      - 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);
      
      --
      
      See merge request !83
      5f9be34a
    • Andrew Heather's avatar
      Merge branch 'feature-runtime-post-pro-camera-update' into 'develop' · b5f0aa7f
      Andrew Heather authored
      runTimePostProcessing FO camera update
      
      - Removed the camera 'mode'
          - The (old) static camera was only appropriate when parallel
            projection was inactive, and the view was centred at (0 0 0)
          - Camera input now always requires 'position' and 'focalPoint'
          - Clip box is now optional.  Note that this is applied after the
            camera
            set-up and so will override the camera position
          - View angle is only appropriate when not using parallel projection
          - Zoom now required, applied after all other operations
            - 1 = do nothing, >1 = zoom in, <1 = zoom out
      
          Example input:
      
      ```
              camera
              {
                  // Total number of frames to generate
                  nFrameTotal 1;
      
                  // Parallel projection flag
                  parallelProjection no;
      
                  focalPoint  (0 0 0);
                  up          (0 1 0);
                  position    (0 0 1);
      
                  // Optional entries
                  clipBox     (-0.0206 -0.0254 -0.0005) (0.29 0.0254 0.0005);
                  viewAngle   20;
                  zoom        1.1;
              }
      ```
      
      See merge request !81
      b5f0aa7f
    • Andrew Heather's avatar
      aa9d90c4
    • Andrew Heather's avatar
      6508c4e9
    • mattijs's avatar
      ENH: redistributePar: remove shm data · db3699f8
      mattijs authored
      db3699f8
  7. Dec 05, 2016
  8. Dec 01, 2016
    • Mark Olesen's avatar
      ENH: improve IOobjectList functionality (issue #322) · 1d3782a8
      Mark Olesen authored
      - provide additional filtering methods on names(), sortedNames()
        For example,
      
            IOobjectList objects = ...;
            wordReList selection = ...;
      
            objects.sortedNames(VolFieldType::typeName, selection);
      1d3782a8
    • mattijs's avatar
    • mattijs's avatar
    • Mark Olesen's avatar
      STYLE: simplify logic statement · d5e2b735
      Mark Olesen authored
      d5e2b735
    • 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
  9. Nov 29, 2016
  10. Nov 28, 2016
    • Mark Olesen's avatar
    • Mark Olesen's avatar
      COMP: reduce compile noise for paraview modules · b69ab6c8
      Mark Olesen authored
      - vtkkwiml headers use old-style casts, so reduce compile-time warnings
      b69ab6c8
    • Mark Olesen's avatar
      CONFIG: downgrade back to paraview-5.0.1 · e35a5663
      Mark Olesen authored
      - newer versions of paraview build fine, and so do the reader modules,
        but the reader modules won't load (need to upgrade the classes).
      e35a5663
    • Mark Olesen's avatar
      STYLE: simplify adios rules · 4013532a
      Mark Olesen authored
      - now that adios_config flags are largely working in ThirdParty
      4013532a
    • Mark Olesen's avatar
      BUG: _foamAddPath not available when foamPV alias/function is used · dec8bd46
      Mark Olesen authored
      STYLE: only use paraview settings when actually available
      
      - this means executing makeParaView prior to building OpenFOAM itself,
        but is consistent with the instructions given by makeParaView,
        and elminates anticipating the source location from the paraview
        config file, which increases the build flexibilty for ThirdParty
      dec8bd46
    • Andrew Heather's avatar
      ENH: runTimePostProcessing FO camera update · 39e032ae
      Andrew Heather authored
          - Removed the camera 'mode'
          - The (old) static camera was only appropriate when parallel
            projection was inactive, and the view was centred at (0 0 0)
          - Camera input now always requires 'position' and 'focalPoint'
          - Clip box is now optional.  Note that this is applied after the
            camera
            set-up and so will override the camera position
          - View angle is only appropriate when not using parallel projection
          - Zoom now required, applied after all other operations
            - 1 = do nothing, >1 = zoom in, <1 = zoom out
      
          Example input:
      
              camera
              {
                  // Total number of frames to generate
                  nFrameTotal 1;
      
                  // Parallel projection flag
                  parallelProjection no;
      
                  // Optional clippling box
                  clipBox     (-0.0206 -0.0254 -0.0005) (0.29 0.0254 0.0005);
                  focalPoint  (0 0 0);
                  up          (0 1 0);
                  position    (0 0 1);
                  viewAngle   20;
                  zoom        1.1;
              }
      39e032ae