41 #include "../sm/Materials/structuralmaterial.h" 64 if (
this != & src ) {
78 if (
mode == _3dMat ) {
95 if ( mode == _3dMat ) {
101 for (
int i = 1; i <= 6; i++ ) {
102 this->
at(i) = vector.
at(i);
109 for (
int i = 1; i <= indx.
giveSize(); i++ ) {
111 if ( ( j = indx.
at(i) ) ) {
112 this->
at(i) = vector.
at(j);
145 if ( !stream.
read(val) ) {
191 if ( myMode == _1dMat ) {
195 }
else if ( myMode == _PlaneStress ) {
201 return ( this->
at(1) + this->
at(2) + this->
at(3) ) / 3.0;
static int giveSizeOfVoigtSymVector(MaterialMode mmode)
Returns the size of symmetric part of a reduced stress/strain vector according to given mode...
static int giveVoigtSymVectorMask(IntArray &answer, MaterialMode mmode)
The same as giveVoigtVectorMask but returns a mask corresponding to a symmetric second order tensor...
std::vector< double > values
Stored values.
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
contextIOResultType storeYourself(DataStream &stream) const
StressStrainBaseVector(MaterialMode)
Constructor. Creates zero value stress/strain vector for given material mode.
MaterialMode giveStressStrainMode() const
Returns the material mode of receiver.
double & at(int i)
Coefficient access function.
void convertToFullForm(FloatArray &fullform) const
Computes the full form of receiver.
StressStrainMatMode mode
Stress strain mode.
contextIOResultType restoreYourself(DataStream &stream)
MaterialMode
Type representing material mode of integration point.
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
virtual int read(int *data, int count)=0
Reads count integer values into array pointed by data.
Base class for stress/strain vector representations.
virtual int write(const int *data, int count)=0
Writes count integer values from array pointed by data.
const char * __MaterialModeToString(MaterialMode _value)
double computeVolumetricPart() const
Returns the volumetric part of the vector.
contextIOResultType restoreYourself(DataStream &stream)
void beProductOf(const FloatMatrix &aMatrix, const FloatArray &anArray)
Receiver becomes the result of the product of aMatrix and anArray.
StressStrainBaseVector & operator=(const StressStrainBaseVector &)
Assignment operator.
Class representing vector of real numbers.
void transformTo(StressStrainBaseVector &answer, const FloatMatrix &base, int transpose=0) const
Transforms receiver vector into another coordinate system.
Implementation of matrix containing floating point numbers.
void assemble(const FloatArray &fe, const IntArray &loc)
Assembles the array fe (typically, the load vector of a finite element) into the receiver, using loc as location array.
void zero()
Zeroes all coefficients of receiver.
contextIOResultType storeYourself(DataStream &stream)
void convertFromFullForm(const FloatArray &reducedform, MaterialMode mode)
Assign to receiver the reduced form of given vector.
virtual void giveTranformationMtrx(FloatMatrix &answer, const FloatMatrix &base, int transpose=0) const =0
Computes 3d transformation matrix from standard vector transformation matrix.
MaterialMode StressStrainMatMode
int giveSize() const
Returns the size of receiver.
the oofem namespace is to define a context or scope in which all oofem names are defined.
void letStressStrainModeBe(const MaterialMode newMode)
Changes the material mode of receiver.
void resize(int s)
Resizes receiver towards requested size.