|
FrictionQPotFEM 0.23.3
|
Similar to LocalTriggerFineLayerFull, with the difference that only a (small) group of elements around the triggered element is considered to compute the energy barriers. More...
#include <FrictionQPotFEM/UniformSingleLayer2d.h>


Public Member Functions | |
| LocalTriggerFineLayer (const System &sys, size_t roi=5) | |
| Constructor. More... | |
| array_type::tensor< double, 2 > | slice (const array_type::tensor< double, 2 > &arg, size_t e) const override |
| Select values in the region of interest around a plastic element. More... | |
| array_type::tensor< double, 4 > | slice (const array_type::tensor< double, 4 > &arg, size_t e) const override |
| Select values in the region of interest around a plastic element. More... | |
| array_type::tensor< double, 4 > | Eps_s (size_t trigger_plastic) const override |
| Integration point strain tensors for LocalTriggerFineLayerFull::u_s. More... | |
| array_type::tensor< double, 4 > | Eps_p (size_t trigger_plastic) const override |
| Integration point strain tensors for LocalTriggerFineLayerFull::u_p. More... | |
| array_type::tensor< double, 4 > | Sig_s (size_t trigger_plastic) const override |
| Integration point stress tensors for LocalTriggerFineLayerFull::u_s. More... | |
| array_type::tensor< double, 4 > | Sig_p (size_t trigger_plastic) const override |
| Integration point stress tensors for LocalTriggerFineLayerFull::u_p. More... | |
Public Member Functions inherited from FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull | |
| LocalTriggerFineLayerFull (const System &sys) | |
| Constructor, reading the basic properties of the System, and computing the perturbation for all plastic elements. More... | |
| array_type::tensor< double, 2 > | u_s (size_t trigger_plastic) const |
| Displacement field for the simple shear eigen-stress applied to a specific element. More... | |
| array_type::tensor< double, 2 > | u_p (size_t trigger_plastic) const |
| Displacement field for the pure shear eigen-stress applied to a specific element. More... | |
| virtual array_type::tensor< double, 4 > | Eps_s (size_t trigger_plastic) const |
| Integration point strain tensors for LocalTriggerFineLayerFull::u_s. More... | |
| virtual array_type::tensor< double, 4 > | Eps_p (size_t trigger_plastic) const |
| Integration point strain tensors for LocalTriggerFineLayerFull::u_p. More... | |
| virtual array_type::tensor< double, 4 > | Sig_s (size_t trigger_plastic) const |
| Integration point stress tensors for LocalTriggerFineLayerFull::u_s. More... | |
| virtual array_type::tensor< double, 4 > | Sig_p (size_t trigger_plastic) const |
| Integration point stress tensors for LocalTriggerFineLayerFull::u_p. More... | |
| virtual array_type::tensor< double, 2 > | slice (const array_type::tensor< double, 2 > &arg, size_t e) const |
| Empty function, used by LocalTriggerFineLayer. More... | |
| virtual array_type::tensor< double, 4 > | slice (const array_type::tensor< double, 4 > &arg, size_t e) const |
| Empty function, used by LocalTriggerFineLayer. More... | |
| void | setState (const array_type::tensor< double, 4 > &Eps, const array_type::tensor< double, 4 > &Sig, const array_type::tensor< double, 2 > &epsy, size_t N=100) |
| Set current state and compute energy barriers to reach the specified yield surface (for all plastic elements). More... | |
| void | setStateMinimalSearch (const array_type::tensor< double, 4 > &Eps, const array_type::tensor< double, 4 > &Sig, const array_type::tensor< double, 2 > &epsy) |
| Set current state and compute energy barriers to reach the specified yield surface (for all plastic elements). More... | |
| void | setStateSimpleShear (const array_type::tensor< double, 4 > &Eps, const array_type::tensor< double, 4 > &Sig, const array_type::tensor< double, 2 > &epsy) |
| Set current state and compute energy barriers to reach the specified yield surface, for a purely simple shear perturbation (for all plastic elements) More... | |
| array_type::tensor< double, 2 > | barriers () const |
| Get all energy barriers, as energy density. More... | |
| const array_type::tensor< double, 2 > & | p () const |
The energy barrier in LocalTriggerFineLayerFull::barriers is reached with a displacement LocalTriggerFineLayerFull::delta_u = p * LocalTriggerFineLayerFull::u_p + s * LocalTriggerFineLayerFull::u_s. More... | |
| const array_type::tensor< double, 2 > & | s () const |
The energy barrier in LocalTriggerFineLayerFull::barriers is reached with a displacement LocalTriggerFineLayerFull::delta_u = p * LocalTriggerFineLayerFull::u_p + s * LocalTriggerFineLayerFull::u_s. More... | |
| const array_type::tensor< double, 2 > & | dgamma () const |
| Simple shear mode for all integration points of the triggered element, for all elements. More... | |
| const array_type::tensor< double, 2 > & | dE () const |
| Pure shear mode for all integration points of the triggered element, for all elements. More... | |
| array_type::tensor< double, 2 > | delta_u (size_t e, size_t q) const |
| The energy barrier in LocalTriggerFineLayerFull::barriers is reached with this displacement field. More... | |
Protected Attributes | |
| std::vector< array_type::tensor< size_t, 1 > > | m_elemslice |
| Region-of-interest (ROI) per plastic element. More... | |
| std::vector< array_type::tensor< double, 4 > > | m_Eps_s_slice |
| LocalTriggerFineLayerFull::m_Eps_s for the ROI only. More... | |
| std::vector< array_type::tensor< double, 4 > > | m_Eps_p_slice |
| LocalTriggerFineLayerFull::m_Eps_p for the ROI only. More... | |
| std::vector< array_type::tensor< double, 4 > > | m_Sig_s_slice |
| LocalTriggerFineLayerFull::m_Sig_s for the ROI only. More... | |
| std::vector< array_type::tensor< double, 4 > > | m_Sig_p_slice |
| LocalTriggerFineLayerFull::m_Sig_p for the ROI only. More... | |
Protected Attributes inherited from FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull | |
| size_t | m_nip |
| Number of integration points. More... | |
| size_t | m_nelem_plas |
| Number of plastic elements. More... | |
| array_type::tensor< size_t, 1 > | m_elem_plas |
| Plastic elements. More... | |
| std::vector< array_type::tensor< double, 2 > > | m_u_s |
| Perturbation for each plastic element. More... | |
| std::vector< array_type::tensor< double, 2 > > | m_u_p |
| Displacement field for pure shear perturbation. More... | |
| std::vector< array_type::tensor< double, 4 > > | m_Eps_s |
| Strain field for simple shear perturbation. More... | |
| std::vector< array_type::tensor< double, 4 > > | m_Eps_p |
| Strain field for pure shear perturbation. More... | |
| std::vector< array_type::tensor< double, 4 > > | m_Sig_s |
| Stress field for simple shear perturbation. More... | |
| std::vector< array_type::tensor< double, 4 > > | m_Sig_p |
| Stress field for pure shear perturbation. More... | |
| std::vector< array_type::tensor< size_t, 1 > > | m_nodemap |
| Node-map for the roll. More... | |
| std::vector< array_type::tensor< size_t, 1 > > | m_elemmap |
| Element-map for the roll. More... | |
| array_type::tensor< double, 2 > | m_dV |
| Integration point volume. More... | |
| double | m_V |
| Volume of a plastic element: assumed homogeneous! More... | |
| std::array< size_t, 4 > | m_shape_T2 |
| Shape of an integration point tensor. More... | |
| array_type::tensor< double, 2 > | m_smin |
| value of "s" at minimal work "W" [nip, N] More... | |
| array_type::tensor< double, 2 > | m_pmin |
| value of "p" at minimal work "W" [nip, N] More... | |
| array_type::tensor< double, 2 > | m_Wmin |
| value of minimal work "W" [nip, N] More... | |
| array_type::tensor< double, 2 > | m_dgamma |
| Strain change in the element for each plastic element:: More... | |
| array_type::tensor< double, 2 > | m_dE |
| == Eps_p(plastic(e), q, 0, 0) [nip, N] More... | |
Additional Inherited Members | |
Protected Member Functions inherited from FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull | |
| template<class T > | |
| void | computePerturbation (size_t trigger_plastic, const array_type::tensor< double, 2 > &sig_star, array_type::tensor< double, 2 > &u, array_type::tensor< double, 4 > &Eps, array_type::tensor< double, 4 > &Sig, GooseFEM::MatrixPartitioned &K, GooseFEM::MatrixPartitionedSolver<> &solver, const GooseFEM::Element::Quad4::Quadrature &quad, const GooseFEM::VectorPartitioned &vector, T &material) |
| Compute the displacement response to an eigen-stress applied to a plastic element. More... | |
Similar to LocalTriggerFineLayerFull, with the difference that only a (small) group of elements around the triggered element is considered to compute the energy barriers.
The should speed-up the evaluation of the energy barriers significantly.
Definition at line 1105 of file UniformSingleLayer2d.h.
|
inline |
Constructor.
| sys | System. |
| roi | Edge size of the square box encapsulating the triggered element. See GooseFEM::Mesh::Quad4::FineLayer::elementgrid_around_ravel. |
Definition at line 1119 of file UniformSingleLayer2d.h.
|
inlineoverridevirtual |
Integration point strain tensors for LocalTriggerFineLayerFull::u_p.
This function takes the index of the plastic element; the real element number is obtained by LocalTriggerFineLayerFull::m_elem_plas(trigger_plastic). Function reads from memory, all computations are done in the constructor.
| trigger_plastic | Index of the plastic element. |
Reimplemented from FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull.
Definition at line 1181 of file UniformSingleLayer2d.h.
|
inlineoverridevirtual |
Integration point strain tensors for LocalTriggerFineLayerFull::u_s.
This function takes the index of the plastic element; the real element number is obtained by LocalTriggerFineLayerFull::m_elem_plas(trigger_plastic). Function reads from memory, all computations are done in the constructor.
| trigger_plastic | Index of the plastic element. |
Reimplemented from FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull.
Definition at line 1175 of file UniformSingleLayer2d.h.
|
inlineoverridevirtual |
Integration point stress tensors for LocalTriggerFineLayerFull::u_p.
This function takes the index of the plastic element; the real element number is obtained by LocalTriggerFineLayerFull::m_elem_plas(trigger_plastic). Function reads from memory, all computations are done in the constructor.
| trigger_plastic | Index of the plastic element. |
Reimplemented from FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull.
Definition at line 1193 of file UniformSingleLayer2d.h.
|
inlineoverridevirtual |
Integration point stress tensors for LocalTriggerFineLayerFull::u_s.
This function takes the index of the plastic element; the real element number is obtained by LocalTriggerFineLayerFull::m_elem_plas(trigger_plastic). Function reads from memory, all computations are done in the constructor.
| trigger_plastic | Index of the plastic element. |
Reimplemented from FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull.
Definition at line 1187 of file UniformSingleLayer2d.h.
|
inlineoverridevirtual |
Select values in the region of interest around a plastic element.
| arg | Integration point scalar. |
| e | Index of the plastic element. |
arg for the region of interest around e. Reimplemented from FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull.
Definition at line 1157 of file UniformSingleLayer2d.h.
|
inlineoverridevirtual |
Select values in the region of interest around a plastic element.
| arg | Integration point tensor. |
| e | Index of the plastic element. |
arg for the region of interest around e. Reimplemented from FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull.
Definition at line 1170 of file UniformSingleLayer2d.h.
|
protected |
Region-of-interest (ROI) per plastic element.
Definition at line 1201 of file UniformSingleLayer2d.h.
|
protected |
LocalTriggerFineLayerFull::m_Eps_p for the ROI only.
Definition at line 1205 of file UniformSingleLayer2d.h.
|
protected |
LocalTriggerFineLayerFull::m_Eps_s for the ROI only.
Definition at line 1203 of file UniformSingleLayer2d.h.
|
protected |
LocalTriggerFineLayerFull::m_Sig_p for the ROI only.
Definition at line 1209 of file UniformSingleLayer2d.h.
|
protected |
LocalTriggerFineLayerFull::m_Sig_s for the ROI only.
Definition at line 1207 of file UniformSingleLayer2d.h.