| | | | |

2.4 Problema Modelo

Ajude a manter o site livre, gratuito e sem propagandas. Colabore!

Em revisão

Nesta seção, aplicamos do método de elementos finitos para a equação de Poisson1212endnote: 12Siméon Denis Poisson, 1781 - 1840, matemático francês. Fonte: Wikipédia:Siméon Denis Poisson. com condições de Dirichlet1313endnote: 13Johann Peter Gustav Lejeune Dirichlet, 1805 - 1859, matemático alemão. Fonte: Wikipédia: Johann Peter Gustav Lejeune Dirichlet.. Mais precisamente, definimos o chamdo problema forte: encontrar u tal que

Δu=f,xΩ:=[0,1]2, (2.29)
u=0,xΩ, (2.30)

onde Δ=2/x02+2/x12 é o operador de Laplace1414endnote: 14Pierre-Simon Laplace, 1749 - 1827, matemático francês. Fonte: Wikipédia: Pierre-Simon Laplace. e f é uma função dada.

2.4.1 Formulação Fraca

Em revisão

A aplicação do método de elementos finitos é construída sobre a formulação fraca do problema (2.29)-(2.30). Para a obtermos, multiplicamos (2.29) por uma função teste v em um espaço adequado V0 e integramos no domínio Ω, obtendo

ΩΔuv𝑑x=Ωfv𝑑x. (2.31)

Então, no lado esquerdo, aplicamos a fórmula de Green1515endnote: 15George Green, 1793 - 1841, matemático britânico. Fonte: Wikipédia:George Green .

ΩΔuv𝑑x=Ωuvdx+Ω𝒏uvds. (2.32)

donde temos

ΩuvdxΩ𝒏uvds=Ωfv𝑑x. (2.33)

Então, observando critérios de regularidade e a condição de contorno (2.30), escolhemos o espaço teste

V0:={vH1(Ω):v|Ω=0}. (2.34)

Lembramos que H1(Ω)={v:vL2(Ω)+vL2(Ω)<}.

Com isso, temos o seguinte problema fraco associado a (2.29)-(2.30): encontrar uV0 tal que

a(u,v)=L(v),vV0, (2.35)

onde a(u,v) é chamada de forma bilinear e definida por

a(u,v):=Ωuvdx (2.36)

e L(v) é chamada de forma linear e definida por

L(v):=Ωfv𝑑x. (2.37)

2.4.2 Formulação de Elementos Finitos

Em revisão

A formulação de elementos finitos é obtida da formulação fraca (2.35) pela aproximação do espaço teste V0 por uma espaço de dimensão finita. Tomando uma triangulação 𝒦Ω e considerando o espaço contínuo dos polinômios lineares por partes

Vh:={v:vC0(Ω),v|KP1(K)K𝒦}, (2.38)

assumimos o espaço de elementos finitos

Vh,0:={vVh:v|Ω=0}. (2.39)

Com isso, temos o seguinte problema de elementos finitos associado (2.35): encontrar uhVh,0 tal que

a(uh,vh)=L(vh),vhVh,0. (2.40)

Observemos que (2.40) é equivalente ao problema de encontrar uhVh,0 tal que

a(uh,φi)=L(φi), (2.41)

com i=0,1,,np1, onde {φi}i=0ni1 é a base nodal de Vh,0 e ni é o número de funções bases (igual ao número de nodos internos da triangulação 𝒦). Ainda, como

uh=j=0ni1ξjφj, (2.42)

temos

a(uh,φi) =a(j=0ni1ξjφj,φi) (2.43)
=j=0ni1ξja(φj,φi). (2.44)

Com isso, o problema de elementos finitos é equivalente a resolver o seguinte sistema linear

j=0ni1ξja(φj,φi)=L(φi),i=0,1,,ni1, (2.45)

para as incógnitas ξj, j=0,1,,ni1. Ou, equivalentemente, temos sua forma matricial

A𝝃=𝒃, (2.46)

onde A=[ai,j]i,j=0ni1 é chamada de matriz de rigidez com

ai,j=a(φj,φi) (2.47)

e 𝒃=(b0,b1,,bni1) é o vetor de carga com

bi=L(φi). (2.48)
Exemplo 2.4.1.

Consideremos o seguinte problema de Poisson

Δu =100x0(1x0)x1(1x1),xΩ:=(0,1)×(0,1), (2.49)
u =0,xΩ. (2.50)

Na Figura 2.5 temos um esboço da aproximação de elementos finitos obtida em uma malha uniforme com 20×20 nodos. As isolinhas correspondem aos ponto tais que u=3×101,2×101, 101, 5×102.

Refer to caption
Figura 2.5: Esboço da solução de elementos finitos do problema discutido no Exemplo 2.4.1.

Com o FEniCS, podemos computar a solução deste problema com o seguinte código:

from __future__ import print_function, division
from fenics import *
import numpy as np
import matplotlib.pyplot as plt

# malha
Nx = 20
Ny = 20
mesh = UnitSquareMesh(Nx,Ny)

# espaco
V = FunctionSpace(mesh, ’P’, 1)

# cond. contorno
def boundary(x,on_boundary):
    return on_boundary

bc = DirichletBC(V,Constant(0.0),boundary)

# f
f = Expression(’100*x[0]*(1-x[0])*x[1]*(1-x[1])’,degree=4)

# MEF problem
u = TrialFunction(V)
v = TestFunction(V)
a = dot(grad(u), grad(v))*dx
L = f*v*dx

#computa a sol
u = Function(V)
solve(a == L, u, bc)

# exportanto em vtk
vtkfile = File(’u.pvd’)
vtkfile << u

2.4.3 Exercícios

Em revisão

E. 2.4.1.

Compute uma aproximação de elementos finitos para o seguinte problema

Δu =10,x(0,1)×(0,1) (2.51)
u(x,0) =0, 0x1, (2.52)
u(1,y) =0, 0y<1, (2.53)
u(x,1) =1, 0x1, (2.54)
u(0,y) =1, 0<x1. (2.55)

Envie seu comentário

As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a Política de Uso de Dados para mais informações. Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!