|
OOFEM 3.0
|
#include <strainvector.h>
Public Member Functions | |
| StrainVector (MaterialMode) | |
| Constructor. Creates zero value stress/strain vector for given material mode. | |
| StrainVector (const FloatArray &, MaterialMode) | |
| Constructor. Creates stress/strain vector, values taken from given vector, mode is parameter. | |
| ~StrainVector () | |
| Destructor. | |
| void | computePrincipalValues (FloatArray &answer) const override |
| void | computePrincipalValDir (FloatArray &answer, FloatMatrix &dir) const override |
| void | computeMaxPrincipalDir (FloatArray &answer) const |
| void | computeDeviatoricVolumetricSplit (StrainVector &answer, double &vol) const |
| void | computeDeviatoricVolumetricSum (StrainVector &answer, const double vol) const |
| void | printYourself () const override |
| double | computeVolumeChange () const |
| double | computeStrainNorm () const |
| void | applyElasticStiffness (StressVector &stress, const double EModulus, const double nu) const |
| void | applyDeviatoricElasticStiffness (StressVector &stress, const double EModulus, const double nu) const |
| void | applyDeviatoricElasticStiffness (StressVector &stress, const double GModulus) const |
| Public Member Functions inherited from oofem::StressStrainBaseVector | |
| StressStrainBaseVector (MaterialMode) | |
| Constructor. Creates zero value stress/strain vector for given material mode. | |
| StressStrainBaseVector (const FloatArray &, MaterialMode) | |
| Constructor. Creates stress/strain vector, values taken from given vector, mode is parameter. | |
| ~StressStrainBaseVector () | |
| Destructor. | |
| StressStrainBaseVector & | operator= (const StressStrainBaseVector &) |
| MaterialMode | giveStressStrainMode () const |
| Returns the material mode of receiver. | |
| void | letStressStrainModeBe (const MaterialMode newMode) |
| void | convertToFullForm (FloatArray &fullform) const |
| void | convertFromFullForm (const FloatArray &reducedform, MaterialMode mode) |
| void | transformTo (StressStrainBaseVector &answer, const FloatMatrix &base, int transpose=0) const |
| contextIOResultType | storeYourself (DataStream &stream) |
| contextIOResultType | restoreYourself (DataStream &stream) |
| double | computeVolumetricPart () const |
| Returns the volumetric part of the vector. | |
| Public Member Functions inherited from oofem::FloatArray | |
| FloatArray & | operator= (const double &) |
| Assignment of scalar to all components of receiver. | |
| std::vector< double >::iterator | begin () |
| std::vector< double >::iterator | end () |
| std::vector< double >::const_iterator | begin () const |
| std::vector< double >::const_iterator | end () const |
| FloatArray (int n=0) | |
| Constructor for sized array. Data is zeroed. | |
| FloatArray (double)=delete | |
| Disallow double parameter, which can otherwise give unexpected results. | |
| FloatArray (const FloatArray &src) | |
| Copy constructor. Creates the array from another array. | |
| FloatArray (FloatArray &&src) noexcept | |
| Move constructor. Creates the array from another array. | |
| FloatArray & | operator= (const FloatArray &src) |
| Assignment operator. | |
| FloatArray & | operator= (FloatArray &&src) noexcept |
| Move operator. | |
| const double * | data () const |
| double * | data () |
| double & | operator() (Index i) |
| double & | operator[] (Index i) |
| const double & | operator() (Index i) const |
| const double & | operator[] (Index i) const |
| void | resize (Index s) |
| Index | size () const |
| void | _resize_internal (Index newsize) |
| FloatArray (std ::initializer_list< double >list) | |
| Initializer list constructor. | |
| template<std::size_t N> | |
| FloatArray (const FloatArrayF< N > &src) | |
| virtual | ~FloatArray () |
| Destructor. | |
| FloatArray & | operator= (std ::initializer_list< double >list) |
| Assignment operator. | |
| template<std::size_t N> | |
| FloatArray & | operator= (const FloatArrayF< N > &src) |
| Assign from fixed size array. | |
| bool | isAllFinite () const |
| Returns true if no element is NAN or infinite. | |
| double & | at (Index i) |
| double | at (Index i) const |
| void | checkBounds (Index i) const |
| void | checkSizeTowards (const IntArray &loc) |
| void | resizeWithValues (Index s, std::size_t allocChunk=0) |
| void | clear () |
| bool | containsOnlyZeroes () const |
| Index | giveSize () const |
| Returns the size of receiver. | |
| bool | isNotEmpty () const |
| Returns true if receiver is not empty. | |
| bool | isEmpty () const |
| Returns true if receiver is empty. | |
| void | negated () |
| virtual void | printYourself (const std::string &name) const |
| virtual void | printYourselfToFile (const std::string filename, const bool showDimensions=true) const |
| virtual void | pY () const |
| void | zero () |
| Zeroes all coefficients of receiver. | |
| void | beProductOf (const FloatMatrix &aMatrix, const FloatArray &anArray) |
| void | beTProductOf (const FloatMatrix &aMatrix, const FloatArray &anArray) |
| void | beVectorProductOf (const FloatArray &v1, const FloatArray &v2) |
| void | beScaled (double s, const FloatArray &b) |
| void | add (const FloatArray &src) |
| void | add (double factor, const FloatArray &b) |
| void | plusProduct (const FloatMatrix &b, const FloatArray &s, double dV) |
| void | add (double offset) |
| void | subtract (const FloatArray &src) |
| void | times (double s) |
| void | beMaxOf (const FloatArray &a, const FloatArray &b) |
| void | beMinOf (const FloatArray &a, const FloatArray &b) |
| void | beDifferenceOf (const FloatArray &a, const FloatArray &b) |
| void | beDifferenceOf (const FloatArray &a, const FloatArray &b, Index n) |
| void | beSubArrayOf (const FloatArray &src, const IntArray &indx) |
| void | addSubVector (const FloatArray &src, Index si) |
| void | assemble (const FloatArray &fe, const IntArray &loc) |
| void | assembleSquared (const FloatArray &fe, const IntArray &loc) |
| void | copySubVector (const FloatArray &src, int si) |
| double | distance (const FloatArray &x) const |
| double | distance (const FloatArray *x) const |
| double | distance (const FloatArray &iP1, const FloatArray &iP2, double &oXi, double &oXiUnbounded) const |
| double | distance_square (const FloatArray &iP1, const FloatArray &iP2, double &oXi, double &oXiUnbounded) const |
| double | distance_square (const FloatArray &x) const |
| int | giveIndexMinElem (void) |
| int | giveIndexMaxElem (void) |
| double | dotProduct (const FloatArray &x) const |
| double | dotProduct (const FloatArray &x, Index size) const |
| double | normalize_giveNorm () |
| void | normalize () |
| double | computeNorm () const |
| double | computeSquaredNorm () const |
| double | sum () const |
| double | product () const |
| void | rotatedWith (FloatMatrix &r, char mode) |
| const double * | givePointer () const |
| double * | givePointer () |
| void | beVectorForm (const FloatMatrix &aMatrix) |
| void | beSymVectorForm (const FloatMatrix &aMatrix) |
| void | beSymVectorFormOfStrain (const FloatMatrix &aMatrix) |
| void | changeComponentOrder () |
| void | power (const double exponent) |
| void | beColumnOf (const FloatMatrix &mat, int col) |
| void | beRowOf (const FloatMatrix &mat, Index row) |
| contextIOResultType | storeYourself (DataStream &stream) const |
| contextIOResultType | restoreYourself (DataStream &stream) |
| int | givePackSize (DataStream &buff) const |
Protected Member Functions | |
| void | giveTranformationMtrx (FloatMatrix &answer, const FloatMatrix &base, int transpose=0) const override |
Additional Inherited Members | |
| typedef double | Scalar |
| static FloatArray | fromVector (const std::vector< double > &v) |
| static FloatArray | fromList (const std::list< double > &l) |
| static FloatArray | fromConcatenated (std::initializer_list< FloatArray > ini) |
| static FloatArray | fromIniList (std::initializer_list< double > ini) |
| static constexpr int | Dim = 1 |
| Protected Attributes inherited from oofem::StressStrainBaseVector | |
| StressStrainMatMode | mode |
| Stress strain mode. | |
| Protected Attributes inherited from oofem::FloatArray | |
| std::vector< double > | values |
| Stored values. | |
Specialization of a floating point array for representing a strain state.
Definition at line 45 of file strainvector.h.
| oofem::StrainVector::StrainVector | ( | MaterialMode | m | ) |
Constructor. Creates zero value stress/strain vector for given material mode.
Definition at line 43 of file strainvector.C.
References oofem::StressStrainBaseVector::StressStrainBaseVector().
Referenced by applyDeviatoricElasticStiffness(), applyElasticStiffness(), computeDeviatoricVolumetricSplit(), computeDeviatoricVolumetricSum(), computeStrainNorm(), computeVolumeChange(), and printYourself().
| oofem::StrainVector::StrainVector | ( | const FloatArray & | src, |
| MaterialMode | m ) |
Constructor. Creates stress/strain vector, values taken from given vector, mode is parameter.
Definition at line 46 of file strainvector.C.
References oofem::StressStrainBaseVector::StressStrainBaseVector().
|
inline |
Destructor.
Definition at line 53 of file strainvector.h.
| void oofem::StrainVector::applyDeviatoricElasticStiffness | ( | StressVector & | stress, |
| const double | EModulus, | ||
| const double | nu ) const |
Applies the elastic stiffness to the deviatoric strain.
| stress | Computed stress. |
| EModulus | Elasticity modulus of the material. |
| nu | Poisson's ratio of the material. |
Definition at line 402 of file strainvector.C.
References applyDeviatoricElasticStiffness().
Referenced by applyDeviatoricElasticStiffness().
| void oofem::StrainVector::applyDeviatoricElasticStiffness | ( | StressVector & | stress, |
| const double | GModulus ) const |
Applies the elastic stiffness to the deviatoric strain.
| stress | Computed stress. |
| GModulus | Shear modulus of the material |
Definition at line 414 of file strainvector.C.
References oofem::StressStrainBaseVector::giveStressStrainMode(), oofem::StressStrainBaseVector::letStressStrainModeBe(), OOFEM_ERROR, StrainVector(), and oofem::FloatArray::values.
| void oofem::StrainVector::applyElasticStiffness | ( | StressVector & | stress, |
| const double | EModulus, | ||
| const double | nu ) const |
Applies the elastic stiffness to the strain.
| stress | Computed stress. |
| EModulus | Elasticity modulus of the material. |
| nu | Poisson's ratio of the material |
Definition at line 359 of file strainvector.C.
References oofem::StressStrainBaseVector::giveStressStrainMode(), OOFEM_ERROR, StrainVector(), and oofem::FloatArray::values.
Referenced by oofem::RankineMat::performPlasticityReturn().
| void oofem::StrainVector::computeDeviatoricVolumetricSplit | ( | StrainVector & | answer, |
| double & | vol ) const |
Computes split of receiver into deviatoric and volumetric part.
| answer | Deviatoric strain. |
| vol | Volumetric strain. |
Definition at line 50 of file strainvector.C.
References oofem::FloatArray::at(), oofem::StressStrainBaseVector::giveStressStrainMode(), OOFEM_ERROR, and StrainVector().
| void oofem::StrainVector::computeDeviatoricVolumetricSum | ( | StrainVector & | answer, |
| const double | vol ) const |
Computes sum of deviatoric and volumetric part.
| answer | Total strain. |
| vol | Volumetric strain. |
Definition at line 77 of file strainvector.C.
References oofem::StressStrainBaseVector::giveStressStrainMode(), OOFEM_ERROR, and StrainVector().
| void oofem::StrainVector::computeMaxPrincipalDir | ( | FloatArray & | answer | ) | const |
Computes the principal direction of the receiver associated with the maximum principal value.
| answer | Principal direction. |
Definition at line 182 of file strainvector.C.
References oofem::FloatMatrix::at(), computePrincipalValDir(), and oofem::FloatArray::giveSize().
Referenced by oofem::PlaneStress2d::giveCharacteristicSize().
|
overridevirtual |
Computes the principal values and principal directions of the receiver. The principal values are ordered from the largest to the smallest.
| answer | Principal values. |
| dir | Principal directions (first index refers to component, second index to eigenvalue number). |
Implements oofem::StressStrainBaseVector.
Definition at line 199 of file strainvector.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::StressStrainBaseVector::convertToFullForm(), oofem::FloatArray::giveSize(), oofem::StressStrainBaseVector::giveStressStrainMode(), oofem::FloatMatrix::jaco_(), oofem::FloatArray::resize(), oofem::FloatMatrix::resize(), oofem::FloatArray::size(), and oofem::FloatArray::zero().
Referenced by oofem::IsotropicDamageMaterial1::computeEta(), and computeMaxPrincipalDir().
|
overridevirtual |
Computes the principal values of the receiver.
| answer | Principal values. |
Implements oofem::StressStrainBaseVector.
Definition at line 103 of file strainvector.C.
References oofem::FloatArray::at(), oofem::StressStrainBaseVector::convertToFullForm(), oofem::cubic3r(), oofem::FloatArray::giveSize(), oofem::StressStrainBaseVector::giveStressStrainMode(), oofem::FloatArray::resize(), oofem::FloatArray::size(), and oofem::FloatArray::zero().
| double oofem::StrainVector::computeStrainNorm | ( | ) | const |
Computes the tensorial norm of the strain in engineering notation.
Definition at line 332 of file strainvector.C.
References oofem::StressStrainBaseVector::giveStressStrainMode(), StrainVector(), and oofem::FloatArray::values.
| double oofem::StrainVector::computeVolumeChange | ( | ) | const |
Computes the change of volume.
Definition at line 310 of file strainvector.C.
References oofem::StressStrainBaseVector::giveStressStrainMode(), StrainVector(), and oofem::FloatArray::values.
|
overrideprotectedvirtual |
Computes 3d transformation matrix from standard vector transformation matrix.
| answer | transformation matrix for strain vector |
| base | (3,3) matrix, where on each column are stored unit direction vectors of local coordinate axes to which we do transformation. |
| transpose | If transpose == 1 then transpose base matrix before transforming |
Implements oofem::StressStrainBaseVector.
Definition at line 465 of file strainvector.C.
References oofem::FloatMatrix::at(), oofem::FloatMatrix::beTranspositionOf(), oofem::FloatMatrix::resize(), and oofem::transpose().
|
overridevirtual |
Prints receiver on stdout, useful for debugging
Reimplemented from oofem::FloatArray.
Definition at line 295 of file strainvector.C.
References oofem::StressStrainBaseVector::mode, StrainVector(), and oofem::FloatArray::values.