Skip to content
Snippets Groups Projects
Commit 6b31f270 authored by nbgitpuller's avatar nbgitpuller
Browse files

WIP

parent 4e96a3d0
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id:accessible-quality tags:
%% Cell type:markdown id:weekly-deficit tags:
 
# **2.3 Tensile behavior of brittle-matrix composite**
 
%% Cell type:markdown id:graphic-floor tags:
%% Cell type:markdown id:desperate-horror tags:
 
[![title](../fig/bmcs_video.png)](https://moodle.rwth-aachen.de/mod/page/view.php?id=602450)
 
%% Cell type:markdown id:molecular-soviet tags:
%% Cell type:markdown id:republican-chorus 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.
 
%% Cell type:markdown id:extended-japan tags:
%% Cell type:markdown id:approved-clarity tags:
 
Consider an example the textile reinforced concrete cross section loaded in tension. The cross-sectional parameters are as follows
 
%% Cell type:markdown id:considered-belfast tags:
%% Cell type:markdown id:lesbian-hygiene tags:
 
![image.png](attachment:cbf04e3f-0f4a-465c-a5d9-eca0fed2c315.png)
 
%% Cell type:markdown id:ecological-battery tags:
%% Cell type:markdown id:supposed-jumping tags:
 
# Crack bridge as a key to understanding the behavior of a composite
 
%% Cell type:markdown id:ordinary-johnson tags:
%% Cell type:markdown id:northern-cement tags:
 
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
at
- crack positions, and at
- midpoints between cracks.
 
![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
conveniently used to describe the tensile response during the multiple cracking process.
 
%% Cell type:markdown id:occupational-display tags:
%% Cell type:markdown id:architectural-jefferson tags:
 
![image.png](attachment:a3564c30-b942-40f5-8b44-25277e739aa2.png)
 
%% Cell type:markdown id:meaning-absence tags:
%% Cell type:markdown id:hollywood-payday tags:
 
## What do we need from a crack bridge model?
 
%% Cell type:code id:rough-bonus tags:
%% Cell type:code id:fewer-toolbox tags:
 
``` python
%matplotlib widget
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.interact()
```
 
%% Output
 
 
%% Cell type:markdown id:multiple-subsection tags:
%% Cell type:markdown id:local-cabin 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.
 
%% Cell type:markdown id:stable-smell tags:
%% Cell type:markdown id:maritime-incidence tags:
 
### **Question:** How long is the shielded length?
 
%% Cell type:markdown id:broke-prevention tags:
%% Cell type:markdown id:handmade-manufacturer tags:
 
Use the crack bridge model to find out the distance $l_\mathrm{shielded}$ at which the matrix normal force attains the level
\begin{align}
N_\mathrm{mu} & = \sigma_\mathrm{mu} A_\mathrm{m}
\end{align}
Realizing that the slope at which the matrix stress grows is
\begin{align}
T &= p \bar{\tau}
\end{align}
As a result, the distance can be evaluated as
\begin{align}
l_\mathrm{shielded} = \dfrac{N_\mathrm{mu}}{T}
\end{align}
 
%% Cell type:markdown id:permanent-oasis tags:
%% Cell type:markdown id:dominican-uganda tags:
 
### **Question:** What is the elongation and average strain of a crack segment?
 
%% Cell type:markdown id:informative-powell tags:
%% Cell type:markdown id:happy-choir 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.
\begin{align}
\Delta u_\mathrm{f} = \int_{-L_\mathrm{b}}^0 \varepsilon_\mathrm{f} \, \mathrm{d}x
\end{align}
 
%% Cell type:markdown id:personal-synthesis tags:
%% Cell type:markdown id:guided-feedback tags:
 
so that the average, or **composite** strain is obtained as
 
%% Cell type:markdown id:urban-reform tags:
%% Cell type:markdown id:fossil-carpet tags:
 
\begin{align}
\varepsilon_\mathrm{c} = \dfrac{1}{L_\mathrm{b}} \int_{-L_\mathrm{b}}^0 \varepsilon_\mathrm{f} \, \mathrm{d}x
\end{align}
 
%% Cell type:markdown id:mobile-composer tags:
%% Cell type:markdown id:spread-chart 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.
 
%% Cell type:markdown id:angry-investment tags:
%% Cell type:markdown id:native-venezuela tags:
 
# **Model 1:** Deterministic matrix strength (ACK model)
 
%% Cell type:markdown id:vertical-backup tags:
%% Cell type:markdown id:compressed-grammar tags:
 
The typical shape of the stress-strain curve of the composite involves three stages:
- elastic stage which is governed by the mixture rule
- stage of matrix fragmentation
- saturated crack pattern with a linear branch
 
%% Cell type:markdown id:surgical-detail tags:
%% Cell type:markdown id:equivalent-muscle tags:
 
How to interpret and characterize these three distinguished phases of composite material behavior?
 
%% Cell type:markdown id:communist-serve tags:
%% Cell type:markdown id:literary-auction 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 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
- Multiple cracking occurs at a constant level of applied stress, inducing a horizontal branch in the stress-strain behavior
 
%% Cell type:markdown id:starting-species tags:
%% Cell type:markdown id:virtual-jurisdiction tags:
 
![image.png](attachment:e49027f3-9a05-42fd-bb36-8b4c8c4af4d2.png)
 
%% Cell type:markdown id:exposed-academy tags:
%% Cell type:markdown id:victorian-actor tags:
 
## Stress-strain curve
 
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_{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}
\sigma_{2} = E_\mathrm{c} \varepsilon_{2}
\end{align}
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
\begin{align}
\varepsilon_{2} = \dfrac{\sigma_\mathrm{mu}}{E_\mathrm{m}}
\end{align}
where $\sigma_\mathrm{mu}$ and $E_\mathrm{m}$ are the matrix tensile strength and stiffness, respectively.
The composite stiffness has been obtained using the
[**mixture rule**](../bmcs_course/1_1_elastic_stiffness_of_the_composite.ipynb)
and can be expressed here as:
\begin{align}
E_\mathrm{c} = E_\mathrm{f} \; V_\mathrm{f} + E_\mathrm{m} \; (1 - V_\mathrm{f})
\end{align}
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
assumed to be constant up to the strain value $\varepsilon_{3}$ calculated as follows:
\begin{align}
\varepsilon_{3} = \dfrac{\sigma_\mathrm{mu}}{E_\mathrm{m}} \; (1 + 0.666 \alpha_\mathrm{e})
\end{align}
where where $\alpha_\mathrm{e}$ is an homogenization coefficient given as
\begin{align}
\alpha_\mathrm{e} = \dfrac{E_\mathrm{m} \; (1 - V_\mathrm{f}) }{E_\mathrm{f} \; V_\mathrm{f}}
\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}$
The ultimate tensile stress is given as
\begin{align}
\sigma_4 = \sigma_\mathrm{fu} \; V_\mathrm{f}
\end{align}
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
\begin{align}
E_\mathrm{r} = E_\mathrm{f} \; V_\mathrm{f}
\end{align}
The composilte strain at failure $\varepsilon_{4}$ is given as
\begin{align}
\varepsilon_{4} = \varepsilon_{3} + \dfrac{\sigma_\mathrm{4} - \sigma_\mathrm{2}}{E_\mathrm{r}}
\end{align}
 
%% Cell type:markdown id:available-webcam tags:
%% Cell type:markdown id:unique-realtor tags:
 
## Crack spacing
 
%% Cell type:markdown id:applied-lotus tags:
%% Cell type:markdown id:married-liver tags:
 
### Matrix cracking is like car parking ?!
 
![SegmentLocal](../fig/Cars.gif "segment")
 
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?
 
%% Cell type:markdown id:signal-trustee tags:
%% Cell type:markdown id:british-wilson 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))
 
%% Cell type:markdown id:curious-wilson tags:
%% Cell type:markdown id:pleased-melbourne tags:
 
### How long is the car in a concrete tensile specimen?
 
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} \\ -->
\begin{align}
l_\mathrm{cs} &= 1.337 \; l_\mathrm{shielded} = 1.337 \; \dfrac{A_\mathrm{m} \sigma_\mathrm{mu}}{\bar{\tau}p}
\end{align}
 
%% Cell type:markdown id:twenty-charity tags:
%% Cell type:markdown id:nearby-stuff tags:
 
## Examples
 
%% Cell type:markdown id:generic-budget tags:
%% Cell type:markdown id:forbidden-sauce tags:
 
### **Task 1:** Evaluate the tensile stress-strain curve
Consider a steel reinforced cross section of $100 \times 100$ mm
reinforced with a rebar ($d = 16$ mm) diameter.
Plot the stress-strain curve using the ACK model:
 
%% Cell type:code id:settled-johnston tags:
%% Cell type:code id:editorial-minority tags:
 
``` python
E_m = 28000 # concrete stiffness [MPa]
E_f = 210000 # reinforcement stiffnes [MPa]
A_c = 100 * 100 # dimensions [mm]
d = 16 # diameter [mm]
sig_mu = 3 # concrete tensile strength [MPa]
sig_fu = 500 # reinforcement strength [MPa]
```
 
%% Cell type:markdown id:single-parallel tags:
%% Cell type:markdown id:injured-eugene tags:
 
Derived parameters of the cross composite section
 
%% Cell type:code id:affecting-crown tags:
%% Cell type:code id:graduate-moses tags:
 
``` python
p = 3.14 * d # bond perimeter
A_f = 3.14 * (d/2)**2 # reinforcement cross section
A_m = A_c - A_f # concrete cross section
V_f = A_f / A_c # reinforcement ratio / fiber volume fraction
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
```
 
%% Cell type:code id:juvenile-ladder tags:
%% Cell type:code id:bright-cooperative tags:
 
``` python
E_c
```
 
%% Output
 
31657.472
 
%% Cell type:markdown id:warming-revision tags:
%% Cell type:markdown id:right-wilson tags:
 
Characteristic points of the ACK model deliver the values
 
%% Cell type:code id:international-wheel tags:
%% Cell type:code id:retired-tragedy tags:
 
``` python
eps_1, sig_1 = 0, 0
eps_2, sig_2 = sig_mu / E_m, sig_mu
eps_3, sig_3 = sig_mu / E_m * (1 + 0.6666 * alpha_e), sig_mu
sig_4 = sig_fu * V_f
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
```
 
%% Cell type:markdown id:technical-location tags:
%% Cell type:markdown id:electoral-lobby tags:
 
Plot the composite stress-strain curve
 
%% Cell type:code id:accurate-librarian tags:
%% Cell type:code id:legendary-saying tags:
 
``` python
%matplotlib widget
import matplotlib.pylab as plt
fig, ax = plt.subplots(1,1,figsize=(7,3))
fig.canvas.toolbar_position = 'top'
fig.canvas.header_visible = False
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.plot([0,eps_4],[0,E_r*eps_4], color='black', linewidth=1, linestyle='dashed');
```
 
%% Output
 
 
%% Cell type:markdown id:funded-daily tags:
%% Cell type:markdown id:tested-question tags:
 
**Note** that the curve does not depend on the bond $\tau p$.
 
%% Cell type:markdown id:other-details tags:
%% Cell type:markdown id:immune-somewhere tags:
 
### **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.
 
%% Cell type:code id:incomplete-harvard tags:
%% Cell type:code id:tight-orchestra tags:
 
``` python
A_c = 100 * 100
d = 16
p = 3.14 * d
A_f = 3.14 * (d/2)**2
A_m = A_c - A_f
tau = 8
1.337 * A_m * sig_mu / (p * tau)
```
 
%% Output
 
97.79047929936306
 
%% Cell type:markdown id:british-emphasis tags:
%% Cell type:markdown id:hybrid-halloween tags:
 
which corresponds to reinforcement ratio $V_f$
 
%% Cell type:code id:strategic-wallpaper tags:
%% Cell type:code id:metallic-projector tags:
 
``` python
A_f / A_c
```
 
%% Output
 
0.020096
 
%% Cell type:markdown id:royal-milton tags:
%% Cell type:markdown id:civic-colony tags:
 
# **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.
Weibull probability distribution is used to describe the strength of materials.
 
%% Cell type:code id:practical-purchase tags:
%% Cell type:code id:presidential-grounds tags:
 
``` python
%matplotlib widget
from pmcm import PMCM
pm = PMCM()
pm.interact()
```
 
%% Output
 
 
%% Cell type:markdown id:spatial-physiology tags:
%% Cell type:markdown id:differential-belly 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
- matrix stress field $\sigma_\mathrm{m}(x, \sigma_\mathrm{c})$, and
- reinforcement strain field $\varepsilon_\mathrm{f}(x, \sigma_\mathrm{c})$.
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
\begin{align}
\varepsilon_\mathrm{c} = \dfrac{1}{L} \int_{0}^L \varepsilon_\mathrm{f} \, \mathrm{d}x
\end{align}
 
%% Cell type:markdown id:heavy-penguin tags:
%% Cell type:markdown id:respiratory-terrace tags:
 
**Further reading:** [Paper describing the general probabilistic multiple cracking model](../papers/pmcm_fragmentation.pdf), Journal of Mathematical Modeling (2021)
 
%% Cell type:markdown id:governing-listening tags:
%% Cell type:markdown id:selected-conflict tags:
 
## PMCM application
 
%% Cell type:markdown id:hybrid-support tags:
%% Cell type:markdown id:flexible-wayne 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)
 
%% Cell type:code id:computational-witch tags:
%% Cell type:code id:classical-swimming tags:
 
``` python
A_roving = 0.5 # [mm**2]
n_layers = 6 # -
spacing = 8.3 # [mm]
thickness = 10 # [mm]
width = 100 # [mm]
E_carbon = 160000 # [MPa]
E_concrete = 28000 # [MPa]
```
 
%% Cell type:code id:severe-buffer tags:
%% Cell type:code id:white-document tags:
 
``` python
A_composite = width * thickness
n_rovings = width / spacing
A_layer = n_rovings * A_roving
A_carbon = n_layers * A_layer
A_concrete = A_composite - A_carbon
E_composite = (E_carbon * A_carbon + E_concrete * A_concrete) / A_composite
E_composite
```
 
%% Output
 
32771.0843373494
 
%% Cell type:code id:current-washer tags:
%% Cell type:code id:bottom-patch tags:
 
``` python
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,
A_c=A_composite, A_f=A_carbon, p=n_rovings*n_layers*3.14)
pm2.interact()
```
 
%% Output
 
 
%% Cell type:markdown id:developed-inclusion tags:
%% Cell type:markdown id:coral-tennis tags:
 
![image.png](attachment:192b4a48-d1b5-44a1-9736-0fa01372f454.png)
 
%% Cell type:markdown id:large-longitude tags:
%% Cell type:markdown id:important-alexandria tags:
 
## Examples
 
%% Cell type:markdown id:distributed-aviation tags:
%% Cell type:markdown id:internal-vatican tags:
 
### 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.
### 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
 
%% Cell type:markdown id:suspended-commission tags:
%% Cell type:markdown id:united-texture 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/X0204.pdf"><b>Exercise X0203:</b></a> <b>Tensile behavior of a composite with constant bond-slip law</b>
</div>
 
%% Cell type:markdown id:adverse-coupon tags:
%% Cell type:markdown id:patient-sunglasses 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">
&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;">
<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:iraqi-invention tags:
%% Cell type:code id:popular-practitioner tags:
 
``` 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