Commit Graph

5528 Commits

Author SHA1 Message Date
ecb80a2ee8 ENH: refactor paraview readers code to avoid duplication
- as originally intended years ago, but never actually done.

- use 'foamPvCore' instead of 'vtkPVReaders' to avoid potential name
  collisions with any 'vtk*' files and since we may reuse these
  functions in other foam-paraview modules (not just readers).

STYLE: use same font size/colour for patch-names as for point-numbers

BUG: repair issue with single time-step

- paraview time-selector returns '0' as the requested time if there is
  only one time step. However, if we have skipped the 0/ directory,
  this single time step is likely a non-zero value.
2017-01-12 06:40:58 +01:00
934764d700 ENH: optionally eliminate duplicates on hashedWordList construction (issue #375)
- makes it easier to use as a wordHashSet replacement for situations
  where we want to avoid duplicates but retain the input order.

- support construction from HashTable, which means it works like the
  HashTable::sortedToc but with its own hashing for these keys.

- expose rehash() method for the user. There is normally no need for
  using it directly, but also no reason to lock it away as private.
2017-01-10 12:42:40 +01:00
7a90f5e6fb ENH: add versioning to paraview plugin support libraries (issue #370)
- use "-pvMAJ.MIN" suffix for similarity with the paraview convention

- use sentinel file to ensure clean change of intermediate targets

- ensure all library files are being properly removed
2017-01-05 16:22:07 +01:00
2c96ec7550 ENH: update QT interface code for ParaView reader (issue #337)
- remove old (ParaView-3) files

- Works in 4.4.0, 5.0.1, 5.2.0 etc

STYLE:
- slots now use SM properties directly without a second lookup.
  This reduces exposure of the QT elements and simplifies the coding.

- avoid focus borders on the Qt elements

- place the "use Polyhedron" checkbox into a column

- move "Cache Mesh" down in the GUI (an advanced feature and thus
  should be less prominent)

- obtain button labels/tooltip directly from the XML content
2017-01-05 11:31:11 +01:00
fbeaad7e58 BUG: test-mesh updated to test polyMesh constructor. Fixes #372 2017-01-04 15:59:49 +00:00
4eb679614c ENH: update blockMesh reader (issue #337)
- use property group customization instead of individual pqPropertyWidget
2017-01-04 12:27:36 +01:00
71ea6bec62 ENH: update blockMesh reader for paraview 5.2 (issue #337)
- although this is not the final desired form, since it uses
  individual pqPropertyWidget customizations (ie, ugly layout, too
  many bits of code), but is an interesting intermediate solution
  that may be useful in other contexts.
2017-01-04 10:48:13 +01:00
8701c57ecb BUG: Removed call to topoChanging(false) in interDyMFoam and compressibleInterDyMFoam - see #363 and 03db8627 2016-12-23 09:09:30 +00:00
d2fc56d6be STYLE: added note about limitation of the ccm conversion 2016-12-22 17:44:21 +01:00
608bb5d83b COMP: update lnInclude directories when building (issue #364)
- Could be related to interrupted builds.
  So if there are any parts of the build that rely on an explicit
  'wmakeLnInclude', make sure that the contents are properly updated.

--

ENH: improved feedback from top-level Allwmake

- Report which section (libraries, applications) is being built.

- Provide final summary of date, version, etc, which can be helpful
  for later diagnosis or record keeping.

- The -log=XXX option for Allwmake now accepts a directory name
  and automatically appends an appropriate log name.
  Eg,
      ./Allwmake -log=logs/  ->> logs/log.linux64GccDPInt32Opt

  The default name is built from the value of WM_OPTIONS.

--

BUG: shell not exiting properly in combination with -log option

- the use of 'tee' causes the shell to hang around.
  Added an explicit exit to catch this.

--

- Detecting the '-k' (-non-stop) option at the top-level Allwmake, which
  may improve robustness.

- Explicit continue-on-error for foamyMesh (as optional component)

- unify format of script messages for better readability

COMP: reduce warnings when building Pstream (old-style casts in openmpi)
2016-12-22 11:26:29 +01:00
0211b0a43b STYLE: correct the documented input names in header files (fixes #360) 2016-12-21 12:15:03 +01:00
7b4680482e ENH: use string endsWith in a few places
fieldName.endsWith("_0")
vs
    fieldName.size() > 2 && fieldName(fieldName.size()-2, 2) == "_0"
2016-12-18 23:58:45 +01:00
2b14360662 ENH: additional startsWith(), endsWith() string methods
- As the names describe, check if the string starts or ends with a
  particular value. Always true if the given text is empty or if the
  string is identical to the given text.
2016-12-18 23:21:51 +01:00
e379720053 ENH: additional fileName methods
- add an extension to the file name
   - remove a file extension
   - check if a file name has an extension
   - check if a file name has a particular extension (as word),
     or matches a particular grouping of extensions (as wordRe).
2016-12-18 20:40:03 +01:00
b08dadff62 ENH: initializer list constructor for fileName
This slightly more convenient when working with char[] input:

     fileName file1{ "path", "name", "to", "file.ext" };
vs.  fileName file1 = fileName(path)/"name"/"to"/"file.ext";

But is a bit more efficient since it avoid most of the intermediate
copying and resizing incurred by the '/' operator.
2016-12-18 20:09:58 +01:00
6f5cece322 STYLE: documentation for wordRe DETECT vs REGEXP was swapped around
- Use wordRe::REGEXP (not wordRe::DETECT) if the content is known to
  be a regular expression anyhow.
2016-12-18 22:35:20 +01:00
8a11a492f1 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-19 15:42:01 -08:00
a7c8d1cfca ENH: changing rhoSimpleFoam to rhothermo and bounding thermo.rho between minRho and maxRho.
Bounding thermo.rho in rhoPorousSimpleFoam.
Changing initial time step in externalSolarLoad tutorial.
Commenting out momemtun source term in steamInjection which causes problems
2016-12-19 15:39:13 -08:00
23a6cadfa6 BUG: redistributePar: remove inconsistent *ProcAddressing. Fixes #351. 2016-12-19 12:58:49 +00: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
267903077b ENH: interCondensingEvaporatingFoam - updated for postProcess utility; tidying 2016-12-16 13:33:19 +00:00
bd86b155aa Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-16 13:26:39 +00:00
30d8fc3459 ENH: Tutorial updates and clean-up 2016-12-16 13:26:28 +00:00
528881cf47 BUG: missing surfaceCheck -outputThreshold option (fixes #347)
- The value from -outputThreshold was used in the code,
  but the option definition itself was somehow missed.
2016-12-16 05:14:46 +00:00
af74809786 ENH: increase precision of points for some mesh conversion applications 2016-12-15 21:35:14 +01: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
38e40ffb95 BUG: foamList - removed link against randomProcesses lib. Fixes #343 2016-12-15 16:31:38 +00:00
83dab87568 ENH: foamList lib updates 2016-12-15 14:26:56 +00:00
d5301772f7 Update of interCondensingEvaporatingFoam and its tutorial 2016-12-15 12:36:48 -08: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
bf9fcba645 ENH: Added waveModels library to interFoam family of solvers 2016-12-15 13:07:00 +00:00
abc941a0f1 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-14 17:22:48 +00:00
4f4b1d76c4 BUG: renumberMesh: Checking for cellProcAddressing after deleting it.
This is part of #340.
2016-12-14 17:21:56 +00:00
f0a046fa81 GIT: Resolved conflict 2016-12-14 15:56:58 +00:00
f59c9762bb Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-14 07:37:06 -08:00
76023b38ad BUG: Corrected coding error 2016-12-14 15:27:39 +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
4ff163aed7 COMP: combinePatchFaces: missing include file 2016-12-14 11:45:32 +00:00
36f8895e78 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-13 07:20:39 -08:00
c0a2c16f6c Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-12-12 10:36:33 -08:00
88128e0392 ENH: compressibleInterDyMFoam enhancements for mesh motion and sphere drop test case tutorial 2016-12-12 10:34:49 -08:00
28bd150db6 ENH: foamList - updated link libs to avoid error on exiting 2016-12-12 12:37:57 +00:00
c0f44ac4f3 MRG: Integrated foundation code 2016-12-12 12:10:29 +00:00
11479c51d7 ENH: Changes in handling topological changes in VOF solvers
1) Using divU instead of fvc::absolute(phi,U) in TEqn as the latter uses latest time meshPhi which is inconsistent
2) Adding fvc::interpolate(U) when topo changes
3) in pEq for compressible dgdt is updated using the latest rho1 and rho2 after compressible effects are considered
2016-12-07 12:57:32 -08:00
2c7eff8d6b Merge remote-tracking branch 'origin/feature-cellSetRemove' into develop 2016-12-07 14:13:00 +00:00
87056a2308 ENH: pairPatchAgglomeration - updated constructors 2016-12-07 09:25:42 +00:00
3d08651324 PVReaders: Update link order to avoid problems on Ubuntu
Resolves bug-report http://bugs.openfoam.org/view.php?id=2372
2016-12-06 10:57:35 +00:00
5f9be34a42 Merge branch 'feature-objectRegistry' into 'develop'
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
2016-12-06 10:48:43 +00:00
5c7b3c7886 reactingTwoPhaseEulerFoam: Corrected LTS support
Resolves bug-report http://bugs.openfoam.org/view.php?id=2374
2016-12-06 09:30:50 +00:00