Commit Graph

425 Commits

Author SHA1 Message Date
Mark Olesen
86ef9e86dc ENH: make treatment of stream allocators more uniform (issue #532)
- use allocator class to wrap the stream pointers instead of passing
  them into ISstream, OSstream and using a dynamic cast to delete
  then. This is especially important if we will have a bidirectional
  stream (can't delete twice!).

STYLE:

- file stream constructors with std::string (C++11)

- for rewind, explicit about in|out direction. This is not currently
  important, but avoids surprises with any future bidirectional access.

- combined string streams in StringStream.H header.
  Similar to <sstream> include that has both input and output string
  streams.
2017-07-17 15:14:38 +02:00
Mark Olesen
bc1f2fa97e STYLE: use auto and cfind to simplify selector usage (issue #512) 2017-07-03 10:36:03 +02:00
Mark Olesen
1bcb454f6d STYLE: hash constructors with power-of-two
- use 1024 instead of 1000 since it will be changed internally to 1024 anyhow.
2017-07-05 10:46:50 +02:00
Mark Olesen
b5f091e74f BUG: incorrect indexing for surface baffles (fixes #497) 2017-06-16 09:37:43 +02:00
Mark Olesen
4cbbe3fd59 ENH: add VTP output support for surfMesh
- use proxy writer for triSurface writing
2017-06-02 12:07:43 +02:00
Mark Olesen
a4b826aa1e STYLE: fix comments 2017-06-01 16:38:48 +02:00
Mark Olesen
b312f0ba40 ENH: documentation and input simplification for surfaceFeatureExtract 2017-06-01 15:46:42 +02:00
Mark Olesen
dfafe6075a ENH: region-wise self intersection for surfaceFeatureExtract (issue #450) 2017-05-29 18:57:25 +02:00
Mark Olesen
034ddfa78f ENH: make coeffs dictionaries optional for surfaceFeatureExtract 2017-05-10 14:11:28 +02:00
Mark Olesen
0e7630feca ENH: improved handling of 'unresolved' surface intersections (issue #450)
- the heuristic for matching unresolved intersections is a relatively
  simple matching scheme that seems to be more robust than attempting to walk
  the geometry or the cuts.

- avoid false positives for self intersection
2017-05-08 14:57:47 +02:00
Mark Olesen
da8ea0f21a ENH: refactor code from surfaceFeatureExtract to triSurfaceTools (issue #450) 2017-04-28 09:12:33 +02:00
Mark Olesen
11c5456628 ENH: improvements for surfaceIntersection (issue #450)
- adjust for updates in 'develop'

- change surfaceIntersection constructor to take a dictionary of
  options.

        tolerance      | Edge-length tolerance          | scalar | 1e-3
        allowEdgeHits  | Edge-end cuts another edge     | bool   | true
        avoidDuplicates | Reduce the number of duplicate points    | bool | true
        warnDegenerate | Number of warnings about degenerate edges | label | 0
2017-04-28 08:49:45 +02:00
Mark Olesen
cd5ca147a7 ENH: multiple surfaces, self-intersection in surfaceFeatureExtract (issue #450)
- If the dictionary is named 'surfaces', a 'surfaces' entry is mandatory.
  This is a list of wordRe, which is used to load multiple surfaces from
  constant/triSurface directory.

- Other dictionaries may contain a 'surfaces' entry.
  In which case the behaviour is as above (loading multiple surfaces).
  The dictionary name will *NOT* be taken as a surface name itself.

- Regardless of how the surfaces are loaded or features extracted,
  an additional selfIntersection test may be used.

  Eg,

    surfaces
    {
        extractionMethod    extractFromSurface;

        surfaces            (surface1.stl surface2.nas);

        // Generate features from self-intersect
        selfIntersection    true;

        // Base output name (optiona)
        output              surfaces;

        // Tolerance for self-intersect
        planarTolerance     1e-3;

        extractFromSurfaceCoeffs
        {
            includedAngle   120;

            // Do not mark region edges
            geometricTestOnly       yes;
        }
    }
2017-04-11 11:46:00 +02:00
Andrew Heather
db5348880e MRG: resolved merge conflicts from merge from develop branch 2017-05-19 16:29:54 +01:00
Andrew Heather
bb67ccd37d ENH: Cleaned up hash table item found checks 2017-05-19 11:15:35 +01:00
Mark Olesen
3814762785 ENH: relocate triSurface classes into surfMesh library (issue #294)
- simplifies organization, includes, linkage etc.
2017-05-18 10:42:05 +02:00
Mark Olesen
abe6121311 GIT: remove remnant edgeMesh Make/{files,options}
- missed by commit c085c5df25
2017-05-18 11:01:27 +02:00
Andrew Heather
2e9bead519 MRG: merged develop line back into integration branch 2017-05-18 11:11:12 +01:00
Andrew Heather
91b90da4f3 Integrated Foundation code to commit 104aac5 2017-05-17 16:35:18 +01:00
mattijs
3cf7820160 ENH: surfaceMeshTriangulate: handle time selection; handle moving meshes. Fixes #470. 2017-05-15 10:17:24 +01:00
Andrew Heather
1a24be6e54 Merge branch 'feature-random-numbers' into 'develop'
Updated random numbers

See merge request !107
2017-04-28 10:11:18 +01:00
Andrew Heather
7f0cc0045d ENH: Random numbers - updated dependent code from change cachedRandom->Random class 2017-04-28 09:15:52 +01:00
Mark Olesen
32a6c1d988 ENH: relocate randomPointInPlane as plane::somePointInPlane
- makes more sense to bundle it with plane.
2017-04-24 20:23:31 +02:00
Henry Weller
d548903826 surfaceLambdaMuSmooth: Added meshTools to link 2017-04-21 16:50:20 +01:00
Henry Weller
c085c5df25 Merged the edgeMesh library into the meshTools library 2017-04-21 10:38:53 +01:00
Mark Olesen
89f2eff565 STYLE: improve usage notes for transformPoints, surfaceTransformPoints 2017-04-20 16:27:44 +02:00
Mark Olesen
d4c7d8c6e5 ENH: add possibility to enable/disable profiling globally (issue #441)
- use InfoSwitch to disable, or via static method.

- respect the state of the argList banner when deciding to emit
  initialization information. Can otherwise end up with unwanted
  output rubbish on things like foamDictionary and foamListTimes.
2017-04-19 17:04:37 +02:00
Mark Olesen
140c5110fe STYLE: remove tabs from files and shorten line-length. 2017-04-10 16:11:33 +02:00
Mark Olesen
96fd3c9367 STYLE: consistent use of LIB_SRC in Make/options
- had occasional remnant use of FOAM_SRC
2017-04-06 23:56:23 +02:00
Mark Olesen
aa6b835104 ENH: use fileName::nameLessExt() instead of fileName::name(bool)
- the purpose is more explicit, without needing to check documentation
  about what the bool parameter means.

STYLE: improve formatting of fileName documentation
2017-03-10 11:49:56 +01:00
Mark Olesen
a748ce1eaf STYLE: resolve COMP_FLAGS, COMPILE_FLAGS mismash in favour of COMP_FLAGS 2017-02-23 16:25:38 +01:00
mattijs
63b2ab8069 ENH: surfaceMeshTriangulate: handle absolute paths. Fixes #398. 2017-02-08 08:45:40 +00:00
Prashant
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
Mark Olesen
6f2b2aff40 STYLE: reduce script verbosity 2016-12-13 08:15:00 +01:00
Mark Olesen
c3005794ab ENH: provide triSurfaceTools::validTri() method to reduce code duplication
- identical code was present in surfaceCheck (original source),
  and isoSurface, isoSurfaceCell (copies).

- add in a MeshedSurface<face> variant as well, since this will likely
  be needed in the near future
2016-11-24 15:31:32 +01:00
Mark Olesen
907bde821d STYLE: fixup usage for -clean/-noClean options 2016-11-25 01:10:25 +01:00
Mark Olesen
dc1c37e464 COMP: add in plain lib/ directories for boost, cgal, fftw
- 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
2016-11-25 20:43:27 +01:00
Mark Olesen
58fad3ab79 BUG: snappyHexMesh with -decomposeParDict option (issue #265)
- only occurs in combination with distributedTriSurfaceMesh in snappy.

- workaround similar to that previously used for surfaceRedistributePar
  (issue #60).

Minor adjustment of incompressible motorBike tutorial to detect use of
distributedTriSurfaceMesh.
2016-11-24 12:02:11 +01:00
Mark Olesen
55ed6ec776 STYLE: use MUST_READ consistently for decomposeParDict
- there was a slight mix of MUST_READ and MUST_READ_IF_MODIFIED
  but with no obvious code to handle runtime modified values
  of the decomposition, or how this works with alternative
  dictionaries.
2016-11-24 11:26:03 +01:00
Mark Olesen
95e7faf309 STYLE: use the more succinct forms for argList (issue #307)
* args[int]   vs  args.args()[int]
  * args[word]  vs  args.options()[word]
  etc.
2016-11-20 13:06:57 +01:00
Mark Olesen
8b4dfe24f1 Merge remote-tracking branch 'origin/decomposeParDict' into develop 2016-11-19 15:34:36 +01:00
Mark Olesen
e112eb503b ENH: provide ModifiableMeshedSurface class
- A special purpose MeshedSurface that exposes the stored values
  for direct modification.

- Its usage should be restricted to special cases where the surface
  needs modifications as an atomic operation.
2016-11-14 00:45:41 +01:00
Mark Olesen
52d0289ee1 BUG: resolve some decomposeParDict problems (issues #60, #265).
- Cleanup/centralize handling of -decomposeParDict by relocating
  common code into argList. Ensures that all processes receive
  identical information about the -decomposeParDict opton.

- Only use alternative decomposeParDict for simpleFoam/motorBike
  tutorial so that this will be included in the test loop for snappy.

- Added Mattijs' fix for surfaceRedistributePar.
2016-10-25 18:19:19 +02:00
mattijs
598da1ac25 ENH: surfaceCheck: added -outputThreshold option to manage file writing 2016-10-03 13:55:30 +01:00
Mark Olesen
99efe5f8d8 BUG: triSurface IO operators are asymmetrical (fixed #225)
- Also reported as http://bugs.openfoam.org/view.php?id=2188
2016-09-06 14:57:40 +02:00
Mark Olesen
29d5a10f97 ENH: add stream operators for MeshedSurface, UnsortedMeshedSurface
- add corrsponding testing into surfaceMeshConvertTesting too
2016-09-06 14:45:44 +02:00
mattijs
fc714ed67b ENH: surfaceCheck: survive triangles with duplicate vertices. Fixes #222 2016-08-31 16:47:36 +01:00
mattijs
af02ff3600 Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop 2016-11-09 15:23:21 +00:00
mattijs
2a9c95e56e BUG: surfaceAdd: incorrect size when not merging regions. Fixes #144. 2016-11-09 15:22:59 +00:00
Mark Olesen
e8f6099a1f COMP: Newer CGAL versions break current CGAL wmake rules (issue #288)
On 64-bit systems, the system installations of boost, cgal are under
lib64/. The behaviour for a ThirdParty build is mostly lib/ but this
can also be changing.

    Boost 1_62_0 and older build into 'lib/'.
    CGAL-4.9 builds into 'lib64/', older versions into 'lib/'.

Future-proof things by using lib$WM_COMPILER_LIB_ARCH for boost and
cgal build rules, and forcing these as build targets in the ThirdParty
makeCGAL as well.

--
STYLE: check for boost/version.hpp, CGAL/version.h instead their directories
2016-11-04 12:05:35 +01:00