|
template<class T > |
| Elastic (const T &K, const T &G) |
| Construct system. More...
|
|
const array_type::tensor< double, N > & | K () const |
| Bulk modulus per item. More...
|
|
const array_type::tensor< double, N > & | G () const |
| Shear modulus per item. More...
|
|
template<class T > |
void | set_Eps (const T &arg) |
| Set strain tensors. More...
|
|
virtual void | refresh (bool compute_tangent=true) |
| Recompute stress from strain. More...
|
|
const array_type::tensor< double, N+2 > & | Eps () const |
| Strain tensor per item. More...
|
|
array_type::tensor< double, N+2 > & | Eps () |
| Strain tensor per item. More...
|
|
const array_type::tensor< double, N+2 > & | Sig () const |
| Stress tensor per item. More...
|
|
const array_type::tensor< double, N+4 > & | C () const |
| Tangent tensor per item. More...
|
|
virtual array_type::tensor< double, N > | energy () const |
| Potential energy per item. More...
|
|
| Array (const std::array< size_t, N > &shape) |
| Constructor. More...
|
|
const std::array< size_t, N > & | shape () const |
| Shape of the array (of scalars). More...
|
|
const std::array< size_t, N+2 > & | shape_tensor2 () const |
| Shape of the array of second-order tensors. More...
|
|
const std::array< size_t, N+4 > & | shape_tensor4 () const |
| Shape of the array of fourth-order tensors. More...
|
|
array_type::tensor< double, N+2 > | O2 () const |
| Array of Cartesian2d::O2() More...
|
|
array_type::tensor< double, N+4 > | O4 () const |
| Array of Cartesian2d::O4() More...
|
|
array_type::tensor< double, N+2 > | I2 () const |
| Array of Cartesian2d::I2() More...
|
|
array_type::tensor< double, N+4 > | II () const |
| Array of Cartesian2d::II() More...
|
|
array_type::tensor< double, N+4 > | I4 () const |
| Array of Cartesian2d::I4() More...
|
|
array_type::tensor< double, N+4 > | I4rt () const |
| Array of Cartesian2d::I4rt() More...
|
|
array_type::tensor< double, N+4 > | I4s () const |
| Array of Cartesian2d::I4s() More...
|
|
array_type::tensor< double, N+4 > | I4d () const |
| Array of Cartesian2d::I4d() More...
|
|
|
array_type::tensor< double, N > | m_K |
| Bulk modulus per item. More...
|
|
array_type::tensor< double, N > | m_G |
| Shear modulus per item. More...
|
|
array_type::tensor< double, N+2 > | m_Eps |
| Strain tensor per item. More...
|
|
array_type::tensor< double, N+2 > | m_Sig |
| Stress tensor per item. More...
|
|
array_type::tensor< double, N+4 > | m_C |
| Tangent per item. More...
|
|
size_t | m_size |
| Size of the array (of scalars) == prod(m_shape). More...
|
|
std::array< size_t, N > | m_shape |
| Shape of the array (of scalars). More...
|
|
std::array< size_t, N+2 > | m_shape_tensor2 |
| Shape of an array of 2nd-order tensors == [m_shape, 2, 2]. More...
|
|
std::array< size_t, N+4 > | m_shape_tensor4 |
| Shape of an array of 4th-order tensors == [m_shape, 2, 2, 2, 2]. More...
|
|
template<size_t N>
class GMatElastoPlasticQPot::Cartesian2d::Elastic< N >
Array of material points with a linear elastic constitutive response.
- Template Parameters
-
Definition at line 122 of file Cartesian2d.h.
Recompute stress from strain.
From C++, this function need never be called: the API takes care of this.
For Python, this function should only be called when you modify elements of Eps(). For example
mat.Eps[e, q, 0, 1] = value
...
mat.refresh() # "Eps" was changed without "mat" knowing
Instead, if you write an nd-array, the API takes care of the refresh. I.e.
mat.Eps = new_Eps
# no further action needed, "mat" was refreshed
Note though that you can call this function as often as you like, you will only loose time.
- Parameters
-
compute_tangent | Irrelevant, ignored. |
Reimplemented in GMatElastoPlasticQPot::Cartesian2d::Cusp< N >, and GMatElastoPlasticQPot::Cartesian2d::Smooth< N >.
Definition at line 246 of file Cartesian2d.h.