{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "from __future__ import division, print_function\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercício: Flexura da litosfera" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A flexura da litosfera sobre a astenosfera pode ser representada por uma placa elástica flutuando sobre um fluido sem viscosidade.\n", "\n", "A equação que descreve o __deslocamento vertical $w$__ dessa placa elástica é dada por\n", "\n", "$$D \\frac{\\partial^4 w}{\\partial x^4} + \\Delta \\rho g w = p$$\n", "\n", "onde \n", "* $D$ é a __rigidez da placa__, \n", "* $x$ é a __coordenada horizontal__,\n", "* $\\Delta \\rho$ é a __diferença de densidade__ entre o fluido sob a placa (no nosso caso a astenosfera) e o fluido sobre a placa (p.ex. a água ou o ar).\n", "* $g$ é a aceleração da __gravidade__.\n", "* $p=p(x)$ é a __carga__ sobre a placa elástica (p.ex. uma cadeia de montanhas ou uma bacia sedimentar)\n", "\n", "A rigidez $D$ é dada em função da espessura elástica da placa $T_e$ e de outras propriedades do material:\n", "$$D = \\frac{E T_e^3}{12(1-\\nu^2)}$$\n", "onde $E$ é o módulo de elasticidade da placa e $\\nu$ é o coeficiente de Poisson." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solução analítica para uma carga concentrada em $x=0$\n", "\n", "Para o caso de uma carga $p$ concentrada em $x=0$, resultando em uma linha de carga $V_0$, a flexura pode ser descrita por \n", "\n", "$$ w(x) = W_0 \n", "\\exp{\\frac{-|x|}{\\alpha}} \n", "\\left( \n", "\\cos \\frac{x}{\\alpha} +\n", "\\sin \\frac{|x|}{\\alpha}\n", "\\right)$$\n", "\n", "onde \n", "\n", "$$W_0 = \\frac{V_0 \\alpha^3}{8D}$$\n", "\n", "$$\\alpha = \\left(\n", "\\frac{4D}{\\Delta \\rho g}\n", "\\right)^{0.25}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Primeiramente vamos visualizar a flexura da placa sob a carga $V_0$.\n", "\n", "Definindo alguns parâmetros razoáveis para a flexura da litosfera no planeta Terra:\n", "* $\\Delta \\rho = $ [densidade do manto] $-$ [densidade da água] = 3300 $-$ 1000 = 2300 kg/m$^3$\n", "* $g = 10$ m/s$^2$\n", "* $E = 1.0\\times10^{11}$ Pa\n", "* $\\nu = 0.25$\n", "\n", "A espessura elástica da litosfera varia de poucos quilômetros até várias dezenas de quilômetros, dependendo da idade, estrutura térmica e composição da litosfera. Vamos assumir para este exercício $T_e=10$ km $= 10^4$ m.\n", "\n", "A carga $V_0$ dada em N/m, representa uma linha de carga numa direção perpendicular ao eixo, e pode representar uma cordilheira, uma cadeia de ilhas ou uma bacia sedimentar alongada. O sinal da carga é negativo, indicando que o esforço é para baixo. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "drho = 2300.0\n", "g = 10.0\n", "E = 1.0E11\n", "nu = 0.25\n", "Te = 10000.0\n", "V0 = -1.0E13" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos criar um vetor que conterá as posições $x$ do domínio de interesse. Vamos assumir que o domínio tem comprimento total $L=1000$ km $=1.0\\times10^6$ m centrado em $x=0$, com pontos espassados de $\\Delta x=5000$ m, resultando em um número total de pontos $N = L/\\Delta x +1$.\n", "\n", "Para criar o vetor $x$ use o método __linspace__, com posição inicial $-L/2$, posição final $L/2$ e número de pontos $N$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Resta agora definir os valores de $D = \\frac{E T_e^3}{12(1-\\nu^2)}$, $\\alpha = \\left(\n", "\\frac{4D}{\\Delta \\rho g}\n", "\\right)^{0.25}$ e $W_0 = \\frac{V_0 \\alpha^3}{8D}$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Por fim, determine a curva $w$ usando a expressão analítica:\n", "$$ w(x) = W_0 \n", "\\exp{\\frac{-|x|}{\\alpha}} \n", "\\left( \n", "\\cos \\frac{x}{\\alpha} +\n", "\\sin \\frac{|x|}{\\alpha}\n", "\\right)$$" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plote a curva de $w$ em função de $x$. Plote $x$ em km." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Agora vamos criar uma classe __litosfera__ que, a partir do vetor $x$ e das propriedades físicas da litosfera, contenha dois métodos:\n", "* __an__: que calcula a solução analítica da resposta flexural da litosfera sob uma carga $V_0$.\n", "* __figura__: que plota a solução analítica em função de $x$." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Usando a classe criada, crie diferentes instâncias e compare os resultados variando a magnitude da carga e a espessura elástica efetiva." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.4" } }, "nbformat": 4, "nbformat_minor": 1 }