Commit Graph

1075 Commits

Author SHA1 Message Date
Henry Weller
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
Henry Weller
56fa7c0906 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
4eba393fe1 Update code to use the simpler C++11 template syntax 2016-01-10 19:20:16 +00:00
Andrew Heather
f0c3e8d599 STYLE: Updated version to 'plus' 2015-12-22 23:14:17 +00:00
Andrew Heather
0e01c44129 GIT: Resolved conflict 2015-12-09 16:19:28 +00:00
Andrew Heather
8837a89237 STYLE: Updated links from openfoam.org to openfoam.com 2015-12-09 15:03:05 +00:00
Chris Greenshields
93002626c0 blockMeshDict files moved to system directory (new default location) in template cases and unit test cases 2015-11-13 16:05:59 +00:00
Henry Weller
c4d5f65a10 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
e2ef006b91 applications: Update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-10 17:53:31 +00:00
Henry Weller
78d7482e5b SolverPerformance: Complete the integration of the templated SolverPerformance<Type>
Now solvers return solver performance information for all components
with backward compatibility provided by the "max" function which created
the scalar solverPerformance from the maximum component residuals from
the SolverPerformance<Type>.

The residuals functionObject has been upgraded to support
SolverPerformance<Type> so that now the initial residuals for all
(valid) components are tabulated, e.g. for the cavity tutorial case the
residuals for p, Ux and Uy are listed vs time.

Currently the residualControl option of pimpleControl and simpleControl
is supported in backward compatibility mode (only the maximum component
residual is considered) but in the future this will be upgraded to
support convergence control for the components individually.

This development started from patches provided by Bruno Santos, See
http://www.openfoam.org/mantisbt/view.php?id=1824
2015-11-10 08:50:11 +00:00
Henry Weller
4b0c0a5278 Test-error: Updated to use test the new "...InFunction" macros 2015-11-07 16:28:13 +00:00
Henry Weller
7b5d6114ad PtrListDictionary: New form of Dictionary in which the list type is PtrList rather than a linked-list 2015-09-16 21:26:26 +01:00
Henry Weller
913103ec0a Rename circulators to be consistent with the standard OpenFOAM class naming convention 2015-08-06 16:54:47 +01:00
Henry Weller
f3f35e8f39 applications/test: Updated include and link options 2015-07-16 14:37:19 +01:00
Henry Weller
4cd1e85311 fvSchemes: Removed fluxRequired entries 2015-07-16 10:55:49 +01:00
Henry Weller
542c05adda UList, FixedList: Correct swap member function
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1787
2015-07-15 12:10:05 +01:00
Henry Weller
72300041df Removed use of the deprecated "register" keyword
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4340.html
2015-06-30 10:26:44 +01:00
Henry
5aa5fe6f11 TurbulenceModels: LienCubicKE, ShihQuadraticKE and LienLeschziner models rewritten
The implementation now correspond to the definitions in the readily
available reference:

http://personalpages.manchester.ac.uk/staff/david.d.apsley/specturb.pdf

in which a large number of linear and non-linear models are presented in
a clean and consistent manner.  This has made re-implementation and
checking far easier than working from the original references which anyway
are no longer available for the LienCubicKE and ShihQuadraticKE models.
2015-03-01 17:55:16 +00:00
Henry
6e217f31c2 symmTensor: Add support for the innerSqr function
which takes the inner product of a symmTensor with itself and returns a symmTensor
2015-02-28 16:09:55 +00:00
Henry
8cd3023439 Rationalize position searching and add cell->tet decomposition as the default cell-search algorithm
Resolves issues with probes and findRefCell for meshes in which all cell face-pyramids are positive.
2015-02-25 10:57:06 +00:00
Henry
c778346c96 Formatting: Rationalized the indentation of #include 2015-02-10 20:35:50 +00:00
Henry
83de811719 Updated headers 2015-02-04 16:33:02 +00:00
Henry
1f2176056b applications/test: Updated to compile with Clang-3.5 2015-02-04 16:32:36 +00:00
Henry
71fe553d85 applications/test/LduMatrix: no longer compiles and needs replacing 2015-02-04 16:31:54 +00:00
Henry
33b1bf4c87 regExp: Add support for case-insensitive patterns
From https://github.com/OpenFOAM/OpenFOAM-2.2.x/pull/1
2015-01-28 16:35:36 +00:00
Henry
2aec249647 Updated the whole of OpenFOAM to use the new templated TurbulenceModels library
The old separate incompressible and compressible libraries have been removed.

Most of the commonly used RANS and LES models have been upgraded to the
new framework but there are a few missing which will be added over the
next few days, in particular the realizable k-epsilon model.  Some of
the less common incompressible RANS models have been introduced into the
new library instantiated for incompressible flow only.  If they prove to
be generally useful they can be templated for compressible and
multiphase application.

The Spalart-Allmaras DDES and IDDES models have been thoroughly
debugged, removing serious errors concerning the use of S rather than
Omega.

The compressible instances of the models have been augmented by a simple
backward-compatible eddyDiffusivity model for thermal transport based on
alphat and alphaEff.  This will be replaced with a separate run-time
selectable thermal transport model framework in a few weeks.

For simplicity and ease of maintenance and further development the
turbulent transport and wall modeling is based on nut/nuEff rather than
mut/muEff for compressible models so that all forms of turbulence models
can use the same wall-functions and other BCs.

All turbulence model selection made in the constant/turbulenceProperties
dictionary with RAS and LES as sub-dictionaries rather than in separate
files which added huge complexity for multiphase.

All tutorials have been updated so study the changes and update your own
cases by comparison with similar cases provided.

Sorry for the inconvenience in the break in backward-compatibility but
this update to the turbulence modeling is an essential step in the
future of OpenFOAM to allow more models to be added and maintained for a
wider range of cases and physics.  Over the next weeks and months more
turbulence models will be added of single and multiphase flow, more
additional sub-models and further development and testing of existing
models.  I hope this brings benefits to all OpenFOAM users.

Henry G. Weller
2015-01-21 19:21:39 +00:00
Henry
0da35af2f4 Update headers 2015-01-12 12:34:38 +00:00
Henry
ff29093117 Incompressible turbulence models: Remove the correction of the laminar transport model
Explicitly correct laminar transport at the application level as is done in the multiphase solvers
2015-01-12 12:32:38 +00:00
Henry
a92a04f18d Updated options files for new location of radiation lnInclude directory 2015-01-11 22:27:36 +00:00
Henry
c4804e5a0b wallDist: Add support for cached wall-reflection vectors
Currently these vectors are generated at the same time as the wall-distance field
by the same run-time selected algorithm.  This will be changed so that the wall-reflection
vectors are only generated and stored if required.
2015-01-08 16:08:53 +00:00
Henry
69ff8aa4d2 wallDist: now a MeshObject cached and updated automatically with a run-time selected algorithm
When using models which require the wallDist e.g. kOmegaSST it will
request the method to be used from the wallDist sub-dictionary in
fvSchemes e.g.

wallDist
{
    method meshWave;
}

specifies the mesh-wave method as hard-coded in previous OpenFOAM versions.
2015-01-08 10:40:23 +00:00
Henry
c93f87cc7f Added support for glibc < 2.18
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1474
2015-01-04 20:13:37 +00:00
Henry
5cf6680021 Updated header 2015-01-02 19:20:50 +00:00
Henry
3588970280 LduMatrixOperations: Added support for scaling symmetric matrices
Note: non-uniform scaling of a symmetric matrix generates an asymmetric matrix
2015-01-02 19:20:19 +00:00
Henry
f4596ad247 Resolve issues relating to compilation with clang-3.5.0 2014-12-15 22:38:10 +00:00
Henry
844b283030 New version of wmake supporting out-of-tree object and dependency files 2014-12-14 21:42:18 +00:00
OpenFOAM-admin
9fb26d59d3 GIT: Repo update 2014-12-11 08:35:10 +00:00
william
98e6dc581c BUG: mantis #1373: eigen value/vector calculation now handles repeated eigen values 2014-08-28 10:54:00 +01:00
mattijs
2e99db9c22 ENH: OSspecific - softlink handling (fixes #164)
Links are followed in most cases, with some notable exceptions:

- mv, mvBak:
  renames the link, not the underlying file/directory

- rmDir:
  remove the symlink to a directory, does not recurse into the
  underlying directory
2014-04-23 15:00:00 +02:00
OpenFOAM-admin
fbb3ddf2c4 Updated for release 2.3.0 2014-02-17 10:21:46 +00:00
mattijs
80ef6e2392 ENH: hexRef8: test more 2013-12-20 16:01:18 +00:00
mattijs
1186a190aa ENH: Test-hexref8: added pointFields 2013-12-20 13:20:50 +00:00
Henry
5b7dff49e4 ODESolvers: Use the ODESystem protected data rather than pass redundant argument to solve 2013-11-09 13:53:37 +00:00
andy
ce4131ccc4 GIT: resolve conflict 2013-11-05 16:39:20 +00:00
Henry
489d295448 ODE solvers: further rationalisation and the addition of the Runge-Kutta-Fehlberg method 2013-11-02 22:48:13 +00:00
Henry
dedfb01ada Rationalisation of the ODE solvers library 2013-10-31 23:51:16 +00:00
Henry
286d6c5d29 ODE: Renamed to ODESystem
Also some additional documentation
2013-10-30 23:12:33 +00:00
mattijs
20a3d67c93 STYLE: various: small coding issues 2013-10-14 14:48:05 +01:00
mattijs
fd0f8ecedd ENH: volField test: comment 2013-10-02 16:09:08 +01:00
Henry
00db27b969 UniformField: New field type 2013-09-27 22:47:59 +01:00
laurence
259d030fed ENH: Update tests for PtrList and sort 2013-09-25 10:11:36 +01:00
mattijs
4d7eae5104 ENH: hexRef8: cleanup 2013-09-23 17:22:33 +01:00
mattijs
8d5977c186 Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev 2013-09-19 16:16:19 +01:00
Henry
2824e86e4f Test-volField: Corrected equation and test case to run 2013-09-19 15:09:45 +01:00
mattijs
3e4f021d10 BUG: Test-fieldMapping: correct comment 2013-09-19 14:49:26 +01:00
mattijs
a009a149b4 ENH: hexRef8: new testcase for refinement and unrefinement 2013-09-19 14:48:39 +01:00
mattijs
f101836853 BUG: Test-fieldMapping: was always inflating 2013-09-19 11:34:09 +01:00
mattijs
9a534cf76d ENH: fieldMapping: new test app 2013-09-18 17:24:57 +01:00
Henry
470553c61a Updated headers 2013-09-09 12:41:33 +01:00
Henry
51f085faa5 Rewrite of ddtPhiCorr - ddtCorr and density-weight HbyA on compressible solvers.
For DyM solvers phiAbs is replaced by Uf but this conversion is currently not complete
2013-09-09 12:41:20 +01:00
Henry
046f740f0e Renamed relativeFlux -> makeRelative and absoluteFlux -> makeAbsolute 2013-08-20 15:40:00 +01:00
Henry
b3d794ee97 TurbulenceModels: Added structure for LES model and the Smagorinsky model within this structure. 2013-08-01 17:14:42 +01:00
mattijs
db0036f34e ENH: patchRegion: test app for PatchEdgeFaceWave 2013-07-30 13:01:32 +01:00
Henry
0af5f10b63 RhoPimpleFoam: test version of rhoPimpleFoam demonstrating the new templated turbulence library 2013-07-28 18:11:04 +01:00
Henry
def7148136 applications/test/PisoFoam: test version of pisoFoam using new templated turbulence library 2013-07-28 18:09:54 +01:00
Henry
144a2b232e dimensionedType: Added missing cmpt functions 2013-07-04 10:00:44 +01:00
mattijs
f2e2ce6f91 ENH: Test-volField: patchGroup reading 2013-07-02 13:45:01 +01:00
laurence
f5bfc5d2e7 ENH: scalarMatrices: Add determinant calculation 2013-06-07 08:57:04 +01:00
mattijs
9426345a09 ENH: Test-GAMGAgglomeration: moved test into GAMGAgglomeration 2013-06-06 08:59:23 +01:00
mattijs
3c1893a8d8 Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev 2013-06-04 11:33:22 +01:00
mattijs
97b0a10211 ENH: Test-GAMGAgglomeration: check for region connectivity 2013-06-04 11:32:18 +01:00
laurence
399c65f963 Merge branch 'master' into feature/cvMesh 2013-05-30 10:34:49 +01:00
mattijs
2e5227a6f8 ENH: Test-ExtendedStencil: more examples 2013-05-21 15:33:17 +01:00
laurence
2c77f55d1d Merge branch 'master' into feature/cvMesh 2013-05-13 10:54:26 +01:00
mattijs
7da6784897 ENH: testDict: key substitution 2013-05-08 14:11:13 +01:00
laurence
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
mattijs
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
laurence
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
laurence
55253a89a9 ENH: Update Test-Matrix.C to check solutions for symmetric square matrices 2013-03-21 10:22:47 +00:00
andy
b45a4486b1 STYLE: Updates to erroneous copyright dates - applications 2013-03-13 09:45:16 +00:00
andy
53df4289df ENH: Consistency updates - license text abnd code formatting 2013-03-12 15:40:03 +00:00
laurence
3577b3d409 ENH: Add SymmetricSquareMatrix class and specialisations of LUDecompose and LUSolve. 2013-03-01 16:32:33 +00:00
laurence
bf07d6ba68 ENH: Add SymmetricSquareMatrix class and specialisations of LUDecompose and LUSolve. 2013-03-01 16:32:33 +00:00
mattijs
fee11f0fa5 ENH: laplacianFoam: back to solve on single processor 2013-02-22 17:26:12 +00:00
Henry
74e16d7729 Reformat "template <..." to template<"
Add support for constructing VectorSpaces from forms with lower component type,
e.g. Vector<scalar> from Vector<label>
2013-02-21 15:07:50 +00:00
Henry
31d4437e54 Reformat "template <..." to template<"
Add support for constructing VectorSpaces from forms with lower component type,
e.g. Vector<scalar> from Vector<label>
2013-02-21 15:07:27 +00:00
Henry
944b8d438b Reformat "template <..." to template<"
Add support for constructing VectorSpaces from forms with lower component type,
e.g. Vector<scalar> from Vector<label>
2013-02-21 15:07:09 +00:00
mattijs
58541c5f7b ENH: cellToCell extended stencils 2013-02-18 09:45:02 +00:00
mattijs
8036ed63c5 ENH: combining ldu addressing 2013-02-15 10:20:29 +00:00
mattijs
0b53cfa0a1 ENH: laplacian-communicators: test app 2013-02-06 14:28:31 +00:00
mattijs
ea8d290191 ENH: communicators: initial version - extended Pstream API 2013-02-04 10:17:37 +00:00
mattijs
e676f9472f ENH: parallel-communicators: user defined communicators test 2013-01-31 16:55:32 +00:00
mattijs
ed5304a6b3 ENH: Test-PointEdgeWave: patch wildcards 2013-01-28 17:05:27 +00:00
laurence
07cb342aeb Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev into feature/cvMesh
Conflicts:
	src/OpenFOAM/primitives/triad/triad.C
2013-01-28 15:17:48 +00:00
mattijs
5b0d85c3ff ENH: PatchTools: test app 2013-01-21 11:43:49 +00:00
Henry
b2656aeb81 Merge branch 'master' of ssh://dm/home/dm4/OpenFOAM/OpenFOAM-dev 2013-01-17 11:07:52 +00:00
Henry
1d2ab20eac Update formatting 2013-01-17 11:07:49 +00:00
mattijs
97910c4d4a COMP: Test apps: make compile 2013-01-17 11:06:38 +00:00
Henry
53c91b46c0 Merge branch 'master' of ssh://homedm/home/dm2/henry/OpenFOAM/OpenFOAM-dev/ 2013-01-17 10:22:37 +00:00
Henry
ef0369fed2 Test-fvc: minor enhancement 2013-01-17 10:17:14 +00:00
laurence
75a4267684 BUG: face: Revert commit 51db019 and add special test for face of size 1 2013-01-11 12:10:20 +00:00
laurence
51db019bee BUG: face: Early exit test on circulate removed.
Does not work for faces of size 1 that match
2013-01-10 10:47:47 +00:00
mattijs
49645b5926 COMP: Test-PatchEdgeFaceWave: patchdist renamed 2013-01-08 21:51:50 +00:00
laurence
c0a417355d Revert "COMP: cvMesh and cv2DMesh removed"
This reverts commit e4c1409679.
2013-01-08 10:48:45 +00:00
laurence
e4c1409679 COMP: cvMesh and cv2DMesh removed 2013-01-07 16:08:56 +00:00
laurence
4be7afde0a STYLE: Fix some typos 2012-12-11 16:38:39 +00:00
laurence
e3ae44f31f ENH: ListOps: Add reverse and rotate functions
reverseList
inplaceReverseList
rotateList
inplaceRotateList

Remove reverse function from UList and call the ListOps from the other
reverse function.
2012-12-11 16:21:07 +00:00
laurence
23f04e33b5 ENH: circulator added
circulator and const_circulator wrap around lists so that they may be
iterated over indefinitely.
2012-12-11 16:18:29 +00:00
mattijs
e8ff31f9e8 ENH: Time: use constant(), time() instead of hardcoded strings 2012-12-06 08:24:54 +00:00
Henry
e9b31afd52 applications/test/reconstruct: new test application for reconstruction 2012-11-28 14:29:42 +00:00
Henry
b0b9480573 Removed duplicate app 2012-11-18 22:47:58 +00:00
Henry
a9888b411f applications/test/ThermoMixture: New test application 2012-11-18 22:44:42 +00:00
Henry
83c61b0510 Thermodynamics: Changed internal representation of thermo properties in hConst/eConstThermo to mole-based 2012-10-30 11:04:08 +00:00
mattijs
67b1f80dc9 ENH: fvMesh: add construct from cellShape 2012-10-23 15:32:42 +01:00
mattijs
6dc4de7d3f ENH: dictionary: recursive variable expansion 2012-10-15 16:00:03 +01:00
mattijs
78a7cdf7f3 ENH: Test-dictionary: test dictionary variable expansion 2012-10-12 17:52:52 +01:00
mattijs
31afe2d5d3 ENH: symbolic units: test app 2012-10-08 09:44:08 +01:00
mattijs
dfa74d978c ENH: flowRateInletVelocity: different keywords for volumetric and mass 2012-09-20 14:21:40 +01:00
mattijs
87bab77daf ENH:dictionary: allow scoped variable lookup (using '.') 2012-09-12 09:14:43 +01:00
mattijs
c1ef233e5d ENH: pointMesh: use MeshObject form 2012-08-31 12:57:17 +01:00
mattijs
9cc4f9a923 ENH: BinSum: new summing container. Replacement for uniform-binned Histograms 2012-07-13 11:42:55 +01:00
Henry
edd01d5e6f Removed applications/test/readCHEMKINIII 2012-05-31 11:32:43 +01:00
Henry
ed293d3af1 LduMatrix: coupled solvers are now run-time selectable for solving fvMatrices by conversion of the fvMatrix/lduMatrix to LduMatrix 2012-04-27 18:16:53 +01:00
Henry
87dc042618 LduMatrix: Added support for AMI and jump conditions 2012-04-26 15:17:35 +01:00
Henry
4ff7ac3efe LduMatrix: Added support for both component-coupled and component-independent forms of PCG and PBiCG 2012-04-26 11:41:06 +01:00
Henry
4305e7dd6b PisoFoam: block-coupled U test version of pisoFoam 2012-04-25 18:20:15 +01:00
Henry
8fb6aa8811 LduMatrix: Added support for non-parallel cyclic patches 2012-04-25 18:18:31 +01:00
Henry
a3807c9dbb LduMatrix: Updated and re-committed 2012-04-20 14:01:59 +01:00
mattijs
69ee818cb7 ENH: Test-extendedStencil2.C: more test for extended stencil 2012-04-18 09:50:05 +01:00
Henry
5682987dc7 Updated headers 2012-04-17 16:49:03 +01:00
Henry
cd51a5eea3 Consistency: Changed exponent FORTRAN style 'E' to C style 'e' 2012-04-17 16:48:27 +01:00
mattijs
4fe27dffa1 ENH: tetTetOverlap: test for tet-tet overlap 2012-04-04 09:48:19 +01:00
laurence
3c6c675081 STYLE: Remove trailing whitespace 2012-03-30 08:53:47 +01:00
mattijs
903bcfc42c ENH: PrimitivePatch: construct from Xfer 2012-03-05 14:14:01 +00:00
mattijs
3febf2314b ENH: non-blocking reduce with sumOp<scalar> 2012-02-22 12:34:01 +00:00
laurence
674abd8ecd ENH: cvMesh: Add vectorTools functions, a test folder and update cvMesh 2012-01-12 16:03:48 +00:00
laurence
f29a53ecbd ENH: test: Add test for dynamicIndexedOctree 2012-02-03 15:20:57 +00:00
Henry
de7ccd8e5b tensor2D: Added specialisation for the outerProduct of Vector2D to enable outer product operation 2012-02-01 12:30:16 +00:00
laurence
69ec8b054d Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev 2012-01-17 10:38:04 +00:00
laurence
01f61f62bf ENH: treeDataEdge: Improved overlap accuracy of box and sphere.
Overlap of an edge with a boundBox is now evaluated using boundbox.intersect
2012-01-16 16:09:18 +00:00
mattijs
d92a8c556b Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev 2012-01-16 15:59:58 +00:00
mattijs
515374726f STYLE: date 2012-01-16 15:50:47 +00:00
mattijs
e2cc8830d4 ENH: tetrahedron: move slicing with plane. Removed tetPointRef.H 2012-01-16 15:48:15 +00:00
laurence
cb308ce790 ENH: Add sphere overlap function to treeDataEdge and a test. 2012-01-16 09:33:10 +00:00
laurence
154eea4496 BUG: mantis #157: swapUp/swapDown changed when considering first/last element 2012-01-11 09:48:45 +00:00
laurence
8ce75feb7a BUG: List constructor now uses deref op instead of operator()()- mantis #219 2012-01-05 12:21:31 +00:00
Henry
a78a46e7c2 symmTensor: Corrected symmTensor & symmTensor dot-product 2011-12-28 17:46:51 +00:00
mattijs
af25e71e1c ENH: patchDist: helper class to determine distance on patch to neighbouring patches 2011-12-16 11:28:44 +00:00
mattijs
4faf9f4d41 BUG: Test-readCHEMKINIII.C: missing speciesTable 2011-11-23 15:40:15 +00:00
andy
9dd55c02cb ENH: Added further ouput to volPointInterp test app 2011-11-21 13:59:42 +00:00
mattijs
e1ae53ef67 STYLE: octree: replaced by indexedOctree 2011-11-09 13:52:23 +00:00
mattijs
827cc609d7 ENH: Test-GAMGAgglomeration: additional options 2011-11-08 12:56:33 +00:00
mattijs
063d3ca9a4 ENH: Test-GAMGAgglomeration: some printing 2011-11-08 09:46:11 +00:00
mattijs
83ec8559d6 ENH: GAMGAgglomeration: test app to dump agglomeration of GAMG 2011-11-08 09:31:49 +00:00
mattijs
27d4209839 ENH: PatchEdgeFaceWave: new wave method 2011-10-17 18:31:41 +01:00
andy
8ae9569085 ENH: Multiple commits - lumped due to git index file corruption
- Re-located mapped point patches
- Updated mapped patch write
- deprecated directMapped in favour of mapped
- updated resulting dependancies - apps/libs/tuts
2011-09-09 12:05:12 +01:00
andy
4f40cdb7d7 GIT: Resolve conflict 2011-08-16 16:09:56 +01:00
Henry
c2dd153a14 Copyright transfered to the OpenFOAM Foundation 2011-08-14 12:17:30 +01:00
graham
caea0aec03 Merge branch 'master' into cvm 2011-06-17 10:57:23 +01:00
OpenFOAM-admin
cedfb1b2be STYLE: Updated copyright dates 2011-06-17 10:12:36 +01:00
OpenFOAM-admin
c720299876 ENH: Reverted back to version dev 2011-06-17 10:08:20 +01:00
mattijs
4f47ff0219 STYLE: dictionaries: update version number 2011-06-10 17:22:56 +01:00
Henry
9ef2864870 Corrected constructors for clang 2011-06-09 13:45:02 +01:00
mattijs
3a5f546aeb COMP: Applications/test: clean build 2011-06-08 15:37:11 +01:00
graham
fe0f6a487a Merge branch 'master' into cvm
Conflicts:
	applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
2011-04-07 14:17:08 +01:00
mattijs
b89f6082b0 STYLE: dictionary headers 2011-04-06 20:35:56 +01:00
graham
f81c0abef7 Merge branch 'master' into cvm 2011-03-28 12:06:56 +01:00
mattijs
7faf1a5205 COMP: app/test: make test apps compile 2011-03-23 16:18:06 +00:00
mattijs
ac4aff42b5 BUG: liquid/Make/options: different library 2011-03-23 16:07:53 +00:00
Mark Olesen
2a925aeff3 ENH: support alternative values in string expansion
- syntax as per Bourne/Korn shell
      ${parameter:+altValue}

  If parameter is unset or null, nothing is substituted.
  Otherwise the \c altValue is substituted.
2011-03-18 10:12:38 +01:00
graham
1fac7b662e Merge branch 'master' into cvm
Conflicts:
	src/mesh/Allwmake
2011-03-10 13:54:43 +00:00
Mark Olesen
e8a3587df4 ENH: support file-scope 'localCode' in dynamicCode 2011-03-08 11:08:42 +01:00
Mark Olesen
97da787c69 ENH: add fileName::name(bool) for returning basename without extension 2011-03-03 13:48:04 +01:00
Mark Olesen
3b72fc3e38 ENH: support default values in string expansion
- syntax as per Bourne/Korn shell
      ${parameter:-defValue}

  If parameter is unset or null, the \c defValue is substituted.
  Otherwise, the value of parameter is substituted.
2011-03-02 14:11:30 +01:00
Mark Olesen
01ea4623f9 BUG: string expand bombed out on first unknown construct
- eg,
       "$USER $(PWD) $USER"  ->  "username $(PWD) $USER"
  instead of
       "$USER $(PWD) $USER"  ->  "username $(PWD) username"

  this is noticable in some dynamicCode usages

STYLE: consolidate all string expand code into stringOps
2011-03-02 13:46:15 +01:00
Mark Olesen
4aafea74a9 COMP: removed calcEntry bits missed in b4dae1a5ab 2011-02-24 11:35:24 +01:00
Mark Olesen
67fc6a171a ENH: use stringOps::expandDict when processing codeStream input 2011-02-23 14:22:14 +01:00
Mark Olesen
31f6d9ba5e ENH: add stringOps::expandDict 2011-02-23 13:38:57 +01:00
Mark Olesen
71d21f6de4 ENH: implement stringOps - trim, trimRight, inplaceTrim, inplaceTrimRight 2011-02-23 10:13:10 +01:00
Mark Olesen
4aa279d7bc ENH: use HashTable for mapping codeStream entries
- write intermediate code to _SHA1 directories
- add Test-codeStream
2011-02-22 12:34:20 +01:00
graham
de64877baa Merge branch 'master' into cvm
Conflicts:
	applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
	src/edgeMesh/Make/files
	src/edgeMesh/featureEdgeMesh/featureEdgeMesh.C
	src/edgeMesh/featureEdgeMesh/featureEdgeMesh.H
2011-02-17 11:20:03 +00:00
Mark Olesen
808ff1aa32 Merge remote branch 'OpenCFD/master' into olesenm 2011-02-15 16:55:05 +01:00
graham
0090ec6526 Merge branch 'master' into cvm 2011-02-14 15:39:40 +00:00
Mark Olesen
1e4d26429b Merge remote branch 'OpenCFD/master' into olesenm 2011-02-14 09:47:49 +01:00
mattijs
790146fbdb ENH: Test-syncTools.C : cannot use magSqr with point::max 2011-02-11 12:26:01 +00:00
mattijs
f5b7477722 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2011-02-09 14:10:19 +00:00
Henry
c3cb632c24 Documentation: converted javadoc @ to LaTeX style \ in Doxygen code docs 2011-02-08 18:22:00 +00:00
mattijs
2adfd534db ENH: globalMeshData, mapDistribute : added pointBoundaryFaces/pointBoundaryCells 2011-02-08 16:16:50 +00:00
Mark Olesen
0f990cb447 Merge remote branch 'OpenCFD/master' into olesenm 2011-02-07 16:56:31 +01:00
Mark Olesen
ffd20770dd ENH: add (non-templated) polynomialFunction
STYLE: integrateLimits() -> integrate() for consistency with
  DataEntry/polynomial.  Rename old 'integrate', 'integrateMinus1'
  methods to 'integral', 'integralMinus1' (ie, substantive instead of
  verb for clarity).
2011-02-04 18:59:45 +01:00
mattijs
a6e8df4aa2 ENH: Test-syncTools : remove warning about transformations 2011-02-03 22:20:32 +00:00
graham
e664fe1240 Merge branch 'master' into cvm 2011-02-02 13:44:51 +00:00
andy
4634aa3ad0 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2011-02-01 16:00:44 +00:00
andy
9da43d1558 STYLE: consistency - moved radiation->radiation models 2011-02-01 16:00:27 +00:00
Mark Olesen
08680b8b35 STYLE: rename Polynomial method evaluate() to value() for consistency with DataEntry
STYLE: move DataEntry to OpenFOAM/primitives/functions
2011-01-28 16:32:08 +01:00
Mark Olesen
c891e7065a Merge remote branch 'OpenCFD/master' into olesenm 2011-01-26 16:45:22 +01:00
graham
52bc7df7d7 Merge branch 'master' into cvm 2011-01-21 14:05:20 +00:00
mattijs
fe987dad11 ENH: Test-globalMeshData.C : updated to include transforms 2011-01-20 15:31:43 +00:00
mattijs
f91d99c8df STYLE: Test-Distribute : renamed for consistency 2011-01-20 15:31:09 +00:00
Mark Olesen
129695a950 STYLE: adjust executable names for some tests 2011-01-19 14:29:56 +01:00
mattijs
fc1e443116 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2011-01-19 12:37:20 +00:00
graham
38f347e4e2 STYLE: Date and executable name. 2011-01-19 11:07:17 +00:00
graham
b1c7bcee4e Merge branch 'master' into cvm
Conflicts:
	applications/test/Distribution/DistributionTest.C
	applications/test/Distribution/Make/options
	src/OpenFOAM/containers/Lists/Distribution/Distribution.C
	src/OpenFOAM/containers/Lists/Distribution/Distribution.H
	src/OpenFOAM/containers/Lists/Distribution/DistributionI.H
2011-01-19 10:32:36 +00:00
graham
89619c5015 Revert "ENH: Copyright dates to allow a push."
This reverts commit c5bea5242b.
2011-01-19 10:26:24 +00:00
graham
95a8490b83 ENH: Import (probability) Distribution class and test app from cvm. 2011-01-19 10:23:48 +00:00
mattijs
a6de8e746a Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev
Conflicts:
	applications/test/lduMatrix/Test-lduMatrix.C
	applications/test/lduMatrix/Test-lduMatrix2.C
	applications/test/lduMatrix/Test-lduMatrix3.C
	applications/test/parallel/Test-parallel.C
	applications/utilities/miscellaneous/foamFormatConvert/writeMeshObject.H
	bin/mpirunDebug
	etc/apps/paraview3/cshrc
	src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H
	src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C
	src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.H
	src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeTemplates.C
	src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
	src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.H
	src/OpenFOAM/primitives/Pair/labelPair.H
	src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
	src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C
2011-01-17 21:40:13 +00:00
Mark Olesen
e95e9700c8 Merge remote branch 'OpenCFD/master' into olesenm 2011-01-17 10:21:58 +01:00
graham
2398804708 ENH: change point to vector. 2011-01-14 19:37:05 +00:00
andy
eaef8d482b STYLE: Updated 1991 start copyright year to 2004 2011-01-14 16:08:00 +00:00
mattijs
7a01f5c12c ENH: mapDistribute : added transforms 2011-01-07 17:01:17 +00:00
graham
c5bea5242b ENH: Copyright dates to allow a push. 2011-01-07 15:09:52 +00:00
graham
2135f644d1 Merge branch 'master' into cvm 2011-01-07 14:50:43 +00:00
andy
14d1300a36 Revert "STyLE: More 2011 copyright dates (non-code)."
This reverts commit 2e1e671d96.
2011-01-05 18:25:32 +00:00
andy
099cc39e2e Revert "STYLE: 2011 copyright date."
This reverts commit b18f6cc1ce.
2011-01-05 18:24:29 +00:00
graham
400adf753a ENH: Removed test app -> nonRelease. 2011-01-05 13:14:15 +00:00
graham
8c04b4e692 Merge branch 'master' into cvm
Conflicts:
	src/OpenFOAM/meshes/boundBox/boundBox.H
2011-01-05 11:53:37 +00:00
graham
2e1e671d96 STyLE: More 2011 copyright dates (non-code). 2011-01-05 11:48:24 +00:00
graham
b18f6cc1ce STYLE: 2011 copyright date. 2011-01-05 11:14:26 +00:00
Mark Olesen
5d18583101 ENH: collect arch-specific directly under platforms/
- platforms/WM_OPTIONS/lib
      old: lib/WM_OPTIONS

- platforms/WM_OPTIONS/bin
      old: bin/WM_OPTIONS
      old: applications/bin/WM_OPTIONS

A runtime environment nows needs
    - bin/
    - etc/
    - platforms/
2011-01-05 08:49:42 +01:00
Mark Olesen
881b3dafa2 Merge remote branch 'OpenCFD/master' into olesenm
Conflicts:
	applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C
	applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C
	applications/utilities/surface/surfaceCheck/surfaceCheck.C
	src/finiteVolume/fields/fvPatchFields/derived/advective/advectiveFvPatchField.C
	src/finiteVolume/fields/fvPatchFields/derived/waveTransmissive/waveTransmissiveFvPatchField.C
	src/meshTools/directMapped/directMappedPolyPatch/directMappedPatchBase.C

NOTE: also needed to strip trailing space/lines in various files
2010-12-21 10:19:53 +01:00
Mark Olesen
43ec00e50c COMP: avoid ambiguous construct from tmp - test/ utils/
- missed these on the first sweep
2010-12-21 09:46:55 +01:00
graham
aa15f4479c ENH: Transferring momentOfInertia calc from utils to meshTools lib.
Adding mesh cell inertia calc.
2010-12-15 17:46:15 +00:00
graham
1f20976f2a ENH: Transferring momentOfInertia calc from utils to meshTools lib.
Adding mesh cell inertia calc.
2010-12-15 17:46:15 +00:00
Mark Olesen
3aa49fef5e ENH: first version of labelRange, labelRanges
- an opaque means of handling ranges of labels
2010-12-13 11:51:49 +01:00
graham
44be359294 Merge branch 'master' into cvm 2010-12-07 16:11:09 +00:00
Mark Olesen
a00ec1562a Merge remote branch 'OpenCFD/master' into olesenm 2010-12-07 15:20:19 +01:00
Mark Olesen
f367ee2ece ENH: add 'flip()' in-place method to edge, face, triFace 2010-12-07 08:58:31 +01:00
mattijs
731f523188 ENH: mapDistribute : cleanup 2010-12-06 15:54:45 +00:00
graham
837bb5847b ENH: parallel output. 2010-12-03 17:21:25 +00:00
graham
d9a7a0229e STYLE: filename typo. 2010-12-03 16:23:31 +00:00
graham
27088becf1 BUG: Default parameter should be a scalar. 2010-12-03 16:21:45 +00:00
graham
a21a56ccda ENH: read cell centre relaxation to centroid for high deltaCoeffs. 2010-12-03 16:16:12 +00:00
graham
6c0a58e44a ENH: Distribution calculation for deltaCoeffs. 2010-12-02 11:09:53 +00:00
graham
57cc05fe7d BUG: Report deltaCoeffs in parallel. 2010-12-02 10:41:40 +00:00
graham
7bcd64a243 ENH: deltaCoeff test application. 2010-12-02 10:37:15 +00:00
graham
6595741ecd Merge branch 'master' into cvm 2010-11-25 17:36:43 +00:00
Mark Olesen
7b5de8021f Merge remote branch 'OpenCFD/master' into olesenm 2010-11-25 11:24:10 +01:00
graham
c630d77fc4 Merge branch 'master' into cvm 2010-11-24 14:02:07 +00:00
mattijs
1aea998bbe ENH: FaceCellWave : additional trackData like argument for passing in non-cell data 2010-11-24 11:48:04 +00:00
Mark Olesen
499d48cfdb STYLE: uniform 'Test-' prefix for all applications/test
- easier to clean, avoid confusion with 'real' applications, etc.
2010-11-23 16:26:04 +01:00
Mark Olesen
e5cf4f093e COMP: adjust syncTools test to compile 2010-11-23 16:08:47 +01:00
Mark Olesen
2ab6d349d6 STYLE: reset parameters in memInfo::update()
- avoids old values if the read from /proc/.../status somehow failed
2010-11-22 16:12:20 +01:00
graham
9f1d94bddd ENH: memInfo class. 2010-11-18 16:45:49 +00:00
graham
05b10612ca ENH: memInfo class. 2010-11-18 16:45:49 +00:00
graham
3629979263 Merge branch 'master' into cvm
Conflicts:
	src/OpenFOAM/primitives/random/Random/random.3
	src/OpenFOAM/primitives/random/Random/random.c
2010-11-11 18:29:28 +00:00
graham
ff473b9833 ENH: cmptProduct function, i.e. cmptProduct(vector(a, b, c)) = a*b*c. 2010-11-04 16:47:42 +00:00
graham
35416aa3c2 ENH: cmptProduct function, i.e. cmptProduct(vector(a, b, c)) = a*b*c. 2010-11-04 16:47:42 +00:00
Mark Olesen
d5acd22a63 STYLE: use labelUList typedef instead of UList<label> or unallocLabelList 2010-11-02 09:32:32 +01:00
graham
f2fe2f5140 Merge branch 'master' into cvm 2010-11-01 17:23:23 +00:00
mattijs
3f6d24ad0b STYLE: DynamicFieldTest.C : date 2010-10-29 16:40:38 +01:00
mattijs
13f86d8b68 ENH: DynamicField: extend to be like DynamicList. 2010-10-29 16:37:37 +01:00
graham
f7d3162a15 Merge branch 'master' into cvm 2010-10-12 16:09:17 +01:00
Henry
eb51614780 Renamed rUA -> rAU 2010-10-11 20:10:34 +01:00
andy
865379a135 Merge branch 'olesenm' 2010-10-11 09:39:53 +01:00
Mark Olesen
71b7e7cee1 ENH: add StaticAssert to Polynomial - positive number of terms only
ENH: allow construct from UList of coefficients, from C-arrays
     avoid uninitialized values for null constructor
2010-10-08 17:54:13 +02:00
Mark Olesen
dd5ed76a70 ENH: avoid costly pow() when evaluating Polynomial
OLD timings:
    ~~~~~~~~~~~~~~~~~~
    evaluate:     -6.82572e+31 in 10.38 s
    hard-coded 0: -6.82572e+31 in 0.2 s
    hard-coded 1: -6.82572e+31 in 10.37 s
    hard-coded 2: -6.82572e+31 in 0.24 s

    New timings:
    ~~~~~~~~~~~~~~~~~~
    evaluate:     -6.82572e+31 in 0.11 s
2010-10-08 15:56:58 +02:00
mattijs
197b3f398e ENH: CompactIOList test app 2010-10-07 12:15:35 +01:00
graham
ebe711cae1 Merge branch 'master' into cvm 2010-10-06 15:40:52 +01:00
Mark Olesen
d01a47aeee ENH: replace IndirectList with version that inherits from UIndirectList 2010-10-04 14:53:43 +02:00
andy
f2c3ba65a6 STYLE: code formatting and start copyright dates 2010-10-04 13:02:54 +01:00
andy
7ec390d23d Merge branch 'olesenm' 2010-10-04 11:08:48 +01:00
graham
6a70f4ecdb Merge branch 'master' into cvm 2010-10-01 15:36:26 +01:00
mattijs
2a6e9f10c0 COMP: testPrimitivePatch.C : extraneous include file 2010-09-30 14:07:12 +01:00
graham
f39d084874 Merge branch 'master' into cvm 2010-09-17 17:20:19 +01:00
graham
ebb9a9e1ac ENH: tet decomposed particle tracking.
Squashed merge of particleInteractions up to
commit e7cb5bcf0315c359539ef1e715e1d51991343391
2010-09-17 16:59:17 +01:00
Mark Olesen
4ed8ff2c7e ENH: add first draft of IndirectList that inherits from UIndirectList 2010-09-17 13:53:26 +02:00
Mark Olesen
ba896b6903 ENH: better handling of resizing for PackedList bit-wise operators
- previously using an '|=' or '^=' would increase the list size to
  match the RHS. Now it only increases to last bit set.

- limit bit-wise operations to addressable range for minor efficiency
  improvement

- trim results from '&' and '^' operations for more consistent
  behaviour
2010-09-16 16:37:41 +02:00
Mark Olesen
b7c85357d5 ENH: added binary IO for PackedList and compact ASCII format
The compact ASCII format is a block of index/value tuples for the
non-zero entries:

    { (index1 value1) (index2 value2) (index3 value3) }

For PackedList<1>, and thus PackedBoolList, the compact ASCII format is
a block of indices for the non-zero entries:

    { index1 index2 index3 }

Thus either of the following could be used - for PackedList<2>:

  - a list of all values:
        16(0 3 0 2 0 0 3 1 0 0 0 0 0 0 0 1)

  - a block of index/value tuples:
        {(1 3) (3 2) (7 3) (8 1) (15 1)}

For PackedList<1> and PackedBoolList, either of the following could be
used:

  - a list of all values, using any valid bool representation:
        16(0 1 0 true 0 0 t 1 0 n n 0 0 0 0 yes)

  - a block of the indices for non-zero entries:
        {1 3 7 8 15}
2010-09-15 10:20:39 +02:00
Mark Olesen
e564a9810f ENH: add IO support for PackedList, PackedBoolList 2010-08-09 17:27:09 +02:00
graham
aa96f77e96 Merge branch 'master' into cvm 2010-07-29 12:55:19 +01:00
graham
28345247a7 STYLE: Fixing code style requirements for more files - those not
picked up by a copyright change.
2010-07-29 11:28:44 +01:00
Mark Olesen
e12581bffc ENH: Add PackedBoolList class (previously just a typedef)
ENH: adjust internal storage of PackedList to ensure that all unused
     internal storage elements are guaranteed to always be bit-wise
     zero. This makes the PackedBoolList implementation easier, and
     also greatly eases much of the book-keeping.
     Bits are now also zeroed on PackedList::clear()

Note: in PackedList, require packing at least 2 items otherwise it is
     more efficient to use a normal list.
2010-07-28 14:50:17 +02:00
graham
0e935f41b0 Merge branch 'master' into cvm 2010-07-27 15:48:23 +01:00
graham
012494fdb5 STYLE: Fixing code style requirements for all apps.
Exception: applyWallFunctionBoundaryConditions.C cannot split #include
directives.
2010-07-27 15:27:05 +01:00
graham
1412553d06 Merge branch 'master' into cvm
Conflicts:
	src/edgeMesh/featureEdgeMesh/featureEdgeMesh.C
2010-07-23 13:41:31 +01:00
henry
6574570ba0 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev
Conflicts:
	tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary
	tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/0/rho
	tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/polyMesh/boundary
	tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/RASProperties
	tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties
	tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/constant/topAir/turbulenceProperties
	tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/0/cp
	tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/0/rho
	tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater/constant/polyMesh/boundary
	tutorials/incompressible/simpleFoam/windTurbineTerrain/0/include/fixedInlet
	tutorials/incompressible/simpleFoam/windTurbineTerrain/0/include/sideAndTopPatches
	tutorials/incompressible/simpleFoam/windTurbineTerrain/0/nut
	tutorials/incompressible/simpleFoam/windTurbineTerrain/0/p
	tutorials/incompressible/simpleFoam/windTurbineTerrain/constant/RASProperties
	tutorials/incompressible/simpleFoam/windTurbineTerrain/system/decomposeParDict
2010-06-23 16:56:45 +01:00
henry
ccfb6e32a6 Corrected headers. 2010-06-23 16:54:54 +01:00
Mark Olesen
aa4781fcc0 BUG: missing constructor for pTraits specializations 2010-06-15 18:23:49 +02:00
Mark Olesen
0a4c8f7266 ENH: add assignment from UIndirectList to DynamicList 2010-06-15 11:02:23 +02:00
Mark Olesen
3277d0573e STYLE: use 'using Field<Type>::operator[]' in DynamicField 2010-06-07 14:37:48 +02:00
andy
28b1a9e2c6 Merge branch 'olesenm' 2010-06-03 10:25:03 +01:00
mattijs
c51a2b0f63 ENH: have MUST_READ_IF_MODIFIED on IOdictionary construction 2010-06-02 09:48:07 +01:00
Mark Olesen
895a077cb1 STYLE: fixup some dictionary headers 2010-05-18 11:38:07 +02:00
graham
f106f89f1f Merge branch 'master' into cvm
Conflicts:
	applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
2010-05-11 13:00:25 +01:00
Mark Olesen
0e9851b432 Merge remote branch 'OpenCFD/master' into olesenm 2010-05-03 09:34:31 +02:00
Mark Olesen
35afeb9b18 STYLE: remove superfluous uses of argList::validArgs.clear()
- a holdover from the old <root> <case> days
2010-05-03 08:38:39 +02:00
Mark Olesen
72f7d46f23 ENH: add operator[](const word&) as "find-by-name" to some classes
- affected: polyBoundary, fvBoundaryMesh, ZoneMesh, searchableSurfaces

  before:
      const label zoneI = mesh.cellZones().findZoneID(zoneName);
      const cellZone& cz = mesh.cellZones()[zoneI];
  after:
      const cellZone& cz = mesh.cellZones()[zoneName];
2010-04-29 10:12:35 +02:00
graham
dc26005e49 Merge branch 'master' into particleInteractions
Conflicts:
	src/lagrangian/dieselSpray/spraySubModels/atomizationModel/atomizationModel/newAtomizationModel.C
	src/lagrangian/dieselSpray/spraySubModels/dispersionModel/dispersionModel/newDispersionModel.C
	src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C
	src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H
2010-04-26 16:45:54 +01:00
Mark Olesen
42807ddd7e STYLE: fix worst spacing violations for 'os <<' constructions
- accept some violations of the coding guidelines though
- perhaps adding a style exception would be simpler.
2010-04-13 17:45:49 +02:00
graham
3be2501cd9 Merge branch 'master' into particleInteractions
Conflicts:
	src/lagrangian/intermediate/parcels/Templates/KinematicParcel/CollisionRecordList/CollisionRecordList.H
	src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.H
	src/lagrangian/molecularDynamics/molecule/interactionLists/referralLists/receivingReferralList.C
	src/lagrangian/molecularDynamics/molecule/interactionLists/referralLists/sendingReferralList.C
2010-04-13 16:34:36 +01:00
Mark Olesen
6b819eb50a STYLE: use new fvPatch::start() method 2010-04-13 17:12:57 +02:00
graham
cddce779e8 STYLE: Change to GPL v3 and update copyright date. 2010-04-13 11:38:22 +01:00
graham
5c33936264 Merge branch 'master' into cvm 2010-04-13 11:31:32 +01:00
mattijs
defea5836e Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev
Conflicts:
	src/OpenFOAM/containers/Lists/DynamicList/DynamicList.H
	src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
	src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
2010-04-13 11:07:19 +01:00
Mark Olesen
c2044d746a ENH: udr_checker is the same for ensight82 and ensight90 2010-04-13 10:35:51 +02:00
Mark Olesen
874120350c STYLE: use forAllIter, forAllConstIter in more places
ENH: change some iterator -> const_iterator access

BUG: found some places with forAllIter and ::iterator !
2010-04-13 09:10:36 +02:00
mattijs
fb86371714 ENH: Test ListOps on DynamicList. 2010-04-12 17:18:46 +01:00
graham
240c714aab Merge branch 'master' into cvm
Conflicts:
	etc/settings.csh
	etc/settings.sh
	wmake/rules/General/CGAL
2010-04-09 10:13:42 +01:00
graham
94bab707d3 Merge branch 'master' into particleInteractions 2010-03-31 11:48:58 +01:00
Mark Olesen
d29c438657 STYLE: use url for FSF license instead of postal address, switch to GPL v3 2010-03-29 14:07:56 +02:00
graham
5342baa2a7 Merge branch 'master' into cvm
Conflicts:
	etc/settings.csh
	etc/settings.sh
2010-03-23 11:43:17 +00:00
graham
876f975c29 Merge branch 'master' into particleInteractions 2010-03-19 16:01:41 +00:00
mattijs
f1ab396a66 STYLE: remove all references to wallPoint::greatPoint.
Replaced with point::max wherever possible. Is VGREAT, not GREAT so be
careful with calculations.
2010-03-17 11:48:44 +00:00
graham
4bb3159323 Merge branch 'particleInteractions' of ssh://graham@hunt//home/noisy3/OpenFOAM/OpenFOAM-dev into particleInteractions 2010-03-16 22:30:14 +00:00
graham
4030fa7129 BUG: test/globalIndex. globalIndex.C no long needs compiled here. 2010-03-16 22:29:34 +00:00
graham
8500a9caa6 BUG: Using FaceCellWave instead of MeshWave in testWallDist2.C. Does
not compile in old form.
2010-03-16 22:06:36 +00:00
graham
e09a140a28 Merge branch 'master' into cvm
Conflicts:
	applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
2010-02-22 13:59:07 +00:00
Mark Olesen
78e41f78bd STYLE: avoid spaces around fileName::operator/ except when split across lines 2010-02-18 10:51:56 +01:00
Mark Olesen
689d4b2860 ENH: provide operator[] for accessing argList options.
- operator[] with label -> get args at index
- operator[] with word  -> get named option
2010-02-17 11:43:42 +01:00
Mark Olesen
d857d671ac STYLE: use new argList argRead() method and operator[] for cleaner code.
- deprecate argList::additionalArgs() method and remove uses of it
2010-02-16 17:57:49 +01:00
graham
abd1ee0f1d ENH: Distribution. Adding operator+ to allow
reduce(dist, sumOp< Distribution<scalar> >());

operations for parallel data.  Combines distributions using the
coarsest binWidth.

Changed write function to write normalised and raw to the same file.

BUG: Distribution. Corrected inaccurate median calculation.
2010-02-11 17:21:16 +00:00
graham
867f419731 ENH: Distribution. Basing the Distribution class on a List instead of
a Map.

Resizing by doubling and mapping data when a new entry is added that
is outside of the current bounds.  Trimming the output (normalised or
raw) to only the entries that contain data.

Overriding List clear method to enable the Distribution to be reset,
but retaining the correct number of components.
2010-02-10 17:50:31 +00:00
graham
c91ffbdbe8 Merge branch 'master' into cvm
Conflicts:
	src/OpenFOAM/meshes/primitiveShapes/plane/plane.C
	src/edgeMesh/Make/options
2010-02-10 15:00:34 +00:00
andy
7b3da686d8 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2010-02-08 19:13:37 +00:00
mattijs
4e3efc9d0c STYLE: explain only collocated points addressed 2010-02-08 17:35:39 +00:00
Mark Olesen
00616b72ff ENH: Add functionEntry '#calc' to dictionary
- handles basic operations, references to other dictionary entries
  (with '$name' syntax) and assorted mathematical functions:

      pi(), degToRad, radToDeg, asin, acos, atan, sin, cos, tan, log,
      log10, mag, atan2, pow

The basic syntax: #calc{ ... };

NOTE the trailing ';' is required for the primitiveEntry to be
properly defined.
2010-02-07 13:58:10 +01:00
Mark Olesen
7dd1ad1e23 Adjust Make options for calcEntry. 2010-01-15 19:25:12 +01:00
Mark Olesen
6a8db69cf7 Merge remote branch 'bundle/olesenm' into home 2010-01-15 18:51:21 +01:00
Mark Olesen
cf3e2a8abf Update calcEntry grammar to include copyright.
Include character class (wchar_t or char) as a template parameter in
CocoParserErrors.
2010-01-06 12:27:14 +01:00
graham
58406da0a8 Merge branch 'master' into cvm
Conflicts:
	src/parallel/decompositionMethods/Make/options
2010-01-04 16:45:54 +00:00
mattijs
aac29d740a Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2010-01-04 13:37:37 +00:00
mattijs
c6d4035ced Added master-slave addressing for coupled points.
- Rewrote globalPoints to use globalIndex class so now only transfers
single label instead of labelPair
- Added addressing in globalMeshData
    - from coupled master points to slave points
    -         ,,          edges     ,,    edges
    - from coupled points (master or slave) to uncoupled boundary faces
    -               ,,                    ,,                      cells
- See test/globalMeshData for simple test
2010-01-04 13:25:30 +00:00
graham
1fe32e3c48 Merge branch 'master' into cvm 2010-01-04 11:47:57 +00:00
Mark Olesen
e0ba4cbb02 Adjust line number before/after #calc{} scanner for improved error messages. 2010-01-03 21:45:32 +01:00
Mark Olesen
ebfdafad7f Add preliminary wmake rule for using CoCo/R. 2010-01-03 00:39:28 +01:00
Mark Olesen
d1a2be7872 Reorganize runTimeSelection to include new macros from calcEntry.
Added globalFunctionSelectionTables, staticMemberFunctionSelectionTables
2010-01-02 16:09:08 +01:00
Mark Olesen
cf91174880 Use global lookup tables for the calcEntry scalar functions.
Handle leading signs on functions etc.
2010-01-02 15:09:17 +01:00
Mark Olesen
f8147f5bb5 Add basic scalar functions to calcEntry. 2010-01-02 13:01:37 +01:00
graham
ff671ff1bb Merge branch 'master' into cvm
Conflicts:
	applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C
	applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
	src/Allwmake
	src/edgeMesh/Make/files
	src/edgeMesh/edgeMesh.C
	src/edgeMesh/edgeMesh.H
	src/edgeMesh/edgeMeshI.H
	src/edgeMesh/edgeMeshIO.C
	src/edgeMesh/featureEdgeMesh.C
	src/edgeMesh/featureEdgeMesh.H
	src/edgeMesh/featureEdgeMesh/featureEdgeMesh.C
	src/edgeMesh/featureEdgeMesh/featureEdgeMesh.H
	src/meshTools/searchableSurface/closedTriSurfaceMesh.C
	src/meshTools/searchableSurface/closedTriSurfaceMesh.H

Merged Mark's work on edgeMesh with my featureEdgeMesh.
2009-12-21 15:52:03 +00:00
Mark Olesen
c0d37d9a6b Merge commit 'OpenCFD/master' into olesenm 2009-12-21 15:06:31 +01:00
Mark Olesen
8bf3807c3e Update dictionary calcEntry testing for updated CoCo/R 2009-12-21 15:02:33 +01:00
Mark Olesen
ccdbf4735f Move CocoParserErrors.H template class into src/OpenFOAM/db/error 2009-12-21 14:14:30 +01:00
graham
d241c43ac7 Adding hard-coded tetraherdal solid inertia calculation. Can be used
in a similar way to calculate the inertia of cells.
2009-12-21 10:29:05 +00:00
Mark Olesen
438a83fc81 Update experimental dictionary #calc for new Coco pragmas 2009-12-21 09:28:17 +01:00
mattijs
3bfec62cee Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2009-12-17 15:55:21 +00:00
Mark Olesen
e434b51914 Add namespace qualifier to WarningIn, FatalErrorIn, etc. macros.
- Previously had just 'Warning' instead of '::Foam::Warning', which
  meant that an identically named class method would inadvertently be
  used - resulting in a compile failure.
2009-12-16 08:55:04 +01:00
Mark Olesen
a5217d7be3 Merge commit 'bundle/home' into olesenm 2009-12-16 08:08:23 +01:00
Mark Olesen
ad2204a818 Add in calcEntry as a very rough draft
- needs Coco/R 16 Dec 2009 version
2009-12-16 01:31:44 +01:00
mattijs
e325814c80 Test application for syncTools functionality 2009-12-15 16:00:47 +00:00
Mark Olesen
2760c3db5f Merge commit 'OpenCFD/master' into olesenm 2009-12-15 10:48:51 +01:00
Mark Olesen
bf2865a087 Add missing low-level peek() to ISstream. 2009-12-11 17:31:15 +01:00
Mark Olesen
497ec32ed8 Add missing low-level peek() to ISstream. 2009-12-11 17:31:15 +01:00
andy
d058c7ceb8 Added Polynomial class test 2009-12-10 12:50:20 +00:00
Mark Olesen
d2d39c32be HashSet and PackedList get an unset() method
- provides a convenient (and lazy) means of removing entries
2009-12-08 10:01:48 +01:00
Mark Olesen
16c715ceec Applied Mattijs' PackedList improvements
- resize with factor 2 as per DynamicList

Old insertion speed:
    1000000 in 0.61 s
    2000000 in 2.24 s
    3000000 in 3.97 s
    4000000 in 5.76 s
    5000000 in 7.54 s
    6000000 in 9.41 s
    7000000 in 11.5 s

New insertion speed:
    1000000 in 0.01 s
    2000000 in 0.02 s
    3000000 in 0.01 s
    4000000 in 0.02 s
    5000000 in 0.01 s
    6000000 in 0.01 s
    7000000 in 0.01 s
2009-12-08 09:42:38 +01:00
Mark Olesen
45f17a9e6c Merge commit 'OpenCFD/master' into olesenm 2009-12-07 10:41:19 +01:00
Mark Olesen
73f9f7f780 Remove legacy splines code and use CatmullRomSpline as 'spline'
- compatibility:
  * 'polySpline' and 'simpleSpline' accepted
  * detect and discard end tangent specifications

- a BSpline is also included (eg, for future support of NURBS), but is
  not selectable from blockMesh since it really isn't as nice as the
  Catmull-Rom (ie, doesn't *exactly* go through each point).
2009-12-07 06:54:06 +01:00
graham
e00078aa01 Merge branch 'master' into cvm
Conflicts:
	applications/test/momentOfInertia/Make/options
2009-12-04 18:00:52 +00:00
graham
f23e3eb3ea Changing linked library from finiteVolume to meshTools. 2009-12-04 17:11:30 +00:00
graham
70e00e93be Adding a function to calculate the moment of inertia of a triangle to
triangle, from:

http://en.wikipedia.org/wiki/Inertia_tensor_of_triangle

Adding the ability to calculate the inertia tensor of a polygon face
by summing the triangle inertias.

Added a test application to draw a test face with its principal
axes and moments of inertia.
2009-12-04 16:33:46 +00:00
graham
6b7dd8160d Adding a function to calculate the moment of inertia of a triangle to
triangle, from:

http://en.wikipedia.org/wiki/Inertia_tensor_of_triangle

Adding the ability to calculate the inertia tensor of a polygon face
by summing the triangle inertias.

Added a test application to draw a test face with its principal
axes and moments of inertia.
2009-12-04 16:33:46 +00:00
Mark Olesen
1b0cf102cc testing on fileName Istream construction 2009-12-04 16:22:59 +01:00
Mark Olesen
066b3158e7 quickly implemented BSpline2 as an alternative B-Spline implementation
- also looks reasonable and doesn't deviate much from Catmull-Rom
2009-12-04 15:34:42 +01:00
Mark Olesen
79b53a9c6c rename BSplineTest to splineTest and add Catmull-Rom to it
- the current B-Splines deliver rubbish
2009-12-04 12:54:15 +01:00
Mark Olesen
063d8edea1 PackedBoolList specializaton for operator=
- now that I re-examined the code, the note in commit 51fd6327a6
  can be mostly ignored

  PackedList isMaster(nPoints, 1u);
  is not really inefficient at all, since the '1u' is packed into
  32/64-bits before the subsequent assignment and doesn't involve
  shifts/masking for each index

  The same misinformation applies to the PackedList(size, 0u) form.
  It isn't much slower at all.

  Nonetheless, add bool specialization so that it is a simple assign.
2009-12-03 16:33:58 +01:00
Mark Olesen
67b79d9206 commit existing sizeof test 2009-12-03 14:40:12 +01:00
Mark Olesen
c091d856ae pedantic changes: 'forAll (' -> 'forAll(' in applications/
- to match coding guidelines
2009-12-03 14:12:08 +01:00
Mark Olesen
58b7e64185 Use argList::addOption, argList::addBoolOption (almost) everywhere
- ensure that the standard options (eg, from timeSelector) also have
  some usage information
2009-12-03 13:32:12 +01:00
Mark Olesen
c3457b5152 argList - specializations for optionRead<string> etc.
- new optionLookupOrDefault and additional form of optionReadIfPresent
  with a default value
2009-12-02 13:45:11 +01:00
Mark Olesen
a4f4a904f4 HashSet enhancement
- allow insert() and set() from a UList of Key
  This complements the existing erase(const UList<Key>&) method
2009-12-01 18:26:18 +01:00
Mark Olesen
28345f7e97 fixup #remove functionEntry and revert e15e32fdb7d515b
- forgot to use readList in removeEntry, which caused the test failure.

- remaining problem:

it doesn't work as might be expected
This is the problem:

dict
{
   foo xxx;
   bar yyy;
}

dict
{
   baz zzz;
   #remove foo
}

This only removes 'foo' from the current scope (the second dict), since
it occurs before the dictionary merge does.

To remove from the final, merged dictionary, we'd need a new
deleteEntry type that would do the right thing on the merge before
self-destructing (ie, removing itself too).
2009-12-01 13:50:51 +01:00
henry
80a27fb9da Removed the "#remove" statements which do not appear to work. 2009-12-01 12:04:28 +00:00
graham
ad669ae3d8 Merge branch 'master' into cvm
Conflicts:
	doc/codingStyleGuide.org
2009-11-30 14:55:39 +00:00
Mark Olesen
909e6b27e4 Apply coding style recommendations:
- space between keyword and bracket in 'for(..)', 'if(..)', 'while(..)'
2009-11-30 08:55:03 +01:00
Mark Olesen
fa93ce8cd7 coding style adherence
- markup codingStyleGuide.org examples so they actually indent correctly

- use 'Info<<' as per codingStyleGuide instead of 'Info <<'
2009-11-27 15:39:14 +01:00
graham
844685d29d Finished working version of templated Distribution class.
Changed the underlying map to be a Map<scalar> to allow the addition
of a value to the Distribution to be weighted (by timestep or by cell
size for example) component by-component - default weight is one.

Adding normalisation, write, mean snd median functions.

Test application DistributionTest draws numbers from the Random class
and creates distributions of them, writing to disk, for the main
types: scalar, vector, symmTensior, sphericalTensor and tensor.

Creating a labelVector distibution, but need to check what is
happening to the mean and median values and what happens when an odd
number is used as a binWidth, as truncation to label will be
occurring.
2009-11-23 12:22:13 +00:00
graham
a74f31aace Initial templated Distribution class where a distribution is
accumulated for each component of the template parameter.
2009-11-22 18:21:37 +00:00
henry
35c9d7bbd5 Corrected test applications. 2009-11-20 12:40:19 +00:00
mattijs
b7845edeba updated to new thermo 2009-11-13 16:09:27 +00:00
mattijs
cad5a703fc Merge branch 'olesenm' 2009-11-06 11:05:21 +00:00
mattijs
2268ea38a0 Added Container template argument for e.g. construct from faceList 2009-11-04 11:40:12 +00:00
Mark Olesen
ebe39c4ea4 Merge commit 'OpenCFD/master' into olesenm 2009-11-04 08:56:20 +01:00
Mark Olesen
53a9208d9f Merge commit 'bundle/home' into olesenm
Conflicts:
	src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.C
	src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.H
	tutorials/incompressible/simpleFoam/airFoil2D/Allclean
	tutorials/multiphase/settlingFoam/ras/tank3D/Allclean
2009-11-04 08:54:34 +01:00
mattijs
baea3d76a8 CompactListList to use offsets sized one beyond nRows 2009-11-03 18:04:24 +00:00
mattijs
fe17dd2d1f globalIndex to use procI+1 scheme 2009-11-03 18:02:52 +00:00
Mark Olesen
946aac500a HashTbl changes
- iterators store pointers instead of references to the HashTbl.
  This lets us use the default bitwise copy/assignment

- add empty constructor for iterators. It returns the equivalent to end().
  This lets us do this:
      HashTbl<label>::iterator iter;
      // some time later
      iter = find(Value);

- erase(const HashTbl<AnyType, Key, AnyHash>&) is now more generous.
  Only the Key type matters, not the hashing function.
2009-10-30 22:37:35 +01:00
Mark Olesen
1fbcb6e2c0 Added HashTbl::shrink() - but it only be useful in particular situations
- for the hashTableTest3, it seemed to slow things down a bit

loop 0 - Erased 100000 elements (size 2900000 capacity 4194304) 0.31 s
loop 1 - Erased 100000 elements (size 2800000 capacity 4194304) 0.01 s
loop 2 - Erased 100000 elements (size 2700000 capacity 4194304) 0 s
loop 3 - Erased 100000 elements (size 2600000 capacity 4194304) 0 s
loop 4 - Erased 100000 elements (size 2500000 capacity 4194304) 0.01 s
loop 5 - Erased 100000 elements (size 2400000 capacity 4194304) 0 s
loop 6 - Erased 100000 elements (size 2300000 capacity 4194304) 0 s
loop 7 - Erased 100000 elements (size 2200000 capacity 4194304) 0 s
loop 8 - Erased 100000 elements (size 2100000 capacity 4194304) 0.01 s
loop 9 - Erased 100000 elements (size 2000000 capacity 4194304) 0.44 s
loop 10 - Erased 100000 elements (size 1900000 capacity 4194304) 0.44 s
loop 11 - Erased 100000 elements (size 1800000 capacity 4194304) 0.39 s
loop 12 - Erased 100000 elements (size 1700000 capacity 4194304) 0.4 s
loop 13 - Erased 100000 elements (size 1600000 capacity 2097152) 0.15 s
loop 14 - Erased 100000 elements (size 1500000 capacity 2097152) 0.01 s
loop 15 - Erased 100000 elements (size 1400000 capacity 2097152) 0 s
loop 16 - Erased 100000 elements (size 1300000 capacity 2097152) 0 s
loop 17 - Erased 100000 elements (size 1200000 capacity 2097152) 0.01 s
loop 18 - Erased 100000 elements (size 1100000 capacity 2097152) 0 s
loop 19 - Erased 100000 elements (size 1000000 capacity 2097152) 0.27 s
loop 20 - Erased 100000 elements (size 900000 capacity 2097152) 0.2 s
loop 21 - Erased 100000 elements (size 800000 capacity 1048576) 0.1 s
loop 22 - Erased 100000 elements (size 700000 capacity 1048576) 0 s
loop 23 - Erased 100000 elements (size 600000 capacity 1048576) 0 s
loop 24 - Erased 100000 elements (size 500000 capacity 1048576) 0.12 s
loop 25 - Erased 100000 elements (size 400000 capacity 524288) 0.04 s
loop 26 - Erased 100000 elements (size 300000 capacity 524288) 0.01 s
loop 27 - Erased 100000 elements (size 200000 capacity 262144) 0.02 s
loop 28 - Erased 100000 elements (size 100000 capacity 131072) 0.02 s
loop 29 - Erased 100000 elements (size 0 capacity 2) 0 s
2009-10-30 19:28:39 +01:00
Mark Olesen
2c73afb6ec HashTbl avoid backward search in erase()
- The ideas as discussed in email

- The speedup is really there.

Before
loop 0 - Erased 100000 elements:   3.82 s
loop 1 - Erased 100000 elements:   11.45 s
loop 2 - Erased 100000 elements:   19.46 s
loop 3 - Erased 100000 elements:   27.73 s
loop 4 - Erased 100000 elements:   38.74 s
^C

After
loop 0 - Erased 100000 elements (size 2900000 capacity 8388608) 0.01 s
loop 1 - Erased 100000 elements (size 2800000 capacity 8388608) 0 s
loop 2 - Erased 100000 elements (size 2700000 capacity 8388608) 0.01 s
loop 3 - Erased 100000 elements (size 2600000 capacity 8388608) 0 s
loop 4 - Erased 100000 elements (size 2500000 capacity 8388608) 0 s
loop 5 - Erased 100000 elements (size 2400000 capacity 8388608) 0 s
loop 6 - Erased 100000 elements (size 2300000 capacity 8388608) 0 s
loop 7 - Erased 100000 elements (size 2200000 capacity 8388608) 0 s
...
2009-10-30 18:54:51 +01:00
Mark Olesen
55a89e9db3 added HashTbl as development replacement for HashTable
- rename to HashTable later when it is considered stable
2009-10-30 18:31:28 +01:00
mattijs
02e73e2530 Merge branch 'master' of /home/hunt2/mattijs/OpenFOAM/OpenFOAM-dev/. 2009-10-27 16:44:41 +00:00
Mark Olesen
c100ffc957 Merge commit 'OpenCFD/master' into olesenm
Conflicts:
	src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.C
	src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.H
	src/mesh/blockMesh/curvedEdges/BSpline.C
	src/mesh/blockMesh/curvedEdges/spline.C
	src/mesh/blockMesh/curvedEdges/spline.H

- Also adjusted chemistrySolver/EulerImplicit/EulerImplicit.C
  to use simpleMatrix with initialized values
2009-10-27 08:29:33 +01:00
Mark Olesen
2b7dee2c8b add applications/test/BSpline - it fails! 2009-10-26 13:14:40 +01:00
mattijs
9a139812ed Merge branch 'master' of /home/hunt2/mattijs/OpenFOAM/OpenFOAM-dev/. 2009-10-26 09:59:18 +00:00
mattijs
46f1df810c unallocated Pstream 2009-10-26 09:59:07 +00:00
henry
427bbd8174 Changed the interface for the upToDate check to avoid unnecessary object lookups
by providing the independent objects directly.
2009-10-20 22:17:37 +01:00
henry
dfd82248e2 First level of support for cached temporary fields. 2009-10-20 18:30:55 +01:00
andy
a8f7488e0f Merge branch 'olesenm' 2009-10-13 12:39:35 +01:00
henry
e9da288118 Reverted the Americanism "math" back to the original "mathematical" and reverted name of
the include file back to mathematicalConstants.H to make upgrading code slightly easier.
2009-10-10 22:58:58 +01:00
Mark Olesen
f7d9174738 Merge commit 'OpenCFD/master' into olesenm 2009-10-08 16:50:34 +02:00
mattijs
88e0887a47 fix indentation 2009-10-08 15:09:47 +01:00
Mark Olesen
c45ea2c4f1 reworked stringListOps to improve the flexibility
- added subsetStrings and inplaceSubsetString

- added class wordReListMatcher to wrap a match() for a UList<wordRe>
2009-10-08 11:32:26 +02:00
mattijs
2e558acf65 TypeName instead of ClassName 2009-09-22 15:24:59 +01:00
mattijs
791b5aaeaa replacing isType with isA to enable directMappedWall to work 2009-09-15 17:51:59 +01:00
andy
8dcea0f8cd using new constant definitions 2009-08-28 18:04:22 +01:00
mattijs
5c90c347f9 mapDistribute non-blocking of non-contiguous data 2009-08-13 17:28:33 +01:00
mattijs
601f2831ec Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2009-08-11 23:08:34 +01:00
mattijs
638c52120e test app for passiveParticle 2009-08-11 22:53:47 +01:00
Mark Olesen
c832d635b1 ISstream::read improvements
- following Andy's idea to return values as label whenever possible
      eg, 1.2e6 -> 1200000
  but left it commented out

- avoid buffer overflow in ISstream::read(word&).
  Is the 'if (fail())' check itself actually in the correct place??

- other minor cosmetic changes
2009-08-11 11:55:46 +02:00
Mark Olesen
8a884892bc version tokenize scalar that stops reading on invalid input 2009-08-10 15:30:48 +02:00
Mark Olesen
7d30766d18 consistency update BiIndirectList, IndirectList
- allow construct with Xfer container for the addressing

- Replaced non-const addressing() method in BiIndirectList with
  resetAddressing() method as per IndirectList
2009-08-10 11:08:35 +02:00
Mark Olesen
df90d1abf8 Merge commit 'OpenCFD/master' into olesenm 2009-08-07 15:09:02 +02:00
andy
85f11fa7cc added sortedToc() 2009-08-06 17:43:39 +01:00
Mark Olesen
5872f2a7e6 added test/ensightFoamReader with udr_checker.c from ensight80
- it looks okay to include: same copyrights as the other ensight headers
2009-08-06 15:34:55 +02:00
henry
1e6e335f5b Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-08-04 10:13:06 +01:00
henry
268574393a Removed orphaned files. 2009-08-04 10:12:25 +01:00
Mark Olesen
b8c4e1f49e added proof-of-concept test/fvSolutionCombine
- could also move to utilities/miscellaneous

- the dictionary compare contents might be useful enough to move
  into dictionary code.

- usage example (w/o -rewrite):

      for i in $(find -name fvSolution)
      do
          fvSolutionCombine -case "${i%/system/fvSolution}"
      done
2009-08-01 13:03:49 +02:00
Mark Olesen
655608678e Merge commit 'OpenCFD/master' into olesenm 2009-07-27 08:31:06 +02:00
Mark Olesen
35986a3972 implement fileName::clean() method
* remove repeated slashes
      /abc////def        -->   /abc/def

* remove '/./'
      /abc/def/./ghi/.   -->   /abc/def/./ghi
      abc/def/./         -->   abc/def

* remove '/../'
      /abc/def/../ghi/jkl/nmo/..   -->   /abc/ghi/jkl
      abc/../def/ghi/../jkl        -->   abc/../def/jkl

* remove trailing '/'
2009-07-25 20:40:52 +02:00
Mark Olesen
f8d87e2ab4 first implementation of filename clean method
- test as independent application first
2009-07-25 20:32:29 +02:00
henry
816f6b3488 Updated the headers. 2009-07-24 17:01:31 +01:00
Mark Olesen
2ec8908377 bugfix PackedList for non-optimized compilation
- use shift-right instead of shift-left formulation to avoid wrong behaviour
  with non-optimized compilation when the packed items fit exactly in the
  available number of bits.
2009-07-23 22:46:52 +02:00
Mark Olesen
ceaaabab56 bugfix PackedList for non-optimized compilation
- use shift-right instead of shift-left formulation to avoid wrong behaviour
  with non-optimized compilation when the packed items fit exactly in the
  available number of bits.
2009-07-23 22:46:52 +02:00
Mark Olesen
6c9f2520e1 added another PackedListTest 2009-07-23 15:36:46 +02:00
Mark Olesen
0b7832e37c qualify exported FOAM_CASE
- avoid ambiguities caused by relative paths
2009-07-23 09:43:05 +02:00
Mark Olesen
4f6f570d6d versatility improvement: #includeIfPresent dictionary directive
- similar to the #include directive, but does not generate an error if the
  file does not exist.

Note: opted for an explicit naming #includeIfPresent rather than #cinclude
2009-07-21 08:44:25 +02:00
Mark Olesen
8ff026095d added mvBak() to POSIX
- Rename to a corresponding backup file
  If the backup file already exists, attempt with "01" .. "99" suffix.

- git ignore indexed backup files too
2009-07-20 11:04:48 +02:00
henry
94b8290593 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-06-23 20:44:29 +01:00
henry
fc608c0594 Better speed test with indirect addressing. 2009-06-23 20:44:27 +01:00
mattijs
7dd1530497 testapp for DynamicField 2009-06-22 10:29:10 +01:00
andy
6a9dfcdc82 merge of thermo branch into master 2009-06-19 13:21:55 +01:00
mattijs
72ac1c7328 ptrList test app replaced by PtrList test app 2009-06-19 12:02:10 +01:00
andy
9af9f9c478 merging master into local branch 2009-06-11 17:29:19 +01:00
andy
c3c36e6b16 updated name change of combustion->reaction lib 2009-06-10 19:37:52 +01:00
mattijs
6cd9e92d45 new test app 2009-06-08 17:59:02 +01:00
mattijs
fd17f2bdb7 test application for extended stencils 2009-06-04 17:30:57 +01:00
Mark Olesen
724b034cc7 argList enhancement: added convenience methods for accessing options
Oriented somewhat on dictionary methods.

Return the argument string associated with the named option:
    Info<< "-foo: " << args.option("foo") << nl;

Return true if the named option is found
    if (args.optionFound("foo")) ...

Return an IStringStream to the named option
    old:      value = readScalar(IStringStream(args.options()["foo"])());
    newer:    value = readScalar(args.optionLookup("foo")());
    also:     List<scalar> lst(args.optionLookup("foo")());

Read a value from the named option
    newest:   value = args.optionRead<scalar>("foo");

Read a value from the named option if present.
    old:  if (args.options().found("foo"))
          {
              value = readScalar(IStringStream(args.options()["foo"])());
          }
    new:  args.optionReadIfPresent("foo", value);

Read a List of values from the named option
    patches = args.optionReadList<word>("patches");

Didn't bother adding optionReadListIfPresent<T>(const word&), since it
probably wouldn't be common anyhow.
2009-05-19 18:19:49 +02:00
Mark Olesen
a0a9cd3366 introduce readList<T> function
- Read a bracket-delimited list, or handle a single value as list of size 1.
  Mostly useful for handling command-line arguments.
  eg,
      if (args.options().found("patches"))
      {
          patches = readList<word>(IStringStream(args.options()["patches"])());
      }
  can handle both of these:
      -patches  patch0
      -patches \( patch1 patch2 patch3 \)
2009-05-18 12:05:52 +02:00
Mark Olesen
20c1a673e7 'rebrand' OSspecific Unix -> POSIX
- change name of environment variable from $WM_OS -> $WM_OSTYPE
  as a better description
2009-05-18 10:26:11 +02:00
Mark Olesen
19d951ce86 minor cleanup of turbulence models
- added constructor dictionary(const dictionary*) that also handles NULL
  pointers and makes it convenient to construct from a possibly nonexistent
  sub-dictionary:
  eg,
      dictionary dict2(dict1.subDictPtr("someDict"));

- make some of the turbulence Coeffs sub-dictionary optional.
  Their contents are all 'lookupOrAddDefault' anyhow.

- in turbulentMixingLength BCs, skip namespace qualifier in template
  (eg, <RASModel> vs. <compressible::RASModel>)

- change comments from 'turbulenceProperties' to RASProperties/LESProperties

- consistency between compressible/incompressible - no separate file for
  'New' selector etc

- consistency in accessing the model coefficients.
  Use method coeffDict() for const access.
  Use protected data member coeffDict_ for read/write access.

- document model coefficients in etc/constant/RASProperties.
  Need the same for LESProperties before we can prune these from the
  tutorials.
2009-05-08 17:27:42 +02:00
Mark Olesen
6e10b0defd adjusted dictionary #inputMode directive
- #inputMode error
  now issues a FatalError on duplicate entries

- #inputMode warn
  issues a warning on duplicate entries, corresponds to the
  old behaviour of 'error'

- #inputMode protect
  prevents overwriting existing entries

The 'protect' mode provides a simple mechanism for supplying default values.
eg,
    in file1:
        #inputMode  protect
        intensity       0.1;
        mixingLength    0.005;
        #inputMode  merge

        inlet
        {
            type        turbulentIntensityKineticEnergyInlet;
            intensity   $intensity;
        }

    which is included from file2:

        intensity   0.05;
        #include    "file1"
2009-05-05 13:18:29 +02:00
Mark Olesen
48247a3d62 consistency update
- DynamicList gets append methods as per List
- misc cosmetic changes
2009-04-27 10:08:29 +02:00
Mark Olesen
6ce8e7d0c0 added List::append() methods 2009-04-22 16:11:52 +02:00
Mark Olesen
81cce6950a Merge commit 'OpenCFD/master' into olesenm 2009-03-18 14:49:37 +01:00
mattijs
f6a7d95124 interpolation mesh objects 2009-03-16 10:45:27 +00:00
Mark Olesen
e45dc31892 UIndirectList output operator
- TODO: binary output is still a bit silly
2009-03-16 11:14:31 +01:00
Mark Olesen
fb1e155eed Merge commit 'OpenCFD/master' into olesenm 2009-03-16 08:28:08 +01:00
mattijs
0128b2be68 UIndirectList 2009-03-12 19:25:21 +00:00
mattijs
6c387489d7 subset constructor 2009-03-12 15:59:27 +00:00
Mark Olesen
b968e62ef9 objectRegistry fixes
- objectRegistry gets a rename() that also adjusts the dbDir
- cloud reworked to use static variables subInstance and defaultName.
  This avoids writing "lagrangian" everywhere

string fixes
- avoid masking of std::string::replace in string.H
- avoid old strstream in PV3FoamReader
2009-03-06 15:18:00 +01:00
Mark Olesen
9ce984d1dc added edge/triFace to the hashing tests 2009-03-05 12:39:22 +01:00
Mark Olesen
7544164d53 regIOobject, Hasher, IOobject tweak
- regIOobject: don't re-register an unregister object on rename/assignment
- Hasher: split-off HasherInt with uint32_t specializations
- IOobject: writeBanner/writeDivider return Stream for easier chaining.

... also dropped some namespace bracketing while I was at it.
2009-03-05 12:06:57 +01:00
Mark Olesen
17548296be Switched from old hashing functions to use Bob Jenkins' hash routine
- If the underlying type is contiguous, FixedList hashes its storage directly.
- Drop labelPairHash (non-commutative) from fvMeshDistribute since
  FixedList::Hash does the right thing anyhow.
- Hash<edge> specialization is commutative, without multiplication.
- Hash<triFace> specialization kept multiplication (but now uLabel).
  There's not much point optimizing it, since it's not used much anyhow.

Misc. changes

- added StaticAssert to NamedEnum.H
- label.H / uLabel.H : define FOAM_LABEL_MAX, FOAM_ULABEL_MAX with the
  values finally used for the storage.  These can be useful for pre-processor
  checks elsewhere (although I stopped needing them in the meantime).
2009-03-04 10:50:14 +01:00
Mark Olesen
44a86232af Added Jenkin's hash functions in C++ form
- not much speed difference between SuperFastHash and Jenkin's lookup3 but
  both are 5-10% faster than what is currently implemented in Foam::string,
  albeit inlining probably helps there.

- TODO: integration with existing infrastructure
2009-03-02 19:57:17 +01:00
Mark Olesen
106d417de0 StaticAssert added
- catch people using silly template sizes for FixedList, PackedList
2009-02-27 16:41:51 +01:00
Mark Olesen
dbc9b7427a PackedList iterator bugfix
- compare iteratorBase == iteratorBase by value, not position
  thus this works
      list[a] == list[b] ...

- compare iterator == iteratorBase and const_iterator == iteratorBase
  by position, not value. The inheritance rules means that this works:
      iter == list.end() ...
  this will compare positions:
      iter == list[5];
  Of course, this will still compare values:
      *iter == list[5];
2009-02-27 13:43:43 +01:00
Mark Olesen
2aeee852e8 PackedList bugfix, HashTable tweak
- it was possible to create a PackedList::iterator from a
  PackedList::const_iterator and violate const-ness

- added HashTable::printInfo for emitting some information

- changed default table sizes from 100 -> 128 in preparation for future
  2^n table sizes
2009-02-26 15:32:47 +01:00
Mark Olesen
e562aecb73 HashTable performance: find(), found() check nElmts_ instead of tableSize_
- much better performance on empty tables (4-6x speedup), neutral
  performance change on filled tables. Since tableSize_ is non-zero when
  nElmts_ is, there is no modulus zero problem.
2009-02-25 18:58:48 +01:00
Mark Olesen
4b60453cf1 use while (runTime.loop() { .. } where possible in solvers
- change system/controlDict to use functions {..} instead of functions (..);
  * This is internally more efficient
- fixed formatting of system/controlDict functions entry

- pedantic change: use 'return 0' instead of 'return(0)' in the applications,
  since return is a C/C++ keyword, not a function.
2009-02-18 08:57:10 +01:00
Mark Olesen
c2256e51f3 change solvers, utilities, etc. to use while (..) time-looping idiom
- this (now deprecated) idiom:
      for (runTime++; !runTime.end(); runTime++) { ... }
  has a few problems:
    * stop-on-next-write will be off-by-one (ie, doesn't work)
    * function objects are not executed on exit with runTime.end()
  Fixing these problems is not really possible.

- this idiom
      while (runTime.run())
      {
          runTime++;
          ...
      }
  works without the above problems.
2009-02-17 08:47:42 +01:00
Mark Olesen
28872c4432 moved SHA1::Digest class to SHA1Digest to allow forward declarations 2009-02-11 10:34:45 +01:00
Mark Olesen
adfd825441 SHA1, dictionary improvements
- added class OSHA1stream for a stream-based calculation method
- dictionary gets digest() method
- dictionaryEntry tweak: avoid trailing space after dictionary keyword
2009-02-11 00:46:01 +01:00
Mark Olesen
8e3b458231 added SHA1 class 2009-02-10 13:58:00 +01:00
Mark Olesen
69918f23c5 consistency update
- OSspecific: chmod() -> chMod(), even although it's not used anywhere

- ListOps get subset() and inplaceSubset() templated on BoolListType

- added UList<bool>::operator[](..) const specialization.
  Returns false (actually pTraits<bool>::zero) for out-of-range elements.
  This lets us use List<bool> with lazy evaluation and no noticeable
  change in performance.

- use rcIndex() and fcIndex() wherever possible.
  Could check if branching or modulus is faster for fcIndex().

- UList and FixedList get 'const T* cdata() const' and 'T* data()' members.
  Similar to the STL front() and std::string::data() methods, they return a
  pointer to the first element without needing to write '&myList[0]', recast
  begin() or violate const-ness.
2009-02-06 20:43:09 +01:00
Mark Olesen
fe6a83a3a8 moved fileName::IOobjectComponents -> IOobject::fileNameComponents 2009-01-30 09:06:47 +01:00
Mark Olesen
1f6733d91d PackedList - activated lazy evaluation
- moving back to original flat addressing in iterators means there is no
  performance issue with using lazy evaluation
- set() method now has ~0 for a default value.
  We can thus simply write 'set(i) to trun on all of the bits.
  This means we can use it just like labelHashSet::set(i)
- added flip() method for inverting bits. I don't know where we might need
  it, but the STL has it so we might as well too.
2009-01-30 00:07:53 +01:00
Mark Olesen
4e56643efe PackedList improvements
- dropped auto-vivification for now (performance issue), but reworked to
  allow easy reinstatement
- derived both iterator and const_iterator from iteratorBase and use
  iteratorBase as our proxy for non-const access to the list elements.
  This allows properly chaining assignments:
     list[1] = list[2];
     list[1] = list[2] = 10;
- assigning iterators from iteratorBase or other iterators works:
     iterator iter = list[20];
- made template parameter nBits=1 the default
2009-01-29 14:03:53 +01:00
Mark Olesen
7c739978b1 PackedList gets count() and trim() methods
- the bit counting is relatively fast:
  under 0.2 seconds for 1M bits counted 1000 times

- trim()'ing the final zero elements tested for a few cases,
  but might need more attention
2009-01-28 16:32:47 +01:00
Mark Olesen
c6e9b323f5 added HashSet::operator[]() const
- can use the same syntax for boolList, PackedBoolList and labelHashSet
    if (myHashedSet[x]) ...
    if (myBoolList[x]) ...
    if (myPackedList[x]) ...
2009-01-27 21:55:03 +01:00
Mark Olesen
defe13e205 fileName gets additional convenience methods
- exists() = forward to OSspecific exists(...)
- isDir()  = forward to OSspecific dir(...)
- isFile() = forward to OSspecific file(...)
- IOobjectComponents() - split into instance, local, name following rules
  set out for IOobject.

- added IOobject(path, registry, ...) constructor that uses
  fileName::IOobjectComponents(). This hides the complexity we otherwise need.
2009-01-27 13:28:45 +01:00
Mark Olesen
94dc33da2e Merge commit 'bundle/home' into olesenm 2009-01-26 08:28:15 +01:00
Mark Olesen
84ec272d23 PackedList changes
- added Mattijs' speed tests
- optimized resize() and assignment operators to avoid set() method
- add const_iterator and re-did the proxy handling.

Reading/writing by looping across iterators is still somewhat slow, but
might be acceptable.
2009-01-26 00:33:28 +01:00
Mark Olesen
ce14f243c6 Removed handling of single-quoted strings. 2009-01-23 15:17:01 +01:00
Mark Olesen
cc4cd0a171 PackedList: encapsulate calculations in an iterator
- eliminated previous PackedBitRef class, the iterator does all of that and
  can also be used to (forward) traverse the list
- no const_iterator yet

- Note that PackedList is also a bit like DynamicList in terms of storage
  management and the append() method. Since the underlying storage in
  integer, any auto-vivified elements will also flood-fill the gaps with
  zero.
2009-01-23 01:40:55 +01:00
Mark Olesen
173607fd2d PackedList gets functionality akin to DynamicList 2009-01-22 16:24:05 +01:00
Mark Olesen
6d57bb4e7b added PackedBoolList typedef (used everywhere) and improved PackedList
- new members:  capacity(), two-argument resize()/setSize(), const storage()
- new static members: max_value(), packing(), etc.
2009-01-21 11:30:10 +01:00
Mark Olesen
d9096c1e47 cosmetics 2009-01-20 17:14:53 +01:00
Mark Olesen
96751f7e02 Applied Mattijs' DynamicList copy constructor patch 2009-01-19 14:31:31 +01:00
Mark Olesen
f0341171ff renamed 'empty' class to 'nil', added missing empty() member to some containers 2009-01-09 13:10:10 +01:00
Mark Olesen
990a9e7f57 added HashTable::erase(const HashTable&) method 2009-01-09 09:35:53 +01:00
Mark Olesen
0061e9ed03 added Foam::FOAMbuild to Foam::FOAMversion
- avoids problems with finding files based on FOAMversion
  (reported by Mattijs)
2009-01-09 09:11:50 +01:00
Mark Olesen
7ae9a0d0d9 added tiny applications/test/foamVersion/foamVersionString.C 2009-01-08 14:48:48 +01:00
Mark Olesen
3c5852ebfc reworked regExp + wordRe a bit, minor change to keyType
regExp:
- added optional ignoreCase for constructor.
- the compile() methods is now exposed as set(...) method with an optional
  ignoreCase argument.  Not currently much use for the other regex compile
  flags though. The set() method can be used directly instead of the
  operator=() assignment.

keyType + wordRe:
- it's not clear that any particular characters are valid/invalid (compared
  to string or word), so just drop the valid(char) method for now

wordRe:
- a bool doesn't suffice, added enum compOption (compile-option)
- most constructors now have a compOption. In *all* cases it defaults to
  LITERAL - ie, the same behaviour for std::string and Foam::string
- added set(...) methods that do much the same as operator=(...), but the
  compOption can be specified.  In all cases, it defaults to DETECT.

 In Summary
    By default the constructors will generally preserve the argument as
    string literal and the assignment operators will use the wordRe::DETECT
    compOption to scan the string for regular expression meta characters
    and/or invalid word characters and react accordingly.

    The exceptions are when constructing/assigning from another
    Foam::wordRe (preserve the same type) or from a Foam::word (always
    literal).
2009-01-05 17:02:58 +01:00
Mark Olesen
19503c93e1 rename xfer<T> class to Xfer<T>
- The capitalization is consistent with most other template classes, but
  more importantly frees up xfer() for use as method name without needing
  special treatment to avoid ambiguities.

  It seems reasonable to have different names for transfer(...) and xfer()
  methods, since the transfer is occuring in different directions.
  The xfer() method can thus replace the recently introduced zero-parameter
  transfer() methods.
  Other name candidates (eg, yield, release, etc.) were deemed too abstract.
2009-01-05 12:30:19 +01:00
Mark Olesen
461ac4b4cc regExp - separate full match from partial match, add find()
- match() only does a full match
  - find() and search() do partial matches
    search() is similar to the name coming into C++ TR1
2009-01-05 09:37:52 +01:00
Mark Olesen
2717aa5c7d new wordRe class - a word that holds a regExp
- a possible future replacement for keyType, but the immediate use is the
    wordReList for grepping through other lists.
  - note that the argList treatment of '(' ... ')' yields quoted strings,
    which we can use for building a wordReList

minor cleanup of regExp class

  - constructor from std::string, match std::string and
    operator=(std::string&)
    rely on automatic conversion to Foam::string
  - ditch partialMatch with sub-groups, it doesn't make much sense
2009-01-04 00:33:27 +01:00
Mark Olesen
1d866d7fe8 reworked IOstreams
- Istream and Ostream now retain backslashes when reading/writing strings.
  The previous implementation simply discarded them, except when used to
  escape a double-quote or a newline. It is now vitally important to retain
  them, eg for quoting regular expression meta-characters.

  The backslash continues to be used as an escape character for double-quote
  and newline, but otherwise get passed through "as-is" without any other
  special meaning (ie, they are *NOT* C-style strings). This helps avoid
  'backslash hell'!
  For example,
     string:   "match real dots \.+, question mark \? or any char .*"
     C-style:  "match real dots \\.+, question mark \\? or any char .*"

- combined subfiles in db/IOstreams, some had more copyright info than code
- OPstreamI.H contained only private methods, moved into OPstream.C

Are these really correct?
   IOstreams/Istream.H:#   include "HashTable.C"
   token/token.H:#define NoHashTableC
2009-01-03 12:52:27 +01:00
Mark Olesen
cf488912bb added xfer<...> transfer() method to various containers
- this should provide a slightly more naturally means to using transfer
  constructors, for example
          labelList list2(list1.transfer());
      vs. labelList list2(xferMove(list1));

- returns a plain list where appropriate (eg, DynamicList, SortableList)
  for example
          labelList list2(dynList1.transfer());
      vs. labelList list2(xferMoveTo<labelList>(dynList1));
2009-01-02 15:54:51 +01:00
Mark Olesen
5e90a0ddc9 dictionary gets xfer constructor and transfer() method(s) 2009-01-02 15:50:32 +01:00
Mark Olesen
a010121427 HashTable / StaticHashTable changes
StaticHashTable:
- erase(iterator&) now actually alters the iterator and iterator++() handles
  it properly
- clear() also sets count to zero
- operator=(const StaticHashTable&) doesn't crash after a previous transfer
- operator(), operator==() and operator!=() added

HashTable:
- operator=(const HashTable&) gets tableSize if required, eg, after a
  previous transfer)

HashSet / Map
- add xfer<...> constructor for underlying HashTable
2009-01-02 13:24:30 +01:00
Mark Olesen
28b200bcd9 update copyrights for 2009 2008-12-31 19:01:56 +01:00
Mark Olesen
79e9a90c0e reworked functionObjectList to use PtrList
- This was originally plan 'B', but it is actually probably more efficient
  than using PtrDictionary anyhow.
- straightened out the return value logic, but it wasn't being used anywhere
  anyhow.
- new 'updated_' data member avoids inadvertent execution in the read()
  method when execution is turned off.
2008-12-19 09:29:58 +01:00
Mark Olesen
61187dfedb updated DictionaryTest to test transfer() and remove()
- PtrDictionary and remove(const word&) does not seem to work
2008-12-18 16:54:35 +01:00
Mark Olesen
94a6462058 update/remove some tests from applications/test 2008-12-18 10:00:03 +01:00
Mark Olesen
a43b7a916e handle NULL pointer in regExp 2008-12-18 09:30:06 +01:00
Mark Olesen
239c31f30f DictionaryBase gets transfer() method 2008-12-17 12:36:55 +01:00
Mark Olesen
0571f5393e rename Foam::dotFoam() -> Foam::findEtcFile() with an optional 'mandatory' argument
- if mandatory is true, findEtcFile() will abort with a message (via cerr).
  This allows a non-existent file to be caught at the lowest level and avoid
  error handling in IFstream, which might not be initialized at that stage.
2008-12-12 19:16:32 +01:00
Mark Olesen
7473adc89c writeKeyword spacing for keyType, misc cosmetics changes 2008-12-10 23:00:39 +01:00
Mark Olesen
c6cf2e539a - dropped regularExpression in favour of regExp
- moved findStrings from stringList to new stringListOps
  (helps reduce the influence on dependencies)
- findStrings can also do partial matches
2008-12-10 14:29:19 +01:00
Mark Olesen
4aaa07cc14 cosmetic changes 2008-12-10 13:34:52 +01:00
Mark Olesen
d017697b04 regExp class added - enhanced and with minor bugfixes 2008-12-10 12:44:12 +01:00
Mark Olesen
e2d140fa94 timeSelector: improved functionality
- the improved side-effect of enabling -zeroTimea alters default selection
  behaviour and -latestTime selection behaviour for utilities in which
  accidentally using the 0/ directory can cause damage (eg, reconstructPar)
- can combine -time ranges and -latestTime
2008-12-10 09:14:00 +01:00
Mark Olesen
9a0a0d051e a few tests targeted to FOAM_APPBIN instead of FOAM_USER_APPBIN 2008-12-09 18:59:48 +01:00
Mark Olesen
d0795abc51 Merge commit 'bundle/home' into olesenm 2008-12-09 09:11:26 +01:00
Mark Olesen
cabb079f56 small changes to dictionaryTest to test regexs 2008-12-08 20:46:56 +01:00
Mark Olesen
a13f97d59d timeSelector - handle cases with missing constant/ or 0/ directories 2008-12-02 15:55:51 +01:00
Mark Olesen
dee34f2775 DynamicList: cosmetics
- using SizeInc to define the granularity in the SizeMult=0 needed?
2008-11-29 13:11:52 +01:00
Mark Olesen
b30a6faf2c Merge commit 'OpenCFD/master' into olesenm 2008-11-28 18:06:40 +01:00
Mark Olesen
7e2a940dfb SortableList + ListOps changes
- dropped setSize() in favour of List::setSize().
  The size of the indices is set in sort() anyhow and undefined before that.
- added reverseSort() method
- added ListOps uniqueOrder() and duplicateOrder()
2008-11-25 11:52:38 +01:00
mattijs
1cff9e5409 merge 2008-11-24 16:42:44 +00:00
Mark Olesen
41bbcb6337 DynamicList changes.
- setSize() adjusts the addressable length only.
  Changed setSize(label) usage to setCapacity(label) or reserve(label)
  throughout. The final name (capacity vs. storageSize() vs. whatever) can
  easily be decided at a later date.
- added setSize(label, const T&), which may still not be really useful, but
  is at least now meaningful
- made shrink() a bit more legible.
- added append(UList<T>&)
- copying from a UList avoids reallocations where possible

The following bits of code continue to use the DynamicList::setSize(), but
appear to be legitimate (or the corresponding code itself needs rethinking).

  src/OpenFOAM/meshes/primitiveMesh/primitiveMeshPointCells.C:167: error: within this context
  src/OpenFOAM/lnInclude/faceTemplates.C:44: error: within this context
  src/surfMesh/surfaceFormats/tri/TRIsurfaceFormatCore.C:178: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:737: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:741: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:745: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:749: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:754: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:935: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:940: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:1041: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:1046: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2161: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2162: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2201: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2205: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2261: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2262: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2263: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2264: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:2265: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:3011: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:3076: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:3244: error: within this context
  src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C:3371: error: within this context
  src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C:73: error: within this context
  src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C:91: error: within this context
  src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C:73: error: within this context
  src/dynamicMesh/meshCut/cellLooper/topoCellLooper.C:91: error: within this context
2008-11-24 17:22:37 +01:00
Mark Olesen
b7e349a727 Merge commit 'bundle/home' into olesenm 2008-11-24 08:44:47 +01:00
Mark Olesen
a8550cd0ba List - adjusted transfer(DynamicList) and added transfer(SortableList) 2008-11-23 16:08:28 +01:00
henry
870fbd14e7 Added description. 2008-11-23 11:54:54 +00:00
Mark Olesen
129e16f975 DynamicList improvements/disambiguities
* DynamicList::allocSize(label)
  - Adjust the allocated size. The addressed list can be truncated but not
    extended, use setSize() for that.

* DynamicList::reserve(label)
  - Reserve allocation for *at least* this number of elements.
    Never shrinks the allocated size, nor touches the addressed list size.

* DynamicList::setSize(label)
  - proposed behaviour:
    Adjust the addressed list size, allocating extra space if required.
  - The current behaviour is ambiguous about what addressable size will
    actually get set and using it to extend the addressable size (as
    per List) automatically shrinks the allocated space to this size!
2008-11-23 12:17:11 +01:00
mattijs
b352c06f0f Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2008-11-21 15:19:25 +00:00
Mark Olesen
110e9989b9 further HashSet improvements
- added global operator|, operator& and operator^
 - can construct from table of contents of another HashTable
2008-11-19 12:37:37 +01:00
Mark Olesen
cf7762c2b2 Merge commit 'bundle/home' into olesenm 2008-11-19 10:33:13 +01:00
Mark Olesen
4645e93f8b SortableList improvements
- now works as expected with transfer() and assignment from other Lists
  - shrink() method : clears indices and returns underlying List
2008-11-19 10:28:21 +01:00
Mark Olesen
1c9102dada HashSet gets additional operators
- operator+=  : add in the listed keys
 - operator-=  : remove the listed keys
 - operator&=  : intersection of keys
 - added xfer constructor (just in case)
 - moved labelHashSet typedef to HashSet.H, for consistency with the
   wordHashSet typedef being there and since it is used so often
2008-11-18 23:11:09 +01:00
mattijs
340fcebaed demonstrate wildcard 2008-11-18 21:08:03 +00:00
Mark Olesen
60d1734564 add xferCopyTo and xferMoveTo functions 2008-10-23 09:56:21 +02:00
Mark Olesen
342b1847c7 added xfer<> constructors for meshShapes 2008-10-22 13:15:25 +02:00
Mark Olesen
20d3c10bb2 DynamicList bugfixes
- transfer(DynamicList&) now preserves the allocated space as-is
  - operator=(const List&) should now avoid spurious allocation/deallocation
2008-10-21 09:58:36 +02:00
Mark Olesen
bb5bc16457 minor changes to test/DynamicListTest.C 2008-10-20 14:32:28 +02:00
Mark Olesen
91cb6d2912 xfer class modifications:
- removed operator* in favour of operator() for consistency with tmp
    class. The previous use of operator() for const casting didn't work
    anyhow due to template confusion.
  - added xferCopy(), xferMove() and xferTmp() template functions instead
  - preliminary changes to IOobjects and Fields for xfer
2008-10-17 18:27:11 +02:00
Mark Olesen
70a38319d6 added xfer::operator->() for easier de-referencing of underlying methods 2008-10-16 14:27:16 +02:00
Mark Olesen
4caaeaef14 added test/xfer with lists 2008-10-09 16:15:38 +02:00
Mark Olesen
7b5f45b459 ListLoop.s deleted 2008-10-09 11:21:16 +02:00
mattijs
ff64d2d0d2 unused options 2008-08-19 13:49:00 +01:00
Mark Olesen
5e5b26edd5 update dictionary headers and FoamFile entry to 1.5 format 2008-07-14 14:50:35 +02:00
Mark Olesen
02cabc3cf2 updated Copyright (C) \d+-2008 OpenCFD Ltd. 2008-06-25 15:01:46 +02:00
Mark Olesen
1e8d4b2a82 dictionary functionEntries cleanup
* added '#remove' function
  * changed insert() method name to more general execute()
  * using #inputMode or #remove within a primitiveEntry now provokes an error
  * adjusted the dictionaryTest accordingly
2008-06-13 10:43:31 +02:00
henry
bb034f8ba6 Further tinkering and additional test of the eigenvaues of symmTensors. 2008-06-11 13:32:42 +01:00
andy
422849b42e added test for dataEntry 2008-05-23 11:24:57 +01:00
OpenFOAM-admin
3170c7c0c9 Creation of OpenFOAM-dev repository 15/04/2008 2008-04-15 18:56:58 +01:00