Commit graph

14 commits

Author SHA1 Message Date
Henry Weller
03494fef5d Updated notImplemented -> NotImplemented
The new NotImplemented macro uses __PRETTY_FUNCTION__ for GNU compatible
compilers otherwise __func__ to provide the function name string.
2015-11-01 10:26:37 +00:00
Henry Weller
e907574c72 blockMesh: Avoid test failure for lambda == 1 2015-08-28 20:26:23 +01:00
Henry Weller
0f3186fd21 blockMeshMergeFast: Added more diagnostics 2015-08-28 18:39:50 +01:00
Henry Weller
36b1c587a8 face: Add handling for duplicate vertices in sameVertices
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1821
2015-08-10 10:01:36 +01:00
Henry Weller
091a78d316 blockMesh: Correct multi-grading support for polyLine
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1809
2015-08-04 19:34:24 +01:00
Henry Weller
18ac24b2ca blockMesh: Improve multi-grading so that the divisions are independent of section ordering
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1809
2015-08-02 22:14:26 +01:00
Henry Weller
a8f61f210f blockMesh: added experimental fast-merge algorithm
The standard merge-algorithm is N^2 over the face-points and uses a
geometric proximity test for the merge.  These are both choices for
implementation simplicity and are rather inefficient for large meshes.
I have now implemented an experimental linear topological merge
algorithm which is VERY fast and effective for meshes of any size.
Currently it will merge internal faces on meshes of arbitrary complexity
but does not yet handle edge or face collapse needed for wedges and
other degenerate blocks.

The new fast-merge algorithm may be selected using the optional
"fastMerge" entry:

fastMerge yes;

and if not present the standard N^2 algorithm will be used.

Henry G. Weller
CFD Direct
2015-07-12 20:32:25 +01:00
Henry Weller
24a666a6c2 blockMesh: Improve block merge face correspondence test 2015-07-05 18:23:37 +01:00
Henry
3ccbc72aaa blockMeshMerge: Adjusted merge-tolerance
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1443
2015-03-05 18:57:18 +00:00
Henry
f58fd14271 Corrected capitalization of Doxygen documentation comments 2015-02-14 13:10:15 +00:00
Henry
c328c68638 gradingDescriptor: support SP compilation 2015-02-05 12:11:55 +00:00
Henry
076fde91b9 Update headers 2015-02-03 12:12:07 +00:00
Henry
86d7f7208a blockMesh: Add support for multi/sectional grading in a block
Consider a block describing a channel with two opposite walls.
Currently in order to grade the mesh towards the walls and have a
uniform region in the centre the channel would need to be spit into 3
blocks.  With the new multi/sectional grading this can be achieved in a
single block e.g.

blocks
(
    hex (0 1 2 3 4 5 6 7) (20 60 20)
    simpleGrading
    (
        1
        ((0.2 0.3 4) (0.6 0.4 1) (0.2 0.3 0.25))
        1
    )
);

In this example the block is divided uniformly in the x and z -directions
and split into three grading sections in the y-direction described by
three triples:  ((0.2 0.3 4) (0.6 0.4 1) (0.2 0.3 0.25)).  Each of the
grading sections is described by a triple consisting of the fraction of
the block, the fraction of the divisions and the grading ratio (size of
first division/size of last division).  Both the fraction of the block
and the fraction of the divisions are normalized automatically so they
can be specified scaled in anyway, e.g. as percentages:

blocks
(
    hex (0 1 2 3 4 5 6 7) (20 60 20)
    simpleGrading
    (
        1
        ((2 3 4) (6 4 1) (2 3 0.25))
        1
    )
);

and they need not sum to 1 or 100.

This is very new functionality and not well tested but backward
compatibility has been well tested so all existing blockMeshDicts should
parse correctly.
2015-02-03 12:01:55 +00:00
Henry
446e5777f0 Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00