Skip to content
Snippets Groups Projects
Commit 4a278360 authored by Rostislav Chudoba's avatar Rostislav Chudoba
Browse files

links to exercises modified

parent daafbc7c
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<a id="top"></a> <a id="top"></a>
# **2.2: Classification of pull-out configurations** # **2.2: Classification of pull-out configurations**
[Slides](slides/S0202-Classification_of_pullout_tests.pdf) [Slides](slides/S0202-Classification_of_pullout_tests.pdf)
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
from IPython.display import YouTubeVideo from IPython.display import YouTubeVideo
YouTubeVideo('NXB9BCt_UNk') YouTubeVideo('NXB9BCt_UNk')
``` ```
%% Output %% Output
<IPython.lib.display.YouTubeVideo at 0x7f2ef631e850> <IPython.lib.display.YouTubeVideo at 0x7f2ef631e850>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<!-- [![Classification](../fig/bmcs_video.png)](https://moodle.rwth-aachen.de/mod/page/view.php?id=551810) <!-- [![Classification](../fig/bmcs_video.png)](https://moodle.rwth-aachen.de/mod/page/view.php?id=551810)
--> -->
<!-- [![Classification](../fig/bmcs_video.png)](https://youtu.be/NXB9BCt_UNk) part 1 <!-- [![Classification](../fig/bmcs_video.png)](https://youtu.be/NXB9BCt_UNk) part 1
--> -->
The analytical solution of the pull-out from rigid matrix for constant bond-slip law The analytical solution of the pull-out from rigid matrix for constant bond-slip law
explained in the notebook [2.1 Pull-out of elastic fiber from rigid matrix](2_1_1_PO_observation.ipynb) can be adapted to explained in the notebook [2.1 Pull-out of elastic fiber from rigid matrix](2_1_1_PO_observation.ipynb) can be adapted to
several practically relevant configurations that occur in brittle-matrix compostes. The notebook several practically relevant configurations that occur in brittle-matrix compostes. The notebook
addresses the following four configuration of pull-out addresses the following four configuration of pull-out
- Rigid matrix - Rigid matrix
- Elastic matrix - Elastic matrix
- Short fiber - Short fiber
- Clamped fiber - Clamped fiber
This notebook summarizes these four configurations using interactive web-apps to show their qualitatively different behavior. Using the prepared models,the correspondence between the pull-out curve $P(w)$ and the debonding process is visualized in terms of the stress and strain profiles along the bond length. In all models, the following material parameters are be used. This notebook summarizes these four configurations using interactive web-apps to show their qualitatively different behavior. Using the prepared models,the correspondence between the pull-out curve $P(w)$ and the debonding process is visualized in terms of the stress and strain profiles along the bond length. In all models, the following material parameters are be used.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
| Symbol | Unit |Description | | Symbol | Unit |Description |
|:- |:- |:- | |:- |:- |:- |
| $E_\mathrm{m}$ | MPa | Young's modulus of concrete matrix | | $E_\mathrm{m}$ | MPa | Young's modulus of concrete matrix |
| $E_\mathrm{f}$ | MPa | Young's modulus of reinforcement | | $E_\mathrm{f}$ | MPa | Young's modulus of reinforcement |
| $\bar{\tau}$ | MPa | Bond stress | | $\bar{\tau}$ | MPa | Bond stress |
| $A_\mathrm{m}$ | mm$^2$ | Cross-sectional area of concrete matrix | | $A_\mathrm{m}$ | mm$^2$ | Cross-sectional area of concrete matrix |
| $A_\mathrm{f}$ | mm$^2$ | Cross-sectional area of reinforcement | | $A_\mathrm{f}$ | mm$^2$ | Cross-sectional area of reinforcement |
| $p$ | mm | Perimeter of contact between concrete and reinforcement | | $p$ | mm | Perimeter of contact between concrete and reinforcement |
| $L_\mathrm{b}$ | mm | Length of the bond zone | | $L_\mathrm{b}$ | mm | Length of the bond zone |
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
YouTubeVideo('P0bfIwI0_rc') YouTubeVideo('P0bfIwI0_rc')
``` ```
%% Output %% Output
<IPython.lib.display.YouTubeVideo at 0x7f2ef4304e80> <IPython.lib.display.YouTubeVideo at 0x7f2ef4304e80>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
# **1 Ridig Matrix** # **1 Ridig Matrix**
**PO-ELF-RLM:** Pull-Out of Elastic Long Fiber from Rigid Long Matrix **PO-ELF-RLM:** Pull-Out of Elastic Long Fiber from Rigid Long Matrix
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
![image.png](attachment:9993286b-4057-4b22-b695-3e395e3ffeef.png) ![image.png](attachment:9993286b-4057-4b22-b695-3e395e3ffeef.png)
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
**For comparison** let us import again the simplest version of the pull-out model assuming rigid matrix, elastic fiber and infinite bond length. **For comparison** let us import again the simplest version of the pull-out model assuming rigid matrix, elastic fiber and infinite bond length.
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
%matplotlib widget %matplotlib widget
from pull_out import PO_ELF_RLM from pull_out import PO_ELF_RLM
po_explorer = PO_ELF_RLM(E_f=1, E_m=1, tau=1, p=1, A_m=1, A_f=1, w_max=0.5, L_b=1, t=0.5) po_explorer = PO_ELF_RLM(E_f=1, E_m=1, tau=1, p=1, A_m=1, A_f=1, w_max=0.5, L_b=1, t=0.5)
po_explorer.interact() po_explorer.interact()
``` ```
%% Output %% Output
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
# **2 Elastic Matrix** # **2 Elastic Matrix**
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
**PO-ELF-ELM:** Pull-Out of Elastic Long Fiber from Elastic Long Matrix **PO-ELF-ELM:** Pull-Out of Elastic Long Fiber from Elastic Long Matrix
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
![image.png](attachment:19c4f327-1799-4e88-b100-96d66ebf2dff.png) ![image.png](attachment:19c4f327-1799-4e88-b100-96d66ebf2dff.png)
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
%matplotlib widget %matplotlib widget
from pull_out import PO_ELF_ELM from pull_out import PO_ELF_ELM
po_explorer = PO_ELF_ELM(E_f=1, E_m=1, tau=1, p=1, A_m=1, A_f=1, w_max=0.5, L_b=1, t=0.5) po_explorer = PO_ELF_ELM(E_f=1, E_m=1, tau=1, p=1, A_m=1, A_f=1, w_max=0.5, L_b=1, t=0.5)
po_explorer.interact() po_explorer.interact()
``` ```
%% Output %% Output
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
# **3 Short Fiber** # **3 Short Fiber**
**PO-ESF-RLM:** Pull-Out of Elastic Short Fiber from Rigid Long Matrix **PO-ESF-RLM:** Pull-Out of Elastic Short Fiber from Rigid Long Matrix
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
![image.png](attachment:95a04ae4-2cb4-46a8-8581-9de442b93ee4.png) ![image.png](attachment:95a04ae4-2cb4-46a8-8581-9de442b93ee4.png)
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
%matplotlib widget %matplotlib widget
from pull_out import PO_ESF_RLM from pull_out import PO_ESF_RLM
po_explorer = PO_ESF_RLM(E_f=2, E_m=1, tau=1, A_f=1, A_m=1, p=1, L_b=1, w_max=1.3, t=0.26) po_explorer = PO_ESF_RLM(E_f=2, E_m=1, tau=1, A_f=1, A_m=1, p=1, L_b=1, w_max=1.3, t=0.26)
po_explorer.interact() po_explorer.interact()
``` ```
%% Output %% Output
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
# **4 Clamped Fiber** # **4 Clamped Fiber**
**PO-ECF-ECM:** Pull-out of Elastic Clamped Fiber from Elastic Clamped Matrix **PO-ECF-ECM:** Pull-out of Elastic Clamped Fiber from Elastic Clamped Matrix
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
![image.png](attachment:9de172b7-49d2-43f9-8aa3-90031c3b9197.png) ![image.png](attachment:9de172b7-49d2-43f9-8aa3-90031c3b9197.png)
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
%matplotlib widget %matplotlib widget
from pull_out import CB_ELF_ELM from pull_out import CB_ELF_ELM
po_explorer = CB_ELF_ELM(E_f=2, E_m=1, tau=1, A_f=1, A_m=1, p=1, L_b=1, w_max=1.3, t=0.7) po_explorer = CB_ELF_ELM(E_f=2, E_m=1, tau=1, A_f=1, A_m=1, p=1, L_b=1, w_max=1.3, t=0.7)
po_explorer.interact() po_explorer.interact()
``` ```
%% Output %% Output
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
# Summary # Summary
- The four configurations of the pull-out show that the pull-out curves have qualitatively different shape and explain the externally observered by visualizing the stress field development during the loading history. - The four configurations of the pull-out show that the pull-out curves have qualitatively different shape and explain the externally observered by visualizing the stress field development during the loading history.
- The pull-out curves calculated using the models 1 Rigid Matrix (PO-ELF-RLM) and 2 Elastic Matrix (PO-ELF-ELM) are not affected by the bond length $L_\mathrm{b}$. - The pull-out curves calculated using the models 1 Rigid Matrix (PO-ELF-RLM) and 2 Elastic Matrix (PO-ELF-ELM) are not affected by the bond length $L_\mathrm{b}$.
- On the other hand, bond length strongly affects the maximum force and descending branch in in model 3 Short Fiber (PO-ESF-RLM). Bond length also affects the value of the final stiffness in the model 4 Clamped Fiber (PO-ECF-ECM) - On the other hand, bond length strongly affects the maximum force and descending branch in in model 3 Short Fiber (PO-ESF-RLM). Bond length also affects the value of the final stiffness in the model 4 Clamped Fiber (PO-ECF-ECM)
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<div style="background-color:lightgray;text-align:left"> <img src="../icons/exercise.png" alt="Run" width="40" height="40"> <div style="background-color:lightgray;text-align:left"> <img src="../icons/exercise.png" alt="Run" width="40" height="40">
&nbsp; &nbsp; <a href="../exercises/X0201-X0203.pdf"><b>Exercises X0201-X0203:</b></a> <b>Pull-out with constant bond-slip</b> &nbsp; &nbsp; <a href="../exercises/X0201 - Pull-out with constant bond-slip law - Part 1.pdf"><b>Exercise X0201:</b></a> <b>Pull-out with constant bond-slip law - Part 1</b>
</div>
%% Cell type:markdown id: tags:
<div style="background-color:lightgray;text-align:left"> <img src="../icons/exercise.png" alt="Run" width="40" height="40">
&nbsp; &nbsp; <a href="../exercises/X0202 - Pull-out with constant bond-slip law - Part 2.pdf"><b>Exercise X0202:</b></a> <b>Pull-out with constant bond-slip law - Part 2</b>
</div>
%% Cell type:markdown id: tags:
<div style="background-color:lightgray;text-align:left"> <img src="../icons/exercise.png" alt="Run" width="40" height="40">
&nbsp; &nbsp; <a href="../exercises/X0203 - Pull-out of short fiber with constant bond-slip.pdf"><b>Exercise X0203:</b></a> <b>Pull-out of short fiber with constant bond-slip</b>
</div> </div>
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<div style="background-color:lightgray;text-align:left;width:45%;display:inline-table;"> <img src="../icons/previous.png" alt="Previous trip" width="50" height="50"> <div style="background-color:lightgray;text-align:left;width:45%;display:inline-table;"> <img src="../icons/previous.png" alt="Previous trip" width="50" height="50">
&nbsp; <a href="2_1_1_PO_observation.ipynb#top">2.1 Pull-out of elastic fiber from rigid matrix</a> &nbsp; <a href="2_1_1_PO_observation.ipynb#top">2.1 Pull-out of elastic fiber from rigid matrix</a>
</div><div style="background-color:lightgray;text-align:center;width:10%;display:inline-table;"> <a href="#top"><img src="../icons/compass.png" alt="Compass" width="50" height="50"></a></div><div style="background-color:lightgray;text-align:right;width:45%;display:inline-table;"> </div><div style="background-color:lightgray;text-align:center;width:10%;display:inline-table;"> <a href="#top"><img src="../icons/compass.png" alt="Compass" width="50" height="50"></a></div><div style="background-color:lightgray;text-align:right;width:45%;display:inline-table;">
<a href="fragmentation.ipynb#top">2.3 Tensile behavior of a composite</a>&nbsp; <img src="../icons/next.png" alt="Previous trip" width="50" height="50"> </div> <a href="fragmentation.ipynb#top">2.3 Tensile behavior of a composite</a>&nbsp; <img src="../icons/next.png" alt="Previous trip" width="50" height="50"> </div>
......
%% Cell type:markdown id:suitable-comfort tags: %% Cell type:markdown id:suitable-comfort tags:
   
# **2.3 Tensile behavior of brittle-matrix composite** # **2.3 Tensile behavior of brittle-matrix composite**
   
%% Cell type:markdown id:romantic-maine tags: %% Cell type:markdown id:romantic-maine tags:
   
<!-- [![title](../fig/bmcs_video.png)](https://moodle.rwth-aachen.de/mod/page/view.php?id=602450) --> <!-- [![title](../fig/bmcs_video.png)](https://moodle.rwth-aachen.de/mod/page/view.php?id=602450) -->
   
%% Cell type:code id:5287f7df-3d9d-4aba-b454-8a199c9f2238 tags: %% Cell type:code id:5287f7df-3d9d-4aba-b454-8a199c9f2238 tags:
   
``` python ``` python
from IPython.display import YouTubeVideo from IPython.display import YouTubeVideo
YouTubeVideo('6Lzj6CH376w') YouTubeVideo('6Lzj6CH376w')
``` ```
   
%% Output %% Output
   
<IPython.lib.display.YouTubeVideo at 0x7f91d3de1a00> <IPython.lib.display.YouTubeVideo at 0x7f91d3de1a00>
   
%% Cell type:markdown id:drawn-collective tags: %% Cell type:markdown id:drawn-collective tags:
   
With a basic understanding of the debonding process in the vicinity of a crack bridge studied for various configurations of a pull-out problem ([2.2 Classification of pull-out configurations](2_2_1_PO_configuration_explorer.ipynb)) we describe and visualize the process of fragmentation (multiple cracking) in a reinforced composite. With a basic understanding of the debonding process in the vicinity of a crack bridge studied for various configurations of a pull-out problem ([2.2 Classification of pull-out configurations](2_2_1_PO_configuration_explorer.ipynb)) we describe and visualize the process of fragmentation (multiple cracking) in a reinforced composite.
   
%% Cell type:markdown id:polar-partner tags: %% Cell type:markdown id:polar-partner tags:
   
Consider an example the textile reinforced concrete cross section loaded in tension. The cross-sectional parameters are as follows Consider an example the textile reinforced concrete cross section loaded in tension. The cross-sectional parameters are as follows
   
%% Cell type:markdown id:wicked-coordinator tags: %% Cell type:markdown id:wicked-coordinator tags:
   
![image.png](attachment:cbf04e3f-0f4a-465c-a5d9-eca0fed2c315.png) ![image.png](attachment:cbf04e3f-0f4a-465c-a5d9-eca0fed2c315.png)
   
%% Cell type:markdown id:sapphire-folks tags: %% Cell type:markdown id:sapphire-folks tags:
   
# Crack bridge as a key to understanding the behavior of a composite # Crack bridge as a key to understanding the behavior of a composite
   
%% Cell type:markdown id:defensive-mortgage tags: %% Cell type:markdown id:defensive-mortgage tags:
   
Matrix cracks develop along a tensile zone of a composite, e.g. in a tensile specimen. Matrix cracks develop along a tensile zone of a composite, e.g. in a tensile specimen.
The stress, strain and displacement fields exhibit a periodic structure with symmetry points The stress, strain and displacement fields exhibit a periodic structure with symmetry points
at at
- crack positions, and at - crack positions, and at
- midpoints between cracks. - midpoints between cracks.
   
![image.png](attachment:ead9214a-a8c5-4f41-9aff-afe673ecd6d8.png) ![image.png](attachment:ead9214a-a8c5-4f41-9aff-afe673ecd6d8.png)
Therefore, it the crack bridge model derived for the assumption of a constant bond-slip law can be Therefore, it the crack bridge model derived for the assumption of a constant bond-slip law can be
conveniently used to describe the tensile response during the multiple cracking process. conveniently used to describe the tensile response during the multiple cracking process.
   
%% Cell type:markdown id:unique-equation tags: %% Cell type:markdown id:unique-equation tags:
   
![image.png](attachment:a3564c30-b942-40f5-8b44-25277e739aa2.png) ![image.png](attachment:a3564c30-b942-40f5-8b44-25277e739aa2.png)
   
%% Cell type:markdown id:associate-david tags: %% Cell type:markdown id:associate-david tags:
   
## What do we need from a crack bridge model? ## What do we need from a crack bridge model?
   
%% Cell type:code id:labeled-regression tags: %% Cell type:code id:labeled-regression tags:
   
``` python ``` python
%matplotlib widget %matplotlib widget
from pull_out import CB_ELF_ELM from pull_out import CB_ELF_ELM
po = CB_ELF_ELM(E_f=1, E_m=1, A_f=1, A_m=1, p=1, tau=3, L_b=1, w_max=3,t=0.4) po = CB_ELF_ELM(E_f=1, E_m=1, A_f=1, A_m=1, p=1, tau=3, L_b=1, w_max=3,t=0.4)
po.interact() po.interact()
``` ```
   
%% Output %% Output
   
   
%% Cell type:markdown id:consecutive-investigator tags: %% Cell type:markdown id:consecutive-investigator tags:
   
Knowing the matrix stress profile ahead of an existing crack, we know the distance at which no crack will appear. This length is referred to as shielded length. Knowing the matrix stress profile ahead of an existing crack, we know the distance at which no crack will appear. This length is referred to as shielded length.
   
%% Cell type:markdown id:hollywood-piece tags: %% Cell type:markdown id:hollywood-piece tags:
   
### **Question:** How long is the shielded length? ### **Question:** How long is the shielded length?
   
%% Cell type:markdown id:national-millennium tags: %% Cell type:markdown id:national-millennium tags:
   
Use the crack bridge model to find out the distance $l_\mathrm{shielded}$ at which the matrix normal force attains the level Use the crack bridge model to find out the distance $l_\mathrm{shielded}$ at which the matrix normal force attains the level
\begin{align} \begin{align}
N_\mathrm{mu} & = \sigma_\mathrm{mu} A_\mathrm{m} N_\mathrm{mu} & = \sigma_\mathrm{mu} A_\mathrm{m}
\end{align} \end{align}
Realizing that the slope at which the matrix stress grows is Realizing that the slope at which the matrix stress grows is
\begin{align} \begin{align}
T &= p \bar{\tau} T &= p \bar{\tau}
\end{align} \end{align}
As a result, the distance can be evaluated as As a result, the distance can be evaluated as
\begin{align} \begin{align}
l_\mathrm{shielded} = \dfrac{N_\mathrm{mu}}{T} l_\mathrm{shielded} = \dfrac{N_\mathrm{mu}}{T}
\end{align} \end{align}
   
%% Cell type:markdown id:similar-questionnaire tags: %% Cell type:markdown id:similar-questionnaire tags:
   
### **Question:** What is the elongation and average strain of a crack segment? ### **Question:** What is the elongation and average strain of a crack segment?
   
%% Cell type:markdown id:important-brook tags: %% Cell type:markdown id:important-brook tags:
   
A simple way how to find out the total elongation of the fiber with a nonlinear strain profile is to integrate the strains, i.e. A simple way how to find out the total elongation of the fiber with a nonlinear strain profile is to integrate the strains, i.e.
\begin{align} \begin{align}
\Delta u_\mathrm{f} = \int_{-L_\mathrm{b}}^0 \varepsilon_\mathrm{f} \, \mathrm{d}x \Delta u_\mathrm{f} = \int_{-L_\mathrm{b}}^0 \varepsilon_\mathrm{f} \, \mathrm{d}x
\end{align} \end{align}
   
%% Cell type:markdown id:verbal-german tags: %% Cell type:markdown id:verbal-german tags:
   
so that the average, or **composite** strain is obtained as so that the average, or **composite** strain is obtained as
   
%% Cell type:markdown id:narrative-closing tags: %% Cell type:markdown id:narrative-closing tags:
   
\begin{align} \begin{align}
\varepsilon_\mathrm{c} = \dfrac{1}{L_\mathrm{b}} \int_{-L_\mathrm{b}}^0 \varepsilon_\mathrm{f} \, \mathrm{d}x \varepsilon_\mathrm{c} = \dfrac{1}{L_\mathrm{b}} \int_{-L_\mathrm{b}}^0 \varepsilon_\mathrm{f} \, \mathrm{d}x
\end{align} \end{align}
   
%% Cell type:markdown id:super-demand tags: %% Cell type:markdown id:super-demand tags:
   
**Remark:** This expression is important in view of homogenization of non-uniform strain profiles in a heterogenous material structure. It is one of the fundamental concepts of micromechanics. We will use it later on to derive the effective stress-strain curve of a multiply cracked composite. **Remark:** This expression is important in view of homogenization of non-uniform strain profiles in a heterogenous material structure. It is one of the fundamental concepts of micromechanics. We will use it later on to derive the effective stress-strain curve of a multiply cracked composite.
   
%% Cell type:markdown id:swedish-intermediate tags: %% Cell type:markdown id:swedish-intermediate tags:
   
# **Model 1:** Deterministic matrix strength (ACK model) # **Model 1:** Deterministic matrix strength (ACK model)
   
%% Cell type:markdown id:accepted-thought tags: %% Cell type:markdown id:accepted-thought tags:
   
The typical shape of the stress-strain curve of the composite involves three stages: The typical shape of the stress-strain curve of the composite involves three stages:
- elastic stage which is governed by the mixture rule - elastic stage which is governed by the mixture rule
- stage of matrix fragmentation - stage of matrix fragmentation
- saturated crack pattern with a linear branch - saturated crack pattern with a linear branch
   
%% Cell type:markdown id:foster-character tags: %% Cell type:markdown id:foster-character tags:
   
How to interpret and characterize these three distinguished phases of composite material behavior? How to interpret and characterize these three distinguished phases of composite material behavior?
   
%% Cell type:markdown id:infinite-dutch tags: %% Cell type:markdown id:infinite-dutch tags:
   
The ACK model developed by Aveston, Cooper and Kelly is an analytical model that represents the composite tensile response by a trilinear law as shown in the following figure. This model is based on the following assumptions: The ACK model developed by Aveston, Cooper and Kelly is an analytical model that represents the composite tensile response by a trilinear law as shown in the following figure. This model is based on the following assumptions:
- The bond behavior is governed by a constant frictional bond in the debonded interface - The bond behavior is governed by a constant frictional bond in the debonded interface
- The constitutive law for both reinforcement and matrix is assumed to be linear-elastic with brittle failure upon reaching their strengths - The constitutive law for both reinforcement and matrix is assumed to be linear-elastic with brittle failure upon reaching their strengths
- Multiple cracking occurs at a constant level of applied stress, inducing a horizontal branch in the stress-strain behavior - Multiple cracking occurs at a constant level of applied stress, inducing a horizontal branch in the stress-strain behavior
   
%% Cell type:markdown id:special-overhead tags: %% Cell type:markdown id:special-overhead tags:
   
![image.png](attachment:e49027f3-9a05-42fd-bb36-8b4c8c4af4d2.png) ![image.png](attachment:e49027f3-9a05-42fd-bb36-8b4c8c4af4d2.png)
   
%% Cell type:markdown id:english-board tags: %% Cell type:markdown id:english-board tags:
   
## Stress-strain curve ## Stress-strain curve
   
The trilinear curve of ACK model represents the composite tensile response by identifying the following characteristic points: The trilinear curve of ACK model represents the composite tensile response by identifying the following characteristic points:
- [$\sigma_{1}, \varepsilon_{1}$]: The inital values of stress and strain are set to zero. - [$\sigma_{1}, \varepsilon_{1}$]: The inital values of stress and strain are set to zero.
- [$\sigma_{2}, \varepsilon_{2}$]: In the first stage, the matrix is uncracked and perfect bond between matrix and fabric is assumed up to the first cracking stress $\sigma_{2}$ , which is defined as - [$\sigma_{2}, \varepsilon_{2}$]: In the first stage, the matrix is uncracked and perfect bond between matrix and fabric is assumed up to the first cracking stress $\sigma_{2}$ , which is defined as
\begin{align} \begin{align}
\sigma_{2} = E_\mathrm{c} \varepsilon_{2} \sigma_{2} = E_\mathrm{c} \varepsilon_{2}
\end{align} \end{align}
where $\varepsilon_{2}$ is the composite strain value at which the matrix cracks and $E_\mathrm{c}$ is the composite stiffness. where $\varepsilon_{2}$ is the composite strain value at which the matrix cracks and $E_\mathrm{c}$ is the composite stiffness.
The strain $\varepsilon_{2}$ is given as The strain $\varepsilon_{2}$ is given as
\begin{align} \begin{align}
\varepsilon_{2} = \dfrac{\sigma_\mathrm{mu}}{E_\mathrm{m}} \varepsilon_{2} = \dfrac{\sigma_\mathrm{mu}}{E_\mathrm{m}}
\end{align} \end{align}
where $\sigma_\mathrm{mu}$ and $E_\mathrm{m}$ are the matrix tensile strength and stiffness, respectively. where $\sigma_\mathrm{mu}$ and $E_\mathrm{m}$ are the matrix tensile strength and stiffness, respectively.
The composite stiffness has been obtained using the The composite stiffness has been obtained using the
[**mixture rule**](../bmcs_course/1_1_elastic_stiffness_of_the_composite.ipynb) [**mixture rule**](../bmcs_course/1_1_elastic_stiffness_of_the_composite.ipynb)
and can be expressed here as: and can be expressed here as:
\begin{align} \begin{align}
E_\mathrm{c} = E_\mathrm{f} \; V_\mathrm{f} + E_\mathrm{m} \; (1 - V_\mathrm{f}) E_\mathrm{c} = E_\mathrm{f} \; V_\mathrm{f} + E_\mathrm{m} \; (1 - V_\mathrm{f})
\end{align} \end{align}
where $E_\mathrm{f}$ is the fiber stiffness, and $V_\mathrm{f}$ is denoting the fiber volume fraction (reinforcement ratio). where $E_\mathrm{f}$ is the fiber stiffness, and $V_\mathrm{f}$ is denoting the fiber volume fraction (reinforcement ratio).
   
- [$\sigma_{3}, \varepsilon_{3}$]: The second stage is characterized by the crack propagation. In this phase, the load is - [$\sigma_{3}, \varepsilon_{3}$]: The second stage is characterized by the crack propagation. In this phase, the load is
assumed to be constant up to the strain value $\varepsilon_{3}$ calculated as follows: assumed to be constant up to the strain value $\varepsilon_{3}$ calculated as follows:
\begin{align} \begin{align}
\varepsilon_{3} = \dfrac{\sigma_\mathrm{mu}}{E_\mathrm{m}} \; (1 + 0.666 \alpha_\mathrm{e}) \varepsilon_{3} = \dfrac{\sigma_\mathrm{mu}}{E_\mathrm{m}} \; (1 + 0.666 \alpha_\mathrm{e})
\end{align} \end{align}
where where $\alpha_\mathrm{e}$ is an homogenization coefficient given as where where $\alpha_\mathrm{e}$ is an homogenization coefficient given as
\begin{align} \begin{align}
\alpha_\mathrm{e} = \dfrac{E_\mathrm{m} \; (1 - V_\mathrm{f}) }{E_\mathrm{f} \; V_\mathrm{f}} \alpha_\mathrm{e} = \dfrac{E_\mathrm{m} \; (1 - V_\mathrm{f}) }{E_\mathrm{f} \; V_\mathrm{f}}
\end{align} \end{align}
   
- [$\sigma_{4}, \varepsilon_{4}$]: Finally, in the third stage, when the crack pattern is stabilized the load increases linearly up to the ultimate tensile stress $\sigma_4$ with a slope equal to $E_\mathrm{r}$ - [$\sigma_{4}, \varepsilon_{4}$]: Finally, in the third stage, when the crack pattern is stabilized the load increases linearly up to the ultimate tensile stress $\sigma_4$ with a slope equal to $E_\mathrm{r}$
The ultimate tensile stress is given as The ultimate tensile stress is given as
\begin{align} \begin{align}
\sigma_4 = \sigma_\mathrm{fu} \; V_\mathrm{f} \sigma_4 = \sigma_\mathrm{fu} \; V_\mathrm{f}
\end{align} \end{align}
where $\sigma_\mathrm{fu}$ is the tensile strength of the fiber. where $\sigma_\mathrm{fu}$ is the tensile strength of the fiber.
The slope $E_\mathrm{r}$ represents the effective stiffness of the reinforcement with respect to the whole cross section and is given as The slope $E_\mathrm{r}$ represents the effective stiffness of the reinforcement with respect to the whole cross section and is given as
\begin{align} \begin{align}
E_\mathrm{r} = E_\mathrm{f} \; V_\mathrm{f} E_\mathrm{r} = E_\mathrm{f} \; V_\mathrm{f}
\end{align} \end{align}
The composilte strain at failure $\varepsilon_{4}$ is given as The composilte strain at failure $\varepsilon_{4}$ is given as
\begin{align} \begin{align}
\varepsilon_{4} = \varepsilon_{3} + \dfrac{\sigma_\mathrm{4} - \sigma_\mathrm{2}}{E_\mathrm{r}} \varepsilon_{4} = \varepsilon_{3} + \dfrac{\sigma_\mathrm{4} - \sigma_\mathrm{2}}{E_\mathrm{r}}
\end{align} \end{align}
   
%% Cell type:markdown id:southeast-stadium tags: %% Cell type:markdown id:southeast-stadium tags:
   
## Crack spacing ## Crack spacing
   
%% Cell type:markdown id:medium-hygiene tags: %% Cell type:markdown id:medium-hygiene tags:
   
### Matrix cracking is like car parking ?! ### Matrix cracking is like car parking ?!
   
![SegmentLocal](../fig/Cars.gif "segment") ![SegmentLocal](../fig/Cars.gif "segment")
   
Consider a process where particles (cars) are randomly introduced in a system (along the street). Consider a process where particles (cars) are randomly introduced in a system (along the street).
They must not overlap any previously parked car. What is the average distance between two neighbouring cars? They must not overlap any previously parked car. What is the average distance between two neighbouring cars?
   
%% Cell type:markdown id:pretty-jacksonville tags: %% Cell type:markdown id:pretty-jacksonville tags:
   
Probabilistic analysis of the car parking problem delivers the result that the average spacing is 1.337 larger than the car length ([Wikipedia: Random sequential adsorption](https://en.wikipedia.org/wiki/Random_sequential_adsorption)) Probabilistic analysis of the car parking problem delivers the result that the average spacing is 1.337 larger than the car length ([Wikipedia: Random sequential adsorption](https://en.wikipedia.org/wiki/Random_sequential_adsorption))
   
%% Cell type:markdown id:reverse-discretion tags: %% Cell type:markdown id:reverse-discretion tags:
   
### How long is the car in a concrete tensile specimen? ### How long is the car in a concrete tensile specimen?
   
The final average crack spacing $l_\mathrm{cs}$ is given as The final average crack spacing $l_\mathrm{cs}$ is given as
<!-- 1.337 \; \dfrac{(1 - V_\mathrm{f}) \; \sigma_\mathrm{mu}}{ V_\mathrm{f} \; T} \\ --> <!-- 1.337 \; \dfrac{(1 - V_\mathrm{f}) \; \sigma_\mathrm{mu}}{ V_\mathrm{f} \; T} \\ -->
\begin{align} \begin{align}
l_\mathrm{cs} &= 1.337 \; l_\mathrm{shielded} = 1.337 \; \dfrac{A_\mathrm{m} \sigma_\mathrm{mu}}{\bar{\tau}p} l_\mathrm{cs} &= 1.337 \; l_\mathrm{shielded} = 1.337 \; \dfrac{A_\mathrm{m} \sigma_\mathrm{mu}}{\bar{\tau}p}
\end{align} \end{align}
   
%% Cell type:markdown id:secondary-artwork tags: %% Cell type:markdown id:secondary-artwork tags:
   
## Examples ## Examples
   
%% Cell type:markdown id:solved-damage tags: %% Cell type:markdown id:solved-damage tags:
   
### **Task 1:** Evaluate the tensile stress-strain curve ### **Task 1:** Evaluate the tensile stress-strain curve
Consider a steel reinforced cross section of $100 \times 100$ mm Consider a steel reinforced cross section of $100 \times 100$ mm
reinforced with a rebar ($d = 16$ mm) diameter. reinforced with a rebar ($d = 16$ mm) diameter.
Plot the stress-strain curve using the ACK model: Plot the stress-strain curve using the ACK model:
   
%% Cell type:code id:regulation-bronze tags: %% Cell type:code id:regulation-bronze tags:
   
``` python ``` python
E_m = 25000 # 28000 # concrete stiffness [MPa] E_m = 25000 # 28000 # concrete stiffness [MPa]
E_f = 182000 # 210000 # reinforcement stiffnes [MPa] E_f = 182000 # 210000 # reinforcement stiffnes [MPa]
A_c = 100 * 100 # dimensions [mm] A_c = 100 * 100 # dimensions [mm]
d = 16 # diameter [mm] d = 16 # diameter [mm]
sig_mu = 3 # 3 # concrete tensile strength [MPa] sig_mu = 3 # 3 # concrete tensile strength [MPa]
sig_fu = 1380 # 500 # reinforcement strength [MPa] sig_fu = 1380 # 500 # reinforcement strength [MPa]
``` ```
   
%% Cell type:markdown id:arbitrary-preservation tags: %% Cell type:markdown id:arbitrary-preservation tags:
   
Derived parameters of the cross composite section Derived parameters of the cross composite section
   
%% Cell type:code id:stock-interval tags: %% Cell type:code id:stock-interval tags:
   
``` python ``` python
p = 3.14 * d # bond perimeter p = 3.14 * d # bond perimeter
A_f = 3.14 * (d/2)**2 # reinforcement cross section A_f = 3.14 * (d/2)**2 # reinforcement cross section
A_m = A_c - A_f # concrete cross section A_m = A_c - A_f # concrete cross section
V_f = 0.01 # A_f / A_c # reinforcement ratio / fiber volume fraction V_f = 0.01 # A_f / A_c # reinforcement ratio / fiber volume fraction
E_c = E_m * (1 - V_f) + E_f * V_f # composite stiffness E_c = E_m * (1 - V_f) + E_f * V_f # composite stiffness
alpha_e = E_m * (1 - V_f) / (E_f * V_f) # homogenization coefficient alpha_e = E_m * (1 - V_f) / (E_f * V_f) # homogenization coefficient
``` ```
   
%% Cell type:code id:junior-patrol tags: %% Cell type:code id:junior-patrol tags:
   
``` python ``` python
E_c E_c
``` ```
   
%% Output %% Output
   
26570.0 26570.0
   
%% Cell type:code id:e77defe7-ce4a-42f2-9ac2-8cbdc5302d5c tags: %% Cell type:code id:e77defe7-ce4a-42f2-9ac2-8cbdc5302d5c tags:
   
``` python ``` python
V_f V_f
``` ```
   
%% Output %% Output
   
0.01 0.01
   
%% Cell type:markdown id:short-apparel tags: %% Cell type:markdown id:short-apparel tags:
   
Characteristic points of the ACK model deliver the values Characteristic points of the ACK model deliver the values
   
%% Cell type:code id:fundamental-bulletin tags: %% Cell type:code id:fundamental-bulletin tags:
   
``` python ``` python
eps_1, sig_1 = 0, 0 eps_1, sig_1 = 0, 0
eps_2 = sig_mu / E_m eps_2 = sig_mu / E_m
sig_2 = eps_2 * E_c sig_2 = eps_2 * E_c
eps_3, sig_3 = sig_mu / E_m * (1 + 0.6666 * alpha_e), sig_2 eps_3, sig_3 = sig_mu / E_m * (1 + 0.6666 * alpha_e), sig_2
sig_4 = sig_fu * V_f sig_4 = sig_fu * V_f
E_r = E_f * V_f # effective reinforcement stiffness related to the composite cross section E_r = E_f * V_f # effective reinforcement stiffness related to the composite cross section
eps_4 = eps_3 + (sig_4 - sig_3) / E_r eps_4 = eps_3 + (sig_4 - sig_3) / E_r
``` ```
   
%% Cell type:code id:bb9b6f0f-ad91-4b18-a65f-b19873afd2b4 tags: %% Cell type:code id:bb9b6f0f-ad91-4b18-a65f-b19873afd2b4 tags:
   
``` python ``` python
sig_2, sig_4 sig_2, sig_4
``` ```
   
%% Output %% Output
   
(3.1884, 13.8) (3.1884, 13.8)
   
%% Cell type:markdown id:configured-picnic tags: %% Cell type:markdown id:configured-picnic tags:
   
Plot the composite stress-strain curve Plot the composite stress-strain curve
   
%% Cell type:code id:nuclear-firmware tags: %% Cell type:code id:nuclear-firmware tags:
   
``` python ``` python
%matplotlib widget %matplotlib widget
import matplotlib.pylab as plt import matplotlib.pylab as plt
fig, ax = plt.subplots(1,1,figsize=(7,3)) fig, ax = plt.subplots(1,1,figsize=(7,3))
fig.canvas.toolbar_position = 'top' fig.canvas.toolbar_position = 'top'
fig.canvas.header_visible = False fig.canvas.header_visible = False
ax.plot([eps_1, eps_2, eps_3, eps_4], [sig_1, sig_2, sig_3, sig_4]); ax.plot([eps_1, eps_2, eps_3, eps_4], [sig_1, sig_2, sig_3, sig_4]);
ax.set_xlabel(r'$\varepsilon$ [-]'); ax.set_ylabel(r'$\sigma$ [MPa]') ax.set_xlabel(r'$\varepsilon$ [-]'); ax.set_ylabel(r'$\sigma$ [MPa]')
ax.plot([0,eps_4],[0,E_r*eps_4], color='black', linewidth=1, linestyle='dashed'); ax.plot([0,eps_4],[0,E_r*eps_4], color='black', linewidth=1, linestyle='dashed');
``` ```
   
%% Output %% Output
   
   
%% Cell type:markdown id:guided-anxiety tags: %% Cell type:markdown id:guided-anxiety tags:
   
**Note** that the curve does not depend on the bond $\tau p$. **Note** that the curve does not depend on the bond $\tau p$.
   
%% Cell type:markdown id:broke-ballot tags: %% Cell type:markdown id:broke-ballot tags:
   
### **Task 2:** Evaluate the crack spacing ### **Task 2:** Evaluate the crack spacing
   
What does ACK model predict for a specimen with the dimensions $100 \times 100$ mm reinforced with 1% ratio. What does ACK model predict for a specimen with the dimensions $100 \times 100$ mm reinforced with 1% ratio.
   
%% Cell type:code id:engaged-breast tags: %% Cell type:code id:engaged-breast tags:
   
``` python ``` python
A_c = 100 * 100 A_c = 100 * 100
d = 16 d = 16
p = 3.14 * d p = 3.14 * d
A_f = 3.14 * (d/2)**2 A_f = 3.14 * (d/2)**2
A_m = A_c - A_f A_m = A_c - A_f
tau = 8 tau = 8
1.337 * A_m * sig_mu / (p * tau) 1.337 * A_m * sig_mu / (p * tau)
``` ```
   
%% Output %% Output
   
97.79047929936306 97.79047929936306
   
%% Cell type:markdown id:portable-belfast tags: %% Cell type:markdown id:portable-belfast tags:
   
which corresponds to reinforcement ratio $V_f$ which corresponds to reinforcement ratio $V_f$
   
%% Cell type:code id:molecular-french tags: %% Cell type:code id:molecular-french tags:
   
``` python ``` python
A_f / A_c A_f / A_c
``` ```
   
%% Output %% Output
   
0.020096 0.020096
   
%% Cell type:markdown id:35550041-f70f-4054-8a59-3bf5897fba0c tags: %% Cell type:markdown id:35550041-f70f-4054-8a59-3bf5897fba0c tags:
   
## **Question:** How to evaluate the corresponding crack opening? ## **Question:** How to evaluate the corresponding crack opening?
   
In the design of steel reinforced concrete or carbon concrete, it is necessary to limit the maximum crack opening to a prescribed value, i.e. $w_\max < 0.1$ mm. As an exercise propose a formula for $w_\max$. In the design of steel reinforced concrete or carbon concrete, it is necessary to limit the maximum crack opening to a prescribed value, i.e. $w_\max < 0.1$ mm. As an exercise propose a formula for $w_\max$.
   
%% Cell type:markdown id:transsexual-overall tags: %% Cell type:markdown id:transsexual-overall tags:
   
# **Model 2:** Random matrix strength # **Model 2:** Random matrix strength
   
In reality, the matrix strength $\sigma_\mathrm{mu}$ is random. Its profile along the tensile specimen can be described by the probability distribution function. In reality, the matrix strength $\sigma_\mathrm{mu}$ is random. Its profile along the tensile specimen can be described by the probability distribution function.
Weibull probability distribution is used to describe the strength of materials. Weibull probability distribution is used to describe the strength of materials.
   
%% Cell type:code id:martial-sense tags: %% Cell type:code id:martial-sense tags:
   
``` python ``` python
%matplotlib widget %matplotlib widget
from pmcm import PMCM from pmcm import PMCM
pm = PMCM() pm = PMCM()
pm.interact() pm.interact()
``` ```
   
%% Output %% Output
   
   
%% Cell type:markdown id:ahead-lafayette tags: %% Cell type:markdown id:ahead-lafayette tags:
   
The probabilistic multiple cracking model uses the crack bridge model which is inserted at any newly emerging crack position. By assembling the profile along the specimen we obtain the The probabilistic multiple cracking model uses the crack bridge model which is inserted at any newly emerging crack position. By assembling the profile along the specimen we obtain the
- matrix stress field $\sigma_\mathrm{m}(x, \sigma_\mathrm{c})$, and - matrix stress field $\sigma_\mathrm{m}(x, \sigma_\mathrm{c})$, and
- reinforcement strain field $\varepsilon_\mathrm{f}(x, \sigma_\mathrm{c})$. - reinforcement strain field $\varepsilon_\mathrm{f}(x, \sigma_\mathrm{c})$.
for any state of loading $\sigma_\mathrm{c}$. No finite element calculation is needed. for any state of loading $\sigma_\mathrm{c}$. No finite element calculation is needed.
   
The algorithm used in the above web-app can identify the individual cracks exactly. For a given load level $\sigma_\mathrm{c}$ and crack distribution along the specimen, the composite strain of a specimen with a length $L$ is obtained using the averaging formula introduced above The algorithm used in the above web-app can identify the individual cracks exactly. For a given load level $\sigma_\mathrm{c}$ and crack distribution along the specimen, the composite strain of a specimen with a length $L$ is obtained using the averaging formula introduced above
\begin{align} \begin{align}
\varepsilon_\mathrm{c} = \dfrac{1}{L} \int_{0}^L \varepsilon_\mathrm{f} \, \mathrm{d}x \varepsilon_\mathrm{c} = \dfrac{1}{L} \int_{0}^L \varepsilon_\mathrm{f} \, \mathrm{d}x
\end{align} \end{align}
   
%% Cell type:markdown id:elegant-bride tags: %% Cell type:markdown id:elegant-bride tags:
   
**Further reading:** [Paper describing the general probabilistic multiple cracking model](../papers/pmcm_fragmentation.pdf), Journal of Mathematical Modeling (2021) **Further reading:** [Paper describing the general probabilistic multiple cracking model](../papers/pmcm_fragmentation.pdf), Journal of Mathematical Modeling (2021)
   
%% Cell type:markdown id:african-eating tags: %% Cell type:markdown id:african-eating tags:
   
## PMCM application ## PMCM application
   
%% Cell type:markdown id:numeric-confidentiality tags: %% Cell type:markdown id:numeric-confidentiality tags:
   
Apply the model to a composite cross section using carbon textile fabrics as specified in the notebook [**Mixture rule**](1_1_elastic_stiffness_of_the_composite.ipynb) Apply the model to a composite cross section using carbon textile fabrics as specified in the notebook [**Mixture rule**](1_1_elastic_stiffness_of_the_composite.ipynb)
   
%% Cell type:code id:hungry-momentum tags: %% Cell type:code id:hungry-momentum tags:
   
``` python ``` python
A_roving = 0.5 # [mm**2] A_roving = 0.5 # [mm**2]
n_layers = 6 # - n_layers = 6 # -
spacing = 8.3 # [mm] spacing = 8.3 # [mm]
thickness = 10 # [mm] thickness = 10 # [mm]
width = 100 # [mm] width = 100 # [mm]
E_carbon = 160000 # [MPa] E_carbon = 160000 # [MPa]
E_concrete = 28000 # [MPa] E_concrete = 28000 # [MPa]
``` ```
   
%% Cell type:code id:stone-harmony tags: %% Cell type:code id:stone-harmony tags:
   
``` python ``` python
A_composite = width * thickness A_composite = width * thickness
n_rovings = width / spacing n_rovings = width / spacing
A_layer = n_rovings * A_roving A_layer = n_rovings * A_roving
A_carbon = n_layers * A_layer A_carbon = n_layers * A_layer
A_concrete = A_composite - A_carbon A_concrete = A_composite - A_carbon
E_composite = (E_carbon * A_carbon + E_concrete * A_concrete) / A_composite E_composite = (E_carbon * A_carbon + E_concrete * A_concrete) / A_composite
E_composite E_composite
``` ```
   
%% Output %% Output
   
32771.0843373494 32771.0843373494
   
%% Cell type:code id:needed-suspension tags: %% Cell type:code id:needed-suspension tags:
   
``` python ``` python
pm2 = PMCM(sig_cu=20, sig_mu=4, m=8) pm2 = PMCM(sig_cu=20, sig_mu=4, m=8)
pm2.crack_bridge.trait_set(E_m=E_concrete, E_f=E_carbon, tau=8, pm2.crack_bridge.trait_set(E_m=E_concrete, E_f=E_carbon, tau=8,
A_c=A_composite, A_f=A_carbon, p=n_rovings*n_layers*3.14) A_c=A_composite, A_f=A_carbon, p=n_rovings*n_layers*3.14)
pm2.interact() pm2.interact()
``` ```
   
%% Output %% Output
   
   
%% Cell type:markdown id:radio-alignment tags: %% Cell type:markdown id:radio-alignment tags:
   
![image.png](attachment:192b4a48-d1b5-44a1-9736-0fa01372f454.png) ![image.png](attachment:192b4a48-d1b5-44a1-9736-0fa01372f454.png)
   
%% Cell type:markdown id:fossil-quality tags: %% Cell type:markdown id:fossil-quality tags:
   
## Examples ## Examples
   
%% Cell type:markdown id:nervous-apparatus tags: %% Cell type:markdown id:nervous-apparatus tags:
   
### Task 3: Use the model to validate its prediction ### Task 3: Use the model to validate its prediction
Given the cross sectional areas $A_\mathrm{m}, A_\mathrm{f}$, concrete and reinforcement stiffness $E_\mathrm{m}, E_\mathrm{f}$ and strength $\sigma_\mathrm{mu}, \sigma_\mathrm{fu}$, reinforcement ratio $V_\mathrm{f}$, bond stress $\tau$, and perimeter $p$ calculate the average crack width at failure of a tensile specimen. Given the cross sectional areas $A_\mathrm{m}, A_\mathrm{f}$, concrete and reinforcement stiffness $E_\mathrm{m}, E_\mathrm{f}$ and strength $\sigma_\mathrm{mu}, \sigma_\mathrm{fu}$, reinforcement ratio $V_\mathrm{f}$, bond stress $\tau$, and perimeter $p$ calculate the average crack width at failure of a tensile specimen.
### Task 4: Evaluate the average crack width ### Task 4: Evaluate the average crack width
Compare the crack width obtained using the ACK model and the PMCM model for a given reinforced cross section design Compare the crack width obtained using the ACK model and the PMCM model for a given reinforced cross section design
   
%% Cell type:markdown id:going-conflict tags: %% Cell type:markdown id:going-conflict tags:
   
<div style="background-color:lightgray;text-align:left"> <img src="../icons/exercise.png" alt="Run" width="40" height="40"> <div style="background-color:lightgray;text-align:left"> <img src="../icons/exercise.png" alt="Run" width="40" height="40">
&nbsp; &nbsp; <a href="../exercises/X0204.pdf"><b>Exercise X0203:</b></a> <b>Tensile behavior of a composite with constant bond-slip law</b> &nbsp; &nbsp; <a href="../exercises/X0204 - Tensile behavior of a composite with constant bond-slip law.pdf"><b>Exercise X0204:</b></a> <b>Tensile behavior of a composite with constant bond-slip law</b>
</div> </div>
   
%% Cell type:markdown id:gentle-trout tags: %% Cell type:markdown id:gentle-trout tags:
   
<div style="background-color:lightgray;text-align:left;width:45%;display:inline-table;"> <img src="../icons/previous.png" alt="Previous trip" width="50" height="50"> <div style="background-color:lightgray;text-align:left;width:45%;display:inline-table;"> <img src="../icons/previous.png" alt="Previous trip" width="50" height="50">
&nbsp; <a href="../tour2_constant_bond/2_2_1_PO_configuration_explorer.ipynb#top">2.2 Classification of pullout configurations</a> &nbsp; <a href="../tour2_constant_bond/2_2_1_PO_configuration_explorer.ipynb#top">2.2 Classification of pullout configurations</a>
</div><div style="background-color:lightgray;text-align:center;width:10%;display:inline-table;"> <a href="#top"><img src="../icons/compass.png" alt="Compass" width="50" height="50"></a></div><div style="background-color:lightgray;text-align:right;width:45%;display:inline-table;"> </div><div style="background-color:lightgray;text-align:center;width:10%;display:inline-table;"> <a href="#top"><img src="../icons/compass.png" alt="Compass" width="50" height="50"></a></div><div style="background-color:lightgray;text-align:right;width:45%;display:inline-table;">
<a href="../tour3_nonlinear_bond/3_1_nonlinear_bond.ipynb#top">3.1 Nonlinear bond - softening, hardening</a>&nbsp; <img src="../icons/next.png" alt="Previous trip" width="50" height="50"> </div> <a href="../tour3_nonlinear_bond/3_1_nonlinear_bond.ipynb#top">3.1 Nonlinear bond - softening, hardening</a>&nbsp; <img src="../icons/next.png" alt="Previous trip" width="50" height="50"> </div>
   
%% Cell type:code id:cubic-prompt tags: %% Cell type:code id:cubic-prompt tags:
   
``` python ``` python
``` ```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment