Cross product of a normal vector with every column of a matrix. More...
Go to the source code of this file.
Namespaces | |
| namespace | belfem |
| USER GUIDES: | |
Functions | |
| void | belfem::crossmat (const Vector< real > &aN, const Matrix< real > &aA, Vector< real > &aNxA) |
| Crosses a normal vector with every column of a matrix, 2D. | |
| void | belfem::crossmat (const Vector< real > &aN, const Matrix< real > &aA, const real aScale, Vector< real > &aNxA) |
| Crosses a normal vector with every column of a matrix, 2D, scaled. | |
| void | belfem::crossmat (const Vector< real > &aN, const Matrix< real > &aA, Matrix< real > &aNxA) |
| Crosses a normal vector with every column of a matrix, 3D. | |
| void | belfem::crossmat (const Vector< real > &aN, const Matrix< real > &aA, const real aScale, Matrix< real > &aNxA) |
| Crosses a normal vector with every column of a matrix, 3D, scaled. | |
Cross product of a normal vector with every column of a matrix.
Each overload treats every column of aA as one input vector and computes aN x column(k). The 2D overloads store one scalar z-component per column in a Vector; the 3D overloads store one 3-vector per column in a Matrix.
Two conventions differ between the overloads and are easy to get wrong:
aScale assign to aNxA; those with it accumulate into it, so the caller must initialise aNxA first;