tarea no 4

61
TAREA NO. 4 MÉTODO DE LAS DIFERENCIAS FINITAS PROGRAMACIÓN DEL PROBLEMA DE FLUJO BIDIMENDIONAL EN MEDIO ISOTROPICO Y HOMOGÉNEO DANIEL ARNULFO AGUIRRE IZAQUITA Profesor: Ing. Edgar Eduardo Rodríguez Granados Asignatura: Métodos numéricos en geotécnia UNIVERSIDAD NACIONAL DE COLOMBIA –SEDE BOGOTÁ FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA CIVIL Y AGRÍCOLA PROGRAMA DE MAESTRÍA EN INGENIERÍA CIVIL - GEOTÉCNIA Bogotá, 24 de Marzo de 2015.

Upload: daniel-arnulfo-aguirre-izaquita

Post on 30-Sep-2015

29 views

Category:

Documents


0 download

DESCRIPTION

Diferencias finitas en el problema de flujo 2D

TRANSCRIPT

  • TAREA NO. 4

    MTODO DE LAS DIFERENCIAS FINITAS

    PROGRAMACIN DEL PROBLEMA DE FLUJO BIDIMENDIONAL EN MEDIOISOTROPICO Y HOMOGNEO

    DANIEL ARNULFO AGUIRRE IZAQUITA

    Profesor: Ing. Edgar Eduardo Rodrguez Granados

    Asignatura: Mtodos numricos en geotcnia

    UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTFACULTAD DE INGENIERA

    DEPARTAMENTO DE INGENIERA CIVIL Y AGRCOLAPROGRAMA DE MAESTRA EN INGENIERA CIVIL - GEOTCNIA

    Bogot, 24 de Marzo de 2015.

  • NDICE1. ENUNCIADO................................................................................................................................. 4

    2. METODOLOGA............................................................................................................................ 5

    2.1. Mtodo Grfico ................................................................................................................... 5

    2.2. Mtodo de las diferencias finitas ........................................................................................ 5

    3. DESARROLLO ............................................................................................................................... 5

    3.1. MTODO GRFICO .............................................................................................................. 6

    3.2. MTODO DE LAS DIFERENCIAS FINITAS .............................................................................. 8

    3.2.1. PASOS A DESARROLLAR............................................................................................... 8

    3.2.1.1. PASO 1: Validacin de datos. .............................................................................. 8

    3.2.1.2. PASO 2: Cmo definir la geometra del problema?........................................... 9

    3.2.1.3. PASO 3: Creacin de la matriz de discretizacin del suelo. ................................ 9

    3.2.1.4. PASO 4: Definir las condiciones de frontera y manejar un sistema coordenadoen nodos. 10

    3.2.1.5. PASO 5: Definir las condiciones de frontera en la matriz.................................. 10

    3.2.1.6. PASO 6: Definir las ecuaciones para cada tipo de nodo y ensamblar el sistemade ecuaciones a resolver. ...................................................................................................... 10

    3.2.1.6.1. Condicin general de nodos........................................................................... 11

    3.2.1.6.2. Condicin A. ................................................................................................... 11

    3.2.1.6.3. Condicin B. ................................................................................................... 11

    3.2.1.6.4. Condicin C .................................................................................................... 11

    3.2.1.6.5. Condicin D .................................................................................................... 11

    3.2.1.6.6. Condicin E y F ............................................................................................... 12

    3.2.1.6.7. Condicin G y H .............................................................................................. 12

    3.2.1.6.8. Condicin I...................................................................................................... 12

    3.2.1.6.9. Condicin J ..................................................................................................... 12

    3.2.1.6.10. Condicin K................................................................................................... 13

    3.2.1.6.11. Condicin L................................................................................................... 13

    3.2.1.6.12. Condicin M ................................................................................................. 13

    3.2.1.6.13. Condicin N.................................................................................................. 13

    3.2.1.6.14. Condicin y variantes 1 y 2 ................................................................... 13

    3.2.1.6.15. Condicin O.................................................................................................. 14

  • 3.2.1.6.16. Condicin P................................................................................................... 14

    3.2.1.6.17. Condicin Q,R,S,T ......................................................................................... 14

    3.2.1.6.18. Condicin U y V ............................................................................................ 14

    3.2.1.6.19. Condicin W y X ........................................................................................... 14

    3.2.1.6.20. Condiciones Y y Z.......................................................................................... 14

    3.2.1.7. PASO 7: Solucionar el sistema de ecuaciones lineales...................................... 15

    3.2.1.8. PASO 8: Organizacin de los resultados dentro de la matriz h. ........................ 15

    3.2.1.9. PASO 9: Mostrar la matriz de energa y las lneas equipotenciales. ................. 15

    3.2.1.10. PASO 10: Clculos relacionados con el clculo del caudal ................................ 16

    3.2.2. CDIGO FUENTE DESARROLLADO............................................................................. 17

    3.2.3. DATOS DE ENTRADA.................................................................................................. 17

    3.2.4. RESULTADOS O SALIDAS............................................................................................ 20

    4. COMPARACIN DE RESULTADOS ENTRE LOS MTODOS.......................................................... 22

    5. CONCLUSIONES ......................................................................................................................... 24

    6. REFERENCIAS............................................................................................................................. 24

    7. ANEXOS ..................................................................................................................................... 25

    7.1. Anexo 1. Redes de flujo realizadas a mano....................................................................... 25

    7.1.1. Red de Flujo con ms canales de flujo ...................................................................... 25

    7.1.2. Red de flujo con menos canales de flujo................................................................... 27

    7.2. Anexo 2. Diferentes condiciones para los nodos .............................................................. 29

    7.3. Anexo 3. Cdigo fuente escrito en Scilab.......................................................................... 31

    7.4. Anexo 4. Matriz de energa resultante del mtodo de diferencias finitas........................ 42

    7.5. Anexo 5. Diagrama de lneas equipotenciales. Dif. Finitas. .............................................. 58

    7.5.1. Anexo 5.1. Diagrama de lneas equipotenciales. Delta 2m....................................... 59

    7.5.2. Anexo 5.2. Diagrama de lneas equipotenciales. Delta 1m....................................... 60

    7.6. Anexo 6. CD con anexos y el programa en Scilab.............................................................. 61

    Lista de figurasFigura 1. Esquema de la presa analizada. ........................................................................................... 4Figura 2. Captura de pantalla de la consola de Scilab en la que se observa el llamado de la funcinflujo2d y los mensajes que arroja mientras corre. ........................................................................ 20Figura 3. Pantalla de resultado con delta de 2m............................................................................... 21Figura 4. Pantalla de resultado con delta de 1m............................................................................... 22

  • PROGRAMACIN DEL PROBLEMA DE FLUJO BIDIMENSIONAL EN MEDIOISOTROPICO

    1. ENUNCIADOSe tiene una presa de concreto de 40 m de ancho ubicada sobre un estrato de 30m de espesor de un suelo homogneo, isotrpico y permeable (k=5x10-4 cm/s). Lapresa se muestra en la figura 1.

    Figura 1. Esquema de la presa analizada.

    Calcular el caudal que pasa a travs del suelo, tambin dibuje el diagrama delneas equipotenciales y de flujo. Para lo anterior utilice los siguientes dosmtodos:

    1- El mtodo grfico dibujando la red de flujo de cuadrados curvilneoscorrespondiente.

    2- Tambin utilice el mtodo de las diferencias finitas programado en algnlenguaje o aplicacin adecuada (Excel, Matlab, Scilab, etc)

    Compare los resultados crticamente y obtenga las conclusiones del caso.

  • 2. METODOLOGAste trabajo se divide en dos partes, cada una correspondiente a cada uno de losmtodos utilizados para la solucin del problema.

    2.1. Mtodo GrficoSe debe realizar el dibujo de la presa a escala de tal manera que se tenga encuenta gran parte del dominio del problema, por lo anterior se realiza el dibujo amano teniendo en cuenta un factor de escala de 1:800. Se establecenadecuadamente las fronteras del problema a resolver, definiendo cuales de laslneas de frontera corresponden a lneas equipotenciales o lneas de flujo.

    Se procede a dibujar la red de flujo, comenzando con las lneas de flujo debido aque es ms sencillo determinar su ubicacin por medio del criterio ingenieril acomparacin de las lneas equipotenciales. Seguidamente se trazan las lneasequipotenciales tratando de que se formen cuadrados curvilneos, por lo que staslneas deben cruzarse con las de flujo generando ngulos rectos.

    Luego de construida la red se cuentan el nmero de canales de flujo y el nmerode cadas equipotenciales para determinar el caudal con la formulacincorrespondiente que se muestra en el desarrollo.

    El caudal obtenido se debe multiplicar por la longitud de la presa en la direccin Ypara determinar el caudal total.

    2.2. Mtodo de las diferencias finitasste mtodo consiste en determinar el valor de la energa h (m) que tiene el fluidoen los puntos de una malla trazada en el medio drenante, luego basndose en losvalores de energa obtenidos se pueden interpolar las lneas equipotenciales ydeterminar finalmente el caudal que circula a travs del suelo.

    Se deben determinar las ecuaciones segn el mtodo de las diferencias finitas detodas y cada una de las fronteras del problema y condiciones especiales de cadanodo.

    A continuacin se realiza un programa escrito en Scilab para determinar losvalores de las energas y que fue realizado en varios pasos de programacin quese presentan a lo largo del proceso.

    3. DESARROLLOEl desarrollo se elabora en dos partes teniendo en cuenta cada uno de losmtodos empleados para generar la solucin.

  • 3.1. MTODO GRFICOEl mtodo grfico se desarrolla a mano. Se realiza el dibujo de la presa a escala1:800 para tal efecto se utiliza una hoja de papel cuadriculado a fin de facilitar lalabor, luego se enumeran los puntos de inters en la presa comenzando con elpunto de contacto de la lmina de agua con la cara de la presa, la numeracincontina avanzando sobre el contorno inferior de la presa y luego por las fronterasdel problema recorrindolas en sentido horario.

    Se determinan las condiciones de frontera del problema, que en realidad son laslneas de flujo y equipotenciales que coinciden con los lmites del problema, paraste caso en general se tiene (ver anexo 1):

    Lneas de flujo: 1- b c c d d e e f f g g h

    2- m l l j j k

    Lneas equipotenciales: 1- m b

    2- h i

    Se procede a realizar el dibujo de las lneas de flujo para determinar el caudal queatraviesa el suelo, se inicia con dichas lneas debido al hecho de que son msfciles de imaginar ya que seguiran la trayectoria del flujo desde su entrada en elmedio poroso hasta su salida de l.

    Despus de dibujar un cierto nmero de lneas de flujo se contina con las lneasequipotenciales, procurando establecer cuadrados curvilneos dentro del medioporoso, es de notar, que dicha actividad es difcil debido a que muchos de loscuadrilteros dibujados poseen una forma rectangular en lugar de cuadrilterosdefinidos, adems de que en muchas de las intersecciones de lneasequipotenciales y de flujo no se cumple perfectamente con la perpendicularidad.

    Dada la incertidumbre que genera el mtodo, se realizaron dos redes de flujo detal manera que una posee menos lneas de flujo que la otra. Las redesdesarrolladas se encuentran en el anexo 1 de ste documento.

    Estando la red de flujo ya configurada, se procede a contar el nmero de cadasequipotenciales el cual es el nmero de espacios formados entre stas lneas, ascomo el nmero de canales de flujo el cual es equivalente al nmero de espaciosque quedaron entre las lneas de flujo,

    Para el anexo 1.1 en el que se encuentra la red con ms canales de flujo se tieneque:

  • Nmero de cadas equipotenciales, Ne: 20

    Nmero de canales de flujo. Nf: 7

    Para el anexo 1.2. en el que se encuentra la red con menos canales de flujo setiene:

    Nmero de cadas equipotenciales, Ne: 12

    Nmero de canales de flujo. Nf: 4

    A continuacin se aplica la siguiente relacin matemtica para la red de flujo delanexo 1.1: =Donde: =Caudal que existe en uno de los canales de flujo

    =Permeabilidad del suelo estudiado

    =Nmero de cadas equipotenciales; Nf=Nmero de lneas de flujo

    Aplicando la ecuacin para la primera red de flujo (Anexo 1.1)

    = = 5 10 1100 1020 = 2.5 10 .El caudal que se vierte en el plano vertical analizado y mostrado en las redes deflujo por una profundidad unitaria en direccin normal a la hoja ser

    = = 7 2.5 10 . = 1.75 10 .Para determinar el caudal total que se infiltra bajo la presa se multiplica el caudalobtenido por cada metro de prensa por su ancho, de tal manera que se obtiene lasiguiente expresin.

    = = 1.75 10 . 100= 1.75 10 = 1.75

  • Desarrollando el mismo procesa para la red de flujo plasmada en el anexo 1.2. seobtiene que el caudal total que pasa por debajo de la presa sera:

    = = 5 10 1100 1012 = 4.17 10 . = 4.17 10 .El caudal en el plano 2D analizado y mostrado en el anexo correspondiente setiene:

    = = 4 4.17 10 . = 1.67 10 .Finalmente:

    = = 1.67 10 . 100= 1.67 10

    = 1.673.2. MTODO DE LAS DIFERENCIAS FINITAS

    Debido a la gran cantidad de clculos que se deben desarrollar dentro delprocedimiento, se decide realizar un programa en el lenguaje de Scilab en el quese entren las variables y se obtenga la malla con los nodos resueltos, es decir, conel valor de la energa en cada punto.

    3.2.1. PASOS A DESARROLLARPara el desarrollo de ste mtodo se deben tener en cuenta los diferentes retosque se deben resolver o superar para lograr la programacin, de sta manera sepens en los pasos que a continuacin se explican, dichos pasos son tiles paraorientar las acciones del programador durante el desarrollo del algoritmo. Dentrodel programa escrito en Scilab se diferencian claramente estos pasos por mediode comentarios.

    3.2.1.1. PASO 1: Validacin de datos.Para ste paso se debe verificar que los datos que se le entran al programa seanconsistentes con el problema y que no generen conflictos ni matemticos ni detamao, es decir, que se verifican los tamaos de las matrices solicitadas, severifica si los datos colocados no generan inconsistencias matemticas como

  • divisiones entre cero, entre otras. Para lo anterior se utilizan ciclos de for pararecorrer los valores de las matrices y analizar si hay valores adecuados o sigeneran errores.

    En caso de encontrarse algn error en los datos de entrada se le informar alusuario de la inconsistencia y el programa abortar sus actividades por lo que sedebera correr de nuevo, por sta razn es que el anlisis de validacin de lasvariables debe ser el primer paso, ya que si se coloca despus, puede que ya sehayan realizado varios clculos que no se desearan perder, adems de que esadecuado revisar los datos antes de entrar a hacer los clculos del mtodopropiamente dicho.

    3.2.1.2. PASO 2: Cmo definir la geometra del problema?En ste paso el reto est en comunicarle al computador como es la geometra delproblema que se est tratando, generando un sistema de programacin efectivopara referenciar cualquier parte del problema. En ste punto se proponen lassiguientes ideas:

    - Se manejar un sistema coordenado con origen en el extremo superior izquierdo del medio (suelo permeable) a analizar. Se buscar que el usuariose referencie de sta manera y que le entre al programa las coordenadasde todos los puntos que se encuentran como fronteras del medio, as comotambin los puntos en los que hay empotramiento de una tablestaca odiscontinuidad con la presa u obra.

    - El medio permeable se modelar como una matriz que define una redmxima que debe cubrir todas las partes del medio filtrante del problema.

    - Se pedir el ancho del obstculo (presa) y el usuario podr definir el anchode afectacin que desea analizar a lado y lado del obstculo.

    - Se le pide al usuario un valor para el delta que desea analizar einmediatamente se evala si es adecuado para discretizar el dominio delproblema.

    3.2.1.3. PASO 3: Creacin de la matriz de discretizacin del suelo.Dicha matriz se usar para discretizar el suelo de tal manera que cubra todo elmedio filtrante. En dicha matriz se guardarn los valores de las energasencontradas en cada punto o nodo de la malla.

  • Para desarrollar ste paso se toma el valor de delta dado por el usuario yavalidado y se divide la mxima longitud del dominio en x entre dicho delta, se lesuma 1 y se le suma el nmero de discontinuidades verticales que posea elproblema, recordando que una discontinuidad es definida aqu como un obstculoa parte de la presa que est inmerso en el suelo como una tablestaca vertical uhorizontal. Para el nmero de filas de la matriz, se divide la mxima longitud deldominio en Z entre el valor de delta sumndole 1 y el nmero de discontinuidadeshorizontales.

    3.2.1.4. PASO 4: Definir las condiciones de frontera y manejar unsistema coordenado en nodos.

    Para definir ste paso, se establece que el usuario le entre al programa lascoordenadas de las fronteras y discontinuidades presentes en el problema, elusuario le entrara al programa los valores de las coordenadas de los extremos delas fronteras o discontinuidades, las fronteras que debe indicar el usuario son,nicamente, las lneas equipotenciales de entrada y de salida del flujo al medioanalizado.

    Todas las componentes de coordenadas de puntos que se hayan entrado alprograma se deben manejar internamente en trminos de los nodos para facilitarel manejo de la matriz de energa.

    3.2.1.5. PASO 5: Definir las condiciones de frontera en la matriz.Se deben colocar los valores de las lneas equipotenciales conocidas en la matrizque representa al medio filtrante, para esto se le pide al usuario que coloque elvalor de la energa de las lneas equipotenciales conocidas y por medio de cicloscon variable contadora (for) se comienzan a llenar los valores conocidos deenerga.

    3.2.1.6. PASO 6: Definir las ecuaciones para cada tipo de nodo yensamblar el sistema de ecuaciones a resolver.

    Para el desarrollo del problema no se usa el mtodo iterativo de prueba y errorhasta que la matriz converja con algn grado de precisin que se definepreviamente. En ste caso se ha optado por determinar una solucin ms exactadesde el punto de vista matemtico, por medio de la definicin de un sistema deecuaciones con tantas incgnitas y ecuaciones como nodos incgnita tenga lamalla definida.

    En ste paso se analizan las diferentes condiciones a las que se puede encontrarun nodo dentro de la malla definida puesto que cada condicin y ecuacin esdiferente generando nuevas lneas de programacin. A continuacin se enlistan lamayora de las condiciones de nodos encontradas dentro de la malla de nodos

  • dentro del ejercicio. Las diferentes condiciones en las que se encuentra un nodose muestran en el anexo 2, en el que se muestra una hoja de trabajo con lasdiferentes condiciones de nodos iluminadas con diferentes colores y formas.

    3.2.1.6.1. Condicin general de nodos.Se presenta cuando el nodo est en el interior de la malla y no presenta ningunacondicin especial. Para este tipo de nodos la ecuacin de diferenciascorrespondiente queda as:4 , , , , , = 0

    3.2.1.6.2. Condicin A.sta condicin pertenece a los nodos que estn inmediatamente debajo de unalnea equipotencial conocida. La ecuacin de diferencias para ste valor es lasiguiente: 4 , , , , = ,En esta condicin existen variantes para los nodos que cumplan sta condicinpero que se encuentren en la pared de la parte de la presa que est embebida enel terreno. Son las condiciones Y y Z, que se explican ms adelante.

    3.2.1.6.3. Condicin B.sta condicin se aplica a los nodos que estn en el lmite inferior en una fronteraimpermeable, exceptuando los nodos de los extremos de dicha lnea. La ecuacinde diferencias es como sigue:4 , , , 2 , = 0

    3.2.1.6.4. Condicin CAplicable al nodo que se ubica en una esquina inferior izquierda de toda la matrizde energa. 4 , 2 , 2 , = 0

    3.2.1.6.5. Condicin DAplicable al nodo de la esquina inferior derecha de toda la matriz de energa.4 , 2 , 2 , = 0

  • 3.2.1.6.6. Condicin E y FAplicable a los nodos de la frontera lateral izquierda (condicin E) y los nodos dellado derecho de una discontinuidad vertical (condicin F), exceptuando a los delos extremos. 4 , 2 , , , = 0

    3.2.1.6.7. Condicin G y HAplicable a los nodos de la frontera lateral derecha (condicin G) y los nodos dellado izquierdo de una discontinuidad vertical (condicin F), exceptuando a los delos extremos. 4 , 2 , , , = 0

    3.2.1.6.8. Condicin ISi el nodo est en la columna antes de alguna discontinuidad vertical pero enalguna fila luego de sta.4 , , , , , = 0Esta condicin tiene una variante que se presenta cando, a parte de lascondiciones propias de la condicin, el nodo est en el lmite inferior o fronterainferior impermeable. En dicho caso la ecuacin de diferencias quedara de lasiguiente manera. 4 , , , 2 , = 0

    3.2.1.6.9. Condicin JSi el nodo est en la columna despus de alguna discontinuidad vertical pero enalguna fila luego de sta.4 , , , , , = 0Esta condicin tiene una variante que se presenta cando, a parte de lascondiciones propias de la condicin, el nodo est en el lmite inferior o fronterainferior impermeable. En dicho caso la ecuacin de diferencias quedara de lasiguiente manera. 4 , , , 2 , = 0

  • 3.2.1.6.10. Condicin KLos nodos que se encuentren en un borde lateral izquierdo cuando se est en lasegunda fila de nodos. 4 , 2 , , = ,

    3.2.1.6.11. Condicin LLos nodos que se encuentren en un borde lateral derecho cuando se est en lasegunda fila de nodos. 4 , 2 , , = ,

    3.2.1.6.12. Condicin MNodos ubicados a la derecha de una discontinuidad vertical, pero que estn en elempotramiento superior de dicha discontinuidad.4 , 2 , 2 , = 0

    3.2.1.6.13. Condicin NNodos ubicados a la izquierda de una discontinuidad vertical, pero que estn en elempotramiento superior de dicha discontinuidad.4 , 2 , 2 , = 0

    3.2.1.6.14. Condicin y variantes 1 y 2Para todos los nodos que se ubiquen directamente debajo de la presa.4 , , , 2 , = 0Las condiciones 1 y 2 se aplican a todos los nodos que estn sobre una paredizquierda (1) o derecha (2) vertical de la parte de la presa que est embebida enel suelo, exceptuando a los nodos que de la segunda fila.

  • 3.2.1.6.15. Condicin ONodos ubicados a la derecha de una discontinuidad vertical, pero que estn en elempotramiento inferior de dicha discontinuidad.4 , 2 , 2 , = 0

    3.2.1.6.16. Condicin PNodos ubicados a la izquierda de una discontinuidad vertical, pero que estn en elempotramiento inferior de dicha discontinuidad.4 , 2 , 2 , = 0

    3.2.1.6.17. Condicin Q,R,S,TEstas condiciones son homlogas a las condiciones F, H, I y J, pero para el casode discontinuidades horizontales.

    3.2.1.6.18. Condicin U y Vstas condiciones son usadas para nodos que estn abajo de discontinuidadeshorizontales pero que estn en su empotramiento derecho (condicin U) oizquierdo (Condicin V). stas condiciones son homlogas a M y O,respectivamente.

    3.2.1.6.19. Condicin W y Xstas condiciones son usadas para nodos que estn sobre discontinuidadeshorizontales pero que estn en su empotramiento derecho (condicin W) oizquierdo (Condicin X). Estas condiciones son homlogas a N y P,respectivamente.

    3.2.1.6.20. Condiciones Y y Zstas condiciones son usadas para nodos que estn sobre la pared izquierda (Y)o pared derecha (Z) de la parte embebida de la presa, de los cuales se conoce elvalor de , y no estn en el borde inferior de la presa. Con esta condicin larespectiva ecuacin de diferencias quedara:4 , 2 , , = , (cond Y)4 , 2 , , = , (Cond Z)

  • 3.2.1.7. PASO 7: Solucionar el sistema de ecuaciones lineales.Para ste paso se usan los mtodos numricos de eliminacin y pivoteo y desustitucin en regresin progresiva. El primero de stos toma la matriz ampliadaque representa un sistema de ecuaciones lineales y lo transforma en una matriztriangular superior equivalente a la original, luego se aplica el mtodo de lasustitucin regresiva a dicha matriz para ir encontrando los valores de cada una delas incgnitas del sistema. sta parte del programa es la que tarda ms tiempo endesarrollarse debido a que la matriz cuadrada a solucionar tiene una longitud igualal producto de las filas menos uno por las columnas de la matriz de energa h.

    3.2.1.8. PASO 8: Organizacin de los resultados dentro de la matriz h.Dado que los resultados obtenidos para cada nodo siguiendo el paso anterior sepresentan en un vector lineal, es necesario establecer una relacin que permitaorganizar los datos del vector dentro de la matriz de energa del sistema. Para loanterior se aplican las siguientes relaciones:

    Si piso(k/#col)=k/#col = # + 1De lo contrario = # + 2Dadas las anteriores relaciones se cumple tambin que= ( 2) #Teniendo en cuenta lo anterior se cumple la relacin de que la matriz h en sucomponente de la fila j con columna i representa al mismo nodo que el vector deresultados del sistema lineal en la posicin k. Por lo tanto:( , ) = _( )

    3.2.1.9. PASO 9: Mostrar la matriz de energa y las lneasequipotenciales.

    Para este paso se debe consultar en los manuales de Scilab como se puedenmostrar los resultados de las matrices y tambin definir las curvas equipotencialesen una grfica 3D del mismo tipo que el de las curvas de nivel.

  • 3.2.1.10. PASO 10: Clculos relacionados con el clculo del caudal

    Se calculan el caudal de cada uno de los nodos, se muestra la matriz de caudal,se muestra el diagrama de las lneas de flujo y mostrar el valor del caudalpromedio que pasa bajo la presa. Para lo anterior se utilizan los valores calculadosde la energa en cada nodo y se aplican las ecuaciones de las diferencias finitaspara la ecuacin de Darcy en cada nodo calculando el valor del caudal endireccin x y en direccin Z. Luego se suman dichos caudales vectorialmente. Alfinal se pueden obtener las grficas con las lneas de flujo, la matriz con losvalores obtenidos de caudal.

    A continuacin se muestra rpidamente el desarrollo matemtico:

    Se calculan las velocidades en las direcciones horizontal y vertical para un nodocon ubicacin (i,j) dentro de la malla establecida.

    = = , ,2 = = , ,2Para determinar el caudal se debe multiplicar el valor de la velocidad por el reaque atraviesa de manera perpendicular el flujo, de tal manera que atraviesa elrea y la velocidad en Z atraviesa el rea (teniendo en cuenta unaprofundidad unitaria). Tambin se debe tener en cuenta que = .

    = = , ,2 = 2 , ,= = , ,2 = 2 , ,

    Teniendo en cuenta un suelo isotrpico se dice que = = . Sumandovectorialmente las componentes en X y Z del caudal, se obtiene la ecuacin dediferencias para el gasto de agua en cada nodo de la malla.

    = + = 2 , , + 2 , ,= 2 , , + , ,

  • Por facilidad al evitar el manejo de varios decimales, se asume un valor unitariopara la permeabilidad hasta que se obtenga el valor del caudal promedio el cual sise multiplicar por el valor de dicha permeabilidad.

    Al programar la ecuacin de diferencias mencionada antes se deben usar lasmismas condiciones usadas para la creacin del sistema de ecuaciones lineales.

    3.2.2. CDIGO FUENTE DESARROLLADOSe recuerda que el cdigo fuente desarrollado en ste punto se defini con ellenguaje de Scilab, dicho cdigo fuente se muestra en el anexo 3, y tambin secoloca el archivo en el CD del anexo 6.

    3.2.3. DATOS DE ENTRADALos datos de entrada programados dentro del cdigo son cuatro matrices que son:

    DATOS: Es un vector horizontal de tres o cuatro componentes, las formas de stevector pueden ser:= [ ]

    = [ _ _ _ _ _ _ _ ]Donde Ancho presa es la longitud en el eje X de la presa, Delta es el deltaelegido para discretizar el medio, long ancho afect a ambos lados es la longituden la cual se debe extender el ancho de afectacin a ambos lados de la presaexpresada como una cierta cantidad de veces el ancho de la presa. Tambin sepuede definir ste ancho independientemente para la parte izquierda y derecha.

    COORD: Se colocan todas las coordenadas en metros de cada uno de los puntosexternos de la masa de suelo de tal manera que el origen de coordenadas est enel extremo superior izquierdo de la masa de suelo y el eje aumente hacia abajo,cada coordenada se escribe en cada fila de tal manera que las coordenadas en xqueden en la fila 1 y las coordenadas en z queden en la fila 2. Es importante incluirlos puntos de empotramiento de las discontinuidades. A continuacin se muestrala forma general de la matriz de coordenadas.

    =

  • DISCONT: En sta matriz se anotan los valores de las coordenadas de losextremos de las discontinuidades que estn dentro del suelo, ya sean tablestacas,muros o cualquier otro implemento que interrumpa el flujo de agua. Lascoordenadas se deben anotar de tal manera que en la columna 1 vayancoordenadas de X y en la columna 2 vayan coordenadas de Z. Se anotan lascoordenadas del extremo con coordenadas menores y luego en la filainmediatamente siguiente se anotan las del otro extremo. A continuacin semuestra un ejemplo de la forma de la matriz DISCONT.

    =

    =__________1____________________2___________________ __________3

    FRONTERAS: Este dato de entrada es una matriz con un tamao especfico de4x3 en la que se inscriben los valores de las coordenadas de las lneasequipotenciales (inicio y fin), as como la cabeza de energa total conocida en cadalnea equipotencial. El programa est diseado de tal manera que solo se admitendos fronteras de lnea equipotencial con valores conocidos. La forma general de lamatriz de fronteras se muestra a continuacin teniendo en cuenta que x hacereferencia a las abscisas de las coordenadas, z hace referencia a las ordenadasde las coordenadas de los puntos, h a los valores de energa en cada lneaequipotencial y NA a la expresin no aplica debido a que no importa el valorreal colocado en la celda ya que no se usa dentro de la programacin.

    =

    = ___________1___________ 2BASE: ste es un vector vertical que debe tener tantas filas como la matriz decoordenadas y una sola columna, se usa para sealar cul de las coordenadasestablecidas en la matriz de coordenadas corresponde con el extremo inferiorizquierdo de la presa y cul de las coordenadas es para el extremo inferiorderecho de la misma. Para marcar dichas coordenadas se usa el nmero uno enla posicin del vector que corresponda con la fila que contenga la coordenada delextremo izquierdo, el extremo derecho se marca colocando el nmero 2 en laposicin correspondiente del vector base, el resto de posiciones se marcan conceros o cualquier otro nmero diferentes de 1 (uno) o 2 (dos). La forma general delvector de base sera:

  • = # " "= [ 1] =

    00100200

    DATOS DE ENTRADA USADOS EN EL PROBLEMA:

    Los datos de entrada utilizados en la solucin del problema fueron principalmente2. Entonces primero se usa un conjunto de datos con un delta de 2 m y un anchode la zona de afectacin de 1.5 veces el ancho de la presa a cada lado para tenerun mayor control del proceso y poder realizar, probar y depurar el programa.

    Primer conjunto de datos de entrada.= [40 2 1.5]= 0 060 060701001001601600

    222003030

    = 70 270 12

    = 0 0 4060 0 40100 0 30160 0 30=001020000

    Segundo conjunto de datos de entrada: Se usaron para obtener una solucin msfina que la obtenida anteriormente, en ste caso se determina usar un delta de 1my un ancho de afectacin de dos veces el ancho de la presa a cada lado.= [40 1 2]

    = 0 080 080901201202002000

    222003030

  • = 90 290 12= 0 0 4080 0 40120 0 30200 0 30 =

    001020000

    3.2.4. RESULTADOS O SALIDASAl correr el programa se dejaron varias pausas para ir controlando el proceso dedesarrollo del clculo, de sta manera al final de la corrida del programa en laconsola del programa deberan aparecer los siguientes mensajes:

    La funcin o cdigo desarrollado se aplica de la siguiente manera:

    Figura 2. Captura de pantalla de la consola de Scilab en la que se observa el llamado de lafuncin flujo2d y los mensajes que arroja mientras corre.

    El detalle de la matriz de energa que arroja el programa una vez finalizado elalgoritmo se encuentra en el anexo 4, lo anterior para las dos corridas realizadas,la primera con un delta de 2m y la otra con delta de 1m.

  • Tambin se muestra el diagrama de lneas equipotenciales que arroja el programadesarrollado, dicho diagrama se muestra en el anexo 5. La funcin desarrolladaexporta el diagrama a un archivo de PDF, que se almacena en la carpetaDocumentos del computador en donde se corre el programa. El nombre que sele da al archivo es equipotenciales_1.

    Segn lo anteriormente realizado y con los valores del caudal en cada punto onodo, se procede a obtener el caudal promedio, luego dicho caudal se multiplicapor las constantes (en ste caso o ejemplo) de permeabilidad y la longitud de lapresa en el sentido Y. Al realizar las dos corridas con el programa desarrollado,para un delta de 2m y para un delta de 1m se obtienen los siguientes resultadosde caudal (ver tabla 1 y figuras 3 y 4)

    Tabla 1. Caudales obtenidos con el mtodo de las difetrencias finitas.

    Figura 3. Pantalla de resultado con delta de 2m.

  • Figura 4. Pantalla de resultado con delta de 1m.

    La matriz de energa resultante del mtodo de las diferencias finitas se muestra enel anexo 4.

    La matriz resultante del algoritmo es una hipermatriz de dos profundidades, en laprimera capa de la matriz se almacenan los valores de la cabeza de todos lospuntos de la malla, mientras que en la segunda capa se almacenan los valores delos caudales (teniendo en cuenta permeabilidad y longitud en sentido Yunitarias). En el anexo 4 solo se muestra la matriz en su primera capa, en el cd secolocan los valores completos de stas matrices obtenidas.

    4. COMPARACIN DE RESULTADOS ENTRE LOS MTODOSEn ste punto se realizan las comparaciones de los mtodos en cuanto a varios desus aspectos, dichos aspectos son:

    - Facilidad de aplicacin y desarrollo.

    En ste aspecto se debe resaltar que aun con condiciones de borde paralelas alos ejes coordenados la programacin de un mtodo general para el clculo deecuacin general de flujo exige programas computacionales con desarrollosjuiciosos que le den soluciones a la gran cantidad de diferentes ecuaciones dediferencias y condiciones de nodos que aparecen en el medio permeable que seestudia. Por lo anterior si el problema no es demasiado grande y lo permiten lascondiciones del problema, un anlisis grfico del problema puede ser mas rpido y

  • puede generar los rdenes de magnitud adecuados para tomar decisiones cuandose no se est en la etapa de diseo de detalle de un proyecto.

    - Precisin o error entre ambos resultados del caudal

    Tabla 2. Comparacin de los valores obtenidos de caudal para todos los mtodos usados.

    Como se observa de la tabla 2, la diferencia de los caudales no es mayor que elorden de magnitud de los resultados por lo que se puede decir que los resultadosson adecuados, de tal manera que se obtienen mejores resultados para el mtodode las diferencias finitas cuanto ms pequeo se tome el valor de delta. Aunque seinsiste en el hecho de que para proyectos con lmites relativamente sencillos, enlos que se encuentre desarrollando etapas menores a la de diseo de detalle esposible usar el mtodo grfico obteniendo resultados adecuados.

    - Precisin de las lneas equipotenciales desarrolladas.

    Se observa que las lneas equipotenciales desarrolladas con el mtodo grfico noson comparables a las obtenidas por medio del mtodo de las diferencias finitasdebido a que en dicho mtodo las lneas equipotenciales no estn equiespaciadas,como si lo estn al desarrollar la red de flujo con el mtodo grfico. Pero se puededecir que las curvas equipotenciales obtenidas con el mtodo de las diferenciasfinitas tomaron una forma bastante parecida a las realizadas con el mtodogrfico.

  • 5. CONCLUSIONES

    El caudal obtenido por medio de los mtodos numricos es adecuado para diseodebido a que posee una base matemtica ms slida que se usa a lo largo de laaplicacin del mtodo numrico mientras que el mtodo grfico depende de lainterpretacin que el diseador le d al flujo, siendo dicha interpretacin variablepara entre personas debido a las diferentes opiniones y sentido ingenieril.

    El error entre los dos mtodos es despreciable en trminos prcticos ya que losresultados en la aplicacin de ambos mtodos son del mismo orden de magnitud.De tal manera que por medio del mtodo grfico se obtuvo un caudal promedio de1.75 l/s mientras que en el mtodo de diferencias el valor de sta parmetro es de2.59 l/s (ver tabla 2).

    La programacin del mtodo numrico de las diferencias finitas es bastanteexigente ya que se debe tener en cuenta la ecuacin de diferencias generada encada uno de los nodos especiales en los que las condiciones de frontera obligan agenerar nuevas lneas de programacin que en conjunto vuelven el cdigocomplejo y difcil de manejar. Lo anterior sin mencionar los retos adicionales si lasfronteras no fueran paralelas a los ejes coordenados en donde se deben manejaridentidades trigonomtricas para referenciar la frontera inclinada en funcin de sungulo de inclinacin con el plano horizontal analizado.

    6. REFERENCIASDunn I.S, Anderson L.R, Kiefer F.W. (1980). Fundamentals of geotechnical Analysis, Cap10:Numerial methods and computer applications, John Wiley and Sons.

    Desai C.S, Christian J.T, (1977). Numerial Methods in Geotechnical Engineering, McGraw Hill.

    Aysen,A (2002). Soil Mechanins: Basic concepts and engineering applications. Cap 3: Themovement of water through soil. Secciones 3.5 y 3.6.

  • 7. ANEXOS

    7.1. Anexo 1. Redes de flujo realizadas a mano

    7.1.1. Red de Flujo con ms canales de flujo

  • 7.1.2. Red de flujo con menos canales de flujo.

  • 7.2. Anexo 2. Diferentes condiciones para los nodos

  • 7.3. Anexo 3. Cdigo fuente escrito en Scilab

  • // UNIVERSIDAD NACIONAL DE COLOMBIA- SEDE BOGOT// FACULTAD DE INGENIERA CIVIL-DEPARTAMENTO DE INGENIERIA CIVIL Y AGRCOLA// PROGRAMA DE MAESTRA EN INGENIERA - GEOTCNIA// AUTOR: DANIEL ARNULFO AGUIRRE IZAQUITA// MATERIA: MTODOS NUMRICOS EN GEOTCNIA; FECHA: 2015-03-24function h=flujo2D(datos, coord, discont, fronteras, base)

    //PRIMER PASO:Validacin de los datos de entrada.sizecoord=size(coord);//definiendo el tamao de la matriz de coordenadassizedat=size(datos);//Definiendo el tamao de la matriz de datosif sizecoord(2)~=2 then//verificando que no hayan mas que dos filas

    disp("Revise el nmero de columnas de la matriz de coordenadas")abort

    endif sizedat(1)+sizedat(2)~=4&sizedat(1)+sizedat(2)~=5 then

    disp("Tamao inadecuado de la matriz de datos")abort

    end//Fin de la revision del tamao de las matrices//SEGUNDO PASO: Definiendo la geometra del problema//Definiendo la longitud mxima del diminio: Longitud en X.if sizedat(2)==3 then

    longx=datos(1)*(2*datos(3)+1);else

    longx=datos(1)*(datos(3)+datos(4)+1);end//Definendo longitud mxima del dominio: Longitud en Z.minz=1000;maxz=-1000 //incializando variables en Zfor i=1:sizecoord(1)

    if coord(i,2)maxz then

    maxz=coord(i,2);end

    endlongz=maxz-minz;//Revisando si el valor de delta es exacto en la direccion X y Z.delta=datos(2);if longx/delta-floor(longx/delta)~=0 then

    disp("El delta elegido no es adecuado en X")abort

    elseif longz/delta-floor(longz/delta)~=0 thendisp("El delta elegido no es adecuado en Z")abort

    end// Fin del segundo paso de definicin de la geometria del problema//TERCER PASO: Definicin de la matriz donde se guardarn los valores de"h"//Conteo de la cantidad de discontinuidades verticales y horizontales presentesdisv=0;//Inicializando variable contadora de discontinuidades verticales.dish=0;//Inicializando variable contadora de discontinuidades horizontales.sizedis=size(discont);for i=1:2:sizedis(1)-1

    if discont(i,1)==discont(i+1,1) thendisv=disv+1;

    endif discont(i,2)==discont(i+1,2) then

    dish=dish+1;end

    end//Calculando el nmero de filas y columnas que tendr la matriz h#col=longx/delta+1+disv;#fil=longz/delta+1+dish;h=zeros(#fil,#col);// Creacin de la matriz h, para irla llenando.FIN DEL TERCER PASO

  • //CUARTO PASO: Definir las discontinuidades establecidas al interior del medio de flujo y transformar la matriz decoordenadas a trminos de nodos.

    //continua un proceso para transformar la matriz de discontinuidades en trminos de los nodos manejados, ser lamatriz "discontn".

    discontn=zeros(sizedis(1),sizedis(2));for i=1:sizedis(1) //recorriendo las filas de la matriz de discontinuidades.

    for j=1:2 //recorriendo las columnas de la matriz de discontinuidades.if j==1 then// Si estamos en una coordenada X, entonces

    disvaux=0;//inicializando la variable de discontinuidades verticales auxiliarfor k=1:2:sizedis(1)-1

    if discont(k,1)==discont(k+1,1)&discont(k,1)

  • fronteras(i,j)=fronteras(i,j)/delta+1+disvaux;else

    dishaux=0;//inicializando la variable de discontinuidades horizontales auxiliarfor k=1:2:sizedis(1)-1

    if discont(k,2)==discont(k+1,2)&discont(k,2)

  • for l=1:sizecoord(1)-1if coordn(l,2)==exts&coordn(l,1)==discontn(k,1) then

    empotravs=%t;endif coordn(l,2)==exti&coordn(l,1)==discontn(k,1) then

    empotravi=%t;end

    endend//fin de la parte para tener en cuenta el efecto de las discontinuidades verticales//Parte para tener en cuenta el efecto de las discontinuidades horizontales...auxBh=%t;auxEh=%f;auxGHh=%f;empotrahiz=%f;empotrahde=%f//variables auxiliares que nacieron al

    analizar las cond B, E, GH pero para el caso horizontal;empotramiento horizontal izquierdo; empotramiento horizontalderecho.

    extiz=0;extde=0//Inicializando las variables para guardar los extremos de la discontinuidad horizontal.for k=1:2:sizedis(1)-1

    if discontn(k,2)==discontn(k+1,2)&(discontn(k,2)==j|discontn(k,2)==j-1) thenauxBh=%f;if discontn(k,2)==j-1 then

    auxEh=%t;else

    auxGHh=%t;endextiz=min(discontn(k,1),discontn(k+1,1));extde=max(discontn(k,1),discontn(k+1,1));

    endfor l=1:sizecoord(1)

    if coordn(l,1)==extiz&coordn(l,2)==discontn(k,2) thenempotrahiz=%t;

    endif coordn(l,1)==extde&coordn(l,2)==discontn(k,2) then

    empotrahde=%t;end

    endend//fin de la parte para tener en cuenta el efecto de las discontinuidades horizontales//Desde aqu se empiezan a programar las diferentes condiciones de nodos que generan a su vez diferentes

    ecuaciones.//Condicin (A)if h(j-1,i)~=0&i~=1&i~=#col&auxB then

    nuevafila(abajo)=-1;nuevafila(indep)=h(j-1,i);if i==iizqbase&j

  • nuevafila(der)=-2;nuevafila(arriba)=-2;

    end//Condicin (D)if i==#col&j==#fil then

    nuevafila(izq)=-2;nuevafila(arriba)=-2;

    end//Condicin (E) y (F)if (i==1&j>2&jexts&j2&jexts&jexti|jexti|j

  • //Condiciones (M) y (O)if auxE&((j==exts&empotravs)|(j==exti&empotravi)) then

    nuevafila(der)=-2;if j==exts then

    nuevafila(abajo)=-2;else

    nuevafila(arriba)=-2;end

    end//Condiciones (N) y (P)if auxGH&((j==exts&empotravs)|(j==exti&empotravi)) thennuevafila(izq)=-2;

    if j==exts thennuevafila(abajo)=-2;

    elsenuevafila(arriba)=-2;

    endend//Condicin ()if i>iizqbase&i2&jextiz&iextde|i

  • if auxGHh&((i==extde&empotrahde)|(i==extiz&empotrahiz)) thennuevafila(arriba)=-2;if i==extde then

    nuevafila(izq)=-2;else

    nuevafila(der)=-2;end

    endlleno=%ffor y=1:#col*(#fil-1)+1

    if y~=centro&nuevafila(y)~=0lleno=%t

    endendif ~lleno then

    nuevafila(izq)=-1;nuevafila(der)=-1;nuevafila(abajo)=-1;nuevafila(arriba)=-1;

    endend//Fin de la programacion de las condiciones que definen las ecuaciones de nodosampliada(centro,:)=nuevafila;

    endend//FIN DEL SEXTO PASOdisp("listo el sistema de ecuaciones ahora a resolverlo")//SPTIMO PASO: Aplicacion de un mtodo para resolver el sistema de ecuaciones lineales//Se usa el mtodo de la eliminaicin gaussiana y pivoteotam=size(ampliada);N=tam(1);if tam(1)+1tam(2) thendisp("Menos incgnitas que ecuaciones:soluciones infinitas")

    elsea=ampliada(:,1:N);b=ampliada(:,N+1);H=inv(a)*b;//El vector de resultados se llamar "H"

    endend//FIN SPTIMO PASO: Fin del mtodo para resolver el sistema de ecuaciones lineales.disp("solucionado el sistema de ecuaciones entonces a ordenralo en la matriz h")//OCTAVO PASO: Organizar los resultados en la matriz inicial que representa el suelo.for k=1:#col*(#fil-1)//recordando que no se admiten fronteras en el inferior.

    if floor(k/#col)==k/#colj=floor(k/#col)+1;

    elsej=floor(k/#col)+2;

    endi=k-(j-2)*#col;h(j,i)=H(k);

    endformat('v',7)disp("Matriz de energa h, calculada")//FIN OCTAVO PASO.//NOVENO PASO: Dibujar y mostrar las lneas equipotencialesclf()f=gcf();xset("fpf"," ")f.color_map=coolcolormap(20);w=get("current_axes")w.axes_reverse=['off' 'on' 'off'];w.grid=[2,2];

  • w.box="back_half";hmax=max(fronteras(1,3),fronteras(3,3));hmin=min(fronteras(1,3),fronteras(3,3));contour2d(1:#col,1:#fil,h',hmin:0.5:hmax,rect=[0,0,#col+1,#fil+1])legends(string(hmin:0.5:hmax),1:21,"lr");xlabel("Langitud, direccin, x (m)");ylabel("Profundidad, direccin, z (m)");title('Lneas equipotenciales (m)_delta 1m');xs2pdf(0,'equipotenciales_1_delta 1m','landscape')

    //fin del NOVENO PASO//DCIMO PASO: Se realizan clculos homlogos a los anteriores para determinar aspectos relacionados al caudal

    caudal=zeros(#fil,#col);//Matriz para guardar los caudales de cada nodo.for j=1:#fil

    for i=1:#colnuevafila=zeros(1,#col);//el vector provisional donde se guardan los coeficientes de la ecuacin que se est

    definiendo.if ~(jiizqbase&i

  • if coordn(l,1)==extde&coordn(l,2)==discontn(k,2) thenempotrahde=%t;

    endend

    end//fin de la parte para tener en cuenta el efecto de las discontinuidades horizontales//Desde aqu se empiezan a programar las diferentes condiciones de nodos que generan a su vez diferentes

    ecuaciones.vacio=%T//Condicin (A)if j==1&i~=1&i~=#col&auxB then

    if i==iizqbase&j

  • //Condicin (R)if auxEh&i>=extiz&iextiz|jextiz|j

  • 7.4. Anexo 4. Matriz de energa resultante del mtodo de diferenciasfinitas.

  • Con Z = Z = 2m

  • Con X = Z = 1m

  • 7.5. Anexo 5. Diagrama de lneas equipotenciales. Dif. Finitas.

  • 7.5.1. Anexo 5.1. Diagrama de lneas equipotenciales. Delta 2m

  • 7.5.2. Anexo 5.2. Diagrama de lneas equipotenciales. Delta 1m

  • 7.6. Anexo 6. CD con anexos y el programa en Scilab.