Commit Graph

157 Commits

Author SHA1 Message Date
a018e83e75 floatTensor: Tensor<float> 2016-03-10 12:45:42 +00:00
cd852be3da 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
15b7e87da7 tmp: Updated to store and preserve the const-ness of the reference to a constant object
This change requires that the de-reference operator '()' returns a
const-reference to the object stored irrespective of the const-ness of
object stored and the new member function 'ref()' is provided to return
an non-const reference to stored object which throws a fatal error if the
stored object is const.

In order to smooth the transition to this new safer 'tmp' the now
deprecated and unsafe non-const de-reference operator '()' is still
provided by default but may be switched-off with the compilation switch
'CONST_TMP'.

The main OpenFOAM library has already been upgraded and '-DCONST_TMP'
option specified in the 'options' file to switch to the new 'tmp'
behavior.  The rest of OpenFOAM-dev will be upgraded over the following
few weeks.

Henry G. Weller
CFD Direct
2016-02-22 16:23:21 +00:00
968c888fc4 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
0a6ca7ae45 includeEtcEntry: New dictionary include directive: #includeEtc "etcFile"
Description
    Specify an etc file to include when reading dictionaries, expects a
    single string to follow.

    Searches for files from user/group/shipped directories.
    The search scheme allows for version-specific and
    version-independent files using the following hierarchy:
    - \b user settings:
      - ~/.OpenFOAM/\<VERSION\>
      - ~/.OpenFOAM/
    - \b group (site) settings (when $WM_PROJECT_SITE is set):
      - $WM_PROJECT_SITE/\<VERSION\>
      - $WM_PROJECT_SITE
    - \b group (site) settings (when $WM_PROJECT_SITE is not set):
      - $WM_PROJECT_INST_DIR/site/\<VERSION\>
      - $WM_PROJECT_INST_DIR/site/
    - \b other (shipped) settings:
      - $WM_PROJECT_DIR/etc/

    An example of the \c \#includeEtc directive:
    \verbatim
        #includeEtc "etcFile"
    \endverbatim

    The usual expansion of environment variables and other constructs is
    retained.
2015-04-26 10:44:11 +01:00
341bdc8aa1 Corrected docs
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1658
2015-04-17 19:31:29 +01:00
77eb6f1adb Minor correction 2015-02-14 11:07:57 +00:00
bf7f5e627f PolynomialEntry: Templated polynomial DataEntry to support all basic field types from scalar to tensor
This allows polynomial functions for e.g. velocity to be specified in the uniformFixedValue BC

Consider a linear function for Ux(t) with Uy and Uz = 0:

    inlet
    {
        type            uniformFixedValue;
        uniformValue    polynomial
        (
            ((10 0 0)   (0 0 0))
            ((100 0 0)  (1 0 0))
        );
    }

Resolves bug report http://www.openfoam.org/mantisbt/view.php?id=1508
2015-02-06 09:57:20 +00:00
325b003b6e 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
f4596ad247 Resolve issues relating to compilation with clang-3.5.0 2014-12-15 22:38:10 +00:00
994cda140e ENH: Adding IOmapDistribute 2014-10-14 15:11:35 +01:00
8b12cb3a9a Merge branch 'master' of /home/dm4/OpenFOAM/repositories/OpenFOAM-dev 2013-12-09 10:33:07 +00:00
d06c0a1da6 ENH: Added base class for run-time selectable models 2013-12-09 09:27:10 +00:00
3f5eda25f0 symmetryPlane: add symmetryPlane as a special type of symmetry condition applied to a single plane
The standard/previous general symmetry type is now named symmetry
    both in class and lookup name for consistency.  The rigorous
    symmetryPlane type is needed for moving-mesh cases in which the
    motion it constrained by one or two planes.
2013-12-06 15:45:11 +00:00
99401a4d54 ENH: cyclic: added patchGroup coupling 2013-11-13 18:07:40 +00:00
1f89e3b5d4 ENH: Add Field and IOField for quaternion 2013-05-31 09:34:22 +01:00
399c65f963 Merge branch 'master' into feature/cvMesh 2013-05-30 10:34:49 +01:00
f3b7047a75 ENH: procFaces: new GAMGProcAgglomeration method 2013-05-14 20:50:33 +01:00
6f9823d0de Merge branch 'master' into feature/cvMesh
Conflicts:
	src/OpenFOAM/algorithms/indexedOctree/indexedOctree.C
	src/OpenFOAM/algorithms/indexedOctree/indexedOctree.H
	src/dynamicMesh/polyMeshFilter/polyMeshFilter.C
	src/meshTools/indexedOctree/treeDataPrimitivePatch.C
	src/meshTools/indexedOctree/treeDataTriSurface.C
	src/meshTools/triSurface/triSurfaceSearch/triSurfaceSearch.C
2013-05-08 12:20:52 +01:00
c3737a206b Merge remote-tracking branch 'origin/master' into feature/procAgglom 2013-05-02 12:38:25 +01:00
316cb8302f BUG: lduPrimitiveMesh: hold, not refer to, interfaces 2013-05-01 16:53:00 +01:00
d7cadf4937 Merge remote-tracking branch 'origin/master' into feature/procAgglom
Conflicts:
	src/OpenFOAM/db/IOstreams/Pstreams/Pstream.H
	src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C
	src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H
	src/OpenFOAM/db/IOstreams/Pstreams/combineGatherScatter.C
	src/OpenFOAM/db/IOstreams/Pstreams/gatherScatter.C
	src/OpenFOAM/db/IOstreams/Pstreams/gatherScatterList.C
	src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/processorGAMGInterfaceField/processorGAMGInterfaceField.C
	src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaceFields/processorGAMGInterfaceField/processorGAMGInterfaceField.H
	src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/interfaces/GAMGInterface/GAMGInterface.H
	src/finiteVolume/fvMesh/fvMesh.H
2013-04-23 09:41:15 +01:00
4c7c00b3c7 ENH: GAMGProcAgglomeration: added none method 2013-04-22 16:41:02 +01:00
c983a581d4 ENH: GAMGProcAgglomeration: check for parallel running 2013-04-20 20:59:24 +01:00
6cb2be20a3 ENH: GAMGProcAgglomeration methods 2013-04-19 21:02:14 +01:00
4869b59290 ENH: GAMGProcAgglomeration: cleanup 2013-04-17 09:07:33 +01:00
488cfd5946 ENH: dummy agglomeration method for testing: dummyAgglomeration 2013-04-16 10:40:16 +01:00
c2d3bab08e ENH: Merge searchableSurface and indexedOctree volumeType 2013-04-11 19:52:03 +01:00
e2482a4e8b ENH: Merge searchableSurface and indexedOctree volumeType 2013-04-11 19:52:03 +01:00
72c3da08b2 Merge branch 'master' into feature/cvMesh
Conflicts:
	applications/test/Matrix/Test-Matrix.C
	applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/extrude2DMesh/extrude2DMesh.C
	applications/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/extrude2DMesh/extrude2DMesh.H
	src/OpenFOAM/algorithms/indexedOctree/indexedOctree.C
	src/OpenFOAM/primitives/Tensor2D/Tensor2DI.H
2013-04-05 16:09:24 +01:00
357f2ed05c ENH: MeshObject: added debug output 2013-03-25 16:09:40 +00:00
6243c90ac5 ENH: SymmTensor2D class 2013-03-21 10:03:50 +00:00
6b22ab906f ENH: GAMGInterface: simplify stored data. Do not store processor-local data 2013-02-15 10:19:09 +00:00
2385dbff25 GAMG: Add optional correction interpolate after prolongation 2013-01-17 09:50:03 +00:00
e9be8229a3 Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev 2012-12-17 13:51:35 +00:00
ceecb84573 ENH: checkMesh: moved some checking functionality to polyMesh 2012-12-17 13:45:19 +00:00
fff1e80b07 Updated for symGaussSeidel 2012-12-17 11:39:05 +00:00
78f0cb5097 Resolve the green 2012-12-13 16:27:00 +00:00
143112096b FDICSmoother: New faster (slightly) version of DICSmoother 2012-12-13 16:18:06 +00:00
9cd695220d ENH: Add triad primitive type and Field/IOField 2012-12-11 16:32:16 +00:00
8dff9544f4 COMP: labelIOField.C missing from OpenFOAM/Make/files 2012-11-06 12:47:46 +00:00
b82fc4686e ENH: Updated Make/files 2012-10-15 18:03:10 +01:00
b08b29bd3c LduMatrix: Further integration with lduMatrix
Replaced lduMatrix::solverPerformance with SolverPerformance<scalar>
2012-04-30 18:15:26 +01:00
8fb6aa8811 LduMatrix: Added support for non-parallel cyclic patches 2012-04-25 18:18:31 +01:00
a3807c9dbb LduMatrix: Updated and re-committed 2012-04-20 14:01:59 +01:00
78bd261ce9 ENH: interpolationWeights: run-time selectable interpolation 2012-04-17 18:02:25 +01:00
ed87e54618 ENH: codedFixedValuePointPatchField: coded version for point fields 2012-03-09 10:06:22 +00:00
88d0192129 STYLE: mixedPointPatchField: nonsense bc since patchInternalField == patch field 2012-03-09 09:11:29 +00:00
7e38936458 ENH: VTKEdgeFormat: unstructed vtk reader 2012-03-02 15:04:08 +00:00
10b019f618 ENH: Initial commit of dynamicIndexedOctree.
Add point removal.
    Speed up point removal
    Add maximum number of levels allowed in the tree
    Add recursive subdivision upon point insertion.
2012-02-03 14:20:45 +00:00