solución automatizada de ecuaciones diferenciales en ... · soluci on automatizada de ecuaciones...

124
Soluci´ on Automatizada de Ecuaciones Diferenciales en Paralelo usando el M´ etodo de Elemento Finito Seminario de Modelaci´ on Matem´ atica y Computacional 9 o Ciclo Luis M. de la Cruz Instituto de Geof´ ısica Universidad Nacional Aut´ onoma de M´ exico Septiembre de 2012 LMCS (IGF-UNAM) 2012 1 / 51

Upload: others

Post on 20-Jul-2020

41 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Instalacion Windows

GRACIAS !

LMCS (IGF-UNAM) 2012 51 / 51