|
OOFEM 3.0
|
#include <floatmatrixf.h>
Public Member Functions | |
| template<typename... V, class = typename std::enable_if_t<sizeof...(V) == N*M>> | |
| FloatMatrixF (V... x) noexcept | |
| FloatMatrixF () noexcept | |
| FloatMatrixF (const FloatMatrixF< N, M > &mat) noexcept | |
| Copy constructor. | |
| FloatMatrixF (const FloatMatrix &mat) | |
| FloatMatrix conversion constructor. | |
| FloatMatrixF & | operator= (const FloatMatrixF< N, M > &mat) |
| Assignment operator. | |
| void | checkBounds (std::size_t i, std::size_t j) const |
| std::size_t | rows () const |
| Returns number of rows of receiver. | |
| std::size_t | cols () const |
| Returns number of columns of receiver. | |
| const double * | data () const |
| double * | data () |
| double & | operator[] (std::size_t i) |
| double | operator[] (std::size_t i) const |
| double & | operator() (std::size_t i, std::size_t j) |
| double | operator() (std::size_t i, std::size_t j) const |
| template<std::size_t R, std::size_t C> | |
| FloatMatrixF< R, C > | operator() (std::size_t const (&r)[R], std::size_t const (&c)[C]) const |
| double | at (std::size_t i, std::size_t j) const |
| double & | at (std::size_t i, std::size_t j) |
| template<std::size_t R, std::size_t C> | |
| void | assemble (const FloatMatrixF< R, C > &x, int const (&r)[R], int const (&c)[C]) |
| Assemble x into self. | |
| void | setColumn (const FloatArrayF< N > &src, std::size_t c) |
| void | setRow (const FloatArrayF< M > &src, int r) |
| FloatArrayF< N > | column (std::size_t j) const |
| template<std::size_t C> | |
| at (j, i) | |
| void | printYourself (const std::string &name="FloatMatrixF") const |
| Prints matrix to stdout. Useful for debugging. | |
| const double * | givePointer () const |
| double * | givePointer () |
| contextIOResultType | storeYourself (DataStream &stream) const |
| contextIOResultType | restoreYourself (DataStream &stream) |
| int | givePackSize (DataStream &buff) const |
Static Public Member Functions | |
| static FloatMatrixF< N, M > | fromColumns (FloatArrayF< N > const (&x)[M]) noexcept |
Protected Attributes | |
| std::array< double, N *M > | values |
| Values of matrix stored column wise. | |
Implementation of matrix containing floating point numbers.
Definition at line 62 of file floatmatrixf.h.
|
inlinenoexcept |
Constructor (values are specified column-wise)
Definition at line 100 of file floatmatrixf.h.
References values.
Referenced by assemble(), FloatMatrixF(), fromColumns(), operator()(), and operator=().
|
inlinenoexcept |
|
inlinenoexcept |
Copy constructor.
Definition at line 106 of file floatmatrixf.h.
References FloatMatrixF(), and values.
|
inline |
FloatMatrix conversion constructor.
Definition at line 108 of file floatmatrixf.h.
References oofem::FloatMatrix::cols(), N, oofem::FloatMatrix::rows(), and values.
|
inline |
| oofem::FloatMatrixF< N, M >::at | ( | j | , |
| i | ) |
Extract column from matrix
|
inline |
Coefficient access function. Returns value of coefficient at given position of the receiver. Implements 1-based indexing.
| i | Row position of coefficient. |
| j | Column position of coefficient. |
Definition at line 237 of file floatmatrixf.h.
References checkBounds().
|
inline |
Coefficient access function. Returns value of coefficient at given position of the receiver. Implements 1-based indexing.
| i | Row position of coefficient. |
| j | Column position of coefficient. |
Definition at line 224 of file floatmatrixf.h.
References checkBounds().
Referenced by oofem::FEI2dQuadBiQuad::_evaldNdx(), oofem::Beam3d::B3SSMI_getUnknownsGtoLRotationMatrix(), oofem::ConcreteDPM2::compute3dTangentStiffness(), oofem::LatticeBondPlasticity::computeAMatrix(), oofem::ConcreteDPM2::computeDDCosThetaDDStress(), oofem::ConcreteDPM2::computeDDGDDInv(), oofem::ConcreteDPM2::computeDDGDDStress(), oofem::ConcreteDPM2::computeDDRhoDDStress(), oofem::LatticeBondPlasticity::computeDMMatrix(), oofem::LatticePlasticityDamage::computeDMMatrix(), oofem::ConcreteDPM2::computeFullJacobian(), oofem::ConcreteDPM2::computeJacobian(), oofem::LatticeBondPlasticity::computeJacobian(), oofem::LatticePlasticityDamage::computeJacobian(), oofem::Shell7Base::computeLambdaNMatrix(), oofem::Shell7BaseXFEM::computeLambdaNMatrixDis(), oofem::SimpleVitrificationMaterial::computeTangent(), oofem::BinghamFluidMaterial2::computeTangent3D(), oofem::TrabBone3D::constructAnisoComplTensor(), oofem::TrabBone3D::constructAnisoFabricTensor(), oofem::TrabBone3D::constructAnisoStiffnessTensor(), oofem::TrabBone3D::constructFabricTransformationMatrix(), oofem::TrabBoneEmbed::constructIsoComplTensor(), oofem::LargeStrainMasterMaterial::constructL1L2TransformationMatrices(), oofem::TrabBone3D::constructNormAdjustTensor(), oofem::TrabBone3D::constructStiffnessTransformationMatrix(), oofem::LargeStrainMasterMaterial::constructTransformationMatrix(), oofem::StructuralMaterial::convert_dSdE_2_dPdF_3D(), oofem::Tensor2_3d::eigs(), oofem::FEI2dQuadQuad::evaldNdx(), oofem::FEI2dTrQuad::evaldNdx(), oofem::FEI2dQuadLin::evaldNdxi(), oofem::RankineMat::evaluatePlaneStressStiffMtrx(), oofem::StructuralInterfaceMaterial::give1dStiffnessMatrix_dTdj_Num(), oofem::CebFipSlip90Material::give1dStiffnessMatrix_Eng(), oofem::LayeredCrossSection::give2dBeamStiffMtrx(), oofem::SimpleCrossSection::give2dBeamStiffMtrx(), oofem::LayeredCrossSection::give2dPlateStiffMtrx(), oofem::SimpleCrossSection::give2dPlateStiffMtrx(), oofem::WinklerMaterial::give2dPlateSubSoilStiffMtrx(), oofem::StructuralMaterial::give2DStrainVectorTranformationMtrx(), oofem::FiberedCrossSection::give3dBeamStiffMtrx(), oofem::SimpleCrossSection::give3dBeamStiffMtrx(), oofem::LayeredCrossSection::give3dDegeneratedShellStiffMtrx(), oofem::SimpleCrossSection::give3dDegeneratedShellStiffMtrx(), oofem::M1Material::give3dMaterialStiffnessMatrix(), oofem::MicroplaneMaterial::give3dMaterialStiffnessMatrix(), oofem::LayeredCrossSection::give3dShellStiffMtrx(), oofem::SimpleCrossSection::give3dShellStiffMtrx(), oofem::IntMatBilinearCZFagerstrom::give3dStiffnessMatrix_dTdj(), oofem::IntMatBilinearCZJansson::give3dStiffnessMatrix_dTdj(), oofem::IntMatPhaseField::give3dStiffnessMatrix_Eng(), oofem::SimpleInterfaceMaterial::give3dStiffnessMatrix_Eng(), oofem::Shell7Base::giveAxialMatrix(), oofem::LargeStrainMasterMaterial::giveFirstPKStressVector_3d(), oofem::IntMatBilinearCZFagerstrom::giveFirstPKTraction_3d(), oofem::IntMatBilinearCZFagerstromRate::giveFirstPKTraction_3d(), oofem::MITC4Shell::giveJacobian(), oofem::SimpleCrossSection::giveMembraneRotStiffMtrx(), oofem::AnisotropicDamageMaterial::givePlaneStressStiffMtrx(), oofem::MisesMat::givePlaneStressStiffMtrx(), oofem::StructuralMaterial::givePlaneStressVectorTranformationMtrx(), oofem::DruckerPragerPlasticitySM::giveRegAlgorithmicStiffMatrix(), oofem::StructuralMaterial::giveStrainVectorTranformationMtrx(), oofem::StructuralMaterial::giveStressVectorTranformationMtrx(), oofem::OrthotropicLinearElasticMaterial::giveTensorRotationMatrix(), oofem::CompoDamageMat::giveUnrotated3dMaterialStiffnessMatrix(), oofem::DruckerPragerPlasticitySM::giveVertexAlgorithmicStiffMatrix(), oofem::MITC4Shell::NodalAveragingRecoveryMI_computeNodalValue(), and oofem::Tensor4_3d::Tensor4_3d().
|
inline |
Checks size of receiver towards requested bounds.
| i | Required number of rows. |
| j | Required number of columns. |
Definition at line 136 of file floatmatrixf.h.
References N.
Referenced by at(), at(), operator()(), and operator()().
|
inline |
Returns number of columns of receiver.
Definition at line 152 of file floatmatrixf.h.
Referenced by oofem::flatten(), and printYourself().
|
inline |
Sets the values of the matrix in specified column. If matrix size is zero, the size is adjusted.
| src | Array to set at column c. |
| c | Column to set. |
Definition at line 298 of file floatmatrixf.h.
References N.
|
inline |
Definition at line 154 of file floatmatrixf.h.
References values.
|
inline |
Definition at line 153 of file floatmatrixf.h.
References values.
Referenced by givePointer(), givePointer(), restoreYourself(), and storeYourself().
|
inlinestaticnoexcept |
Definition at line 245 of file floatmatrixf.h.
References FloatMatrixF(), and N.
Referenced by oofem::Shell7BaseXFEM::edgeEvalEnrCovarBaseVectorsAt().
|
inline |
Definition at line 463 of file floatmatrixf.h.
References oofem::DataStream::givePackSizeOfDouble(), and N.
|
inline |
Definition at line 445 of file floatmatrixf.h.
References data().
|
inline |
Exposes the internal values of the matrix. Should typically not be used outside of matrix classes.
Definition at line 444 of file floatmatrixf.h.
References data().
Referenced by oofem::AbaqusUserMaterial::giveFirstPKStressVector_3d(), and oofem::AbaqusUserMaterial::giveRealStressVector_3d().
|
inline |
Extract sub matrix (can also reorder the matrix). Implements 0-based indexing.
| r | Rows to extract. |
| c | Columns to extract. |
Definition at line 207 of file floatmatrixf.h.
References FloatMatrixF().
|
inline |
Coefficient access function. Returns l-value of coefficient at given position of the receiver. Implements 0-based indexing.
| i | Row position of coefficient. |
| j | Column position of coefficient. |
Definition at line 181 of file floatmatrixf.h.
References checkBounds(), N, and values.
|
inline |
Coefficient access function. Implements 0-based indexing.
| i | Row position of coefficient. |
| j | Column position of coefficient. |
Definition at line 193 of file floatmatrixf.h.
References checkBounds(), N, and values.
|
inline |
Assignment operator.
Definition at line 125 of file floatmatrixf.h.
References FloatMatrixF(), and values.
|
inline |
Direct value access (column major). Implements 0-based indexing.
| i | Position in data. |
Definition at line 162 of file floatmatrixf.h.
References values.
|
inline |
Direct value access (column major). Implements 0-based indexing.
| i | Position in data. |
Definition at line 170 of file floatmatrixf.h.
References values.
|
inline |
Prints matrix to stdout. Useful for debugging.
Definition at line 418 of file floatmatrixf.h.
|
inline |
Definition at line 455 of file floatmatrixf.h.
References oofem::CIO_IOERR, oofem::CIO_OK, data(), N, and oofem::DataStream::read().
|
inline |
Returns number of rows of receiver.
Definition at line 150 of file floatmatrixf.h.
References N.
Referenced by oofem::Bmatrix_3d(), oofem::flatten(), and printYourself().
|
inline |
Sets the values of the matrix in specified column. If matrix size is zero, the size is adjusted.
| src | Array to set at column c. |
| c | Column to set. |
Definition at line 274 of file floatmatrixf.h.
References N.
Referenced by oofem::XfemStructuralElementInterface::computeGlobalCohesiveTractionVector(), oofem::Shell7Base::computeLambdaNMatrix(), oofem::Shell7Base::edgeEvalCovarBaseVectorsAt(), oofem::PrescribedGenStrainShell7::evalCovarBaseVectorsAt(), oofem::Shell7Base::evalCovarBaseVectorsAt(), oofem::FEI3dHexaLin::evaldNdx(), oofem::FEI3dHexaQuad::evaldNdx(), oofem::FEI3dHexaTriQuad::evaldNdx(), oofem::FEI3dTetQuad::evaldNdx(), oofem::FEI3dWedgeLin::evaldNdx(), oofem::FEI3dWedgeQuad::evaldNdx(), oofem::PrescribedGenStrainShell7::evalInitialCovarBaseVectorsAt(), oofem::Shell7Base::evalInitialCovarBaseVectorsAt(), oofem::StructuralInterfaceMaterial::give2dStiffnessMatrix_dTdj_Num(), oofem::StructuralInterfaceMaterial::give2dStiffnessMatrix_Eng_Num(), oofem::StructuralFE2Material::give3dMaterialStiffnessMatrix(), oofem::AbaqusUserMaterial::give3dMaterialStiffnessMatrix_dPdF(), oofem::MFrontUserMaterial::give3dMaterialStiffnessMatrix_dPdF(), oofem::StructuralPythonMaterial::give3dMaterialStiffnessMatrix_dPdF(), oofem::StructuralInterfaceMaterial::give3dStiffnessMatrix_dTdj_Num(), oofem::StructuralInterfaceMaterial::give3dStiffnessMatrix_Eng_Num(), oofem::StructuralFE2Material::givePlaneStrainStiffMtrx(), oofem::StructuralFE2Material::givePlaneStressStiffMtrx(), and oofem::FEInterpolation3d::surfaceGiveJacobianMatrixAt().
|
inline |
Sets the values of the matrix in specified row.
| src | Array to set at row c. |
| r | Column to set. |
Definition at line 286 of file floatmatrixf.h.
Referenced by oofem::FEContactSurface::computeContactPointLocalCoordinates_3d().
|
inline |
Definition at line 447 of file floatmatrixf.h.
References oofem::CIO_IOERR, oofem::CIO_OK, data(), N, and oofem::DataStream::write().
|
protected |
Values of matrix stored column wise.
Definition at line 93 of file floatmatrixf.h.
Referenced by data(), data(), FloatMatrixF(), FloatMatrixF(), FloatMatrixF(), FloatMatrixF(), operator()(), operator()(), operator=(), operator[](), and operator[]().