FrictionQPotFEM 0.23.3
Loading...
Searching...
No Matches
FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull Class Reference

Trigger element by a linear combination of simple shear and a pure shear perturbations. More...

#include <FrictionQPotFEM/UniformSingleLayer2d.h>

Inheritance diagram for FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull:

Public Member Functions

 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 Member Functions

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...
 

Protected Attributes

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...
 

Detailed Description

Trigger element by a linear combination of simple shear and a pure shear perturbations.

The contribution of both perturbation is computed as the minimal energy barrier needed to reach a yield surface for the triggered element, see:

The perturbations are established as the displacement field needed to reach mechanical equilibrium when an eigen-stress is applied to the triggered element (assuming elasticity everywhere). To get the two perturbations a sinple shear and pure shear eigen-stress are applied.

The configuration, including the definition of elasticity is read from the input System.

Definition at line 374 of file UniformSingleLayer2d.h.

Constructor & Destructor Documentation

◆ LocalTriggerFineLayerFull()

FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::LocalTriggerFineLayerFull ( const System sys)
inline

Constructor, reading the basic properties of the System, and computing the perturbation for all plastic elements.

The perturbations of all elements are stored internally, making the computation of the energy barriers cheap. Note that this can use significant memory.

Parameters
sysThe System (or derived class) to trigger.

Definition at line 387 of file UniformSingleLayer2d.h.

◆ ~LocalTriggerFineLayerFull()

virtual FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::~LocalTriggerFineLayerFull ( )
inlinevirtual

Definition at line 494 of file UniformSingleLayer2d.h.

Member Function Documentation

◆ barriers()

array_type::tensor< double, 2 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::barriers ( ) const
inline

Get all energy barriers, as energy density.

Shape of output: [LocalTriggerFineLayerFull::nelem_elas, LocalTriggerFineLayerFull::nip]. Function reads from memory, all computations are done in the construction and LocalTriggerFineLayerFull::setState (or one of its approximations).

Returns
Energy barriers.

Definition at line 976 of file UniformSingleLayer2d.h.

◆ computePerturbation()

template<class T >
void FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::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 
)
inlineprotected

Compute the displacement response to an eigen-stress applied to a plastic element.

Parameters
trigger_plasticIndex of the plastic element.
sig_starEigen-stress applied to trigger_plastic.
uOutput displacement field.
EpsOutput integration point strain corresponding to u.
SigOutput integration point stress corresponding to u.
KStiffness matrix of the System.
solverDiagonalisation of K.
quadNumerical quadrature of the System.
vectorBook-keeping of the System.
materialMaterial definition of the System.

Definition at line 512 of file UniformSingleLayer2d.h.

◆ dE()

const array_type::tensor< double, 2 > & FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::dE ( ) const
inline

Pure shear mode for all integration points of the triggered element, for all elements.

The output is thus::

dE(e, q) = Deviatoric(Eps_p)(plastic(e), q).
Returns
Shape [System::m_elem_plas, System::m_nip].

Definition at line 1034 of file UniformSingleLayer2d.h.

◆ delta_u()

array_type::tensor< double, 2 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::delta_u ( size_t  e,
size_t  q 
) const
inline

The energy barrier in LocalTriggerFineLayerFull::barriers is reached with this displacement field.

This function takes the index of the plastic element; the real element number is obtained by LocalTriggerFineLayerFull::m_elem_plas(e). Function reads from memory, all computations are done in the construction and LocalTriggerFineLayerFull::setState (or one of its approximations).

Parameters
eIndex of the plastic element.
qIndex of the integration point.
Returns
Nodal displacement. Shape [System::m_nelem, System::m_nip].

Definition at line 1051 of file UniformSingleLayer2d.h.

◆ dgamma()

const array_type::tensor< double, 2 > & FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::dgamma ( ) const
inline

Simple shear mode for all integration points of the triggered element, for all elements.

The output is thus::

dgamma(e, q) = Eps_s(plastic(e), q).
Returns
Shape [System::m_elem_plas, System::m_nip].

Definition at line 1021 of file UniformSingleLayer2d.h.

◆ Eps_p()

virtual array_type::tensor< double, 4 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::Eps_p ( size_t  trigger_plastic) const
inlinevirtual

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.

Parameters
trigger_plasticIndex of the plastic element.
Returns
Integration point tensor. Shape [System::m_nelem, System::m_nip, 2, 2].

Reimplemented in FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayer.

Definition at line 611 of file UniformSingleLayer2d.h.

◆ Eps_s()

virtual array_type::tensor< double, 4 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::Eps_s ( size_t  trigger_plastic) const
inlinevirtual

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.

Parameters
trigger_plasticIndex of the plastic element.
Returns
Integration point tensor. Shape [System::m_nelem, System::m_nip, 2, 2].

Reimplemented in FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayer.

Definition at line 593 of file UniformSingleLayer2d.h.

◆ p()

const array_type::tensor< double, 2 > & FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::p ( ) const
inline

The energy barrier in LocalTriggerFineLayerFull::barriers is reached with a displacement LocalTriggerFineLayerFull::delta_u = p * LocalTriggerFineLayerFull::u_p + s * LocalTriggerFineLayerFull::u_s.

This function returns the value of p. Shape of output: [LocalTriggerFineLayerFull::nelem_elas, LocalTriggerFineLayerFull::nip]. Function reads from memory, all computations are done in the construction and LocalTriggerFineLayerFull::setState (or one of its approximations).

Returns
Pure shear contribution.

Definition at line 992 of file UniformSingleLayer2d.h.

◆ s()

const array_type::tensor< double, 2 > & FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::s ( ) const
inline

The energy barrier in LocalTriggerFineLayerFull::barriers is reached with a displacement LocalTriggerFineLayerFull::delta_u = p * LocalTriggerFineLayerFull::u_p + s * LocalTriggerFineLayerFull::u_s.

This function returns the value of s. Shape of output: [LocalTriggerFineLayerFull::nelem_elas, LocalTriggerFineLayerFull::nip]. Function reads from memory, all computations are done in the construction and LocalTriggerFineLayerFull::setState (or one of its approximations).

Returns
Simple shear contribution.

Definition at line 1008 of file UniformSingleLayer2d.h.

◆ setState()

void FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::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 
)
inline

Set current state and compute energy barriers to reach the specified yield surface (for all plastic elements).

The yield surface is discretised in N steps.

Parameters
EpsIntegration point strain, see System::Eps.
SigIntegration point stress, see System::Sig.
epsyNext yield strains, see System::plastic_CurrentYieldRight.
NNumber of steps in which to discretise the yield surface.

Definition at line 694 of file UniformSingleLayer2d.h.

◆ setStateMinimalSearch()

void FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::setStateMinimalSearch ( const array_type::tensor< double, 4 > &  Eps,
const array_type::tensor< double, 4 > &  Sig,
const array_type::tensor< double, 2 > &  epsy 
)
inline

Set current state and compute energy barriers to reach the specified yield surface (for all plastic elements).

The yield surface is discretised in only 8 steps.

Parameters
EpsIntegration point strain, see System::Eps.
SigIntegration point stress, see System::Sig.
epsyNext yield strains, see System::plastic_CurrentYieldRight.

Definition at line 810 of file UniformSingleLayer2d.h.

◆ setStateSimpleShear()

void FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::setStateSimpleShear ( const array_type::tensor< double, 4 > &  Eps,
const array_type::tensor< double, 4 > &  Sig,
const array_type::tensor< double, 2 > &  epsy 
)
inline

Set current state and compute energy barriers to reach the specified yield surface, for a purely simple shear perturbation (for all plastic elements)

Parameters
EpsIntegration point strain, see System::Eps.
SigIntegration point stress, see System::Sig.
epsyNext yield strains, see System::plastic_CurrentYieldRight.

Definition at line 909 of file UniformSingleLayer2d.h.

◆ Sig_p()

virtual array_type::tensor< double, 4 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::Sig_p ( size_t  trigger_plastic) const
inlinevirtual

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.

Parameters
trigger_plasticIndex of the plastic element.
Returns
Integration point tensor. Shape [System::m_nelem, System::m_nip, 2, 2].

Reimplemented in FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayer.

Definition at line 647 of file UniformSingleLayer2d.h.

◆ Sig_s()

virtual array_type::tensor< double, 4 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::Sig_s ( size_t  trigger_plastic) const
inlinevirtual

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.

Parameters
trigger_plasticIndex of the plastic element.
Returns
Integration point tensor. Shape [System::m_nelem, System::m_nip, 2, 2].

Reimplemented in FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayer.

Definition at line 629 of file UniformSingleLayer2d.h.

◆ slice() [1/2]

virtual array_type::tensor< double, 2 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::slice ( const array_type::tensor< double, 2 > &  arg,
size_t  e 
) const
inlinevirtual

Empty function, used by LocalTriggerFineLayer.

Parameters
argIntegration point scalar.
eIndex of the plastic element.
Returns
A copy of arg.

Reimplemented in FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayer.

Definition at line 664 of file UniformSingleLayer2d.h.

◆ slice() [2/2]

virtual array_type::tensor< double, 4 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::slice ( const array_type::tensor< double, 4 > &  arg,
size_t  e 
) const
inlinevirtual

Empty function, used by LocalTriggerFineLayer.

Parameters
argIntegration point tensor.
eIndex of the plastic element.
Returns
A copy of arg.

Reimplemented in FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayer.

Definition at line 678 of file UniformSingleLayer2d.h.

◆ u_p()

array_type::tensor< double, 2 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::u_p ( size_t  trigger_plastic) const
inline

Displacement field for the pure shear eigen-stress applied to a specific element.

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.

Parameters
trigger_plasticIndex of the plastic element.
Returns
Nodal displacement. Shape [System::m_nelem, System::m_nip].

Definition at line 575 of file UniformSingleLayer2d.h.

◆ u_s()

array_type::tensor< double, 2 > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::u_s ( size_t  trigger_plastic) const
inline

Displacement field for the simple shear eigen-stress applied to a specific element.

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.

Parameters
trigger_plasticIndex of the plastic element.
Returns
Nodal displacement. Shape [System::m_nelem, System::m_nip].

Definition at line 557 of file UniformSingleLayer2d.h.

Member Data Documentation

◆ m_dE

array_type::tensor<double, 2> FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_dE
protected

== Eps_p(plastic(e), q, 0, 0) [nip, N]

Definition at line 1097 of file UniformSingleLayer2d.h.

◆ m_dgamma

array_type::tensor<double, 2> FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_dgamma
protected

Strain change in the element for each plastic element::

== Eps_s(plastic(e), q, 0, 1) [nip, N]

Definition at line 1096 of file UniformSingleLayer2d.h.

◆ m_dV

array_type::tensor<double, 2> FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_dV
protected

Integration point volume.

Definition at line 1083 of file UniformSingleLayer2d.h.

◆ m_elem_plas

array_type::tensor<size_t, 1> FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_elem_plas
protected

Plastic elements.

Definition at line 1059 of file UniformSingleLayer2d.h.

◆ m_elemmap

std::vector<array_type::tensor<size_t, 1> > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_elemmap
protected

Element-map for the roll.

Definition at line 1081 of file UniformSingleLayer2d.h.

◆ m_Eps_p

std::vector<array_type::tensor<double, 4> > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_Eps_p
protected

Strain field for pure shear perturbation.

Definition at line 1075 of file UniformSingleLayer2d.h.

◆ m_Eps_s

std::vector<array_type::tensor<double, 4> > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_Eps_s
protected

Strain field for simple shear perturbation.

Definition at line 1073 of file UniformSingleLayer2d.h.

◆ m_nelem_plas

size_t FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_nelem_plas
protected

Number of plastic elements.

Definition at line 1058 of file UniformSingleLayer2d.h.

◆ m_nip

size_t FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_nip
protected

Number of integration points.

Definition at line 1057 of file UniformSingleLayer2d.h.

◆ m_nodemap

std::vector<array_type::tensor<size_t, 1> > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_nodemap
protected

Node-map for the roll.

Definition at line 1080 of file UniformSingleLayer2d.h.

◆ m_pmin

array_type::tensor<double, 2> FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_pmin
protected

value of "p" at minimal work "W" [nip, N]

Definition at line 1088 of file UniformSingleLayer2d.h.

◆ m_shape_T2

std::array<size_t, 4> FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_shape_T2
protected

Shape of an integration point tensor.

Definition at line 1085 of file UniformSingleLayer2d.h.

◆ m_Sig_p

std::vector<array_type::tensor<double, 4> > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_Sig_p
protected

Stress field for pure shear perturbation.

Definition at line 1079 of file UniformSingleLayer2d.h.

◆ m_Sig_s

std::vector<array_type::tensor<double, 4> > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_Sig_s
protected

Stress field for simple shear perturbation.

Definition at line 1077 of file UniformSingleLayer2d.h.

◆ m_smin

array_type::tensor<double, 2> FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_smin
protected

value of "s" at minimal work "W" [nip, N]

Definition at line 1087 of file UniformSingleLayer2d.h.

◆ m_u_p

std::vector<array_type::tensor<double, 2> > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_u_p
protected

Displacement field for pure shear perturbation.

Definition at line 1071 of file UniformSingleLayer2d.h.

◆ m_u_s

std::vector<array_type::tensor<double, 2> > FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_u_s
protected

Perturbation for each plastic element.

The idea is to store/compute the minimal number of perturbations as possible, and use a periodic "roll" to reconstruct the perturbations everywhere. Because of the construction of the "FineLayer"-mesh, one roll of the mesh will not correspond to one roll of the middle layer, therefore a few percolations are needed. Disp. field for simple shear perturbation.

Definition at line 1069 of file UniformSingleLayer2d.h.

◆ m_V

double FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_V
protected

Volume of a plastic element: assumed homogeneous!

Definition at line 1084 of file UniformSingleLayer2d.h.

◆ m_Wmin

array_type::tensor<double, 2> FrictionQPotFEM::UniformSingleLayer2d::LocalTriggerFineLayerFull::m_Wmin
protected

value of minimal work "W" [nip, N]

Definition at line 1089 of file UniformSingleLayer2d.h.


The documentation for this class was generated from the following file: