Commit graph

29 commits

Author SHA1 Message Date
Henry Weller
94c05a1e6c Update code to use the simpler C++11 template syntax removing spaces between closing ">"s 2016-01-10 22:41:16 +00:00
Henry Weller
36f2d69888 Update code to use the simpler C++11 template syntax 2016-01-10 19:20:16 +00:00
Henry Weller
efa28279b8 fvPatchFields, fvsPatchFields, pointPatchFields: specifically declare namespace of functions
It is better to declare the namespace of each function in the C file
rather than "open" the namespace as this may lead to inconsistencies
between the declaration in the H files and definition in the C file.
2015-12-08 22:29:05 +00:00
Henry Weller
05adeb46be snappyHexMesh layerParameters: Increased maxIters to 20
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1918
Patch provided by Richard Jones

maxIters could be made an option input if 20 is not sufficient for
difficult cases.
2015-11-23 16:48:05 +00:00
Henry Weller
ccef40cc0a meshRefinementBaffles: Correct faceZone orientation
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1479
Patches provided by Bruno Santos based on the work of Mattijs Janssens
2015-11-21 21:35:00 +00:00
Henry Weller
5e6a7ea282 Completed update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-11 09:03:39 +00:00
Henry Weller
5841ee3481 Revert "meshRefinementBaffles: Correct faceZone orientation"
This reverts commit 6206280471.
2015-11-08 22:20:11 +00:00
Henry Weller
6206280471 meshRefinementBaffles: Correct faceZone orientation
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1479
Patches provided by Bruno Santos based on the work of Mattijs Janssens
2015-11-04 11:53:54 +00:00
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
b0eda7bc4e Updated headers 2015-09-02 15:30:10 +01:00
Henry Weller
689b0a00fc Added ROOTSMALL 2015-09-02 15:29:54 +01: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
Chris Greenshields
5ecb900eb4 Default expansionRatio to 1 for mesh extrusion 2015-05-18 13:18:03 +01:00
Henry
57b25f22b3 planeExtrusion.[HC]: Renamed from plane.[HC] to avoid name clash 2015-05-04 21:16:44 +01:00
Henry
c28730251c extrudeMesh: Add sector extrusion type and specialize wedge and plane
to create single layer extrusions with wedge and empty front and back
patches respectively.
2015-05-04 20:54:39 +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
2a614865ff Added and verified support for 64bit labels
To compile with 64bit labels set

WM_LABEL_SIZE=64

in ~/OpenFOAM/dev/prefs.sh

source ~/.bashrc

then Allwmake in OpenFOAM-dev.

This will build into for example OpenFOAM-dev/platforms/linux64ClangDPInt64Opt

If WM_LABEL_SIZE is unset or set to 32:

WM_LABEL_SIZE=32

the build would be placed into OpenFOAM-dev/platforms/linux64ClangDPInt32Opt

Thus both 32bit and 64bit label builds can coexist without problem.
2014-12-31 19:02:52 +00:00
Henry
bc5134a55e New version of wmake supporting out-of-tree object and dependency files 2014-12-14 21:42:18 +00:00
Henry
446e5777f0 Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00