You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/web/BetaRule.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -192,7 +192,7 @@ The implementation requires the integration of the local behaviours.
192
192
These are carried out via the `@BehaviourVariable` keyword.
193
193
The implementation of the local behaviour is explained [here](./MericCailletaudSingleCrystalPlasticity.html).
194
194
195
-
All files `MericCailletaudSingleCrystalViscoPlasticity.mfront`, `BetaRule.mfront` and `BetaRule.mtest`can be downloaded [here](./downloads/BetaRule.zip).
195
+
All files `MericCailletaudSingleCrystalViscoPlasticity.mfront`, `BetaRule.mfront` and `BetaRule.mtest`are available in the `MFrontGallery` project, [here](https://github.com/thelfer/MFrontGallery/tree/master/generic-behaviours/homogenization/).
196
196
197
197
198
198
For the example, we assume that the composites is made of only 2 phases.
Copy file name to clipboardExpand all lines: docs/web/PonteCastaneda1992.md
+43-21Lines changed: 43 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,27 +75,27 @@ In the variational approach, the homogenization problem is equivalent to a minim
75
75
76
76
Ponte-Castaneda's idea is to use the dual function $f_r^*$ of $f_r$, under an hypothesis of concavity of $f_r$. Note that $w_r$ is convex relatively to $\tepsilon$, but the hypothesis is: $f_r$ concave relatively to $\epsiloneq^2$, which adds a supplementary restriction to the behaviour.
Considering uniform per phase shear moduli $\mu_0^r$ (also called the 'secant moduli'), and after a few manipulations, Ponte-Castaneda arrives at the following bound on the effective energy $W^{\mathrm{eff}}(\overline{\tepsilon})$:
where $c_r$ is the volume fraction of phase $r$ and $W_0^{\mathrm{eff}}(\overline{\tepsilon})$ is the effective energy relative to a 'linear comparison composite' which is heterogeneous, and whose elastic moduli are the $k_r$ and the $\mu_0^r$.
90
90
91
91
The stationarity conditions associated to the minimization on $\mu_0^r$ are:
Here, the derivative of $\tenseurq C_0^{\mathrm{eff}}$ w.r.t. $\overline{\tepsilon}$ can be computed by derivating the Hashin-Shtrikman
138
127
moduli w.r.t. the secant moduli $\mu_0^r$ and the derivatives of these moduli w.r.t. $\overline{\tepsilon}$. However, it is tedious and in the implementation, we see that the convergence of the Newton Raphson algorithm is good if we only retain the first term \(\tenseurq C_0^{\mathrm{eff}}\) in the tangent operator.
The first step of the resolution consists in computing the secant modulus $\mu_0^r$ and it can be done analytically (as below) or via finite difference or automatic differentiation. Moreover, for both strategies, we could use a `BehaviourVariable`, defining the function $f_r$ in an external file (in our example, the function is to simple to do that).
154
+
155
+
The second step consists in computing the effective energy $W_0^{\mathrm{eff}}$. This will be done via `tfel::material::homogenization`. This `namespace` provides classical mean-field schemes (we use a Hashin-Shtrikman bound in our example below). This could also be done with interaction tensors, providing externally. In another [tutorial](./MassonAffineFormulation.html) we show that we can take into account more specifically the morphology of a polycrystal by providing interaction tensors.
156
+
157
+
The third step consists in the computation of the second-moments. This is also done via `tfel::material::homogenization`. Here again, there are two strategies: analytical computation when possible, and finite difference or automatic differentiation when the analytical derivation is too tedious or even impossible. In our example below, the computation is analytic.
139
158
140
159
# Implementation in MFront
141
160
161
+
## Example used for the implementation
162
+
142
163
In the application of the implementation, we take the example of the following behaviour:
@@ -161,7 +182,7 @@ which means that we only need the derivative of the Hashin-Shtrikman bound. This
161
182
162
183
## Details of implementation
163
184
164
-
All the files are available [here](./downloads/PonteCastaneda1992.zip)
185
+
The file `PonteCastaneda1992.mfront` is available in the `MFrontGallery` project, [here](https://github.com/thelfer/MFrontGallery/tree/master/generic-behaviours/homogenization/).
165
186
166
187
For the jacobian, we adopt the `Numerical Jacobian`, which
167
188
means that the beginning of the `mfront` file reads:
@@ -171,7 +192,7 @@ means that the beginning of the `mfront` file reads:
171
192
@Behaviour PC_VB_92;
172
193
@Author Martin Antoine;
173
194
@Date 12 / 12 / 25;
174
-
@Description{"Ponte Castaneda second-order estimates for homogenization of non-linear elasticity (one potential), based on second-moments computation"};
195
+
@Description{"Ponte Castaneda variational bounds for homogenization of non-linear elasticity (one potential), based on second-moments computation"};
Copy file name to clipboardExpand all lines: docs/web/Sachs.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,6 +94,8 @@ The jacobian matrix is:
94
94
95
95
# Implementation in MFront
96
96
97
+
The files `Plasticity.mfront` and `Sachs.mfront` are available in the `MFrontGallery` project, [here](https://github.com/thelfer/MFrontGallery/tree/master/generic-behaviours/homogenization/).
98
+
97
99
As for Taylor's scheme, we will use `BehaviourVariable`
98
100
for the integration of local behaviours.
99
101
The integration of global behavior, which requires solving a non-linear equation,
Copy file name to clipboardExpand all lines: docs/web/Taylor.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,6 +51,8 @@ The macroscopic tangent operator is given by
51
51
52
52
# Implementation in MFront
53
53
54
+
The files `Plasticity.mfront` and `Taylor.mfront` are available in the `MFrontGallery` project, [here](https://github.com/thelfer/MFrontGallery/tree/master/generic-behaviours/homogenization/).
55
+
54
56
It is possible to implement this homogenization scheme through a `Behaviour`.
55
57
This `Behaviour` must call the behaviour laws of each phase.
56
58
So, an interesting solution is to use a `BehaviourVariable`.
0 commit comments