Aproximación y Simulaciones de Un Modelo de Dispersión de Contaminantes en Superficies Esféricas

80
APROXIMACI ´ ON Y SIMULACIONES DE UN MODELO DE DISPERSI ´ ON DE CONTAMINANTES EN SUPERFICIES ESF ´ ERICAS CARMEN ALICIA RAM ´ IREZ BERNATE Universidad de Quind´ ıo Facultad de Ciencias B´ asicas y Tecnolog´ ıas Programa de Maestr´ ıa en Biomatem´ aticas Armenia, Quind´ ıo 2006

description

Aproximación y simulaciones de un modelo de dispersión de contaminantes en superficies esféricas.pdf

Transcript of Aproximación y Simulaciones de Un Modelo de Dispersión de Contaminantes en Superficies Esféricas

APROXIMACION Y SIMULACIONES DE UN MODELO DE

DISPERSION DE CONTAMINANTES EN SUPERFICIES

ESFERICAS

CARMEN ALICIA RAMIREZ BERNATE

Universidad de Quindıo

Facultad de Ciencias Basicas y Tecnologıas

Programa de Maestrıa en Biomatematicas

Armenia, Quindıo

2006

APROXIMACION Y SIMULACIONES DE UN MODELO DE

DISPERSION DE CONTAMINANTES EN SUPERFICIES

ESFERICAS

CARMEN ALICIA RAMIREZ BERNATE

Director: Ph. D. GERALDO LUCIO DINIZ

Se presenta este trabajo de investigacion como requisito parcial para optar el

tıtulo de Magister en Biomatematicas.

Universidad de Quindıo

Facultad de Ciencias Basicas y Tecnologıas

Programa de Maestrıa en Biomatematicas

Armenia, Quindıo

2006

Resumen y Abstract

1 Resumen

En este trabajo, presentamos una aproximacion numerica y algunas simulaciones

del proceso evolutivo de la dispersion de contaminantes sobre superficies esfericas. El codigo

numerico para la simulacion se desarrollo por el metodo de elementos finitos (MEF). En

el modelo, consideramos el proceso de la difusion, el fenomeno de transporte por el medio,

el decaimiento en sentido global y una fuente de contaminantes. Para la clasica ecuacion

de difusion-reaccion obtuvimos la formulacion debil en el sentido de aplicar el metodo de

elementos finitos.

Este modelo ha sido estudiado por el grupo de Modelamiento de Fenomenos de

Difusion Macroscopica del programa de Maestrıa en Biomatematicas en la Universidad del

Quindıo, Colombia. Creemos que la importancia del trabajo desarrollado conduce a su

uso potencial en procesos de medio ambiente para la definicion de estrategias evaluativas,

preventivas y de limpieza.

Palabras Claves: Aproximacion numerica, simulacion computacional, dispersion, metodo

de elementos finitos, superficie esferica.

iii

2 Abstract

In this work, we present an approximation and simulation of evolutionary process

for pollutant dispersal on spherical surfaces. The numerical code of simulations was made by

finite elements method (FEM). In the model, we consider the diffusion process, the transport

phenomena by the mean, the decay in global sense and a pollutant source. For the classical

diffusion-reaction equation we obtained the weak formulation in the sense of applying the

finite elements method.

This model is being studied by group of Phenomena Modelling of Macroscopic Diffu-

sion in the Biomathematics at the University of Quindıo, Colombia. The authors believe that

the importance of this work is it potential use in environmental processes for the definition

of strategies of evaluation, preventive and cleaning.

Key words: Numerical approximation, computational simulations, dispersion, finite ele-

ments method (FEM), spherical surfaces.

iv

Para mis hijos:

Leandro y Sergio.

v

“...

Caminante no hay camino,

se hace el camino al andar.

Al andar se hace camino,

y al volver la vista atras

se ve la senda que nunca

se ha de volver a pisar.

...”

Antonio Machado,

parte del poema “Cantares”.

vi

Agradecimientos

Quiero dar en primer lugar mis mas sinceros agradecimientos al profesor Geraldo

Lucio Diniz quien con su, paciencia, orientacion y sugerencias supo brindarme gran apoyo y

ayuda en la realizacion y culminacion del presente trabajo. A los profesores de la Universidad

del Quindio: Dumar Villa, Hernando Hurtado, Paulo Cesar Carmona, e Irene Duarte, cada

uno de ellos supieron igualmente brindarme valiosas contribuciones para el desarrollo de este

trabajo. Asi como tambien a la Directora de la Maestria en Biomatematicas, Maria Dolly

Garcia por su preocupacion y gestion de recursos. A COLCIENCIAS por su contribucion

financiera a traves de una beca de movilizacion al Brasil evento crucial para la terminacion

del trabajo.

Mi gratitud especial a los companeros de la Maestria en Biomatematicas, espe-

cialmente a Fulvia Esperanza por su companerismo y por lograr un ambiente de trabajo

agradable y productivo.

A mi madre Alicia por el empuje y apoyo en los momentos mas dificiles. Finalmente

a mis hijos: Leandro y Sergio por ser mis mejores alicientes de este proceso y por la paciencia

durante todo el tiempo que no les dedique.

Armenia, agosto de 2006. Carmen Alicia Ramırez Bernate

vii

Indice General

Resumen y Abstract iii

1 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

2 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

Agradecimientos vii

Indice de Figuras x

Indice de Tablas xi

Indice de Sımbolos xii

Introduccion 1

1 Modelo matematico 4

1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Construccion del modelo matematico . . . . . . . . . . . . . . . . . . . . . . 5

2 Formulacion debil 8

1 Definicion de los espacios convenientes . . . . . . . . . . . . . . . . . . . . . 8

2 Obtencion de la formulacion debil . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Existencia y unicidad de la solucion . . . . . . . . . . . . . . . . . . . . . . . 10

3 Discretizacion del problema 16

1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Discretizacion espacial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Discretizacion temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 Resultados obtenidos 21

1 Simulaciones de escenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

viii

2 Analisis de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 Consideraciones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Bibliografıa 29

A Conceptos y definiciones 32

1 Elemento finito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2 Integracion de Lebesgue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3 Algunas desigualdades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

B Codigos fuentes 37

1 Codigo fuente para Matlabr . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2 Codigo fuente para Mathematicar . . . . . . . . . . . . . . . . . . . . . . . 44

2.1 Programas para los triangulos inferiores . . . . . . . . . . . . . . . . 45

2.2 Programas para los triangulos superiores . . . . . . . . . . . . . . . . 55

ix

Indice de Figuras

1 Imagen tomada por satelite en el Golfo de Mexico, donde se pueden apreciar

los vertidos de petroleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1 Grafico con las coordenadas esfericas . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Descripcion del dominio escogido . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1 Grafico de la funcion piramide para un nodo j . . . . . . . . . . . . . . . . . 20

4.1 Simulacion del escenario 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2 Comportamiento en los nodos a lo largo del tiempo – escenario 1 . . . . . . . 23

4.3 Simulacion del escenario 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.4 Comportamiento en los nodos a lo largo del tiempo – escenario 2 . . . . . . . 24

4.5 Simulacion del escenario 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.6 Comportamiento en los nodos a lo largo del tiempo – escenario 3 . . . . . . . 25

x

Indice de Tablas

4.1 Parametros para la simulacion del escenario 1 . . . . . . . . . . . . . . . . . 22

xi

Indice de Sımbolos

div Divergencia;

∇ Operador del (o nabla);

∆ =n∑

j=1

∂j2 Operador diferencial de Laplace;

Ω Dominio considerado;

Lp (Ω)Espacio de clases de equivalencias de funciones con medida de

Lebesgue cuyas potencias pth son sumables sobre Ω;

Hk (Ω) Espacio de Sobolev;

Hk0 (Ω) Subespacio propio de Hk (Ω);

L2 ((0, T ] , U) Espacio de funciones cuadrado integrables de (0, T ] → U ;

‖·‖Lp(Ω), ‖·‖H1(Ω) Norma definida en los espacios Lp (Ω) y H1 (Ω);

‖·‖2Lp(Ω), ‖·‖2

H1(Ω) Cuadrado de la norma definida en los espacios Lp (Ω) y H1 (Ω);

ess sup, ess inf Supremo esencial, Infimo esencial.

En conformidad con Showalter (1977) y Brener y Scott (1994)

xii

Introduccion

La dispersion de partıculas contaminantes ha sido estudiada principalmente, a traves

de modelos matematicos en ecuaciones diferenciales ordinarias y parciales que tienen en

cuenta el movimiento de las partıculas a lo largo y ancho del medio de propagacion. Por

esta vıa se puede analizar la dispersion de partıculas contaminantes a traves del tiempo.

En este sentido, un modelo de dispersion de partıculas contaminantes sobre superfi-

cies esfericas fue propuesto por Mendez (2005), a traves de una adaptacion de los operadores

gradiente y laplaciano y de esta manera se extienden las ecuaciones de difusion superficial

euclidiana a fenomenos de difusion en superficies esfericas.

Este modelo de difusion en superficies esfericas tiene soluciones analıticas exactas,

pero para obtenerlas es demasiado complejo, esto es, los procedimientos analıticos que per-

mitan determinar la concentracion del contaminante modelado en un tiempo y lugar deter-

minado no estan en las metas de este trabajo. Lo que se propone en este trabajo es, entonces,

la posibilidad de analizar este ultimo modelo por la vıa de la aproximacion numerica y la

simulacion computacional de escenarios.

La determinacion de la contaminacion del agua es de gran interes para establecer

controles encaminados a la conservacion del ambiente. Esta determinacion, y mas que todo

su dinamica, en muchos casos es extremadamente compleja y por esta razon el modelo

matematico se convierte en una de las herramientas mas efectivas ya que permite interpretar

dinamicas de contaminacion en cuerpos de agua. Sin embargo, el modelo como herramienta

carece de utilidad sino es correctamente construido y simulado, tal que permita conocer la

concentracion de contaminantes en las aguas de forma continua en el espacio y en el tiempo

a partir de un mınimo de mediciones experimentales.

Algunos modelos presentados por Meyer (1998) y Diniz (2003), han resultado muy

utiles en rıos, lagos y/o lagunas, pero su aplicacion no es tan significativa en el oceano

por estar construido para superficies planas. Una extension de este modelo de difusion a

superficies esfericas fue construido por Mendez (2005).

1

La aproximacion de la solucion por el metodo de diferencias finitas, que es la pro-

puesta por Mendez (2005), no es la mas precisa para este tipo de situaciones. Se espera que

la alternativa propuesta usando el metodo de elementos finitos de lugar a mejores interpreta-

ciones al problema fısico estudiado.

La contaminacion en grandes extensiones de mar no ha sido considerada aun por

quienes estudian la modelacion matematica y menos aun se ha hecho algun tipo de simu-

lacion del fenomeno en caso de llegar a presentarse. Lo que hacemos es un estudio teorico,

para establecer la aproximacion y simulacion numerica de un modelo de dispersion de con-

taminantes sobre la superficie esferica con miras a una aplicacion a gran escala en alta mar,

donde pueda llegar a tener efecto la curvatura de la tierrra durante el proceso de difusion

del contaminante.

Por otro lado los desastres de contaminancion en grandes extenciones de mar hasta

el momemto han sido dos, el ocurrido en el Golfo de Mexico en 1979 cuando se tardaron

ocho meses en tapar la fuga de un escape de petroleo al mar del pozo petrolero Ixtoc-1, se

derramaron cerca de 700 millones de litros de petroleo en las aguas del golfo. Hay mas de

2000 plataformas de extraccion petrolıferas y 600 instalaciones quımicas toxicas densamente

agrupadas en la region del Golfo de Mexico, y las imagenes satelitales1 (Figura 1) sugieren

que haya varios vertidos mas en curso en aguas del Golfo.

Figura 1: Imagen tomada por satelite en el Golfo de Mexico, donde se pueden apreciar losvertidos de petroleo

1Los cuadrados amarillos indican las plataformas petrolıferas del Golfo de Mexico.

2

El otro derrame de petroleo importante fue el ocurrido en 1991 en el Golfo Persico

durante la guerra de Irak y una coalicion de paises encabezados por los Estados Unidos, cinco

barcos petroleros kuwaitıes cargados completamente con petroleo crudo fueron arrojados al

mar desde la terminal de almacenamiento de petroleo en la isla del Mar de Kuwait; se

estimo que 525 millones de litros de petroleo crudo fueron arrojados al Golfo Persico. El

Golfo Persico es especialmente vulnerable a la contaminacion porque tiene poca profundidad

(unos 34 metros) y es casi cerrado, por lo que se calcula que para limpiar el Golfo Persico

se requieren 200 anos.

Es debido a estas catastrofes de contaminacion ambiental que se hace necesario un

estudio a mayor escala del fenomeno de dispersion, es por esto que damos un pequeno paso

al tratamiento de este problema.

De esta manera sera presentado en primer lugar el modelo considerado con las

condiciones de contorno. En seguida se presentara la formulacion debil, una demostracion de

la existencia y unicidad de las soluciones debiles y las discretizaciones espacial y temporal,

luego se hara una presentacion de los resultados obtenidos, a traves de graficos para mejor

visualizacion y por ultimo se haran unas consideraciones finales.

3

Capıtulo 1

Modelo matematico

En este capıtulo haremos la descripcion del problema y su formulacion matematica –

el modelo matematico, ası como los trabajos principales que dan apoyo a lo que se presentara

aquı.

1 Introduccion

Algunas de las consideraciones a partir de las cuales se establece el modelo matema-

tico que describe el comportamiento de contaminantes en medios acuıferos esfericos son las

siguientes:

Llamamos las coordenadas esfericas por ρ, λ, φ, donde:

– La esfera es considerada con centro en el origen y radio ρ;

– El plano λ es medido en sentido contrario a las manecillas del reloj;

– La constante cono φ cuyo vertice es el origen y su eje es el eje z.

En el modelo, ρ sera constante, ya que se considera como el promedio del radio de la super-

ficie de la esfera, esta consideracion la hacemos debido a que una ecuacion nunca describe

enteramente un fenomeno y especialmente una situacion tan compleja como esta.

4

Figura 1.1: Grafico con las coordenadas esfericas

2 Construccion del modelo matematico

En el modelo se ha considerado el fenomeno de difusion (o dispersion, segun Okubo

(1980)), el transporte advectivo, la tasa de decaimiento y las fuentes de contaminacion en

el medio estudiado. De esta manera llamando c (λ, φ, t) la concentracion del contaminante

(medida en partes por millon – ppm), en el punto (λ, φ), para un instante del tiempo t, el

modelo puede ser descrito por:

∂c (λ, φ, t)

∂t= difusion + transporte − decaimiento + fuente

donde

X difusion = −div (−α∇c) representa el efecto de la difusion (Marchuk, 1986; Okubo,

1980);

X transporte = −div(−→

V c)

representa el transporte advectivo por las corrientes marinas

o el viento (Edelstein-Keshet, 1988),

X decaimiento = σc, linealmente aproximando decaimiento global en el ambiente (Bas-

sanezi, 2002) y,

X fuente = F (λ, φ, t), modelando fuentes de contaminancion (Simonit et al., 2005; Silva

et al., 2005; Zingales et al., 1984).

Por lo tanto, la ecuacion evolutiva que modela la concentracion de contaminantes

esta dada por:

∂c (λ, φ, t)

∂t= −div (−α∇c)− div

(−→V c

)− σc + F (λ, φ, t) (1.2.1)

5

∀ (λ, φ) ∈ Ω, Ω ⊂ [0, 2π]× (−π2, π

2

), ∀ t ∈ (0, T ]

Donde α es la constante del efecto difusivo en el medio considerado,−→V es el campo

de velocidades, y σ es la tasa de decaimiento global en el ambiente.

Ahora, aplicando los operadores diferenciales y usando el factor de escala (Mendez,

2005) para coordenadas esfericas, (1.2.1) se llega a:

∂c (λ, φ, t)

∂t= α (∆c)− V1

1

cos φ

∂c

∂λ− V2

∂c

∂φ− σc + F (λ, φ, t) (1.2.2)

∀ (λ, φ) ∈ Ω, Ω ⊂ [0, 2π]× (−π2, π

2

), ∀ t ∈ (0, T ]

Donde V1 y V2 son las proyecciones del campo−→V en las direcciones este - oeste y

norte - sur, respectivamente, que modela un campo de velocidades bien comportado, es decir,

div−→V = 0.

El dominio que consideraremos llamado por Ω tiene definida la frontera (Figura 1.2)

por ∂Ω = Γ0 ∪ Γ1 ∪ Γ2 ∪ Γ3, con Γi ∩ Γj = ∅ (vacıo), para i 6= j.

Figura 1.2: Descripcion del dominio escogido

Y las condiciones de frontera escogidas son

−α∂c

∂η

∣∣∣∣Γ1

= k1g (1.2.3)

modelando una entrada de contaminante en el dominio a traves de esta parte de la frontera

(Diniz y Meyer, 2005; Diniz, 2003), conforme a la funcion g;

6

−α∂c

∂η

∣∣∣∣Γ0∪Γ3

= 0 (1.2.4)

modelando una condicion asintotica (Meyer y Diniz, 2006) en la frontera lejos del dominio,

−α∂c

∂η

∣∣∣∣Γ2

= k2 (c− ce) (1.2.5)

representando el paso del contaminante dependiendo de la concentracion externa (Diniz,

2003) y, η es el vector normal unitario externo.

La expresion, F (λ, φ, t) sera definida como el termino fuente en la ecuacion (1.2.2),

y en nuestro modelo la hemos considerado como una fuente puntual en el centro del dominio,

que es dada por F (λ, φ, t) = A0e−κt.

Finalmente como condicion inicial consideramos,

c (λ, φ, 0) = c0 (1.2.6)

Las ecuaciones (1.2.1–1.2.6) son expresadas en su formulacion clasica o fuerte, para

las cuales tenemos solidos resultados mientras se considere la existencia y unicidad de las

soluciones (Bressan, 2000; Weidemaier, 1998), sin embargo estos resultados son realmente

exigentes con respecto a que la regularidad es necesaria en los parametros y en algunas de

las condiciones.

Tendremos que recurrir a la formulacion debil o variacional, un ambiente matematico

de menor rigor, desde que las derivadas sean consideradas en el sentido de distribuciones y

las integrales sean del tipo Lebesgue, una opcion que permanece valida con la escogencia

del metodo de elementos finitos, el cual usaremos para la discretizacion espacial. Para la

variable temporal, nuestra opcion de aproximacion es la de Crank-Nicolson, produciendo

aproximaciones de precision de segundo orden. Este procedimiento es lo que presentamos en

los capıtulos siguientes.

7

Capıtulo 2

Formulacion debil

Para transformar el sistema dado en su formulacion fuerte a la expresion debil,

usando la ecuacion (1.2.2) con las condiciones de frontera (1.2.3–1.2.5), se debe dedicar

atencion especial a los espacios en los cuales la llamada formulacion sera desarrollada. Esto

es lo que presentaremos en las secciones siguientes.

1 Definicion de los espacios convenientes

Definiremos el siguiente espacio en el cual se establecera la deseada aproximacion

espacial (para mayor claridad ver definciones en el Apendice A):

V =

ν ∈ L 2 ((0, T ] , U) :

∂ν

∂t∈ L 2 (Ω)

, con U definido por

U =

c ∈ H1 (Ω) :

∂c

∂η

∣∣∣∣Γ0∪Γ3

= 0

Donde el espacio H1 es un espacio de Hilbert separable con los productos internos

dados por:

(f |g)0,Ω :=

∫∫

Ω

f (λ, φ) · g (λ, φ) dµ (2.1.1)

(∇f ‖ ∇g)0,Ω :=

∫∫

Ω

∇f (λ, φ) · ∇g (λ, φ) dµ (2.1.2)

〈f |g〉0,Γ :=

Γ

f (λ, φ) .g (λ, φ) dγ (2.1.3)

8

2 Obtencion de la formulacion debil

Para resolver el problema de la ecuacion en derivadas parciales por el metodo de

elementos finitos, se comienza planteandolo en su forma debil, que bajo ciertas condiciones

puede resultar analogo a un problema de minimizacion funcional. El MEF permite convertir

el problema continuo en su forma debil en un problema discreto que finalmente resulta en

un problema de ecuaciones algebraicas.

Para obtener la formulacion debil multiplicamos los terminos de la ecuacion (1.2.2)

por una funcion de prueba (en el ingles funcion test and trial: c es la funcion trial en el sentido

de prueba como tanteo, es decir la funcion que se propone como solucion y v es la funcion test

en el sentido de poner a prueba, es decir la funcion con la cual se “pesa” la solucion propuesta)

que pertenece al espacio V , dentro de cada subdominio las funciones de prueba se construyen

como polinomios a los cuales se les impone un determinado orden de continuidad con los

elementos adyacentes. Por lo tanto, la solucion obtenida estara formada por funciones que

resultaran polinomicas a trozos en el dominio completo; despues hacemos la integracion en

sentido de Lebesgue. Ası, usando el producto interno (2.1.1–2.1.3) apropiadamente, tenemos

en lugar de la ecuacion (1.2.2) con condiciones de frontera (1.2.3–1.2.5), lo siguiente:

(∂c

∂t

∣∣∣∣ν)

0,Ω

− α (∆c|ν)0,Ω +(div

[→V c

]|ν

)0,Ω

+ σ (c|ν)0,Ω = (F|ν)0,Ω

∀ ν ∈ V , ∀ t ∈ (0, T ] .

(2.2.1)

Para resolver el termino −α (∆c|ν)0,Ω aplicamos una de las identidades de Green

(Wikimedia, 2006) y obtenemos:

−α (∆c|ν)0,Ω = α (∇c ‖ ∇ν)0,Ω − α

⟨∂c

∂η|ν

∂Ω

y desarrollando el termino(div

[→V c

]|ν

)0,Ω

obtenemos que(div

[→V c

]|ν

)0,Ω

=(→V · ∇c|ν

)0,Ω

ya que div→V = 0, una vez que suponemos el campo de velocidades

→V conservativo.

Luego (recordando que ∂Ω = Γ) la ecuacion (2.2.1) nos queda:

(∂c

∂t

∣∣∣∣ν)

0,Ω

+ α (∇c ‖ ∇ν)− α

⟨∂c

∂η

∣∣∣∣ν⟩

Γ

+(→V · ∇c|ν

)0,Ω

+ σ (c|ν)0,Ω = (F|ν)0,Ω

∀ ν ∈ V ,∀ t ∈ (0, T ]

(2.2.2)

9

Ahora aplicando la definicion de gradiente en coordenadas esfericas, las condiciones

de frontera y la definicion anterior de producto interno (ecuaciones 2.1.1–2.1.3), la ecuacion

(2.2.2) queda:

(∂c

∂t

∣∣∣∣ν)

0,Ω

+ α

[(1

cos2 φ

∂c

∂λ

∣∣∣∣∂ν

∂λ

)

0,Ω

+

(∂c

∂φ

∣∣∣∣∂ν

∂λ

)

0,Ω

]+ V1

(1

cos φ

∂c

∂λ

∣∣∣∣ν)

0,Ω

+ V2

(∂c

∂φ

∣∣∣∣ν)

0,Ω

+ σ (c|ν)0,Ω + k2 〈c|ν〉Γ2

= −k1 〈g|ν〉Γ1+ k2 〈ce|ν〉Γ2

+ (F|ν)0,Ω ∀ ν ∈ V ,∀ t ∈ (0, T ]

(2.2.3)

Observemos que en esta ultima ecuacion, aparecen derivadas de primer orden, en el

sentido de distribuciones o “debil”, de la solucion c (λ, φ, t), en cuanto a que en la ecuacion

(1.2.2) aparecen derivadas de segundo orden, en el sentido clasico. De esta forma se debilitan

las hipotesis de regularidad de la solucion, proporcionando un aumento de las funciones para

las cuales el problema tiene sentido.

3 Existencia y unicidad de la solucion

A continuacion haremos una demostracion de la existencia y unicidad de la solucion

de la ecuacion obtenida en (2.2.3), de acuerdo a lo siguiente: Sera utilizado el Teorema de

Lions (ver Lions, 1961, Teorema. 1.1, Cap. IV, pag. 46) y probaremos que este problema

en su formulacion variacional satisface las hipotesis de dicho teorema.

Teorema 3.1 (Lions). Dado un conjunto abierto Ω ⊂ Rn, considere los espacios H1 (Ω),

H10 (Ω) y V tales que H1

0 (Ω) ⊂ V ⊂ H1 (Ω) para w = w (x, t) y v = v (x, t), sea un operador

A dado por1:

A(t; w, v) =n∑

i,j=1

Ω

aij(x, t)∂w

∂xj

∂v

∂xi

dx +n∑i

Ω

ai(x, t)∂w

∂xi

vdx +n∑i

Ω

a0(x, t)wvdx

Si

i) aij, ai y a0 ∈ L 2 (Ω× (0, T ));

1En Rn sera considerado dx = dx1dx2...dxn

10

ii) ∀w, v ∈ V, una funcion Λ : t → A (t; w, v) es medible;

iii) ∃λ ∈ R tal que: |A(t, w, v)|+ λ‖w‖L 2 ≥ δ‖w‖H1(Ω), δ > 0, w ∈ V;

iv) |A (t; w, v)| ≤ M ‖w‖H1(Ω) ‖v‖H1(Ω);

v) Lf (v) =

Ω

fvdx +

(∫

Ω

w0νdx

)δ0(t) es continuo;

vi) f ∈ L 2 ((−∞, T ) ; L 2 (Ω)) y w0 (x) ∈ L 2 (Ω).

entonces existe una unica funcion w ∈ L 2 ((−∞, T ) ; L 2 (Ω)) y w : (−∞, 0) → 0 que es

solucion del problema variacional

(∂w

∂t, v

)+ A (t; w, v) = Lf (v) .

Para una demostracion del teorema consultar (Lions, 1961, Teor. 1.1 – Cap. IV).

Para demostrar que el problema (2.2.3) satisface las hipotesis del mencionado teo-

rema, agrupamos terminos para introducir la notacion del referido teorema, ası tenemos:

A (t; ·) =2∑

i,j=1

∂xj

(Aij (x, t)

∂xi

)+

2∑i=1

∂xi

Ai (x, t) + A0 (2.3.1)

y haciendo las siguientes escogencias, tenemos:(

∂c

∂t

∣∣∣∣ν)

0,Ω

+(A (t, c) |ν

)0,Ω

+ k2 〈c|ν〉Γ2= −k1 〈g|ν〉Γ1

+ k2 〈ce|ν〉Γ2

+ (F|ν)0,Ω + (c0|ν)0,Ω δ0t ∀ ν ∈ V ,∀ t ∈ (0, T ]

(2.3.2)

o en una forma mas compacta:(

∂c

∂t

∣∣∣∣ν)

+ A (t; c, ν) = Lf (ν) (2.3.3)

donde

A (t; c, ν) =(A (t; c) |ν

)0;Ω

+ k2 〈c|ν〉Γ2

y

Lf (ν) = −k1 〈g|ν〉Γ1+ k2 〈ce|ν〉Γ2

+ (F|v)0,Ω + (c0|v)0,Ω δ0(t)

dadas las escogencias en (2.3.2) de:

Aij =

α si i = j

0 si i 6= j

11

Ai =

V1 si i = 1

V2 si i = 2

A0 = σ

y llamando a δ0(t) al operador de Dirac que “fija” la condicion incial.

Para verificar que (2.3.3) satisface las hipotesis del teorema de Lions, procedemos

como sigue:

1. Es inmediato verificar que A satisface las hipotesis i) y ii) del teorema enunciado,

teniendo en cuenta las escogencias de Aij, Ai y A0

2. La hipotesis iii) en (2.3.3) llamada coercividad2 del operador A puede ser obtenida

como sigue:

A (t; v, v) + λ ‖v‖2L 2 =

∫∫

Ω

A (t; v) v dµ + k2

Γ2

v2 dγ + λ ‖v‖2L 2

= α

∫∫

Ω

∇v · ∇v dµ + V1

∫∫

Ω

1

cos φ

∂v

∂λv dµ + V2

∫∫

Ω

∂v

∂φv dµ

+ σ

∫∫

Ω

v2 dµ + k2

Γ2

v2 dγ + λ ‖v‖2L 2

o sea,

A (t; v, v) + λ ‖v‖2L 2 = α

∫∫

Ω

[1

cos2 φ

(∂v

∂λ

)2

+

(∂v

∂φ

)2]

+V1

∫∫

Ω

1

cos φ

∂v

∂λv dµ + V2

∫∫

Ω

∂v

∂φv dµ

+ k2

Γ2

v2 dγ + (λ + σ) ‖v‖2L 2

(2.3.4)

tenemos que:∣∣∣∣V1

∫∫

Ω

1

cos φ

∂v

∂λv dµ

∣∣∣∣ ≤ |V1|∫∫

Ω

∣∣∣∣1

cos φ

∂v

∂λv

∣∣∣∣ dµ ≤∣∣∣∣V1

1

cos φ

∣∣∣∣∫∫

Ω

∣∣∣∣∂v

∂λv

∣∣∣∣ dµ

por la desigualdad de Cauchy–Schwarz (ver seccion 3, pag. 34) se tiene:∣∣∣∣V1

1

cos φ

∣∣∣∣∫∫

Ω

∣∣∣∣∂v

∂λ

∣∣∣∣ |v| dµ ≤∣∣∣∣V1

1

cos φ

∣∣∣∣∥∥∥∥

∂v

∂λ

∥∥∥∥L 2

‖v‖L 2

2El operador A : Rn → R+ se dice coercivo si para cualquier sucesion ukk∈N ⊂ Rn se cumple‖uk‖Rn →∞ entonces A (uk) → ∞ (cuando k →∞ ).

12

luego

−∣∣∣∣V1

∫∫

Ω

1

cos φ

∂v

∂λv dµ

∣∣∣∣ ≥ −∣∣∣∣V1

1

cos φ

∣∣∣∣∥∥∥∥

∂v

∂λ

∥∥∥∥L 2

‖v‖L 2

y como

α

∫∫

Ω

[1

cos2 φ

(∂v

∂λ

)2

+

(∂v

∂φ

)2]

dµ ≥ α

∫∫

Ω

[(∂v

∂λ

)2

+

(∂v

∂φ

)2]

Ahora, sea ζ = max

∣∣∣∣V11

cos φ

∣∣∣∣ , |V2|

, esto se puede hacer una vez que φ pertenence a

un intervalo compacto (ver la hipotesis sobre el compacto Ω en la ecuacion 1.2.1 – pag.

5), por lo tanto∣∣∣ 1cos φ

∣∣∣ esta acotado por un valor maximo y aplicando la desigualdad de

Holder (ver seccion 3, pag. 34) en el 2o y 3o termino del lado derecho de la ecuacion

(2.3.4), tenemos:

A (t; v, v) + λ ‖v‖2L 2 ≥ α

∫∫

Ω

[(∂v

∂λ

)2

+

(∂v

∂φ

)2]

dµ + (λ + σ) ‖v‖2L 2

−ζ

[∥∥∥∥∂v

∂λ

∥∥∥∥L 2

‖v‖L 2 +

∥∥∥∥∂v

∂φ

∥∥∥∥L 2

‖v‖L 2

]+ k2 ‖v‖2

L 2

o

A (t; v, v) + λ ‖v‖2L 2 ≥ α

(∥∥∥∥∂v

∂λ

∥∥∥∥2

L 2

+

∥∥∥∥∂v

∂φ

∥∥∥∥2

L 2

)+ (λ + σ + k2) ‖v‖2

L 2

−ζ

[∥∥∥∥∂v

∂λ

∥∥∥∥L 2

‖v‖L 2 +

∥∥∥∥∂v

∂φ

∥∥∥∥L 2

‖v‖L 2

] (2.3.5)

Usando el recurso clasico de desigualdad

ab ≤ ε

2a2 +

1

4εb2 ∀ a, b positivos,

que aplicado a los terminos:

∥∥∥∥∂v

∂λ

∥∥∥∥L 2

‖v‖L 2 ≤ ε

2

∥∥∥∥∂v

∂λ

∥∥∥∥2

L 2

+1

4ε‖v‖2

L 2

y ∥∥∥∥∂v

∂φ

∥∥∥∥L 2

‖v‖L 2 ≤ ε

2

∥∥∥∥∂v

∂φ

∥∥∥∥2

L 2

+1

4ε‖v‖2

L 2

sumando miembro a miembro se llega a la desigualdad:

[∥∥∥∥∂v

∂λ

∥∥∥∥L 2

+

∥∥∥∥∂v

∂φ

∥∥∥∥L 2

]‖v‖L 2 ≤ ε

2

(∥∥∥∥∂v

∂λ

∥∥∥∥2

L 2

+

∥∥∥∥∂v

∂φ

∥∥∥∥2

L 2

)+

1

4ε‖v‖2

L 2

13

y

−ζ

[∥∥∥∥∂v

∂λ

∥∥∥∥L 2

+

∥∥∥∥∂v

∂φ

∥∥∥∥L 2

]‖v‖L 2 ≥ −ζε

2

(∥∥∥∥∂v

∂λ

∥∥∥∥2

L 2

+

∥∥∥∥∂v

∂φ

∥∥∥∥2

L 2

)− ζ

4ε‖v‖2

L 2

luego la desigualdad (2.3.5) queda:

A (t; v, v) + λ ‖v‖2L 2 ≥

(α− ζε

2

) [∥∥∥∥∂v

∂λ

∥∥∥∥2

L 2

+

∥∥∥∥∂v

∂φ

∥∥∥∥2

L 2

]+

(λ + σ + k2 − ζ

)‖v‖2

L 2

Ası tomando

δ = min

(α− ζε

2

);

(λ + σ + k2 − ζ

)

podemos escoger ζ y ε, de modo que δ > 0 y por lo tanto tenemos;

A (t; v, v) + λ ‖v‖2L 2 ≥ δ

(‖v‖2

L 2 +

∥∥∥∥∂v

∂λ

∥∥∥∥2

L 2

+

∥∥∥∥∂v

∂φ

∥∥∥∥2

L 2

)= δ ‖v‖2

H1(Ω)

∀ v ∈ V ,∀ t ∈ (0, T ]

3. La condicion dada en la hipotesis iv) en (2.3.3) denominada continuidad del operador

A puede ser obtenida de la siguiente forma: Dado que

∫∫

Ω

∂c

∂tv dµ + A (t; c, v) = Lf (v)

donde

A (t; c, v) =

∫∫

Ω

A (t; c) v dµ + k2

Γ2

c v dµ

y

∫∫

Ω

A (t; c) v dµ = α

∫∫

Ω

∇c ·∇v dµ+V1

∫∫

Ω

1

cos φ

∂c

∂λv dµ+V2

∫∫

Ω

∂c

∂φv dµ+σ

∫∫

Ω

c v dµ

como

α

∫∫

Ω

∇c · ∇v dµ ≤ |α|∫∫

Ω

∇c · ∇v dµ

luego, para cada t ∈ (0, T ], sea ε = max |α| , |σ| y usando la desigualdad de Cauchy–

Schwarz, se obtiene:

|α|∫∫

Ω

∇c · ∇v dµ + σ

∫∫

Ω

c v dµ ≤ ε ‖c‖H1(Ω) ‖v‖H1(Ω)

ademas

|V1|∫∫

Ω

1

cos φ

∂c

∂λv dµ ≤

∣∣∣∣V11

cos φ

∣∣∣∣∫∫

Ω

∂c

∂λv dµ

14

y por la desigualdad de Holder se tiene:∣∣∣∣V11

cos φ

∣∣∣∣∫∫

Ω

∂c

∂λv dµ ≤

∣∣∣∣V11

cos φ

∣∣∣∣∥∥∥∥

∂c

∂λ

∥∥∥∥L 2

‖v‖L 2 ≤∣∣∣∣V1

1

cos φ

∣∣∣∣ ‖c‖H1(Ω) ‖v‖H1(Ω)

|V2|∫∫

Ω

∂c

∂φv dµ ≤ |V2|

∥∥∥∥∂c

∂φ

∥∥∥∥L 2

‖v‖L 2 ≤ |V2| ‖c‖H1(Ω) ‖v‖H1(Ω)

dada la continuidad de inmersion de H1 (Ω) en L 2, se obtiene

k2

Γ2

c v dµ ≤ |k2| ‖c‖L 2(Γ2) ‖v‖L 2(Γ2) ≤ |k2| ‖c‖L 2(∂Ω) ‖v‖L 2(∂Ω)

≤ |k2| ‖c‖H1(Ω) ‖v‖H1(Ω)

de ahı

|A (t; c, v)| ≤ ε ‖c‖H1(Ω) ‖v‖H1(Ω) +∣∣∣V1

1cos φ

∣∣∣ ‖c‖H1(Ω) ‖v‖H1(Ω)

+ |V2| ‖c‖H1(Ω) ‖v‖H1(Ω) + |k2| ‖c‖H1(Ω) ‖v‖H1(Ω)

luego, tomando

M = ε +

∣∣∣∣V11

cos φ

∣∣∣∣ + |V2|+ |k2|tenemos

|A (t; c, v)| ≤ M ‖c‖H1(Ω) ‖v‖H1(Ω)

4. Como el termino Lf (v) de (2.3.3) esta dado por:

Lf (v) = −k1 〈g|v〉Γ1+ k2 〈ce|v〉Γ2

+ (F|v)0,Ω + (c0|v)0,Ω δ0(t)

= −k1

Γ1

g v dγ + k2

Γ2

ce v dγ +

∫∫

Ω

F v dµ +

(∫∫

Ω

c0v dµ

)δ0(t)

y teniendo que,

‖v‖L 2 ≤ µ (Ω) ‖v‖H1(Ω) ∀v ∈ Vdadas las escogencias de g, ce, F , y c0 ∈ L 2 (Ω× (0, T ]) se tiene

|Lf (v)| =∣∣∣−k1

∫Γ1

g v dγ + k2

∫Γ2

ce v dγ +∫∫

ΩF v dµ +

(∫∫Ω

c0 v dµ)δ0(t)

∣∣∣

≤ k1

Γ1

|g v| dγ + k2

Γ2

|ce v| dγ +

∫∫

Ω

|F v| dµ +

(∫∫

Ω

|c0 v| dµ

)δ0(t)

≤ k1 ‖g‖L 2 ‖v‖L 2 + k2 ‖ce‖L 2 ‖v‖L 2 + ‖F‖L 2 ‖v‖L 2 + ‖c0‖L 2 ‖v‖L 2

≤ (k1 ‖g‖L 2 + k2 ‖ce‖L 2 + ‖F‖L 2 + ‖c0‖L 2) ‖v‖H1(Ω)

que satisfacen las hipotesis v) y vi) del teorema.

Por lo tanto existe una unica solucion al problema (2.3.3), formulado variacional-

mente.

15

Capıtulo 3

Discretizacion del problema

En este capıtulo presentamos el proceso de discretizacion de la ecuacion en su for-

mulacion debil. Para lograrlo, usaremos el metodo de elementos finitos – a traves de la

escogencia de la tecnica de Galerkin standard para la discretizacion espacial, y el esquema

de Crank-Nicolson para la discretizacion temporal.

1 Introduccion

Para la discretizacion de la ecuacion (2.2.3), en lugar de obtener funciones en V ,

numericamente obtenemos aproximaciones, en la forma:

c (λ, φ, t) ∼= ch (λ, φ, t) =

Nh∑j=1

cj (t) ϕj (λ, φ) (3.1.1)

y llamando Vh el subespacio de V de dimension Nh < +∞ generado por las Nh funciones

base ϕj (λ, φ) de Vh.

Intuitivamente la idea central es remitirnos a un metodo muy tradicional de resolu-

cion analıtica de ecuaciones diferenciales parciales llamada separacion de variables, donde

asumimos la solucion como un producto de funciones independientes en las variables tempo-

ral y espacial. En la tecnica de Galerkin tambien se tiene esta separacion no de la solucion,

sino mas bien del espacio en que buscamos esta solucion (algo muy similar al intentar descom-

poner V como una suma directa de subespacios convenientes, solo que aqui la descomposicion

no es una suma directa).

La opcion para la presente aproximacion son los triangulos de primer orden en el

dominio; esto generalmente significa que el dominio discretizado Ωh ya no coincide con el

16

original pero lo aproxima en cierto sentido que, cuando los tamanos de los triangulos mas

grandes en cada discretizacion van a cero, el dominio discretizado tiende al original. No

obstante mantendremos la misma identificacion, es decir Ω, sin la perdida de informacion.

2 Discretizacion espacial

Reescribiendo (2.2.3) para las funciones aproximadas dadas en (3.1.1), resulta en

ecuaciones validas para cualquier funcion en el ahora subespacio finito-dimensional. Lo

que sugiere verificar el sistema unicamente para los elementos de la base del espacio finito-

dimensional. Por consiguiente, lo que tenemos es equivalente al sistema discreto dado, para

t ∈ (0, T ], por:

(∂ch

∂t

∣∣∣∣ν)

0,Ω

+ α

[(1

cos2 φ

∂ch

∂λ

∣∣∣∣∂ν

∂λ

)

0,Ω

+

(∂ch

∂φ

∣∣∣∣∂ν

∂φ

)

0,Ω

]

+ V1

(1

cos φ

∂ch

∂λ

∣∣∣∣ν)

0,Ω

+ V2

(∂ch

∂φ

∣∣∣∣ν)

0,Ω

+ σ (ch|ν)0,Ω

+ k2 〈ch|ν〉Γ2= k2 〈ce|ν〉Γ2

− k1 〈g|ν〉Γ1+ (F|ν)0,Ω ∀ ν ∈ Vh

(3.2.1)

que nos lleva al siguiente sistema de ecuaciones diferenciales ordinarias discretizado:

(Nh∑j=1

dcj

dtϕj

∣∣∣∣ν)

0,Ω

+ α

(1

cos2 φ

Nh∑j=1

cj∂ϕj

∂λ

∣∣∣∣∂ν

∂λ

)

0,Ω

+

(Nh∑j=1

cj∂ϕj

∂φ

∣∣∣∣∂ν

∂φ

)

0,Ω

+ V1

(1

cos φ

Nh∑j=1

cj∂ϕj

∂λ

∣∣∣∣ν)

0,Ω

+ V2

(Nh∑j=1

cj∂ϕj

∂φ

∣∣∣∣ν)

0,Ω

+ σ

(Nh∑j=1

cjϕj

∣∣∣∣ν)

0,Ω

+ k2

⟨∑j∈Γ2

cjϕj

∣∣∣∣ν⟩

Γ2

= k2 〈ce|ν〉Γ2− k1 〈g|ν〉Γ1

+ (F|ν)0,Ω ∀ ν ∈ Vh

(3.2.2)

como los coeficientes cj = cj (t) no dependen de λ ni de φ pueden salir de los

productos internos, que son definidos solo para las variables espaciales, ası:

17

Nh∑j=1

dcj

dt

(ϕj

∣∣∣∣ν)

0,Ω

+

Nh∑j=1

cj

(1

cos2 φ

∂ϕj

∂λ

∣∣∣∣∂ν

∂λ

)

0,Ω

+

(∂ϕj

∂φ

∣∣∣∣∂ν

∂φ

)

0,Ω

+ V1

(1

cos φ

∂ϕj

∂λ

∣∣∣∣ν)

0,Ω

+ V2

(∂ϕj

∂φ

∣∣∣∣ν)

0,Ω

+ σ (ϕj|ν)0,Ω

]

+ k2

∑j∈Γ2

cj 〈ϕj|ν〉Γ2= k2 〈ce|ν〉Γ2

− k1 〈g|ν〉Γ1+ (F|ν)0,Ω

∀ν ∈ Vh

(3.2.3)

Ahora, escribir la ecuacion (3.2.3) para ∀ ν ∈ Vh, equivale escribirla para los elemen-

tos de la base. Por lo tanto tenemos:

Nh∑j=1

dcj

dt

(ϕj

∣∣∣∣ϕi

)+ cj

α

[(1

cos2 φ

∂ϕj

∂λ

∣∣∣∣∂ϕi

∂λ

)+

(∂ϕj

∂φ

∣∣∣∣∂ϕi

∂φ

)]

+ V1

(1

cos φ

∂ϕj

∂λ

∣∣∣∣ϕi

)+ V2

(∂ϕj

∂φ

∣∣∣∣ϕi

)+ σ (ϕj|ϕi)Ω

+ k2

∑j∈Γ2

cj 〈ϕj|ϕi〉Γ2= k2 〈ce|ϕi〉Γ2

− k1 〈g|ϕi〉Γ1+ (F|ϕi)

∀ ϕj ∈ Vh

(3.2.4)

En la ecuacion anterior, las expresiones en las sumas las cuales se refieren a los

productos internos sobre la parte de las fronteras, en realidad indican que los unicos ındices

considerados seran aquellos que yacen sobre dichas partes de la frontera. La ecuacion (3.2.4)

describe, un sistema lineal de ecuaciones diferenciales ordinarias.

3 Discretizacion temporal

La ecuacion (3.2.4) sera ahora aproximada en su variable temporal usando el esque-

ma de Crank-Nicolson con diferencias centradas de segundo orden, para el cual usaremos las

aproximaciones dadas por (3.3.1) y (3.3.2). Los subindices i y j se refieren a la discretizacion

del dominio espacial, donde cij es la concentracion en el nodo (λi, φj) ∈ Ω.

d

dtcij

(tn +

∆t

2

)≈ cij (tn+1)− cij (tn)

∆t(3.3.1)

cij

(tn +

∆t

2

)≈ c

(n+1)ij + c

(n)ij

2(3.3.2)

18

Reescribiendo (3.2.4) para las funciones aproximadas dadas en (3.3.1–3.3.2), resulta

un sistema de ecuaciones lineales algebraico, para tn ∈ (0, T ] de c (tn), donde obtenemos el

sistema lineal discretizado (Meyer y Diniz, 2006):

Nh∑j=1

cn+1j

[(1 + σ

∆t

2

)(ϕj

∣∣∣∣ϕi

)+ α

∆t

2

(1

cos2 φ

∂ϕj

∂λ

∣∣∣∣∂ϕi

∂λ

)+ α

∆t

2

(∂ϕj

∂φ

∣∣∣∣∂ϕi

∂φ

)

+V1∆t

2

(1

cos φ

∂ϕj

∂λ

∣∣∣∣ϕi

)+ V2

∆t

2

(∂ϕj

∂φ

∣∣∣∣ϕi

)+ k2

∆t

2

⟨ϕj

∣∣∣∣ϕi

j∈Γ2

]=

Nh∑j=1

cnj

[(1− σ

∆t

2

)(ϕj

∣∣∣∣ϕi

)− α

∆t

2

(1

cos2 φ

∂ϕj

∂λ

∣∣∣∣∂ϕi

∂λ

)− α

∆t

2

(∂ϕj

∂φ

∣∣∣∣∂ϕi

∂φ

)

−V1∆t

2

(1

cos φ

∂ϕj

∂λ

∣∣∣∣ϕi

)− V2

∆t

2

(∂ϕj

∂φ

∣∣∣∣ϕi

)− k2

∆t

2

⟨ϕj

∣∣∣∣ϕi

j∈Γ2

]

−k1∆t

⟨g

∣∣∣∣ϕi

Γ1

+k2∆t

⟨ce

∣∣∣∣ϕi

Γ2

+∆t (F|ϕi) ∀ϕi ∈ Vh

(3.3.3)

Podemos representar el sistema discretizado (3.3.3) en la forma matricial por:

Ac(n+1) = Bc(n) + d (3.3.4)

donde

aij =

(1 + σ

∆t

2

)(ϕj

∣∣∣∣ϕi

)+ α

∆t

2

(1

cos2 φ

∂ϕj

∂λ

∣∣∣∣∂ϕi

∂λ

)+ α

∆t

2

(∂ϕj

∂φ

∣∣∣∣∂ϕi

∂φ

)

+ V1∆t

2

(1

cos φ

∂ϕj

∂λ

∣∣∣∣ϕi

)+ V2

∆t

2

(∂ϕj

∂φ

∣∣∣∣ϕi

)+ k2

∆t

2

⟨ϕj

∣∣∣∣ϕi

j∈Γ2

bij =

(1− σ

∆t

2

)(ϕj

∣∣∣∣ϕi

)− α

∆t

2

(1

cos2 φ

∂ϕj

∂λ

∣∣∣∣∂ϕi

∂λ

)− α

∆t

2

(∂ϕj

∂φ

∣∣∣∣∂ϕi

∂φ

)

− V1∆t

2

(1

cos φ

∂ϕj

∂λ

∣∣∣∣ϕi

)− V2

∆t

2

(∂ϕj

∂φ

∣∣∣∣ϕi

)− k2

∆t

2

⟨ϕj

∣∣∣∣ϕi

j∈Γ2

di = ∆t

[k2

⟨ce

∣∣∣∣ϕi

Γ2

− k1

⟨g

∣∣∣∣ϕi

Γ1

+

(F

∣∣∣∣ϕi

)]i = 1, 2, · · · , Nh

La matriz A en la ecuacion (3.3.4) es llamada matriz de rigidez y el vector re-

sultante de la operacion Bc(n) + d para cada instante tn +∆t

2es denominado el vector de

carga.

La escogencia de las funciones prueba ϕi se hara usando elementos finitos triangu-

lares de primer orden, que consiste en construir una malla de elementos finitos sobre un

19

dominio Ω y escoger las funciones base ϕ1, ϕ2, · · · , ϕNh definidas globalmente de tipo

lineal por partes y satisfaciendo la siguiente condicion:

ϕi (λj, φj) =

1 si i = j

0 si i 6= j

donde (λj, φj) son las coordenadas del j-esimo nodo en la malla.

De esta forma se obtiene una funcion piramide por cada nodo (ver la Figura 3.1),

que es lineal por partes, asumiendo el valor de 1 en el j-esimo nodo y 0 en los demas.

.

1

Figura 3.1: Grafico de la funcion piramide para un nodo j

En el capıtulo siguiente presentaremos los resultados para las simulaciones de algunos

escenarios.

20

Capıtulo 4

Resultados obtenidos

Presentaremos algunos resultados de las simulaciones realizadas con un codigo numerico

desarrollado en el software MATLAB r© con animaciones que pueden describir el proceso evo-

lutivo del contaminante en el dominio discretizado, en un intervalo de tiempo previamente

escogido, donde la principal caracterıstica es la visualizacion a traves de graficos que facilitan

su comprension.

1 Simulaciones de escenarios

Los parametros para las pruebas del modelo desarrollado y la simulacion de esce-

narios, fueron estimados dentro de los aspectos considerados razonables, algunos de ellos, tal

como el decaimiento, fue obtenido de las referencias disponibles, (por ejemplo Silva 2005),

otros fueron estimados una vez que el trabajo no esta aplicado a ningun problema real co-

mo por ejemplo la velocidad del viento que fue estimada cercana a los valores reales bajos,

(parametros empıricos).

Las simulaciones de los escenarios fueron obtenidas considerando la discretizacion del

dominio para algunos tipos de situaciones: bajas velocidades para el campo−→V y diferentes

valores para la permeabilidad en la frontera. La estimacion de la condicion inicial se basa

en la fuente de contaminacion derramada en el centro del dominio. Se hicieron los graficos

presentados en las simulaciones para los instantes de tiempo t = 0, t = 12, t = 24, y t = 40

horas, para los escenarios de las figuras 4.1, 4.3 y 4.5, respectivamente.

Los parametros usados para obtener los resultados en el escenario 1 (Figuras 4.1 y

4.2) son presentados en la tabla 4.1. Donde se ha considerado una baja difusion, corrientes

21

marinas debiles en la direccion de SO a NE, ası tenemos V1 = V cos π4, y V2 = V sen π

4donde

V es la magnitud de la velocidad de las corrientes marinas. Ademas estamos suponiendo que

despues de la descarga de contaminante en la parte central del dominio, la fuente continua

actuando en el mismo lugar.

Tabla 4.1: Parametros para la simulacion del escenario 1Parametros del modelo

Parametro Sımbolo Valor y Unidad

coeficiente de difusion α 0.0001 km2/h

decaimiento global σu 0.001 h−1

velocidad en la direccioneste-oeste

V1 0.008 cos π4

km/h

velocidad en la direccionnorte-sur

V2 0.008 sen π4

km/h

entrada por deriva en la fronteraΓ1

g 0.0001 ppm

permeabilidad en la frontera Γ1 k1 0.00001 h−1

permeabilidad en la frontera Γ2 k2 0.00001 h−1

concentracion externa en lafrontera Γ2

ce 0.0001 ppm

fuente de contamiacion F 0.01 ppm/h

constante de declinacion de lafuente

κ 0.01 ppm/h

discretizacion en la direccioneste-oeste

∆λ 0.0087 km

discretizacion en la direccionnorte-sur

∆φ 0.0087 km

discretizacion en el tiempo ∆t 0.02 horas

A continuacion, presentamos un segundo escenario donde se ha considerado igual-

mente una difusion baja, corrientes marinas debiles en la direccion NO a SE, sin fuente en

el centro. Los parametros usados para obtener los resultados de este escenario (Figuras 4.3

y 4.4) son los mismos presentados en la tabla 4.1, excepto k2 = ce = F = 0, V1 = 0.008

cos−π4, y V2 = 0.008 sen −π

4.

Finalmente, los parametros de los resultados presentados en el escenario 3 (Figuras

4.5 y 4.6) son los mismos mostrados en la tabla 4.1 cuyas condiciones difieren de las sim-

ulaciones previas en relacion a la direccion del campo de velocidades que suponemos es SE

22

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 0

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 12

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 24

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 40

Escenario 1

Figura 4.1: Simulacion del escenario 1

0 500 1000 1500 2000 25000

0.5

1

1.5

2

2.5x 10

−6 Primer Nodo

Con

cent

raci

on

0 500 1000 1500 2000 2500−5

0

5

10

15x 10

−7 Nodo en G0

Con

cent

raci

on

0 500 1000 1500 2000 25000

0.5

1

1.5x 10

−5 Nodo Medio

Con

cent

raci

on

0 500 1000 1500 2000 2500−1

0

1

2

3

4x 10

−6 Ultimo Nodo

Con

cent

raci

on

Escenario 1

Figura 4.2: Comportamiento en los nodos a lo largo del tiempo – escenario 1

23

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 0

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 12

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 24

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 40

Escenario 2

Figura 4.3: Simulacion del escenario 2

0 500 1000 1500 2000 25000

0.5

1

1.5

2x 10

−7 Primer Nodo

Con

cent

raci

on

0 500 1000 1500 2000 2500−2

0

2

4

6

8x 10

−10 Nodo en G0

Con

cent

raci

on

0 500 1000 1500 2000 25000

0.5

1

1.5

2x 10

−5 Nodo Medio

Con

cent

raci

on

0 500 1000 1500 2000 2500−1

0

1

2

3

4

5x 10

−9

Ultimo Nodo

Con

cent

raci

on

Escenario 2

Figura 4.4: Comportamiento en los nodos a lo largo del tiempo – escenario 2

24

a NO, en otros terminos, V1 = 0.008 cos 3π4

, y V2 = 0.008 sen 3π4

. Ademas en este caso los

valores para la permeabilidad k1 y k2 son nulos, y suponemos que el valor de la fuente es

dado por F = 0.0001 exp (-0.01t) ppm/h.

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 0

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 12

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 24

−0.10

0.1

−0.10

0.10

0.5

1

x 10−4

t = 40

Escenario 3

Figura 4.5: Simulacion del escenario 3.

0 500 1000 1500 2000 2500−5

0

5

10

15x 10

−9 Primer Nodo

Con

cent

raci

on

0 500 1000 1500 2000 2500−2

0

2

4

6

8x 10

−7 Nodo en G0

Con

cent

raci

on

0 500 1000 1500 2000 25000

0.5

1

1.5

2

2.5x 10

−5 Nodo Medio

Con

cent

raci

on

0 500 1000 1500 2000 2500−0.5

0

0.5

1

1.5

2

2.5

3x 10

−8 Ultimo Nodo

Con

cent

raci

on

Escenario 3

Figura 4.6: Comportamiento en los nodos a lo largo del tiempo – escenario 3

25

2 Analisis de resultados

Los graficos del escenario 1 muestran una dispersion del contaminante por el do-

minio con mayor propagacion en direccion NE (direccion del viento predominante), puede

observarse tambien una concentracion creciente dada la fuente de contaminacion y dada la

entrada por deriva definida a lo largo de la frontera Γ1 y la concentracion externa definida

en la frontera Γ2.

En el segundo escenario la condicion inicial se establecio igual que en el escenario

anterior en ausencia de fuente, la concentracion en los nodos en este caso es decreciente dado

que k2 = ce = F = 0. Aqui la mancha se desplaza en direccion del viento SE, presentandose

una acumulacion en la frontera Γ1, asemejandose como si la concentracion llegara a una

playa.

El tercer escenario presenta resultados semejantes al primero, pero en este caso las

permeabilidades en las fronteras son nulas, es decir k1 = k2 = 0 y la fuente de contamiancion

es menor que la del escenario 1, ademas el desplazamiento va en la direccion del viento NO,

donde el comportamiento de la concentracion en los nodos inicia primeramente en aumento

pero luego va disminuyendo, dadas las condiciones.

Comparando los resultados presentados en los tres escenarios, podemos notar una

distribucion de contaminates diferente en cada caso en el dominio, debido a la direccion del

viento, donde el proceso de derramamiento fue gobernado por el campo de velocidades y el

proceso de transporte es dominado por la difusion, dado que el numero de Peclet en los tres

casos es 0.4937, mucho menor que 2, teniendo la adveccion muy poca influencia.

Los resultados muestran compatibilidad con lo esperado en tales situaciones, hay

estabilidad numerica en ausencia de condiciones adversas del viento, aunque podrian consid-

erarsen situaciones de adveccion dominante a pesar de las limitaciones que pueda imponer

el metodo escogido, es decir la inestabilidad numerica en los casos en que la condicion de

Peclet (Brooks y Hughes, 1982; Heinrich et al., 1977; Christie et al., 1976) no se cumple.

Esta condicion es dada por:Vi∆xi

α≤ 2 (4.2.1)

dondeVi es la componente del termino advectivo

−→V en la direccion xi

∆xi es la longitud maxima del intervalo en la direccion xi

α es el coeficiente de difusion global.

26

Esto puede ser corregido usando tecnicas como Streamline Upwind/Petrov–Galerkin

(SUPG), que dan un tratamiento adecuado para las oscilaciones indeseables, lo que podria

pretenderse en un futuro como perfeccionamiento de este trabajo.

3 Conclusiones

Una ventaja de la escogencia del metodo de aproximacion de Elementos Finitos

para la discretizacion espacial, es que mejora los resultados obtenidos con el metodo de

Diferencias Finitas que usa una discretizacion espacial cuadratica de paso fijo en todo el

dominio, mientras que el Metodo de Elementos Finitos permite una discretizacion de paso

mas flexible, es decir con triangulos, cuadrados o rectangulos de tamano variable, ademas del

tratamiento que da a las discontinuidades. Otra ventaja es que es uno de los metodos mas

potentes y mas usados de la actualidad, tambien posiblemente el mas activo en el campo de

la investigacion tanto teorica como aplicada. En cuanto a la opcion de Crank–Nicolson para

la discretizacion temporal es por ser un metodo incondicionalmente estable, que hace serlo

mas confiable con respecto a la inestabilidad numerica.

Otro punto importante, es que dada la existencia y la unicidad de la solucion de

la ecuacion, se pudo probar que la formulacion del problema fue bien planteada, es decir la

ecuacion junto con las condiciones de frontera escogidas desde el punto de vista practico son

compatibles para que se acepten las aproximaciones presentadas.

Podemos observar tambien que el codigo utilizado ofrece buenos resultados en cuanto

a tiempo y trabajo computacional.

Aunque las simulaciones presentadas no son comparadas con derrames reales, debido

a que no se cuenta con datos confiables de corrientes, vientos, difusion, o derrames en los sitios

donde pueda tener aplicacion este trabajo, lo que podria llegar hacer una gran desventaja en

el mismo; pensamos que puede llegar a ser una valiosa herramienta teorica para el trabajo

futuro de otros, ampliandolo o mejorandolo y porque no pensar en que puede llegar a ser

utilizada satisfactoriamente cuando se presente una situacion real.

27

4 Consideraciones finales

Cabe reflexionar sobre las contribuciones que tuvo la realizacion de este trabajo y

las que puede tener para trabajos futuros de otros:

El codigo numerico utilizado es una adaptacion del codigo original disenado por Diniz

(2003) en su trabajo titulado “Dispersao de poluentes num sistema ar-agua; modelagem,

aproximacao e aplicacoes”.

Tenemos conciencia de las limitaciones o de la descontextualizacion de la aplicacion

que puede tener este trabajo, pero pensamos en que puede ser mas una base teorica para

nuevos desafios futuros, tales como:

- Usar otro metodo para la aproximacion de la solucion de la ecuacion como la

tecnica de Streamline Upwind/Petrov–Galerkin, tambien llamada SUPG.

- Realizacion de un analisis criticamente comparativo entre diferentes metodos.

- Inclusion de datos confiables que sirvan para la simulacion y calibracion del modelo

o insercion de parametros experimentales.

- Consideracion de otros dominios con otras condiciones de frontera, otros escenarios

y otros tipos de contaminantes.

- Profundizacion en estudios de analisis funcional y/o analisis numerico.

28

Bibliografıa

Bassanezi, R. C. (2002). Ensino–aprendizagem com modelagem matematica. Ed. Contexto,

S. Paulo.

Brener, S. C. y Scott, L. R. (1994). The Mathematical Theory of Finite Elements Methods.

Springer, N. York.

Bressan, A. (2000). Hyperbolic Systems of Conservation Laws, volume 20 de Oxford Lecture

Series in Mathematics and its Applications. Oxford University Press, Oxford.

Brooks, A. N. y Hughes, T. J. R. (1982). Streamline upwind/Petrov-Galerkin formulations

for convection dominated flows with particular emphasis on incompressible Navier-Stokes

equations. Computer Methods in Applied Mechanics and Engineering, 32:199–259.

Christie, I., Griffiths, D., Mitchell, A. R., y Zienkiewicz, O. C. (1976). Finite elements meth-

ods for second order differential equations with significant first derivatives. International

Journal for Numerical Methods in Engineering, 10:1389–1396.

Ciarlet, P. G. (1987). The finite element for elliptic problems. North-Holland, Amsterdan.

Diniz, G. L. (2003). Dispersao de poluentes em um sistema ar–agua: modelagem, aproxi-

macao e aplicacoes. PhD thesis, Faculdade de Engenharia Eletrica e de Computacao,

UNICAMP, Campinas, Brasil.

Diniz, G. L. y Meyer, J. F. C. A. (2005). Pollutant dispersal on stuary sistem: study and

mathematical modeling. In: Proceedings of the 4th Brazilian Symposium on Mathematical

and Computational Biology, vol. II:333–346.

Edelstein-Keshet, L. (1988). Mathematical Models in Biology. Random-House, N. York.

29

Heinrich, J. C., Huyakorn, P. S., Mitchell, A. R., y Zienkiewicz, O. C. (1977). An upwind

finite elements scheme for two-dimensional convective transport equation. International

Journal for Numerical Methods in Engineering, 11:131–143.

Lions, J. L. (1961). Equations Differentelles Operationelles. Springer.

Marchuk, G. I. (1986). Mathematical models in environmental problems, volume 16 de Studies

in Mathematical and its Applications. North-Holland, Amsterdan.

Mendez, R. M. (2005). Extension de un modelo de difusion de partıculas contaminantes a

superficies esfericas. Master’s thesis, Uniquindıo, Armenia, Quindıo, Colombia.

Meyer, J. F. C. A. (1998). Modelos matematicos de impacto ambiental – uma visao in-

trodutoria. Relatorio de Pesquisa; Instituto de Matematica, Estatıstica e Computacao

Cientıtica, UNICAMP, Campinas, Brasil.

Meyer, J. F. C. A. y Diniz, G. L. (2006). Pollutant dispersion in wetland systems: mathe-

matical modeling and numerical simulation. Ecological Modelling, (Accept – to appear).

Okubo, A. (1980). Diffusion and Ecological Problems: Mathematical Models. Springer,

Berlin.

Showalter, R. E. (1977). Hilbert Space Method for Partial Equations. University of Texas

Press, Austin.

Silva, C., Boia, C., Valente, J., y Borrego, C. (2005). Pesticides in Esteros del Ibera (AR):

evaluation of impacts and proposal of guidelines for water quality protection. Ecological

Modelling, 186(1):85–97.

Simonit, S., Cattaneo, F., y Perrings, C. (2005). Modelling the hydrological externalities

of agriculture in wetlands: the case of rice in Esteros del Ibera, Argentina. Ecological

Modelling, 186(1):123–141.

Weidemaier, P. (1998). Existence results in Lp–Lq spaces for second order parabolic equations

with inhomogeneous Dirichlet boundary conditions, in: Progress in Partial differential

equations, paginas 189–200. Longman, Harlow.

Wikimedia (2006). Green’s identities. in: Webpage of Wikipedia – The Free Encyclopedia,

direccion url: http://en.wikipedia.org/wiki/Green’s identities; aceso en: 22/04/2006.

30

Zingales, F., Marani, A., Rinaldo, A., y Bendoricchio, G. (1984). A conceptual model of

unit-mass response function for nonpoint source pollutant runoff. Ecological Modelling,

26:285–311.

31

Apendice A

Conceptos y definiciones

En este apendice, se presentan algunos conceptos basicos usados en los capıtulos 2

y 3, de manera que faciliten la comprension de las condiciones allı empleadas. Se presentan,

tambien, algunas definiciones cuya terminologa es mas especıfica, o no la hemos dado a lo

largo de los capıtulos.

1 Elemento finito

Se sigue la definicion de Ciarlet de Elemento Finito (Ciarlet, 1987).

Definicion 1.1. Sea

i) K ⊆ Rn un dominio con frontera suave a trozos (el dominio del elemento);

ii) P un espacio finito dimensional de funciones en K (las funciones de forma) y

iii) N = N1, N2, · · · , NK una base para P (las variables nodales).

Entonces (K, P, N) es llamado un elemento finito.

Definicion 1.2. Sea (K, P, N) un elemento finito, y sea φ1, φ2, · · · , φk la base dual para

P en N (Ni (φj) = δij). Esta es llamada la base nodal para P .

32

2 Integracion de Lebesgue

Definicion 2.1. Por dominio entendemos un subconjunto de Rn medible en el sentido de

Lebesgue (usualmente cualquier abierto o cerrado) con el interior no vacio. Restringiremos

nuestra atencion por simplicidad a funciones de valor real, f , en un dominio dado, Ω, esto

es medible en el sentido de Lebesgue; ası:

Ω

f (x) dµ

denotamos la integral de Lebesgue de f (dµ denota la medida de Lebesgue). Para 1 ≤ p < ∞,

sea

‖f‖Lp (Ω) :=

(∫

Ω

|f (x)|p dµ

) 1p

y para el caso p = ∞ sea

‖f‖L∞ (Ω) := ess sup |f (x)| : x ∈ Ω .

En cada caso, definimos el espacio de Lebesgue

Lp (Ω) :=

f : ‖f‖Lp(Ω) < ∞

Para evitar diferencias triviales entre las funciones, identificamos dos funciones, f y

g, que satisfacen ‖f − g‖Lp(Ω) = 0. Por ejemplo, tomemos n = 1, Ω = [−1, 1] y

f (x) :=

1 si x ≥ 0

0 si x < 0

y g (x) :=

1 si x > 0

0 si x ≤ 0

Luego f y g difieren unicamente en un conjunto de medida cero (un punto en este

caso) vemos entonces como representar la misma funcion. Con una pequena ambiguedad de

33

notacion entonces pensamos de Lp (Ω) como un conjunto de clases equivalentes de funciones

con respecto a esta identificacion. Hay algunas desigualdades famosas (y utiles) que se

cumplen para las funcionales definidas arriba.

3 Algunas desigualdades

Desigualdad de Minkowski

Para 1 ≤ p ≤ ∞ y f, g ∈ Lp (Ω), tenemos

‖f + g‖Lp(Ω) ≤ ‖f‖Lp(Ω) + ‖g‖Lp(Ω)

Desigualdad de Holder

Para 1 ≤ p, q ≤ ∞ tal que 1 = 1p+ 1

q, si f ∈ Lp (Ω) y g ∈ Lq (Ω), entonces fg ∈ L1 (Ω)

y

‖fg‖L1(Ω) ≤ ‖f‖Lp(Ω) ‖g‖Lq(Ω)

Desigualdad de Cauchy–Schwarz

Esta es simplemente la desigualdad de Holder en el caso especial p = q = 2, si

f, g ∈ L2 (Ω) entonces fg ∈ L1 (Ω) y∫

Ω

|f (x) g (x)| dµ ≤ ‖f‖L2(Ω) ‖g‖L2(Ω)

En vista de que la Desigualdad de Minkowski y las definiciones de ‖·‖Lp(Ω), el espacio

Lp (Ω) es cerrado sobre combinaciones lineales, esto es un espacio lineal o vectorial. Ademas,

las funcionales ‖·‖Lp(Ω) tienen propiedades que las clasifican como normas.

Definicion 3.1. Dado un espacio lineal (vectorial) V , una norma ‖·‖, es una funcion en

V con valores en los reales no negativos teniendo las siguientes propiedades:

i) ‖v‖ ≥ 0∀ v ∈ V y ‖v‖ = 0 ⇐⇒ v = 0;

ii) ‖c.v‖ = |c| . ‖v‖ ∀ c ∈ R, v ∈ V , y

iii) ‖v + w‖ ≤ ‖v‖+ ‖w‖ ∀ v, w ∈ V (desigualdad triangular).

34

Una norma ‖·‖, puede ser usada para definir una nocion de distancia, o metrica,

d (v, w) = ‖v − w‖ para puntos v, w ∈ V . Un espacio vectorial dotado con la topologıa

inducida por esta metrica es llamado un espacio lineal normado.

Definicion 3.2. Un espacio lineal normado (V, ‖·‖) es llamado un espacio de Banach si

es completo con respecto a la metrica inducida por la norma, ‖·‖.

Teorema 3.1. Para 1 ≤ p ≤ ∞, Lp (Ω) es un espacio de Banach.

Definicion 3.3. Un espacio lineal V junto con un producto interno definido sobre este es

llamado un espacio de producto interno y es denotado por (V, (·, ·)).Los siguientes son ejemplos de espacios de producto interno:

i) V = Rn, (x, y) :=n∑

i=1

xiyi;

ii) V = L2 (Ω) , Ω ⊆ Rn, (u, v)L2(Ω) :=∫

Ωu (x) v (x) dµ;

iii) V = Wk2 (Ω) , Ω ⊆ Rn, (u, v)k :=

∑|α|≤k

(Dαu,Dαv)L2(Ω).

El espacio de producto interno iii) es frecuentemente denotado por Hk (Ω). Ası,

Hk (Ω) = Wk2 (Ω).

Definicion 3.4. Sea (V, (·, ·)) un espacio de producto interno. Si el asociado espacio lineal

normado (V, ‖·‖) es completo, entonces (V, (·, ·)) es llamado un espacio de Hilbert.

Los ejemplos i), ii) y iii) anteriores son todos espacios de Hilbert

Definicion 3.5. Sea

i) Ω ⊆ Rn un conjunto abierto y sea k un entero no negativo. El espacio vectorial de

todas las funciones:

Hk (Ω) =v ∈ L2 (Ω) : La derivada debil Dα(v) exista para todo |α| ≤ k

es llamado un espacio de Sobolev

35

ii) Para u, v ∈ Hk (Ω) sea (u, v)k = (u, v)k,Ω =∑|α|≤k

(Dαu, Dαv)Ω

y ‖u‖k = ‖u‖k,Ω = (u, u)12k,Ω

36

Apendice B

Codigos fuentes

En este apendice, se presentan los codigos numericos usados en la aplicacion del

metodo numerico escogido para las aproximaciones de la solucion del problema. En la

seccion 2), se presenta el codigo llevado a cabo en Mathematicar para la evaluacion de las

integrales dadas por los productos internos que aparecen en la ecuacion (3.3.3) – pg. 19.

1 Codigo fuente para Matlabr

El codigo siguiente se llevo a cabo en la version de Matlabr 6.1.0.450 descargado

12.1 para Windows XPr, en una computadora PC Pentium 4, con 1 GB de memoria RAM,

para obtener las animaciones y simular los escenarios presentados en el capıtulo de resultados

en las paginas 23, 24 y 25. El codigo presentado hace referencia al escenario 1, para los demas

escenarios solo hay que hacer los cambios en los parametros.

1 %

2 % Aproximacion y Simulacion de um Modelo de Dispersion de Contaminantes

3 % en um Dominio Bidimensional en Coordenadas Esfericas

4 %

5 clear all; t0=clock; %format long;

6 %

7 % Parametros del modelo

8 %

9 D = 0.0001; % componente del termino difusivo

10 g = 0.0001; % componente de deriva g

37

11 sg = 0.001; % coeficiente de decaimiento

12 teta = pi/4; % direccion del viento

13 v1 = .008*cos(teta); % componente advectiva en direccion lambda

14 v2 = .008*sin(teta); % componente advectiva en direccion phi

15 k1 = 0.00001; % permeabilidad en Gama 1

16 k2 = 0.00001; % permeabilidad en Gama 2

17 Ce = 0.0001; % concentracion en el medio externo en Gama_2

18 A0 = 0.0001; % concentracion inicial de la fuente

19 de = 0.01; % decaimiento de la fuente

20 %

21 % Parametros del dominio (espacio y tiempo)

22 %

23 lmin=-pi/24; lmax=pi/24; % intervalo en lambda

24 fmin=-pi/24; fmax=pi/24; % intervalo en phi

25 tfinal=40.0; % tiempo final

26 %

27 % Parametros de la discretizacion

28 %

29 nl = 30; % no. de subintervalos em lambda

30 nf = nl; % no. de subintervalos em phi

31 nnl= nl+1; % no. de nodos en la direccion lambda

32 nnf= nf+1; % no. de nodos en la direccion phi

33 npt= 2000; % no. de pasos en el tiempo

34 dl = (lmax-lmin)/nl; % amplitud de subintervalo en direccion lambda

35 df = (fmax-fmin)/nf; % amplitud de subintervalo en direccion phi

36 %

37 % Parametros auxiliares de la discretizacion

38 %

39 dlf=dl*df;

40 dldf=dl/df;

41 dfdl=df/dl;

42 dt=tfinal/npt;

43 mdt=dt/2;

44 ntr=2*nl*nf; % total de triangulos

45 ntf=2*nf; % no. de triangulos en la direccion phi

46 nn = nnl*nnf; % no. total de nodos

47 %

48 % Calculo del No. de Peclet

49 %

50 npec = [abs(v1*dl/D);abs(v2*df/D)];

51 %

52 % Montaje de la malla de los elementos finitos

53 %

54 k=0;

55 for i=1:nl;

38

56 for j=1:nf;

57 k=k+1;

58 ind = (i-1)*nnf + j;

59 malla(k,1)=ind;

60 malla(k,2)=ind+nnf;

61 malla(k,3)=ind+1;

62 k=k+1;

63 malla(k,1)=ind+nnf+1;

64 malla(k,2)=ind+1;

65 malla(k,3)=ind+nnf;

66 end;

67 end;

68 %

69 % Montaje de la malla de coordenadas de los nodos

70 %

71 k=0;

72 for i=1:nnl

73 l = lmin + (i-1)*dl;

74 for j = 1:nnf

75 f = fmin + (j-1)*df;

76 k = k + 1;

77 coord(k,1) = l;

78 coord(k,2) = f;

79 end;

80 end;

81 %

82 % Condicion inicial

83 %

84 u0 = zeros(nn,1);

85 tfue1 = ntf*(nl+1)/2;

86 for iel=tfue1:tfue1+1

87 for il=1:3

88 ig=malla(iel,il);

89 u0(ig) = 0.0001;

90 end;

91 end;

92 mm = max(u0);

93 %

94 % Submatrices de Rigidez

95 %

96 % (fi-j)*(fi-i)

97 %

98 m = (dlf/24)*[2 1 1; 1 2 1; 1 1 2];

99 %

100 % Submatrices (grad Fi_j : grad Fi_i) inferiores y superiores

39

101 %

102 n11 = (1/dlf)*[1 0 0;0 1 0;0 0 0];

103 %

104 n12 = (1/dlf)*[0 1 0;1 0 0;0 0 0];

105 %

106 n2 = (dl/(2*df))*[1 0 -1;0 0 0;-1 0 1];

107 %

108 % [(dfi-j/dl)*fi-i] e [(dfi-j/df)*fi-i]

109 % para los triangulos inferiores y superiores

110 %

111 p = (df/16)*[-1 1 0];

112 %

113 % vectores auxiliares para la cuadratura de Gauss

114 %

115 x = [0.8611363116 0.3399810436 -0.3399810436 -0.8611363116];

116 w = [0.3478548451 0.6521451549 0.6521451549 0.3478548451];

117 %

118 qi = (dl/6)*[-1 0 1];

119 qs = (dl/6)*[ 1 0 -1];

120 %

121 % Termino de entrada (por deriva) en la frontera abajo

122 %

123 % < g | fi-i > (en Gama-1)

124 %

125 si = dl/2*[1; 1; 0];

126 %

127 % Flujo en la frontera < fi-j | fi-i > (en Gama-2)

128 %

129 rs = (df/6)*[2 1;1 2];

130 %

131 % Flujo en la frontera < Ce | fi-i > (en Gama-2)

132 %

133 ts = df/2*[1;0;1];

134 %

135 % Submatriz para el termino fuente

136 %

137 u = dl*df/6*[ 1;1;1];

138 %

139 % Calculo de los parametros que no dependen de las coordenadas

140 %

141 cm = mdt*sg; % parte del coef. en (fi-j | fi-i)

142 cn = mdt*D; % coef. en (grad fi-j | grad fi-i) tri.inf.

143 cp = mdt*v1; % coef. V-1 dt/2 en (dfi-j/dx | fi-i)

144 cq = v2*mdt; % coef. V-2 dt/2 en (dfi-j/dy | fi-i)

145 cr = k2*mdt; % coef. k_2 dt/2 en <fi_j | fi-i> (Gama-2)

40

146 cs = k1*g*dt; % coef. g dt en <g | fi-i>

147 ct = k2*Ce*dt; % coef. Ce dt en <Ce| fi-i>

148 cu = A0*dt; % coef. A0 dt en ( f| fi-i)

149 %

150 % Montaje de las matrices del sistema

151 %

152 A = sparse(nn,nn);

153 B = sparse(nn,nn);

154 d = zeros(nn,1);

155 %

156 for iel=1:ntr;

157 itr = mod(iel,ntf);

158 if itr~=0

159 f1 = fix((itr-1)/2)*df;

160 f2 = f1+df;

161 else

162 f1 = (nf-1)*df;

163 f2 = nf*df;

164 end;

165 for il=1:3

166 ig=malla(iel,il);

167 for jl=1:3;

168 if il~=3

169 jg=malla(iel,jl);

170 if mod(iel,2)==1

171 A(ig,jg)=A(ig,jg)+(1+cm)*m(il,jl)+cn*((log(cos(f1)/cos(f2))...

172 +(f1-f2)*tan(f1))*n11(il,jl)...

173 +(log(cos(f2)/cos(f1))+df*tan(f1))*n12(il,jl)+n2(il,jl))...

174 +cp*p(jl)*(((1-x).*(1-x).*sec(df/2*(1+x)+f1))*w’)+cq*qi(jl);

175 B(ig,jg)=B(ig,jg)+(1-cm)*m(il,jl)-cn*((log(cos(f1)/cos(f2))...

176 +(f1-f2)*tan(f1))*n11(il,jl)...

177 +(log(cos(f2)/cos(f1))+df*tan(f1))*n12(il,jl)+n2(il,jl))...

178 -cp*p(jl)*(((1-x).*(1-x).*sec(df/2*(1+x)+f1))*w’)-cq*qi(jl);

179 else

180 A(ig,jg)=A(ig,jg)+(1+cm)*m(il,jl)+cn*((log(cos(f1)/cos(f2))...

181 +(f1-f2)*tan(f2))*n12(il,jl)...

182 +(log(cos(f2)/cos(f1))+df*tan(f2))*n11(il,jl)+n2(il,jl))...

183 -cp*p(jl)*(((1+x).*(1+x).*sec(df/2*(1+x)+f1))*w’)+cq*qs(jl);

184 B(ig,jg)=B(ig,jg)+(1-cm)*m(il,jl)-cn*((log(cos(f1)/cos(f2))...

185 +(f1-f2)*tan(f2))*n12(il,jl)...

186 +(log(cos(f2)/cos(f1))+df*tan(f2))*n11(il,jl)+n2(il,jl))...

187 +cp*p(jl)*(((1+x).*(1+x).*sec(df/2*(1+x)+f1))*w’)-cq*qs(jl);

188 end;

189 else

190 jg=malla(iel,jl);

41

191 if mod(iel,2)==1

192 A(ig,jg)=A(ig,jg)+(1+cm)*m(il,jl)+cn*((log(cos(f1)/cos(f2))...

193 +(f1-f2)*tan(f1))*n11(il,jl)...

194 +(log(cos(f2)/cos(f1))+df*tan(f1))*n12(il,jl)+n2(il,jl))...

195 +2*cp*p(jl)*(((1-x).*(1+x).*sec(df/2*(1+x)+f1))*w’)+cq*qi(jl);

196 B(ig,jg)=B(ig,jg)+(1-cm)*m(il,jl)-cn*((log(cos(f1)/cos(f2))...

197 +(f1-f2)*tan(f1))*n11(il,jl)...

198 +(log(cos(f2)/cos(f1))+df*tan(f1))*n12(il,jl)+n2(il,jl))...

199 -2*cp*p(jl)*(((1-x).*(1+x).*sec(df/2*(1+x)+f1))*w’)-cq*qi(jl);

200 else

201 A(ig,jg)=A(ig,jg)+(1+cm)*m(il,jl)+cn*((log(cos(f1)/cos(f2))...

202 +(f1-f2)*tan(f2))*n12(il,jl)...

203 +(log(cos(f2)/cos(f1))+df*tan(f2))*n11(il,jl)+n2(il,jl))...

204 -2*cp*p(jl)*(((1-x).*(1+x).*sec(df/2*(1+x)+f1))*w’)+cq*qs(jl);

205 B(ig,jg)=B(ig,jg)+(1-cm)*m(il,jl)-cn*((log(cos(f1)/cos(f2))...

206 +(f1-f2)*tan(f2))*n12(il,jl)...

207 +(log(cos(f2)/cos(f1))+df*tan(f2))*n11(il,jl)+n2(il,jl))...

208 +2*cp*p(jl)*(((1-x).*(1+x).*sec(df/2*(1+x)+f1))*w’)-cq*qs(jl);

209 end;

210 end;

211 end;

212 end;

213 end;

214 end;

215 %

216 % Inclusion del termino en la frontera Gama 2

217 %

218 for iel=ntf*(nl-1)+1:2:ntf*nl;

219 for il=1:2

220 ig=malla(iel,il);

221 for jl=1:2;

222 jg=malla(iel,jl);

223 A(ig,jg)=A(ig,jg)+cr*rs(il,jl);

224 B(ig,jg)=B(ig,jg)-cr*rs(il,jl);

225 end

226 end;

227 end

228 end;

229 end;

230 %

231 % Inclusion del termino independiente relativo a Gama 1

232 %

233 for iel=1:ntf:ntf*(nl-1)

234 for il=1:3

235 ig=malla(iel,il);

42

236 d(ig) = d(ig) + cs*si(il);

237 end;

238 end;

239 %

240 % Inclusion del termino independiente relativo a Gama 2

241 %

242 for iel=ntf*(nl-1)+1:2:ntf*nl;

243 for il=1:2

244 ig=malla(iel,il);

245 d(ig) = d(ig) + ct*ts(il);

246 end;

247 end;

248 %

249 % Inclusion de la fuente en el termino independiente

250 %

251 tfue1 = ntf*(nl+1)/2;

252 for iel=tfue1:tfue1+1

253 for il=1:3

254 ig=malla(iel,il);

255 d(ig) = cu*u(il);

256 end;

257 end;

258 %r = rcond(full(A));

259 %

260 % Fatorizacion L U de la matriz de rigidez

261 %

262 [ll uu] = lu(A);

263 %

264 % Abertura de la ventana y del archivo para montaje de la animacion

265 % abriendo la ventana para graficar

266 %

267 fig=figure;

268 set(fig,’DoubleBuffer’,’on’);

269 set(gca,’xlim’,[-80 80],’ylim’,[-80 80],’NextPlot’,’replace’,’Visible’,’off’)

270 mov = avifile(’sim_cf3.avi’)

271 trisurf(malla,coord(:,1),coord(:,2),u0),title(’Escenario 1’),shading interp,...

272 axis([lmin lmax fmin fmax 0 mm]);

273 F = getframe(gca);

274 mov = addframe(mov,F);

275 %

276 % Solucion de los sistemas sucesivos

277 %

278 nosep1(1) = u0(nnl*nnf);

279 nosep2(1) = u0(1);

280 nosep3(1) = u0(nl*nf/2);

43

281 nosep4(1) = u0(nf/2);

282 t = 0;

283 for it = 1:npt

284 ys = ll\(B*u0+d);

285 s = uu\ys;

286 nosep1(it+1) = u0(nnl*nnf);

287 nosep2(it+1) = u0(1);

288 nosep3(it+1) = u0(nl*nf/2);

289 nosep4(it+1) = u0(nf/2);

290 t = t + dt;

291 for iel=tfue1:tfue1+1

292 for il=1:3

293 ig=malla(iel,il);

294 d(ig) = cu*u(il)*exp(-de*t);

295 end;

296 end;

297 if mod(it,5)==1

298 %

299 % Haciendo el grafico de la aproximacion

300 %

301 trisurf(malla,coord(:,1),coord(:,2),s),title(’Escenario 1’),shading interp,...

302 axis([lmin lmax fmin fmax 0 mm]);

303 F = getframe(gca);

304 mov = addframe(mov,F);

305 end

306 u0=s;

307 end;

308 subplot(2,2,1)

309 plot(nosep2),title(’Node 1’),ylabel(’Concentration’),grid on;

310 subplot(2,2,2)

311 plot(nosep4),title(’Node 25’),ylabel(’Concentration’),grid on;

312 subplot(2,2,3)

313 plot(nosep3),title(’Node 750’),ylabel(’Concentration’),grid on;

314 subplot(2,2,4)

315 plot(nosep1),title(’Last Node’),ylabel(’Concentration’),grid on;

316 mov = close(mov);

317 etime(clock,t0)

2 Codigo fuente para Mathematicar

El siguiente es el programa usado para evaluar las integrales obtenidas en los pro-

ductos internos que se presentan en la ecuacion (3.3.3) sobre los elementos finitos, es decir,

44

las integrales evaluadas sobre las funciones de base y de prueba para el sistema discretizado

presentado por (3.3.3), en la pagina 19.

2.1 Programas para los triangulos inferiores

Programa para las integrales del producto interno

(ϕj

∣∣∣∣ϕi

)en los triangulos inferi-

ores:

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[G11,G12,G13,G21,G22,G23,G31,G32,G33];

3 ClearAll[G111,G112,G113,G121,G122,G123,G131,G132,G133];

4 ClaerAll[H111,H112,H113,H121,H122,H123,H131,H132,H133];

5

6 F1[\[Lambda]_,\[Phi]_]=1-\[Lambda]/d\[Lambda]-\[Phi]/d\[Phi];

7 F2[\[Lambda]_,\[Phi]_]=\[Lambda]/d\[Lambda];

8 F3[\[Lambda]_,\[Phi]_]=\[Phi]/d\[Phi];

9

10 \[Lambda]min=0;

11 \[Lambda]max=d\[Lambda];

12 \[Phi]min=0;

13 \[Phi]max=-(d\[Phi]/d\[Lambda]) (\[Lambda]-d\[Lambda]);

14

15 G11[\[Lambda]_,\[Phi]_]=

16 Integrate[F1[\[Lambda],\[Phi]] F1[\[Lambda],\[Phi]], \[Phi]];

17 G111[\[Lambda]_]=G11[\[Lambda],\[Phi]max]-G11[\[Lambda],\[Phi]min];

18 H111[\[Lambda]_]=Integrate[G111[\[Lambda]],\[Lambda]];

19 FI111=Simplify[H111[\[Lambda]max]-H111[\[Lambda]min]];

20

21 G12[\[Lambda]_,\[Phi]_]=

22 Integrate[F1[\[Lambda],\[Phi]] F2[\[Lambda],\[Phi]], \[Phi]];

23 G112[\[Lambda]_]=G12[\[Lambda],\[Phi]max]-G12[\[Lambda],\[Phi]min];

24 H112[\[Lambda]_]=Integrate[G112[\[Lambda]],\[Lambda]];

25 FI112=Simplify[H112[\[Lambda]max]-H112[\[Lambda]min]];

26

27 G13[\[Lambda]_,\[Phi]_]=

28 Integrate[F1[\[Lambda],\[Phi]] F3[\[Lambda],\[Phi]], \[Phi]];

29 G113[\[Lambda]_]=G13[\[Lambda],\[Phi]max]-G13[\[Lambda],\[Phi]min];

30 H113[\[Lambda]_]=Integrate[G113[\[Lambda]],\[Lambda]];

31 FI113=Simplify[H113[\[Lambda]max]-H113[\[Lambda]min]];

32

33 G21[\[Lambda]_,\[Phi]_]=

34 Integrate[F2[\[Lambda],\[Phi]] F1[\[Lambda],\[Phi]], \[Phi]];

35 G121[\[Lambda]_]=G21[\[Lambda],\[Phi]max]-G21[\[Lambda],\[Phi]min];

45

36 H121[\[Lambda]_]=Integrate[G121[\[Lambda]],\[Lambda]];

37 FI121=Simplify[H121[\[Lambda]max]-H121[\[Lambda]min]];

38

39 G22[\[Lambda]_,\[Phi]_]=

40 Integrate[F2[\[Lambda],\[Phi]] F2[\[Lambda],\[Phi]], \[Phi]];

41 G122[\[Lambda]_]=G22[\[Lambda],\[Phi]max]-G22[\[Lambda],\[Phi]min];

42 H122[\[Lambda]_]=Integrate[G122[\[Lambda]],\[Lambda]];

43 FI122=Simplify[H122[\[Lambda]max]-H122[\[Lambda]min]];

44

45 G23[\[Lambda]_,\[Phi]_]=

46 Integrate[F2[\[Lambda],\[Phi]] F3[\[Lambda],\[Phi]], \[Phi]];

47 G123[\[Lambda]_]=G23[\[Lambda],\[Phi]max]-G23[\[Lambda],\[Phi]min];

48 H123[\[Lambda]_]=Integrate[G123[\[Lambda]],\[Lambda]];

49 FI123=Simplify[H123[\[Lambda]max]-H123[\[Lambda]min]];

50

51 G31[\[Lambda]_,\[Phi]_]=

52 Integrate[F3[\[Lambda],\[Phi]] F1[\[Lambda],\[Phi]], \[Phi]];

53 G131[\[Lambda]_]=G31[\[Lambda],\[Phi]max]-G31[\[Lambda],\[Phi]min];

54 H131[\[Lambda]_]=Integrate[G131[\[Lambda]],\[Lambda]];

55 FI131=Simplify[H131[\[Lambda]max]-H131[\[Lambda]min]];

56

57 G32[\[Lambda]_,\[Phi]_]=

58 Integrate[F3[\[Lambda],\[Phi]] F2[\[Lambda],\[Phi]], \[Phi]];

59 G132[\[Lambda]_]=G32[\[Lambda],\[Phi]max]-G32[\[Lambda],\[Phi]min];

60 H132[\[Lambda]_]=Integrate[G132[\[Lambda]],\[Lambda]];

61 FI132=Simplify[H132[\[Lambda]max]-H132[\[Lambda]min]];

62

63 G33[\[Lambda]_,\[Phi]_]=

64 Integrate[F3[\[Lambda],\[Phi]] F3[\[Lambda],\[Phi]], \[Phi]];

65 G133[\[Lambda]_]=G33[\[Lambda],\[Phi]max]-G33[\[Lambda],\[Phi]min];

66 H133[\[Lambda]_]=Integrate[G133[\[Lambda]],\[Lambda]];

67 FI133=Simplify[H133[\[Lambda]max]-H133[\[Lambda]min]];

68

69 TRID1=FI111,FI112,FI113;

70 TRID2=FI121,FI122,FI123;

71 TRID3=FI131,FI132,FI133;

72 Mat1=MatrixForm[Transpose[TRID1,TRID2,TRID3]]

Programa para las integrales del producto interno

(1

cos2 φ

∂ϕj

∂λ

∣∣∣∣∂ϕi

∂λ

)en los triangulos

inferiores:

1 ClearAll[G11,G12,G13,G21,G22,G23,G31,G32,G33];

2 ClearAll[GI11,GI12,GI13,GI21,GI22,GI23,GI31,GI32,GI33];

3 ClearAll[H11,H12,H13,H21,H22,H23,H31,H32,H33];

4 ClearALL[FI11,FI12,FI13,FI21,FI22,FI23,FI31,FI32,FI33];

46

5 ClearALL[DF1\[Lambda],DF2\[Lambda],DF3\[Lambda]];

6 ClearAll[\[Phi]min,\[Phi]max,\[Lambda]min,\[Lambda]max,TRID1,TRID2,TRID3,

7 Mat1];

8

9 DF1\[Phi][\[Lambda]_,\[Phi]_]=

10 D[1-(\[Lambda]-\[Lambda]i)/d\[Lambda]-(\[Phi]-\[Phi]i)/

11 d\[Phi],\[Lambda]];

12 DF2\[Phi][\[Lambda]_,\[Phi]_]=D[(\[Lambda]-\[Lambda]i)/d\[Lambda],\[Lambda]];

13 DF3\[Phi][\[Lambda]_,\[Phi]_]=D[(\[Phi]-\[Phi]i)/d\[Phi],\[Lambda]];

14

15 \[Lambda]min=\[Lambda]i;

16 \[Lambda]max=\[Lambda]i+d\[Lambda];

17 \[Phi]min=\[Phi]i;

18 \[Phi]max=\[Phi]i-(d\[Phi]/d\[Lambda]) (\[Lambda]-\[Lambda]i-d\[Lambda]);

19

20 G11[\[Lambda]_,\[Phi]_]=

21 Integrate[

22 1/(Cos[\[Phi]])^2*DF1\[Lambda][\[Lambda],\[Phi]]*

23 DF1\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

24 GI11[\[Lambda]_]=G11[\[Lambda],\[Phi]max]-G11[\[Lambda],\[Phi]min];

25 H11[\[Lambda]_]=Integrate[GI11[\[Lambda]],\[Lambda]];

26 FI11=Simplify[H11[\[Lambda]max]-H11[\[Lambda]min]];

27

28 G12[\[Lambda]_,\[Phi]_]=

29 Integrate[

30 1/(Cos[\[Phi]])^2*DF1\[Lambda][\[Lambda],\[Phi]]*

31 DF2\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

32 GI12[\[Lambda]_]=G12[\[Lambda],\[Phi]max]-G12[\[Lambda],\[Phi]min];

33 H12[\[Lambda]_]=Integrate[GI12[\[Lambda]],\[Lambda]];

34 FI12=Simplify[H12[\[Lambda]max]-H12[\[Lambda]min]];

35

36 G13[\[Lambda]_,\[Phi]_]=

37 Integrate[

38 1/(Cos[\[Phi]])^2*DF1\[Lambda][\[Lambda],\[Phi]]*

39 DF3\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

40 GI13[\[Lambda]_]=G13[\[Lambda],\[Phi]max]-G13[\[Lambda],\[Phi]min];

41 H13[\[Lambda]_]=Integrate[GI13[\[Lambda]],\[Lambda]];

42 FI13=Simplify[H13[\[Lambda]max]-H13[\[Lambda]min]];

43

44 G21[\[Lambda]_,\[Phi]_]=

45 Integrate[

46 1/(Cos[\[Phi]])^2*DF2\[Lambda][\[Lambda],\[Phi]]*

47 DF1\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

48 GI21[\[Lambda]_]=G21[\[Lambda],\[Phi]max]-G21[\[Lambda],\[Phi]min];

49 H21[\[Lambda]_]=Integrate[GI21[\[Lambda]],\[Lambda]];

47

50 FI21=Simplify[H21[\[Lambda]max]-H21[\[Lambda]min]];

51

52 G22[\[Lambda]_,\[Phi]_]=

53 Integrate[

54 1/(Cos[\[Phi]])^2*DF2\[Lambda][\[Lambda],\[Phi]]*

55 DF2\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

56 GI22[\[Lambda]_]=G22[\[Lambda],\[Phi]max]-G22[\[Lambda],\[Phi]min];

57 H22[\[Lambda]_]=Integrate[GI22[\[Lambda]],\[Lambda]];

58 FI22=Simplify[H22[\[Lambda]max]-H22[\[Lambda]min]];

59

60 G23[\[Lambda]_,\[Phi]_]=

61 Integrate[

62 1/(Cos[\[Phi]])^2*DF2\[Lambda][\[Lambda],\[Phi]]*

63 DF3\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

64 GI23[\[Lambda]_]=G23[\[Lambda],\[Phi]max]-G23[\[Lambda],\[Phi]min];

65 H23[\[Lambda]_]=Integrate[GI23[\[Lambda]],\[Lambda]];

66 FI23=Simplify[H23[\[Lambda]max]-H23[\[Lambda]min]];

67

68 G31[\[Lambda]_,\[Phi]_]=

69 Integrate[

70 1/(Cos[\[Phi]])^2*DF3\[Lambda][\[Lambda],\[Phi]]*

71 DF1\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

72 GI31[\[Lambda]_]=G31[\[Lambda],\[Phi]max]-G31[\[Lambda],\[Phi]min];

73 H31[\[Lambda]_]=Integrate[GI31[\[Lambda]],\[Lambda]];

74 FI31=Simplify[H31[\[Lambda]max]-H31[\[Lambda]min]];

75

76 G32[\[Lambda]_,\[Phi]_]=

77 Integrate[

78 1/(Cos[\[Phi]])^2*DF3\[Lambda][\[Lambda],\[Phi]]*

79 DF2\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

80 GI32[\[Lambda]_]=G32[\[Lambda],\[Phi]max]-G32[\[Lambda],\[Phi]min];

81 H32[\[Lambda]_]=Integrate[GI32[\[Lambda]],\[Lambda]];

82 FI32=Simplify[H32[\[Lambda]max]-H32[\[Lambda]min]];

83

84 G33[\[Lambda]_,\[Phi]_]=

85 Integrate[

86 1/(Cos[\[Phi]])^2*DF3\[Lambda][\[Lambda],\[Phi]]*

87 DF3\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

88 GI33[\[Lambda]_]=G33[\[Lambda],\[Phi]max]-G33[\[Lambda],\[Phi]min];

89 H33[\[Lambda]_]=Integrate[GI33[\[Lambda]],\[Lambda]];

90 FI33=Simplify[H33[\[Lambda]max]-H33[\[Lambda]min]];

91

92 TRID1=FI11,FI12,FI13;

93 TRID2=FI21,FI22,FI23;

94 TRID3=FI31,FI32,FI33;

48

95 Mat1=MatrixForm[Transpose[TRID1,TRID2,TRID3]]

96 Null

Programa para las integrales del producto interno

(∂ϕj

∂λ

∣∣∣∣∂ϕi

∂φ

)en los triangulos

inferiores:

1 ClearAll[G11,G12,G13,G21,G22,G23,G31,G32,G33];

2 ClearAll[GI11,GI12,GI13,GI21,GI22,GI23,GI31,GI32,GI33];

3 ClearAll[H11,H12,H13,H21,H22,H23,H31,H32,H33];

4 ClearALL[FI11,FI12,FI13,FI21,FI22,FI23,FI31,FI32,FI33];

5 ClearALL[DF1\[Phi],DF2\[Phi],DF3\[Phi]];

6 ClearAll[\[Phi]min,\[Phi]max,\[Lambda]min,\[Lambda]max,TRID1,TRID2,TRID3,

7 Mat1];

8

9 DF1\[Phi][\[Lambda]_,\[Phi]_]=

10 D[1-(\[Lambda]-\[Lambda]i)/d\[Lambda]-(\[Phi]-\[Phi]i)/d\[Phi],\[Phi]];

11 DF2\[Phi][\[Lambda]_,\[Phi]_]=D[(\[Lambda]-\[Lambda]i)/d\[Lambda],\[Phi]];

12 DF3\[Phi][\[Lambda]_,\[Phi]_]=D[(\[Phi]-\[Phi]i)/d\[Phi],\[Phi]];

13

14 \[Lambda]min=\[Lambda]i;

15 \[Lambda]max=\[Lambda]i+d\[Lambda];

16 \[Phi]min=\[Phi]i;

17 \[Phi]max=\[Phi]i-(d\[Phi]/d\[Lambda]) (\[Lambda]-\[Lambda]i-d\[Lambda]);

18

19 G11[\[Lambda]_,\[Phi]_]=

20 Integrate[

21 DF1\[Phi][\[Lambda],\[Phi]]*DF1\[Phi][\[Lambda],\[Phi]] , \[Phi]];

22 GI11[\[Lambda]_]=G11[\[Lambda],\[Phi]max]-G11[\[Lambda],\[Phi]min];

23 H11[\[Lambda]_]=Integrate[GI11[\[Lambda]],\[Lambda]];

24 FI11=Simplify[H11[\[Lambda]max]-H11[\[Lambda]min]];

25

26 G12[\[Lambda]_,\[Phi]_]=

27 Integrate[

28 DF1\[Phi][\[Lambda],\[Phi]]*DF2\[Phi][\[Lambda],\[Phi]] , \[Phi]];

29 GI12[\[Lambda]_]=G12[\[Lambda],\[Phi]max]-G12[\[Lambda],\[Phi]min];

30 H12[\[Lambda]_]=Integrate[GI12[\[Lambda]],\[Lambda]];

31 FI12=Simplify[H12[\[Lambda]max]-H12[\[Lambda]min]];

32

33 G13[\[Lambda]_,\[Phi]_]=

34 Integrate[

35 DF1\[Phi][\[Lambda],\[Phi]]*DF3\[Phi][\[Lambda],\[Phi]] , \[Phi]];

36 GI13[\[Lambda]_]=G13[\[Lambda],\[Phi]max]-G13[\[Lambda],\[Phi]min];

37 H13[\[Lambda]_]=Integrate[GI13[\[Lambda]],\[Lambda]];

38 FI13=Simplify[H13[\[Lambda]max]-H13[\[Lambda]min]];

39

49

40 G21[\[Lambda]_,\[Phi]_]=

41 Integrate[

42 DF2\[Phi][\[Lambda],\[Phi]]*DF1\[Phi][\[Lambda],\[Phi]] , \[Phi]];

43 GI21[\[Lambda]_]=G21[\[Lambda],\[Phi]max]-G21[\[Lambda],\[Phi]min];

44 H21[\[Lambda]_]=Integrate[GI21[\[Lambda]],\[Lambda]];

45 FI21=Simplify[H21[\[Lambda]max]-H21[\[Lambda]min]];

46

47 G22[\[Lambda]_,\[Phi]_]=

48 Integrate[

49 DF2\[Phi][\[Lambda],\[Phi]]*DF2\[Phi][\[Lambda],\[Phi]] , \[Phi]];

50 GI22[\[Lambda]_]=G22[\[Lambda],\[Phi]max]-G22[\[Lambda],\[Phi]min];

51 H22[\[Lambda]_]=Integrate[GI22[\[Lambda]],\[Lambda]];

52 FI22=Simplify[H22[\[Lambda]max]-H22[\[Lambda]min]];

53

54 G23[\[Lambda]_,\[Phi]_]=

55 Integrate[

56 DF2\[Phi][\[Lambda],\[Phi]]*DF3\[Phi][\[Lambda],\[Phi]] , \[Phi]];

57 GI23[\[Lambda]_]=G23[\[Lambda],\[Phi]max]-G23[\[Lambda],\[Phi]min];

58 H23[\[Lambda]_]=Integrate[GI23[\[Lambda]],\[Lambda]];

59 FI23=Simplify[H23[\[Lambda]max]-H23[\[Lambda]min]];

60

61 G31[\[Lambda]_,\[Phi]_]=

62 Integrate[

63 DF3\[Phi][\[Lambda],\[Phi]]*DF1\[Phi][\[Lambda],\[Phi]] , \[Phi]];

64 GI31[\[Lambda]_]=G31[\[Lambda],\[Phi]max]-G31[\[Lambda],\[Phi]min];

65 H31[\[Lambda]_]=Integrate[GI31[\[Lambda]],\[Lambda]];

66 FI31=Simplify[H31[\[Lambda]max]-H31[\[Lambda]min]];

67

68 G32[\[Lambda]_,\[Phi]_]=

69 Integrate[

70 DF3\[Phi][\[Lambda],\[Phi]]*DF2\[Phi][\[Lambda],\[Phi]] , \[Phi]];

71 GI32[\[Lambda]_]=G32[\[Lambda],\[Phi]max]-G32[\[Lambda],\[Phi]min];

72 H32[\[Lambda]_]=Integrate[GI32[\[Lambda]],\[Lambda]];

73 FI32=Simplify[H32[\[Lambda]max]-H32[\[Lambda]min]];

74

75 G33[\[Lambda]_,\[Phi]_]=

76 Integrate[

77 DF3\[Phi][\[Lambda],\[Phi]]*DF3\[Phi][\[Lambda],\[Phi]] , \[Phi]];

78 GI33[\[Lambda]_]=G33[\[Lambda],\[Phi]max]-G33[\[Lambda],\[Phi]min];

79 H33[\[Lambda]_]=Integrate[GI33[\[Lambda]],\[Lambda]];

80 FI33=Simplify[H33[\[Lambda]max]-H33[\[Lambda]min]];

81

82 TRID1=FI11,FI12,FI13;

83 TRID2=FI21,FI22,FI23;

84 TRID3=FI31,FI32,FI33;

50

85 Mat1=MatrixForm[Transpose[TRID1,TRID2,TRID3]]

86 Null

Programa para las integrales del producto interno

(1

cos φ

∂ϕj

∂λ

∣∣∣∣ϕi

)en los triangulos

inferiores:

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[DF1\[Lambda],DF2\[Lambda],DF3\[Lambda]];

3 ClearAll[G11,G12,G13,G21,G22,G23,G31,G32,G33];

4 ClearAll[G111,G112,G113,G121,G122,G123,G131,G132,G133];

5 ClaerAll[H111,H112,H113,H121,H122,H123,H131,H132,H133];

6

7 F1[\[Lambda],\[Phi]]=

8 1-(\[Lambda]-\[Lambda]i)/\[CapitalDelta]\[Lambda]-(\[Phi]-\[Phi]i)/\

9 \[CapitalDelta]\[Phi];

10 F2[\[Lambda],\[Phi]]=(\[Lambda]-\[Lambda]i)/\[CapitalDelta]\[Lambda];

11 F3[\[Lambda],\[Phi]]=(\[Phi]-\[Phi]i)/\[CapitalDelta]\[Phi];

12

13 \[Lambda]min= \[Lambda]i;

14 \[Lambda]max=\[Lambda]i+\[CapitalDelta]\[Lambda]-(\[CapitalDelta]\[Lambda]/\

15 \[CapitalDelta]\[Phi])(\[Phi]-\[Phi]i);

16 \[Phi]min=\[Phi]i;

17 \[Phi]max=\[Phi]i+\[CapitalDelta]\[Phi];

18

19 DF1\[Lambda]=D[F1[\[Lambda],\[Phi]],\[Lambda]];

20 DF2\[Lambda]=D[F2[\[Lambda],\[Phi]],\[Lambda]];

21 DF3\[Lambda]=D[F3[\[Lambda],\[Phi]],\[Lambda]];

22

23 G11[\[Lambda]_,\[Phi]_]=

24 Integrate[Sec[\[Phi]]DF1\[Lambda] F1[\[Lambda],\[Phi]],\[Lambda]];

25 G111[\[Phi]_]=Simplify[G11[\[Lambda]max,\[Phi]]-G11[\[Lambda]min,\[Phi]]];

26 H111[\[Phi]_]=Simplify[Integrate[G111[\[Phi]],\[Phi]]];

27

28 G12[\[Lambda]_,\[Phi]_]=

29 Integrate[Sec[\[Phi]]DF2\[Lambda] F1[\[Lambda],\[Phi]],\[Lambda]];

30 G112[\[Phi]_]=Simplify[G12[\[Lambda]max,\[Phi]]-G12[\[Lambda]min,\[Phi]]];

31 H112[\[Phi]_]=Simplify[Integrate[G112[\[Phi]],\[Phi]]];

32

33 G13[\[Lambda]_,\[Phi]_]=

34 Integrate[Sec[\[Phi]]DF3\[Lambda] F1[\[Lambda],\[Phi]], \[Lambda]];

35 G113[\[Phi]_]=Simplify[G13[\[Lambda]max,\[Phi]]-G13[\[Lambda]min,\[Phi]]];

36 H113[\[Phi]_]=Simplify[Integrate[G113[\[Phi]],\[Phi]]];

37

38 G21[\[Lambda]_,\[Phi]_]=

39 Integrate[Sec[\[Phi]]DF1\[Lambda] F2[\[Lambda],\[Phi]], \[Lambda]];

51

40 G121[\[Phi]_]=Simplify[G21[\[Lambda]max,\[Phi]]-G21[\[Lambda]min,\[Phi]]];

41 H121[\[Phi]_]=Simplify[Integrate[G121[\[Phi]],\[Phi]]];

42

43 G22[\[Lambda]_,\[Phi]_]=

44 Integrate[Sec[\[Phi]]DF2\[Lambda] F2[\[Lambda],\[Phi]], \[Lambda]];

45 G122[\[Phi]_]=Simplify[G22[\[Lambda]max,\[Phi]]-G22[\[Lambda]min,\[Phi]]];

46 H122[\[Phi]_]=Simplify[Integrate[G122[\[Phi]],\[Phi]]];

47

48 G23[\[Lambda]_,\[Phi]_]=

49 Integrate[Sec[\[Phi]]DF3\[Lambda] F2[\[Lambda],\[Phi]], \[Lambda]];

50 G123[\[Phi]_]=Simplify[G23[\[Lambda]max,\[Phi]]-G23[\[Lambda]min,\[Phi]]];

51 H123[\[Phi]_]=Simplify[Integrate[G123[\[Phi]],\[Phi]]];

52

53 G31[\[Lambda]_,\[Phi]_]=

54 Integrate[Sec[\[Phi]]DF1\[Lambda] F3[\[Lambda],\[Phi]],\[Lambda]];

55 G131[\[Phi]_]=Simplify[G31[\[Lambda]max,\[Phi]]-G31[\[Lambda]min,\[Phi]]];

56 H131[\[Phi]_]=Simplify[Integrate[G131[\[Phi]],\[Phi]]];

57

58 G32[\[Lambda]_,\[Phi]_]=

59 Integrate[Sec[\[Phi]]DF2\[Lambda] F3[\[Lambda],\[Phi]],\[Lambda]];

60 G132[\[Phi]_]=Simplify[G32[\[Lambda]max,\[Phi]]-G32[\[Lambda]min,\[Phi]]];

61 H132[\[Phi]_]=Simplify[Integrate[G132[\[Phi]],\[Phi]]];

62

63 G33[\[Lambda]_,\[Phi]_]=

64 Integrate[Sec[\[Phi]]DF3\[Lambda] F3[\[Lambda],\[Phi]],\[Lambda]];

65 G133[\[Phi]_]=Simplify[G33[\[Lambda]max,\[Phi]]-G33[\[Lambda]min,\[Phi]]];

66 H133[\[Phi]_]=Simplify[Integrate[G133[\[Phi]],\[Phi]]];

67

68 TRID1=H111[\[Phi]],H112[\[Phi]],H113[\[Phi]];

69 TRID2=H121[\[Phi]],H122[\[Phi]],H123[\[Phi]];

70 TRID3=H131[\[Phi]],H132[\[Phi]],H133[\[Phi]];

71 Mat1=MatrixForm[TRID1,TRID2,TRID3]

72 Null

Programa para las integrales del producto interno

(∂ϕj

∂φ

∣∣∣∣ϕi

)en los triangulos infe-

riores:

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[DF1\[Phi],DF2\[Phi],DF3\[Phi]];

3 ClearAll[G11,G12,G13,G21,G22,G23,G31,G32,G33];

4 ClearAll[G111,G112,G113,G121,G122,G123,G131,G132,G133];

5 ClaerAll[H111,H112,H113,H121,H122,H123,H131,H132,H133];

6

7 F1[\[Lambda]_,\[Phi]_]=1-\[Lambda]/d\[Lambda]-\[Phi]/d\[Phi];

8 F2[\[Lambda]_,\[Phi]_]=\[Lambda]/d\[Lambda];

52

9 F3[\[Lambda]_,\[Phi]_]=\[Phi]/d\[Phi];

10

11 \[Lambda]min=0;

12 \[Lambda]max=d\[Lambda];

13 \[Phi]min=0;

14 \[Phi]max=-(d\[Phi]/d\[Lambda]) (\[Lambda]-d\[Lambda]);

15

16 DF1\[Phi]=D[F1[\[Lambda],\[Phi]],\[Phi]];

17 DF2\[Phi]=D[F2[\[Lambda],\[Phi]],\[Phi]];

18 DF3\[Phi]=D[F3[\[Lambda],\[Phi]],\[Phi]];

19

20 G11[\[Lambda]_,\[Phi]_]=Integrate[DF1\[Phi] F1[\[Lambda],\[Phi]], \[Phi]];

21 G111[\[Lambda]_]=G11[\[Lambda],\[Phi]max]-G11[\[Lambda],\[Phi]min];

22 H111[\[Lambda]_]=Integrate[G111[\[Lambda]],\[Lambda]];

23 FI111=Simplify[H111[\[Lambda]max]-H111[\[Lambda]min]];

24

25 G12[\[Lambda]_,\[Phi]_]=Integrate[DF2\[Phi] F1[\[Lambda],\[Phi]], \[Phi]];

26 G112[\[Lambda]_]=G12[\[Lambda],\[Phi]max]-G12[\[Lambda],\[Phi]min];

27 H112[\[Lambda]_]=Integrate[G112[\[Lambda]],\[Lambda]];

28 FI112=Simplify[H112[\[Lambda]max]-H112[\[Lambda]min]];

29

30 G13[\[Lambda]_,\[Phi]_]=Integrate[DF3\[Phi] F1[\[Lambda],\[Phi]], \[Phi]];

31 G113[\[Lambda]_]=G13[\[Lambda],\[Phi]max]-G13[\[Lambda],\[Phi]min];

32 H113[\[Lambda]_]=Integrate[G113[\[Lambda]],\[Lambda]];

33 FI113=Simplify[H113[\[Lambda]max]-H113[\[Lambda]min]];

34

35 G21[\[Lambda]_,\[Phi]_]=Integrate[DF1\[Phi] F2[\[Lambda],\[Phi]], \[Phi]];

36 G121[\[Lambda]_]=G21[\[Lambda],\[Phi]max]-G21[\[Lambda],\[Phi]min];

37 H121[\[Lambda]_]=Integrate[G121[\[Lambda]],\[Lambda]];

38 FI121=Simplify[H121[\[Lambda]max]-H121[\[Lambda]min]];

39

40 G22[\[Lambda]_,\[Phi]_]=Integrate[DF2\[Phi] F2[\[Lambda],\[Phi]], \[Phi]];

41 G122[\[Lambda]_]=G22[\[Lambda],\[Phi]max]-G22[\[Lambda],\[Phi]min];

42 H122[\[Lambda]_]=Integrate[G122[\[Lambda]],\[Lambda]];

43 FI122=Simplify[H122[\[Lambda]max]-H122[\[Lambda]min]];

44

45 G23[\[Lambda]_,\[Phi]_]=Integrate[DF3\[Phi] F2[\[Lambda],\[Phi]], \[Phi]];

46 G123[\[Lambda]_]=G23[\[Lambda],\[Phi]max]-G23[\[Lambda],\[Phi]min];

47 H123[\[Lambda]_]=Integrate[G123[\[Lambda]],\[Lambda]];

48 FI123=Simplify[H123[\[Lambda]max]-H123[\[Lambda]min]];

49

50 G31[\[Lambda]_,\[Phi]_]=Integrate[DF1\[Phi] F3[\[Lambda],\[Phi]], \[Phi]];

51 G131[\[Lambda]_]=G31[\[Lambda],\[Phi]max]-G31[\[Lambda],\[Phi]min];

52 H131[\[Lambda]_]=Integrate[G131[\[Lambda]],\[Lambda]];

53 FI131=Simplify[H131[\[Lambda]max]-H131[\[Lambda]min]];

53

54

55 G32[\[Lambda]_,\[Phi]_]=Integrate[DF2\[Phi] F3[\[Lambda],\[Phi]], \[Phi]];

56 G132[\[Lambda]_]=G32[\[Lambda],\[Phi]max]-G32[\[Lambda],\[Phi]min];

57 H132[\[Lambda]_]=Integrate[G132[\[Lambda]],\[Lambda]];

58 FI132=Simplify[H132[\[Lambda]max]-H132[\[Lambda]min]];

59

60 G33[\[Lambda]_,\[Phi]_]=Integrate[DF3\[Phi] F3[\[Lambda],\[Phi]], \[Phi]];

61 G133[\[Lambda]_]=G33[\[Lambda],\[Phi]max]-G33[\[Lambda],\[Phi]min];

62 H133[\[Lambda]_]=Integrate[G133[\[Lambda]],\[Lambda]];

63 FI133=Simplify[H133[\[Lambda]max]-H133[\[Lambda]min]];

64

65 TRID1=FI111,FI112,FI113;

66 TRID2=FI121,FI122,FI123;

67 TRID3=FI131,FI132,FI133;

68 Mat1=MatrixForm[TRID1,TRID2,TRID3]

69

Programa para las integrales del producto interno

⟨g

∣∣∣∣ϕi

Γ1

en los triangulos infe-

riores:

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[g11,g12,g13];

3 ClearAll[h11,h12,h13];

4

5 F1[\[Lambda]_,\[Phi]_]=1-\[Lambda]/d\[Lambda]-\[Phi]/d\[Phi];

6 F2[\[Lambda]_,\[Phi]_]=\[Lambda]/d\[Lambda];

7 F3[\[Lambda]_,\[Phi]_]=\[Phi]/d\[Phi];

8

9 g[\[Phi]_]=1;

10

11 \[Lambda]min=0;

12 \[Lambda]max=d\[Lambda];

13 \[Phi]min=0;

14 \[Phi]max=d\[Phi];

15

16 g11[\[Lambda]_]=Integrate[F1[\[Lambda],\[Phi]min], \[Lambda]];

17 h11=Simplify[g11[\[Lambda]max]-g11[\[Lambda]min]];

18

19 g12[\[Lambda]_]=Integrate[F2[\[Lambda],\[Phi]min], \[Lambda]];

20 h12=Simplify[g12[\[Lambda]max]-g12[\[Lambda]min]];

21

22 g13[\[Lambda]_]=Integrate[F3[\[Lambda],\[Phi]min], \[Lambda]];

23 h13=Simplify[g13[\[Lambda]max]-g13[\[Lambda]min]];

24

25 MATR=h11,h12,h13;

54

26 VET=MatrixForm[Transpose[MATR]]

Programa para las integrales del producto interno (F|ϕi) en los triangulos inferiores:

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[G11,G12,G13];

3 ClearAll[G111,G112,G113];

4 ClaerAll[H111,H112,H113];

5

6 F1[\[Lambda]_,\[Phi]_]=1-\[Lambda]/d\[Lambda]-\[Phi]/d\[Phi];

7 F2[\[Lambda]_,\[Phi]_]=\[Lambda]/d\[Lambda];

8 F3[\[Lambda]_,\[Phi]_]=\[Phi]/d\[Phi];

9

10 \[Lambda]min=0;

11 \[Lambda]max=d\[Lambda];

12 \[Phi]min=0;

13 \[Phi]max=-(d\[Phi]/d\[Lambda]) (\[Lambda]-d\[Lambda]);

14

15 G11[\[Lambda]_,\[Phi]_]=Integrate[ F1[\[Lambda],\[Phi]], \[Phi]];

16 G111[\[Lambda]_]=G11[\[Lambda],\[Phi]max]-G11[\[Lambda],\[Phi]min];

17 H111[\[Lambda]_]=Integrate[G111[\[Lambda]],\[Lambda]];

18 FI111=Simplify[H111[\[Lambda]max]-H111[\[Lambda]min]];

19

20 G12[\[Lambda]_,\[Phi]_]=Integrate[ F2[\[Lambda],\[Phi]], \[Phi]];

21 G112[\[Lambda]_]=G12[\[Lambda],\[Phi]max]-G12[\[Lambda],\[Phi]min];

22 H112[\[Lambda]_]=Integrate[G112[\[Lambda]],\[Lambda]];

23 FI112=Simplify[H112[\[Lambda]max]-H112[\[Lambda]min]];

24

25 G13[\[Lambda]_,\[Phi]_]=Integrate[ F3[\[Lambda],\[Phi]], \[Phi]];

26 G113[\[Lambda]_]=G13[\[Lambda],\[Phi]max]-G13[\[Lambda],\[Phi]min];

27 H113[\[Lambda]_]=Integrate[G113[\[Lambda]],\[Lambda]];

28 FI113=Simplify[H113[\[Lambda]max]-H113[\[Lambda]min]];

29

30 TRID=FI111,FI112,FI113;

31 Mat=MatrixForm[Transpose[TRID]]

32

2.2 Programas para los triangulos superiores

Programa para las integrales del producto interno

(ϕj

∣∣∣∣ϕi

)en los triangulos supe-

riores:

1 ClearAll[F1, F2, F3, \[Lambda]min, \[Lambda]max, \[Phi]min, \[Phi]max];

2 ClearAll[G11, G12, G13, G21, G22, G23, G31, G32, G33];

55

3 ClearAll[G111, G112, G113, G121, G122, G123, G131, G132, G133];

4 ClaerAll[H111, H112, H113, H121, H122, H123, H131, H132, H133];

5

6 F1[\[Lambda]_, \[Phi]_] = \[Lambda]/d\[Lambda] + \[Phi]/d\[Phi] - 1;

7 F2[\[Lambda]_, \[Phi]_] = 1 - \[Lambda]/d\[Lambda];

8 F3[\[Lambda]_, \[Phi]_] = 1 - \[Phi]/d\[Phi];

9

10 \[Lambda]min = 0;

11 \[Lambda]max = d\[Lambda];

12 \[Phi]min = -(d\[Phi]/d\[Lambda]) (\[Lambda] - d\[Lambda]);

13 \[Phi]max = d\[Phi];

14

15 G11[\[Lambda]_, \[Phi]_] =

16 Integrate[F1[\[Lambda], \[Phi]] F1[\[Lambda], \[Phi]], \[Phi]];

17 G111[\[Lambda]_] = G11[\[Lambda], \[Phi]max] - G11[\[Lambda], \[Phi]min];

18 H111[\[Lambda]_] = Integrate[G111[\[Lambda]], \[Lambda]];

19 FI111 = Simplify[H111[\[Lambda]max] - H111[\[Lambda]min]];

20

21 G12[\[Lambda]_, \[Phi]_] =

22 Integrate[F1[\[Lambda], \[Phi]] F2[\[Lambda], \[Phi]], \[Phi]];

23 G112[\[Lambda]_] = G12[\[Lambda], \[Phi]max] - G12[\[Lambda], \[Phi]min];

24 H112[\[Lambda]_] = Integrate[G112[\[Lambda]], \[Lambda]];

25 FI112 = Simplify[H112[\[Lambda]max] - H112[\[Lambda]min]];

26

27 G13[\[Lambda]_, \[Phi]_] =

28 Integrate[F1[\[Lambda], \[Phi]] F3[\[Lambda], \[Phi]], \[Phi]];

29 G113[\[Lambda]_] = G13[\[Lambda], \[Phi]max] - G13[\[Lambda], \[Phi]min];

30 H113[\[Lambda]_] = Integrate[G113[\[Lambda]], \[Lambda]];

31 FI113 = Simplify[H113[\[Lambda]max] - H113[\[Lambda]min]];

32

33 G21[\[Lambda]_, \[Phi]_] =

34 Integrate[F2[\[Lambda], \[Phi]] F1[\[Lambda], \[Phi]], \[Phi]];

35 G121[\[Lambda]_] = G21[\[Lambda], \[Phi]max] - G21[\[Lambda], \[Phi]min];

36 H121[\[Lambda]_] = Integrate[G121[\[Lambda]], \[Lambda]];

37 FI121 = Simplify[H121[\[Lambda]max] - H121[\[Lambda]min]];

38

39 G22[\[Lambda]_, \[Phi]_] =

40 Integrate[F2[\[Lambda], \[Phi]] F2[\[Lambda], \[Phi]], \[Phi]];

41 G122[\[Lambda]_] = G22[\[Lambda], \[Phi]max] - G22[\[Lambda], \[Phi]min];

42 H122[\[Lambda]_] = Integrate[G122[\[Lambda]], \[Lambda]];

43 FI122 = Simplify[H122[\[Lambda]max] - H122[\[Lambda]min]];

44

45 G23[\[Lambda]_, \[Phi]_] =

46 Integrate[F2[\[Lambda], \[Phi]] F3[\[Lambda], \[Phi]], \[Phi]];

47 G123[\[Lambda]_] = G23[\[Lambda], \[Phi]max] - G23[\[Lambda], \[Phi]min];

56

48 H123[\[Lambda]_] = Integrate[G123[\[Lambda]], \[Lambda]];

49 FI123 = Simplify[H123[\[Lambda]max] - H123[\[Lambda]min]];

50

51 G31[\[Lambda]_, \[Phi]_] =

52 Integrate[F3[\[Lambda], \[Phi]] F1[\[Lambda], \[Phi]], \[Phi]];

53 G131[\[Lambda]_] = G31[\[Lambda], \[Phi]max] - G31[\[Lambda], \[Phi]min];

54 H131[\[Lambda]_] = Integrate[G131[\[Lambda]], \[Lambda]];

55 FI131 = Simplify[H131[\[Lambda]max] - H131[\[Lambda]min]];

56

57 G32[\[Lambda]_, \[Phi]_] =

58 Integrate[F3[\[Lambda], \[Phi]] F2[\[Lambda], \[Phi]], \[Phi]];

59 G132[\[Lambda]_] = G32[\[Lambda], \[Phi]max] - G32[\[Lambda], \[Phi]min];

60 H132[\[Lambda]_] = Integrate[G132[\[Lambda]], \[Lambda]];

61 FI132 = Simplify[H132[\[Lambda]max] - H132[\[Lambda]min]];

62

63 G33[\[Lambda]_, \[Phi]_] =

64 Integrate[F3[\[Lambda], \[Phi]] F3[\[Lambda], \[Phi]], \[Phi]];

65 G133[\[Lambda]_] = G33[\[Lambda], \[Phi]max] - G33[\[Lambda], \[Phi]min];

66 H133[\[Lambda]_] = Integrate[G133[\[Lambda]], \[Lambda]];

67 FI133 = Simplify[H133[\[Lambda]max] - H133[\[Lambda]min]];

68

69 TRID1 = FI111, FI112, FI113;

70 TRID2 = FI121, FI122, FI123;

71 TRID3 = FI131, FI132, FI133;

72 Mat1 = MatrixForm[Transpose[TRID1, TRID2, TRID3]]

Programa para las integrales del producto interno

(1

cos2 φ

∂ϕj

∂λ

∣∣∣∣∂ϕi

∂λ

)en los triangulos

superiores:

1 ClearAll[G11,G12,G13,G21,G22,G23,G31,G32,G33];

2 ClearAll[GI11,GI12,GI13,GI21,GI22,GI23,GI31,GI32,GI33];

3 ClearAll[H11,H12,H13,H21,H22,H23,H31,H32,H33];

4 ClearALL[FI11,FI12,FI13,FI21,FI22,FI23,FI31,FI32,FI33];

5 ClearALL[DF1\[Lambda],DF2\[Lambda],DF3\[Lambda]];

6 ClearAll[\[Phi]min,\[Phi]max,\[Lambda]min,\[Lambda]max,TRID1,TRID2,TRID3,

7 Mat1];

8

9 DF1\[Lambda][\[Lambda]_,\[Phi]_]=

10 D[(\[Lambda]-\[Lambda]i)/d\[Lambda]+(\[Phi]-\[Phi]i)/

11 d\[Phi]-1,\[Lambda]];

12 DF2\[Lambda][\[Lambda]_,\[Phi]_]=

13 D[1-(\[Lambda]-\[Lambda]i)/d\[Lambda],\[Lambda]];

14 DF3\[Lambda][\[Lambda]_,\[Phi]_]=D[1-(\[Phi]-\[Phi]i)/d\[Phi],\[Lambda]];

15

16 \[Lambda]min=\[Lambda]i;

57

17 \[Lambda]max=\[Lambda]i+d\[Lambda];

18 \[Phi]min=\[Phi]i-(d\[Phi]/d\[Lambda]) (\[Lambda]-\[Lambda]i-d\[Lambda]);

19 \[Phi]max=\[Phi]i+d\[Phi];

20

21 G11[\[Lambda]_,\[Phi]_]=

22 Integrate[

23 1/(Cos[\[Phi]])^2*DF1\[Lambda][\[Lambda],\[Phi]]*

24 DF1\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

25 GI11[\[Lambda]_]=G11[\[Lambda],\[Phi]max]-G11[\[Lambda],\[Phi]min];

26 H11[\[Lambda]_]=Integrate[GI11[\[Lambda]],\[Lambda]];

27 FI11=Simplify[H11[\[Lambda]max]-H11[\[Lambda]min]];

28

29 G12[\[Lambda]_,\[Phi]_]=

30 Integrate[

31 1/(Cos[\[Phi]])^2*DF1\[Lambda][\[Lambda],\[Phi]]*

32 DF2\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

33 GI12[\[Lambda]_]=G12[\[Lambda],\[Phi]max]-G12[\[Lambda],\[Phi]min];

34 H12[\[Lambda]_]=Integrate[GI12[\[Lambda]],\[Lambda]];

35 FI12=Simplify[H12[\[Lambda]max]-H12[\[Lambda]min]];

36

37 G13[\[Lambda]_,\[Phi]_]=

38 Integrate[

39 1/(Cos[\[Phi]])^2*DF1\[Lambda][\[Lambda],\[Phi]]*

40 DF3\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

41 GI13[\[Lambda]_]=G13[\[Lambda],\[Phi]max]-G13[\[Lambda],\[Phi]min];

42 H13[\[Lambda]_]=Integrate[GI13[\[Lambda]],\[Lambda]];

43 FI13=Simplify[H13[\[Lambda]max]-H13[\[Lambda]min]];

44

45 G21[\[Lambda]_,\[Phi]_]=

46 Integrate[

47 1/(Cos[\[Phi]])^2*DF2\[Lambda][\[Lambda],\[Phi]]*

48 DF1\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

49 GI21[\[Lambda]_]=G21[\[Lambda],\[Phi]max]-G21[\[Lambda],\[Phi]min];

50 H21[\[Lambda]_]=Integrate[GI21[\[Lambda]],\[Lambda]];

51 FI21=Simplify[H21[\[Lambda]max]-H21[\[Lambda]min]];

52

53 G22[\[Lambda]_,\[Phi]_]=

54 Integrate[

55 1/(Cos[\[Phi]])^2*DF2\[Lambda][\[Lambda],\[Phi]]*

56 DF2\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

57 GI22[\[Lambda]_]=G22[\[Lambda],\[Phi]max]-G22[\[Lambda],\[Phi]min];

58 H22[\[Lambda]_]=Integrate[GI22[\[Lambda]],\[Lambda]];

59 FI22=Simplify[H22[\[Lambda]max]-H22[\[Lambda]min]];

60

61 G23[\[Lambda]_,\[Phi]_]=

58

62 Integrate[

63 1/(Cos[\[Phi]])^2*DF2\[Lambda][\[Lambda],\[Phi]]*

64 DF3\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

65 GI23[\[Lambda]_]=G23[\[Lambda],\[Phi]max]-G23[\[Lambda],\[Phi]min];

66 H23[\[Lambda]_]=Integrate[GI23[\[Lambda]],\[Lambda]];

67 FI23=Simplify[H23[\[Lambda]max]-H23[\[Lambda]min]];

68

69 G31[\[Lambda]_,\[Phi]_]=

70 Integrate[

71 1/(Cos[\[Phi]])^2*DF3\[Lambda][\[Lambda],\[Phi]]*

72 DF1\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

73 GI31[\[Lambda]_]=G31[\[Lambda],\[Phi]max]-G31[\[Lambda],\[Phi]min];

74 H31[\[Lambda]_]=Integrate[GI31[\[Lambda]],\[Lambda]];

75 FI31=Simplify[H31[\[Lambda]max]-H31[\[Lambda]min]];

76

77 G32[\[Lambda]_,\[Phi]_]=

78 Integrate[

79 1/(Cos[\[Phi]])^2*DF3\[Lambda][\[Lambda],\[Phi]]*

80 DF2\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

81 GI32[\[Lambda]_]=G32[\[Lambda],\[Phi]max]-G32[\[Lambda],\[Phi]min];

82 H32[\[Lambda]_]=Integrate[GI32[\[Lambda]],\[Lambda]];

83 FI32=Simplify[H32[\[Lambda]max]-H32[\[Lambda]min]];

84

85 G33[\[Lambda]_,\[Phi]_]=

86 Integrate[

87 1/(Cos[\[Phi]])^2*DF3\[Lambda][\[Lambda],\[Phi]]*

88 DF3\[Lambda][\[Lambda],\[Phi]] , \[Phi]];

89 GI33[\[Lambda]_]=G33[\[Lambda],\[Phi]max]-G33[\[Lambda],\[Phi]min];

90 H33[\[Lambda]_]=Integrate[GI33[\[Lambda]],\[Lambda]];

91 FI33=Simplify[H33[\[Lambda]max]-H33[\[Lambda]min]];

92

93 TRID1=FI11,FI12,FI13;

94 TRID2=FI21,FI22,FI23;

95 TRID3=FI31,FI32,FI33;

96 Mat1=MatrixForm[Transpose[TRID1,TRID2,TRID3]]

97 Null

Programa para las integrales del producto interno

(∂ϕj

∂λ

∣∣∣∣∂ϕi

∂φ

)en los triangulos

superiores:

1 ClearAll[G11,G12,G13,G21,G22,G23,G31,G32,G33];

2 ClearAll[GI11,GI12,GI13,GI21,GI22,GI23,GI31,GI32,GI33];

3 ClearAll[H11,H12,H13,H21,H22,H23,H31,H32,H33];

4 ClearALL[FI11,FI12,FI13,FI21,FI22,FI23,FI31,FI32,FI33];

5 ClearALL[DF1\[Phi],DF2\[Phi],DF3\[Phi]];

59

6 ClearAll[\[Phi]min,\[Phi]max,\[Lambda]min,\[Lambda]max,TRID1,TRID2,TRID3,

7 Mat1];

8

9 DF1\[Phi][\[Lambda]_,\[Phi]_]=

10 D[(\[Lambda]-\[Lambda]i)/d\[Lambda]+(\[Phi]-\[Phi]i)/d\[Phi]-1,\[Phi]];

11 DF2\[Phi][\[Lambda]_,\[Phi]_]=D[1-(\[Lambda]-\[Lambda]i)/d\[Lambda],\[Phi]];

12 DF3\[Phi][\[Lambda]_,\[Phi]_]=D[1-(\[Phi]-\[Phi]i)/d\[Phi],\[Phi]];

13

14 \[Lambda]min=\[Lambda]i;

15 \[Lambda]max=\[Lambda]i+d\[Lambda];

16 \[Phi]min=\[Phi]i-(d\[Phi]/d\[Lambda]) (\[Lambda]-\[Lambda]i-d\[Lambda]);

17 \[Phi]max=\[Phi]i+d\[Phi];

18

19 G11[\[Lambda]_,\[Phi]_]=

20 Integrate[

21 DF1\[Phi][\[Lambda],\[Phi]]*DF1\[Phi][\[Lambda],\[Phi]] , \[Phi]];

22 GI11[\[Lambda]_]=G11[\[Lambda],\[Phi]max]-G11[\[Lambda],\[Phi]min];

23 H11[\[Lambda]_]=Integrate[GI11[\[Lambda]],\[Lambda]];

24 FI11=Simplify[H11[\[Lambda]max]-H11[\[Lambda]min]];

25

26 G12[\[Lambda]_,\[Phi]_]=

27 Integrate[

28 DF1\[Phi][\[Lambda],\[Phi]]*DF2\[Phi][\[Lambda],\[Phi]] , \[Phi]];

29 GI12[\[Lambda]_]=G12[\[Lambda],\[Phi]max]-G12[\[Lambda],\[Phi]min];

30 H12[\[Lambda]_]=Integrate[GI12[\[Lambda]],\[Lambda]];

31 FI12=Simplify[H12[\[Lambda]max]-H12[\[Lambda]min]];

32

33 G13[\[Lambda]_,\[Phi]_]=

34 Integrate[

35 DF1\[Phi][\[Lambda],\[Phi]]*DF3\[Phi][\[Lambda],\[Phi]] , \[Phi]];

36 GI13[\[Lambda]_]=G13[\[Lambda],\[Phi]max]-G13[\[Lambda],\[Phi]min];

37 H13[\[Lambda]_]=Integrate[GI13[\[Lambda]],\[Lambda]];

38 FI13=Simplify[H13[\[Lambda]max]-H13[\[Lambda]min]];

39

40 G21[\[Lambda]_,\[Phi]_]=

41 Integrate[

42 DF2\[Phi][\[Lambda],\[Phi]]*DF1\[Phi][\[Lambda],\[Phi]] , \[Phi]];

43 GI21[\[Lambda]_]=G21[\[Lambda],\[Phi]max]-G21[\[Lambda],\[Phi]min];

44 H21[\[Lambda]_]=Integrate[GI21[\[Lambda]],\[Lambda]];

45 FI21=Simplify[H21[\[Lambda]max]-H21[\[Lambda]min]];

46

47 G22[\[Lambda]_,\[Phi]_]=

48 Integrate[

49 DF2\[Phi][\[Lambda],\[Phi]]*DF2\[Phi][\[Lambda],\[Phi]] , \[Phi]];

50 GI22[\[Lambda]_]=G22[\[Lambda],\[Phi]max]-G22[\[Lambda],\[Phi]min];

60

51 H22[\[Lambda]_]=Integrate[GI22[\[Lambda]],\[Lambda]];

52 FI22=Simplify[H22[\[Lambda]max]-H22[\[Lambda]min]];

53

54 G23[\[Lambda]_,\[Phi]_]=

55 Integrate[

56 DF2\[Phi][\[Lambda],\[Phi]]*DF3\[Phi][\[Lambda],\[Phi]] , \[Phi]];

57 GI23[\[Lambda]_]=G23[\[Lambda],\[Phi]max]-G23[\[Lambda],\[Phi]min];

58 H23[\[Lambda]_]=Integrate[GI23[\[Lambda]],\[Lambda]];

59 FI23=Simplify[H23[\[Lambda]max]-H23[\[Lambda]min]];

60

61 G31[\[Lambda]_,\[Phi]_]=

62 Integrate[

63 DF3\[Phi][\[Lambda],\[Phi]]*DF1\[Phi][\[Lambda],\[Phi]] , \[Phi]];

64 GI31[\[Lambda]_]=G31[\[Lambda],\[Phi]max]-G31[\[Lambda],\[Phi]min];

65 H31[\[Lambda]_]=Integrate[GI31[\[Lambda]],\[Lambda]];

66 FI31=Simplify[H31[\[Lambda]max]-H31[\[Lambda]min]];

67

68 G32[\[Lambda]_,\[Phi]_]=

69 Integrate[

70 DF3\[Phi][\[Lambda],\[Phi]]*DF2\[Phi][\[Lambda],\[Phi]] , \[Phi]];

71 GI32[\[Lambda]_]=G32[\[Lambda],\[Phi]max]-G32[\[Lambda],\[Phi]min];

72 H32[\[Lambda]_]=Integrate[GI32[\[Lambda]],\[Lambda]];

73 FI32=Simplify[H32[\[Lambda]max]-H32[\[Lambda]min]];

74

75 G33[\[Lambda]_,\[Phi]_]=

76 Integrate[

77 DF3\[Phi][\[Lambda],\[Phi]]*DF3\[Phi][\[Lambda],\[Phi]] , \[Phi]];

78 GI33[\[Lambda]_]=G33[\[Lambda],\[Phi]max]-G33[\[Lambda],\[Phi]min];

79 H33[\[Lambda]_]=Integrate[GI33[\[Lambda]],\[Lambda]];

80 FI33=Simplify[H33[\[Lambda]max]-H33[\[Lambda]min]];

81

82 TRID1=FI11,FI12,FI13;

83 TRID2=FI21,FI22,FI23;

84 TRID3=FI31,FI32,FI33;

85 Mat1=MatrixForm[Transpose[TRID1,TRID2,TRID3]]

86 Null

Programa para las integrales del producto interno

(1

cos φ

∂ϕj

∂λ

∣∣∣∣ϕi

)en los triangulos

superiores:

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[DF1\[Lambda],DF2\[Lambda],DF3\[Lambda]];

3 ClearAll[G11,G12,G13,G21,G22,G23,G31,G32,G33];

4 ClearAll[G111,G112,G113,G121,G122,G123,G131,G132,G133];

5 ClaerAll[H111,H112,H113,H121,H122,H123,H131,H132,H133];

61

6

7 F1[\[Lambda]_,\[Phi]_]=-1+(\[Lambda]-\[Lambda]i)/\[CapitalDelta]\[Lambda]+(\

8 \[Phi]-\[Phi]i)/\[CapitalDelta]\[Phi];

9 F2[\[Lambda]_,\[Phi]_]=1-(\[Lambda]-\[Lambda]i)/\[CapitalDelta]\[Lambda];

10 F3[\[Lambda]_,\[Phi]_]=1-(\[Phi]-\[Phi]i)/\[CapitalDelta]\[Phi];

11

12 \[Lambda]min=\[Lambda]i+\[CapitalDelta]\[Lambda]-(\[CapitalDelta]\[Lambda]/\

13 \[CapitalDelta]\[Phi])(\[Phi]-\[Phi]i) ;

14 \[Lambda]max=\[Lambda]i+\[CapitalDelta]\[Lambda];

15 \[Phi]min=\[Phi]i;

16 \[Phi]max=\[Phi]i+\[CapitalDelta]\[Phi];

17

18 DF1\[Lambda]=D[F1[\[Lambda],\[Phi]],\[Lambda]];

19 DF2\[Lambda]=D[F2[\[Lambda],\[Phi]],\[Lambda]];

20 DF3\[Lambda]=D[F3[\[Lambda],\[Phi]],\[Lambda]];

21

22 G11[\[Lambda]_,\[Phi]_]=

23 Integrate[Sec[\[Phi]]DF1\[Lambda] F1[\[Lambda],\[Phi]],\[Lambda]];

24 G111[\[Phi]_]=G11[\[Lambda]max,\[Phi]]-G11[\[Lambda]min,\[Phi]];

25 H111[\[Phi]_]=Integrate[G111[\[Phi]],\[Phi]];

26 FI111=Simplify[H111[\[Phi]max]-H111[\[Phi]min]];

27

28 G12[\[Lambda]_,\[Phi]_]=

29 Integrate[Sec[\[Phi]]DF2\[Lambda] F1[\[Lambda],\[Phi]],\[Lambda]];

30 G112[\[Phi]_]=G12[\[Lambda]max,\[Phi]]-G12[\[Lambda]min,\[Phi]];

31 H112[\[Phi]_]=Integrate[G112[\[Phi]],\[Phi]];

32 FI112=Simplify[H112[\[Phi]max]-H112[\[Phi]min]];

33

34 G13[\[Lambda]_,\[Phi]_]=

35 Integrate[Sec[\[Phi]]DF3\[Lambda] F1[\[Lambda],\[Phi]], \[Lambda]];

36 G113[\[Phi]_]=G13[\[Lambda]max,\[Phi]]-G13[\[Lambda]min,\[Phi]];

37 H113[\[Phi]_]=Integrate[G113[\[Phi]],\[Phi]];

38 FI113=Simplify[H113[\[Phi]max]-H113[\[Phi]min]];

39

40 G21[\[Lambda]_,\[Phi]_]=

41 Integrate[Sec[\[Phi]]DF1\[Lambda] F2[\[Lambda],\[Phi]], \[Lambda]];

42 G121[\[Phi]_]=G21[\[Lambda]max,\[Phi]]-G21[\[Lambda]min,\[Phi]];

43 H121[\[Phi]_]=Integrate[G121[\[Phi]],\[Phi]];

44 FI121=Simplify[H121[\[Phi]max]-H121[\[Phi]min]];

45

46 G22[\[Lambda]_,\[Phi]_]=

47 Integrate[Sec[\[Phi]]DF2\[Lambda] F2[\[Lambda],\[Phi]], \[Lambda]];

48 G122[\[Phi]_]=G22[\[Lambda]max,\[Phi]]-G22[\[Lambda]min,\[Phi]];

49 H122[\[Phi]_]=Integrate[G122[\[Phi]],\[Phi]];

50 FI122=Simplify[H122[\[Phi]max]-H122[\[Phi]min]];

62

51

52 G23[\[Lambda]_,\[Phi]_]=

53 Integrate[Sec[\[Phi]]DF3\[Lambda] F2[\[Lambda],\[Phi]], \[Lambda]];

54 G123[\[Phi]_]=G23[\[Lambda]max,\[Phi]]-G23[\[Lambda]min,\[Phi]];

55 H123[\[Phi]_]=Integrate[G123[\[Phi]],\[Phi]];

56 FI123=Simplify[H123[\[Phi]max]-H123[\[Phi]min]];

57

58 G31[\[Lambda]_,\[Phi]_]=

59 Integrate[Sec[\[Phi]]DF1\[Lambda] F3[\[Lambda],\[Phi]],\[Lambda]];

60 G131[\[Phi]_]=G31[\[Lambda]max,\[Phi]]-G31[\[Lambda]min,\[Phi]];

61 H131[\[Phi]_]=Integrate[G131[\[Phi]],\[Phi]];

62 FI131=Simplify[H131[\[Phi]max]-H131[\[Phi]min]];

63

64 G32[\[Lambda]_,\[Phi]_]=

65 Integrate[Sec[\[Phi]]DF2\[Lambda] F3[\[Lambda],\[Phi]],\[Lambda]];

66 G132[\[Phi]_]=G32[\[Lambda]max,\[Phi]]-G32[\[Lambda]min,\[Phi]];

67 H132[\[Phi]_]=Integrate[G132[\[Phi]],\[Phi]];

68 FI132=Simplify[H132[\[Phi]max]-H132[\[Phi]min]];

69

70 G33[\[Lambda]_,\[Phi]_]=

71 Integrate[Sec[\[Phi]]DF3\[Lambda] F3[\[Lambda],\[Phi]],\[Lambda]];

72 G133[\[Phi]_]=G33[\[Lambda]max,\[Phi]]-G33[\[Lambda]min,\[Phi]];

73 H133[\[Phi]_]=Integrate[G133[\[Phi]],\[Phi]];

74 FI133=Simplify[H133[\[Phi]max]-H133[\[Phi]min]];

75

76 TRID1=FI111,FI112,FI113;

77 TRID2=FI121,FI122,FI123;

78 TRID3=FI131,FI132,FI133;

79 Mat1=MatrixForm[TRID1,TRID2,TRID3]

80 Null

81 \[Lambda]min=\[Lambda]i+\[CapitalDelta]\[Lambda]-(\[CapitalDelta]\[Lambda]/\

82 \[CapitalDelta]\[Phi])(\[Phi]-\[Phi]i) ;

83 \[Lambda]max=\[Lambda]i+\[CapitalDelta]\[Lambda];

84 \[Phi]min=\[Phi]i;

85 \[Phi]max=\[Phi]i+\[CapitalDelta]\[Phi];

86

87 G11[\[Lambda]_,\[Phi]_]=

88 Integrate[Sec[\[Phi]]DF1\[Lambda] F1[\[Lambda],\[Phi]],\[Lambda]];

89 G111[\[Phi]_]=Simplify[G11[\[Lambda]max,\[Phi]]-G11[\[Lambda]min,\[Phi]]];

90 H111[\[Phi]_]=Simplify[Integrate[G111[\[Phi]],\[Phi]]];

91 FI111=Simplify[H111[\[Phi]max]-H111[\[Phi]min]];

92

93 G12[\[Lambda]_,\[Phi]_]=

94 Integrate[Sec[\[Phi]]DF2\[Lambda] F1[\[Lambda],\[Phi]],\[Lambda]];

95 G112[\[Phi]_]=Simplify[G12[\[Lambda]max,\[Phi]]-G12[\[Lambda]min,\[Phi]]];

63

96 H112[\[Phi]_]=Simplify[Integrate[G112[\[Phi]],\[Phi]]];

97

98 G13[\[Lambda]_,\[Phi]_]=

99 Integrate[Sec[\[Phi]]DF3\[Lambda] F1[\[Lambda],\[Phi]], \[Lambda]];

100 G113[\[Phi]_]=Simplify[G13[\[Lambda]max,\[Phi]]-G13[\[Lambda]min,\[Phi]]];

101 H113[\[Phi]_]=Simplify[Integrate[G113[\[Phi]],\[Phi]]];

102

103 G21[\[Lambda]_,\[Phi]_]=

104 Integrate[Sec[\[Phi]]DF1\[Lambda] F2[\[Lambda],\[Phi]], \[Lambda]];

105 G121[\[Phi]_]=Simplify[G21[\[Lambda]max,\[Phi]]-G21[\[Lambda]min,\[Phi]]];

106 H121[\[Phi]_]=Simplify[Integrate[G121[\[Phi]],\[Phi]]];

107 G22[\[Lambda]_,\[Phi]_]=

108 Integrate[Sec[\[Phi]]DF2\[Lambda] F2[\[Lambda],\[Phi]], \[Lambda]];

109 G122[\[Phi]_]=Simplify[G22[\[Lambda]max,\[Phi]]-G22[\[Lambda]min,\[Phi]]];

110 H122[\[Phi]_]=Simplify[Integrate[G122[\[Phi]],\[Phi]]];

Programa para las integrales del producto interno

(∂ϕj

∂φ

∣∣∣∣ϕi

)en los triangulos su-

periores:

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[DF1\[Phi],DF2\[Phi],DF3\[Phi]];

3 ClearAll[G11,G12,G13,G21,G22,G23,G31,G32,G33];

4 ClearAll[G111,G112,G113,G121,G122,G123,G131,G132,G133];

5 ClaerAll[H111,H112,H113,H121,H122,H123,H131,H132,H133];

6

7 F1[\[Lambda]_,\[Phi]_]=\[Lambda]/d\[Lambda]+\[Phi]/d\[Phi]-1;

8 F2[\[Lambda]_,\[Phi]_]=1-\[Lambda]/d\[Lambda];

9 F3[\[Lambda]_,\[Phi]_]=1-\[Phi]/d\[Phi];

10

11 \[Lambda]min=0;

12 \[Lambda]max=d\[Lambda];

13 \[Phi]min=-(d\[Phi]/d\[Lambda]) (\[Lambda]-d\[Lambda]);

14 \[Phi]max=d\[Phi];

15

16 DF1\[Phi]=D[F1[\[Lambda],\[Phi]],\[Phi]];

17 DF2\[Phi]=D[F2[\[Lambda],\[Phi]],\[Phi]];

18 DF3\[Phi]=D[F3[\[Lambda],\[Phi]],\[Phi]];

19

20 G11[\[Lambda]_,\[Phi]_]=Integrate[DF1\[Phi] F1[\[Lambda],\[Phi]], \[Phi]];

21 G111[\[Lambda]_]=G11[\[Lambda],\[Phi]max]-G11[\[Lambda],\[Phi]min];

22 H111[\[Lambda]_]=Integrate[G111[\[Lambda]],\[Lambda]];

23 FI111=Simplify[H111[\[Lambda]max]-H111[\[Lambda]min]];

24

25 G12[\[Lambda]_,\[Phi]_]=Integrate[DF2\[Phi] F1[\[Lambda],\[Phi]], \[Phi]];

26 G112[\[Lambda]_]=G12[\[Lambda],\[Phi]max]-G12[\[Lambda],\[Phi]min];

64

27 H112[\[Lambda]_]=Integrate[G112[\[Lambda]],\[Lambda]];

28 FI112=Simplify[H112[\[Lambda]max]-H112[\[Lambda]min]];

29

30 G13[\[Lambda]_,\[Phi]_]=Integrate[DF3\[Phi] F1[\[Lambda],\[Phi]], \[Phi]];

31 G113[\[Lambda]_]=G13[\[Lambda],\[Phi]max]-G13[\[Lambda],\[Phi]min];

32 H113[\[Lambda]_]=Integrate[G113[\[Lambda]],\[Lambda]];

33 FI113=Simplify[H113[\[Lambda]max]-H113[\[Lambda]min]];

34

35 G21[\[Lambda]_,\[Phi]_]=Integrate[DF1\[Phi] F2[\[Lambda],\[Phi]], \[Phi]];

36 G121[\[Lambda]_]=G21[\[Lambda],\[Phi]max]-G21[\[Lambda],\[Phi]min];

37 H121[\[Lambda]_]=Integrate[G121[\[Lambda]],\[Lambda]];

38 FI121=Simplify[H121[\[Lambda]max]-H121[\[Lambda]min]];

39

40 G22[\[Lambda]_,\[Phi]_]=Integrate[DF2\[Phi] F2[\[Lambda],\[Phi]], \[Phi]];

41 G122[\[Lambda]_]=G22[\[Lambda],\[Phi]max]-G22[\[Lambda],\[Phi]min];

42 H122[\[Lambda]_]=Integrate[G122[\[Lambda]],\[Lambda]];

43 FI122=Simplify[H122[\[Lambda]max]-H122[\[Lambda]min]];

44

45 G23[\[Lambda]_,\[Phi]_]=Integrate[DF3\[Phi] F2[\[Lambda],\[Phi]], \[Phi]];

46 G123[\[Lambda]_]=G23[\[Lambda],\[Phi]max]-G23[\[Lambda],\[Phi]min];

47 H123[\[Lambda]_]=Integrate[G123[\[Lambda]],\[Lambda]];

48 FI123=Simplify[H123[\[Lambda]max]-H123[\[Lambda]min]];

49

50 G31[\[Lambda]_,\[Phi]_]=Integrate[DF1\[Phi] F3[\[Lambda],\[Phi]], \[Phi]];

51 G131[\[Lambda]_]=G31[\[Lambda],\[Phi]max]-G31[\[Lambda],\[Phi]min];

52 H131[\[Lambda]_]=Integrate[G131[\[Lambda]],\[Lambda]];

53 FI131=Simplify[H131[\[Lambda]max]-H131[\[Lambda]min]];

54

55 G32[\[Lambda]_,\[Phi]_]=Integrate[DF2\[Phi] F3[\[Lambda],\[Phi]], \[Phi]];

56 G132[\[Lambda]_]=G32[\[Lambda],\[Phi]max]-G32[\[Lambda],\[Phi]min];

57 H132[\[Lambda]_]=Integrate[G132[\[Lambda]],\[Lambda]];

58 FI132=Simplify[H132[\[Lambda]max]-H132[\[Lambda]min]];

59

60 G33[\[Lambda]_,\[Phi]_]=Integrate[DF3\[Phi] F3[\[Lambda],\[Phi]], \[Phi]];

61 G133[\[Lambda]_]=G33[\[Lambda],\[Phi]max]-G33[\[Lambda],\[Phi]min];

62 H133[\[Lambda]_]=Integrate[G133[\[Lambda]],\[Lambda]];

63 FI133=Simplify[H133[\[Lambda]max]-H133[\[Lambda]min]];

64

65 TRID1=FI111,FI112,FI113;

66 TRID2=FI121,FI122,FI123;

67 TRID3=FI131,FI132,FI133;

68 Mat1=MatrixForm[TRID1,TRID2,TRID3]

Programa para las integrales del producto interno

⟨ϕj

∣∣∣∣ϕi

j∈Γ2

en los triangulos

superiores:

65

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[g11,g12,g13,g21,g22,g23,g31,g32,g33];

3 ClearAll[h11,h12,h13,h21,h22,h23,h31,h32,h33];

4

5 F1[\[Lambda]_,\[Phi]_]=\[Lambda]/d\[Lambda]+\[Phi]/d\[Phi]-1;

6 F2[\[Lambda]_,\[Phi]_]=1-\[Lambda]/d\[Lambda];

7 F3[\[Lambda]_,\[Phi]_]=1-\[Phi]/d\[Phi];

8

9 g[\[Phi]_]=1;

10

11 \[Lambda]min=0;

12 \[Lambda]max=d\[Lambda];

13 \[Phi]min=0;

14 \[Phi]max=d\[Phi];

15

16 g11[\[Phi]_]=

17 Integrate[F1[\[Lambda]max,\[Phi]] F1[\[Lambda]max,\[Phi]], \[Phi]];

18 h11=Simplify[g11[\[Phi]max]-g11[\[Phi]min]];

19

20 g12[\[Phi]_]=

21 Integrate[F1[\[Lambda]max,\[Phi]] F2[\[Lambda]max,\[Phi]], \[Phi]];

22 h12=Simplify[g12[\[Phi]max]-g12[\[Phi]min]];

23

24 g13[\[Phi]_]=

25 Integrate[F1[\[Lambda]max,\[Phi]] F3[\[Lambda]max,\[Phi]], \[Phi]];

26 h13=Simplify[g13[\[Phi]max]-g13[\[Phi]min]];

27

28 g21[\[Phi]_]=

29 Integrate[F2[\[Lambda]max,\[Phi]] F1[\[Lambda]max,\[Phi]], \[Phi]];

30 h21=Simplify[g21[\[Phi]max]-g21[\[Phi]min]];

31

32 g22[\[Phi]_]=

33 Integrate[F2[\[Lambda]max,\[Phi]] F2[\[Lambda]max,\[Phi]], \[Phi]];

34 h22=Simplify[g22[\[Phi]max]-g22[\[Phi]min]];

35

36 g23[\[Phi]_]=

37 Integrate[F2[\[Lambda]max,\[Phi]] F3[\[Lambda]max,\[Phi]], \[Phi]];

38 h23=Simplify[g23[\[Phi]max]-g23[\[Phi]min]];

39

40 g31[\[Phi]_]=

41 Integrate[F3[\[Lambda]max,\[Phi]] F1[\[Lambda]max,\[Phi]], \[Phi]];

42 h31=Simplify[g31[\[Phi]max]-g31[\[Phi]min]];

43

44 g32[\[Phi]_]=

45 Integrate[F3[\[Lambda]max,\[Phi]] F2[\[Lambda]max,\[Phi]], \[Phi]];

66

46 h32=Simplify[g32[\[Phi]max]-g32[\[Phi]min]];

47

48 g33[\[Phi]_]=

49 Integrate[F3[\[Lambda]max,\[Phi]] F3[\[Lambda]max,\[Phi]], \[Phi]];

50 h33=Simplify[g33[\[Phi]max]-g33[\[Phi]min]];

51

52 TRID1=h11,h12,h13;

53 TRID2=h21,h22,h23;

54 TRID3=h31,h32,h33;

55 Mat1=MatrixForm[TRID1,TRID2,TRID3]

Programa para las integrales del producto interno

⟨ce

∣∣∣∣ϕi

i∈Γ2

en los triangulos

superiores:

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[g11,g12,g13];

3 ClearAll[h11,h12,h13];

4

5 F1[\[Lambda]_,\[Phi]_]=\[Lambda]/d\[Lambda]+\[Phi]/d\[Phi]-1;

6 F2[\[Lambda]_,\[Phi]_]=1-\[Lambda]/d\[Lambda];

7 F3[\[Lambda]_,\[Phi]_]=1-\[Phi]/d\[Phi];

8

9 \[Lambda]min=0;

10 \[Lambda]max=d\[Lambda];

11 \[Phi]min=0;

12 \[Phi]max=d\[Phi];

13

14 g11[\[Phi]_]= Integrate[F1[\[Lambda]max,\[Phi]], \[Phi]];

15 h11=Simplify[g11[\[Phi]max]-g11[\[Phi]min]];

16

17 g12[\[Phi]_]=Integrate[F2[\[Lambda]max,\[Phi]], \[Phi]];

18 h12=Simplify[g12[\[Phi]max]-g12[\[Phi]min]];

19

20 g13[\[Phi]_]=Integrate[F3[\[Lambda]max,\[Phi]], \[Phi]];

21 h13=Simplify[g13[\[Phi]max]-g13[\[Phi]min]];

22

23 MATR=h11,h12,h13;

24 VET=MatrixForm[Transpose[MATR]]

Programa para las integrales del producto interno (F|ϕi) en los triangulos superiores:

1 ClearAll[F1,F2,F3,\[Lambda]min,\[Lambda]max,\[Phi]min,\[Phi]max];

2 ClearAll[G11,G12,G13];

3 ClearAll[G111,G112,G113];

4 ClaerAll[H111,H112,H1133];

67

5

6 F1[\[Lambda]_,\[Phi]_]=\[Lambda]/d\[Lambda]+\[Phi]/d\[Phi]-1;

7 F2[\[Lambda]_,\[Phi]_]=1-\[Lambda]/d\[Lambda];

8 F3[\[Lambda]_,\[Phi]_]=1-\[Phi]/d\[Phi];

9

10 \[Lambda]min=0;

11 \[Lambda]max=d\[Lambda];

12 \[Phi]min=-(d\[Phi]/d\[Lambda]) (\[Lambda]-d\[Lambda]);

13 \[Phi]max=d\[Phi];

14

15 G11[\[Lambda]_,\[Phi]_]=Integrate[ F1[\[Lambda],\[Phi]], \[Phi]];

16 G111[\[Lambda]_]=G11[\[Lambda],\[Phi]max]-G11[\[Lambda],\[Phi]min];

17 H111[\[Lambda]_]=Integrate[G111[\[Lambda]],\[Lambda]];

18 FI111=Simplify[H111[\[Lambda]max]-H111[\[Lambda]min]];

19

20 G12[\[Lambda]_,\[Phi]_]=Integrate[ F2[\[Lambda],\[Phi]], \[Phi]];

21 G112[\[Lambda]_]=G12[\[Lambda],\[Phi]max]-G12[\[Lambda],\[Phi]min];

22 H112[\[Lambda]_]=Integrate[G112[\[Lambda]],\[Lambda]];

23 FI112=Simplify[H112[\[Lambda]max]-H112[\[Lambda]min]];

24

25 G13[\[Lambda]_,\[Phi]_]=Integrate[ F3[\[Lambda],\[Phi]], \[Phi]];

26 G113[\[Lambda]_]=G13[\[Lambda],\[Phi]max]-G13[\[Lambda],\[Phi]min];

27 H113[\[Lambda]_]=Integrate[G113[\[Lambda]],\[Lambda]];

28 FI113=Simplify[H113[\[Lambda]max]-H113[\[Lambda]min]];

29

30 TRID=FI111,FI112,FI113;

31 Mat=MatrixForm[Transpose[TRID]]

68