solución automatizada de ecuaciones diferenciales en ... · soluci on automatizada de ecuaciones...
TRANSCRIPT
![Page 1: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/1.jpg)
Solucion Automatizada de Ecuaciones Diferencialesen Paralelo usando el Metodo de Elemento Finito
Seminario de Modelacion Matematica y Computacional9o Ciclo
Luis M. de la Cruz
Instituto de GeofısicaUniversidad Nacional Autonoma de Mexico
Septiembre de 2012
LMCS (IGF-UNAM) 2012 1 / 51
![Page 2: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/2.jpg)
Contenido
1 Modelacion Matematica y Computacional
2 Metodo de Elemento Finito
3 FEniCS projectFlujo en medios porososSolucion de flujo monofasicoConveccion forzadaComputo ParaleloProblemas no lineales
LMCS (IGF-UNAM) 2012 2 / 51
![Page 3: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/3.jpg)
Modelacion Matematica y Computacional
MMC
LMCS (IGF-UNAM) 2012 3 / 51
![Page 4: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/4.jpg)
Modelacion Matematica y Computacional
MMC
LMCS (IGF-UNAM) 2012 4 / 51
![Page 5: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/5.jpg)
Modelacion Matematica y Computacional
Modelo Conceptual
Definicion del problema:
Escalas.Leyes que intervienen.Datos conocidos.
Ejemplos presentados en el SMMC:
Simulaciones numericas de flujosastrofısicos, A. Raga, ICN.
(The Astrophysical Journal, 725, 2010, 1466)
Simulacion de deformaciones ycortes de tejido en una cirugıa deprostata, F. Arambula, CCADET.
(Comp & Graph, 28, 5, 2004, pp 767)
LMCS (IGF-UNAM) 2012 5 / 51
![Page 6: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/6.jpg)
Modelacion Matematica y Computacional
Modelo Conceptual
Definicion del problema:
Escalas.
Leyes que intervienen.Datos conocidos.
Ejemplos presentados en el SMMC:
Simulaciones numericas de flujosastrofısicos, A. Raga, ICN.
(The Astrophysical Journal, 725, 2010, 1466)
Simulacion de deformaciones ycortes de tejido en una cirugıa deprostata, F. Arambula, CCADET.
(Comp & Graph, 28, 5, 2004, pp 767)
LMCS (IGF-UNAM) 2012 5 / 51
![Page 7: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/7.jpg)
Modelacion Matematica y Computacional
Modelo Conceptual
Definicion del problema:
Escalas.Leyes que intervienen.
Datos conocidos.
Ejemplos presentados en el SMMC:
Simulaciones numericas de flujosastrofısicos, A. Raga, ICN.
(The Astrophysical Journal, 725, 2010, 1466)
Simulacion de deformaciones ycortes de tejido en una cirugıa deprostata, F. Arambula, CCADET.
(Comp & Graph, 28, 5, 2004, pp 767)
LMCS (IGF-UNAM) 2012 5 / 51
![Page 8: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/8.jpg)
Modelacion Matematica y Computacional
Modelo Conceptual
Definicion del problema:
Escalas.Leyes que intervienen.Datos conocidos.
Ejemplos presentados en el SMMC:
Simulaciones numericas de flujosastrofısicos, A. Raga, ICN.
(The Astrophysical Journal, 725, 2010, 1466)
Simulacion de deformaciones ycortes de tejido en una cirugıa deprostata, F. Arambula, CCADET.
(Comp & Graph, 28, 5, 2004, pp 767)
LMCS (IGF-UNAM) 2012 5 / 51
![Page 9: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/9.jpg)
Modelacion Matematica y Computacional
Modelo Conceptual
Definicion del problema:
Escalas.Leyes que intervienen.Datos conocidos.
Ejemplos presentados en el SMMC:
Simulaciones numericas de flujosastrofısicos, A. Raga, ICN.
(The Astrophysical Journal, 725, 2010, 1466)
Simulacion de deformaciones ycortes de tejido en una cirugıa deprostata, F. Arambula, CCADET.
(Comp & Graph, 28, 5, 2004, pp 767)
LMCS (IGF-UNAM) 2012 5 / 51
![Page 10: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/10.jpg)
Modelacion Matematica y Computacional
Modelo Conceptual
Definicion del problema:
Escalas.Leyes que intervienen.Datos conocidos.
Ejemplos presentados en el SMMC:
Simulaciones numericas de flujosastrofısicos, A. Raga, ICN.
(The Astrophysical Journal, 725, 2010, 1466)
Simulacion de deformaciones ycortes de tejido en una cirugıa deprostata, F. Arambula, CCADET.
(Comp & Graph, 28, 5, 2004, pp 767)
LMCS (IGF-UNAM) 2012 5 / 51
![Page 11: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/11.jpg)
Modelacion Matematica y Computacional
Modelo Conceptual
Definicion del problema:
Escalas.Leyes que intervienen.Datos conocidos.
Ejemplos presentados en el SMMC:
Simulaciones numericas de flujosastrofısicos, A. Raga, ICN.
(The Astrophysical Journal, 725, 2010, 1466)
Simulacion de deformaciones ycortes de tejido en una cirugıa deprostata, F. Arambula, CCADET.
(Comp & Graph, 28, 5, 2004, pp 767)
LMCS (IGF-UNAM) 2012 5 / 51
![Page 12: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/12.jpg)
Modelacion Matematica y Computacional
Modelo Conceptual
Definicion del problema:
Escalas.Leyes que intervienen.Datos conocidos.
Ejemplos presentados en el SMMC:
Simulaciones numericas de flujosastrofısicos, A. Raga, ICN.
(The Astrophysical Journal, 725, 2010, 1466)
Simulacion de deformaciones ycortes de tejido en una cirugıa deprostata, F. Arambula, CCADET.
(Comp & Graph, 28, 5, 2004, pp 767)
LMCS (IGF-UNAM) 2012 5 / 51
![Page 13: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/13.jpg)
Modelacion Matematica y Computacional
MMC
LMCS (IGF-UNAM) 2012 6 / 51
![Page 14: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/14.jpg)
Modelacion Matematica y Computacional
Modelo Matematico
El problema se describe en terminos de ecuaciones matematicas∫B(t)
∂ψ
∂tdx+
∫B(t)
∇ · Fdx =
∫B(t)
qdx,
Funcion de flujo : F = vψ − τ .
Simulaciones numericas de flujos astrofısicos (Raga et al.)
∂U
∂t+∂F
∂x+∂G
∂y= S
Simulacion de deformaciones y cortes de tejido en unacirugıa de prostata (Arambula et al.)
mid2xidt2
+ γidxidt
+ gi(t,xi) = fi(t,xi)
LMCS (IGF-UNAM) 2012 7 / 51
![Page 15: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/15.jpg)
Modelacion Matematica y Computacional
Modelo Matematico
El problema se describe en terminos de ecuaciones matematicas∫B(t)
∂ψ
∂tdx+
∫B(t)
∇ · Fdx =
∫B(t)
qdx,
Funcion de flujo : F = vψ − τ .
Simulaciones numericas de flujos astrofısicos (Raga et al.)
∂U
∂t+∂F
∂x+∂G
∂y= S
Simulacion de deformaciones y cortes de tejido en unacirugıa de prostata (Arambula et al.)
mid2xidt2
+ γidxidt
+ gi(t,xi) = fi(t,xi)
LMCS (IGF-UNAM) 2012 7 / 51
![Page 16: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/16.jpg)
Modelacion Matematica y Computacional
Modelo Matematico
El problema se describe en terminos de ecuaciones matematicas∫B(t)
∂ψ
∂tdx+
∫B(t)
∇ · Fdx =
∫B(t)
qdx,
Funcion de flujo : F = vψ − τ .
Simulaciones numericas de flujos astrofısicos (Raga et al.)
∂U
∂t+∂F
∂x+∂G
∂y= S
Simulacion de deformaciones y cortes de tejido en unacirugıa de prostata (Arambula et al.)
mid2xidt2
+ γidxidt
+ gi(t,xi) = fi(t,xi)
LMCS (IGF-UNAM) 2012 7 / 51
![Page 17: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/17.jpg)
Modelacion Matematica y Computacional
MMC
LMCS (IGF-UNAM) 2012 8 / 51
![Page 18: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/18.jpg)
Modelacion Matematica y Computacional
Modelo Numerico (ejemplo simple ∇2ψ = f)
Diferencias Finitas:
ψi+1,j − 2ψi,j + ψi−1,j
∆x+ψi,j+1 − 2ψi,j + ψi,j−1
∆y= fi,j
N = Nx ∗ Ny;f o r ( i n t i = 1 ; i <= N; i++)
f o r ( i n t j = 1 ; j <= N; j++) a ( i , j ) = −(2 / de l t a x + 2 / de l t a y ) ;a ( i +1, j ) = a ( i −1, j ) = 1 / de l t a x ; a ( i , j +1) = a ( i , j−1) = 1 / de l t a y ;
Volumen Finito:
aPψP = aEψE + aWψW + aNψN + aSψS + SP
aE = 1/∆xe; aW = 1/∆xw; aN = 1/∆yn; aS = 1/∆ys; aP = aE , aW , aN , aS ; SP = f∆x∆y
f o r ( i n t i = 1 ; i <= Nx; i++) f o r ( i n t j = 1 ; j <= Ny; j++)
aE( i , j ) = aW( i , j ) = 1 / de l t a x ; aN( i , j ) = aS ( i , j ) = 1 / de l t a y ;aP( i , j ) = aE( i , j ) + aW( i , j ) + aN( i , j ) + aS ( i , j ) ;S ( i , j ) = f ( i , j ) ∗ de l t a x ∗ de l t a y ;
LMCS (IGF-UNAM) 2012 9 / 51
![Page 19: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/19.jpg)
Modelacion Matematica y Computacional
Modelo Numerico (ejemplo simple ∇2ψ = f)
Diferencias Finitas:
ψi+1,j − 2ψi,j + ψi−1,j
∆x+ψi,j+1 − 2ψi,j + ψi,j−1
∆y= fi,j
N = Nx ∗ Ny;f o r ( i n t i = 1 ; i <= N; i++)
f o r ( i n t j = 1 ; j <= N; j++) a ( i , j ) = −(2 / de l t a x + 2 / de l t a y ) ;a ( i +1, j ) = a ( i −1, j ) = 1 / de l t a x ; a ( i , j +1) = a ( i , j−1) = 1 / de l t a y ;
Volumen Finito:
aPψP = aEψE + aWψW + aNψN + aSψS + SP
aE = 1/∆xe; aW = 1/∆xw; aN = 1/∆yn; aS = 1/∆ys; aP = aE , aW , aN , aS ; SP = f∆x∆y
f o r ( i n t i = 1 ; i <= Nx; i++) f o r ( i n t j = 1 ; j <= Ny; j++)
aE( i , j ) = aW( i , j ) = 1 / de l t a x ; aN( i , j ) = aS ( i , j ) = 1 / de l t a y ;aP( i , j ) = aE( i , j ) + aW( i , j ) + aN( i , j ) + aS ( i , j ) ;S ( i , j ) = f ( i , j ) ∗ de l t a x ∗ de l t a y ;
LMCS (IGF-UNAM) 2012 9 / 51
![Page 20: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/20.jpg)
Modelacion Matematica y Computacional
Modelo Numerico (ejemplo simple ∇2ψ = f)
Diferencias Finitas:
ψi+1,j − 2ψi,j + ψi−1,j
∆x+ψi,j+1 − 2ψi,j + ψi,j−1
∆y= fi,j
N = Nx ∗ Ny;f o r ( i n t i = 1 ; i <= N; i++)
f o r ( i n t j = 1 ; j <= N; j++) a ( i , j ) = −(2 / de l t a x + 2 / de l t a y ) ;a ( i +1, j ) = a ( i −1, j ) = 1 / de l t a x ; a ( i , j +1) = a ( i , j−1) = 1 / de l t a y ;
Volumen Finito:
aPψP = aEψE + aWψW + aNψN + aSψS + SP
aE = 1/∆xe; aW = 1/∆xw; aN = 1/∆yn; aS = 1/∆ys; aP = aE , aW , aN , aS ; SP = f∆x∆y
f o r ( i n t i = 1 ; i <= Nx; i++) f o r ( i n t j = 1 ; j <= Ny; j++)
aE( i , j ) = aW( i , j ) = 1 / de l t a x ; aN( i , j ) = aS ( i , j ) = 1 / de l t a y ;aP( i , j ) = aE( i , j ) + aW( i , j ) + aN( i , j ) + aS ( i , j ) ;S ( i , j ) = f ( i , j ) ∗ de l t a x ∗ de l t a y ;
LMCS (IGF-UNAM) 2012 9 / 51
![Page 21: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/21.jpg)
Modelacion Matematica y Computacional
Modelo Numerico (ejemplo simple ∇2ψ = f)
Diferencias Finitas:
ψi+1,j − 2ψi,j + ψi−1,j
∆x+ψi,j+1 − 2ψi,j + ψi,j−1
∆y= fi,j
N = Nx ∗ Ny;f o r ( i n t i = 1 ; i <= N; i++)
f o r ( i n t j = 1 ; j <= N; j++) a ( i , j ) = −(2 / de l t a x + 2 / de l t a y ) ;a ( i +1, j ) = a ( i −1, j ) = 1 / de l t a x ; a ( i , j +1) = a ( i , j−1) = 1 / de l t a y ;
Volumen Finito:
aPψP = aEψE + aWψW + aNψN + aSψS + SP
aE = 1/∆xe; aW = 1/∆xw; aN = 1/∆yn; aS = 1/∆ys; aP = aE , aW , aN , aS ; SP = f∆x∆y
f o r ( i n t i = 1 ; i <= Nx; i++) f o r ( i n t j = 1 ; j <= Ny; j++)
aE( i , j ) = aW( i , j ) = 1 / de l t a x ; aN( i , j ) = aS ( i , j ) = 1 / de l t a y ;aP( i , j ) = aE( i , j ) + aW( i , j ) + aN( i , j ) + aS ( i , j ) ;S ( i , j ) = f ( i , j ) ∗ de l t a x ∗ de l t a y ;
LMCS (IGF-UNAM) 2012 9 / 51
![Page 22: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/22.jpg)
Modelacion Matematica y Computacional
Modelo Numerico (ejemplo simple ∇2ψ = f)
Diferencias Finitas:
ψi+1,j − 2ψi,j + ψi−1,j
∆x+ψi,j+1 − 2ψi,j + ψi,j−1
∆y= fi,j
N = Nx ∗ Ny;f o r ( i n t i = 1 ; i <= N; i++)
f o r ( i n t j = 1 ; j <= N; j++) a ( i , j ) = −(2 / de l t a x + 2 / de l t a y ) ;a ( i +1, j ) = a ( i −1, j ) = 1 / de l t a x ; a ( i , j +1) = a ( i , j−1) = 1 / de l t a y ;
Volumen Finito:
aPψP = aEψE + aWψW + aNψN + aSψS + SP
aE = 1/∆xe; aW = 1/∆xw; aN = 1/∆yn; aS = 1/∆ys; aP = aE , aW , aN , aS ; SP = f∆x∆y
f o r ( i n t i = 1 ; i <= Nx; i++) f o r ( i n t j = 1 ; j <= Ny; j++)
aE( i , j ) = aW( i , j ) = 1 / de l t a x ; aN( i , j ) = aS ( i , j ) = 1 / de l t a y ;aP( i , j ) = aE( i , j ) + aW( i , j ) + aN( i , j ) + aS ( i , j ) ;S ( i , j ) = f ( i , j ) ∗ de l t a x ∗ de l t a y ;
LMCS (IGF-UNAM) 2012 9 / 51
![Page 23: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/23.jpg)
Modelacion Matematica y Computacional
Modelo Numerico (ejemplo simple ∇2ψ = f)
Diferencias Finitas:
ψi+1,j − 2ψi,j + ψi−1,j
∆x+ψi,j+1 − 2ψi,j + ψi,j−1
∆y= fi,j
N = Nx ∗ Ny;f o r ( i n t i = 1 ; i <= N; i++)
f o r ( i n t j = 1 ; j <= N; j++) a ( i , j ) = −(2 / de l t a x + 2 / de l t a y ) ;a ( i +1, j ) = a ( i −1, j ) = 1 / de l t a x ; a ( i , j +1) = a ( i , j−1) = 1 / de l t a y ;
Volumen Finito:
aPψP = aEψE + aWψW + aNψN + aSψS + SP
aE = 1/∆xe; aW = 1/∆xw; aN = 1/∆yn; aS = 1/∆ys; aP = aE , aW , aN , aS ; SP = f∆x∆y
f o r ( i n t i = 1 ; i <= Nx; i++) f o r ( i n t j = 1 ; j <= Ny; j++)
aE( i , j ) = aW( i , j ) = 1 / de l t a x ; aN( i , j ) = aS ( i , j ) = 1 / de l t a y ;aP( i , j ) = aE( i , j ) + aW( i , j ) + aN( i , j ) + aS ( i , j ) ;S ( i , j ) = f ( i , j ) ∗ de l t a x ∗ de l t a y ;
LMCS (IGF-UNAM) 2012 9 / 51
![Page 24: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/24.jpg)
Metodo de Elemento Finito
Metodo de Elemento Finito (MEF)
Problema original:
Lu(x) = f(x) en Ω
u(x) = u0, x sobre ∂Ωdonde L es un operadordiferencial, x ∈ Ω y Ω ⊂ Rd.
Formulacion variacional:
1 Multiplicar Lu = f por una funcion de prueba v.
v es la funcion de prueba (test function).u es la funcion a ser aproximada (trial function).Especificar espacios de funciones donde u y v esten bien definidas.
2 Integrar la ecuacion resultante sobre Ω.3 Realizar una integracion por partes en los terminos que tengan
segundas derivadas.
LMCS (IGF-UNAM) 2012 10 / 51
![Page 25: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/25.jpg)
Metodo de Elemento Finito
Metodo de Elemento Finito (MEF)
Problema original:
Lu(x) = f(x) en Ω
u(x) = u0, x sobre ∂Ωdonde L es un operadordiferencial, x ∈ Ω y Ω ⊂ Rd.
Formulacion variacional:1 Multiplicar Lu = f por una funcion de prueba v.
v es la funcion de prueba (test function).u es la funcion a ser aproximada (trial function).Especificar espacios de funciones donde u y v esten bien definidas.
2 Integrar la ecuacion resultante sobre Ω.3 Realizar una integracion por partes en los terminos que tengan
segundas derivadas.
LMCS (IGF-UNAM) 2012 10 / 51
![Page 26: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/26.jpg)
Metodo de Elemento Finito
Metodo de Elemento Finito (MEF)
Problema original:
Lu(x) = f(x) en Ω
u(x) = u0, x sobre ∂Ωdonde L es un operadordiferencial, x ∈ Ω y Ω ⊂ Rd.
Formulacion variacional:1 Multiplicar Lu = f por una funcion de prueba v.
v es la funcion de prueba (test function).
u es la funcion a ser aproximada (trial function).Especificar espacios de funciones donde u y v esten bien definidas.
2 Integrar la ecuacion resultante sobre Ω.3 Realizar una integracion por partes en los terminos que tengan
segundas derivadas.
LMCS (IGF-UNAM) 2012 10 / 51
![Page 27: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/27.jpg)
Metodo de Elemento Finito
Metodo de Elemento Finito (MEF)
Problema original:
Lu(x) = f(x) en Ω
u(x) = u0, x sobre ∂Ωdonde L es un operadordiferencial, x ∈ Ω y Ω ⊂ Rd.
Formulacion variacional:1 Multiplicar Lu = f por una funcion de prueba v.
v es la funcion de prueba (test function).u es la funcion a ser aproximada (trial function).
Especificar espacios de funciones donde u y v esten bien definidas.
2 Integrar la ecuacion resultante sobre Ω.3 Realizar una integracion por partes en los terminos que tengan
segundas derivadas.
LMCS (IGF-UNAM) 2012 10 / 51
![Page 28: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/28.jpg)
Metodo de Elemento Finito
Metodo de Elemento Finito (MEF)
Problema original:
Lu(x) = f(x) en Ω
u(x) = u0, x sobre ∂Ωdonde L es un operadordiferencial, x ∈ Ω y Ω ⊂ Rd.
Formulacion variacional:1 Multiplicar Lu = f por una funcion de prueba v.
v es la funcion de prueba (test function).u es la funcion a ser aproximada (trial function).Especificar espacios de funciones donde u y v esten bien definidas.
2 Integrar la ecuacion resultante sobre Ω.3 Realizar una integracion por partes en los terminos que tengan
segundas derivadas.
LMCS (IGF-UNAM) 2012 10 / 51
![Page 29: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/29.jpg)
Metodo de Elemento Finito
Metodo de Elemento Finito (MEF)
Problema original:
Lu(x) = f(x) en Ω
u(x) = u0, x sobre ∂Ωdonde L es un operadordiferencial, x ∈ Ω y Ω ⊂ Rd.
Formulacion variacional:1 Multiplicar Lu = f por una funcion de prueba v.
v es la funcion de prueba (test function).u es la funcion a ser aproximada (trial function).Especificar espacios de funciones donde u y v esten bien definidas.
2 Integrar la ecuacion resultante sobre Ω.
3 Realizar una integracion por partes en los terminos que tengansegundas derivadas.
LMCS (IGF-UNAM) 2012 10 / 51
![Page 30: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/30.jpg)
Metodo de Elemento Finito
Metodo de Elemento Finito (MEF)
Problema original:
Lu(x) = f(x) en Ω
u(x) = u0, x sobre ∂Ωdonde L es un operadordiferencial, x ∈ Ω y Ω ⊂ Rd.
Formulacion variacional:1 Multiplicar Lu = f por una funcion de prueba v.
v es la funcion de prueba (test function).u es la funcion a ser aproximada (trial function).Especificar espacios de funciones donde u y v esten bien definidas.
2 Integrar la ecuacion resultante sobre Ω.3 Realizar una integracion por partes en los terminos que tengan
segundas derivadas.
LMCS (IGF-UNAM) 2012 10 / 51
![Page 31: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/31.jpg)
Metodo de Elemento Finito
Ecuacion de Poisson: L = −∆ ≡ −∇2
Problema variacional
Encontrar u ∈ V tal que∫Ω∇u · ∇vdx =
∫Ωfvdx ∀v ∈ V .
V = v ∈ H1(Ω) : v = 0 sobre ∂Ω,
V = v ∈ H1(Ω) : v = u0 sobre ∂Ω.
H1(Ω) contiene funciones v tal que v2 y ||∇v||2 tienen integralesfinitas sobre Ω.
LMCS (IGF-UNAM) 2012 11 / 51
![Page 32: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/32.jpg)
Metodo de Elemento Finito
Ecuacion de Poisson
Problema variacional discreto
Encontrar uh ∈ Vh ⊂ V tal que∫Ω∇uh · ∇vdx =
∫Ωfvdx ∀v ∈ Vh ⊂ V .
La eleccion de Vh y Vh se sigue directamente del tipo de elementosfinitos que se deseen aplicar.
Polinomios
Pr(K) = v : v es un polinomio de grado ≤ r, x ∈ K.P1(K) es el espacio de polinomios de primer grado definidos en K: v(x) = α00 + α10x+ α01y, con x = (x, y) ∈ K y αij ∈ R.
LMCS (IGF-UNAM) 2012 12 / 51
![Page 33: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/33.jpg)
Metodo de Elemento Finito
Ecuacion de Poisson
Problema variacional discreto
Encontrar uh ∈ Vh ⊂ V tal que∫Ω∇uh · ∇vdx =
∫Ωfvdx ∀v ∈ Vh ⊂ V .
La eleccion de Vh y Vh se sigue directamente del tipo de elementosfinitos que se deseen aplicar.
Polinomios
Pr(K) = v : v es un polinomio de grado ≤ r, x ∈ K.P1(K) es el espacio de polinomios de primer grado definidos en K: v(x) = α00 + α10x+ α01y, con x = (x, y) ∈ K y αij ∈ R.
LMCS (IGF-UNAM) 2012 12 / 51
![Page 34: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/34.jpg)
Metodo de Elemento Finito
Ecuacion de Poisson
Problema variacional discreto
Encontrar uh ∈ Vh ⊂ V tal que∫Ω∇uh · ∇vdx =
∫Ωfvdx ∀v ∈ Vh ⊂ V .
La eleccion de Vh y Vh se sigue directamente del tipo de elementosfinitos que se deseen aplicar.
Polinomios
Pr(K) = v : v es un polinomio de grado ≤ r, x ∈ K.P1(K) es el espacio de polinomios de primer grado definidos en K: v(x) = α00 + α10x+ α01y, con x = (x, y) ∈ K y αij ∈ R.
LMCS (IGF-UNAM) 2012 12 / 51
![Page 35: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/35.jpg)
Metodo de Elemento Finito
Ecuacion de Poisson
LMCS (IGF-UNAM) 2012 13 / 51
![Page 36: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/36.jpg)
Metodo de Elemento Finito
MMC
LMCS (IGF-UNAM) 2012 14 / 51
![Page 37: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/37.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Objetivo: automatizar los diferentes aspectos de la MMC.
Generalidad
EficienciaSimplicidad
Autores (intelectuales y materiales) principales: Claes Johnson,Ridgway Scott, Johan Hoffman y Anders Logg.
Instituciones involucradas (hasta ahora):
Royal Institute of Technology KTHUniversity of ChicagoSimula Research LaboratoryDelft University of TechnologyArgonne National LaboratoryTexas Tech UniversityUniversity of CambridgeChalmers University of Technology
LMCS (IGF-UNAM) 2012 15 / 51
![Page 38: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/38.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Objetivo: automatizar los diferentes aspectos de la MMC.
GeneralidadEficiencia
Simplicidad
Autores (intelectuales y materiales) principales: Claes Johnson,Ridgway Scott, Johan Hoffman y Anders Logg.
Instituciones involucradas (hasta ahora):
Royal Institute of Technology KTHUniversity of ChicagoSimula Research LaboratoryDelft University of TechnologyArgonne National LaboratoryTexas Tech UniversityUniversity of CambridgeChalmers University of Technology
LMCS (IGF-UNAM) 2012 15 / 51
![Page 39: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/39.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Objetivo: automatizar los diferentes aspectos de la MMC.
GeneralidadEficienciaSimplicidad
Autores (intelectuales y materiales) principales: Claes Johnson,Ridgway Scott, Johan Hoffman y Anders Logg.
Instituciones involucradas (hasta ahora):
Royal Institute of Technology KTHUniversity of ChicagoSimula Research LaboratoryDelft University of TechnologyArgonne National LaboratoryTexas Tech UniversityUniversity of CambridgeChalmers University of Technology
LMCS (IGF-UNAM) 2012 15 / 51
![Page 40: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/40.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Objetivo: automatizar los diferentes aspectos de la MMC.
GeneralidadEficienciaSimplicidad
Autores (intelectuales y materiales) principales: Claes Johnson,Ridgway Scott, Johan Hoffman y Anders Logg.
Instituciones involucradas (hasta ahora):
Royal Institute of Technology KTHUniversity of ChicagoSimula Research LaboratoryDelft University of TechnologyArgonne National LaboratoryTexas Tech UniversityUniversity of CambridgeChalmers University of Technology
LMCS (IGF-UNAM) 2012 15 / 51
![Page 41: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/41.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Objetivo: automatizar los diferentes aspectos de la MMC.
GeneralidadEficienciaSimplicidad
Autores (intelectuales y materiales) principales: Claes Johnson,Ridgway Scott, Johan Hoffman y Anders Logg.
Instituciones involucradas (hasta ahora):
Royal Institute of Technology KTHUniversity of ChicagoSimula Research LaboratoryDelft University of TechnologyArgonne National LaboratoryTexas Tech UniversityUniversity of CambridgeChalmers University of Technology
LMCS (IGF-UNAM) 2012 15 / 51
![Page 42: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/42.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Objetivo: automatizar los diferentes aspectos de la MMC.
GeneralidadEficienciaSimplicidad
Autores (intelectuales y materiales) principales: Claes Johnson,Ridgway Scott, Johan Hoffman y Anders Logg.
Instituciones involucradas (hasta ahora):
Royal Institute of Technology KTHUniversity of ChicagoSimula Research LaboratoryDelft University of TechnologyArgonne National LaboratoryTexas Tech UniversityUniversity of CambridgeChalmers University of Technology
LMCS (IGF-UNAM) 2012 15 / 51
![Page 43: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/43.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Contiene herramientas para mallas, formulaciones variacionales,solucion de ODEs y algoritmos de algebra lineal (Licencia GNULGPL V3 o mayor).
Unified Form Language (UFL) es una interfaz flexible paraseleccionar espacios de elemento finito y definir expresiones para lasformas debiles en notacion muy parecida a la matematica.FEniCS Form Compiler (FFC) traduce las formulacionesvariacionales de PDEs a codigos eficientes, combinando generalidady eficiencia. Genera codigo en C o C++ de formas multilinealesdadas en notacion matematica.DOLFIN is una interfaz C++/Python de FEniCS, que provee unambiente de solucion de problemas (PSE) consistente para PDEs yODEs.Otras: Dorsal, FIAT, Instant, Viper, UFC.
LMCS (IGF-UNAM) 2012 16 / 51
![Page 44: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/44.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Contiene herramientas para mallas, formulaciones variacionales,solucion de ODEs y algoritmos de algebra lineal (Licencia GNULGPL V3 o mayor).
Unified Form Language (UFL) es una interfaz flexible paraseleccionar espacios de elemento finito y definir expresiones para lasformas debiles en notacion muy parecida a la matematica.
FEniCS Form Compiler (FFC) traduce las formulacionesvariacionales de PDEs a codigos eficientes, combinando generalidady eficiencia. Genera codigo en C o C++ de formas multilinealesdadas en notacion matematica.DOLFIN is una interfaz C++/Python de FEniCS, que provee unambiente de solucion de problemas (PSE) consistente para PDEs yODEs.Otras: Dorsal, FIAT, Instant, Viper, UFC.
LMCS (IGF-UNAM) 2012 16 / 51
![Page 45: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/45.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Contiene herramientas para mallas, formulaciones variacionales,solucion de ODEs y algoritmos de algebra lineal (Licencia GNULGPL V3 o mayor).
Unified Form Language (UFL) es una interfaz flexible paraseleccionar espacios de elemento finito y definir expresiones para lasformas debiles en notacion muy parecida a la matematica.FEniCS Form Compiler (FFC) traduce las formulacionesvariacionales de PDEs a codigos eficientes, combinando generalidady eficiencia. Genera codigo en C o C++ de formas multilinealesdadas en notacion matematica.
DOLFIN is una interfaz C++/Python de FEniCS, que provee unambiente de solucion de problemas (PSE) consistente para PDEs yODEs.Otras: Dorsal, FIAT, Instant, Viper, UFC.
LMCS (IGF-UNAM) 2012 16 / 51
![Page 46: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/46.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Contiene herramientas para mallas, formulaciones variacionales,solucion de ODEs y algoritmos de algebra lineal (Licencia GNULGPL V3 o mayor).
Unified Form Language (UFL) es una interfaz flexible paraseleccionar espacios de elemento finito y definir expresiones para lasformas debiles en notacion muy parecida a la matematica.FEniCS Form Compiler (FFC) traduce las formulacionesvariacionales de PDEs a codigos eficientes, combinando generalidady eficiencia. Genera codigo en C o C++ de formas multilinealesdadas en notacion matematica.DOLFIN is una interfaz C++/Python de FEniCS, que provee unambiente de solucion de problemas (PSE) consistente para PDEs yODEs.
Otras: Dorsal, FIAT, Instant, Viper, UFC.
LMCS (IGF-UNAM) 2012 16 / 51
![Page 47: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/47.jpg)
FEniCS project
The FEniCS Project : automation of computational mathematical modeling
Contiene herramientas para mallas, formulaciones variacionales,solucion de ODEs y algoritmos de algebra lineal (Licencia GNULGPL V3 o mayor).
Unified Form Language (UFL) es una interfaz flexible paraseleccionar espacios de elemento finito y definir expresiones para lasformas debiles en notacion muy parecida a la matematica.FEniCS Form Compiler (FFC) traduce las formulacionesvariacionales de PDEs a codigos eficientes, combinando generalidady eficiencia. Genera codigo en C o C++ de formas multilinealesdadas en notacion matematica.DOLFIN is una interfaz C++/Python de FEniCS, que provee unambiente de solucion de problemas (PSE) consistente para PDEs yODEs.Otras: Dorsal, FIAT, Instant, Viper, UFC.
LMCS (IGF-UNAM) 2012 16 / 51
![Page 48: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/48.jpg)
FEniCS project
Metodologıa para resolver un problema con FEniCS
FEniCS puede ser usado con C++ y Python.
Resolver PDEs con FEniCS es realmente simple:
A. Identificar las PDEs y sus condiciones de frontera.B. Reformular las PDEs como un problema variacional.C. Construir un programa en Python (o C++) para:
1 Definir los datos de entrada del problema.2 Crear o importar la malla del dominio de estudio.3 Definir espacios de funciones.4 Definir las condiciones iniciales y de frontera.5 Definir expresiones para la forma variacional del problema.6 Calcular la solucion del problema varicional discreto.7 Visualizar resultados.8 Adicionalmente se pueden calcular cantidades derivadas como
gradientes, ası como visulizar los resultados.
LMCS (IGF-UNAM) 2012 17 / 51
![Page 49: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/49.jpg)
FEniCS project
Metodologıa para resolver un problema con FEniCS
FEniCS puede ser usado con C++ y Python.
Resolver PDEs con FEniCS es realmente simple:
A. Identificar las PDEs y sus condiciones de frontera.B. Reformular las PDEs como un problema variacional.C. Construir un programa en Python (o C++) para:
1 Definir los datos de entrada del problema.
2 Crear o importar la malla del dominio de estudio.3 Definir espacios de funciones.4 Definir las condiciones iniciales y de frontera.5 Definir expresiones para la forma variacional del problema.6 Calcular la solucion del problema varicional discreto.7 Visualizar resultados.8 Adicionalmente se pueden calcular cantidades derivadas como
gradientes, ası como visulizar los resultados.
LMCS (IGF-UNAM) 2012 17 / 51
![Page 50: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/50.jpg)
FEniCS project
Metodologıa para resolver un problema con FEniCS
FEniCS puede ser usado con C++ y Python.
Resolver PDEs con FEniCS es realmente simple:
A. Identificar las PDEs y sus condiciones de frontera.B. Reformular las PDEs como un problema variacional.C. Construir un programa en Python (o C++) para:
1 Definir los datos de entrada del problema.2 Crear o importar la malla del dominio de estudio.
3 Definir espacios de funciones.4 Definir las condiciones iniciales y de frontera.5 Definir expresiones para la forma variacional del problema.6 Calcular la solucion del problema varicional discreto.7 Visualizar resultados.8 Adicionalmente se pueden calcular cantidades derivadas como
gradientes, ası como visulizar los resultados.
LMCS (IGF-UNAM) 2012 17 / 51
![Page 51: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/51.jpg)
FEniCS project
Metodologıa para resolver un problema con FEniCS
FEniCS puede ser usado con C++ y Python.
Resolver PDEs con FEniCS es realmente simple:
A. Identificar las PDEs y sus condiciones de frontera.B. Reformular las PDEs como un problema variacional.C. Construir un programa en Python (o C++) para:
1 Definir los datos de entrada del problema.2 Crear o importar la malla del dominio de estudio.3 Definir espacios de funciones.
4 Definir las condiciones iniciales y de frontera.5 Definir expresiones para la forma variacional del problema.6 Calcular la solucion del problema varicional discreto.7 Visualizar resultados.8 Adicionalmente se pueden calcular cantidades derivadas como
gradientes, ası como visulizar los resultados.
LMCS (IGF-UNAM) 2012 17 / 51
![Page 52: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/52.jpg)
FEniCS project
Metodologıa para resolver un problema con FEniCS
FEniCS puede ser usado con C++ y Python.
Resolver PDEs con FEniCS es realmente simple:
A. Identificar las PDEs y sus condiciones de frontera.B. Reformular las PDEs como un problema variacional.C. Construir un programa en Python (o C++) para:
1 Definir los datos de entrada del problema.2 Crear o importar la malla del dominio de estudio.3 Definir espacios de funciones.4 Definir las condiciones iniciales y de frontera.
5 Definir expresiones para la forma variacional del problema.6 Calcular la solucion del problema varicional discreto.7 Visualizar resultados.8 Adicionalmente se pueden calcular cantidades derivadas como
gradientes, ası como visulizar los resultados.
LMCS (IGF-UNAM) 2012 17 / 51
![Page 53: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/53.jpg)
FEniCS project
Metodologıa para resolver un problema con FEniCS
FEniCS puede ser usado con C++ y Python.
Resolver PDEs con FEniCS es realmente simple:
A. Identificar las PDEs y sus condiciones de frontera.B. Reformular las PDEs como un problema variacional.C. Construir un programa en Python (o C++) para:
1 Definir los datos de entrada del problema.2 Crear o importar la malla del dominio de estudio.3 Definir espacios de funciones.4 Definir las condiciones iniciales y de frontera.5 Definir expresiones para la forma variacional del problema.
6 Calcular la solucion del problema varicional discreto.7 Visualizar resultados.8 Adicionalmente se pueden calcular cantidades derivadas como
gradientes, ası como visulizar los resultados.
LMCS (IGF-UNAM) 2012 17 / 51
![Page 54: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/54.jpg)
FEniCS project
Metodologıa para resolver un problema con FEniCS
FEniCS puede ser usado con C++ y Python.
Resolver PDEs con FEniCS es realmente simple:
A. Identificar las PDEs y sus condiciones de frontera.B. Reformular las PDEs como un problema variacional.C. Construir un programa en Python (o C++) para:
1 Definir los datos de entrada del problema.2 Crear o importar la malla del dominio de estudio.3 Definir espacios de funciones.4 Definir las condiciones iniciales y de frontera.5 Definir expresiones para la forma variacional del problema.6 Calcular la solucion del problema varicional discreto.
7 Visualizar resultados.8 Adicionalmente se pueden calcular cantidades derivadas como
gradientes, ası como visulizar los resultados.
LMCS (IGF-UNAM) 2012 17 / 51
![Page 55: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/55.jpg)
FEniCS project
Metodologıa para resolver un problema con FEniCS
FEniCS puede ser usado con C++ y Python.
Resolver PDEs con FEniCS es realmente simple:
A. Identificar las PDEs y sus condiciones de frontera.B. Reformular las PDEs como un problema variacional.C. Construir un programa en Python (o C++) para:
1 Definir los datos de entrada del problema.2 Crear o importar la malla del dominio de estudio.3 Definir espacios de funciones.4 Definir las condiciones iniciales y de frontera.5 Definir expresiones para la forma variacional del problema.6 Calcular la solucion del problema varicional discreto.7 Visualizar resultados.
8 Adicionalmente se pueden calcular cantidades derivadas comogradientes, ası como visulizar los resultados.
LMCS (IGF-UNAM) 2012 17 / 51
![Page 56: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/56.jpg)
FEniCS project
Metodologıa para resolver un problema con FEniCS
FEniCS puede ser usado con C++ y Python.
Resolver PDEs con FEniCS es realmente simple:
A. Identificar las PDEs y sus condiciones de frontera.B. Reformular las PDEs como un problema variacional.C. Construir un programa en Python (o C++) para:
1 Definir los datos de entrada del problema.2 Crear o importar la malla del dominio de estudio.3 Definir espacios de funciones.4 Definir las condiciones iniciales y de frontera.5 Definir expresiones para la forma variacional del problema.6 Calcular la solucion del problema varicional discreto.7 Visualizar resultados.8 Adicionalmente se pueden calcular cantidades derivadas como
gradientes, ası como visulizar los resultados.
LMCS (IGF-UNAM) 2012 17 / 51
![Page 57: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/57.jpg)
FEniCS project Flujo en medios porosos
Flujo monofasico en medios porosos: Problema original
φCt∂p
∂t− K
µ∇2p = 0 en Ω× [0, T ]
Condiciones de frontera
PA PB
L x
L y
y
x
No flujo
Condicion inicialp = 1 atm en t = 0
Coeficientes
Ct = 1E − 4 atm−1, φ = 0.2, µ = 1 cp, K = 1 d
LMCS (IGF-UNAM) 2012 18 / 51
![Page 58: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/58.jpg)
FEniCS project Flujo en medios porosos
Flujo monofasico en medios porosos: Formulacion variacional
Usando un esquema implıcito
φCt
(pn − pn−1
∆t
)− K
µ∇2pn = 0
Multiplicando por una funcion v e integrando por partes:∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
Problema variacional
Dado pn−1 ∈ V , encontrar pn ∈ V para todo v ∈ V y n = 1, 2 . . . talque:
a(pn, v) = L(v)
LMCS (IGF-UNAM) 2012 19 / 51
![Page 59: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/59.jpg)
FEniCS project Flujo en medios porosos
Flujo monofasico en medios porosos: Formulacion variacional
Usando un esquema implıcito
φCt
(pn − pn−1
∆t
)− K
µ∇2pn = 0
Multiplicando por una funcion v e integrando por partes:∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
Problema variacional
Dado pn−1 ∈ V , encontrar pn ∈ V para todo v ∈ V y n = 1, 2 . . . talque:
a(pn, v) = L(v)
LMCS (IGF-UNAM) 2012 19 / 51
![Page 60: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/60.jpg)
FEniCS project Flujo en medios porosos
Flujo monofasico en medios porosos: Formulacion variacional
Usando un esquema implıcito
φCt
(pn − pn−1
∆t
)− K
µ∇2pn = 0
Multiplicando por una funcion v e integrando por partes:∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
Problema variacional
Dado pn−1 ∈ V , encontrar pn ∈ V para todo v ∈ V y n = 1, 2 . . . talque:
a(pn, v) = L(v)
LMCS (IGF-UNAM) 2012 19 / 51
![Page 61: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/61.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
1 Importar los paquetes necesarios: dolfin y scitools
from d o l f i n import ∗import s c i t o o l s . ea syv i z as evfrom s c i t o o l s . BoxField import ∗
2 Definir los parametros de entrada constantes
Ct = 1E−4phi = 0 .2mu = 1K = 1
3 Se define el dominio y la malla
mesh = Rectangle (0 ,0 ,300 ,10 ,20 ,10 , ’ l e f t ’ )
4 Se define el espacio discreto de funciones V :
V = FunctionSpace (mesh , ”CG” , 1)
CG significa Continuous Galerking, i.e. elementos de Lagrange estandar (se puede usarLagrange). El grado es 1 (linear triangle). La u calculada sera continua y lineal en xy y dentro de cada elemento. Se pueden usar polinomios de mas alto orden usandodegree = X en el tercer argumento. Tambien es posible usar DG en el segundoargumento lo cual dara espacios de funciones para metodos de Galerkin Discontinuo.
LMCS (IGF-UNAM) 2012 20 / 51
![Page 62: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/62.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
1 Importar los paquetes necesarios: dolfin y scitools
from d o l f i n import ∗import s c i t o o l s . ea syv i z as evfrom s c i t o o l s . BoxField import ∗
2 Definir los parametros de entrada constantes
Ct = 1E−4phi = 0 .2mu = 1K = 1
3 Se define el dominio y la malla
mesh = Rectangle (0 ,0 ,300 ,10 ,20 ,10 , ’ l e f t ’ )
4 Se define el espacio discreto de funciones V :
V = FunctionSpace (mesh , ”CG” , 1)
CG significa Continuous Galerking, i.e. elementos de Lagrange estandar (se puede usarLagrange). El grado es 1 (linear triangle). La u calculada sera continua y lineal en xy y dentro de cada elemento. Se pueden usar polinomios de mas alto orden usandodegree = X en el tercer argumento. Tambien es posible usar DG en el segundoargumento lo cual dara espacios de funciones para metodos de Galerkin Discontinuo.
LMCS (IGF-UNAM) 2012 20 / 51
![Page 63: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/63.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
1 Importar los paquetes necesarios: dolfin y scitools
from d o l f i n import ∗import s c i t o o l s . ea syv i z as evfrom s c i t o o l s . BoxField import ∗
2 Definir los parametros de entrada constantes
Ct = 1E−4phi = 0 .2mu = 1K = 1
3 Se define el dominio y la malla
mesh = Rectangle (0 ,0 ,300 ,10 ,20 ,10 , ’ l e f t ’ )
4 Se define el espacio discreto de funciones V :
V = FunctionSpace (mesh , ”CG” , 1)
CG significa Continuous Galerking, i.e. elementos de Lagrange estandar (se puede usarLagrange). El grado es 1 (linear triangle). La u calculada sera continua y lineal en xy y dentro de cada elemento. Se pueden usar polinomios de mas alto orden usandodegree = X en el tercer argumento. Tambien es posible usar DG en el segundoargumento lo cual dara espacios de funciones para metodos de Galerkin Discontinuo.
LMCS (IGF-UNAM) 2012 20 / 51
![Page 64: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/64.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
1 Importar los paquetes necesarios: dolfin y scitools
from d o l f i n import ∗import s c i t o o l s . ea syv i z as evfrom s c i t o o l s . BoxField import ∗
2 Definir los parametros de entrada constantes
Ct = 1E−4phi = 0 .2mu = 1K = 1
3 Se define el dominio y la malla
mesh = Rectangle (0 ,0 ,300 ,10 ,20 ,10 , ’ l e f t ’ )
4 Se define el espacio discreto de funciones V :
V = FunctionSpace (mesh , ”CG” , 1)
CG significa Continuous Galerking, i.e. elementos de Lagrange estandar (se puede usarLagrange). El grado es 1 (linear triangle). La u calculada sera continua y lineal en xy y dentro de cada elemento. Se pueden usar polinomios de mas alto orden usandodegree = X en el tercer argumento. Tambien es posible usar DG en el segundoargumento lo cual dara espacios de funciones para metodos de Galerkin Discontinuo.
LMCS (IGF-UNAM) 2012 20 / 51
![Page 65: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/65.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
5 Condiciones de frontera
def on boundary L (x ) :re turn abs (x [ 0 ] ) < t o l
pL = Constant (2 )bcL = Dir ichletBC (V, pL , on boundary L )
de f on boundary R (x ) :re turn abs (x [0]−300) < t o l
pR = Constant (1)bcR = Dir ichletBC (V, pR, on boundary R )
El arreglo x contiene las coordenadas de los nodos y x[0] = x, x[1] = y y x[2] = z.Las dos condiciones de frontera se pueden almacenar en un arreglo para su posterioruso:
bcs = [ bcL , bcR ]
6 Condiciones iniciales
p 0 = Constant (1 ) p0 = i n t e r p o l a t e ( p 0 ,V)
LMCS (IGF-UNAM) 2012 21 / 51
![Page 66: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/66.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
5 Condiciones de frontera
def on boundary L (x ) :re turn abs (x [ 0 ] ) < t o l
pL = Constant (2 )bcL = Dir ichletBC (V, pL , on boundary L )
de f on boundary R (x ) :re turn abs (x [0]−300) < t o l
pR = Constant (1)bcR = Dir ichletBC (V, pR, on boundary R )
El arreglo x contiene las coordenadas de los nodos y x[0] = x, x[1] = y y x[2] = z.Las dos condiciones de frontera se pueden almacenar en un arreglo para su posterioruso:
bcs = [ bcL , bcR ]
6 Condiciones iniciales
p 0 = Constant (1 ) p0 = i n t e r p o l a t e ( p 0 ,V)
LMCS (IGF-UNAM) 2012 21 / 51
![Page 67: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/67.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
5 Condiciones de frontera
def on boundary L (x ) :re turn abs (x [ 0 ] ) < t o l
pL = Constant (2 )bcL = Dir ichletBC (V, pL , on boundary L )
de f on boundary R (x ) :re turn abs (x [0]−300) < t o l
pR = Constant (1)bcR = Dir ichletBC (V, pR, on boundary R )
El arreglo x contiene las coordenadas de los nodos y x[0] = x, x[1] = y y x[2] = z.Las dos condiciones de frontera se pueden almacenar en un arreglo para su posterioruso:
bcs = [ bcL , bcR ]
6 Condiciones iniciales
p 0 = Constant (1 ) p0 = i n t e r p o l a t e ( p 0 ,V)
LMCS (IGF-UNAM) 2012 21 / 51
![Page 68: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/68.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
5 Condiciones de frontera
def on boundary L (x ) :re turn abs (x [ 0 ] ) < t o l
pL = Constant (2 )bcL = Dir ichletBC (V, pL , on boundary L )
de f on boundary R (x ) :re turn abs (x [0]−300) < t o l
pR = Constant (1)bcR = Dir ichletBC (V, pR, on boundary R )
El arreglo x contiene las coordenadas de los nodos y x[0] = x, x[1] = y y x[2] = z.Las dos condiciones de frontera se pueden almacenar en un arreglo para su posterioruso:
bcs = [ bcL , bcR ]
6 Condiciones iniciales
p 0 = Constant (1 )
p0 = i n t e r p o l a t e ( p 0 ,V)
LMCS (IGF-UNAM) 2012 21 / 51
![Page 69: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/69.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
5 Condiciones de frontera
def on boundary L (x ) :re turn abs (x [ 0 ] ) < t o l
pL = Constant (2 )bcL = Dir ichletBC (V, pL , on boundary L )
de f on boundary R (x ) :re turn abs (x [0]−300) < t o l
pR = Constant (1)bcR = Dir ichletBC (V, pR, on boundary R )
El arreglo x contiene las coordenadas de los nodos y x[0] = x, x[1] = y y x[2] = z.Las dos condiciones de frontera se pueden almacenar en un arreglo para su posterioruso:
bcs = [ bcL , bcR ]
6 Condiciones iniciales
p 0 = Constant (1 ) p0 = i n t e r p o l a t e ( p 0 ,V)
LMCS (IGF-UNAM) 2012 21 / 51
![Page 70: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/70.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
9 Problema variacional en FEniCS∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
v = TestFunction (V)p = Tria lFunct ion (V)dt = 0.0005
a = phi ∗ Ct ∗ p ∗ v ∗ dx + dt ∗ K / mu ∗ i nner ( grad (p ) , grad (v ) ) ∗ dxL = phi ∗ Ct ∗ p0 ∗ v ∗ dx
10 Solucion del problema
T = 800∗dtt = dtiT = 0p = Function (V)whi le t <= T:
so l v e ( a==L , p , bcs )p0 . a s s i gn (p)t+=dtiT=iT+1p lo t (p)
i n t e r a c t i v e ( )
El sistema lineal se resuelve conPETSc, uBLAS, Epetra o MTL4.En la distribucion de Ubuntu se usaPETSc por omision, y utiliza LUpara sistemas dispersos deUMFPACK. Se pueden usar otrosalgoritmos (CG, GMRES,BICGSTAB, etc.).
La formulacion variacional se escribe de manera muy simple en Python!(el trabajo lo hace el Unifed Form Language y el FEniCS Form Compiler).
LMCS (IGF-UNAM) 2012 22 / 51
![Page 71: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/71.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
9 Problema variacional en FEniCS∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
v = TestFunction (V)p = Tria lFunct ion (V)dt = 0.0005
a = phi ∗ Ct ∗ p ∗ v ∗ dx + dt ∗ K / mu ∗ i nner ( grad (p ) , grad (v ) ) ∗ dxL = phi ∗ Ct ∗ p0 ∗ v ∗ dx
10 Solucion del problema
T = 800∗dtt = dtiT = 0p = Function (V)whi le t <= T:
so l v e ( a==L , p , bcs )p0 . a s s i gn (p)t+=dtiT=iT+1p lo t (p)
i n t e r a c t i v e ( )
El sistema lineal se resuelve conPETSc, uBLAS, Epetra o MTL4.En la distribucion de Ubuntu se usaPETSc por omision, y utiliza LUpara sistemas dispersos deUMFPACK. Se pueden usar otrosalgoritmos (CG, GMRES,BICGSTAB, etc.).
La formulacion variacional se escribe de manera muy simple en Python!(el trabajo lo hace el Unifed Form Language y el FEniCS Form Compiler).
LMCS (IGF-UNAM) 2012 22 / 51
![Page 72: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/72.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
9 Problema variacional en FEniCS∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
v = TestFunction (V)p = Tria lFunct ion (V)dt = 0.0005
a = phi ∗ Ct ∗ p ∗ v ∗ dx + dt ∗ K / mu ∗ i nner ( grad (p ) , grad (v ) ) ∗ dxL = phi ∗ Ct ∗ p0 ∗ v ∗ dx
10 Solucion del problema
T = 800∗dtt = dtiT = 0p = Function (V)whi le t <= T:
so l v e ( a==L , p , bcs )p0 . a s s i gn (p)t+=dtiT=iT+1p lo t (p)
i n t e r a c t i v e ( )
El sistema lineal se resuelve conPETSc, uBLAS, Epetra o MTL4.En la distribucion de Ubuntu se usaPETSc por omision, y utiliza LUpara sistemas dispersos deUMFPACK. Se pueden usar otrosalgoritmos (CG, GMRES,BICGSTAB, etc.).
La formulacion variacional se escribe de manera muy simple en Python!(el trabajo lo hace el Unifed Form Language y el FEniCS Form Compiler).
LMCS (IGF-UNAM) 2012 22 / 51
![Page 73: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/73.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
9 Problema variacional en FEniCS∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
v = TestFunction (V)p = Tria lFunct ion (V)dt = 0.0005
a = phi ∗ Ct ∗ p ∗ v ∗ dx + dt ∗ K / mu ∗ i nner ( grad (p ) , grad (v ) ) ∗ dxL = phi ∗ Ct ∗ p0 ∗ v ∗ dx
10 Solucion del problema
T = 800∗dtt = dtiT = 0p = Function (V)whi le t <= T:
so l v e ( a==L , p , bcs )p0 . a s s i gn (p)t+=dtiT=iT+1p lo t (p)
i n t e r a c t i v e ( )
El sistema lineal se resuelve conPETSc, uBLAS, Epetra o MTL4.En la distribucion de Ubuntu se usaPETSc por omision, y utiliza LUpara sistemas dispersos deUMFPACK. Se pueden usar otrosalgoritmos (CG, GMRES,BICGSTAB, etc.).
La formulacion variacional se escribe de manera muy simple en Python!(el trabajo lo hace el Unifed Form Language y el FEniCS Form Compiler).
LMCS (IGF-UNAM) 2012 22 / 51
![Page 74: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/74.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
9 Problema variacional en FEniCS∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
v = TestFunction (V)p = Tria lFunct ion (V)dt = 0.0005
a = phi ∗ Ct ∗ p ∗ v ∗ dx + dt ∗ K / mu ∗ i nner ( grad (p ) , grad (v ) ) ∗ dxL = phi ∗ Ct ∗ p0 ∗ v ∗ dx
10 Solucion del problema
T = 800∗dtt = dtiT = 0p = Function (V)whi le t <= T:
so l v e ( a==L , p , bcs )p0 . a s s i gn (p)t+=dtiT=iT+1p lo t (p)
i n t e r a c t i v e ( )
El sistema lineal se resuelve conPETSc, uBLAS, Epetra o MTL4.En la distribucion de Ubuntu se usaPETSc por omision, y utiliza LUpara sistemas dispersos deUMFPACK. Se pueden usar otrosalgoritmos (CG, GMRES,BICGSTAB, etc.).
La formulacion variacional se escribe de manera muy simple en Python!(el trabajo lo hace el Unifed Form Language y el FEniCS Form Compiler).
LMCS (IGF-UNAM) 2012 22 / 51
![Page 75: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/75.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
9 Problema variacional en FEniCS∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
v = TestFunction (V)p = Tria lFunct ion (V)dt = 0.0005
a = phi ∗ Ct ∗ p ∗ v ∗ dx + dt ∗ K / mu ∗ i nner ( grad (p ) , grad (v ) ) ∗ dxL = phi ∗ Ct ∗ p0 ∗ v ∗ dx
10 Solucion del problema
T = 800∗dtt = dtiT = 0p = Function (V)whi le t <= T:
so l v e ( a==L , p , bcs )p0 . a s s i gn (p)t+=dtiT=iT+1p lo t (p)
i n t e r a c t i v e ( )
El sistema lineal se resuelve conPETSc, uBLAS, Epetra o MTL4.En la distribucion de Ubuntu se usaPETSc por omision, y utiliza LUpara sistemas dispersos deUMFPACK. Se pueden usar otrosalgoritmos (CG, GMRES,BICGSTAB, etc.).
La formulacion variacional se escribe de manera muy simple en Python!(el trabajo lo hace el Unifed Form Language y el FEniCS Form Compiler).
LMCS (IGF-UNAM) 2012 22 / 51
![Page 76: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/76.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
9 Problema variacional en FEniCS∫ΩφCtp
nv dx+
∫Ω
∆tK
µ∇pn · ∇v dx︸ ︷︷ ︸
a(pn,v)
=
∫ΩφCtp
n−1v dx︸ ︷︷ ︸L(v)
v = TestFunction (V)p = Tria lFunct ion (V)dt = 0.0005
a = phi ∗ Ct ∗ p ∗ v ∗ dx + dt ∗ K / mu ∗ i nner ( grad (p ) , grad (v ) ) ∗ dxL = phi ∗ Ct ∗ p0 ∗ v ∗ dx
10 Solucion del problema
T = 800∗dtt = dtiT = 0p = Function (V)whi le t <= T:
so l v e ( a==L , p , bcs )p0 . a s s i gn (p)t+=dtiT=iT+1p lo t (p)
i n t e r a c t i v e ( )
El sistema lineal se resuelve conPETSc, uBLAS, Epetra o MTL4.En la distribucion de Ubuntu se usaPETSc por omision, y utiliza LUpara sistemas dispersos deUMFPACK. Se pueden usar otrosalgoritmos (CG, GMRES,BICGSTAB, etc.).
La formulacion variacional se escribe de manera muy simple en Python!(el trabajo lo hace el Unifed Form Language y el FEniCS Form Compiler).
LMCS (IGF-UNAM) 2012 22 / 51
![Page 77: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/77.jpg)
FEniCS project Solucion de flujo monofasico
Flujo monofasico en medios porosos: Solucion numerica usando FEniCS
Codigo completo. (ejecutar con: % python mono.py)
from d o l f i n import ∗import s c i t o o l s . ea syv i z as evfrom s c i t o o l s . BoxField import ∗
Ct = 1E−4phi = 0 .2mu = 1K = 1nx = 20ny = 10mesh = Rectangle (0 , 0 , 300 , 10 , nx , ny ,
’ l e f t ’ )V = FunctionSpace (mesh , ’CG’ , 1)
de f on boundary L (x ) :t o l=1e−15return abs (x [ 0 ] ) < t o l
de f on boundary R (x ) :t o l=1e−15return abs (x [0]−300) < t o l
pL = Constant (2)pR = Constant (1)
bcL = Dir ichletBC (V, pL , on boundary L )bcR = Dir ichletBC (V, pR, on boundary R )
bcs = [ bcL , bcR ]p 0 = Constant (1 )p0 = i n t e r p o l a t e ( p 0 ,V)
v = TestFunction (V)p = Tria lFunct ion (V)dt = 0.0005
a = phi ∗ Ct ∗ p ∗ v ∗ dx +dt ∗ K / mu ∗i nner ( grad (p ) , grad (v ))∗dx
L = phi ∗ Ct ∗ p0 ∗ v ∗ dx
T = 800∗dtt = dtiT = 0p = Function (V)
whi le t <= T:so l v e ( a==L , p , bcs )p0 . a s s i gn (p)t+=dtiT=iT+1p lo t (p)
i n t e r a c t i v e ( )
LMCS (IGF-UNAM) 2012 23 / 51
![Page 78: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/78.jpg)
FEniCS project Conveccion forzada
Conveccion forzada
Problema original
∂T
∂t+∇ · (uT − Γ∇T ) = 0
∂T∂y =0
HT =0.5 T =−0.5C
∂T∂y =0
x=0
y=0
x=1
y=1
~u = (u, v)
u = −A ∗ cos(ωπy) ∗ sin(ωπx)
v = A ∗ sin(ωπy) ∗ cos(ωπx)
A: Amplitud;
ω: Numero de celdas
LMCS (IGF-UNAM) 2012 24 / 51
![Page 79: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/79.jpg)
FEniCS project Conveccion forzada
Conveccion forzada
Problema variacional
Encontrar u ∈ V tal que
a(Tn, v) = L(v) ∀v ∈ V
donde
a(Tn, v) =
∫ΩTnvdx− Γ∆t
∫Ω∇Tn · ∇vdx+ ∆t
∫Ωu · ∇Tnvdx
L(v) =
∫ΩTn−1vdx
LMCS (IGF-UNAM) 2012 25 / 51
![Page 80: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/80.jpg)
FEniCS project Conveccion forzada
Formulacion variacional
a(Tn, v) =
∫Ω
Tnvdx−
Γ∆t
∫Ω
∇Tn · ∇vdx+
∆t
∫Ω
u · ∇Tnvdx
a = T ∗ v ∗ dx +G ∗ dt ∗ i nner ( grad (T) , grad (v ) ) ∗ dx +dt ∗ dot ( ve l o c i t y , grad (T) ) ∗ v ∗ dx
L(v) =
∫Ω
Tn−1vdx
L = ( T prev + dt ∗ f ) ∗ v ∗ dx
LMCS (IGF-UNAM) 2012 26 / 51
![Page 81: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/81.jpg)
FEniCS project Conveccion forzada
Conveccion Forzada: Solucion numerica usando FEniCS
Codigo completo
from d o l f i n import ∗import s c i t o o l s . ea syv i z as evfrom s c i t o o l s . BoxField import ∗
parameters [ ” l i n e a r a l g eb ra backend ” ] = ”PETSc”
Nodes = 25mesh = UnitSquare ( Nodes , Nodes )
V = FunctionSpace (mesh , ’CG’ ,1)v = TestFunction (V)T = Tria lFunct ion (V)f = Constant ( 0 . 0 )
W = VectorFunctionSpace (mesh , ’CG’ ,1)c a l c V e l c = Express ion ( ( ”−100∗ cos (3 .141592∗x [ 1 ] ) ∗ s i n (3 .141592∗x [ 0 ] ) ” ,
”100∗ s i n (3 .141592∗x [ 1 ] ) ∗ cos (3 .141592∗x [ 0 ] ) ” ) )v e l o c i t y = i n t e r p o l a t e ( ca l c Ve l c , W)
T prev = Function (V)
de f on boundary L ( x ) :t o l=1e−15return abs ( x [ 0 ] ) < t o l
de f on boundary R ( x ) :t o l=1e−15return abs ( x [ 0 ] − 1 .0 ) < t o l
LMCS (IGF-UNAM) 2012 27 / 51
![Page 82: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/82.jpg)
FEniCS project Conveccion forzada
Conveccion Forzada: Solucion numerica usando FEniCS
def on boundary D ( x ) :t o l=1e−15return abs ( x [ 1 ] ) < t o l
de f on boundary T ( x ) :t o l=1e−15return abs ( x [ 1 ] − 1 .0 ) < t o l
TL = Constant ( 0 . 5 )TR = Constant (−0.5)TD = Constant ( 0 . 0 )TT = Constant ( 0 . 0 )
bcL = Dir ichletBC (V, TL, on boundary L )bcR = Dir ichletBC (V, TR, on boundary R )bcD = Dir ichletBC (V, TD, on boundary D )bcT = Dir ichletBC (V, TT, on boundary T )bc = [ bcL , bcR , bcD , bcT ]
G = 1.0dt = 0.0001
a = T ∗ v ∗ dx +G ∗ dt ∗ i nner ( grad (T) , grad (v ))∗dx +dt ∗ dot ( v e l o c i t y , grad (T) ) ∗ v∗dx
L = ( T prev + dt ∗ f ) ∗ v ∗ dx
A = assemble ( a )
T = Function (V)
Steps = 1000t = dtTmax = Steps ∗ dt
T f i l e = F i l e ( ” temperature . pvd” )V f i l e = F i l e ( ” v e l o c i t y . pvd” )V f i l e << ( v e l o c i t y , t )
whi le t <= Tmax :b = assemble (L)f o r cond i t i on in bc :
cond i t i on . apply (A, b)s o l v e (A, T. vec tor ( ) , b , ”gmres” )T prev . a s s i gn (T)t += dtp lo t (T, wireframe=True )p r in t tT f i l e << (T, t )
p r in t ”\n THE END”
i n t e r a c t i v e ( )
LMCS (IGF-UNAM) 2012 28 / 51
![Page 83: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/83.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria compartida : arquitecturas con
multiples nucleos de calculo que comparten la
memoria entre ellos a traves de un bus de alta
velocidad. El ensamble de las matrices y los
vectores de FEM se hace usando OpenMP.
Esta caracterıstica se habilita con: parameters["num threads"] = 4;
Durante el ensamble, DOLFIN recorre las celdas y/o las caras de una malla ycalcula las contribuciones locales a las matrices y vectores globales.
Cada hilo es responsable de una colleccion de celdas y/o caras de la malla.
Para evitar problemas de race condition, se utilizan graficas coloreadas, de talmanera que las celdas del mismo color se ensamblan al mismo tiempo. Estasceldas no comparten informacion.
Se utizan bibliotecas como Boost Graph Library o Zoltan.
El solver LU de PaStiX, que se usa via PETSc, soporta multi-hilos.
LMCS (IGF-UNAM) 2012 29 / 51
![Page 84: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/84.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria compartida : arquitecturas con
multiples nucleos de calculo que comparten la
memoria entre ellos a traves de un bus de alta
velocidad. El ensamble de las matrices y los
vectores de FEM se hace usando OpenMP.
Esta caracterıstica se habilita con: parameters["num threads"] = 4;
Durante el ensamble, DOLFIN recorre las celdas y/o las caras de una malla ycalcula las contribuciones locales a las matrices y vectores globales.
Cada hilo es responsable de una colleccion de celdas y/o caras de la malla.
Para evitar problemas de race condition, se utilizan graficas coloreadas, de talmanera que las celdas del mismo color se ensamblan al mismo tiempo. Estasceldas no comparten informacion.
Se utizan bibliotecas como Boost Graph Library o Zoltan.
El solver LU de PaStiX, que se usa via PETSc, soporta multi-hilos.
LMCS (IGF-UNAM) 2012 29 / 51
![Page 85: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/85.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria compartida : arquitecturas con
multiples nucleos de calculo que comparten la
memoria entre ellos a traves de un bus de alta
velocidad. El ensamble de las matrices y los
vectores de FEM se hace usando OpenMP.
Esta caracterıstica se habilita con: parameters["num threads"] = 4;
Durante el ensamble, DOLFIN recorre las celdas y/o las caras de una malla ycalcula las contribuciones locales a las matrices y vectores globales.
Cada hilo es responsable de una colleccion de celdas y/o caras de la malla.
Para evitar problemas de race condition, se utilizan graficas coloreadas, de talmanera que las celdas del mismo color se ensamblan al mismo tiempo. Estasceldas no comparten informacion.
Se utizan bibliotecas como Boost Graph Library o Zoltan.
El solver LU de PaStiX, que se usa via PETSc, soporta multi-hilos.
LMCS (IGF-UNAM) 2012 29 / 51
![Page 86: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/86.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria compartida : arquitecturas con
multiples nucleos de calculo que comparten la
memoria entre ellos a traves de un bus de alta
velocidad. El ensamble de las matrices y los
vectores de FEM se hace usando OpenMP.
Esta caracterıstica se habilita con: parameters["num threads"] = 4;
Durante el ensamble, DOLFIN recorre las celdas y/o las caras de una malla ycalcula las contribuciones locales a las matrices y vectores globales.
Cada hilo es responsable de una colleccion de celdas y/o caras de la malla.
Para evitar problemas de race condition, se utilizan graficas coloreadas, de talmanera que las celdas del mismo color se ensamblan al mismo tiempo. Estasceldas no comparten informacion.
Se utizan bibliotecas como Boost Graph Library o Zoltan.
El solver LU de PaStiX, que se usa via PETSc, soporta multi-hilos.
LMCS (IGF-UNAM) 2012 29 / 51
![Page 87: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/87.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria compartida : arquitecturas con
multiples nucleos de calculo que comparten la
memoria entre ellos a traves de un bus de alta
velocidad. El ensamble de las matrices y los
vectores de FEM se hace usando OpenMP.
Esta caracterıstica se habilita con: parameters["num threads"] = 4;
Durante el ensamble, DOLFIN recorre las celdas y/o las caras de una malla ycalcula las contribuciones locales a las matrices y vectores globales.
Cada hilo es responsable de una colleccion de celdas y/o caras de la malla.
Para evitar problemas de race condition, se utilizan graficas coloreadas, de talmanera que las celdas del mismo color se ensamblan al mismo tiempo. Estasceldas no comparten informacion.
Se utizan bibliotecas como Boost Graph Library o Zoltan.
El solver LU de PaStiX, que se usa via PETSc, soporta multi-hilos.
LMCS (IGF-UNAM) 2012 29 / 51
![Page 88: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/88.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria compartida : arquitecturas con
multiples nucleos de calculo que comparten la
memoria entre ellos a traves de un bus de alta
velocidad. El ensamble de las matrices y los
vectores de FEM se hace usando OpenMP.
Esta caracterıstica se habilita con: parameters["num threads"] = 4;
Durante el ensamble, DOLFIN recorre las celdas y/o las caras de una malla ycalcula las contribuciones locales a las matrices y vectores globales.
Cada hilo es responsable de una colleccion de celdas y/o caras de la malla.
Para evitar problemas de race condition, se utilizan graficas coloreadas, de talmanera que las celdas del mismo color se ensamblan al mismo tiempo. Estasceldas no comparten informacion.
Se utizan bibliotecas como Boost Graph Library o Zoltan.
El solver LU de PaStiX, que se usa via PETSc, soporta multi-hilos.
LMCS (IGF-UNAM) 2012 29 / 51
![Page 89: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/89.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria compartida : arquitecturas con
multiples nucleos de calculo que comparten la
memoria entre ellos a traves de un bus de alta
velocidad. El ensamble de las matrices y los
vectores de FEM se hace usando OpenMP.
Esta caracterıstica se habilita con: parameters["num threads"] = 4;
Durante el ensamble, DOLFIN recorre las celdas y/o las caras de una malla ycalcula las contribuciones locales a las matrices y vectores globales.
Cada hilo es responsable de una colleccion de celdas y/o caras de la malla.
Para evitar problemas de race condition, se utilizan graficas coloreadas, de talmanera que las celdas del mismo color se ensamblan al mismo tiempo. Estasceldas no comparten informacion.
Se utizan bibliotecas como Boost Graph Library o Zoltan.
El solver LU de PaStiX, que se usa via PETSc, soporta multi-hilos.
LMCS (IGF-UNAM) 2012 29 / 51
![Page 90: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/90.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria distribuida : procesadores separados
cada uno con su propia memoria, comparten
informacion a traves de una red externa, que
puede ser de alta velocidad. En este caso se utiliza
MPI, y se debe utilizar un software de algebra
lineal que soporte este tipo de paralelismo (PETSc
o Trillinos).
Para ejecutar un programa en paralelo se usa:
En C++ : mpirun −n 16 . / myprogramEn Python : mpirun −n 16 python myprogram . py
Cada procesador tendra una porcion de la malla sobre la cual trabajara.
La particion la hace con ParMETIS o SCOTCH, esto se define con:parameters["mesh partitiones"] = "SCOTCH"; (o "ParMETIS").
Cuando un programa se ejecuta con MPI y esta habilitado un software dealgebra lineal paralelo (PETSc por ejemplo), las operaciones de algebra linealse realizaran en paralelo.
LMCS (IGF-UNAM) 2012 30 / 51
![Page 91: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/91.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria distribuida : procesadores separados
cada uno con su propia memoria, comparten
informacion a traves de una red externa, que
puede ser de alta velocidad. En este caso se utiliza
MPI, y se debe utilizar un software de algebra
lineal que soporte este tipo de paralelismo (PETSc
o Trillinos).
Para ejecutar un programa en paralelo se usa:
En C++ : mpirun −n 16 . / myprogramEn Python : mpirun −n 16 python myprogram . py
Cada procesador tendra una porcion de la malla sobre la cual trabajara.
La particion la hace con ParMETIS o SCOTCH, esto se define con:parameters["mesh partitiones"] = "SCOTCH"; (o "ParMETIS").
Cuando un programa se ejecuta con MPI y esta habilitado un software dealgebra lineal paralelo (PETSc por ejemplo), las operaciones de algebra linealse realizaran en paralelo.
LMCS (IGF-UNAM) 2012 30 / 51
![Page 92: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/92.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria distribuida : procesadores separados
cada uno con su propia memoria, comparten
informacion a traves de una red externa, que
puede ser de alta velocidad. En este caso se utiliza
MPI, y se debe utilizar un software de algebra
lineal que soporte este tipo de paralelismo (PETSc
o Trillinos).
Para ejecutar un programa en paralelo se usa:
En C++ : mpirun −n 16 . / myprogramEn Python : mpirun −n 16 python myprogram . py
Cada procesador tendra una porcion de la malla sobre la cual trabajara.
La particion la hace con ParMETIS o SCOTCH, esto se define con:parameters["mesh partitiones"] = "SCOTCH"; (o "ParMETIS").
Cuando un programa se ejecuta con MPI y esta habilitado un software dealgebra lineal paralelo (PETSc por ejemplo), las operaciones de algebra linealse realizaran en paralelo.
LMCS (IGF-UNAM) 2012 30 / 51
![Page 93: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/93.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria distribuida : procesadores separados
cada uno con su propia memoria, comparten
informacion a traves de una red externa, que
puede ser de alta velocidad. En este caso se utiliza
MPI, y se debe utilizar un software de algebra
lineal que soporte este tipo de paralelismo (PETSc
o Trillinos).
Para ejecutar un programa en paralelo se usa:
En C++ : mpirun −n 16 . / myprogramEn Python : mpirun −n 16 python myprogram . py
Cada procesador tendra una porcion de la malla sobre la cual trabajara.
La particion la hace con ParMETIS o SCOTCH, esto se define con:parameters["mesh partitiones"] = "SCOTCH"; (o "ParMETIS").
Cuando un programa se ejecuta con MPI y esta habilitado un software dealgebra lineal paralelo (PETSc por ejemplo), las operaciones de algebra linealse realizaran en paralelo.
LMCS (IGF-UNAM) 2012 30 / 51
![Page 94: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/94.jpg)
FEniCS project Computo Paralelo
Modelos de computo en paralelo en DOLFIN
Memoria distribuida : procesadores separados
cada uno con su propia memoria, comparten
informacion a traves de una red externa, que
puede ser de alta velocidad. En este caso se utiliza
MPI, y se debe utilizar un software de algebra
lineal que soporte este tipo de paralelismo (PETSc
o Trillinos).
Para ejecutar un programa en paralelo se usa:
En C++ : mpirun −n 16 . / myprogramEn Python : mpirun −n 16 python myprogram . py
Cada procesador tendra una porcion de la malla sobre la cual trabajara.
La particion la hace con ParMETIS o SCOTCH, esto se define con:parameters["mesh partitiones"] = "SCOTCH"; (o "ParMETIS").
Cuando un programa se ejecuta con MPI y esta habilitado un software dealgebra lineal paralelo (PETSc por ejemplo), las operaciones de algebra linealse realizaran en paralelo.
LMCS (IGF-UNAM) 2012 30 / 51
![Page 95: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/95.jpg)
FEniCS project Computo Paralelo
PETSc
(P)ortable, (E)xtensible (T)oolkit for (S)cientific (c)omputation
Estructuras de datos y algoritmos escalables para la solucion desistemas algebraicos de ecuaciones en paralelo. Desarrollado desde 1991en la Math. and Comp. Science Div., ANL.
Caracterısticas
Metodos paralelos del subespacio deKrylov.Modelo de memoria distribuida(MPI).Incorpora recientemente el uso deGPUs vıa THRUST.Software libre, extensadocumentacion y ejemplos.
LMCS (IGF-UNAM) 2012 31 / 51
![Page 96: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/96.jpg)
FEniCS project Computo Paralelo
PETSc
Facts:Simulaciones con 5× 1011 incognitas (Cray XT5 Jaguar).Se ha ejecutado en 224000 cores (IBM BG/P).Desempeno alcanzado: 22 Teraflops (Cray XT5).R & D 100 Award (2009)Top Ten Advances in Computational Science Accomplishments ofthe U.S. Department of Energy(2008).Usuarios de PETSc han ganado 4 Premios Gordon Bell ( 1999,2002, 2003 y 2004)
LMCS (IGF-UNAM) 2012 32 / 51
![Page 97: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/97.jpg)
FEniCS project Problemas no lineales
Problemas no lineales: −∇ · (q(u)∇u) = 0
Formulacion variacional
Encontrar u ∈ V tal que
F (u; v) = 0 ∀v ∈ V donde F (u; v) =
∫Ω
q(u)∇u · ∇vdx
Iteracion de Picard: dada una solucion uk, resolver el problema linealizado:−∇ · (q(uk)∇uk+1) = 0. La iteracion termina cuando ||uk+1 − uk|| < ε.
Formulacion variacional
Encontrar uk+1 ∈ V tal que
F (uk+1; v) = 0 ∀v ∈ V k = 0, 1, . . .
donde F (uk+1; v) =
∫Ω
q(uk)∇uk+1 · ∇vdx
LMCS (IGF-UNAM) 2012 33 / 51
![Page 98: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/98.jpg)
FEniCS project Problemas no lineales
Problemas no lineales: −∇ · (q(u)∇u) = 0
Formulacion variacional
Encontrar u ∈ V tal que
F (u; v) = 0 ∀v ∈ V donde F (u; v) =
∫Ω
q(u)∇u · ∇vdx
Iteracion de Picard: dada una solucion uk, resolver el problema linealizado:−∇ · (q(uk)∇uk+1) = 0. La iteracion termina cuando ||uk+1 − uk|| < ε.
Formulacion variacional
Encontrar uk+1 ∈ V tal que
F (uk+1; v) = 0 ∀v ∈ V k = 0, 1, . . .
donde F (uk+1; v) =
∫Ω
q(uk)∇uk+1 · ∇vdx
LMCS (IGF-UNAM) 2012 33 / 51
![Page 99: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/99.jpg)
FEniCS project Problemas no lineales
Problemas no lineales: −∇ · (q(u)∇u) = 0
Formulacion variacional
Encontrar u ∈ V tal que
F (u; v) = 0 ∀v ∈ V donde F (u; v) =
∫Ω
q(u)∇u · ∇vdx
Iteracion de Picard: dada una solucion uk, resolver el problema linealizado:−∇ · (q(uk)∇uk+1) = 0. La iteracion termina cuando ||uk+1 − uk|| < ε.
Formulacion variacional
Encontrar uk+1 ∈ V tal que
F (uk+1; v) = 0 ∀v ∈ V k = 0, 1, . . .
donde F (uk+1; v) =
∫Ω
q(uk)∇uk+1 · ∇vdx
LMCS (IGF-UNAM) 2012 33 / 51
![Page 100: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/100.jpg)
FEniCS project Problemas no lineales
Flujo bifasico: Formulacion presion-saturacion
∇ ·(−κλ∇p+ κλω
dpcdS ∇S
)= 0 en Ω× [0, T ]
φ∂S∂t +∇ ·(−κλω∇p+ κλω
dpcdS ∇S
)= 0
Se(S); λω(S); λ(S) y Pc(S).Usando esquema implıcito en tiempo
−∇ ·(κλn−1∇pn
)= −∇ ·
(κλn−1
ωdpn−1
cdS ∇S
n−1)
Sn +∆t
φ∇ ·(κλn−1
ω
dpn−1c
dS∇Sn
)= Sn−1 + ∆t
φ ∇ ·(κλn−1
ω ∇pn)
LMCS (IGF-UNAM) 2012 34 / 51
![Page 101: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/101.jpg)
FEniCS project Problemas no lineales
Formulacion variacional
Multiplicando por vp y vs e integrando por partes...
ap(pn, vp) =
∫Ωκλn−1∇pn · ∇vp dx
Lp(vp) =
∫Ωκλn−1
ω
dpn−1c
dS∇Sn−1 · ∇vp dx+
∫∂Ω1
ginp vp ds
as(Sn, vs) =
∫ΩSnvs dx+
∆t
φ
∫Ωκλn−1
ω
dpn−1c
dS∇Sn · ∇vs dx
Ls(vs) =
∫ΩSn−1vs dx+
∆t
φ
∫Ωκλn−1
ω ∇pn · ∇vs dx
+∆t
φ
∫∂Ω1
gins vs ds+∆t
φ
∫∂Ω2
κλω∇pn · nvs ds
LMCS (IGF-UNAM) 2012 35 / 51
![Page 102: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/102.jpg)
FEniCS project Problemas no lineales
Formulacion variacional
Notacion corta
Dado pn−1 y Sn−1 encontrar pn Tal que:
ap(pn, vp) = Lp(vp)
para todo vp ∈ V .Dado pn y Sn−1 encontrar Sn Tal que:
as(Sn, vs) = Ls(vs)
para todo vs ∈ V
LMCS (IGF-UNAM) 2012 36 / 51
![Page 103: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/103.jpg)
FEniCS project Problemas no lineales
FEniCS
Problema variacional el FEniCS
dt = 1 # paso de t iempoN = FacetNormal (mesh ) # ve c t o r normal a l a f r o n t e r a
vp = TestFunction (V)p = Tria lFunct ion (V)Sp = TestFunction (V)S = Tria lFunct ion (V)
pn = Function (V) #guarda s o l u c i o n a c t u a l de p r e s i on
ap = inner (k∗Lambda( S0 )∗ grad (p ) , grad (vp ))∗dx #ap (p , vp )
Lp = gp L∗vp∗ds (1) #Lp( vp )+ k∗Lambda w( S0 )∗ dPc( S0 )∗ i nner ( grad ( S0 ) , grad (vp ))∗dx
aS = S∗vS∗dx #aS (S , vs )− ( dt/ phi )∗ i nner (k∗Lambda w( S0 )∗dPc( S0 )∗ grad (S ) , grad (vS ))∗dx
LS = S0∗vS∗dx #LS( vs )− ( dt/ phi )∗ i nner (k∗Lambda w( S0 )∗ grad (pn ) , grad (vS ))∗dx+ ( dt/ phi )∗ gS L∗vS∗ds (1)+ ( dt/ phi )∗ dot (k∗Lambda w( S0 )∗ grad (pn ) ,N)∗vS∗ds (2)
LMCS (IGF-UNAM) 2012 37 / 51
![Page 104: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/104.jpg)
FEniCS project Problemas no lineales
FEniCS
Solucion del problema variacional
T = 900∗dt # tiempo maximot = dt # tiempo a c t u a l
pn = Function (V) #so l u c i o n a c t u a l de l a p r e s i onSn = Function (V) #so l u c i o n a c t u a l de l a s a t u r a c i on
#c i c l o de t iempowhi le t<=T:
#r e s u e l v e l a p r e s i onAp = assemble ( ap , e x t e r i o r f a c e t d o m a i n s=f r o n t e r a )bp = assemble (Lp , e x t e r i o r f a c e t d o m a i n s=f r o n t e r a )bcpR . apply (Ap, bp)s o l v e (Ap, pn . vec tor ( ) , bp)
#r e s u e l v e l a s a t u r a c i onAS = assemble ( aS , e x t e r i o r f a c e t d o m a i n s=f r o n t e r a )bS = assemble (LS , e x t e r i o r f a c e t d o m a i n s=f r o n t e r a )s o l v e (AS, Sn . vec tor ( ) , bS)
p0 . a s s i gn (pn) # a c t u a l i z a l a s o l u c i o n an t e r i o rS0 . a s s i gn (Sn)t+=dt
#g r a f i c ap lo t (Sn)p lo t (pn)
LMCS (IGF-UNAM) 2012 38 / 51
![Page 105: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/105.jpg)
FEniCS project Problemas no lineales
Flujo en una fase no lineal
c(ρ)∂p
∂t−∇ · (a(ρ)∇p) = 0
a(ρ)∇p · n = 0 en ∂Ω
p(., 0) = p0 en Ω
Formulacion Variacional discreta(c(ρh)
∂ph∂t
, v
)+ (a(ρ)∇ph,∇v) = 0 ∀v ∈ Vh
Vh ⊂ V = H1(Ω)
LMCS (IGF-UNAM) 2012 39 / 51
![Page 106: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/106.jpg)
FEniCS project Problemas no lineales
Flujo en una fase no lineal
c(ρ)∂p
∂t−∇ · (a(ρ)∇p) = 0
a(ρ)∇p · n = 0 en ∂Ω
p(., 0) = p0 en Ω
Formulacion Variacional discreta(c(ρh)
∂ph∂t
, v
)+ (a(ρ)∇ph,∇v) = 0 ∀v ∈ Vh
Vh ⊂ V = H1(Ω)
LMCS (IGF-UNAM) 2012 39 / 51
![Page 107: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/107.jpg)
FEniCS project Problemas no lineales
Flujo en una phase no lineal
(A(pn) +
1
∆tnC(pn)
)pn −
(1
∆tnC(pn)
)pn−1︸ ︷︷ ︸
F(pn)
= 0
Newton Raphson :
v0 = pn−1
Until ||vk − vk−1|| < ε or k > Nmax
G(vk−1)dk = −F(vk−1)vk = vk−1 + dk
k = k + 1
G =
(∂Fi
∂pj
)i,j=1,2,...,M
(Ejemplo desarrollado por Emilio Zavala Sosa.)
LMCS (IGF-UNAM) 2012 40 / 51
![Page 108: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/108.jpg)
FEniCS project Problemas no lineales
Flujo en una phase no lineal
(A(pn) +
1
∆tnC(pn)
)pn −
(1
∆tnC(pn)
)pn−1︸ ︷︷ ︸
F(pn)
= 0
Newton Raphson :
v0 = pn−1
Until ||vk − vk−1|| < ε or k > Nmax
G(vk−1)dk = −F(vk−1)vk = vk−1 + dk
k = k + 1
G =
(∂Fi
∂pj
)i,j=1,2,...,M
(Ejemplo desarrollado por Emilio Zavala Sosa.)LMCS (IGF-UNAM) 2012 40 / 51
![Page 109: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/109.jpg)
FEniCS project Problemas no lineales
Otras caracterısticas de FEniCS
Dominios irregulares y subdominios con diferentes materiales.
Algoritmos de solucion: lu, cholesky, cg, gmres, bicgstab,
minres, tfqmr, richardson.
Precondicionadores: ilu, icc, jacobi, bjacobi, sor, amg,
additive schwarz, hypre amg, hypre euclid,
hypre parasails, ml amg
Calculo de derivadas y funcionales.
Visualizacion: Viper, Scitools, VTK, Paraview, VisIt, Maya Vi2.
Elementos finitos soportados: Argyris, Arnold-Winther,Brezzi-Douglas-Marini, Crouzeix-Raviart, Discontinuous Lagrange,Hermite, Lagrange, Mardal-Tai-Winther, Morley, Nedelec 1st kindH(curl), Nedelec 2st kind H(curl), Raviart-Thomas.
LMCS (IGF-UNAM) 2012 41 / 51
![Page 110: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/110.jpg)
FEniCS project Problemas no lineales
Otras caracterısticas de FEniCS
Dominios irregulares y subdominios con diferentes materiales.
Algoritmos de solucion: lu, cholesky, cg, gmres, bicgstab,
minres, tfqmr, richardson.
Precondicionadores: ilu, icc, jacobi, bjacobi, sor, amg,
additive schwarz, hypre amg, hypre euclid,
hypre parasails, ml amg
Calculo de derivadas y funcionales.
Visualizacion: Viper, Scitools, VTK, Paraview, VisIt, Maya Vi2.
Elementos finitos soportados: Argyris, Arnold-Winther,Brezzi-Douglas-Marini, Crouzeix-Raviart, Discontinuous Lagrange,Hermite, Lagrange, Mardal-Tai-Winther, Morley, Nedelec 1st kindH(curl), Nedelec 2st kind H(curl), Raviart-Thomas.
LMCS (IGF-UNAM) 2012 41 / 51
![Page 111: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/111.jpg)
FEniCS project Problemas no lineales
Otras caracterısticas de FEniCS
Dominios irregulares y subdominios con diferentes materiales.
Algoritmos de solucion: lu, cholesky, cg, gmres, bicgstab,
minres, tfqmr, richardson.
Precondicionadores: ilu, icc, jacobi, bjacobi, sor, amg,
additive schwarz, hypre amg, hypre euclid,
hypre parasails, ml amg
Calculo de derivadas y funcionales.
Visualizacion: Viper, Scitools, VTK, Paraview, VisIt, Maya Vi2.
Elementos finitos soportados: Argyris, Arnold-Winther,Brezzi-Douglas-Marini, Crouzeix-Raviart, Discontinuous Lagrange,Hermite, Lagrange, Mardal-Tai-Winther, Morley, Nedelec 1st kindH(curl), Nedelec 2st kind H(curl), Raviart-Thomas.
LMCS (IGF-UNAM) 2012 41 / 51
![Page 112: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/112.jpg)
FEniCS project Problemas no lineales
Otras caracterısticas de FEniCS
Dominios irregulares y subdominios con diferentes materiales.
Algoritmos de solucion: lu, cholesky, cg, gmres, bicgstab,
minres, tfqmr, richardson.
Precondicionadores: ilu, icc, jacobi, bjacobi, sor, amg,
additive schwarz, hypre amg, hypre euclid,
hypre parasails, ml amg
Calculo de derivadas y funcionales.
Visualizacion: Viper, Scitools, VTK, Paraview, VisIt, Maya Vi2.
Elementos finitos soportados: Argyris, Arnold-Winther,Brezzi-Douglas-Marini, Crouzeix-Raviart, Discontinuous Lagrange,Hermite, Lagrange, Mardal-Tai-Winther, Morley, Nedelec 1st kindH(curl), Nedelec 2st kind H(curl), Raviart-Thomas.
LMCS (IGF-UNAM) 2012 41 / 51
![Page 113: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/113.jpg)
FEniCS project Problemas no lineales
Otras caracterısticas de FEniCS
Dominios irregulares y subdominios con diferentes materiales.
Algoritmos de solucion: lu, cholesky, cg, gmres, bicgstab,
minres, tfqmr, richardson.
Precondicionadores: ilu, icc, jacobi, bjacobi, sor, amg,
additive schwarz, hypre amg, hypre euclid,
hypre parasails, ml amg
Calculo de derivadas y funcionales.
Visualizacion: Viper, Scitools, VTK, Paraview, VisIt, Maya Vi2.
Elementos finitos soportados: Argyris, Arnold-Winther,Brezzi-Douglas-Marini, Crouzeix-Raviart, Discontinuous Lagrange,Hermite, Lagrange, Mardal-Tai-Winther, Morley, Nedelec 1st kindH(curl), Nedelec 2st kind H(curl), Raviart-Thomas.
LMCS (IGF-UNAM) 2012 41 / 51
![Page 114: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/114.jpg)
FEniCS project Problemas no lineales
Otras caracterısticas de FEniCS
Dominios irregulares y subdominios con diferentes materiales.
Algoritmos de solucion: lu, cholesky, cg, gmres, bicgstab,
minres, tfqmr, richardson.
Precondicionadores: ilu, icc, jacobi, bjacobi, sor, amg,
additive schwarz, hypre amg, hypre euclid,
hypre parasails, ml amg
Calculo de derivadas y funcionales.
Visualizacion: Viper, Scitools, VTK, Paraview, VisIt, Maya Vi2.
Elementos finitos soportados: Argyris, Arnold-Winther,Brezzi-Douglas-Marini, Crouzeix-Raviart, Discontinuous Lagrange,Hermite, Lagrange, Mardal-Tai-Winther, Morley, Nedelec 1st kindH(curl), Nedelec 2st kind H(curl), Raviart-Thomas.
LMCS (IGF-UNAM) 2012 41 / 51
![Page 115: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/115.jpg)
FEniCS project Problemas no lineales
Otras caracterısticas de FEniCS
DOLFIN Interface:
LMCS (IGF-UNAM) 2012 42 / 51
![Page 116: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/116.jpg)
Appendix Bibliografıa
Referencias I
FEniCS Projet Homepage
http://www.fenicsproject.org
The FEniCS project in Knol: A unit of knowledge by Claes Johnson
http://knol.google.com/k/claes-johnson/the-fenics-project/yvfu3xg7d7wt/83#
FEniCS components in Launchpad
https://launchpad.net/fenics-project
Launchpad : software collaboration plataform
http://launchpad.net
Lista de libros de Python
http://wiki.python.org/moin/PythonBooks.
The python tutorial
http://docs.python.org/tutorial/
LMCS (IGF-UNAM) 2012 43 / 51
![Page 117: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/117.jpg)
Appendix Bibliografıa
Referencias II
Claes Johnson Homepage
http://www.csc.kth.se/ cgjoh/
Claes Johnson
Numerical Solution of Partial Differential Equations by the Finite ElementMethod
Dover Publications 2009.
H. P. Langtangen
A Primer on Scientific Programming with Python. Texts in ComputationalScience and Engineering
vol 6. Springer, 2009.
H. P. Langtangen,
Python Scripting for Computational Science
Springer, third edition, 2009.
LMCS (IGF-UNAM) 2012 44 / 51
![Page 118: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/118.jpg)
Instalacion Linux
Debian y Ubuntu 10.10/Maverick: % sudo apt-get install fenics
En Ubuntu se recomienda usar PPA (Personal Package Archives), loque permite obtener paquetes actualizados (vıa Launchpad [4, 3]).% sudo add-apt-repository ppa:fenics/ppa
% sudo apt-get update
% sudo apt-get install fenics
Instalacion en otras distribuciones usando Dorsal ( Debian,
Fedora 13, Gentoo Linux, Mac OS X (Snow Leopard), openSUSE 11.3,
Ubuntu(10.04/Lucid and 10.10/Maverick)).
1 Obtener Dorsal: https://launchpad.net/dorsal2 Descomprimir: % dorsal-0.8.2.tar.bz23 % cd dorsal-0.8.2 y modificar el archivo dorsal.cfg.4 Ejecutar: % ./dorsal.sh5 Dorsal (intentara) configurara todo de acuerdo al sistema y
plataforma, y dara una lista de comandos que se deben ejecutar.6 Una vez realizados los comandos, dar <enter> para instalar
FEniCS. La instalacion toma un rato.7 Una vez que termine la instalacion seguir las instrucciones
post-instalacion antes de comenzar con los demos.
LMCS (IGF-UNAM) 2012 45 / 51
![Page 119: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/119.jpg)
Instalacion Linux
Instalacion manual usando los fuentesObtener e instalar los paquetes de Python: FCC, FIAT, Instant,Viper y UFL:
1 Descomprimir cada paquete y moverse al directorio correspondiente.2 % sudo python setup.py install
Obtener e instalar los paquetes de C++/Python: DOLPHIN yUFC:
1 Asegurarse de tener instalado CMake >= 2.82 Descomprimir cada paquete y moverse al directorio correspondiente.3 % cmake . o cmake -DCMAKE_INSTALL_PREFIX=/mypath/ .4 % make5 % sudo make install
LMCS (IGF-UNAM) 2012 46 / 51
![Page 120: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/120.jpg)
Instalacion Linux
Software adicionalFEniCS se basa en varias bibliotecas:
MPI (openmpi), PETSc, GNUplot, Paraview, etc.
Para configurar openmpi usar:% sudo update-alternatives mpi
There are 2 choices for the alternative mpi (providing /usr/include/mpi).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/include/mpich2 40 auto mode
1 /usr/include/mpich2 40 manual mode
* 2 /usr/lib/openmpi/include 40 manual mode
Press enter to keep the current choice[*], or type selection number:
Para visualizacion se requiere scitools.easyviz. En Ubuntu instalacon: % sudo apt-get install python-scitools
LMCS (IGF-UNAM) 2012 47 / 51
![Page 121: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/121.jpg)
Instalacion Mac OSX
Snow Leopard >= 10.6
Binario para procesador Intel, version beta basada en paquetes noestables de FEniCS 1, 2. Se requiere XCode 3.Se baja el .dmg y se ejecuta:
Si el ıcono de FEniCS no se muestra, ejecute la siguiente instruccionen una terminal: killall -KILL Dock
LMCS (IGF-UNAM) 2012 48 / 51
![Page 122: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/122.jpg)
Instalacion Mac OSX
Para iniciar FEniCS, hacer doble click en el ıcono correspondiente.
Para correr programas de FEniCS desde cualquier terminal:% source /Applications/FEniCS.app/Contents/Resources/share/fenics/fenics.conf
Poner esta instruccion en el archivo .profile, para alistar FEniCScada vez que se abra una terminal.
1”We encourage you to test and report issues”2”This binary package is built against system Python and will not work
with MacPorts Python or similar.”LMCS (IGF-UNAM) 2012 49 / 51
![Page 123: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/123.jpg)
Instalacion Windows
Windows
Bajar el archivo fenics-snpashot-mingw32.exe y ejecutarlo.Este ejecutable funciona en XP, Vista y Windows 7.Se instalara todo lo necesario para correr FEniCS en Windows:
Compilador MinGWPythonCMakeSWIG (software que conecta codigos de C/C++ con lenguajes scriptde alto nivel Perl, PHP, Python, Tcl y Ruby, http://www.swig.org )Etcetera.
Una vez terminada la instalacion, iniciar FEniCS en una ventana decomandos.
LMCS (IGF-UNAM) 2012 50 / 51
![Page 124: Solución Automatizada de Ecuaciones Diferenciales en ... · Soluci on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M etodo de Elemento Finito Seminario de Modelaci](https://reader033.vdocuments.pub/reader033/viewer/2022042506/5f5c2ee2a0928331a10c1c74/html5/thumbnails/124.jpg)
Instalacion Windows
GRACIAS !
LMCS (IGF-UNAM) 2012 51 / 51