Commit Graph

44 Commits

Author SHA1 Message Date
fa8929df6d Use Zero rather than pTraits<Type>::zero unless a static typed '0' is required 2016-03-22 17:46:52 +00:00
7037737d03 Updated Doxygen documentation and files
Contributed by Bruno Santos
Resolves patch report http://www.openfoam.org/mantisbt/view.php?id=2023

Update online documentation http://openfoam.github.io/Documentation-dev/html/
2016-03-14 11:00:24 +00:00
898693713c Rationalize the autoMesh library: autoHexMesh -> snappyHexMesh
autoRefine -> snappyRefine
autoLayer -> snappyLayer
autoSnap -> snappySnap
2016-03-01 16:21:31 +00:00
8380044966 Rationalize the autoMesh library: autoMesh -> snappyHexMesh 2016-03-01 16:01:42 +00:00
5f729820a1 src/OpenFOAM: Moved function documentation comments into .H files and removed duplicates 2016-03-01 12:29:01 +00:00
c544bec896 Removed duplicate, inconsistent and spurious comments in .C files 2016-02-29 18:33:54 +00:00
99c000fc94 Rationalized the indentation of C-preprocessor directives 2016-02-29 15:42:03 +00:00
7859083246 OpenFOAM: Updated all libraries, solvers and utilities to use the new const-safe tmp
The deprecated non-const tmp functionality is now on the compiler switch
NON_CONST_TMP which can be enabled by adding -DNON_CONST_TMP to EXE_INC
in the Make/options file.  However, it is recommended to upgrade all
code to the new safer tmp by using the '.ref()' member function rather
than the non-const '()' dereference operator when non-const access to
the temporary object is required.

Please report any problems on Mantis.

Henry G. Weller
CFD Direct.
2016-02-26 17:31:28 +00:00
49c54e9070 OpenFOAM libraries: Updated to use the new const-safe tmp 2016-02-26 08:13:59 +00:00
7d192447f0 Boundary conditions: Added extrapolatedCalculatedFvPatchField
To be used instead of zeroGradientFvPatchField for temporary fields for
which zero-gradient extrapolation is use to evaluate the boundary field
but avoiding fields derived from temporary field using field algebra
inheriting the zeroGradient boundary condition by the reuse of the
temporary field storage.

zeroGradientFvPatchField should not be used as the default patch field
for any temporary fields and should be avoided for non-temporary fields
except where it is clearly appropriate;
extrapolatedCalculatedFvPatchField and calculatedFvPatchField are
generally more suitable defaults depending on the manner in which the
boundary values are specified or evaluated.

The entire OpenFOAM-dev code-base has been updated following the above
recommendations.

Henry G. Weller
CFD Direct
2016-02-20 22:44:37 +00:00
fa0656c358 scripts: Reformat with consistent section separators 2016-02-15 18:30:24 +00:00
0b4643922a Rename DataEntry -> Function1
Function1 is an abstract base-class of run-time selectable unary
functions which may be composed of other Function1's allowing the user
to specify complex functions of a single scalar variable, e.g. time.
The implementations need not be a simple or continuous functions;
interpolated tables and polynomials are also supported.  In fact form of
mapping between a single scalar input and a single primitive type output
is supportable.

The primary application of Function1 is in time-varying boundary
conditions, it also used for other functions of time, e.g. injected mass
is spray simulations but is not limited to functions of time.
2016-02-08 16:18:07 +00:00
6a09c974e4 Update headers 2016-02-02 20:09:58 +00:00
644d51b466 processorPolyPatch, processorCyclicPolyPatch: Rationalized the construction of the patch name
This change ensures that these patches are named consistently so that
they can be looked-up as required in e.g. patchMeanVelocityForce
2016-02-02 20:07:16 +00:00
a23f79fa7e Info -> InfoInFunction and updated comments 2016-01-20 16:21:37 +00:00
94c05a1e6c Update code to use the simpler C++11 template syntax removing spaces between closing ">"s 2016-01-10 22:41:16 +00:00
36f2d69888 Update code to use the simpler C++11 template syntax 2016-01-10 19:20:16 +00:00
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
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
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
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
5841ee3481 Revert "meshRefinementBaffles: Correct faceZone orientation"
This reverts commit 6206280471.
2015-11-08 22:20:11 +00:00
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
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
b0eda7bc4e Updated headers 2015-09-02 15:30:10 +01:00
689b0a00fc Added ROOTSMALL 2015-09-02 15:29:54 +01:00
e907574c72 blockMesh: Avoid test failure for lambda == 1 2015-08-28 20:26:23 +01:00
0f3186fd21 blockMeshMergeFast: Added more diagnostics 2015-08-28 18:39:50 +01:00
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
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
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
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
24a666a6c2 blockMesh: Improve block merge face correspondence test 2015-07-05 18:23:37 +01:00
5ecb900eb4 Default expansionRatio to 1 for mesh extrusion 2015-05-18 13:18:03 +01:00
57b25f22b3 planeExtrusion.[HC]: Renamed from plane.[HC] to avoid name clash 2015-05-04 21:16:44 +01:00
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
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
f58fd14271 Corrected capitalization of Doxygen documentation comments 2015-02-14 13:10:15 +00:00
c328c68638 gradingDescriptor: support SP compilation 2015-02-05 12:11:55 +00:00
076fde91b9 Update headers 2015-02-03 12:12:07 +00:00
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
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
bc5134a55e New version of wmake supporting out-of-tree object and dependency files 2014-12-14 21:42:18 +00:00
446e5777f0 Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00