OOFEM 3.0
Loading...
Searching...
No Matches
oofem::FloatArrayF< N > Class Template Reference

#include <floatarrayf.h>

Public Member Functions

Iterator for for-each loops:
auto begin ()
auto end ()
auto begin () const
auto end () const
 FloatArrayF (const FloatArrayF< N > &x)
 Copy ctor.
 FloatArrayF (const FloatArray &x)
 Ctor from dynamic array (size must match).
template<typename... V, class = typename std::enable_if_t<sizeof...(V) == N>>
 FloatArrayF (V... x)
 Direct value ctor.
 FloatArrayF ()
 Empty Ctor (zeroes).
void operator= (const FloatArrayF< N > &src)
 Assignment operator.
double & operator[] (std::size_t i)
const double & operator[] (std::size_t i) const
int size () const
 Returns the size of receiver.
const double * data () const
double * data ()
double & at (std::size_t i)
double at (std::size_t i) const
template<std::size_t M>
FloatArrayF< M > operator[] (std::size_t const (&c)[M]) const
template<size_t M>
void assign (const FloatArrayF< M > &x, int const (&c)[M])
 Assign x into self.
template<size_t M>
void assemble (const FloatArrayF< M > &x, int const (&c)[M])
 Assemble x into self.
int giveSize () const
 Returns the size of receiver.
void printYourself (const std::string &name="FloatArrayF") const
const double * givePointer () const
double * givePointer ()
contextIOResultType storeYourself (DataStream &stream) const
contextIOResultType restoreYourself (DataStream &stream)
int givePackSize (DataStream &buff) const

Protected Attributes

std::array< double, Nvalues
 Stored values.

Detailed Description

template<std::size_t N>
class oofem::FloatArrayF< N >

Class representing vector of real numbers with compile time fixed size.

Author
Mikael Öhman

Definition at line 58 of file floatarrayf.h.

Constructor & Destructor Documentation

◆ FloatArrayF() [1/4]

template<std::size_t N>
oofem::FloatArrayF< N >::FloatArrayF ( const FloatArrayF< N > & x)
inline

Copy ctor.

Definition at line 99 of file floatarrayf.h.

References FloatArrayF(), and values.

Referenced by assemble(), assign(), FloatArrayF(), operator=(), and operator[]().

◆ FloatArrayF() [2/4]

template<std::size_t N>
oofem::FloatArrayF< N >::FloatArrayF ( const FloatArray & x)
inline

Ctor from dynamic array (size must match).

Definition at line 101 of file floatarrayf.h.

References oofem::FloatArray::begin(), oofem::FloatArray::giveSize(), N, OOFEM_ERROR, and values.

◆ FloatArrayF() [3/4]

template<std::size_t N>
template<typename... V, class = typename std::enable_if_t<sizeof...(V) == N>>
oofem::FloatArrayF< N >::FloatArrayF ( V... x)
inline

Direct value ctor.

Definition at line 112 of file floatarrayf.h.

References values.

◆ FloatArrayF() [4/4]

template<std::size_t N>
oofem::FloatArrayF< N >::FloatArrayF ( )
inline

Empty Ctor (zeroes).

Definition at line 114 of file floatarrayf.h.

References values.

Member Function Documentation

◆ assemble()

template<std::size_t N>
template<size_t M>
void oofem::FloatArrayF< N >::assemble ( const FloatArrayF< M > & x,
int const (&) c[M] )
inline

Assemble x into self.

Definition at line 195 of file floatarrayf.h.

References FloatArrayF().

◆ assign()

template<std::size_t N>
template<size_t M>
void oofem::FloatArrayF< N >::assign ( const FloatArrayF< M > & x,
int const (&) c[M] )
inline

Assign x into self.

Definition at line 186 of file floatarrayf.h.

References FloatArrayF().

◆ at() [1/2]

template<std::size_t N>
double & oofem::FloatArrayF< N >::at ( std::size_t i)
inline

Coefficient access function. Returns value of coefficient at given position of the receiver. Provides 1-based indexing access.

Parameters
iPosition of coefficient in array.

Definition at line 157 of file floatarrayf.h.

Referenced by oofem::LatticeBondPlasticity::checkForVertexCase(), oofem::ConcreteDPM2::computeAlpha(), oofem::Tr2Shell7XFEM::computeAreaAround(), oofem::Quad1Mindlin::computeBodyLoadVectorAt(), oofem::FEContactSurface::computeContactPointLocalCoordinates_2d(), oofem::FEContactSurface::computeContactPointLocalCoordinates_3d(), oofem::IntElLine1::computeCovarBaseVectorAt(), oofem::IntElLine1IntPen::computeCovarBaseVectorAt(), oofem::IntElLine1PF::computeCovarBaseVectorAt(), oofem::IntElLine1PhF::computeCovarBaseVectorAt(), oofem::IntElLine2IntPen::computeCovarBaseVectorAt(), oofem::ConcreteDPM2::computeDCosThetaDStress(), oofem::ConcreteDPM2::computeDDCosThetaDDStress(), oofem::ConcreteDPM2::computeDDGDDStress(), oofem::ConcreteDPM2::computeDDGDStressDKappa(), oofem::LatticeSlip::computeDeltaDissipation(), oofem::TrabBone3D::computeDensificationStress(), oofem::StructuralMaterial::computeDeviator(), oofem::TR1_2D_PFEM::computeDeviatoricStress(), oofem::FE2FluidMaterial::computeDeviatoricStress3D(), oofem::NewtonianFluidMaterial::computeDeviatoricStress3D(), oofem::StructuralMaterial::computeDeviatoricVolumetricSplit(), oofem::LatticeBondPlasticity::computeDMMatrix(), oofem::LatticePlasticityDamage::computeDMMatrix(), oofem::IsoInterfaceDamageMaterial::computeEquivalentStrain(), oofem::IsoInterfaceDamageMaterial_2::computeEquivalentStrain(), oofem::LatticeDamage::computeEquivalentStrain(), oofem::RVEStokesFlow::computeFlux3D(), oofem::ConcreteDPM2::computeFullJacobian(), oofem::LatticeBondPlasticity::computeFVector(), oofem::LatticePlasticityDamage::computeFVector(), oofem::XfemStructuralElementInterface::computeGlobalCohesiveTractionVector(), oofem::Shell7BaseXFEM::computeInterfaceJumpAt(), oofem::LatticeBondPlasticity::computeMVector(), oofem::LatticePlasticityDamage::computeMVector(), oofem::Shell7BaseXFEM::computePressureTangentMatrixDis(), oofem::NonlinearFluidMaterial::computeTangent3D(), oofem::IntMatBilinearCZ::computeTraction(), oofem::IntElPoint::computeTransformationMatrixAt(), oofem::StructuralMaterial::computeVonMisesStress_3D(), oofem::StructuralMaterial::computeVonMisesStress_PlaneStress(), oofem::LatticeBondPlasticity::computeYieldValue(), oofem::LatticePlasticityDamage::computeYieldValue(), oofem::TrabBone3D::constructAnisoFtensor(), oofem::LargeStrainMasterMaterial::constructL1L2TransformationMatrices(), oofem::StructuralMaterial::convert_dSdE_2_dPdF_3D(), oofem::Shell7Base::convV6ToV9Stress(), oofem::Shell7Base::edgeEvalCovarBaseVectorsAt(), oofem::Shell7BaseXFEM::edgeEvalEnrCovarBaseVectorsAt(), oofem::Tensor2_3d::eigs(), oofem::FEI2dQuadQuad::evaldNdxi(), oofem::FEI3dHexaLin::evaldNdxi(), oofem::FEI3dWedgeLin::evaldNdxi(), oofem::PrescribedGenStrainShell7::evalInitialCovarBaseVectorsAt(), oofem::PrescribedGenStrainShell7::evaluateHigherOrderContribution(), oofem::StructuralInterfaceMaterial::give1dStiffnessMatrix_dTdj_Num(), oofem::StructuralInterfaceMaterial::give1dStiffnessMatrix_Eng_Num(), oofem::StructuralInterfaceMaterial::give2dStiffnessMatrix_dTdj_Num(), oofem::StructuralInterfaceMaterial::give2dStiffnessMatrix_Eng_Num(), oofem::StructuralPythonMaterial::give3dMaterialStiffnessMatrix_dPdF(), oofem::IntMatBilinearCZElastic::give3dStiffnessMatrix_dTdj(), oofem::CohesiveInterfaceMaterial::give3dStiffnessMatrix_Eng(), oofem::ExpCZMaterial::give3dStiffnessMatrix_Eng(), oofem::IsoInterfaceDamageMaterial::give3dStiffnessMatrix_Eng(), oofem::IsoInterfaceDamageMaterial_2::give3dStiffnessMatrix_Eng(), oofem::SimpleInterfaceMaterial::give3dStiffnessMatrix_Eng(), oofem::Shell7Base::giveAxialMatrix(), oofem::StructuralInterfaceMaterial::giveEngTraction_2d(), oofem::BondCEBMaterial::giveEngTraction_3d(), oofem::CohesiveInterfaceMaterial::giveEngTraction_3d(), oofem::IntMatIsoDamage::giveEngTraction_3d(), oofem::IntMatPhaseField::giveEngTraction_3d(), oofem::IsoInterfaceDamageMaterial_2::giveEngTraction_3d(), oofem::LinkSlip::giveEngTraction_3d(), oofem::SimpleInterfaceMaterial::giveEngTraction_3d(), oofem::HyperelasticMaterial1d::giveFirstPKStressVector_1d(), oofem::StructuralInterfaceMaterial::giveFirstPKTraction_2d(), oofem::IntMatBilinearCZElastic::giveFirstPKTraction_3d(), oofem::IntMatBilinearCZFagerstrom::giveFirstPKTraction_3d(), oofem::IntMatBilinearCZFagerstromRate::giveFirstPKTraction_3d(), oofem::IntMatBilinearCZJansson::giveFirstPKTraction_3d(), oofem::LayeredCrossSection::giveGeneralizedStress_Beam2d(), oofem::FiberedCrossSection::giveGeneralizedStress_Beam3d(), oofem::LayeredCrossSection::giveGeneralizedStress_MembraneRot(), oofem::LayeredCrossSection::giveGeneralizedStress_Plate(), oofem::LayeredCrossSection::giveGeneralizedStress_Shell(), oofem::LayeredCrossSection::giveGeneralizedStress_ShellRot(), oofem::SimpleCrossSection::giveGeneralizedStress_ShellRot(), oofem::Shell7Base::giveGlobalZcoord(), oofem::MITC4Shell::giveJacobian(), oofem::LatticeBondPlasticity::giveLatticeStress3d(), oofem::LatticeDamage::giveLatticeStress3d(), oofem::LatticeDamageViscoelastic::giveLatticeStress3d(), oofem::LatticePlasticityDamageViscoelastic::giveLatticeStress3d(), oofem::LatticeSlip::giveLatticeStress3d(), oofem::MITC4Shell::giveMidplaneIPValue(), oofem::LayeredCrossSection::giveRealStress_3d(), oofem::LayeredCrossSection::giveRealStress_3dDegeneratedShell(), oofem::LayeredCrossSection::giveRealStress_PlaneStress(), oofem::IsotropicAsymmetric1DMaterial::giveRealStressVector_1d(), oofem::TrabBoneMaterial::giveRealStressVector_1d(), oofem::TrabBoneNL::giveRealStressVector_1d(), oofem::M1Material::giveRealStressVector_3d(), oofem::MicroplaneMaterial_Bazant::giveRealStressVector_3d(), oofem::LinearElasticMaterial::giveRealStressVector_Warping(), oofem::ConcreteDPM::initDamaged(), oofem::ConcreteDPM2::performPlasticityReturn(), oofem::LatticeBondPlasticity::performPlasticityReturn(), oofem::LatticePlasticityDamage::performPlasticityReturn(), oofem::MisesMat::performPlasticityReturn_PlaneStress(), oofem::LatticeBondPlasticity::performRegularReturn(), oofem::LatticePlasticityDamage::performRegularReturn(), oofem::ConcreteDPM2::performVertexReturn(), oofem::LatticeBondPlasticity::performVertexReturn(), oofem::TrabBone3D::projectOnYieldSurface(), oofem::Tensor1_3d::Tensor1_3d(), oofem::Tensor2_3d::Tensor2_3d(), oofem::PrescribedDispSlipBCDirichletRC::updateCoefficientMatrix(), oofem::Shell7Base::vtkEvalInitialGlobalCoordinateAt(), and oofem::Shell7Base::vtkEvalUpdatedGlobalCoordinateAt().

◆ at() [2/2]

template<std::size_t N>
double oofem::FloatArrayF< N >::at ( std::size_t i) const
inline

Coefficient access function. Returns l-value of coefficient at given position of the receiver. Provides 1-based indexing access.

Parameters
iPosition of coefficient in array.

Definition at line 163 of file floatarrayf.h.

◆ begin() [1/2]

template<std::size_t N>
auto oofem::FloatArrayF< N >::begin ( )
inline

Definition at line 92 of file floatarrayf.h.

Referenced by oofem::product(), and oofem::sum().

◆ begin() [2/2]

template<std::size_t N>
auto oofem::FloatArrayF< N >::begin ( ) const
inline

Definition at line 94 of file floatarrayf.h.

◆ data() [1/2]

template<std::size_t N>
double * oofem::FloatArrayF< N >::data ( )
inline

Definition at line 148 of file floatarrayf.h.

References values.

◆ data() [2/2]

template<std::size_t N>
const double * oofem::FloatArrayF< N >::data ( ) const
inline

Definition at line 147 of file floatarrayf.h.

References values.

Referenced by givePointer(), and givePointer().

◆ end() [1/2]

template<std::size_t N>
auto oofem::FloatArrayF< N >::end ( )
inline

Definition at line 93 of file floatarrayf.h.

Referenced by oofem::product(), and oofem::sum().

◆ end() [2/2]

template<std::size_t N>
auto oofem::FloatArrayF< N >::end ( ) const
inline

Definition at line 95 of file floatarrayf.h.

◆ givePackSize()

template<std::size_t N>
int oofem::FloatArrayF< N >::givePackSize ( DataStream & buff) const
inline

Definition at line 239 of file floatarrayf.h.

References oofem::DataStream::givePackSizeOfDouble(), and size().

◆ givePointer() [1/2]

template<std::size_t N>
double * oofem::FloatArrayF< N >::givePointer ( )
inline

Definition at line 221 of file floatarrayf.h.

References data().

◆ givePointer() [2/2]

template<std::size_t N>
const double * oofem::FloatArrayF< N >::givePointer ( ) const
inline

Gives the pointer to the raw data, breaking encapsulation.

Returns
Pointer to values of array

Definition at line 220 of file floatarrayf.h.

References data().

Referenced by oofem::AbaqusUserMaterial::giveFirstPKStressVector_3d(), and oofem::AbaqusUserMaterial::giveRealStressVector_3d().

◆ giveSize()

◆ operator=()

template<std::size_t N>
void oofem::FloatArrayF< N >::operator= ( const FloatArrayF< N > & src)
inline

Assignment operator.

Definition at line 117 of file floatarrayf.h.

References FloatArrayF(), and values.

◆ operator[]() [1/3]

template<std::size_t N>
template<std::size_t M>
FloatArrayF< M > oofem::FloatArrayF< N >::operator[] ( std::size_t const (&) c[M]) const
inline

Multi-indexing to select sub-vectors,

Parameters
cPosition of coefficient in array.

Definition at line 175 of file floatarrayf.h.

References FloatArrayF().

◆ operator[]() [2/3]

template<std::size_t N>
double & oofem::FloatArrayF< N >::operator[] ( std::size_t i)
inline

Coefficient access function. Returns value of coefficient at given position of the receiver. Provides 0-based indexing access.

Parameters
iPosition of coefficient in array.

Definition at line 125 of file floatarrayf.h.

References values.

◆ operator[]() [3/3]

template<std::size_t N>
const double & oofem::FloatArrayF< N >::operator[] ( std::size_t i) const
inline

Coefficient access function. Returns value of coefficient at given position of the receiver. Provides 0-based indexing access.

Parameters
iPosition of coefficient in array.

Definition at line 138 of file floatarrayf.h.

References values.

◆ printYourself()

template<std::size_t N>
void oofem::FloatArrayF< N >::printYourself ( const std::string & name = "FloatArrayF< N >") const
inline

Print receiver on stdout with custom name.

Parameters
nameDisplay name of reciever.

Definition at line 208 of file floatarrayf.h.

◆ restoreYourself()

template<std::size_t N>
contextIOResultType oofem::FloatArrayF< N >::restoreYourself ( DataStream & stream)
inline

Definition at line 231 of file floatarrayf.h.

References oofem::CIO_IOERR, oofem::CIO_OK, and oofem::DataStream::read().

◆ size()

template<std::size_t N>
int oofem::FloatArrayF< N >::size ( ) const
inline

Returns the size of receiver.

Definition at line 146 of file floatarrayf.h.

References N.

Referenced by oofem::FloatArray::FloatArray(), givePackSize(), giveSize(), oofem::operator<<(), and oofem::FloatArray::operator=().

◆ storeYourself()

template<std::size_t N>
contextIOResultType oofem::FloatArrayF< N >::storeYourself ( DataStream & stream) const
inline

Definition at line 223 of file floatarrayf.h.

References oofem::CIO_IOERR, oofem::CIO_OK, and oofem::DataStream::write().

Member Data Documentation

◆ values

template<std::size_t N>
std::array< double, N > oofem::FloatArrayF< N >::values
protected

Stored values.

Definition at line 87 of file floatarrayf.h.

Referenced by data(), data(), FloatArrayF(), FloatArrayF(), FloatArrayF(), FloatArrayF(), operator=(), operator[](), and operator[]().


The documentation for this class was generated from the following files:

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011