Commit Graph

12018 Commits

Author SHA1 Message Date
c537e4e8ac ENH: Updated output to use the writer class 2016-12-19 20:38:27 +00:00
75e86eb413 ENH: particleDistribution function object - updated output 2016-12-19 14:17:07 +00:00
ebb2ec504c STYLE: Updated header documentation 2016-12-19 14:16:13 +00:00
4d6ac7ddf8 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-18 21:54:38 +00:00
519248d3f4 ENH: fieldExpression - added verbose flag to foundObject 2016-12-18 21:44:25 +00:00
03e1f9c433 ENH: Removed unused files 2016-12-18 21:28:35 +00:00
23dfba2f64 STYLE: Updated header documentation 2016-12-18 21:25:12 +00:00
7acef189cf ENH: provide machine/OpenFOAM architecture hint in output files (issue #271)
FoamFile
  {
      version     2.0;
      format      binary;
      arch        "LSB;label=32;scalar=64";
      class       vectorField;
      object      points;
  }

There is otherwise no simple indication in any of the files as to the
sizes used (Int32 vs Int64, SP vs DP). This makes it difficult for the
end-user and also for any third-party consumers.

--
The architecture information contains three items in the following format:

    (LSB|MSB);label=(32|64);scalar=(32|64)

- The endian value always appears first, without any leading space.
  This make it trivial to check later. Either the first 3 letters (LSB
  vs MSB) or even just the first letter ('L' vs 'M').

- Subsequent key=value pairs for 'label' and 'scalar' are separated
  by semicolons. The ordering of label vs scalar is not specified.

Note that this 'arch' information is purely informational.
It is currently not used by the OpenFOAM input mechanism itself.
2016-12-18 01:43:58 +01:00
db0d8de756 ENH: Streamline function object - report velocity field being employed - see #323 2016-12-16 20:59:13 +00:00
16f1d748ec BUG: Corrected function object usage documentation. Fixes #349 2016-12-16 20:45:13 +00:00
8b86d8b1b2 BUG: waveMOdels - corrected error introduced in commit 95f3adb1 2016-12-16 20:23:47 +00:00
6e78da0db6 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-16 19:54:52 +00:00
901ee44827 BUG: Re-applying commit e73d2c5d 2016-12-16 19:53:57 +00:00
e50108e428 ENH: adding header description for eddyDissipationModel 2016-12-16 09:56:06 -08:00
b53389edef GIT: Resolved conflict merging master into develop 2016-12-16 17:10:38 +00:00
91f8176a75 STYLE: using messaging macros when referring to function name 2016-12-16 16:56:55 +00:00
ff6e15a136 ENH: Added local Allwclean to ensure wclean cleans all... 2016-12-16 14:40:50 +00:00
a956e0f73a ENH: blendingFactor function object - always include field name in result name 2016-12-16 14:25:58 +00:00
bd86b155aa Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-16 13:26:39 +00:00
c3c963bcaf STYLE: Minor typo corrections 2016-12-15 21:18:22 +00:00
a32a915d2e BUG: polyMesh removeFiles side-effect for blockMesh viewer (issue #346)
- polyMesh constructor from cell shapes invoked 'removeFiles'.
  This may or may not be what the caller wants or expects.
  With the ParaView blockMesh viewer, this behaviour causes deletion of
  all mesh data (points, faces, etc) when the viewer is refreshed.

  Triggered even when just building the blockMesh topology.

- only a few places that construct a polyMesh from cell shapes
  (mostly mesh conversion utilities).
  Ensure that the file removal (if any) occurs in the application
  and *not* as a side-effect of calling the polyMesh constructor.

--

  blockMesh (application)
    - The placement of the removeFiles seems to also remove freshly
      generated sets (Bug or feature to remove sets?)

  +-----------------------+---------------+------------------+
  | Application           | Constructor   | removeFiles      |
  |                       | (patch info)  | new / existing   |
  +-----------------------+---------------+------------------+
  | blockMesh             | dictionary    | existing         |
  | ansysToFoam           | names         | new              |
  | cfx4ToFoam            | dictionary    | new              |
  | fluentMeshToFoam      | names         | new              |
  | gambitToFoam          | dictionary    | new              |
  | gmshToFoam            | names         | new              |
  | ideasUnvToFoam        | names         | new              |
  | kivaToFoam            | dictionary    | new              |
  | mshToFoam             | names         | new              |
  | netgenNeutralToFoam   | names         | new              |
  | plot3dToFoam          | names         | new              |
  | tetgenToFoam          | names         | new              |
  | vtkUnstructuredToFoam | names         | new              |
  +-----------------------+---------------+------------------+
2016-12-15 19:07:05 +01:00
2786625fa0 Merge branch 'surfField-sampling' into 'develop'
Surf field sampling

See merge request !87
2016-12-15 17:34:45 +00:00
4ff1c7dca4 ENH: runTimePostProcessing - added option to clear/remove objects after use 2016-12-15 15:45:02 +00:00
500dc5d3a3 DEFEATURE: remove unused fvMesh constructor using cellShapes 2016-12-15 15:48:09 +01:00
78da6865c6 COMP: reduce warnings when building sloan renumber
- boost uses old-style casts for null and others
2016-12-15 15:15:56 +01:00
6baf1d7d8f Merge branch 'integration-ihcantabria' into 'develop'
Integration of ihcantabria wave models

Integration of functionality produced by The Environmental Hydraulics Institute "IHCantabria" (http://www.ihcantabria.com/en/)

- Original code introduced in commit 95e9467e
- Restructured and updated by OpenCFD into a new `waveModels` library available to the interFoam family of solvers

Main source:
`$FOAM_SRC/waveModels`

Tutorials:
`$FOAM_TUTORIALS/multiphase/interFoam/waveExample*`

Capabilities include:
- Wave generation
- Solitary wave using Boussinesq theory
- Cnoidal wave theory
- StokesI, StokesII, StokesV wave theory
    
- Active wave absorption at the inflow/outflow boundaries based on shallow water theory

IHCantabria Authors:
- Javier Lopez Lara (jav.lopez@unican.es)
- Gabriel Barajas (barajasg@unican.es)
- Inigo Losada (losadai@unican.es)

See merge request !88
2016-12-15 13:38:13 +00:00
10753b77e7 ENH: Code/doc tidying 2016-12-15 13:22:37 +00:00
95f3adb1fb ENH: waveModels - moved to main source tree and simplified 2016-12-15 12:45:14 +00:00
e6f8d27553 ENH: integrate surfField-based fluxSummary
- additional surface and surfaceAndDirection modes
2016-12-15 12:59:35 +01:00
4a845f5c41 ENH: newly structured surface 'sources' for sampling.
- extend the sampling concept to include surfMeshes and surfFields
  for storage.

- Note the createOnRead switch in surfMeshSamplers can be desirable in
  some situations to force creation of the surface faces within the
  constructor.
2016-12-15 09:54:25 +01:00
b073c0a104 ENH: postOperation for surfaceFieldValue
- currently only 'none' or 'sqrt', which can be useful in combination
  with integrate or averaging functions.
2016-12-15 09:46:00 +01:00
001a2e4a37 ENH: add surfField support to various field function objects
- fieldAverage
  - mag
  - magSqr
  - readFields
  - fieldsExpression (add, subtract)
2016-12-15 09:32:53 +01:00
b0433d93f8 ENH: add ZoneMesh names(), sortedNames() methods
- similar to functionality available for IOobjectList, objectRegistry
2016-12-15 00:16:51 +01:00
fcd3f50672 BUG: foamToEnsight faceZones are mangled (issue #334)
- was using the ids coming from the zones instead of the sorted order
  from ensightFaces, which led to a clash in the mesh point maps that
  were manifest as a jumbled order.

BUG: missing newlines in foamToEnsight nfaced/nsided ASCII output

- was correct for foamToEnsightParts, but not for foamToEnsight

--
* Many thanks to Justin Graupman for all of his testing,
  which has been a great help in isolating and fixing various issues.
2016-12-15 00:09:10 +01:00
86c5f9e3b6 BUG: allocation mismatch in fluxSummary (issue #342)
ENH: reduce number of variables, simplify code

- Note: use boolList instead of scalarList for managing the face signs
  since its lazy evaluation can be convenient when sign information is
  not required.
2016-12-14 12:21:45 +01:00
e7a4a3a73d STYLE: some documentation for sampledSurfaces specification 2016-12-14 17:54:23 +01:00
36173b5306 COMP: compile with single-precision 2016-12-14 14:21:33 +01:00
f0a046fa81 GIT: Resolved conflict 2016-12-14 15:56:58 +00:00
7af521e0be ENH: Added new injection models to intermediate and spray libraries 2016-12-14 15:50:12 +00:00
3938c03c57 ENH: Added new InjectedParticleInjection lagrangian injection model
Description
    Replays an set of particle data based on an injectedParticleCloud,
    using the assumption of one particle per parcel.

Usage
    \verbatim
    model1
    {
        type            injectedParticleInjection;
        SOI             0;
        massTotal       0; // Place holder only
        parcelBasisType fixed;
        nParticle       1; // 1 particle per parcel
        cloud           eulerianParticleCloud;
        positionOffset  (-0.025 2 -0.025);
    }
    \endverbatim
2016-12-14 15:48:38 +00:00
f9a9c7148e ENH: Added new injectedParticleDistributionInjection lagrangian injection model
Description
    Interrogates an injectedParticleCloud to convert the raw particle
    data into a set of 'binned' injectors.

    The bins are set according to the particle \c tag property, from which:
    - diameters are converted into \c general distributions with a
      user-specified bin width
    - raw velocity and diameter data are resampled and stored to provide
      variations per injector

    The mass to inject can be set according to the raw input data mass total
    by using the \c applyDistributionMassTotal switch

Usage
    \verbatim
    model1
    {
        type            injectedParticleDistributionInjection;
        SOI             0;
        parcelBasisType mass;
        cloud           eulerianParticleCloud;
        positionOffset  (-0.025 2 -0.025);
        binWidth        0.1e-3;
        parcelsPerInjector 500;
        resampleSize    100;                    // optional
        applyDistributionMassTotal yes;

        // Placeholder only when using applyDistributionMassTotal
        massTotal       0;
    }
    \endverbatim

Note
    The each injector location is assumed to be operating under steady
    conditions, i.e. using a constant flow rate profile

SourceFiles
    InjectedParticleDistributionInjection.C

See also
    Foam::injectedParticle
    Foam::injectedParticleCloud
    Foam::functionObjects::extractEulerianParticles
    Foam::distributionModels::general
2016-12-14 15:47:15 +00:00
e8171d0150 STYLE: Updated header documentation 2016-12-14 15:43:57 +00:00
f59c9762bb Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-14 07:37:06 -08:00
730231446a ENH: extractEulerianParticles function object parallel and usability updates 2016-12-14 15:28:55 +00:00
6a3c2c2fbc STYLE: Updated comment 2016-12-14 15:27:19 +00:00
26ac7e11fd ENH: Lagrangian injection - cache volumeTotal for continuous restart 2016-12-14 15:26:28 +00:00
43e4571143 ENH: subModelBase - added function to get a dictionary 2016-12-14 15:25:39 +00:00
8c8cf9210f ENH: distributionModels - pass in construction dict instead of parent dict 2016-12-14 15:25:00 +00:00
a3ef5cd137 Merge branch 'feature-chunkingComms' into 'develop'
Pstream: added maxCommsSize setting to do (unstructured) parallel transfers in blocks.

Tested:
- with maxCommsSize 0 produces exactly same result as plus.develop
- compiles with label64
- with maxCommsSize e.g. 3 produces exactly same result as plus.develop
- with maxCommsSize=0 exactly the same messages (with Pstream::debug = 1) as plus.develop

See merge request !85
2016-12-14 15:18:42 +00:00
6acd407f8a STYLE: Time: indentation 2016-12-14 14:10:50 +00:00