Commit Graph

12018 Commits

Author SHA1 Message Date
304af9fc5f reactingTwoPhaseEulerFoam: Added LTS support to the face-momentum algorithm 2016-12-04 10:14:43 +00:00
2b551d8751 metisDecomp: Corrected return from metisDecomp::decompose
Resolves bug-report http://bugs.openfoam.org/view.php?id=2370
2016-12-03 19:26:21 +00:00
b57859269b tmp: Removed temporary global functions 2016-12-03 11:44:18 +00:00
f303f2a289 motionSolver: Removed unused member data 2016-12-02 12:44:09 +00:00
c300fd5ca8 dictionary: Handle the distinction between '.' as a keyword character and a scope operator
Patch contributed by Mattijs Janssens
Resolves bug-report http://bugs.openfoam.org/view.php?id=2358
2016-12-02 12:23:17 +00:00
6534b58784 processorMeshes::read destruct before de-register
Patch contributed by Mattijs Janssens
Resolves bug-report http://bugs.openfoam.org/view.php?id=2368
2016-12-01 22:07:50 +00:00
64548a6283 meshToMesh0: fixed segmentation fault
Patch contributed by Mattijs Janssens
Resolves bug-report http://bugs.openfoam.org/view.php?id=2363
2016-12-01 19:55:39 +00:00
031c75374e ENH: Relocated injectedParticle class to lagrangian library 2016-12-01 17:04:37 +00:00
458357226a BUG: Removing code unintenionally committed 2016-12-01 16:59:47 +00:00
1d3782a8af ENH: improve IOobjectList functionality (issue #322)
- provide additional filtering methods on names(), sortedNames()
  For example,

      IOobjectList objects = ...;
      wordReList selection = ...;

      objects.sortedNames(VolFieldType::typeName, selection);
2016-12-01 17:59:38 +01:00
8602fd13f4 ENH: Initial commit of new particleDistribution FO - generates 'general' distribution for lagrangian particle clouds 2016-12-01 16:52:37 +00:00
6d8281e217 ENH: extractEulerianParticles FO updates 2016-12-01 16:51:11 +00:00
f666f54984 ENH: distributionModels - refactored binned and general models 2016-12-01 16:50:13 +00:00
c0f1a87d54 STYLE: Code clean-up 2016-12-01 16:49:34 +00:00
1c687baa35 dynamicMotionSolverListFvMesh: New mesh-motion solver supporting multiple moving regions
e.g. the motion of two counter-rotating AMI regions could be defined:

dynamicFvMesh   dynamicMotionSolverListFvMesh;

solvers
(
    rotor1
    {
        solver solidBody;

        cellZone        rotor1;

        solidBodyMotionFunction  rotatingMotion;
        rotatingMotionCoeffs
        {
            origin        (0 0 0);
            axis          (0 0 1);
            omega         6.2832; // rad/s
        }
    }

    rotor2
    {
        solver solidBody;

        cellZone        rotor2;

        solidBodyMotionFunction  rotatingMotion;
        rotatingMotionCoeffs
        {
            origin        (0 0 0);
            axis          (0 0 1);
            omega         -6.2832; // rad/s
        }
    }
);

Any combination of motion solvers may be selected but there is no special
handling of motion interaction; the motions are applied sequentially and
potentially cumulatively.

To support this new general framework the solidBodyMotionFvMesh and
multiSolidBodyMotionFvMesh dynamicFvMeshes have been converted into the
corresponding motionSolvers solidBody and multiSolidBody and the tutorials
updated to reflect this change e.g. the motion in the mixerVesselAMI2D tutorial
is now defined thus:

dynamicFvMesh   dynamicMotionSolverFvMesh;

solver solidBody;

solidBodyCoeffs
{
    cellZone        rotor;

    solidBodyMotionFunction  rotatingMotion;
    rotatingMotionCoeffs
    {
        origin        (0 0 0);
        axis          (0 0 1);
        omega         6.2832; // rad/s
    }
}
2016-12-01 15:57:15 +00:00
85036f78ab orthogonalSnGrad, uncorrectedSnGrad: Improved documentation
Resolves request http://bugs.openfoam.org/view.php?id=2364
2016-12-01 15:17:14 +00:00
4427d9e49c Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-01 14:32:02 +00:00
450d84bd77 BUG: surfaceNormalFixedValue: do not use ptf.patch(). Fixes #319 2016-12-01 14:31:22 +00:00
d5e2b73500 STYLE: simplify logic statement 2016-12-01 14:25:38 +01:00
92fa5a1921 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);

--
2016-12-01 13:04:07 +01:00
78bb633dfc ENH: extractEulerianParticles FO - refactored to output a cloud of particles - distribution analysis to follow... 2016-11-30 23:32:33 +00:00
99a1eee024 ENH: Lagrangian - added functions to add particle data as fields on an object registry 2016-11-30 17:18:48 +00:00
5d7f8f11d6 GIT: rearrange files for surface sampling sources
- isolate the surface source (plane, iso-surface etc), from sampling
2016-11-30 10:31:07 +01:00
8b75035f29 ENH: change UnsortedMeshedSurface -> meshedSurface for sampledTriSurfaceMesh
- all sampled surface types now consistently use the same storage,
  which allows some more simplifications in the future.

- before/after comparison of the sampledTriSurfaceMesh tested with
  motorbike passenger helmet (serial and parallel). Use the newly added
  'keepIds' functionality to retain the original ids, and can also
  compare them to the original obj file with "GenerateIds" in paraview.
2016-11-29 22:56:08 +01:00
3c41b80b38 ENH: change from triSurface to meshedSurface storage for iso-surfaces
- this makes it easier to reuse the code, and sampledSurface expect
  a face (not a labelledFace), so this also eliminates a translation
  level and simplifies memory management.

- before/after comparison of the sampled iso-surfaces tested with
  iso-surfaces from interFoam/RAS/angledDuct tutorial (serial and
  parallel)
2016-11-29 17:24:26 +01:00
690f58d2cb ENH: support retention of original surface ids when sampling (related to issue #104)
For example,
    surfaces
    (
        helmet
        {
            type        sampledTriSurfaceMesh;
            surface     motorBike-passenger-helmet.obj;
            source      cells;
            keepIds     true;  <<-- NEW
        }
    );

    This will create an additional "Ids" field that can be used to sort
    or as a faceMap to recover the original face order.
2016-11-29 17:14:56 +01:00
fbd4ff38b0 STYLE: correct the documented behaviour of 'none' for function objects
- cf. Line 224 of timeControl.C
2016-12-13 10:11:17 +01:00
6f2b2aff40 STYLE: reduce script verbosity 2016-12-13 08:15:00 +01:00
17bedf58d9 STYLE: consistent of enumerations between ensight components 2016-12-13 08:09:26 +01:00
9041c9083e BUG: incorrect addressing in ensight faces/cells (issue #334)
- was erroneously using global sizing for offsets instead the processor
  local sizing.

--

STYLE: adjust variable naming, indentation for consistency
2016-12-12 17:52:02 +01:00
271c8c8c6e ENH: Added new extractEulerianParticles function object
Generates discrete particle data from multiphase calculations by
interrogating the phase fraction field at a faceZone.

Data is written in raw form, i.e. per particle collected, with
as an optional binned distribution
2016-11-29 14:56:48 +00:00
47439e4917 ENH: pairPatchAgglomeration - multiple updates 2016-11-29 14:46:19 +00:00
86982f5eb7 ENH: writeFile - return bool on successful read 2016-11-29 14:45:45 +00:00
89b1b64414 ENH: distributionModels - added new binned model to add discrete binned sizes 2016-11-29 14:45:33 +00:00
c6acd68618 ENH: Added new regionSplit2D to split 2-D regions based on an indicator field 2016-11-29 14:41:02 +00:00
75b30cfb2c STYLE: eliminate the last vestiges of unallocLabelList in favour of labelUList
- both are typedefs for UList<label>
2016-11-29 11:49:46 +01:00
4ab9806348 BUG: foamToEnsight -faceZones fails (issue #317)
- was using direct face ids instead of appropriate sub-lists
- also removed typo that wasn't helping much either
2016-11-29 11:45:01 +01:00
d45d5a9e0a STYLE: remove definition of unimplemented faceZone method 2016-11-29 11:08:31 +01:00
05df4c71b6 ENH: Lagrangian models - added headers to enable derived libraries to compile 2016-11-29 09:10:37 +00:00
fcd8d71ef9 STYLE: ensightCells, ensightFaces sub-lists are always allocated
- remove remnant nullptr check
2016-11-29 09:06:30 +01:00
a2bba390f2 COMP: improve robustness of cmake (vtk) builds when directories have moved 2016-11-28 23:28:21 +01:00
f281f77e4a Updated member type comments
Resolves bug-report http://bugs.openfoam.org/view.php?id=2356
2016-11-28 21:23:00 +00:00
39e032aef6 ENH: 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;

            // 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;
        }
2016-11-28 14:21:11 +00:00
21251970ac Merge branch 'feature-noise-multiple-files' into 'develop'
Feature noise multiple files

Enabled pointNoise and surfaceNoise models to operate on multiple input files
- For each model, the files should be specified by the `inputFiles` keyword
- When applied to pointNoise, the file is no longer required when specifying the CSV input data
- the singular `inputFile` entry is still available to the surfaceNoise model for backwards compatibilty

See merge request !80
2016-11-28 13:50:14 +00:00
494ce72e3b ENH: surfaceNoise - provide backwards compatibility for inputFile keyword 2016-11-28 13:44:53 +00:00
414b128f7f combustionModels::zoneCombustion: Corrected base-class
to avoid duplicate instantiation of the thermodynamics package.

The 'zoneCombustion' model is now selected in constant/combustionProperties by
either

combustionModel zoneCombustion<psiCombustionModel>;

or

combustionModel zoneCombustion<rhoCombustionModel>;

as appropriate.

Resolves bug-report http://bugs.openfoam.org/view.php?id=2354
2016-11-28 11:59:17 +00:00
f4e53b2d3a Merge branch 'feature-functionObject-consistentWrite' into 'develop'
Function objects - ensure objects are up-to-date when writing

See merge request !79
2016-11-28 09:51:07 +00:00
2903722a39 Revert "ENH: ensure written and evaluated values correspond (issue #311)"
This reverts commit c554dc7b7d.

Functionality available in more general change in commit fb78378
2016-11-28 09:48:06 +00:00
1022f4fc49 STYLE: Minor code formatting 2016-11-28 09:27:13 +00:00
3e8415e119 BUG: enightPartFaces - use virtual size() function in write method 2016-11-28 09:26:51 +00:00