From 6d1cf5188285abc9fcd225ff2c0cf43c8499a5fb Mon Sep 17 00:00:00 2001 From: rch <rostislav.chudoba@rwth-aachen.de> Date: Wed, 23 Jun 2021 13:07:18 +0200 Subject: [PATCH] inserted video links --- ...t_Damage_Evolution_Damage_initiation.ipynb | 1 + .../6_3_localized_energy_dissipation.ipynb | 48 +++-- tour7_cracking/7_1_bending3pt_2d.ipynb | 174 ++++++++++++------ .../7_2_fracture_energy_ident.ipynb | 41 ++++- tour7_cracking/bmcs_bending/bending3pt_2d.py | 8 +- 5 files changed, 184 insertions(+), 88 deletions(-) diff --git a/tour5_damage_bond/5_1_Introspect_Damage_Evolution_Damage_initiation.ipynb b/tour5_damage_bond/5_1_Introspect_Damage_Evolution_Damage_initiation.ipynb index 11a5262..1f4e701 100644 --- a/tour5_damage_bond/5_1_Introspect_Damage_Evolution_Damage_initiation.ipynb +++ b/tour5_damage_bond/5_1_Introspect_Damage_Evolution_Damage_initiation.ipynb @@ -748,6 +748,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "<a id=\"exp_slope\"></a>\n", "## Damage function derived from strength and shape of softening branch" ] }, diff --git a/tour6_energy/6_3_localized_energy_dissipation.ipynb b/tour6_energy/6_3_localized_energy_dissipation.ipynb index 9990040..87469ad 100644 --- a/tour6_energy/6_3_localized_energy_dissipation.ipynb +++ b/tour6_energy/6_3_localized_energy_dissipation.ipynb @@ -9,6 +9,14 @@ "# **6.3 Softening and fracture energy**" ] }, + { + "cell_type": "markdown", + "id": "e975436b-419b-4c36-a1e0-dadd4c5069b5", + "metadata": {}, + "source": [ + "[](https://moodle.rwth-aachen.de/mod/page/view.php?id=643794)" + ] + }, { "cell_type": "markdown", "id": "0734f03a-ade2-4582-8008-c074822f9c3d", @@ -176,7 +184,7 @@ "metadata": {}, "source": [ "$$\n", - "G(w) = \\mathcal{W}(w) - \\mathcal{U}(w) = \\int_0^w P(w) \\; \\mathrm{d}w - \\int_\\Omega E \\boldsymbol{\\varepsilon}_\\mathrm{el}(w) : \\boldsymbol{\\varepsilon}_\\mathrm{el}(w) \\; \\mathrm{d}x.\n", + "G(w) = \\mathcal{W}(w) - \\mathcal{U}(w) = \\int_0^w P(w) \\; \\mathrm{d}w - \\frac{1}{2} \\int_\\Omega E \\boldsymbol{\\varepsilon}_\\mathrm{el}(w) : \\boldsymbol{\\varepsilon}_\\mathrm{el}(w) \\; \\mathrm{d}x.\n", "$$" ] }, @@ -202,7 +210,7 @@ "metadata": {}, "source": [ "$$\n", - "G(t) = \\mathcal{W}(t) - \\mathcal{U}(t) = \\int_0^t P(w(t)) \\dfrac{\\mathrm{d}w}{\\mathrm{d}t} \\; \\mathrm{d}t - \\int_\\Omega \\sigma(w(t)) \\cdot \\varepsilon_\\mathrm{el}(w(t)) \\; \\mathrm{d}x.\n", + "G(t) = \\mathcal{W}(t) - \\mathcal{U}(t) = \\int_0^t P(w(t)) \\dfrac{\\mathrm{d}w}{\\mathrm{d}t} \\; \\mathrm{d}t - \\frac{1}{2} \\int_\\Omega \\sigma(w(t)) \\cdot \\varepsilon_\\mathrm{el}(w(t)) \\; \\mathrm{d}x.\n", "$$" ] }, @@ -228,7 +236,7 @@ "from bmcs_cross_section.pullout import PullOutModel1D\n", "po_cfrp = PullOutModel1D(n_e_x=300, w_max=5) # mm \n", "po_cfrp.geometry.L_x=500 # [mm]\n", - "po_cfrp.time_line.step = 0.008\n", + "po_cfrp.time_line.step = 0.02\n", "po_cfrp.cross_section.trait_set(A_m=400*200, A_f=100*0.11, P_b=100);\n", "po_cfrp.material_model='damage'\n", "po_cfrp.material_model_.trait_set(E_m=28000, E_f=230000, E_b=250, s_max=.4)\n", @@ -254,7 +262,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ce80e4ec167d48b8ab3d08d0e4f162c8", + "model_id": "601ef70cd8a94569808c06b674416649", "version_major": 2, "version_minor": 0 }, @@ -287,7 +295,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2b480b67beea49e5bae9687ba13aa540", + "model_id": "5f9c222bbedf46169d59e56d047a84ee", "version_major": 2, "version_minor": 0 }, @@ -347,12 +355,20 @@ "**When designing an experiment or a structural members always watch out how much elastic energy is stored in the structure prior to the failure.** Ignoring this can lead to unforeseen, uncontrolled failure event which is not only brittle but may be highly **explosive**. " ] }, + { + "cell_type": "markdown", + "id": "16ebaf13-63e9-4c9c-bddc-99dd29937675", + "metadata": {}, + "source": [ + "# **Quantification and verification of dissipated energy**" + ] + }, { "cell_type": "markdown", "id": "a5085968-256f-49a2-b0cd-6d3f537b2dfe", "metadata": {}, "source": [ - "Even though the value of $G_\\mathrm{total}$ could be extracted from the graphs presented in the above simulation, let us quantify them by accessing the output data of the simulation. The `history` attribute includes the arrays of stored, supplied and dissipated energy as `W_t`, `U_bar_t`, and `G_t`, respectively. Then, because the geometry was specified in $\\mathrm{mm}$, the above formulas deliver the value of $G_\\mathrm{total}$ in $\\mathrm{[Nmm]}$, corresponding to $\\mathrm{[kJ]}$ " + "Even though the value of $G_\\mathrm{total}$ could be extracted from the graphs presented in the above simulation, let us quantify them by accessing the output data of the simulation. The `history` attribute includes the arrays of stored, supplied and dissipated energy as `W_t`, `U_bar_t`, and `G_t`, respectively. Then, because the geometry was specified in $\\mathrm{mm}$, the above formulas deliver the value of $G_\\mathrm{total}$ in $\\mathrm{[Nmm]}$" ] }, { @@ -364,7 +380,7 @@ { "data": { "text/plain": [ - "53246.55322083428" + "52784.20045086269" ] }, "execution_count": 4, @@ -374,7 +390,7 @@ ], "source": [ "t_idx = np.argmax(po_cfrp.history.U_bar_t)\n", - "G_total = po_cfrp.hist.G_t[t_idx]\n", + "G_total = po_cfrp.history.G_t[t_idx]\n", "G_total # Nmm" ] }, @@ -417,7 +433,7 @@ "id": "f719f572-0f23-49a2-85e6-2e48e6cc1fa6", "metadata": {}, "source": [ - "Rendering the value of $G_\\mathrm{F}$ in $\\mathrm{[kJ/mm^2]} = \\mathrm{[N/mm]}$" + "Rendering the value of $G_\\mathrm{F}$ in $\\mathrm{[J/mm^2]} = \\mathrm{[N/mm]}$" ] }, { @@ -429,7 +445,7 @@ { "data": { "text/plain": [ - "1.0649310644166856" + "1.055684009017254" ] }, "execution_count": 6, @@ -457,7 +473,7 @@ "id": "f85b7744-5bc0-47c3-90ed-b4577d7d56b5", "metadata": {}, "source": [ - "**However, why are they not equal?** The obtained values, i.e. $G_\\mathrm{F} = = 1.08 \\; \\mathrm{[N/mm]}$ and $G_\\mathrm{f} = 1.19 \\; \\mathrm{[N/mm]}$ so that the globally evaluated dissipated energy is smaller than the prescribed fracture energy \n", + "**However, why are they not equal?** The obtained values, i.e. $G_\\mathrm{F} = 1.05 \\; \\mathrm{[N/mm]}$ and $G_\\mathrm{f} = 1.19 \\; \\mathrm{[N/mm]}$ so that the globally evaluated dissipated energy is smaller than the prescribed fracture energy \n", "$$\n", " G_\\mathrm{F} < G_\\mathrm{f}.\n", "$$\n", @@ -474,7 +490,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1677a84c480a4a04b05724789a8617b0", + "model_id": "baaaef8078fb49fbbf8eaad5a62feea8", "version_major": 2, "version_minor": 0 }, @@ -571,14 +587,6 @@ "</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;\"> \n", " <a href=\"../tour7_cracking/7_1_bending3pt_2d.ipynb#top\">7.1 Crack propagation</a> <img src=\"../icons/next.png\" alt=\"Previous trip\" width=\"50\" height=\"50\"> </div> " ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e59b6e37-03c1-4db4-be30-6ec6ae84530d", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/tour7_cracking/7_1_bending3pt_2d.ipynb b/tour7_cracking/7_1_bending3pt_2d.ipynb index 142f2b6..b188d18 100644 --- a/tour7_cracking/7_1_bending3pt_2d.ipynb +++ b/tour7_cracking/7_1_bending3pt_2d.ipynb @@ -9,6 +9,14 @@ "# **7.1 Propagation of a straight crack**" ] }, + { + "cell_type": "markdown", + "id": "4ad631a0-2bb3-4f35-abd5-39ce796a5d3e", + "metadata": {}, + "source": [ + "[](https://moodle.rwth-aachen.de/mod/page/view.php?id=643780) part 1" + ] + }, { "cell_type": "markdown", "id": "0465afaf-c8d1-4604-a9bd-3bd91bb67ca4", @@ -36,6 +44,19 @@ " <b>Where are we heading</b> </div> " ] }, + { + "attachments": { + "9fb77393-4c12-4784-8c03-00258f81aa5e.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "id": "a7beef0d-d210-4bd7-b95f-b1f27902f20c", + "metadata": {}, + "source": [ + "" + ] + }, { "cell_type": "markdown", "id": "cc776d2c-f89a-4c69-8374-93447c23eda8", @@ -57,11 +78,11 @@ "id": "b1e064b7-2688-40a4-83ce-491b6dcabe6d", "metadata": {}, "source": [ - "An isolated tensile crack propagation can be initiated using a notched specimen. The most common configurations used to study the cracking behavior for a tensile crack denoted as mode I are the wedge splitting test and notched, three-point bending test. Both these tests aim to characterize the material behavior in terms of the softening law describing the relation between the tensile stress transmitted across the localization zone and the corresponding crack opening. \n", + "An isolated tensile crack propagation can be initiated using a notched specimen. The most common configurations used to study the cracking behavior for a tensile crack denoted as mode I are the wedge splitting test and the notched, three-point bending test. Both these tests aim to characterize the material behavior in terms of the softening law describing the relation between the tensile stress transmitted across the localization zone and the corresponding crack opening. \n", "\n", "Due to its simplicity, three-point-bending test on a notched concrete has become a standard (RILEM) to determine the fracture energy $G_\\mathrm{f}$ characterizing the cracking behavior of concrete. The test induces a single crack in the notched section propagating straight upwards from the notch in a stable manner. The energy is dissipated in a local region in the crack vicinity so that it can be directly ascribed to the area of emerging crack surface. \n", "\n", - "The numerical simulation of this model can be readily performed using the material model with the damage function derived in previous notebooks. An example of the geometry and boundary conditions of the three-point bending test is provided by the [Petersson (1982)](https://portal.research.lu.se/portal/files/4705811/1785208.pdf) test series using the following setup." + "The numerical simulation of this model can be readily performed using the material model with the damage function presented in notebook [5.1](tour5_damage_bond/5_1_Introspect_Damage_Evolution_Damage_initiation.ipynb). An example of the geometry and boundary conditions of the three-point bending test is provided by the [Petersson (1982)](https://portal.research.lu.se/portal/files/4705811/1785208.pdf) test series using the following setup." ] }, { @@ -90,18 +111,18 @@ "id": "1f7c6217-d72e-4777-a276-1ff5f524da43", "metadata": {}, "source": [ - "The numerical model simulating this test is assuming a plain stress described by the stress tensor with the enumeration of spatial dimensions using the index variables $a, b$ = [1,2]\n", + "The numerical model simulating this test is assuming a [plain stress](https://en.wikipedia.org/wiki/Plane_stress) described by the stress tensor with the enumeration of spatial dimensions using the index variables $a, b$ = [1,2]\n", "$$\n", "\\sigma_{ab}\n", "= \n", "\\left[\n", "\\begin{array}{cc}\n", - "\\sigma_{xx} & \\sigma_{xy} \\\\\n", - "\\sigma_{yx} & \\sigma_{yy}\n", + "\\sigma_{11} & \\sigma_{12} \\\\\n", + "\\sigma_{21} & \\sigma_{22}\n", "\\end{array}\n", "\\right]\n", "$$ \n", - "and $\\sigma_{zz} = \\sigma_{xz} = \\sigma_{yz} = 0$. The finite element discretization in this model applies the symmetry condition at the middle section of the beam. Upon loading loading, the damage will localize\n", + "and $\\sigma_{33} = \\sigma_{13} = \\sigma_{23} = 0$. The finite element discretization in this model applies the symmetry condition at the middle section of the beam. Upon loading loading, the damage will localize\n", "at the tip of the notch and propagate upwards." ] }, @@ -118,6 +139,14 @@ "" ] }, + { + "cell_type": "markdown", + "id": "9b71ca40-8070-4f53-ac8a-c5389c590ccc", + "metadata": {}, + "source": [ + "The discretization is using quadrilateral finite elements with bilinear shape functions. A fineness of the regular mesh is defined by the number of elements in $x$ and $y$ directions denoted as `n_e_x` and `n_e_y`, respectively. A maximum deflection is given by the parameter `w_max`. The maximum number of iterations to find an equilibrium within a single load increment is controlled by the parameter `k_max`." + ] + }, { "cell_type": "code", "execution_count": 1, @@ -131,8 +160,8 @@ "bt = BendingTestModel(material_model='scalar damage', \n", " n_e_x=6, n_e_y=16, w_max=-2, k_max=500)\n", "bt.time_line.step=0.03\n", - "bt.history.warp_factor=100\n", - "bt.cross_section.trait_set(b=50)\n", + "bt.history.warp_factor=100 # multiplier for displacement plotting\n", + "bt.cross_section.trait_set(B=50)\n", "bt.geometry.trait_set(L=2000, H=200, a=100, L_cb=1);" ] }, @@ -141,7 +170,12 @@ "id": "780cfe67-6a6f-435d-afce-dbb2bc491e76", "metadata": {}, "source": [ - "# **Material model**" + "# **Material model**\n", + "\n", + "Elastic material matrix is defined with the parameters `E` and `nu`. Note that the lateral\n", + "deformation is switched off by setting `nu = 0.0` here. This choice is induced by the need to \n", + "avoid the spurious failure of the compression zone in the final stage of simulation. \n", + "This \"numerical trick\" is justified by the need to keep the model simple. The damage evolution in response to tensile strain is reflected relatively well, so that the model is sufficient to demonstrate the evaluation of fracture energy upon tensile crack propagation." ] }, { @@ -152,8 +186,6 @@ "outputs": [], "source": [ "E = 30000\n", - "f_ct = 3.3\n", - "kappa_0 = f_ct / E\n", "bt.material_model_.trait_set(E = E, nu = 0.0); # note nu = 0.0 to avoid compressive failure" ] }, @@ -170,7 +202,7 @@ "id": "49ade73c-3541-43a5-9237-2eee0892056e", "metadata": {}, "source": [ - "The exponential damage function with the two parameters $\\kappa_0$ defining the onset of damage and $\\kappa_\\mathrm{f}$ controlling the slope of the exponential softening branch at the onset of damage is defined as follows. " + "The exponential damage function with the two parameters $\\kappa_0$ defining the onset of damage and $\\kappa_\\mathrm{f}$ controlling the slope of the exponential softening branch at the onset of damage presented in notebook [5.1](../tour5_damage_bond/5_1_Introspect_Damage_Evolution_Damage_initiation.ipynb#exp_slope). Assuming the concrete tensile strength $f_\\mathrm{ct} = 3.3 \\mathrm{[MPa]}$, we can set the parameters $\\kappa_0$ and the slope of the softening branch $\\kappa_\\mathrm{f}$ as follows" ] }, { @@ -185,7 +217,7 @@ "$\\displaystyle \\begin{cases} 0 & \\text{for}\\: \\kappa \\leq \\kappa_{0} \\\\1 - \\frac{\\kappa_{0} e^{\\frac{- \\kappa + \\kappa_{0}}{- \\kappa_{0} + \\kappa_\\mathrm{f}}}}{\\kappa} & \\text{otherwise} \\end{cases}$" ], "text/plain": [ - "<ibvpy.tmodel.mats_damage_fn.ExpSlopeDamageFn at 0x7fe52ff5d090>" + "<ibvpy.tmodel.mats_damage_fn.ExpSlopeDamageFn at 0x7f5068f4c2c0>" ] }, "execution_count": 3, @@ -194,8 +226,10 @@ } ], "source": [ + "f_ct = 3.3\n", + "kappa_0 = f_ct / E\n", "bt.material_model_.omega_fn = 'exp-slope'\n", - "bt.material_model_.omega_fn_.trait_set(kappa_0=kappa_0, kappa_f=0.0200)" + "bt.material_model_.omega_fn_.trait_set(kappa_0=kappa_0, kappa_f=0.02)" ] }, { @@ -253,6 +287,14 @@ "## Strain norm" ] }, + { + "cell_type": "markdown", + "id": "da77f432-b3f5-4c4d-90a7-471e1fd2fa32", + "metadata": {}, + "source": [ + "[](https://moodle.rwth-aachen.de/mod/page/view.php?id=643780) part 2" + ] + }, { "cell_type": "markdown", "id": "2a6b3a48-27f9-4fdf-9752-bd42bb9e861a", @@ -265,8 +307,8 @@ "= \n", "\\left[\n", "\\begin{array}{cc}\n", - "\\varepsilon_{xx} & \\varepsilon_{xy} \\\\\n", - "\\varepsilon_{yx} & \\varepsilon_{yy}\n", + "\\varepsilon_{11} & \\varepsilon_{12} \\\\\n", + "\\varepsilon_{21} & \\varepsilon_{22}\n", "\\end{array}\n", "\\right]\n", "$$ \n", @@ -283,7 +325,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0cab14ecb5954173ae61dee5c134b547", + "model_id": "d7fd39efabe74251a5a9c5595770bb61", "version_major": 2, "version_minor": 0 }, @@ -296,7 +338,7 @@ } ], "source": [ - "bt.material_model_.strain_norm = 'Rankine'\n", + "bt.material_model_.strain_norm = 'Rankine' # 'Masars', 'Energy'\n", "bt.material_model_.strain_norm_.interact()" ] }, @@ -311,33 +353,7 @@ " - Energy norm\n", " \n", "These norms have to be combined with an elastic threshold to distinguish the elastic and inelastic domains.\n", - "\n", - "Inspect the visual representation of the equivalent strain measure by changing the selector in the material model app. (It is necessary to select the respective tree node to render the visualization of the currently selected option.)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "8dd4a96a-e8b6-4cbc-9f71-bdf0f680b35d", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c9ebe53ccea8418cae7f8ea74ccef454", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "VBox(children=(HBox(children=(VBox(children=(Tree(layout=Layout(align_items='stretch', border='solid 1px black…" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "bt.material_model_.interact()" + "Inspect the visual representation of the equivalent strain measure by changing the selector above from `Rankine` to either `Masars` or `Energy`" ] }, { @@ -456,27 +472,44 @@ "# **Simulation example**" ] }, + { + "cell_type": "markdown", + "id": "f590e07c-a61f-41cd-b97d-a0f32928acfb", + "metadata": {}, + "source": [ + "[](https://moodle.rwth-aachen.de/mod/page/view.php?id=643780) part 3" + ] + }, + { + "cell_type": "markdown", + "id": "c57baa9f-e769-43fa-b0e4-2eb7c260d100", + "metadata": {}, + "source": [ + "Fist, let us ensure that the `Rankine` strain norm is used in the model. " + ] + }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "aba5b31e-bdfb-4446-ba3b-bae4f01d91e6", "metadata": {}, "outputs": [], "source": [ "bt.material_model_.strain_norm='Rankine'\n", + "bt.reset()\n", "bt.run()" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "bf30823c-3ed8-4e8b-a84c-23cc25c8e094", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ab40da50556048ae99b7cad542b84720", + "model_id": "9a39766278494a51822921e8dbb1ec26", "version_major": 2, "version_minor": 0 }, @@ -539,7 +572,7 @@ } ], "source": [ - "V_diss = (bt.geometry.H - bt.geometry.a)*bt.cross_section.b * bt.geometry.L_cb\n", + "V_diss = (bt.geometry.H - bt.geometry.a)*bt.cross_section.B * bt.geometry.L_cb\n", "V_diss" ] }, @@ -569,7 +602,7 @@ } ], "source": [ - "bt.material_model_.G_f # J/mm^2" + "bt.material_model_.G_f # N/mm" ] }, { @@ -612,7 +645,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "e5e6854c-6ec7-43a7-b4bc-d6a725af6b79", "metadata": {}, "outputs": [ @@ -622,7 +655,7 @@ "282.5506041549446" ] }, - "execution_count": 13, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -640,6 +673,35 @@ "# **Parametric study**" ] }, + { + "cell_type": "markdown", + "id": "a609391c-874a-41b5-89b7-5ea415b0a19c", + "metadata": {}, + "source": [ + "[](https://moodle.rwth-aachen.de/mod/page/view.php?id=643780) part 4" + ] + }, + { + "cell_type": "markdown", + "id": "3a7ea2f8-69f1-443a-9b7e-74347c707fc9", + "metadata": {}, + "source": [ + "What happens when we change something? In particular, what happens if we change the volume of the dissipative zone $V_\\mathrm{diss}$?" + ] + }, + { + "attachments": { + "5e6eb343-c973-4ada-8019-9bd37e5f9fec.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "id": "e8400af5-7f0a-4f59-984a-29928ddfea2f", + "metadata": {}, + "source": [ + "" + ] + }, { "cell_type": "markdown", "id": "3479d206-6b40-4b8b-aef7-95143d0bb3fa", @@ -705,7 +767,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c3fd19d8543041709f891a13fa970a8e", + "model_id": "73592155a8d04608a7007572e70562f7", "version_major": 2, "version_minor": 0 }, @@ -719,7 +781,7 @@ { "data": { "text/plain": [ - "(0.0, 1150.9964986034481)" + "(0.0, 575.4982493017241)" ] }, "execution_count": 16, @@ -738,7 +800,7 @@ "ax.set_ylabel(r'$F$ [N]');\n", "G_list = [G_dict[L_cb] for L_cb in L_cb_list]\n", "ax_G.plot(L_cb_list, G_list, marker='H')\n", - "ax_G.set_xlabel(r'$L_\\mathrm{c}$ [mm]')\n", + "ax_G.set_xlabel(r'$L_\\mathrm{cb}$ [mm]')\n", "ax_G.set_ylabel(r'$G_\\mathrm{total}$ [kJ]');\n", "ax_G.set_ylim(ymin=0, ymax=1.1 * np.max(G_list))" ] @@ -944,7 +1006,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fbc99ee74a544befaaf71685bd7f4614", + "model_id": "98a95ffaca22478b853daf450f039f60", "version_major": 2, "version_minor": 0 }, diff --git a/tour7_cracking/7_2_fracture_energy_ident.ipynb b/tour7_cracking/7_2_fracture_energy_ident.ipynb index c12a94f..94699c0 100644 --- a/tour7_cracking/7_2_fracture_energy_ident.ipynb +++ b/tour7_cracking/7_2_fracture_energy_ident.ipynb @@ -9,6 +9,14 @@ "# **7.2 Fracture energy identification and size effect**" ] }, + { + "cell_type": "markdown", + "id": "5a656ce9-7a20-4f31-82e5-6ed57d4311e8", + "metadata": {}, + "source": [ + "[](https://moodle.rwth-aachen.de/mod/page/view.php?id=643791) part 1" + ] + }, { "cell_type": "markdown", "id": "55707766-c485-4a3b-a811-cc70b90099e6", @@ -228,6 +236,14 @@ "# **Size effect** " ] }, + { + "cell_type": "markdown", + "id": "22ff03a4-f0d8-4488-be03-6cc942340858", + "metadata": {}, + "source": [ + "[](https://moodle.rwth-aachen.de/mod/page/view.php?id=643791) part 2" + ] + }, { "cell_type": "markdown", "id": "d2c15296-1bfc-4ade-be72-24afc2e00f12", @@ -280,7 +296,7 @@ "metadata": {}, "outputs": [], "source": [ - "def new_bt(L=2000, H=200, a=100):\n", + "def new_bt(L, H, a):\n", " E = 30000\n", " f_ct = 3.3\n", " kappa_0 = f_ct / E\n", @@ -288,7 +304,7 @@ " n_e_x=6, n_e_y=16, w_max=-2, k_max=1000)\n", " bt.time_line.step=0.02\n", " bt.history.warp_factor=100\n", - " bt.cross_section.trait_set(b=50)\n", + " bt.cross_section.trait_set(B=50)\n", " bt.geometry.trait_set(L=L, H=H, a=a, L_cb=1);\n", " bt.material_model_.trait_set(E = E, nu = 0.0) # note nu = 0.0 to avoid compressive failure\n", " bt.material_model_.omega_fn = 'exp-slope'\n", @@ -307,7 +323,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 3, "id": "fc9dd650-71c2-4e76-8fb6-7bc8466558f3", "metadata": {}, "outputs": [], @@ -325,7 +341,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 4, "id": "1cc2a58f-1799-466f-be57-fdbe9bd765e7", "metadata": {}, "outputs": [ @@ -345,7 +361,6 @@ "scale_list = [0.5,1,2,4]\n", "L0 = 2000\n", "H0 = 200\n", - "B0 = 50\n", "a0 = 50\n", "for scale in scale_list:\n", " print('calculating F-w and G_total for scale = %g' % scale)\n", @@ -376,14 +391,14 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 5, "id": "a3fc049f-480f-4615-ae09-fa3135f5596f", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9adefcfc1089475daac992b80212413a", + "model_id": "7b29635594fa4a90afb2a15f54024c86", "version_major": 2, "version_minor": 0 }, @@ -449,7 +464,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "dfa6230babc64402b44897180f53db18", + "model_id": "12d662e375cf4fc6a1c83253124f2245", "version_major": 2, "version_minor": 0 }, @@ -465,6 +480,16 @@ "bt_dict[2].interact()" ] }, + { + "cell_type": "markdown", + "id": "f2378b06-34a0-4cfa-b165-4bffd5c8273c", + "metadata": {}, + "source": [ + "<div style=\"background-color:lightgray;text-align:left\"> <img src=\"../icons/exercise.png\" alt=\"Run\" width=\"50\" height=\"50\">\n", + " <a href=\"../exercises/X0701_Identification of the fracture energy.pdf\"><b>Exercise X0701:</b></a> <b>Evaluation of fracture energy</b> \n", + "</div>" + ] + }, { "cell_type": "markdown", "id": "af32baab-4840-48ab-896a-baffbc7c6983", diff --git a/tour7_cracking/bmcs_bending/bending3pt_2d.py b/tour7_cracking/bmcs_bending/bending3pt_2d.py index 130a802..f139b2a 100755 --- a/tour7_cracking/bmcs_bending/bending3pt_2d.py +++ b/tour7_cracking/bmcs_bending/bending3pt_2d.py @@ -192,7 +192,7 @@ class Viz2DdGdA(Viz2D): t = self.vis2d.sim.hist.t G_t = self.vis2d.get_G_t() a_t = self.vis2d_cb.get_a_t() - b = self.vis2d_cb.sim.cross_section.b + b = self.vis2d_cb.sim.cross_section.B tck = ip.splrep(a_t * b, G_t, s=0, k=1) dG_da = ip.splev(a_t, tck, der=1) @@ -361,14 +361,14 @@ class CrossSection(BMCSLeafNode): ''' name = 'cross-section' - b = Float(100.0, + B = Float(100.0, CS=True, label='thickness', auto_set=False, enter_set=True, desc='cross-section width [mm2]') ipw_view = View( - Item('b'), + Item('B'), ) @@ -588,7 +588,7 @@ class BendingTestModel(TStepBC, Model): @cached_property def _get_xdomain(self): dgrid = XDomainFEGrid(coord_max=(self.geometry.L / 2., self.geometry.H), - integ_factor=self.cross_section.b, + integ_factor=self.cross_section.B, shape=(self.n_e_x, self.n_e_y), fets=self.fets_eval) -- GitLab