Sei sulla pagina 1di 309

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

Antonio Carrillo Ledesma, Karla Ivonne Gonz·lez Rosas y Omar Mendoza Bernal Facultad de Ciencias, UNAM http://academicos.fciencias.unam.mx/antoniocarrillo

Una copia de este trabajo se puede descargar de la p·gina:

Verano 2018, VersiÛn 1.0

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

Õndice

1 IntroducciÛn

 

6

1.1 Antecedentes

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6

1.2 MÈtodos de DescomposiciÛn de Dominio

 

7

1.3 Objetivos

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

1.4 Infraestructura Computacional Usada

 

11

2 Sistemas Continuos y sus Modelos

 

12

2.1 Los Modelos .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

2.1.1

 

FÌsica MicroscÛpica y FÌsica MacroscÛpica

 

12

2.2 Cinem·tica de los Modelos de Sistemas Continuos

13

2.2.1 Propiedades Intensivas y sus Representaciones

 

15

2.2.2 Propiedades Extensivas

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

2.2.3 Balance de Propiedades Extensivas e Intensivas

 

18

2.3 Ejemplos de Modelos .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

3 Ecuaciones Diferenciales Parciales

 

24

3.1 ClasiÖcaciÛn .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

24

3.2 Condiciones Iniciales y de Frontera

 

27

3.3 Modelos Completos .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

28

4 MÈtodo de Diferencias Finitas

 

30

4.1 MÈtodo de Diferencias Finitas en una DimensiÛn

 

30

4.1.1 Problema con Condiciones de Frontera Dirichlet .

.

.

.

.

31

4.1.2 Problema con Condiciones de Frontera Neumann

 

39

4.1.3 Problema con Condiciones de Frontera Robin

 

41

4.1.4 EcuaciÛn con Primera Derivada Temporal

 

49

4.1.5 EcuaciÛn con Segunda Derivada Temporal

53

4.2 Consistencia, Estabilidad, Convergencia y Error del MÈtodo de

 

Diferencias Finitas

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

57

4.3 MÈtodo de Diferencias Finitas en Dos y Tres Dimensiones

 

59

4.4 Las Ecuaciones de Navier-Stokes

 

62

5 ParalelizaciÛn del MÈtodo de Diferencias Finitas

 

66

5.1 MÈtodos de DescomposiciÛn de Dominio

 

69

5.2 MÈtodo de Schwarz .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

70

5.3 MÈtodo de DescomposiciÛn de Dominio de SubestructuraciÛn (DDM) .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

74

5.4 MÈtodos del Espacio de Vectores Derivados (DVS)

 

83

5.4.1 DiscretizaciÛn de los MÈtodos Partiendo de la Formu-

 
 

laciÛn Local .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

84

5.4.2 FormulaciÛn Operacional de los MÈtodos DVS

.

.

.

.

.

.

85

5.4.3 ImplementaciÛn NumÈrica de DVS

 

89

5.4.4 ImplementaciÛn para Matrices SimÈtricas

 

89

5.4.5 ImplementaciÛn para Matrices no SimÈtricas e IndeÖnidas

90

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

5.4.6 EvaluaciÛn de los Operadores Virtuales S y S 1

91

6 ImplementaciÛn Computacional Secuencial y Paralela de DDM 93

6.1 El Operador de Laplace y la EcuaciÛn de Poisson

.

.

.

.

.

.

.

.

.

94

6.2 MÈtodo de Diferencias Finitas Secuencial

.

.

.

.

.

.

.

.

.

.

.

.

.

96

6.3 MÈtodo de SubestructuraciÛn Secuencial

98

6.4 MÈtodo de SubestructuraciÛn en Paralelo

.

.

.

.

.

.

.

.

.

.

.

.

.

102

6.5 MÈtodo de SubestructuraciÛn en Paralelo Precondicionado

106

7 An·lisis de Rendimiento y Observaciones para el mÈtodo DDM 109

7.1 An·lisis de Comunicaciones

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

109

7.2 AfectaciÛn del Rendimiento al Aumentar el N˙mero de Subdo- minios en la DescomposiciÛn .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

110

7.3 DescomposiciÛn ”ptima para un Equipo Paralelo

 

111

7.4 Consideraciones para Aumentar el Rendimiento

 

113

7.5 Observaciones .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

115

8 ImplementaciÛn Computacional Secuancial y Paralela de DVS 117

8.1 Esquema Maestro-Esclavo como una Forma de ImplementaciÛn . 117

8.2 An·lisis, DiseÒo y ProgramaciÛn Orientada a Objetos

118

8.2.1 ImplementaciÛn Secuencial en C++

119

8.2.2 ImplementaciÛn Paralela en C++ Usando MPI

120

8.3 Alcances y Limitaciones del Esquema Maestro-Esclavo

122

8.4 AfectaciÛn del Rendimiento al ReÖnar la DescomposiciÛn

127

8.5 Opciones para Soportar una DescomposiciÛn Fina del Dominio . 129

131

8.6 Otras Opciones de ParalelizaciÛn

9 An·lisis de Rendimiento y Observaciones para el mÈtodo DVS 133

9.1 An·lisis de Rendimiento para Problemas SimÈtricos y no SimÈtricos 133

136

9.3 An·lisis de Rendimiento para Problemas de AdvecciÛn-DifusiÛn . 138

9.2 An·lisis de Rendimiento para Problemas IndeÖnidos

9.4 An·lisis de Rendimiento para Sistemas de Ecuaciones

 

143

9.5 An·lisis de Rendimiento en Equipos Paralelos

 

144

9.5.1 SelecciÛn ”ptima de una DescomposiciÛn del Dominio

 

. 144

9.5.2 An·lisis de Rendimiento Usando MÈtricas

 

148

9.5.3 Escalabilidad del Esquema DVS

 

151

9.6 Criterios Integrales para Evaluar el Esquema DVS

 

152

9.7 Observaciones .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

155

10 ApÈndice A: ExpansiÛn en Series de Taylor

 

157

10.1 AproximaciÛn de la Primera Derivada

 

157

10.1.1 Diferencias Progresivas .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

157

10.1.2 Diferencias Regresivas

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

158

10.1.3 Diferencias Centradas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

158

10.2 An·lisis de Convergencia .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

159

10.3 Derivadas de Ordenes Mayores

 

161

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

 

10.3.1 Derivada de Orden Dos

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

161

10.3.2 Derivadas de Orden Tres y Cuatro

 

162

10.4

Derivadas en Dos y Tres Dimensiones

 

163

10.4.1 Derivadas en Dos Dimensiones

163

10.4.2 Derivadas en Tres Dimensiones

165

11 ApÈndice B: Consideraciones Sobre la ImplementaciÛn de MÈto-

dos de SoluciÛn de Grandes Sistemas de Ecuaciones Lineales 167

11.1 MÈtodos Directos .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

168

11.1.1 FactorizaciÛn LU

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

169

11.1.2 FactorizaciÛn Cholesky .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

170

11.2 MÈtodos Iterativos

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

171

11.2.1 MÈtodo de Gradiente Conjugado

 

172

11.2.2 Gradiente Conjugado Precondicionado

 

176

11.2.3 MÈtodo Residual MÌnimo Generalizado

178

11.3 Precondicionadores .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

180

11.3.1 Precondicionador a Posteriori

 

182

11.3.2 Precondicionador a Priori

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

185

11.4 Estructura ”ptima de las Matrices en su ImplementaciÛn Com-

 

putacional .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

187

11.4.1 Matrices Bandadas .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

189

11.4.2 Matrices Dispersas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

190

11.4.3 MultiplicaciÛn Matriz-Vector

 

192

12 ApÈndice C: Marco TeÛrico del Espacio de Vectores Derivados DVS

194

12.1 Formulaciones Dirichlet-Dirichlet y Neumann-Neumann a Nivel

Continuo

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

194

12.2 El Problema no Precondicionado Dirichlet-Dirichlet

 

196

12.3 El Problema no Precondicionado Neumann-Neumann

 

197

12.4 DiscretizaciÛn del Dominio para los MÈtodos Duales y Primales . 198

12.5 Una Verdadera DescomposiciÛn de Dominio sin Traslapes

 

200

12.6 El Problema Original .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

204

12.7 El Espacio de Vectores Derivado

 

206

12.8 DiscretizaciÛn Partiendo de la ConstrucciÛn de la Matriz A t

 

209

12.9 El Problema General con Restricciones

 

212

13 ApÈndice D: Formulaciones Dirichlet-Dirichlet y Neumann-Neumann

en el Marco del Espacio de Vectores Derivados DVS

 

214

13.1 Algoritmos no Precondicionados

 

215

13.1.1 Algoritmo del Complemento de Schur

 

215

13.1.2 FormulaciÛn Dual del Problema Neumann-Neumann

 

215

13.1.3 FormulaciÛn Primal del Problema Neumann-Neumann

 

216

13.1.4 Segunda FormulaciÛn Dual del Problema Neumann-

 

Neumann

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

217

13.2 Algoritmos Precondicionados

 

218

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

13.2.1 VersiÛn DVS del Algoritmo BDDC

218

13.2.2 VersiÛn DVS del Algoritmo FETI-DP

219

13.2.3 FormulaciÛn Primal Precondicionada del Problema Neumann-

 

Neumann

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

221

13.2.4 Segunda FormulaciÛn Dual Precondicionada del Problema

 
 

Neumann-Neumann

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

222

13.3

El Operador de Steklov-PoincarÈ

 

223

14 ApÈndice E: Consideraciones Sobre la FormulaciÛn NumÈrica y

su ImplementaciÛn Computacional de DVS

 

229

14.1 Matrices Virtuales y Susceptibles de Construir

229

14.2 EvaluaciÛn de la Matriz S con Nodos Primales DeÖnidos

 

230

14.3 EvaluaciÛn de la Matriz S 1 con Nodos Primales DeÖnidos

 

232

14.4 C·lculo de los Nodos Interiores

 

233

14.5 DescomposiciÛn de Schur sin Nodos Primales

.

.

.

.

.

.

.

.

.

.

.

233

14.6 DVS para Ecuaciones Escalares y Vectoriales

.

.

.

.

.

.

.

.

.

.

.

234

15 ApÈndice F: El CÛmputo en Paralelo

 

239

15.1 Arquitecturas de Software y Hardware

239

15.1.1

ClasiÖcaciÛn de Flynn

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

239

15.2 CategorÌas de Computadoras Paralelas

 

242

15.2.1 Equipo Paralelo de Memoria Compartida

 

243

15.2.2 Equipo Paralelo de Memoria Distribuida

245

15.2.3 Equipo Paralelo de Memoria Compartida-Distribuida

 

246

15.2.4 CÛmputo Paralelo en Multihilos

 

249

15.2.5 Computo Paralelo en CUDA

 

250

15.3 Escalabilidad

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

253

15.4 MÈtricas de DesempeÒo

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

257

15.5 ProgramaciÛn de CÛmputo de Alto Rendimiento

 

260

15.5.1 Programando con OpenMP para Memoria Compartida

 

261

15.5.2 Programando con MPI para Memoria Distribuida

 

264

15.5.3 Esquema de ParalelizaciÛn Maestro-Esclavo

 

268

15.5.4 Opciones de ParalelizaciÛn Hibridas

 

271

16 ApÈndice G: ImplementaciÛn Computacional del MÈtodo de

Diferencias Finitas para la ResoluciÛn de Ecuaciones Diferen- ciales Parciales

273

16.1 ImplementaciÛn en Octave (MatLab)

 

273

16.2 ImplementaciÛn en SciLab .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

277

16.3 ImplementaciÛn en C++ .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

286

16.4 ImplementaciÛn en Python

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

288

16.5 ImplementaciÛn en Java

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

290

16.6 ImplementaciÛn en MONO (C#)

 

293

16.7 ImplementaciÛn en Fortran

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

296

16.8 ImplementaciÛn en C .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

298

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

17 BibliografÌa

302

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

1 IntroducciÛn

Los sistemas continuos ó sistemas fÌsicos macroscÛpicos (vÈase [1])ó , tales como los yacimientos petroleros, la atmÛsfera, los campos electromagnÈticos, los ocÈa- nos, el aparato circulatorio de los seres humanos, la corteza terrestre y muchos otros sistemas de interÈs en Ciencia y en IngenierÌa, al modelarse, estos contienen un gran n˙mero de grados de libertad 1 . Los modelos matem·ticos de los sistemas continuos (vÈase [66] y [11]) son sistemas de ecuaciones diferenciales, las cuales son parciales ó con valores ini- ciales y condiciones de fronteraó para casi todos los sistemas de mayor interÈs en la Ciencia y la IngenierÌa. Salvo por los problemas m·s sencillos, no es posible obtener por mÈtodos analÌticos las soluciones de tales ecuaciones, que son las que permiten predecir el comportamiento de los sistemas continuos y realizar las simulaciones requeridas. La capacidad para formular los modelos matem·ticos de sistemas continuos complicados y de gran diversidad, es sin duda una contribuciÛn fundamental para el avance de la Ciencia y sus aplicaciones, tal contribuciÛn quedarÌa in- completa y, debido a ello, serÌa poco fecunda, si no se hubiera desarrollado simult·neamente su complemento esencial: los mÈtodos numÈricos y la com- putaciÛn electrÛnica. Sin embargo, la soluciÛn numÈrica y las simulaciones computacionales de problemas concomitantes en Ciencias e IngenierÌas han llevado al lÌmite nuestra actual capacidad de predicciÛn, por la gran cantidad de grados de libertad que necesitan nuestros modelos para tratar de representar a la realidad. Con el desarrollo de nuevas herramientas numÈricas y computacionales, la diversidad y complejidad de problemas que pueden ser tratados de forma sa- tisfactoria y eÖciente es impresionante. Pero hay que destacar, que todavÌa hay una gama de problemas que hasta la fecha no es posible resolver satisfactoria- mente o con la precisiÛn deseada ó como la predicciÛn clim·tica a largo plazo o simulaciÛn de recuperaciÛn mejorada en yacimientos petroleros, entre otrosó .

1.1 Antecedentes

La soluciÛn numÈrica de ecuaciones diferenciales parciales por los esquemas tradicionales ó tipo Diferencias Finitas, Volumen Finito y Elemento Finitoó reducen el problema a la generaciÛn y soluciÛn de un ó cada vez m·s grandeó sistema algebraico de ecuaciones (vÈase [4]). La factorizaciÛn directa de sistemas de gran escala O (10 6 ) con toda su eÖcacia, no es, en general una opciÛn viable, y el uso de mÈtodos iterativos b·sicos ó tales como el mÈtodo de gradiente con- jugado o residual mÌnimo generalizadoó resultan en una convergencia bastante lenta con respecto a otras formas de discretizaciÛn como son los mÈtodos de descomposiciÛn de dominio (vÈase [7] y [9]). El desarrollo de mÈtodos numÈricos para sistemas algebraicos grandes, es central en el desarrollo de cÛdigos eÖcientes para la soluciÛn de problemas en

1 El n˙mero de grados de libertad en un sistema fÌsico se reÖere al n˙mero mÌnimo de n˙meros reales que es necesario especiÖcar para determinar completamente el estado fÌsico.

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

Ciencia e IngenierÌa, actualmente cuando se necesita implementar una soluciÛn computacional, se dispone de bibliotecas optimizadas 2 para la soluciÛn de sis- temas lineales que pueden correr en ambientes secuenciales y/o paralelos. Estas bibliotecas implementan mÈtodos algebraicos robustos para muchos problemas pr·cticos, pero sus discretizaciones no pueden ser construidas por sÛlo tÈcni- cas algebraicas simples, tales como aproximaciones a la inversa o factorizaciÛn incompleta. En la actualidad, los sistemas computacionales paralelos son ubicuos. En ellos es posible encontrar m·s de una unidad de procesamiento, conocidas como N˙cleo (Core). El n˙mero de Cores es creciente conforme avanza la tecnologÌa, esto tiene una gran importancia en el desarrollo eÖciente de algoritmos que resuelvan sistemas algebraicos en implementaciones paralelas. Actualmente la gran mayorÌa de los algoritmos desarrollados son algoritmos secuenciales y su implantaciÛn en equipos paralelos no es Ûptima, pero es una pr·ctica com˙n usar diversas tÈcnicas de seudoparalelizaciÛn ó a veces mediante la distribuciÛn de una gran matriz en la memoria de los m˙ltiples Cores y otras mediante el uso de directivas de compilaciÛnó , pero la eÖciencia resultante es pobre y no escalable a equipos masivamente paralelos por la gran cantidad de comunicaciÛn involucrada en la soluciÛn. Para hacer eÖciente la soluciÛn de sistemas de ecuaciones diferenciales par- ciales, se introdujeron los mÈtodos de descomposiciÛn de dominio que toman en cuenta la ecuaciÛn diferencial parcial y su discretizaciÛn, permitiendo una alta eÖciencia computacional en diversas arquitecturas paralelas (vÈase [7] y [9]). La idea b·sica detr·s de los mÈtodos de descomposiciÛn de dominio es que en lugar de resolver un enorme problema sobre un dominio, puede ser conveniente ó o necesarioó resolver m˙ltiples problemas de tamaÒo menor sobre un solo sub- dominio un cierto n˙mero de veces. Mucho del trabajo en la descomposiciÛn de dominio se relaciona con la selecciÛn de subproblemas que aseguren que la razÛn de convergencia del nuevo mÈtodo iterativo sea r·pida. En otras palabras, los mÈtodos de descomposiciÛn de dominio proveen precondicionadores a priori que puedan acelerarse por mÈtodos en el espacio de Krylov (vÈase [23]).

1.2 MÈtodos de DescomposiciÛn de Dominio

La descomposiciÛn de dominio generalmente se reÖere a la separaciÛn de una ecuaciÛn diferencial parcial o una aproximaciÛn de ella dentro de problemas acoplados sobre subdominios pequeÒos formando una particiÛn del dominio ori- ginal. Esta descomposiciÛn puede hacerse a nivel continuo, donde diferentes modelos fÌsicos, pueden ser usados en diferentes regiones, o a nivel discreto, donde puede ser conveniente el empleo de diferentes mÈtodos de aproximaciÛn en diferentes regiones, o en la soluciÛn del sistema algebraico asociado a la aproximaciÛn de la ecuaciÛn diferencial parcial ó estos tres aspectos est·n Ìnti- mamente interconectados en la pr·ctica (vÈase [23])ó .

2 Como pueden ser las bibliotecas ATLAS ó http://math-atlas.sourceforge.netó y HYPRE ó http://acts.nersc.gov/hypre/ó entre muchas otras.

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

Los mÈtodo de descomposiciÛn de dominio ó Domain Decomposition Metho- ds (DDM)ó se basan en la suposiciÛn de que dado un dominio R n ; se puede

particionar en E subdominios i ; i = 1; 2; :::; E ; tales que =

=1 i ! ; entre

E

[

i

los cuales puede o no existir traslape (vÈase [ 4] y [ 23]). Entonces, el problema es reformulado en tÈrminos de cada subdominio ó mediante el uso de alg˙n mÈtodo de discretizaciÛnó obteniendo una familia de subproblemas de tamaÒo reducido independientes entre sÌ, y que est·n acoplados a travÈs de la soluciÛn en la interfase ó que es desconocidaó de los subdominios. De esta manera, se puede clasiÖcar de forma burda a los mÈtodos de descom- posiciÛn de dominio (vÈase [7]), como aquellos en que: existe traslape entre los subdominios y en los que no existe traslape. A la primera clase pertenece el mÈtodo de Schwarz ó en el cual el tamaÒo del traslape es importante en la con- vergencia del mÈtodoó y a los de la segunda clase pertenecen los mÈtodos del tipo subestructuraciÛn ó en el cual los subdominios sÛlo tienen en com˙n a los nodos de la interfase o frontera interioró . Desde hace ya alg˙n tiempo, la comunidad internacional 3 inicio el estudio intensivo de los mÈtodos de descomposiciÛn de dominio, la atenciÛn se ha des- plazado (vÈase [10]) de los mÈtodos con traslape en el dominio (vÈase [54]) a los mÈtodos sin traslape en el dominio (vÈase [47], [ 48], [ 49], [ 50] y [51]), ya que estos ˙ltimos son m·s efectivos para una gran variedad de problemas de la Ciencia y la IngenierÌa. Los mÈtodos de descomposiciÛn de dominio sin traslape son un paradigma natural usado por la comunidad de modeladores (vÈase [1]). Los sistemas fÌsi- cos son descompuestos en dos o m·s subdominios contiguos basados en consi- deraciones fenomenolÛgicas o computacionales. Esta descomposiciÛn se reáeja en la IngenierÌa de Software del cÛdigo correspondiente, adem·s, el uso de la programaciÛn orientada a objetos, permite dividir en niveles la sem·ntica de los sistemas complejos, tratando asÌ con las partes, m·s manejables que el todo, per- mitiendo una implementaciÛn, extensiÛn y mantenimiento sencillo (vÈase [21]). Tomando en cuenta que los mÈtodos de descomposiciÛn de dominio sin traslape son f·cilmente implementados para su uso en computadoras paralelas mediante tÈcnicas de programaciÛn orientada a objetos ó porquÈ el algoritmo del mÈtodo es paraleloñ, adem·s, con los continuos avances en cÛmputo, en particular, en la computaciÛn en paralelo mediante equipos de cÛmputo de alto desempeÒo y/o Clusters parecen ser el mecanismo m·s efectivo para incrementar la capacidad y velocidad de resoluciÛn de varios tipos de problemas de interÈs en Ciencias e IngenierÌas usando mÈtodos de descomposiciÛn de dominio (vÈase [48], [49], [50], [52] y [53]). La implementaciÛn de los mÈtodos de descomposiciÛn de dominio permite

3 Ello se reáeja en las m·s de 19 conferencias internacionales de MÈtodos DescomposiciÛn de Dominio (vÈase [ 22 ]) y de las cuales se han publicado 14 libros que recopilan los traba jos m·s relevantes de cada conferencia. Adem·s de varios mini simposios de descomposiciÛn de dominio en congresos mundiales como es el World Congress on Computational Mechanics o el Iberian Latin American Congress on Computational Methods in Engineering.

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

utilizar de forma eÖciente, las crecientes capacidades del cÛmputo en paralelo (vÈase [22] y [ 23]) ó Grids 4 de decenas de Clusters, cada uno con cientos o miles de procesadores interconectados por red, con un creciente poder de cÛmputo medible en Peta Flopsó , asÌ como el uso de una amplia memoria ó ya sea distribuida y/o compartida del orden de Tera Bytesó , permitiendo atacar una gran variedad de problemas que sin estas tÈcnicas es imposible hacerlo de manera áexible y eÖciente. Pero hay que notar que existe una amplia gama de problemas que se necesitan resolver, los cuales superan la capacidad de cÛmputo actual, ya sea por el tiempo requerido para su soluciÛn, por el consumo excesivo de memoria o ambos. AsÌ, los mÈtodos de descomposiciÛn de dominio que introducen desde la formulaciÛn matem·tica del problema una separaciÛn natural de las tareas a realizar y simpliÖcan considerablemente la transmisiÛn de informaciÛn entre los subdominios (vÈase [ 23]), en conjunciÛn con la programaciÛn orientada a objetos y el cÛmputo en paralelo forman una amalgama poderosa. La cual permite construir aplicaciones que coadyuven en la soluciÛn una gran gama de problemas concomitantes en Ciencias e IngenierÌas que requieren hacer uso de una gran cantidad de grados de libertad. Por otro lado, la lista de los mÈtodos de descomposiciÛn de dominio y el tipo de problemas que pueden ser atacados por estos, es grande y est· en constante evoluciÛn (vÈase [ 22] y [23]), ya que se trata de encontrar un equilibrio entre la complejidad del mÈtodo ó aunada a la propia complejidad del modeloó , la eÖciencia en el consumo de los recursos computacionales y la precisiÛn esperada en la soluciÛn encontrada por los diversos mÈtodos y las arquitecturas paralelas en la que se implante.

1.3 Objetivos

El presente trabajo tiene por objetivo el hacer una introducciÛn al MÈtodo de Diferencias Finitas (MDF) y su implementaciÛn computacional, este mÈtodo es de car·cter general que permite la resoluciÛn aproximada de ecuaciones dife- renciales en derivadas parciales deÖnidas en un dominio Önito. Es de una gran sencillez conceptual y constituye un procedimiento muy adecuado para la reso- luciÛn de una ecuaciÛn en una, dos o tres dimensiones. El mÈtodo consiste en una aproximaciÛn de las derivadas parciales por expre- siones algebraicas con los valores de la variable dependiente en un n˙mero Önito de puntos seleccionados en el dominio. Como resultado de la aproximaciÛn, la ecuaciÛn diferencial parcial que describe el problema es remplazada por un n˙mero Önito de ecuaciones algebraicas, en tÈrminos de los valores de la variable dependiente en los puntos seleccionados. El valor de los puntos seleccionados de

4 Ba jo el Macroproyecto: TecnologÌas para la Universidad de la InformaciÛn y la Com- putaciÛn de la UNAM, se interconectaron cuatro Cluster heterogÈneos ó dos en la Facultad de Ciencias, uno en el Instituto de GeofÌsica y otro en el Instituto de Matem·ticas Aplicadas y Sistemasó con redes no dedicadas y en ellos se probo una versiÛn de los cÛdigos, en los cuales se vio que es factible el uso en Grids y si estos cuentan con una red dedicada ó de alta velocidadó su eÖciencia puede llegar a ser alta.

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

convierten en las incÛgnitas. La soluciÛn del sistema de ecuaciones algebraico permite obtener la soluciÛn aproximada en cada punto seleccionado de la malla.

Objetivos Generales Mostraremos la parte teÛrica del mÈtodo de Diferen- cias Finitas y como implementar soluciones computacional en una, dos y tres di- mensiones para resolver ecuaciones diferenciales parciales ó elÌpticas, parabÛli- cas e hiperbÛlicasó con condiciones de frontera Dirichlet, Neumann o Robin.

Objetivos Particulares La implementaciÛn computacional b·sica del mÈtodo de Diferencias Finitas fuÈ hecha en los paquetes de cÛmputo OCTAVE (Mat- Lab), SciLab y en los lenguajes de programaciÛn C++, Python, Java, Mono (C#), Fortran y C. Adem·s, el modelo computacional generado para la parelizaciÛn de los mÈto- dos de descomposiciÛn de dominio ó MÈtodo de DescomposiciÛn de Dominio de SubestructuraciÛn (DDM) y MÈtodos del Espacio de Vectores Derivados (DVS)ó , est· contenido en un programa de cÛmputo bajo el paradigma de pro- gramaciÛn orientada a objetos, programado en el lenguaje C++ en su forma secuencial y en su forma paralela en C++ y la interfaz de paso de mensajes (MPI) bajo el esquema Maestro-Esclavo. Para desarrollar estos cÛdigos, se realizÛ una jerarquÌa de clases 5 para cada uno de los distintos componentes del sistema de descomposiciÛn de dominio en base a clases abstractas, las cuales reducen la complejidad del esquema DDM y DVS, permitiendo usarlo tanto en forma secuencial como paralela redeÖniendo sÛlo algunos comportamientos.

Estos ejemplos y el presente texto se pueden descargar de la p·gina WEB:

git clone git://github.com/antoniocarrillo69/MDF.git

git clone https://gitlab.com/antoniocarrillo69/MDF.git

5 Hay que notar que, el paradigma de programaciÛn orientada a ob jetos sacriÖca algo de eÖciencia computacional por requerir mayor manejo de recursos computacionales al momento de la ejecuciÛn. Pero en contraste, permite mayor áexibilidad a la hora de adaptar los cÛdigos a nuevas especiÖcaciones. Adicionalmente, disminuye notoriamente el tiempo invertido en el mantenimiento y b˙squeda de errores dentro del cÛdigo. Esto tiene especial interÈs cuando se piensa en la cantidad de meses invertidos en la programaciÛn comparada con los segundos consumidos en la ejecuciÛn. 6 GitHub es una plataforma de desarrollo colaborativo para alo jar proyectos usando el sistema de control de versiones GIT. 7 GitLab es una plataforma de desarrollo colaborativo para alo jar proyectos usando el sis- tema de control de versiones GIT.

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

1.4 Infraestructura Computacional Usada

La programaciÛn, depuraciÛn y puesta a punto de los cÛdigos fue hecha en el siguiente equipo:

Notebook Intel dual Core a 1.7 GHtz con 2 GB de RAM en Linux/GNU Debian, haciendo uso del compilador C++ GNU y MPICH para el paso de mensajes.

PC Intel Quad Core a 2.4 GHtz con 3 GB de RAM en Linux/GNU De- bian, haciendo uso del compilador C++ GNU y MPICH para el paso de mensajes.

Las pruebas de rendimiento de los distintos programas se realizaron en equipos multiCore y Clusters a los que se tuvo acceso y que est·n montados en la Universidad Nacional AutÛnoma de MÈxico, en las pruebas de an·lisis de rendimiento se usÛ el siguiente equipo:

Cluster homogÈneo Kanbalam de 1024 Cores AMD Opteron a 2.6 GHtz de

64

bits, cada 4 Cores con 8 GB de RAM interconectados con un switch de

10

Gbps ubicado en el Departamento de SupercÛmputo de la D.G.C.T.I.C

de la UNAM.

Cluster homogÈneo Olintlali de 108 Cores emulando 216 hilos, Intel Xeon

a 2.67 GHtz, 9 nodos con 6 Cores y 8 hilos de ejecuciÛn con 48 GB RAM

interconectados con GIGE 10/100/1000 Gb/s, a cargo del Dr. Ismael Herrera Revilla del Departamento de Recursos Naturales del Instituto de

GeofÌsica de la UNAM.

Cluster homogÈneo Pohualli de 104 Cores Intel Xeon a 2.33 GHtz de 64 bits, cada 8 Cores cuentan con 32 GB de RAM interconectados con un switch de 1 Gbps, a cargo del Dr. VÌctor Cruz Atienza del Departamento de SismologÌa del Instituto de GeofÌsica de la UNAM.

Cluster homogÈneo IO de 22 Cores Intel Xeon a 2.8 GHtz de 32 bits, cada 2 Cores con 1 GB de RAM interconectados con un switch de 100 Mbps,

a cargo de la Dra. Alejandra Arciniega Ceballos del Departamento de VulcanologÌa del Instituto de GeofÌsica de la UNAM.

PC de alto rendimiento Antipolis de 8 Cores Intel Xeon a 2.33 GHtz de 64 bits y 32 GB de RAM, a cargo del Dr. VÌctor Cruz Atienza del Departamento de SismologÌa del Instituto de GeofÌsica de la UNAM.

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

2 Sistemas Continuos y sus Modelos

Los fundamentos de la fÌsica macroscÛpica los proporciona la ëteorÌa de los medios continuosí. En este capÌtulo, con base en ella se introduce una for- mulaciÛn clara, general y sencilla de los modelos matem·ticos de los sistemas continuos. Esta formulaciÛn es tan sencilla y tan general, que los modelos b·si- cos de sistemas tan complicados y diversos como la atmÛsfera, los ocÈanos, los yacimientos petroleros, o los geotÈrmicos, se derivan por medio de la aplicaciÛn repetida de una sola ecuaciÛn diferencial: ëla ecuaciÛn diferencial de balanceí. Dicha formulaciÛn tambiÈn es muy clara, pues en el modelo general no hay ninguna ambig¸edad; en particular, todas las variables y par·metros que in- tervienen en Èl, est·n deÖnidos de manera unÌvoca. En realidad, este modelo general de los sistemas continuos constituye una realizaciÛn extraordinaria de los paradigmas del pensamiento matem·tico. El descubrimiento del hecho de que los modelos matem·ticos de los sistemas continuos, independientemente de su naturaleza y propiedades intrÌnsecas, pueden formularse por medio de balances, cuya idea b·sica no diÖere mucho de los balances de la contabilidad Önanciera, fue el resultado de un largo proceso de perfeccionamiento en el que concurrieron una multitud de mentes brillantes.

2.1 Los Modelos

Un modelo de un sistema es un sustituto de cuyo comportamiento es posible derivar el correspondiente al sistema original. Los modelos matem·ticos, en la actualidad, son los utilizados con mayor frecuencia y tambiÈn los m·s vers·tiles. En las aplicaciones especÌÖcas est·n constituidos por programas de cÛmputo cuya aplicaciÛn y adaptaciÛn a cambios de las propiedades de los sistemas es relativamente f·cil. TambiÈn, sus bases y las metodologÌas que utilizan son de gran generalidad, por lo que es posible construirlos para situaciones y sistemas muy diversos. Los modelos matem·ticos son entes en los que se integran los conocimien- tos cientÌÖcos y tecnolÛgicos, con los que se construyen programas de cÛmputo que se implementan con medios computacionales. En la actualidad, la simu- laciÛn numÈrica permite estudiar sistemas complejos y fenÛmenos naturales que serÌa muy costoso, peligroso o incluso imposible de estudiar por experimentaciÛn directa. En esta perspectiva la signiÖcaciÛn de los modelos matem·ticos en cien- cias e ingenierÌa es clara, porquÈ la modelaciÛn matem·tica constituye el mÈtodo m·s efectivo de predecir el comportamiento de los diversos sistemas de interÈs. En nuestro paÌs, ellos son usados ampliamente en la industria petrolera, en las ciencias y la ingenierÌa del agua y en muchas otras.

2.1.1 FÌsica MicroscÛpica y FÌsica MacroscÛpica

La materia, cuando se le observa en el ·mbito ultramicroscÛpico, est· formada por molÈculas y ·tomos. Estos a su vez, por partÌculas a˙n m·s pequeÒas como los protones, neutrones y electrones. La predicciÛn del comportamiento de estas

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

partÌculas es el objeto de estudio de la mec·nica cu·ntica y la fÌsica nuclear. Sin embargo, cuando deseamos predecir el comportamiento de sistemas tan grandes como la atmÛsfera o un yacimiento petrolero, los cuales est·n formados por un n˙mero extraordinariamente grande de molÈculas y ·tomos, su estudio resulta inaccesible con esos mÈtodos y en cambio el enfoque macroscÛpico es apropiado. Por eso en lo que sigue distinguiremos dos enfoques para el estudio de la materia y su movimiento. El primero -el de las molÈculas, los ·tomos y las partÌculas elementales- es el enfoque microscÛpico y el segundo es el enfoque macroscÛpico. Al estudio de la materia con el enfoque macroscÛpico, se le llama fÌsica macroscÛpica y sus bases teÛricas las proporciona la mec·nica de los medios continuos. Cuando se estudia la materia con este ˙ltimo enfoque, se considera que los cuerpos llenan el espacio que ocupan, es decir que no tienen huecos, que es la forma en que los vemos sin el auxilio de un microscopio. Por ejemplo, el agua llena todo el espacio del recipiente donde est· contenida. Este enfoque macroscÛpico est· presente en la fÌsica cl·sica. La ciencia ha avanzado y ahora sabemos que la materia est· llena de huecos, que nuestros sentidos no perciben y que la energÌa tambiÈn est· cuantizada. A pesar de que estos dos enfoques para el an·lisis de los sistemas fÌsicos, el microscÛpico y el macroscÛpico, pare- cen a primera vista conceptualmente contradictorios, ambos son compatibles, y complementarios, y es posible establecer la relaciÛn entre ellos utilizando a la mec·nica estadÌstica.

2.2 Cinem·tica de los Modelos de Sistemas Continuos

En la teorÌa de los sistemas continuos, los cuerpos llenan todo el espacio que ocupan. Y en cada punto del espacio fÌsico hay una y solamente una partÌcula. AsÌ, deÖnimos como sistema continuo a un conjunto de partÌculas. A˙n m·s, dicho conjunto es un subconjunto del espacio Euclidiano tridimensional. Un cuerpo es un subconjunto de partÌculas que en cualquier instante dado ocupa un dominio, en el sentido matem·tico, del espacio fÌsico; es decir, del espacio Euclidiano tridimensional. Denotaremos por B (t ) a la regiÛn ocupada por el cuerpo B , en el tiempo t; donde t puede ser cualquier n˙mero real.

el tiempo t; donde t puede ser cualquier n˙mero real. Figura 1: RepresentaciÛn del movimiento de

Figura 1: RepresentaciÛn del movimiento de partÌculas de un cuerpo B ; para un tiempo dado.

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

Frecuentemente, sin embargo, nuestro interÈs de estudio se limitar· a un

~

intervalo Önito de tiempo. Dado un cuerpo B , todo subdominio B B , cons-

~

tituye a su vez otro cuerpo; en tal caso, se dice que B B es un subcuerpo de B . De acuerdo con lo mencionado antes, una hipÛtesis b·sica de la teorÌa de los sistemas continuos es que en cualquier tiempo t 2 ( 1; 1 ) y en cada punto x 2 B de la regiÛn ocupada por el cuerpo, hay una y sÛlo una partÌcula del cuerpo. Como en nuestra revisiÛn se incluye no solamente la est·tica (es decir, los cuerpos en reposo), sino tambiÈn la din·mica (es decir, los cuerpos en movimiento), un primer problema de la cinem·tica de los sistemas continuos consiste en establecer un procedimiento para identiÖcar a las partÌculas cuando est·n en movimiento en el espacio fÌsico. Sea X 2 B , una partÌcula y p (X; t ) el vector de la posiciÛn que ocupa, en el espacio fÌsico, dicha partÌcula en el instante t: Una forma, pero no la ˙nica, de identiÖcar la partÌcula X es asoci·ndole la posiciÛn que ocupa en un instante determinado. Tomaremos en particular el tiempo t = 0; en tal caso p (X; 0) X:

A las coordenadas del vector X (x 1 ;x 2 ;x 3 ), se les llama las coorde-

nadas materiales de la partÌcula. En este caso, las coordenadas materiales de una partÌcula son las coordenadas del punto del espacio fÌsico que ocupaba la partÌcula en el tiempo inicial, t = 0 . Desde luego, el tiempo inicial puede ser cualquier otro, si asÌ se desea. Sea B el dominio ocupado por un cuerpo en el

tiempo inicial, entonces X 2 B si y solamente si la partÌcula X es del cuerpo. Es decir, B caracteriza al cuerpo. Sin embargo, debido al movimiento, la regiÛn ocupada por el mismo cambia con el tiempo y ser· denotada por B (t ). Formalmente, para cualquier t 2 ( 1; 1 ); B (t ) se deÖne por

B (t ) x 2 R 3 j 9X 2 B tal que x = p (X; t )

(2.1)

el vector posiciÛn p (X; t ) es funciÛn del vector tridimensional X y del tiempo.

Si Öjamos el tiempo t; p (X; t ) deÖne una transformaciÛn del espacio Euclidiano

R 3 en si mismo y la Ec. (2.1) es equivalente a B (t ) = p (B ; t ): Una notaciÛn

utilizada para representar esta familia de funciones es p ( ; t ). De acuerdo a la

hipÛtesis de los sistemas continuos: En cualquier tiempo t 2 ( 1; 1) y en cada punto x 2 B de la regiÛn ocupada por el cuerpo hay una y sÛlo una partÌcula del cuerpo B para cada t Öjo. Es decir, p ( ; t ) es una funciÛn biunÌvoca, por lo

que existe la funciÛn inversa p 1 ( ;t ).

Si se Öja la partÌcula X en la funciÛn p (X; t ) y se varÌa el tiempo t , se obtiene

su trayectoria. Esto permite obtener la velocidad de cualquier partÌcula, la cual es un concepto central en la descripciÛn del movimiento. Ella se deÖne como la derivada con respecto al tiempo de la posiciÛn cuando la partÌcula se mantiene Öja. Es decir, es la derivada parcial con respecto al tiempo de la funciÛn de posiciÛn p (X; t ). Por lo mismo, la velocidad como funciÛn de las coordenadas

materiales de las partÌculas, est· dada por

V (X;t ) @p (X; t ):

Ø

@t

(2.2)

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

2.2.1 Propiedades Intensivas y sus Representaciones

En lo que sigue consideraremos funciones deÖnidas para cada tiempo, en cada una de las partÌculas de un sistema continuo. A tales funciones se les llama ëpropiedades intensivasí. Las propiedades intensivas pueden ser funciones es- calares o funciones vectoriales. Por ejemplo, la velocidad, deÖnida por la Ec.

(2.2), es una funciÛn vectorial que depende de la partÌcula X y del tiempo t . Una propiedad intensiva con valores vectoriales es equivalente a tres es- calares, correspondientes a cada una de sus tres componentes. Hay dos formas de representar a las propiedades intensivas: la representaciÛn Euleriana y la re- presentaciÛn Lagrangiana. Los nombres son en honor a los matem·ticos Leonard Euler (1707-1783) y Joseph Louis Lagrange (1736-1813), respectivamente. Fre- cuentemente, el punto de vista Lagrangiano es utilizado en el estudio de los sÛlidos, mientras que el Euleriano se usa m·s en el estudio de los áuidos. Considere una propiedad intensiva escalar, la cual en el tiempo t toma el valor (X; t ) en la partÌcula X . Entonces, de esta manera se deÖne una funciÛn : B ! R 1 , para cada t 2 ( 1; 1 ) a la que se denomina representaciÛn Lagrangiana de la propiedad intensiva considerada. Ahora, sea (x; t ) el valor que toma esa propiedad en la partÌcula que ocupa la posiciÛn x, en el tiempo t .

: B (t ) ! R 1 a la

En este caso, para cada t 2 ( 1; 1 ) se deÖne una funciÛn

cual se denomina representaciÛn Euleriana de la funciÛn considerada. Estas dos representaciones de una misma propiedad est·n relacionadas por la siguiente identidad

(2.3)

(X; t ) (p (X; t ); t ):

NÛtese que, aunque ambas representaciones satisfacen la Ec. ( 2.3), las fun- ciones (X; t ) y (x; t ) no son idÈnticas. Sus argumentos X y x son vectores tridimensionales (es decir, puntos de R 3 ); sin embargo, si tomamos X = x, en general

(2.4)

La expresiÛn de la velocidad de una partÌcula dada por la Ec. ( 2.2), deÖne a su representaciÛn Lagrangiana, por lo que utilizando la Ec. (2.3) es claro que

(X; t ) 6= (X; t ):

@p

@t

(X;t ) = V (X;t ) v (p (X; t ); t )

Ø

Ø

(2.5)

donde v (x; t ) es la representaciÛn Euleriana de la velocidad. Por lo mismo

(2.6)

Esta ecuaciÛn tiene la interpretaciÛn de que la velocidad en el punto x del espacio fÌsico, es igual a la velocidad de la partÌcula que pasa por dicho punto en el instante t . La Ec. (2.6) es un caso particular de la relaciÛn

v Ø (x;t ) V (p 1 (x; t ); t ):

Ø

Ø

(x;t ) (p 1 (x;t );t )

de validez general, la cual es otra forma de expresar la relaciÛn de la Ec. (2.3) que existe entre las dos representaciones de una misma propiedad intensiva.

IntroducciÛn al MÈtodo de Diferencias Finitas y su ImplementaciÛn Computacional

La derivada parcial con respecto al tiempo de la representaciÛn Lagrangiana (X; t ) de una propiedad intensiva, de acuerdo a la deÖniciÛn de la derivada parcial de una funciÛn, es la tasa de cambio con respecto al tiempo que ocurre en una partÌcula Öja. Es decir, si nos montamos en una partÌcula y medimos a la propiedad intensiva y luego los valores asÌ obtenidos los derivamos con respecto al tiempo, el resultado Önal es @ ( X;t) : En cambio, si (x; t ) es la representaciÛn

@t

Euleriana de esa misma propiedad, entonces @ ( x;t) es simplemente la tasa de

@t

cambio con respecto al tiempo que ocurre en un punto Öjo en el espacio. Tiene interÈs evaluar la tasa de cambio con respecto al tiempo que ocurre en una partÌcula Öja, cuando se usa la representaciÛn Euleriana. Derivando con respecto

al tiempo a la identidad de la Ec. (2.3) y la regla de la cadena, se obtiene

@ (X;t )

= @ @t (p (X;t );t ) +

@t

3

X

i =1

@ @x i (p (X;t );t ) @p i (X; t ): @t
@
@x i (p (X;t );t ) @p i (X; t ):
@t

Se acostumbra deÖnir el sÌmbolo D Dt por

D Dt = @ @t +

3

X

i

=1

o, m·s brevemente,

Dt = @ @t + v Ø

D

v

i

@

@x i

r

utilizando esta notaciÛn, se puede escribir

@ (X;t )

= D Dt (p (X;t ) @

@t

@t + v Ø

r (p (X; t ); t ):

(2.7)

(2.8)

(2.9)

(2.10)

Por ejemplo, la aceleraciÛn de una partÌcula se deÖne como la derivada de la velocidad cuando se mantiene a la partÌcula Öja. Aplicando la Ec. (2.9) se tiene

D v = @ v

Dt

@t

Ø

Ø

+ v r v

Ø

Ø

(2.11)

una expresiÛn m·s transparente se obtiene aplicando la Ec. (2.9) a cada una de las componentes de la velocidad. AsÌ, se obtiene

D v i = @ v i

Dt

@t

+ v r v i :

Ø

(2.12)

Desde luego, la aceleraciÛn, en representaciÛn Lagrangiana es simplemente

@

@t V Ø

2 @ (X;t ) = @t 2 p (X; t ):
2
@
(X;t ) = @t 2 p (X; t ):

(2.13)