{ "cells": [ { "cell_type": "markdown", "metadata": { "heading_collapsed": true }, "source": [ "# Materials" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "## Soil materials" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Soil material properties are specified using a dictionary, with the variable name used by Plaxis to designate the property as the dictionary key. The key recognition is case insensitive and disregards both spaces and hyphens. The properties that can be set depend on the material and drainage type. The supported material types are: `'linear elastic`', `'mohr coulomb'`, '`hardening strain`' and `'hs small'`." ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "### Linear elastic" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "Linear elastic soil materials are specified by a dictionary whit the following fields:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hidden": true }, "outputs": [], "source": [ "material = {}\n", "material['SoilModel'] = 'linear elastic'\n", "material[\"DrainageType\"] = 'Drained'\n", "material['Eref'] = 728e3 # kPa\n", "material['nu'] = 0.4 # Poisson\n", "material['gammaSat'] = 20 # kN/m3\n", "material['gammaUnsat'] = 17 # kN/m3" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "### Mohr-Coulomb" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "Mohr-Coulomb soil materials are specified by a dictionary whit the following fields:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hidden": true }, "outputs": [], "source": [ "# Mohr-Coulomb soil material\n", "material = {}\n", "material['SoilModel'] = 'mohr-coulomb'\n", "material[\"DrainageType\"] = 'Drained'\n", "material['gammaSat'] = 20 # kN/m3\n", "material['gammaUnsat'] = 17 # kN/m3\n", "material['e0'] = 0.2\n", "material['Eref'] = 4e4 # kN\n", "material['nu'] = 0.2\n", "material['cref'] = 0 # kPa\n", "material['phi'] = 35 # deg\n", "material['psi'] = 0 # deg" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "### Hardening soil" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "Hardening soil materials are specified by a dictionary whit the following fields:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "hidden": true }, "outputs": [], "source": [ "material = {}\n", "material['SoilModel'] = 'hardening soil'\n", "material[\"DrainageType\"] = 'Drained'\n", "material['gammaSat'] = 17 # kN/m3\n", "material['gammaUnsat'] = 20 # kN/m3\n", "material['e0'] = 0.2\n", "material['E50ref'] = 4e4 #kPa\n", "material['Eoedref'] = 4e4 #kPa\n", "material['Euref'] = 1.2e5 #kPa\n", "material['powerm'] = 0.5\n", "material['c'] = 0 #kPa\n", "material['phi'] = 32 #deg\n", "material['psi'] = 2 #deg\n", "material['nu'] = 0.2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### HS-small" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hardening soil materials are specified by a dictionary whit the following fields:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "material = {}\n", "material['SoilModel'] = 'hs-small'\n", "material[\"DrainageType\"] = 'Drained'\n", "material['gammaSat'] = 17 # kN/m3\n", "material['gammaUnsat'] = 20 # kN/m3\n", "material['e0'] = 0.2\n", "material['E50ref'] = 4e4 # Kpa\n", "material['Eoedref'] = 4e4 # Kpa\n", "material['Euref'] = 1.2e5 # Kpa\n", "material['powerm'] = 0.5\n", "material['c'] = 0 # Kpa\n", "material['phi'] = 32 # deg\n", "material['psi'] = 2 # deg\n", "material['nu'] = 0.2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dynamic properties" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dynamic material properties can be set under an *ultimate* Plaxis license, otherwise an error will be raised. The input method for the dynamic properties is controlled through the `'RayleighDampingInputMethod'` flag. By default the flag is set to `'SDOF equivalent'`. The alternatives are: " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "material['RayleighDampingInputMethod'] = 'Direct'\n", "material['RayleighAlpha'] = 0.57\n", "material['RayleighBeta'] = 0.20" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "material['RayleighDampingInputMethod'] = 'SDOF equivalent'\n", "material['xi1'] = 0.05 \n", "material['xi2'] = 0.08\n", "material['f1'] = 0.1 # Hz\n", "material['f2'] = 1.2 # Hz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interface properties" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The interface stiffness is set with the `'InterfaceStiffnessDetermination'`, `'knInter'` and `'ksInter'` properties. The interface strength is controlled through the `'InterfaceStrengthDetermination'`, `'Rinter'`, `'RinterResidual'` and `'GapClosure'` properties. Not all of these properties are available at the same time, depending on values of `'InterfaceStiffnessDetermination'` and `'InterfaceStrengthDetermination'`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initial stress conditions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Initial stress conditions are controlled through the `'K0Determination'`, `'K0PrimaryIsK0Secondary'`, `'K0Primary'` and `'K0Secondary'`. For some maateirlas `'OCR'` and `'POP'` are also available." ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "## Plate materials" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "Plate material properties are specified using a dictionary, with the variable name used by Plaxis to designate the property as the dictionary key. The key recognition is case insensitive and disregards both spaces and hyphens. The properties that can be set depend on the material type. The supported material types are: `'Elastic'`, `\"Elastoplastic'` and `\"Elastoplastic (M-kappa)'`." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "hidden": true }, "outputs": [], "source": [ "plate_material = {}\n", "plate_material['MaterialType'] = 'Elastic'\n", "plate_material['EA'] = 7.73e6 # KPa m\n", "plate_material['EI'] = 0.3**2 / 12 * 7.73e6 # KPa m\n", "plate_material['d'] = 0.3 # m\n", "plate_material['nu'] = 0.4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dynamic properties" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "Dynamic material properties can be set under an *ultimate* Plaxis license, otherwise an error will be raised. The input method for the dynamic properties is controlled through the `'RayleighDampingInputMethod'` flag. By default the flag is set to `'SDOF equivalent'`. The alternatives are: " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "plate_material['RayleighDampingInputMethod'] = 'Direct'\n", "plate_material['RayleighAlpha'] = 0.57\n", "plate_material['RayleighBeta'] = 0.20" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "plate_material['RayleighDampingInputMethod'] = 'SDOF equivalent'\n", "plate_material['xi1'] = 0.05 \n", "plate_material['xi2'] = 0.08\n", "plate_material['f1'] = 0.1 # Hz\n", "plate_material['f2'] = 1.2 # Hz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plate stiffness calculation" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "Plates material are specified per m of cross-section width. Therefore, the stiffness parameters must comply with the following relations. The equivalent thickness $d$ is related to the axial and flexural stiffness by:\n", "\n", "$$d=\\sqrt{12 \\frac{EI}{EA}}$$\n", "\n", "The reference shear modulus:\n", "\n", "$$G_{ref} = \\frac{EA}{2 \\ d \\ \\left(1 + \\nu \\right)}$$" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "An alternative way to define a plate material is using the `concrete` function, where the properties of the plate are computed form the compressive strength of concrete as:\n", "\n", "$$E \\left[kPa\\right] = 4700 \\ \\sqrt{f'_c \\left[MPa\\right]} \\ 10^3$$\n", "\n", "$$EA = E \\ d \\ 1m$$\n", "\n", "$$EI = E \\ \\frac{d^3 \\ 1m}{12}$$\n", "\n", "$$w = \\gamma \\ d \\ 1m $$" ] }, { "cell_type": "markdown", "metadata": { "hidden": true }, "source": [ "The `padtest.concrete` method computes the plate material stiffness properties from the tihckness and compressive strength:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "hidden": true }, "outputs": [ { "data": { "text/plain": [ "{'MaterialType': 'Elastic',\n", " 'Isotropic': True,\n", " 'nu': 0.3,\n", " 'EA1': 10297184.081097124,\n", " 'EI': 137295.78774796167,\n", " 'w': 9.600000000000001}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import padtest\n", "fc = 30 # MPa\n", "gamma = 24 #kN/m3\n", "d = 0.4\n", "padtest.concrete(gamma, d, fc=30, poisson=0.3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or from the plate thickness and Young's modulus:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'MaterialType': 'Elastic',\n", " 'Isotropic': True,\n", " 'nu': 0.4,\n", " 'EA1': 1200000.0,\n", " 'EI': 16000.000000000005,\n", " 'w': 9.600000000000001}" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "padtest.concrete(gamma, d, young_modulus=30e5)" ] } ], "metadata": { "hide_input": false, "kernelspec": { "display_name": "padtestenv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.16" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "301.4px" }, "toc_section_display": true, "toc_window_display": true }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }