"# Example: Calculate elastic stiffness of a given composite\n",
"\n",
"## Task\n",
"What is the initial stiffness of a reinforced concrete cross section shown in the Figure with the thickness of 10~mm and width of 100 mm.\n",
"The cross-section is reinforced with 6 layers of textile fabrics made of CAR-EP3300 specified in the table below "
"Predict the tensile stiffness of a reinforced concrete cross section shown in the Figure with the thickness of 10~mm and width of 100 mm.\n",
"The cross-section is reinforced with 6 layers of textile fabrics made of CAR-EP3300 specified in the table below\n",
"\n",
""
]
},
{
...
...
@@ -81,9 +83,23 @@
"\\end{array}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# How to evaluate an expression?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Calculator:** Let us use Python language as a calculator and evalute the mixture rule for the exemplified cross-section.m"
"Thus, the composite has an effective stiffness of 37 GPa."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# How to construct a model?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To explore the multitude of compbinations let us provide a model which can be interactively used to study the available design options"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In contrast to the previously performed numerical evaluation, we now express the derived equations as mathematical symbols. To do this, let us use a Python package `sympy` to do symbolic algebra."
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"import sympy as sp"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The parameters of the model are now introduced as `sympy.symbols`."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"A_roving = sp.Symbol('A_r')\n",
"n_layers = sp.Symbol('n_l')\n",
"spacing = sp.Symbol('d')\n",
"thickness = sp.Symbol('h')\n",
"width = sp.Symbol('b')\n",
"E_carbon = sp.Symbol('E_car')\n",
"E_concrete = sp.Symbol('E_c')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The above derived equations can be rephrased in the form"
"Instead of a number, we have now a symbolic expression showing the influence of the individual parameters on a design characteristic, i.e. on the material stiffness. This expression is a model that was constructuted using the conditions of compatibility, equilibrium and constitutive laws.\n",
"Using this model, we can explore the behavior of the composite."
]
},
{
"cell_type": "markdown",
"metadata": {},
...
...
@@ -122,26 +253,23 @@
"cell_type": "markdown",
"metadata": {},
"source": [
" - Install anaconda environment\n",
" - Download this notebook from the moodle folder Jupyter notebooks\n",
" - Start jupyter\n",
" - Open the notebook\n",
" - Learn the basics of how to interact with Jupyter notebook"
" - Login to jupyter.rwth-aachen.de\n",
" - Navigate to this mixture rule example\n",
" - Evaluate the cells by issueing the [Shift+Return] key combination"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Further readings\n",
" - To get more support in installing the environment you can check this page\n",
" - To solve our problems we will use packages that are included in the Python bundle of containing \n",
" packages that efficiently support scientific-computing tasks. To motivate you to dig in deeper in\n",
" Python check this race of programming languages over the last 50 years and wait till the end of it ;-) [Most Popular Programming Languages 1965 - 2019](https://www.youtube.com/watch?v=Og847HVwRSI)\n",
" - Basic features of Jupyter, Python, and of the packages that we will use \n",
" for plotting, linear algebra, algebraic manipulations, and data array manipulations will be shortly\n",
" explained. the that we will use to support our model development will be addressed in a separate notebook."
"# Why Jupyter Lab? Why Python?\n",
" - [Jupyterlab introduction](https://youtu.be/A5YyoCKxEOU) [7 mins] video explaining the basic features of jupyter notebook within jupyter lab \n",
" - Check this race of programming languages over the last 50 years and wait till the end of it ;-) [Most Popular Programming Languages 1965 - 2019](https://www.youtube.com/watch?v=Og847HVwRSI)\n",
" - Useful packages\n",
" - `matplotlib` - plotting \n",
" - `sympy` - algebraic manipulations\n",
" - `numpy` - data array manipulations\n",
" will be shortly explained."
]
},
{
...
...
@@ -168,7 +296,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.2"
"version": "3.9.1"
},
"toc": {
"base_numbering": 1,
...
...
%% Cell type:markdown id: tags:
# Example: Calculate elastic stiffness of a given composite
## Task
What is the initial stiffness of a reinforced concrete cross section shown in the Figure with the thickness of 10~mm and width of 100 mm.
The cross-section is reinforced with 6 layers of textile fabrics made of CAR-EP3300 specified in the table below 
Predict the tensile stiffness of a reinforced concrete cross section shown in the Figure with the thickness of 10~mm and width of 100 mm.
The cross-section is reinforced with 6 layers of textile fabrics made of CAR-EP3300 specified in the table below

%% Cell type:markdown id: tags:
## Theory
The derived mixture rule will be used to solve the task
%% Cell type:markdown id: tags:

%% Cell type:markdown id: tags:
## Data
%% Cell type:markdown id: tags:
\begin{array}{|c|c|c|c|c|c|}
\mathrm{Label}
& \mathrm{Material}
& \mathrm{Area }
& \mathrm{Grid\; spacing}
& \mathrm{Stiffness}
& \mathrm{Strength\; (characteristic)}
\\
\hline
&
& [\mathrm{mm}^2]
& [\mathrm{mm}]
& [\mathrm{MPa}]
& [\mathrm{Mpa}]
\\
\hline
\mathrm{CAR-EP3300}
& \mathrm{carbon/proxy}
& 1.84
& 25.77
& 240000
& 3500
\\
\hline
\mathrm{solidian\; GRID \; Q95}
& \mathrm{carbon/proxy}
& 3.62
& 36.0
& 240000
& 3200
\\
\end{array}
%% Cell type:markdown id: tags:
# How to evaluate an expression?
%% Cell type:markdown id: tags:
**Calculator:** Let us use Python language as a calculator and evalute the mixture rule for the exemplified cross-section.m
Thus, the composite has an effective stiffness of 37 GPa.
%% Cell type:markdown id: tags:
# How to construct a model?
%% Cell type:markdown id: tags:
To explore the multitude of compbinations let us provide a model which can be interactively used to study the available design options
%% Cell type:markdown id: tags:
In contrast to the previously performed numerical evaluation, we now express the derived equations as mathematical symbols. To do this, let us use a Python package `sympy` to do symbolic algebra.
%% Cell type:code id: tags:
``` python
importsympyassp
```
%% Cell type:markdown id: tags:
The parameters of the model are now introduced as `sympy.symbols`.
%% Cell type:code id: tags:
``` python
A_roving=sp.Symbol('A_r')
n_layers=sp.Symbol('n_l')
spacing=sp.Symbol('d')
thickness=sp.Symbol('h')
width=sp.Symbol('b')
E_carbon=sp.Symbol('E_car')
E_concrete=sp.Symbol('E_c')
```
%% Cell type:markdown id: tags:
The above derived equations can be rephrased in the form
Instead of a number, we have now a symbolic expression showing the influence of the individual parameters on a design characteristic, i.e. on the material stiffness. This expression is a model that was constructuted using the conditions of compatibility, equilibrium and constitutive laws.
Using this model, we can explore the behavior of the composite.
%% Cell type:markdown id: tags:
# Next steps
%% Cell type:markdown id: tags:
- Install anaconda environment
- Download this notebook from the moodle folder Jupyter notebooks
- Start jupyter
- Open the notebook
- Learn the basics of how to interact with Jupyter notebook
- Login to jupyter.rwth-aachen.de
- Navigate to this mixture rule example
- Evaluate the cells by issueing the [Shift+Return] key combination
%% Cell type:markdown id: tags:
## Further readings
- To get more support in installing the environment you can check this page
- To solve our problems we will use packages that are included in the Python bundle of containing
packages that efficiently support scientific-computing tasks. To motivate you to dig in deeper in
Python check this race of programming languages over the last 50 years and wait till the end of it ;-) [Most Popular Programming Languages 1965 - 2019](https://www.youtube.com/watch?v=Og847HVwRSI)
- Basic features of Jupyter, Python, and of the packages that we will use
for plotting, linear algebra, algebraic manipulations, and data array manipulations will be shortly
explained. the that we will use to support our model development will be addressed in a separate notebook.
# Why Jupyter Lab? Why Python?
-[Jupyterlab introduction](https://youtu.be/A5YyoCKxEOU)[7 mins] video explaining the basic features of jupyter notebook within jupyter lab
- Check this race of programming languages over the last 50 years and wait till the end of it ;-) [Most Popular Programming Languages 1965 - 2019](https://www.youtube.com/watch?v=Og847HVwRSI)