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`