Henry Weller
d4046bb85e
LLTMatrix, LUscalarMatrix, QRMatrix: Provided consistent 'solve' interface
2016-03-24 19:13:04 +00:00
Henry Weller
f019d1e738
LLTMatrix, LUscalarMatrix, QRMatrix: Provided consistent construction, decomposition and solution interface
2016-03-24 18:05:18 +00:00
Henry Weller
e9199c6e14
QRMatrix: New class to provide QR-decomposition by Householder reflection
...
This development is sponsored by Carnegie Wave Energy Ltd.
2016-03-24 14:49:25 +00:00
Henry Weller
9bbf09573b
SquareMatrix: Add setSize and assignment to identity
2016-03-24 14:48:59 +00:00
Henry Weller
0ce3586094
Matrix: correct docs
2016-03-24 14:48:28 +00:00
Henry Weller
1fdcefb464
LLTMatrix: Add support for updating the decomposition from a new matrix
2016-03-24 14:47:41 +00:00
Henry Weller
1ec47384bb
src/OpenFOAM/matrices: Reformatted for-loops consistently
2016-03-23 18:27:04 +00:00
Henry Weller
a08adf25de
LUscalarMatrix: Updated code layout
2016-03-23 15:34:19 +00:00
Henry Weller
0945cfd35f
LLTMatrix: New matrix form to support Cholesky decomposition
...
of symmetric positive-definite matrices and the solution of associated
linear systems.
2016-03-23 15:33:03 +00:00
Henry Weller
ecc608d1c5
SquareMatrix, RectangularMatrix: Updated block handling
...
Added 'typeOfInnerProduct' support to ensure the correct type is
returned from the matrix product operator.
2016-03-23 12:52:35 +00:00
Henry Weller
878866b16e
MatrixBlock: Separate Matrix::Block into the separate class MatrixBlock
...
This avoids serious problems with template parameter deduction when
manipulating blocks of different matrix types e.g. Square and
Rectangular.
2016-03-23 12:50:34 +00:00
Henry Weller
cfd939d4f2
Matrices: Rename private member 'nRows_' -> 'mRows_' for consistency with access member function 'm()'
2016-03-23 12:49:03 +00:00
Henry Weller
730f89dc9d
Use Zero rather than pTraits<Type>::zero unless a static typed '0' is required
2016-03-22 17:46:52 +00:00
Chris Greenshields
aa89254c79
foamNewFunctionObject: script to create template code for a new function object
...
Run foamNewFunctionObject -h for details
2016-03-22 17:40:03 +00:00
Henry Weller
cb65ba71d7
Made all template declarations consistent using 'class' rather than 'typename'
2016-03-22 15:02:55 +00:00
Henry Weller
caf8776f9b
SquareMatrix, SymmetricSquareMatrix: Changed the constructor from size to require only n
...
This avoids the need to check that the m and n dimensions are the same.
2016-03-22 14:13:48 +00:00
Henry Weller
082261439c
Identity: Added conversion to label
2016-03-22 14:12:53 +00:00
Henry Weller
c7e17fa6c2
RectangularMatrix: Added construction from and assignment to zero
...
Also added the Field outer-product operator returning a RectangularMatrix
2016-03-22 14:11:41 +00:00
Henry Weller
961dc048da
Matrix: Added support for extracting and assigning blocks
...
The blocks may be specified directly in terms of the size and location in the
parent matrix or with the size obtained from a template specified
VectorSpace or MatrixSpace type.
2016-03-22 14:09:24 +00:00
Henry Weller
27ec0178dc
Updated header
2016-03-22 14:09:04 +00:00
Henry Weller
5eaa70cebc
GAMGAgglomerationTemplates: Assign to Zero rather than pTraits<Type>::zero
2016-03-22 14:08:35 +00:00
Henry Weller
14e4045702
Updated header
2016-03-22 14:08:01 +00:00
Henry Weller
f34f9b3819
zero: Return Zero rather than zero()
2016-03-22 14:07:38 +00:00
Henry Weller
554b965000
VectorSpaces, MatrixSpaces: Allow automatic conversion from zero
2016-03-22 10:38:59 +00:00
Henry Weller
34361493f9
src/OpenFOAM: Use Zero rather than pTraits<Type>
2016-03-22 10:38:30 +00:00
Henry Weller
ce81b44dc6
VectorSpaces, MatrixSpaces: Allow automatic conversion from zero
2016-03-22 10:35:57 +00:00
Henry Weller
0386551796
zero: Added support for initializing bool
2016-03-22 10:35:13 +00:00
Henry Weller
7e5d9982a7
etc/codeTemplates/BC: Use Use 'Zero' rather than 'pTraits<Type>::zero' to initialize to 0
2016-03-22 08:33:16 +00:00
Henry Weller
628eca41f6
Updated headers
2016-03-22 08:31:34 +00:00
Henry Weller
402915798d
fvPatchFields: Use 'Zero' rather than 'pTraits<Type>::zero' to initialize to 0
...
This new approach to 0 initialization is simpler, cleaner, more readable
and more efficient. The rest of the OpenFOAM code will be updated in
due course.
2016-03-22 08:27:59 +00:00
Henry Weller
4edb771e8a
Field: Added construction from and assignment to zero
2016-03-22 08:27:31 +00:00
Henry Weller
5c93cb5c8e
Updated header
2016-03-22 08:27:11 +00:00
Henry Weller
5ca4acadd6
List: Added construction from and assignment to zero
2016-03-22 08:26:50 +00:00
Henry Weller
e6e687b67d
VectorSpaces and MatrixSpaces: Added construction from and assignment to zero
2016-03-22 08:25:50 +00:00
Henry Weller
0f0e4a0c38
zero: Added cast to float and double for consistent scalar and floatScalar initialization and assignment to 0
...
Zero: New global instance of zero for simple and efficient initialization and assigment of primitives to 0
2016-03-22 08:23:09 +00:00
Henry Weller
e69aaae548
Identity: Added cast to scalar
2016-03-22 08:22:21 +00:00
Henry Weller
ea6eac35a6
etc/config.sh/CGAL: updated
...
Patch contributed by Bruno Santos:
- "etc/config.sh/CGAL":
- Indented the contents of the recently added if block.
- Added comment about using system versions.
- Library paths are now only added if the respective version is not "boost-system" and "cgal-system".
- "src/renumber/Allwmake":
It now relies on the previous file to get the version for
Boost (the same way as in "makeCGAL"). This is so that it will also
build "SloanRenumber" if "boost_version" is set to "boost-system".
- "applications/utilities/mesh/generation/Allwmake":
It now also relies on the script "config.sh/CGAL" to get the
version for CGAL. If "cgal_version" is set to "cgal-system", it
will now also build "foamy*Mesh" utilities and respective
libraries.
Resolves report http://www.openfoam.org/mantisbt/view.php?id=1232
2016-03-22 07:58:38 +00:00
Henry Weller
445ce0f2ce
Test-Matrix: Removed timing test
2016-03-20 19:50:23 +00:00
Henry Weller
67a51b1fdd
Matrix: Added (i, j) addressing to allow support for addressing blocks of the matrix
...
This change brings OpenFOAM into line with the standard matrix
addressing in other C++ libraries for better interoperability.
2016-03-20 19:44:29 +00:00
Henry Weller
0ea0848047
Matrix: Replace the row-start pointer array with computed offsets
...
The row-start pointer array provided performance benefits on old
computers but now that computation is often cache-miss limited the
benefit of avoiding a integer multiply is more than offset by the
addition memory access into a separately allocated array.
With the new addressing scheme LUsolve is 15% faster.
2016-03-20 15:00:36 +00:00
Henry Weller
1d456a6698
Updated header
2016-03-20 10:35:35 +00:00
Henry Weller
8f9f866c73
objectRegistry: Set the path of the Time objectRegistry
...
Patch contributed by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2030
2016-03-20 10:31:48 +00:00
Henry Weller
a7e410396a
sampledSet/midPoint, midPointAndFace: Improved robustness of the mid-point cell seaching and selecting
2016-03-19 21:22:09 +00:00
Henry Weller
649128313b
sampledSet/face: Improved robustness of face selection
2016-03-19 21:21:23 +00:00
Henry Weller
1b93e52c79
Field: Added zero() constructor
2016-03-19 21:20:33 +00:00
Henry Weller
5afe3027d1
Updated header
2016-03-19 21:20:18 +00:00
Henry Weller
1f89e65624
SubList, SubField: Added assignment to UList
2016-03-19 21:19:14 +00:00
Henry Weller
62b569ee39
SpatialVector: Added cross-product and dual cross-product operators
...
SpatialTensor: Added SpatialVector cross-product and dual cross-product -> SpatialTensor operators
2016-03-18 21:52:27 +00:00
Henry Weller
1346cc9c9d
SphericalTensor/Identity: Added dual form
2016-03-18 21:52:00 +00:00
Henry Weller
f8b486ae35
Update header
2016-03-18 11:47:59 +00:00