Templated vector space. More...
#include <VectorSpace.H>
Inherited by Barycentric< label >, Barycentric< scalar >, Barycentric2D< label >, Barycentric2D< scalar >, DiagTensor< label >, DiagTensor< scalar >, SpatialVector< scalar >, SphericalTensor< scalar >, SphericalTensor< label >, SphericalTensor< solveScalar >, SphericalTensor2D< scalar >, SphericalTensor2D< label >, SymmTensor< scalar >, SymmTensor< label >, SymmTensor< solveScalar >, SymmTensor2D< scalar >, SymmTensor2D< label >, Tensor2D< scalar >, Tensor2D< label >, Vector< vector >, Vector< complex >, Vector< float >, Vector< double >, Vector< scalar >, Vector< solveScalar >, Vector< label >, Vector2D< vector >, Vector2D< float >, Vector2D< double >, Vector2D< scalar >, and Vector2D< label >.
Classes | |
| class | ConstBlock |
| Const sub-block type. More... | |
Public Types | |
| typedef VectorSpace< Form, Cmpt, Ncmpts > | vsType |
| VectorSpace type. | |
| typedef Cmpt | cmptType |
| Component type. | |
| typedef Cmpt | magType |
| Magnitude type. | |
| typedef direction | size_type |
| The type to represent the size of a VectorSpace. | |
| typedef Cmpt * | iterator |
| Random access iterator for traversing VectorSpace. | |
| typedef const Cmpt * | const_iterator |
| Random access iterator for traversing VectorSpace. | |
Public Member Functions | |
| VectorSpace ()=default | |
| Default construct. | |
| VectorSpace (Foam::zero) | |
| Construct initialized to zero. | |
| VectorSpace (const VectorSpace< Form, Cmpt, Ncmpts > &vs) | |
| Copy construct. | |
| template<class Form2, class Cmpt2> | |
| VectorSpace (const VectorSpace< Form2, Cmpt2, Ncmpts > &) | |
| Copy construct of a VectorSpace with the same size. | |
| VectorSpace (Istream &is) | |
| Construct from Istream. | |
| const Cmpt & | component (const direction) const |
| Cmpt & | component (const direction) |
| void | component (Cmpt &, const direction) const |
| void | replace (const direction, const Cmpt &) |
| const Cmpt * | cdata () const noexcept |
| Return const pointer to the first data element. | |
| Cmpt * | data () noexcept |
| Return pointer to the first data element. | |
| void | fill (const Cmpt &s) |
| Assign all components to given value. | |
| template<class SubVector, direction BStart> | |
| const ConstBlock< SubVector, BStart > | block () const |
| const Cmpt & | operator[] (const direction) const |
| Cmpt & | operator[] (const direction) |
| void | operator= (const VectorSpace< Form, Cmpt, Ncmpts > &) |
| void | operator+= (const VectorSpace< Form, Cmpt, Ncmpts > &) |
| void | operator-= (const VectorSpace< Form, Cmpt, Ncmpts > &) |
| template<class Form2, class Cmpt2> | |
| void | operator= (const VectorSpace< Form2, Cmpt2, Ncmpts > &) |
| Copy assign from a VectorSpace with the same size. | |
| void | operator= (Foam::zero) |
| void | operator*= (const scalar) |
| void | operator/= (const scalar) |
| iterator | begin () noexcept |
| Return an iterator (pointer) to begin of VectorSpace. | |
| const_iterator | begin () const noexcept |
| Return const_iterator (const pointer) to begin of VectorSpace. | |
| const_iterator | cbegin () const noexcept |
| Return const_iterator (const pointer) to begin of VectorSpace. | |
| iterator | end () noexcept |
| Return an iterator (pointer) to end of VectorSpace. | |
| const_iterator | end () const noexcept |
| Return const_iterator (const pointer) to end of VectorSpace. | |
| const_iterator | cend () const noexcept |
| Return const_iterator (const pointer) to end of VectorSpace. | |
| template<class SubVector, Foam::direction BStart> | |
| const Foam::VectorSpace< Form, Cmpt, Ncmpts >::template ConstBlock< SubVector, BStart > | block () const |
Static Public Member Functions | |
| static constexpr direction | size () noexcept |
| The number of elements in the VectorSpace = Ncmpts. | |
| static Form | uniform (const Cmpt &s) |
| Return a VectorSpace with all elements = s. | |
Public Attributes | |
| Cmpt | v_ [Ncmpts] |
| The components of this vector space. | |
Static Public Attributes | |
| static constexpr direction | dim = 3 |
| Dimensionality of space. | |
| static constexpr direction | nComponents = Ncmpts |
| Number of components in this vector space. | |
| static constexpr direction | mRows = Ncmpts |
| static constexpr direction | nCols = 1 |
| static const char *const | typeName = "spatialVector" |
| static const char *const | componentNames [] |
| static const Form | zero |
| static const Form | one |
| static const Form | max |
| static const Form | min |
| static const Form | rootMax |
| static const Form | rootMin |
Friends | |
| Istream & | operator>> (Istream &is, VectorSpace< Form, Cmpt, Ncmpts > &vs) |
| Ostream & | operator (Ostream &, const VectorSpace< Form, Cmpt, Ncmpts > &) |
Templated vector space.
Template arguments are the Form the vector space will be used to create, the type of the elements and the number of elements.
Definition at line 74 of file VectorSpace.H.
| typedef VectorSpace<Form, Cmpt, Ncmpts> vsType |
VectorSpace type.
Definition at line 86 of file VectorSpace.H.
Component type.
Definition at line 91 of file VectorSpace.H.
Magnitude type.
Definition at line 96 of file VectorSpace.H.
The type to represent the size of a VectorSpace.
Definition at line 101 of file VectorSpace.H.
Random access iterator for traversing VectorSpace.
Definition at line 268 of file VectorSpace.H.
| typedef const Cmpt* const_iterator |
Random access iterator for traversing VectorSpace.
Definition at line 273 of file VectorSpace.H.
|
default |
Default construct.
Referenced by DiagTensor< label >::DiagTensor(), operator+=(), operator-=(), operator=(), operator=(), SphericalTensor< scalar >::SphericalTensor(), SphericalTensor2D< scalar >::SphericalTensor2D(), SymmTensor< scalar >::SymmTensor(), SymmTensor2D< scalar >::SymmTensor2D(), Tensor2D< scalar >::Tensor2D(), Vector< vector >::Vector(), Vector2D< vector >::Vector2D(), VectorSpace(), and VectorSpace().

|
inline |
Construct initialized to zero.
Definition at line 31 of file VectorSpaceI.H.
References begin(), and VectorSpaceOps< N, I >::fill_n().

|
inline |
Copy construct.
Definition at line 38 of file VectorSpaceI.H.
References cbegin(), VectorSpaceOps< N, I >::copy_n(), and VectorSpace().

|
inlineexplicit |
Copy construct of a VectorSpace with the same size.
Definition at line 49 of file VectorSpaceI.H.
References cbegin(), VectorSpaceOps< N, I >::copy_n(), and VectorSpace().

Construct from Istream.
|
inlinestaticconstexprnoexcept |
The number of elements in the VectorSpace = Ncmpts.
Definition at line 211 of file VectorSpace.H.
Referenced by Foam::zip(), Foam::zip(), Foam::zip(), Foam::zip(), and Foam::zip().

|
inline |
Definition at line 79 of file VectorSpaceI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and v_.
Referenced by Foam::component(), NURBS3DVolume::computeParametricCoordinates(), NURBS3DVolume::computeParametricCoordinates(), Bezier::facePoints_d(), coordinateRotation::findOrthogonal(), and Foam::setComponent().


|
inline |
Definition at line 98 of file VectorSpaceI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and v_.

|
inline |
Definition at line 117 of file VectorSpaceI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and v_.

|
inline |
Definition at line 137 of file VectorSpaceI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and v_.
Referenced by particle< Type >::trackToMovingTri(), and particle< Type >::trackToStationaryTri().


|
inlinenoexcept |
Return const pointer to the first data element.
Definition at line 222 of file VectorSpace.H.
|
inlinenoexcept |
Return pointer to the first data element.
Definition at line 227 of file VectorSpace.H.
|
inline |
Assign all components to given value.
Definition at line 157 of file VectorSpaceI.H.
References begin(), VectorSpaceOps< N, I >::fill_n(), and s().

|
inlinestatic |
Return a VectorSpace with all elements = s.
Definition at line 164 of file VectorSpaceI.H.
References s().
Referenced by snappyLayerDriver::addLayers(), meshRefinement::countFaceDirs(), faPatch::delta(), propellerInfo::execute(), pointMeshTools::featurePointsEdges(), distributedTriSurfaceMesh::findLineAll(), searchableBox::findLineAll(), Foam::getRadius(), Foam::imposeMinVectorLength(), Foam::readScaling(), motionSmootherAlgo::setDisplacement(), motionSmootherAlgo::setDisplacementPatchFields(), rigidBodyMeshMotion::solve(), plane::somePointInPlane(), meshRefinement::splitMesh(), meshRefinement::splitMeshRegions(), faNVDscheme< Type, NVDweight >::weights(), and propellerInfo::writeWakeFields().


|
inline |
|
inline |
Definition at line 185 of file VectorSpaceI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, operator, and v_.
Referenced by triad::align(), triad::operator+=(), triad::orthogonalise(), triad::set(), triad::sortxyz(), and triad::triad().


|
inline |
Definition at line 204 of file VectorSpaceI.H.
References FatalErrorInFunction, and operator.

|
inline |
Definition at line 275 of file VectorSpaceI.H.
References VectorSpaceOps< N, I >::copy_n(), operator, and VectorSpace().
Referenced by MatrixSpace< Form, Cmpt, Mrows, Ncols >::operator=().


|
inline |
Definition at line 296 of file VectorSpaceI.H.
References VectorSpaceOps< N, I >::eqOp(), operator, and VectorSpace().

|
inline |
Definition at line 306 of file VectorSpaceI.H.
References VectorSpaceOps< N, I >::eqOp(), operator, and VectorSpace().

|
inline |
Copy assign from a VectorSpace with the same size.
Definition at line 286 of file VectorSpaceI.H.
References VectorSpaceOps< N, I >::copy_n(), operator, and VectorSpace().

|
inline |
Definition at line 316 of file VectorSpaceI.H.
References begin(), and VectorSpaceOps< N, I >::fill_n().

|
inline |
Definition at line 323 of file VectorSpaceI.H.
References VectorSpaceOps< N, I >::eqOpS(), operator, and s().

|
inline |
Definition at line 333 of file VectorSpaceI.H.
References VectorSpaceOps< N, I >::eqOpS(), operator, and s().

Return an iterator (pointer) to begin of VectorSpace.
Definition at line 281 of file VectorSpace.H.
Referenced by fill(), operator=(), and VectorSpace().

|
inlinenoexcept |
Return const_iterator (const pointer) to begin of VectorSpace.
Definition at line 286 of file VectorSpace.H.
|
inlinenoexcept |
Return const_iterator (const pointer) to begin of VectorSpace.
Definition at line 291 of file VectorSpace.H.
Referenced by VectorSpace(), and VectorSpace().

Return an iterator (pointer) to end of VectorSpace.
Definition at line 296 of file VectorSpace.H.
|
inlinenoexcept |
Return const_iterator (const pointer) to end of VectorSpace.
Definition at line 301 of file VectorSpace.H.
|
inlinenoexcept |
Return const_iterator (const pointer) to end of VectorSpace.
Definition at line 306 of file VectorSpace.H.
|
inline |
Definition at line 176 of file VectorSpaceI.H.
|
friend |
|
friend |
| Cmpt v_[Ncmpts] |
The components of this vector space.
Definition at line 81 of file VectorSpace.H.
Referenced by Barycentric2D< label >::a(), Barycentric2D< label >::a(), Barycentric< label >::a(), Barycentric< label >::a(), Barycentric2D< label >::b(), Barycentric2D< label >::b(), Barycentric< label >::b(), Barycentric< label >::b(), Barycentric2D< label >::c(), Barycentric2D< label >::c(), Barycentric< label >::c(), Barycentric< label >::c(), Foam::cmptMax(), Foam::cmptMin(), Foam::cmptProduct(), Foam::cmptSum(), component(), component(), component(), Barycentric< label >::d(), Barycentric< label >::d(), SphericalTensor2D< scalar >::ii(), SphericalTensor2D< scalar >::ii(), SphericalTensor< scalar >::ii(), SphericalTensor< scalar >::ii(), SpatialVector< scalar >::lx(), SpatialVector< scalar >::lx(), SpatialVector< scalar >::ly(), SpatialVector< scalar >::ly(), SpatialVector< scalar >::lz(), SpatialVector< scalar >::lz(), Foam::magSqr(), operator[](), replace(), SpatialVector< scalar >::wx(), SpatialVector< scalar >::wx(), SpatialVector< scalar >::wy(), SpatialVector< scalar >::wy(), SpatialVector< scalar >::wz(), SpatialVector< scalar >::wz(), Vector2D< vector >::x(), Vector2D< vector >::x(), Vector< vector >::x(), Vector< vector >::x(), DiagTensor< label >::xx(), DiagTensor< label >::xx(), SymmTensor2D< scalar >::xx(), SymmTensor2D< scalar >::xx(), SymmTensor< scalar >::xx(), SymmTensor< scalar >::xx(), Tensor2D< scalar >::xx(), Tensor2D< scalar >::xx(), SymmTensor2D< scalar >::xy(), SymmTensor2D< scalar >::xy(), SymmTensor< scalar >::xy(), SymmTensor< scalar >::xy(), Tensor2D< scalar >::xy(), Tensor2D< scalar >::xy(), SymmTensor< scalar >::xz(), SymmTensor< scalar >::xz(), Vector2D< vector >::y(), Vector2D< vector >::y(), Vector< vector >::y(), Vector< vector >::y(), SymmTensor2D< scalar >::yx(), SymmTensor2D< scalar >::yx(), SymmTensor< scalar >::yx(), SymmTensor< scalar >::yx(), Tensor2D< scalar >::yx(), Tensor2D< scalar >::yx(), DiagTensor< label >::yy(), DiagTensor< label >::yy(), SymmTensor2D< scalar >::yy(), SymmTensor2D< scalar >::yy(), SymmTensor< scalar >::yy(), SymmTensor< scalar >::yy(), Tensor2D< scalar >::yy(), Tensor2D< scalar >::yy(), SymmTensor< scalar >::yz(), SymmTensor< scalar >::yz(), Vector< vector >::z(), Vector< vector >::z(), SymmTensor< scalar >::zx(), SymmTensor< scalar >::zx(), SymmTensor< scalar >::zy(), SymmTensor< scalar >::zy(), DiagTensor< label >::zz(), DiagTensor< label >::zz(), SymmTensor< scalar >::zz(), and SymmTensor< scalar >::zz().
Dimensionality of space.
Definition at line 109 of file VectorSpace.H.
Referenced by Foam::cof(), Foam::det(), Foam::det(), and Foam::kShellMean().
Number of components in this vector space.
Definition at line 114 of file VectorSpace.H.
Referenced by porosityModel::adjustNegativeResistance(), anisotropicFilter::anisotropicFilter(), anisotropicFilter::anisotropicFilter(), uniformBin::binAddr(), boundBox::box_sphere_overlaps(), primitiveMeshTools::cellClosedness(), primitiveMeshTools::cellDeterminant(), VectorSpace< Form, Cmpt, Ncmpts >::ConstBlock< SubVector, BStart >::ConstBlock(), Foam::meshTools::constrainDirection(), Foam::meshTools::constrainDirection(), Foam::meshTools::constrainToMeshCentre(), Foam::meshTools::constrainToMeshCentre(), coordinateScaling< Type >::coordinateScaling(), coordinateScaling< scalar >::coordinateScaling(), displacementInterpolationMotionSolver::curPoints(), searchableBox::findLine(), dynamicIndexedOctree< Foam::dynamicTreeDataPoint >::findLineAny(), searchableBox::findNearestOnEdge(), coordinateRotation::findOrthogonal(), fft::forwardTransform(), get_geom_list(), uniformBin::initialise(), Foam::less(), boundBox::maxDir(), boundBox::minDir(), boundBox::nDim(), Foam::operator>>(), searchableSphere::overlaps(), genericPatchFieldBase::processEntry(), radiativeIntensityRay::radiativeIntensityRay(), uniformBin::read(), Foam::readScaling(), PDRblock::reset(), sphericalAngularSpring::restrain(), fft::reverseTransform(), regionSizeDistribution::write(), writeCellCentres::write(), PDRblock::gridControl::writeDict(), and uniformBin::writeFileHeader().
Definition at line 120 of file VectorSpace.H.
Referenced by Matrix< RectangularMatrix< Type >, Type >::block(), and Matrix< RectangularMatrix< Type >, Type >::block().
Definition at line 121 of file VectorSpace.H.
Referenced by Matrix< RectangularMatrix< Type >, Type >::block(), and Matrix< RectangularMatrix< Type >, Type >::block().
|
static |
Definition at line 126 of file VectorSpace.H.
|
static |
Definition at line 127 of file VectorSpace.H.
Referenced by searchablePlate::searchablePlate(), regionSizeDistribution::write(), writeCellCentres::write(), and PDRblock::gridControl::writeDict().
|
static |
Definition at line 128 of file VectorSpace.H.
Referenced by extractEulerianParticles::accumulateParticleInfo(), sensitivitySurfacePoints::assembleSensitivities(), pointSmoother::average(), NURBS3DCurve::buildCurve(), NURBS3DSurface::buildSurface(), faceAreaIntersect::calc(), energySpectrum::calcAndWriteSpectrum(), Foam::calcEk(), fieldExtents::calcFieldExtents(), geometricElementTransformPointSmoother::calculate(), polyMeshGeometry::checkFaceTwist(), ShapeSensitivitiesBase::clearSurfaceFields(), averageNeighbourFvGeometryScheme::clipFaceTet(), averageNeighbourFvGeometryScheme::clipPyramids(), transformBox::computeControlPoints(), NURBS3DVolume::computeParametricCoordinates(), sensitivitySurfacePoints::constructGlobalPointNormalsAndAreas(), waveModel::correct(), motionSmootherAlgo::correctBoundaryConditions(), laplacianMotionSolver::curPoints(), motionSmootherAlgo::curPoints(), pLaplacianMotionSolver::curPoints(), triSurfaceTools::curvatures(), particle< Type >::deviationFromMeshCentre(), triSurfaceMesh::edgeTree(), inverseDistance::fill(), searchableSurfacesQueries::findNearest(), Foam::ImComplexField(), triangle2D::interArea(), interpolationCellPatchConstrained< Type >::interpolate(), patchTransformedInterpolation::interpolate(), meshRefinement::isGap(), meshRefinement::isNormalGap(), Foam::matchPoints(), Foam::matchPoints(), areaOp::operator()(), inverseDistance::overlaps(), projectFace::project(), radiativeIntensityRay::radiativeIntensityRay(), Foam::ReComplexField(), boundBox::reset(), pointSmoother::reset(), softWall::restrain(), wallBoundedStreamLineParticle::sample(), motionSmootherAlgo::scaleMesh(), displacementMethoddisplacementLaplacian::setMotionField(), displacementMethodvelocityLaplacian::setMotionField(), addPatchCellLayer::setRefinement(), rigidBodyMeshMotion::solve(), rigidBodyMeshMotionSolver::solve(), meshRefinement::testSyncPointList(), triSurfaceSearch::tree(), triSurfaceRegionSearch::treeByRegion(), UOprocess::UOprocess(), NURBS3DVolumeCylindrical::updateLocalCoordinateSystem(), eddy::uPrime(), forceCoeffs::coeffDesc::value(), and mappedPatchBase::write().
|
static |
Definition at line 129 of file VectorSpace.H.
Referenced by meshRefinement::blockLeakFaces(), motionDirectionalDiffusivity::correct(), fvMeshDistribute::generateTestField(), makeFaGradScheme(), boundBox::reset(), fvMeshDistribute::testField(), and eddy::uPrime().
|
static |
Definition at line 130 of file VectorSpace.H.
Referenced by hexRef8::consistentSlowRefinement2(), decompositionMethod::decompose(), snappySnapDriver::doSnap(), mappedPatchBase::findSamples(), removePoints::getUnrefimentSet(), implicitFunction::grad(), pointEdgeStructuredWalk::inZone(), mappedPatchFieldBase< Type >::mappedField(), Foam::matchPoints(), Foam::matchPoints(), polyTopoChange::pointRemoved(), projectCurveEdge::position(), polyTopoChange::removePoint(), cyclicAMIPolyPatch::resetAMI(), sampledPatchInternalField::sampleOnPoints(), addPatchCellLayer::setRefinement(), removePoints::setUnrefinement(), PatchTools::sortedEdgeFaces(), externalPointEdgePoint::valid(), patchEdgeFaceInfo::valid(), pointEdgePoint::valid(), pointEdgeStructuredWalk::valid(), wallNormalInfo::valid(), Sampled< Type >::value(), and voxelMeshSearch::voxelMeshSearch().
|
static |
Definition at line 131 of file VectorSpace.H.
Referenced by triangulatedPatch::randomLocalPoint().
|
static |
Definition at line 132 of file VectorSpace.H.
Referenced by cell::box(), face::box(), symmetryPlanePolyPatch::calcGeometry(), and wedgePolyPatch::calcGeometry().
|
static |
Definition at line 133 of file VectorSpace.H.
Referenced by cell::box(), and face::box().