1% Behaviour bricks 2% Thomas Helfer 3 4# Introduction 5 6The purpose of behaviour bricks is to hide (by default) part of the 7behaviour implementation. In other word, they are meant to create a 8context which simplifies the implementation of some specific behaviours' 9classes. 10 11The easiest way to introduce behaviour bricks is to shortly describe the 12example of the `StandardElasticity` brick. This brick applies to strain 13based mechanical behaviours. It assumes: 14 15- that the total strain is split in an elastic part and a inelastic 16 part. 17- that the stress are related to the elastic strain through the Hooke 18 law. 19- that the total strain only appears in the equation associated with the 20 split of the strain. 21 22With those assumptions, the `StandardElasticity` brick can automatically 23provide: 24 25- Automatic computation of the stress tensor at various stages of the 26 behaviour integration. 27- Automatic computation of the consistent tangent operator. 28- Automatic support for plane stress and generalized plane stress 29 modelling hypotheses (definitions of the axial strain as an 30 additional state variables and the associated equation enforcing the 31 plane stess condition). 32- Automatic addition of the "standard" terms associated 33 with the elastic strain state variable. 34 35# The `@Brick` keyword 36 37## Syntax 38 39The `@Brick` keyword introduces a behaviour brick. It is followed by the 40name of the brick. This name can be given as a string. 41 42 43## Example 44 45~~~~{.cpp} 46@Brick "StandardElasticity"{ 47 young_modulus: 150e9, 48 poisson_ratio: 0.3 49}; 50~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 51 52 53 54# List of available bricks 55 56The following brick are available: 57 58- the `StandardElasticity` brick, which has been described in the 59 introduction of this page. In practice, the evolution of `MFront` and 60 the development of the `StandardElastoViscplasticity` brick, has made 61 the `StandardElasticity` brick a kind of special case of the 62 `StandardElastoViscoplasticity` where the stress potential is limited 63 to the Hooke' one and no inelastic flow is allowed. As such, most 64 information concerning the `StandardElasticity` brick can be found on 65 the page dedicated to the [Hooke stress 66 potential](HookeStressPotential.html). In particular, all options passed to 67 the `StandardElasticity` brick are indeed forwarded to the underlying 68 Hooke stress potential. 69- the `DDIF2` brick 70- the `StandardElastoViscoplasticity` brick 71- `FiniteStrainSingleCrystal`