95dda0efc0
LLTMatrix, LUscalarMatrix, QRMatrix: Provided consistent construction, decomposition and solution interface
2016-03-24 18:05:18 +00:00
523b01c1b2
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
21b5ffb6ee
SquareMatrix: Add setSize and assignment to identity
2016-03-24 14:48:59 +00:00
121c4e3a28
Matrix: correct docs
2016-03-24 14:48:28 +00:00
495e09714a
LLTMatrix: Add support for updating the decomposition from a new matrix
2016-03-24 14:47:41 +00:00
60c430b0ae
src/OpenFOAM/matrices: Reformatted for-loops consistently
2016-03-23 18:27:04 +00:00
12e59d3553
LUscalarMatrix: Updated code layout
2016-03-23 15:34:19 +00:00
ddbd5f3d11
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
536402d4f5
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
d70c62bba2
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
019bf94006
Matrices: Rename private member 'nRows_' -> 'mRows_' for consistency with access member function 'm()'
2016-03-23 12:49:03 +00:00
fa8929df6d
Use Zero rather than pTraits<Type>::zero unless a static typed '0' is required
2016-03-22 17:46:52 +00:00
44c73bfbe1
Made all template declarations consistent using 'class' rather than 'typename'
2016-03-22 15:02:55 +00:00
055a113f10
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
feada18b40
Identity: Added conversion to label
2016-03-22 14:12:53 +00:00
22b2e397b2
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
c33961f3ad
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
5f9b1d1681
Updated header
2016-03-22 14:09:04 +00:00
a16fff88f7
GAMGAgglomerationTemplates: Assign to Zero rather than pTraits<Type>::zero
2016-03-22 14:08:35 +00:00
da347abc51
Updated header
2016-03-22 14:08:01 +00:00
050ee51ad8
zero: Return Zero rather than zero()
2016-03-22 14:07:38 +00:00
89fa292968
VectorSpaces, MatrixSpaces: Allow automatic conversion from zero
2016-03-22 10:38:59 +00:00
ffe2c2ac46
src/OpenFOAM: Use Zero rather than pTraits<Type>
2016-03-22 10:38:30 +00:00
983b3e2ca4
VectorSpaces, MatrixSpaces: Allow automatic conversion from zero
2016-03-22 10:35:57 +00:00
b49a71a402
zero: Added support for initializing bool
2016-03-22 10:35:13 +00:00
68f37e710f
Updated headers
2016-03-22 08:31:34 +00:00
beb00e22d6
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
6f70b18bd2
Field: Added construction from and assignment to zero
2016-03-22 08:27:31 +00:00
042a9d96fd
Updated header
2016-03-22 08:27:11 +00:00
d880a76409
List: Added construction from and assignment to zero
2016-03-22 08:26:50 +00:00
c55d554050
VectorSpaces and MatrixSpaces: Added construction from and assignment to zero
2016-03-22 08:25:50 +00:00
bf6f2b3ed1
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
ec045baafe
Identity: Added cast to scalar
2016-03-22 08:22:21 +00:00
64d256f79e
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
c13421b10a
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
767ffc3c7b
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
59c9f3594e
Updated header
2016-03-20 10:35:35 +00:00
9209192b65
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
3c3a02e61c
sampledSet/midPoint, midPointAndFace: Improved robustness of the mid-point cell seaching and selecting
2016-03-19 21:22:09 +00:00
9f80c727e5
sampledSet/face: Improved robustness of face selection
2016-03-19 21:21:23 +00:00
712b07d478
Field: Added zero() constructor
2016-03-19 21:20:33 +00:00
248d6065eb
Updated header
2016-03-19 21:20:18 +00:00
9dc14af017
SubList, SubField: Added assignment to UList
2016-03-19 21:19:14 +00:00
e809171540
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
e3bbe40748
SphericalTensor/Identity: Added dual form
2016-03-18 21:52:00 +00:00
0a0e282090
Update header
2016-03-18 11:47:59 +00:00
4ab535bdda
Identity: special type derived from SphericalTensor to provide the concept of identity (I)
...
Allows efficient operators to be defined for the interaction between
types and the equivalent identity.
2016-03-18 11:45:45 +00:00
f528f844db
SpatialVector: Added component access member functions
...
wx(), wy(), wz(), lx(), ly() and lz()
2016-03-17 22:12:48 +00:00
4cc909f1ed
spatialTransform: Compact representation of the Plücker spatial transformation tensor
...
in terms of the rotation tensor \c E and translation vector \c r .
See Chapter 2 and Appendix A in reference:
Featherstone, R. (2008).
Rigid body dynamics algorithms.
Springer.
This work is sponsored by Carnegie Wave Energy Ltd
Henry G. Weller
CFD Direct
2016-03-17 20:31:36 +00:00
e2d1156ddd
primitives/transform: Added functios to generate rotation tensor about the given axis
2016-03-17 18:09:04 +00:00