MatrixSpace: 2D (i-j) specialization of VectorSpace
Provides '(i, j)' element access and general forms of inner and outer products, transpose etc. for square and rectangular VectorSpaces. VectorSpaces default to be column-vectors as before whereas row-vectors may be represented as 1xn MatrixSpaces. In the future it may be preferable to create a specializations of VectorSpace for column- and maybe row-vectors but it would add complexity to MatrixSpace to handle all the type combinations. Tensor is now a 3x3 specialization of MatrixSpace. Sub-block const and non-const access is provided via the '.block<SubTensor, RowStart, ColStart>()' member functions. Consistent sub-block access is also provide for VectorSpace so that columns of MatrixSpaces may be accessed and substituted. These new classes will be used to create a more extensive set of primitive vector and tensor types over the next few weeks. Henry G. Weller CFD Direct
Showing
- src/OpenFOAM/primitives/MatrixSpace/MatrixSpace.H 322 additions, 0 deletionssrc/OpenFOAM/primitives/MatrixSpace/MatrixSpace.H
- src/OpenFOAM/primitives/MatrixSpace/MatrixSpaceI.H 609 additions, 0 deletionssrc/OpenFOAM/primitives/MatrixSpace/MatrixSpaceI.H
- src/OpenFOAM/primitives/Tensor/Tensor.H 42 additions, 5 deletionssrc/OpenFOAM/primitives/Tensor/Tensor.H
- src/OpenFOAM/primitives/Tensor/TensorI.H 88 additions, 43 deletionssrc/OpenFOAM/primitives/Tensor/TensorI.H
- src/OpenFOAM/primitives/VectorSpace/VectorSpace.H 45 additions, 3 deletionssrc/OpenFOAM/primitives/VectorSpace/VectorSpace.H
- src/OpenFOAM/primitives/VectorSpace/VectorSpaceI.H 77 additions, 0 deletionssrc/OpenFOAM/primitives/VectorSpace/VectorSpaceI.H
- src/OpenFOAM/primitives/VectorSpace/products.H 18 additions, 0 deletionssrc/OpenFOAM/primitives/VectorSpace/products.H
Please register or sign in to comment