105 #include "utility/matrix/nDarray/nDarray.h" 106 #include "tmpl_operators.h" 120 mutable std::string indices2;
123 BJtensor(
int rank_of_BJtensor=1,
const double &initval=0);
124 BJtensor(
const std::vector<int> &pdim,
const double *values);
125 BJtensor(
const std::vector<int> &pdim,
const std::vector<double> &values);
126 BJtensor(
const std::vector<int> &pdim,
const boost::python::list &l);
127 BJtensor(
const boost::python::list &,
const boost::python::list &);
128 BJtensor(
const std::vector<int> &pdim,
const double &initvalue);
129 BJtensor(
const std::string &flag,
const std::vector<int> &pdim);
141 BJtensor operator*(
const double &rval)
const;
157 double determinant(
void)
const;
158 BJmatrix BJtensor2BJmatrix_1(
void)
const;
161 BJmatrix BJtensor2BJmatrix_2(
void)
const;
164 BJmatrix BJtensor2BJmatrix_3(
void)
const;
172 inline const double &operator()(
int first)
const 173 {
return nDarray::operator()(first); }
175 inline double &operator()(
int first)
176 {
return nDarray::operator()(first); }
178 inline const double &operator()(
int first,
int second)
const 179 {
return nDarray::operator()(first, second); }
181 inline double &operator()(
int first,
int second)
182 {
return nDarray::operator()(first, second); }
184 inline const double &operator()(
int first,
int second,
int third)
const 185 {
return nDarray::operator()(first, second, third); }
187 inline double &operator()(
int first,
int second,
int third)
188 {
return nDarray::operator()(first, second, third); }
190 inline const double &operator()(
int first,
int second,
int third,
int fourth)
const 191 {
return nDarray::operator()(first, second, third, fourth); }
193 inline double &operator()(
int first,
int second,
int third,
int fourth)
194 {
return nDarray::operator()(first, second, third, fourth); }
196 const BJtensor &operator()(
const std::string &)
const;
198 void null_indices(
void)
const;
199 const std::string &f_indices1(
void)
const;
200 const std::string &f_indices2(
void)
const;
205 int contracted_ind(
const std::string &,
const std::string &, std::vector<int> &, std::vector<int> &,
int ,
int )
const;
206 int uncontracted_ind(std::vector<int> &, std::vector<int> &,
int)
const;
nDarray operator-()
unary minus
Definition: nDarray.cpp:798
BJtensor & operator-=(const BJtensor &rval)
Subtraction.
Definition: BJtensor.cpp:178
Base class for strain and stress tensors.
Definition: stress_strain_tensor.h:42
BJtensor transposeunderbar() const
Definition: BJtensor.cpp:725
Stress tensor.
Definition: stresst.h:70
BJtensor & operator*=(const double &rval)
Scalar multiplication. Optimized by Zhao Oct2005.
Definition: BJtensor.cpp:220
std::string indices1
character array of indices
Definition: BJtensor.h:119
BJtensor transpose0110() const
Definition: BJtensor.cpp:647
BJtensor transpose1001() const
Definition: BJtensor.cpp:785
BJtensor transpose1100() const
Definition: BJtensor.cpp:745
Boris Jeremic tensor class.
Definition: BJtensor.h:112
BJtensor transpose11() const
Definition: BJtensor.cpp:808
BJtensor transpose0101() const
Definition: BJtensor.cpp:686
BJtensor & operator+=(const BJtensor &rval)
Addition.
Definition: BJtensor.cpp:171
n-dimensional array.
Definition: nDarray.h:242
BJtensor transposeoverbar() const
Definition: BJtensor.cpp:667
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Boris Jeremic matrix class.
Definition: BJmatrix.h:104
BJtensor transpose0111() const
Definition: BJtensor.cpp:706
nDarray operator+(const double &rval)
scalar addition
Definition: nDarray.cpp:730
BJtensor(int rank_of_BJtensor=1, const double &initval=0)
Default constructor.
Definition: BJtensor.cpp:106
BJtensor transpose0011() const
Definition: BJtensor.cpp:765
BJtensor symmetrize11() const
Definition: BJtensor.cpp:826
Strain tensor.
Definition: straint.h:68