Source: http://docplayer.es/1426415-Notas-de-cfd-rev-0-2-2-adrian-lozano-duran-adrian-torroja-dmt-upm-es.html
Timestamp: 2017-03-27 05:24:51+00:00

Document:
Notas de CFD. Rev Adrián Lozano Durán. - PDF
Notas de CFD. Rev Adrián Lozano Durán.
Download "Notas de CFD. Rev 0.2.2. Adrián Lozano Durán. adrian@torroja.dmt.upm.es"
Asunción Tebar Miranda
1 Notas de CFD Rev Adrián Lozano Durán 24 de septiembre de 20132 Índice Índice 1 1 Computación Científica El ordenador como herramienta para resolver problemas matemáticos Representación de números Representación y aritmética de punto flotante Round off error o error de redondeo Introducción a los lenguajes de programación Arquitectura del ordenador Procesador Memoria Redes Introducción al cálculo en paralelo Cuándo es necesario? Paradigmas de programación en paralelo Planteamiento del problema CFD Ideas generales de la discretización temporal Ideas generales de la discretización espacial Clasificación de métodos de discretización espacial Clasificación de mallas Generación de mallas Discretización temporal Problema de condiciones iniciales3 3.2 Obtención de esquemas numéricos Clasificación de esquemas numéricos Errores de la solución numérica Análisis de esquemas numéricos Existencia y unicidad de la solución de la ecuación diferencial Estabilidad de la solución de la ecuación diferencial Consistencia, estabilidad y convergencia del esquema numérico4 Nota El siguiente documento no es ni un libro ni unos apuntes. Se trata simplemente de unas notas personales sobre CFD que he elaborado a lo largo de mi doctorado.5 1 Computación Científica 1.1 El ordenador como herramienta para resolver problemas matemáticos El ordenador es una máquina extremadamente potente pero también inútil si no se le proporcionan las instrucciones adecuadas. Es importante dejar a un lado la idea de que ésto es fácil porque el ordenador lo resuelve. El ordenador es tonto, sólo se limita a ejecutar las órdenes que le damos, ni más ni menos. Para él es indiferente darnos una solución donde un fluido se mueve con velocidades del orden de metros por segundo o por el contrario varias veces la velocidad de la luz. Por eso, es fundamental el juicio crítico de los datos procedentes de un ordenador tanto en CFD como en cualquier otra disciplina. Por otro lado, hay que tener en cuenta que calcular la solución del problema no es resolver el problema, sino solo un primer paso para entender el porqué de dicha solución. Ciencia Computacional o Computación Científica (Computational Science, no confundir con Computer Science) es la disciplina encargada de construir y analizar las herramientas necesarias para resolver problemas matemáticos mediante el uso de ordenadores. La principal limitación impuesta por el ordenador es que es una máquina finita y discreta con la cual deseamos resolver problemas que muchas veces son continuos. De forma muy general, podemos clasificar la resolución de problemas en: Resolución simbólica o álgebra computacional. Consiste en el cálculo exacto de expresiones que contienen variables a las cuales no se le ha atribuido ningún valor numérico y son manipuladas de forma simbólica para dar lugar a soluciones exactas. Los 46 cálculos se realizan con precisión arbitraria (sin errores de truncación ni redondeo) y utilizando símbolos o variables. En muchos campos de investigación es necesario procesar largas expresiones algebraicas lo que resulta un trabajo largo y tedioso. Por ello, siempre que sean perfectamente conocidos los pasos que hay que seguir para obtener el resultado, se puede aplicar la resolución simbólica por ordenador. Aún así, no está exento de problemas por la inevitable existencia de bugs (errores) en los códigos y la dificultad de obtener resultados lo suficientemente simplificados. Los inicios del software del álgebra computacional comienza en 1964 con ALPAK, desarrollado por Bell Labs y seguido de FORMAC de IBM. Actualmente algunos de los software más comunes son Maple y Mathematica entre otros. Resolución numérica. Cálculo numérico. Se trata de la concepción y estudio de métodos de cálculo que aproximen la solución de problemas previamente formulados matemáticamente mediante el uso de algoritmos. Definimos algoritmo como secuencias finitas de operaciones algebraicas y lógicas que producen una solución al problema dado. En este caso el resultado final no es simbólico sino valores numéricos. Existen multitud de problemas que pueden ser resueltos mediante el cálculo numérico tales como integración definida, derivación, interpolación, sistemas de ecuaciones algebraicas, ecuaciones diferenciales ordinarias, ecuaciones diferenciales en derivadas parciales (CFD). Las soluciones son aproximadas pero se pueden resolver aquellos problemas que no tienen solución analítica o que en el caso de tenerla es difícil de obtener. El CFD se puede entender como aquel conjunto de herramientas del cálculo numérico aplicadas a la resolución de problemas fluido dinámicos. La siglas CFD son el acrónimo de Dinámica de Fluidos Computacional(Computational Fluid Mechanics). La física de los fluidos puede ser expresada en términos de ecuaciones diferenciales ordinarias o integro-diferenciales difíciles de resolver analíticamente excepto en casos muy concretos de poco interés práctico. Para obtener la solución aproximada numéricamente es necesario discretizar las ecuaciones diferenciales en ecuaciones algebraicas que serán resueltas mediante los algoritmos apropiados ejecutados por lo general en ordenadores. Entre las grandes ventajas que ofrece el CFD se encuentra el bajo coste que presentan la simulación de prototipos en comparación con ensayos de modelos a escala real o reducida. Además existe la libertad para imponer condiciones de contorno y obtenemos la información de todas las variables en gran cantidad de puntos del espacio, algo imposible en experimentos. Hay que tener en cuenta que muchas veces es complicado fijar los 57 Figura 1.1: Tabla con ejemplos de cálculos realizados mediante cálculo numérico (columna de la izquierda) o simbólico (columna de la derecha). parámetros adimensionales en los experimentos para que coincida con los del caso que se quiere analizar, especialmente cuando hay que imponer varios de ellos como por ejemplo el número de Reynolds y número de Froude. Por otro lado, el CFD también presenta limitaciones. Uno de los inconvenientes más importantes es lo costoso que resulta resolver todas las escalas de las ecuaciones de Navier-Stokes cuando el fluido se encuentra en régimen turbulento, lo que obligar a reducir el tamaño de la simulación usando modelos en las ecuaciones que pueden dar lugar a soluciones no solo cuantitativamente incorrectas sino también cualitativamente. 1.2 Representación de números Los computadores manejan datos representados como una secuencia discreta de bits. Cada bit puede estar en dos valores diferentes a los que simbólicamente se asocian los estados 0 y 1, por ello, utilizan de forma natural el sistema en base 2. Los datos almacenados pueden ser numéricos y no numéricos. Los números se pueden representar en el sistema de numeración binario y ésta es la base para la representación de números en los ordenadores. Puesto que cualquier entero dado sólo tiene un número finito de dígitos, se pueden representar exactamente todos los números enteros por debajo de un cierto límite. Los números reales no son numerables y son más complicados dado que se necesita una cantidad infinita de dígitos para representar la mayoría de ellos, sin importar qué sistema de numeración utilicemos. En general, con n bits podemos representar 2 n números. Lo números enteros se suelen almacenar como punto/coma fijo mientras que los reales se guardan con punto/coma flotante. 68 Figura 1.2: Esquema de los bits asignados al signo, mantisa y exponente en los formatos de precisión simple y doble según el estándar IEEE Representación y aritmética de punto flotante Cuando disponemos de n bits, tenemos que decidir qué conjunto finito de números vamos a representar. En la aritmética de punto flotante los números se representan repartiendo los n bits entre una mantisa (el significando), un exponente y un bit para el signo, que no es más que una forma de notación científica. De esta manera conseguimos representar un gran rango de números reales con un número finito de bits. El estándar que define cómo se asignan los bits a la mantisa, signo y exponente y la forma de operar con ellos es el IEEE El formato IEEE 754 establece la normalización de la mantisa (el número antes del punto no se suele almacenar) y define la precisión simple con el uso de 32 bits y la doble con 64 bits. Además establece los tamaños de la mantisa y exponente y los criterios de redondeo (redondeo al más próximo con desempate al par). Algunas combinaciones se reservan para representaciones especiales como Inf (infinito positivo), -Inf, (infinito negativo) ó NaN (Not a Number). Definimos la precisión del sistema en punto flotante como el número t de bits de la mantisa que está íntimamente ligado al número de cifras significativas. Una mantisa de t cifras en binario cumple 2 t 10 m (1.1) donde m son las cifras significativas en sistema decimal. Por ejemplo, en simple precisión para t = 24 tenemos que implica 7 cifras significativas y en doble precisión con t = 52 tenemos que da lugar a 1 IEEE es una abreviación de Institute of Electrical and Electronic Engineers, una sociedad profesional de ingenieros y científicos de Estados Unidos. El estándar para la aritmética en punto flotante está recogido en la referencia9 Figura 1.3: Representación de números en punto flotante para simple precisión en el estándar IEEE Otro concepto importante es la precisión de la máquina o ǫ de la máquina definido como el menor número que cumple ǫ+1 1. (1.2) Representa la exactitud relativa de la aritmética en punto flotante y es consecuencia del redondeo. Decimos que ocurre underflow cuando el resultado de una operación es menor en magnitud que el número más pequeño que puede ser almacenado por el ordenador. Normalmente el resultado se redondea a cero. Por el contrario, decimos que ocurre overflow cuando el resultado de una operación es mayor en magnitud al mayor número que puede representar elordenador.normalmenteseredondeaelresultadoa±inf.nótesequeenla representación de punto flotante el espaciado entre números es mayor cuanto mayor es la magnitud del número. El ǫ de la máquina de la máquina puede ser entendido como un underflow en la mantisa, mientras que el underflow y overflow están relacionados con el exponente Round off error o error de redondeo La representación en el ordenador de números no enteros en punto flotante se hace con un número fijo de bits. Ésto significa que la mayoría de los números no enteros no se pueden representar sin cometer un error que normalmente se conoce como roundoff error o error de redondeo. Existe, por lo tanto, un error simplemente por el hecho de almacenar un número. Además, la mayoría de los cálculos (sumas, restas, multiplicaciones, divisiones...) con números en punto flotante producirán más errores de redondeo. En la mayoría de las situaciones estos errores serán pequeños, pero en una larga cadena de cálculos hay un alto riesgo de que los errores se acumulen y contaminen gravemente el resultado final. Es importante ser capaz de reconocer cuándo un cálculo dado va a ser propenso a este tipo de problemas y saber si el resultado es 810 fiable. Consideremos un número a y una aproximación ã. Vamos a definir dos formas de medir el error de dicha aproximación. Error absoluto: a ã. Es la forma más obvia de medir el error. Presenta ciertos inconvenientes, por ejemplo, para a = 100 y ã = el error absoluto es el mismo que para a = 1 y ã = 1.1, cuando parece intuitivo pensar que el error cometido es mayor en el último caso. Por ello, en ciertas ocasiones es mejor utilizar el error relativo. Error relativo: a ã / a, que supone escalar el error absoluto obtenido con el tamaño del número que es aproximado. En el ejemplo anterior los errores relativos serían, 10 3 y 0.1 lo cual resulta más razonable. Un propiedad importante del error relativo es que cuando r = a ã a 10 m, (1.3) con m un entero, entonces el número de cifras que tienen en común a y ã es aproximadamente m y por lo tanto la precisión del sistema nos indica indirectamente el error relativo que se comete al almacenar un número en punto flotante. Por otro lado, si intercambiamos los papeles y suponemos que a es una aproximación de ã se cumple que a ã ã r 1 r (1.4) Los errores en la aritmética de punto flotante son mucho más sutiles que los errores en aritmética de enteros. A diferencia de los números enteros, los números de punto flotante pueden estar ligeramente mal. Un resultado que parece ser razonable contienen errores y puede ser difícil juzgar cuán grandes son. Tal y como se mencionó en la sección anterior, en la mayoría de las ordenadores los números se representan en punto flotante y la aritmética se realiza de acuerdo con la norma IEEE 754, cuidadosamente diseñada para proporcionar un buen control de errores de redondeo. Sin embargo, el uso de números en punto flotante conduce inevitablemente a errores en la mayoría de los casos de interés práctico. En general, las operaciones de adición y sustracción producen mayores errores que el producto y la división. El esquema general del proceso de adición (o sustracción) es: Partimos de dos números reales a y b con a > b y queremos realizar la operación c = a+b 911 Escribimos a en forma normalizada a = α 10 n y b de tal manera que tenga el mismo exponente b = β 10 m. sumamos los significantes γ = α+β. El resultado c = γ 10 n es redondeado y normalizado. El estándar exige que el resultado de las operaciones sea el mismo que se obtendría si se realizasen con precisión absoluta y después se redondease. Por ello, es el último paso (redondeo) el que puede dar lugar a grandes errores cuando se suman dos números de tamaños muy diferentes dado que la mantisa que se utiliza para guardar el resultado final es finita. El problema es similar cuando se sustraen dos números muy cercanos. En general si tenemos una mantisa con m cifras significativas, a+b = a cuando b es más de m órdenes de magnitud menor que a, es decir, no es posible percibir el cambio de a al añadir b. En el caso de la sustracción tendremos problemas cuando los dos número sean muy próximos ya que la mayor parte de la cifras de la mantisa se cancelan. Aunque la operaciones de multiplicación y división parezcan más complicadas, los errores cometidos son menores. Al multiplicar dos número el proceso se reduce a multiplicar sus significantes y sumar los exponentes. Tras ello, se normaliza el resultado. La multiplicación y división de números en punto flotante no conduce a la pérdida de cifras significativas siempre y cuando los números se encuentren en el rango del modelo de punto flotante utilizado. En el peor de los casos el último dígito del resultado puede ser incorrecto. 1.3 Introducción a los lenguajes de programación Un lenguaje de programación es un lenguaje artificial diseñado para comunicar instrucciones (algoritmo) a una máquina, generalmente un ordenador. A grandes rasgos podemos clasificar los lenguajes de programación en: Máquina: código binario, directamente entendible por el ordenador. Bajo nivel: instrucciones en códigos alfabéticos, intrínsecamente relacionado con el lenguaje máquina (ensamblador). Alto nivel: sentencias con palabras similares al lenguaje humano. Es el que se suele utilizar para programar las herramientas de CFD y en general todo tipo de software y que a su vez pueden ser: 1012 Estáticos: C, FORTRAN... Dinámicos: Octave, Matlab, Python... El desarrollo de los Lenguajes de programación ha sido impresionante en los últimos 60 años. Los primeros lenguajes de alto nivel aparecieron en la década de los 50 con FORTRAN (Formula Translating System, creado por John Backus), COBOL, LISP... Después surgirían otros como Algol, Basic, C, Pascal, C++... Para dar lugar a los más actuales y modernos como C#, Python, Java, PHP... Algunos de los lenguajes de programación más usados actualmente en el cálculo numérico son: FORTRAN, C, (estáticos), Octave, Matlab, Python (dinámicos). En otras ocasiones se utilizan programas ya compilados como OpenFoam. Muchas veces, en el diseño de un algoritmo se utilizan diagramas de flujo y pseudocódigos como lenguaje intermedio entre el lenguaje de programación y el lenguaje natural. 1.4 Arquitectura del ordenador La arquitectura del ordenador es un tema amplio y complicado en el que evidentemente no deseamos entrar en gran detalle. Sin embargo, los códigos CFD que usamos acaban ejecutándose en un ordenador y es necesario tener un idea general de su funcionamiento. A continuación resaltamos los aspectos más importantes relacionados con el uso de programas CFDs. Casi todos los ordenadores siguen a grandes rasgos el esquema propuesto en el modelo de von Neumann. Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-lógica (ALU) que junto con la unidad de control forman el procesador, la memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes Procesador El procesador o CPU es el encargado de ejecutar los programas. Sólo ejecuta instrucciones programadas en lenguaje de máquina, realizando operaciones aritméticas y lógicas simples, tales como sumas, restas, multiplicaciones, divisiones, lógicas binarias y accesos a memoria. Un parámetro importante del procesador son los FLOPS (FLoating-point Operations Per Second) que indica el número de operaciones en punto flotante que el procesador es capaz de realizar por segundo. Los ordenadores de sobremesa actuales tienen del orden de Giga FLOPS. La tabla 1.1 recoge algunos procesadores y una estimación sus respectivos FLOPS. 1113 Figura 1.4: Arquitectura de von Neumann. Es el modelo que siguen a grandes rasgos casi todos los ordenadores actuales. Intel I7 3930K 5Ghz 104 GFLOPS AMD Phenom II 1090t 4.2Ghz 80 GFLOPS Intel Core i Ghz 44 GFLOPS Intel Core 2 Duo E Ghz 6 GFLOPS Intel Atom N GHz 1 GFLOPS Cuadro 1.1: FLOPS para diferentes procesadores. En la práctica, se puede estimar cuál será la capacidad de cálculo de los procesadores dentro de unos años usando la Ley de Moore: el número de transistores en un procesador (íntimamente ligado a la capacidad de cálculo) se duplica aproximadamente cada 18 meses. Se trata de una observación, una ley empírica formulada por Gordon E. Moore, en 1965, cuyo cumplimiento se ha mantenido hasta nuestros días. Un procesador con muchos FLOPS no es la solución a todo problema y en general un buen algoritmo reduce en mayor medida el tiempo de cálculo que disponer de procesadores muy rápidos. Además, en los últimos años el sector informático está dando mucha importancia a factores como el consumo de electricidad y el rendimiento por vatio. Los procesadores de ordenadores de sobremesa suelen consumir entre 60 y 100 Watios, mientras que los de los portátiles consumen entre 20 y 40 Watios. Hay que tener en cuenta que en el cálculo en paralelo (ver siguiente apartado) se pueden llegar a usar cientos de miles de procesadores a la vez y el consumo se convierte en un factor importante. 1214 Figura 1.5: Ley de Moore. El número de transistores en un procesador se duplica aproximadamente cada dos años. 1315 Figura 1.6: Jerarquía de memorias en un ordenador. Los tamaños y velocidades dados son valores de referencia Memoria El correcto uso de la memoria es un tema fundamental para obtener buenos rendimientos de los códigos CFD. La figura 1.6 muestra las diferentes jerarquías de memorias en un ordenador: Disco duro, RAM y caché. Memoria caché: Es la memoria más rápida de la cual dispone el procesador. Se utiliza para tener alcance directo a datos que predeciblemente serán utilizados en las siguientes operaciones, sin tener que acudir a la memoria RAM, reduciendo así el tiempo de espera para adquisición de datos. Casi todos los procesador poseen la llamada caché interna de primer nivel o L1 encapsulada en el procesador. Los más modernos incluyen también en su interior otro nivel de caché, más grande, aunque algo menos rápida, eslacaché desegundo nivel ol2eincluso loshayconmemoriacaché de nivel 3, o L3. Memoria RAM: Es la memoria de acceso aleatorio. Es una memoria rápida que permite acceder a los datos en cualquier orden. En ella se almacenan todos los programas que se están ejecutando. Tanto la memoria RAM como la caché son volátiles, y pierden la información si se dejan de alimentar/energizar. Disco duro: Sistema de almacenamiento digital no volátil. Suele ser la memoria más lenta de todas, pero la que tiene mayor tamaño. Es importante resaltar que cuanto más lejos nos movemos del procesador, el nivel de memoria se convierte en 10 veces más lento (de picosegundos a milisegundos) y 1000 veces más grande (de bytes a terabytes). 1416 Figura 1.7: Esquema de ejecución de un programa en serie. Normalmente el programador puede controlar directamente el flujo entre la memoria RAM y el disco duro pero no entre la memoria RAM y la caché, aunque dicho control se puede hacer indirectamente siguiendo ciertas pautas de programación. Existe una forma equivalente a la Ley de Moore para el almacenamiento en disco duro llamada Ley de Kryder: la cantidad de bits por unidad de volumen en un disco duro se duplica aproximadamente cada 13 meses. Se trata de una ley experimental enunciada por Mark Kryder (ingeniero de Seagate Technology). Una consecuencia de comparar la Ley de Moore con la Ley de Kryder es que la capacidad de almacenamiento crece más rápidamente que la de procesamiento. Además, los tiempos de acceso a memoria también se han reducido más lentamente lo que plantea problemas de cuello de botella en el flujo de datos entre el disco duro y el procesador Redes En algunas ocasiones los códigos CFD no son ejecutados en un solo ordenador sino que es necesario el cálculo en paralelo mediante el uso de un array de ordenadores conectados en red. En esos casos es, la red pasa a ser, junto con el procesador y la memoria, otro elemento fundamental a tener en cuenta. 1.5 Introducción al cálculo en paralelo Tradicionalmente, los programas se han desarrollado para el cálculo en serie, es decir, están preparados para ejecutarse en un ordenador con un único procesador. El problema es dividido en un conjunto de instrucciones que son ejecutadas secuencialmente. El cálculo en paralelo consiste en usar múltiples recursos simultáneamente para resolver un problema dado. El problema es dividido en partes independientes que son ejecutadas simultáneamente en varios procesadores. Las figuras 1.7 y 1.8 muestran los esquemas de ejecución en serie y parallelo. El cálculo en paralelo se realiza en los llamados centros de supercomputación. En ellos, arrays de nodos de cálculo se conectan entre sí mediante una red 1517 Figura 1.8: Esquema de ejecución de un programa en parallelo. rápida. En la web se pueden encontrar estadísticas y datos interesantes sobre estos centros, como su uso por paises, las aplicaciones, sistemas operativos que usan... La figura 1.9 muestra la evolución de los ordenadores más rápidos del mundo Cuándo es necesario? Los motivos clásicos más importante para utilizar el cálculo en paralelo son: Resultados en menos tiempo. Resolución de problema más grandes en memoria y/o en operaciones. Además, hoy en día las arquitecturas de los procesadores son de n-núcleos y para sacarles todo el rendimiento es necesario hacer uso del cálculo en paralelo Paradigmas de programación en paralelo La clasificación más habitual de los ordenadores paralelos es atendiendo a la distribución de memoria: Ordenadores de memoria compartida: todas las CPUs acceden a la misma memoria. (paradigma OpenMP) 1618 Figura 1.9: Evolución de los ordenadores más potentes del mundo. Fuente: 1719 Figura 1.10: Paradigmas de cálculo en paralelo. Memoria compartida. Figura 1.11: Paradigmas de cálculo en paralelo. Memoria distribuida. Ordenadores de memoria distribuida: cada CPU tiene su propia memoria local que no es visible por el resto de CPUs. La información es compartida por una red. (paradigma MPI). Cálculo en GPUS + CPU. (paradigma GPU) Ordenadores híbridos. Grupos de CPUs comparten la misma memoria (y tal vez GPU) y se comunican con otros grupos a través de una red. 1820 Figura 1.12: Paradigmas de cálculo en paralelo. Híbrido de memoria compartida + distribuida. 1921 2 Planteamiento del problema CFD El punto de inicio de todo método numérico es el modelo matemático del fenómeno físico que se desea estudiar y que generalmente suele ser expresado en forma de ecuaciones diferenciales en derivadas parciales o ecuaciones integro-diferenciales junto con las condiciones de contorno. En el caso de la dinámica de fluidos computacional se utilizan las ecuaciones de Navier-Stokes o simplificaciones de las mismas dependiendo de la aplicación. Como ya hemos mencionado en el capítulo anterior, el ordenador es una máquina finita y no puede manejar ecuaciones en derivadas parciales con variables continuas en el espacio y el tiempo. Por ello, una vez definido el problema matemático que se quiere resolver, se procede a realizar la discretización temporal y espacial y a transformar las ecuaciones en algebraicas. Como resultado, la solución que obtenemos no será continua sino que vendrá dada por una serie discreta de valores tanto en el espacio como en el tiempo. Figura 2.1: Pasos para resolver numéricamente un problema con CFD. 2022 Figura 2.2: Discretización temporal. El paso de tiempo debe ser el adecuado para captar los cambios de la solución. 2.1 Ideas generales de la discretización temporal En el cálculo de flujos no estacionarios debemos discretizar la coordenada temporal. La solución se obtiene en puntos discretos del tiempo tal y como muestra la figura 2.2. El tiempo transcurrido entre dos instantes de tiempo define el paso de tiempo t. Un aspecto importante a la hora de usar t es queéstedebesertalquecapteloscambiosrápidosdelasolución.laprincipal diferencia entre espacio y tiempo recae en la dirección de influencia: mientras que una fuerza puede influenciar todos los puntos del espacio (en problemas elípticos) esa misma fuerza al ser aplicada en un instante dado sólo puede afectar al futuro. Los flujos no estacionarios tiene carácter parabólico. Por ello, la mayor parte de los métodos numéricos para resolver la coordenada espacial se basan en avanzar paso a paso en el tiempo. 2.2 Ideas generales de la discretización espacial Tanto en los flujos estacionarios como no estacionarios se debe proceder a la discretización espacial para obtener la solución numérica. Las posiciones discretas en las que las variables son calculadas están definidas por la malla numérica, que es esencialmente una representación discreta del dominio geométrico en el cual debe ser resuelto el problema. La malla divide el dominio en un número finito de subdominios (elementos, volúmenes de control, nodos...). El mallado espacial presenta mayor complejidad que el temporal, debido a que tenemos tres dimensiones, el dominio puede ser de geometría 2123 compleja y ademas es difícil predecir a priori en qué lugares va a ser necesario un mallado más fino Clasificación de métodos de discretización espacial Los principales métodos de discretización espacial está asociados a las diferentes formulaciones del problema matemático: forma diferencial, integral o débil. Métodos de diferencias finitas Utilizan la formulación diferencial de las ecuaciones. El dominio se cubre con puntos llamados nodos en los cuales la ecuación es aproximada remplazando las derivadas parciales por aproximaciones en términos de los valores nodales de la función. Cuando se aplican en mallas estructuradas (ver siguiente apartado) son muy sencillos y efectivos. Además es fácil obtener esquemas de alto orden. Entre sus inconvenientes están que la conservación no está garantizada si no se tiene especial cuidado y es complicada su aplicación a dominios de geometrías irregulares. Métodos de volúmenes finitos Utilizan la formulación integral de las ecuaciones. El dominio se divide en volúmenes de control en los cuales se aplican las ecuaciones integrales que son aproximadas mediante cuadraturas. En este caso los nodos residen en el centroide del volumen y se interpolan para obtener sus valores en las caras de dichos volúmenes. Se pueden usar cómodamente en todo tipo de mallas, tanto estructuradas como no estructuradas (ver siguiente sección). Otra de sus ventajas es que son conservativos por construcción y todos los términos aproximados tienen un sentido físico claro. Entre sus desventajas está la dificultad de obtener esquemas de alto orden, sobre todo en 3D, debido a que requieren tres niveles de aproximación: interpolación, diferenciación e integración. Es el método utilizado por la mayoría de software CFD (ANSYS FLUENT, STAR CCM+, OPENFOAM...) Métodos de elementos finitos Utilizan la formulación débil: la ecuación diferencial es multiplicada por unas funciones llamadas funciones peso y posteriormente integradas. Son similares en cierto modo al método de volúmenes finitos. El dominio se divide en elementos y en cada uno de ellos la solución es aproximada, generalmente de forma lineal, utilizando los valores de la 2224 Figura 2.3: Ejemplo de malla estructurada. función en los vértices del elemento. Esta aproximación es sustituida en la ecuación integral pesada y se impone que la derivada de dicha integral con respecto al valor en cada nodo sea cero. Son apropiados para geometrías complejas y fáciles de analizar matemáticamente. Menos común en CFD pero también se pueden encontrar paquetes de software como ELMER, FENICS... Otros: métodos espectrales, método paneles Clasificación de mallas Mallas estructuradas. Las mallas estructuradas son aquellas formadas por un conjunto de nodos (o volúmenes de control) que pueden ser identificados de forma única mediante un grupo de índices ordenados (i,j,k) en 3D ó (i,j) en 2D. Es el tipo de malla más simple y es equivalente a una malla cartesiana mediante el cambio de coordenadas apropiado. Cada nodo P de la malla tiene 4 vecinos en 2D y 6 en 3D al los cuales se accede variando los indices (i,j,k) de P en ±1. Su mayor desventaja es que sólo pueden ser utilizadas en dominios con geométricas simples y muchas veces acumulan puntos en regiones que no son de interés. Suelen ser las mallas más utilizadas en los métodos de elementos finitos. Gran cantidad de algoritmos están diseñados para mallas cartesianas regulares y son aplicados a otras mallas mediante una transformación de coordenadas. Las mallas estructuradas se subdividen a su vez en tres grupos según cómo sea la deformación que hay que aplicar a una malla cartesiana 2325 Figura 2.4: Ejemplos de mallas estructuradas tipo O y tipo C. para obtenerlas: mallas tipo O, tipo C ó tipo H. En una malla tipo O tenemos puntos organizados circularmente de tal forma que las líneas que los unen son cerradas, y por lo tanto, parecen una O. En las mallas tipo C las lineas se doblan reproduciendo la forma de C. Al resto de mallas se las denomina tipo H. Mallas estructuradas multi-bloque. En las mallas estructuradas multi-bloque hay uno o más niveles de subdivisión. En el nivel exterior, hay bloques generalmente grandes que pueden ser de estructura irregular e incluso solaparse. En el nivel más fino se definen mallas estructuradas con un tratamiento especial de las regiones de acoplamiento entre bloques. Este tipo de mallas es más flexible que las estructuradas y permite usar mayor resolución en aquellas regiones donde es necesario, aunque son más complejas de programar. Mallas no-estructuradas. Para geometrías muy complejas, las mallas más flexibles son aquellas que se pueden adaptar de forma arbitraria al dominio. En principio, este tipo de mallas pueden ser usadas con cualquier esquema de discretización espacial, sin embargo, los métodos de volúmenes y elementos finitos son los que mejor se adaptan. Loselementos o volúmenes decontrol pueden tener cualquier forma, sin restricciones en cuanto al número de elementos vecinos ni nodos. En la práctica, las mallas se construyen utilizando triángulos o cuadriláteros en 2D y tetraedros o hexaedros en 3D. Existe una gran variedad de trabajos dedicados al estudio de la 2426 Figura 2.5: Ejemplo de malla estructurada multi-bloque. 2527 Figura 2.6: Ejemplo de malla no-estructurada. generación de mallas no-estructuradas de forma automática. La ventaja de su flexibilidad contrasta con la estructura irregular de los datos que produce y la necesidad de usar algoritmos más complicados y caros ya que las matrices que hay que resolver son llenas. Mallas híbridas. En algunos casos se combinan los diferentes tipos de malla expuestos anteriormente. En estos casos hay que tener cuidado con el acoplamiento en las diferentes mallas Generación de mallas En la mayoría de la literatura se establece como primer criterio de clasificación de mallas el tipo de malla creada y, en segundo lugar, el modo en el que se genera. Siguiendo estas pautas, las distintas técnicas de discretización se pueden dividir en: Métodos de generación de malla estructurada: Métodos algebraicos: se obtienen aplicando una transformación de coordenadas a geometrías canónicas simples (mapping). Métodos basados en EDPs: Basados en la resolución de EDPs (generalmente elípticas), con condición de contorno la geometría del contorno del dominio que se pretende discretizar. Similares a 2628 los métodos algebraicos pero las coordenadas de los nodos interiores vienen determinadas por la resolución de estas EDPs. Presentan alto coste computacional comparados con los métodos algebraicos. Métodos de generación de malla no estructurada: Método de Delaunay-Voronoï: Primero colocamos en el dominio los nodos en los lugares deseados (lo cual puede ser no trivial), y obtenernos un conjunto de puntos P i. Dado ese conjunto de puntos, se pueden definir unas regiones poliédricas V i asociadas a cada punto, de modo que cualquier punto de la región V i se encuentra más cerca al punto P i que a cualquiera del resto. Cada unas de estas regiones se denomina región de Voronoï. A partir de su definición resulta evidente que cada cara de estas regiones poliédricas se encuentra equidistante de los dos puntos que separa. La unión de todos estos puntos por pares genera otra discretización del dominio, conocida como triangulación de Delaunay, que posee una característica muy interesante para la generación de mallas: la regularidad de ángulos en los triángulos generados es máxima. Es decir, dado un conjunto de nodos, el método de Delaunay garantiza una triangulación óptima. Sin embargo, en el caso volumétrico, esta triangulación óptima no garantiza que los tetraedros generados sean óptimos, por lo que, en general, tras la generación de la malla son necesarias técnicas de detección y corrección de tetraedros defectuosos. Método de frente de avance: se realiza desde el contorno hacia el interior del dominio. Se analiza un frente, inicializado con los datos del contorno, para determinar una zona de partida desde la que se crean uno o varios elementos internos, junto con los correspondientes nodos y aristas. Seguidamente se actualiza el frente con los nuevos nodos y aristas generadas y se repite el proceso hasta que el dominio queda completamente mallado. Métodos Multibloque: la idea consiste en la división del dominio en bloques de topología más sencilla, cada bloque se procesa posteriormente con alguna de las técnicas anteriores. 2729 3 Discretización temporal 3.1 Problema de condiciones iniciales La discretización temporal se aplica a los problemas de evolución definidos por ecuaciones diferenciales ordinarias de primer orden en el tiempo junto con las condiciones iniciales correspondientes. A este tipo de problemas se les denomina problemas de Cauchy, du = F(u,t), dt (3.1) u(t 0 ) = u 0, (3.2) donde t es la variable independiente, u un vector columna de dimensión s y u 0 la condición inicial. Aunque no es habitual que aparezcan derivadas de más de segundo orden en el tiempo, estos sistemas se pueden reducir a primer orden realizando un cambio de variable. Así, partiendo del sistema de dimensión uno y orden s d s y dy = F(y, dts dt,..., ds 1 y dts 1,t) (3.3) lo podemos reducir a dimensión s y orden uno tomando u 1 = y, u 2 = dy/dt,...,u s 1 = d s 1 y/dt s 1 dando como resultado du i dt du s dt = u i+1, i = 1,...,s 1, (3.4) = F(u 1,...,u s,t). (3.5) 2830 La idea de la discretización espacial es transformar la ecuación diferencial 3.1 en una ecuación algebraica (ecuación en diferencias) que podamos resolver con un ordenador. Como resultado, obtendremos los valores aproximados de u(t) en una serie discreta de puntos en el tiempo, t n. A continuación pasamos a describir la nomenclatura utilizada: u(t) es la solución exacta de la ecuación 3.1, donde ambas u y t son variables continuas. u 0 es la condición inicial en el instante t = t 0. t n con n = 1,...,N son los valores discretos de t donde obtendremos la aproximación numérica a la función u. Llamaremos paso de tiempo a t = t n+1 t n, que en general dependerá de n. u(t n ) es la solución exacta evaluada en el instante t = t n. u n es la aproximación numérica a la solución exacta u(t n ) en el instante t n. En general u n u(t n ). F n = F(u n,t n ) es la evaluación de F con la aproximación numérica en el instante t n. Expresaremosunesquemanuméricogenéricodelaforma: p j=0 α ju n+1 j = th(u n+1,...,u n+1 p,t n,...) con j = 1,..,p, donde p depende del esquema utilizado. Error local de truncación: T n = o( t q+1 ) con q el orden del esquema numérico. Error global: E n = u(t n ) u n = o( t q ), con q el orden del esquema numérico. 3.2 Obtención de esquemas numéricos Existen dos métodos básicos para la obtención de esquemas numéricos: la cuadratura numérica y la diferenciación numérica. Muchos esquemas se pueden deducir usando tanto un método como el otro y otros se basan en la combinación de los esquemas anteriores. Cuadratura numérica. En la cuadratura numérica el problema 3.1 es integrado entre t n y t n+1 para obtener 2931 tn+1 u(t n+1 ) = u(t n )+ F(u,t)dt. (3.6) t n La relación anterior es exacta y los esquemas numéricos se obtienen de las diferentes aproximaciones de la integral. Se suele definir una función de interpolación para F que luego es integrada entre t n y t n+1. Dicha interpolación se obtiene usando los puntos t n y t n+1, pero también se pueden usar puntos intermedios (esquema multietapa) o anteriores como t n 1, t n 2... (esquemas multipaso). También se pueden usar desarrollos en serie de Taylor de F para aproximar la integral. La figura 3.1 muestra varios esquemas numéricos que se obtienen con diferentes aproximación del área bajo F. En general, utilizaremos un polinomio interpolante 1 para F de la forma F(u,t) y lo integramos para obtener u n+1 = u n + tn n+1 j=n p+1 n+1 t n+1 j=n p+1 F j L j (t), (3.7) F j L j (t)dt. (3.8) Podemos obtener esquemas como los que se muestran en la figura 3.2 denominados Adams-Bashforth y Adams-Moulton de la forma u n+1 = u n + t Algunos esquemas Adams-Bashforth: p β j F n j+1. (3.9) j=0 Primer orden: u n+1 = u n + tf n (Euler explícito). Segundo orden: u n+1 = u n + t/2(3f n F n 1 ). Algunos esquemas Adams-Moulton: 1 El polinomio interpolante de Lagrange de u en un conjunto de puntos (u 0,t 0 ),...,(u n,t n ) viene dado por n j=0 u jl j (t) con l j (t) = n t t i i=0,i j t j t i. Si utilizamos n+1 puntos el error cometido será del orden t n+1. 3032 Figura 3.1: 3133 Figura 3.2: Primer orden: u n+1 = u n + tf n+1 (Euler implícito). Tercer orden: u n+1 = u n + t/12(5f n+1 +8F n F n 1 ). Diferenciación numérica. En la diferenciación numérica usamos la ecuación original du dt = F(u,t), (3.10) y aproximamos la derivada temporal du/dt. Para ello, calculamos una función de interpolación de u(t) a partir su valor en los instantes t n+1, t n, t n 1... lo derivamos y obligamos a que se satisfaga en t n ó t n+1. El polinomio interpolante de Lagrange de u(t) usando los dos puntos t n y t n+1 puede expresarse mediante la forma u(t) p(t) = u(t n ) t t n+1 t t n +u(t n+1 ), t [t n,t n+1 ] t n t n+1 t n+1 t n (3.11) la primera derivada de u(t) puede aproximarse por 3234 du dt u(t n+1) u(t n ) t lo que nos permite aproximar la ecuación diferencial como (3.12) u(t n+1 ) u(t n ) t F(u,t), (3.13) Particularizando esta expresión para t = t n obtenemos de nuevo la expresión del esquema Euler explícito u n+1 = u n + tf(u n,t n ). (3.14) Si en lugar de particularizar la expresión anterior en el instante t = t n se particularizase en el instante t = t n+1 se obtendría el esquema Euler implícito u n+1 = u n + tf(u n+1,t n+1 ). (3.15) Sumando las dos expresiones anteriores y multiplicando la primera por (1 θ) y la segunda por θ con 0 θ 1 se obtiene la familia de los θ-métodos. En general, utilizaremos un polinomio interpolante para u de la forma lo derivamos para obtener d dt u(t) n+1 j=n p+1 n+1 j=n p+1 u j L j (t), (3.16) u j L j (t) = F(u,t), (3.17) Particularizando en t n+1 o t n obtenemos esquemas de la forma con k = n o k = n+1. p α j u n j+1 = tf k, (3.18) j=0 Otros esquemas se obtienen aproximando la derivada con desarrollos en serie de Taylor de u en vez de su usar una función de interpolación. 3335 Otros métodos: predictor-corrector. La idea de los métodos predictor-corrector consiste en hacer una estimación de la solución (predictor) con un esquema explícito (ver siguiente apartado) para después corregirla (corrector) con un esquema implícito. Se combinan, por lo tanto, dos esquemas numéricos diferentes. En general los pasos a seguir son: Obtener una estimación de la solución u n+1 usando el esquema explícito predictor: u n+1. Utilizar un esquema implícito corrector para obtener la solución definitiva utilizando u n+1 en vez de u n+1 en H y convertir así el esquema en explícito. A veces el proceso anterior es más complicado y se itera varias veces hasta obtener el error deseado. La ventaja que presentan es que se consigue mayor orden que con un esquema explícito sin aumentar mucho el coste computacional. Otros métodos: Runge-Kutta. La forma general de los esquemas Runge-Kutta está recogida en la figura 3.3 y es u n+1 = u n + t k i = F(u n + e b i k i, (3.19) i=1 e a ij k j,t n +c i t), i = 1,...,e. (3.20) j=1 SebasanenlaideadeestimarlafunciónF enpasosintermediosdenominados etapas. También se pueden entender como esquemas predictorcorrector o como un método iterativo en el que la solución no siempre se evalúa en el mismo instante sino en puntos entre t n y t n+1. Los coeficientes de los esquemas Runge-Kutta se suelen organizar usando la tabla de Butcher. c 1 a 11 a 12 a 1e c 2 a 21 a 22 a 2e c e a e1 a e2 a ee b 1 b 2 b e (3.21) 3436 Que se puede expresar como c A b T (3.22) Si la matriz A es triangular inferior estricta el método es explícito y en caso contrario es implícito. Para obtener los coeficientes del esquema se desarrolla en serie de Taylor la expresión 3.19 y se iguala al desarrollo de du/dt. Algunos esquemas Runge-Kutta: Segundo orden: Tercer orden: u n+1 = u n +1/2(k 1 +k 2 ), k 1 = tf n, k 2 = tf(u n +k 1,t n + t). u n+1 = u n +1/6(k 1 +4k 2 +k 3 ), k 1 = tf n, Cuarto orden (clásico): k 2 = tf(u n +k 1 /2,t n + t/2), k 3 = tf(u n k 1 +2k 2,t n + t). u n+1 = u n +1/6(k 1 +2k 2 +2k 3 +k 4 ), k 1 = tf n, k 2 = tf(u n +k 1 /2,t n + t/2), k 3 = tf(u n +k 2 /2,t n + t/2), k 4 = tf(u n +k 3,t n + t). Los esquemas Runge-Kutta son sin duda unos de los esquemas de mayor éxito. En concreto el esquema RK4 (Runge-Kutta orden 4) es uno de los más utilizados. Sólo necesitan información de la solución en un paso, no presentan soluciones espúreas, pueden ser tanto explícitos como implícitos con gran estabilidad, permiten variar cómodamente el paso de tiempo y pueden alcanzar alto orden. Entre sus inconvenientes está la necesidad de evaluar varias veces la función F lo cual puede ser costoso. 3537 Figura 3.3: 3638 3.3 Clasificación de esquemas numéricos Podemos realizar dos grandes clasificaciones de los esquemas numéricos atendiendo bien al sistema de ecuaciones que hay que resolver o bien al número de instantes implicados en obtener la solución en cada paso temporal. Esquemas numéricos unipaso, multiplaso, multietapa. Unipaso: Sólo involucran un paso de tiempo anterior y el que se quiere calcular. Son de la forma u n+1 = u n j + th(u n+1,u n j,t n+1,t n j ), (3.23) con j fijo, generalmente j = 0. Entre sus ventajas está su ahorro de memoria, puesto que sólo es necesario almacenar la solución en un único instante anterior. Además aquellos con j = 0 no presentan soluciones espúreas. Ejemplos: esquemas Euler explícito e implícito, Crank- Nicolson. Multipaso: La solución en el instante t n+1 se obtiene usando la información de p instantes anteriores t n j+1 con j = 1,...,p. Se dice entonces que es un esquema de p pasos. Son de la forma u n+1 = p α j u n j+1 + th(u n+1,...,u n p+1,t n+1,...,t n j+1 ) (3.24) j=1 con j = 1,...,p. Presentan como inconveniente que es necesario almacenar en memoria p instantes anteriores lo cual puede ser inasumible en problema grandes. Además, necesitamos p valores iniciales para arrancarlos cuando en principio sólo contamos con u 0 = u 0, por lo que se suelen arrancar de forma escalonada usando esquemas de menos pasos. Otro problema importante es que pueden producir soluciones espúreas, por lo que es necesario controlar que no emerjan. Una de sus ventajas es que al utilizar más información pueden alcanzar mayor orden que los esquema unipaso. Ejemplos de esquemas multipaso: Adams (Bashforth y Moulton) con p > 1. Multietapa: Los esquemas numéricos multietapa son aquellos en los que se halla la solución iterativamente usando varias etapas. Suelen ser unipaso y utilizan instantes intermedios entre t n y t n+1, aunque teóricamente 3739 también pueden ser multipaso. Tienen grandes ventajas tales como la ausencia de soluciones espúreas, alto orden y estabilidad sin necesidad de tanta memoria como los multipaso. Ejemplo: esquemas Runge- Kutta. Esquemas numéricos Explícitos o implícitos. Explícitos: Aquellos en los que para calcular u n+1 se utilizan valores conocidos de instantes anteriores u n j+1 con j = 1,...,p. p u n+1 = α j u n j+1 + th(u n,...,u n p+1,t n,...,t n p+1 ) (3.25) j=1 Son sencillos de programar dado que no es necesario resolver ningún sistema de ecuaciones, sino que la solución se obtiene directamente evaluando H(u n,...,u n p+1 ) (que no depende de u n+1 ). Su principal desventaja es que son de menor orden que su equivalente implícito y pueden ser inestables para t grandes. Ejemplos: Euler explícito, Leap- Frog, Adams-Bashforth, predictor-corrector, Runge-Kutta explícitos. Implícitos: Aquellos en los que para calcular u n+1 se utilizan valores conocidos en instantes anteriores u n j+1 con j = 1,...,p junto con u n+1 p u n+1 = α j u n j+1 + th(u n+1,...,u n p+1,t n,...,t n p+1 ), (3.26) j=1 Son complejos de programar y la solución es más cara de obtener ya que es necesario resolver un sistema de ecuaciones algebraicas no lineales. Entre sus principales ventajas están ser de mayor orden que su equivalente explícito y su estabilidad. Ejemplos: Euler implícito, Crank- Nicolson, Adams-Moulton, Runge-Kutta implícito. 3.4 Errores de la solución numérica Para poder confiar en un resultado numérico es fundamental tener una estimación del error que se está cometiendo. Para realizar el estudio del error consideraremos un esquema numérico genérico de la forma p α j u n+1 j = th(u n+1,...,u n+1 p,t n,...), (3.27) j=0 3840 Podemos distinguir tres fuentes diferentes de error Error local de truncación Es el asociado a cuán buena es la aproximación del esquema numérico a la ecuación diferencial. Tal y como se vio en la sección anterior, los esquemas numéricos pueden obtenerse bien aproximando una cuadratura o aproximando la derivada temporal. En ambos casos es necesario truncar el desarrollo lo cual nos introducirá inevitablemente un error. Definición 1 El error local de truncación de un esquema numérico en el instante t n+1 se define por T n+1 = p α j u(t n+1 j ) th(u(t n+1 ),...,u(t n+1 p ),t n,...), (3.28) j=0 donde u(t n+1 j ) es la solución exacta del problema de condiciones iniciales. Se puede demostrar que u(t n+1 ) ũ n+1 T n+1, (3.29) donde u(t n+1 ) constituye la solución exacta en t n+1 del problema de condiciones iniciales y ũ n+1 es la solución numérica calculada partiendo de la solución exacta u(t n ),u(t n 1 ),... y dando un paso. Roundoff o Error de redondeo Fue estudiado con detalle en el capítulo anterior. Los ordenadores con los que se realizan los cálculos son máquinas finitas y las variables se representan con una precisión finita. Cada vez que el ordenador hace una operación trunca el resultado a 7 cifras en el caso de simple precisión y a 15 en el caso de doble precisión. Error de arranque de esquemas multipaso Los esquemas multipaso de orden p necesitan ser arrancados con sucesivos esquemas con menos pasos lo cual introduce un error. La acumulación en cada paso de los errores anteriores es lo que produce el error global Definición 2 El error global de la solución numérica u n+1 en el instante t n+1 se define mediante E n+1 = u(t n+1 ) u n+1, (3.30) 3941 donde u(t n+1 ) constituye la solución exacta en t n+1 del problema de condiciones iniciales y u n+1 la solución hallada con un esquema numérico partiendo de la condición inicial u 0. Un esquema numérico decimos que es de orden q si E n+1 = o( t q ). Estudiando la ecuación linealizada del error 2 se pueden obtener los siguientes resultados importantes: Si T n+1 = o( t q+1 ) entones E n+1 = o( t q ). Los errores globales debidos a la pérdida de precisión están acotado por o( ǫ(t n ) ) (epsilon de la máquina). Por ello, no tiene sentido coger un paso de tiempo t que produzca un error de truncación menor que la precisión de la máquina. No existe acumulación del error de las condiciones iniciales en los esquemas multipaso, por ello, un esquema de orden q se puede arrancar con un esquema de orden q 1. Como normalmente no conocemos la solución exacta del problema, la definición 2 no es muy útil. Para determinar el orden de un esquema numérico desarrollamos en serie de Taylor la expresión y el error de truncación viene dado por la potencia del primer término en potencias de t distinto de cero. Una vez conocido que el error de truncación es de orden q+1, el error global será de orden q. Para los esquemas obtenidos usando un polinomio interpolante es fácil saber directamente cuál será su orden: Esquemas obtenidos por cuadraturas: Si utilizamos un polinomio interpolante en m puntos para aproximar F, el error cometido será de orden t m con lo que al integrar resulta un error de truncación de orden t m+1. Esquemas obtenidos por diferenciación: Si utilizamos un polinomio interpolante en m puntos para aproximar u, el error cometido será de orden t m con lo que al derivar resulta un error de truncación de orden t m 1. 2 Para más detalle ver referencia [7] 4042 3.5 Análisis de esquemas numéricos Existencia y unicidad de la solución de la ecuación diferencial Antes de buscar la solución numérica, es necesario estudiar la existencia, unicidad y estabilidad de la ecuación diferencial para saber si tiene sentido resolverla numéricamente y, en caso afirmativo, saber qué esquema numérico es más adecuado. Por ello, debemos resolver numéricamente aquellos problemas que denominamos problemas bien planteados. Un problema bien planteado cumple: Existe solución. Es única. La solución varia regularmente con los parámetros (en caso de que los haya). Generalmente los problemas mal planteados no representan de forma fidedigna la física del problema y deben ser reformulados. Para estudiar la existencia y unicidad de las soluciones del problema de condiciones iniciales du = F(u,t), dt (3.31) u(t 0 ) = u 0, (3.32) disponemos del teorema de Picard-Lindelöf (o teorema de existencia y unicidad). Teorema 1 Sea F(u,t), donde F : R s R R s, definida y continua para todo (u,t) en la región Ω = { < u i <,i = 1,...,s} [t 0,t f ] (3.33) donde t 0 y t f son finitos y sea una constante L tal que, F(u,t) F(u,t) L u u (3.34) se verifique para cada (u,t),(u,t) Ω. Entonces para cualquier u 0 R s existe solución única al problema du = F(u,t), dt (3.35) u(t 0 ) = u 0, (3.36) donde u(t) es continua y diferenciable para todo (u,t) Ω. 4143 La condición 3.34 es conocida como condición global de Lipschitz y quiere algo más que continuidad pero menos que diferenciabilidad. Por ello, desde el punto de vista práctico es suficiente comprobar que F es continua y que todas sus derivas parciales con respecto a u existen y son continuas para garantizar la existencia y unicidad de la solución (F de clase C 1 ), es decir, Teorema 2 Si F(u,t) es continua en Ω y existen y son continuas en Ω las derivadas F/ u i, i = 1,..,s, entonces existe solución única al problema de condiciones iniciales para todo (u 0,t 0 ) Ω. Esta condición es más restrictiva pero más fácil de comprobar Estabilidad de la solución de la ecuación diferencial Con el teorema de Picard-Lindelöf somos capaces de estudiar la existencia y unicidad de la solución. En caso de que tal solución exista, debemos estudiar a continuación su estabilidad. Nos interesa que el esquema numérico preserve al carácter de estabilidad de la solución, en concreto, nos interesa que si la solución de la ecuación diferencial es estable, la solución numérica también lo sea. Existen diferentes definiciones de estabilidad, aquí utilizaremos estabilidad en sentido de Lyapunov. Teorema 3 Sea u(t) la solución única de 3.1 definida en [t 0, ). Se dice que u(t) es estable si para todo ǫ > 0, existe δ > 0 tal que la solución del problema de condiciones iniciales du dt = F(u,t), u (t 0 ) = u 0, con u0 u 0 < δ (3.37) existe y está definida en [t 0, ) y verifica que u(t) u (t) < ǫ para todo t t 0. Si además la distancia u(t) u (t) tiende a cero con t se dice que es asintóticamente estable. La figura 3.4 muestra gráficamente la definición de estabilidad. Nótese que la estabilidad no es una propiedad de la ecuación diferencial sino de una solución concreta de la ecuación diferencial. Podemos definir la solución u (t) = u(t) + u(t), es decir, como la perturbación que hay que dar a u(t) para obtener u (t). Estudiar la estabilidad de una solución u(t) puede llegar a ser extremadamente complicado en ecuaciones diferenciales no lineales. Por ello, en vez de estudiar la solución de la ecuación no lineal se estudia la estabilidad de la ecuación linealizada. La ecuación linearizada que satisface u es 4244 Figura 3.4: Interpretación de la estabilidad de una solución. d u dt = F(u,t) u+b(t)+n( u,t), (3.38) u donde N contiene los términos no lineales y L = F(u,t) es el Jacobiano t de F particularizado en la solución u(t) cuya estabilidad deseamos estudiar. Cuando la solución u(t) = u 0 es constante o si el tiempo característico de variación del Jacobiano L es tal que lo podemos congelar en u(t) = u 0 y t = t 0, entonces podemos estudiar la estabilidad del sistema lineal. Por lo tanto, consideramos el sistema resultante de linealizar 3.1 en torno a una solución u como du L = dt t F(u 0,t 0 )u L +b(t). (3.39) El carácter de estabilidad de la solución del sistema anterior sólo depende de L = F(u t 0,t 0 ) y no del término b(t) 3, por lo que tenemos que analizar las estabilidad del sistema du L = Lu L. (3.40) dt Denotaremos por λ k a los autovalores de L. La matriz L es diagonalizable cuando la multiplicidad algebraica y geométrica 4 de todos sus autovalores es la misma. Entonces podemos realizar un cambio de base u = Qv con Q 3 Las soluciones de un sistema lineal de ecuaciones diferenciales ordinarias son de la forma u(t) = Φ(t)u 0 +Φ(t) t t 0 Φ 1 (s)b(s)ds, con Φ(t) la matriz fundamental del sistema que cumple Φ(t 0 ) = I. La estabilidad sólo depende de Φ(t) ya que el término b(t) desaparece en u(t) u (t). 4 La multiplicidad geométrica de un autovalor es la dimensión del espacio de sus autovectores asociados. La multiplicidad algebraica de un autovalor orden de dicho autovalor como cero del polinomio característico de L. 4345 matriz formada por los autovectores de L para expresar la ecuación 3.40 de la forma dv Lk dt = λ k v Lk, k = 1,...,s. (3.41) La soluciones de3.41 sondelaforma v k = Ce λ kt, conc una constante. Cuando la matriz L no es diagonalizable podemos utilizar la forma canónica de Jordan y las soluciones serán de la misma forma excepto para aquellos autovalores con multiplicidad algebraica diferente a su multiplicidad geométrica, en cuyo caso serán del tipo v k = Ct m e λ kt con m 1. A diferencia de las ecuaciones no lineales, todas las soluciones de las ecuaciones lineales tienen el mismo carácter de estabilidad, es decir, podemos hablar de la estabilidad de la ecuación lineal. Para que el análisis de estabilidad lineal nos sea de utilidad necesitamos conocer la relación entre la estabilidad de la solución lineal u L (t) y la de la ecuación diferencial completa u(t): Si u L (t) es asintóticamente estable = u(t) es estable. Si u L (t) es inestable = u(t) es inestable. Si u L (t) es estable = no se puede afirmar nada de u(t). Una vez hecha la conexión entre la estabilidad de u L (t) y u(t) pasamos a estudiar la estabilidad del sistema lineal Si todos los autovalores cumplen que Re(λ k ) < 0 = u L (t) 0 es asintóticamente estable. Si todo los autovalores cumplen Re(λ k ) 0 y aquellos autovalores con Re(λ k ) = 0 tienen la misma multiplicidad algebraica y geométrica = u L (t) es estable. u L (t) es inestable en cualquier otro caso Consistencia, estabilidad y convergencia del esquema numérico Una vez estudiada la existencia y unicidad del problema que deseamos resolver podemos pasar a analizar los diferentes esquemas numéricos. La mayor parte de los esquemas numéricos pueden expresarse de la forma 4446 p α j u n+1 j = th(u n+1,...,u n+1 p,t n,...) (3.42) j=0 donde p es el número de pasos y α j constantes del esquema. La propiedad más importante que debe satisfacer un esquema numérico es la convergencia. Un esquema numérico es convergente si es capaz de obtener la solución exacta del problema de condiciones iniciales cuando el paso temporal se hace infinitamente pequeño. Definición 3 Se dice que un método numérico es convergente si para todo problema de condiciones iniciales bien planteado cumple que para todas las soluciones numéricas u n. lím t 0 un = u(t n ), (3.43) Evidentemente ésta es una propiedad deseada para el esquema numérico. Para comprobar si un esquema numérico es convergente no se utiliza la relación 3.43 sino que se hace uso del teorema de Lax. Teorema 4 (Teorema de Lax). Para un problema de condiciones iniciales bien planteado, las condiciones necesarias y suficientes para que un esquema numérico sea convergente son que sea consistente y estable. Si un esquema numérico no es convergente se dice que es divergente. Podemos hacer la siguiente clasificación: Divergencia explosiva: la aproximación no converge a la solución para t 0 (esquema inestable). Divergencia a otra solución: para t 0 converge a otra solución diferente (esquema no consistente). Convergencia condicional: el esquema converge a la solución cuando t 0 y para valores de t < t max no diverge. Convergencia incondicional: el esquema converge a la solución cuando t 0 y nunca diverge independientemente de t. Pasamos ahora a definir los conceptos de consistencia y estabilidad de un esquema numérico. 4547 Consistencia La consistencia indica la bondad con que un esquema numérico representa la ecuación diferencial original cuando el paso temporal se hace infinitamente pequeño. Para definir la consistencia es útil utilizar el concepto de residuo definido como R n+1 = p α j u(t n+1 j ) th(u(t n+1 ),...,u(t n+1 p ),t n,...), (3.44) j=0 que consiste en tomar la solución exacta del problema u(t) e introducirla en el esquema numérico. Definición 4 Se dice que un esquema numérico es consistente si para todo problema de condiciones iniciales bien planteado el residuo R n+1 cumple R n+1 lím = 0, (3.45) t 0 t Las condiciones necesarias y suficientes para que un esquema numérico sea consistente son p j=0 α j = 0, (3.46) p j=0 jα j + H(u(t n+1),...,u(t n+1 ),t n+1,...) F(u(t n+1 ),t n+1 ) = 0, (3.47) en el límite t 0. Un esquema consistente tiene un error de truncación al menos de o( t 2 ). En el caso de los esquemas Runge-Kutta las condiciones para consistencia son e b i = 1, (3.48) i=1 además en general supondermos que e a ij = c i. (3.49) j=1 4648 Estabilidad del esquema numérico En general queremos que el carácter de estabilidad del esquema numérico aplicado a una problema de condiciones iniciales y estable sea el mismo que el de dicho problema. El parámetro libre en un esquema numérico es t y buscaremos cuál es el t max para el cual el esquema numérico es estable cuando t < t max. La estabilidad no lineal depende tanto del esquema numérico como de la ecuación diferencial y sus condiciones iniciales. Al igual que ocurría en el problema de condiciones iniciales, estudiar la estabilidad no lineal puede ser una tarea muy complicada, por ello, se suele estudiar la estabilidad del problema de condiciones iniciales lineal de la forma du dt = λu, (3.50) conλelautovalor del problema conpartereal eimaginariaλ = λ r +iλ i. Por tanto, la estabilidad lineal del esquema numérico se obtiene estudiando la ecuación en diferencias que resulta de aplicar el esquema numérico 3.42 al problema Al igual que la ecuación diferencial lineal admite soluciones del tipo e λt, la ecuación en diferencias admite aquellas de la forma r n5. Introduciendo u n = r n en la ecuación 3.42 aplicada al problema 3.50 obtenemos el denominado polinomio de estabilidad del esquema numérico que será de la forma Π(r) = p (α j tλf j ( tλ))r p j = 0, (3.51) j=0 donde las funciones f j dependerán del esquema numérico. Dado que estamosbuscando solucionesdel tipou n = r n,el carácterdeestabilidad dependerá del valor de r que a su vez será función de tλ. Teorema 5 Un esquema numérico es absolutamente estable para un t dado si todas las raices del polinomio de estabilidad satisfacen r k < 0, k = 1,...,p, para todo autovalor dado del problema La solución de la ecuación en diferencias también puede ser expresada como u n = u 0 σ n, donde σ es el factor de amplificación. 5 Es importante notar que r n representa el número r elevado a la n-ésima potencia, mientras que por notación hemos adoptado u n = u(t n ) y F n = F(u(t n ),t n ) que significa u y F evaluadas en el instante t n y no su potencia. 4749 Figura 3.5: Tabla resumen del estudio de estabilidad lineal. 4850 Región de estabilidad absoluta Para visualizar de forma más clara el valor apropiado de t según los valores de λ, se hace uso de la región de estabilidad, que no es más que representar la región r 1 en unos ejes con tλ r y tλ i. La región de estabilidad nos proporciona la relación entre la estabilidad de la ecuación diferencial lineal (λ r 0) y el esquema numérico ( r < 1). Un método convergente incluirá t = 0 en la región de estabilidad. Definimos el número complejo ω como con lo que el polinomio característico queda ω = tλ = t(ω r +iω i ), (3.52) Π(r) = p (α j ωf j (ω))r p j = 0. (3.53) j=0 Susraícessonnúmeroscomplejosquepodemosexpresarcomor = r 0 e iθ. La región de estabilidad absoluta está definida por aquellas zonas con r 0 = 1 y su frontera por p (α j ωf j (ω)) ( e iθ) p j = 0, (3.54) j=0 que nos proporciona de forma implícita la ecuación de la frontera ω = ω(θ). En muchas ocasiones no se puede obtener analíticamente la función de ω = ω(θ) por lo que se tendrá que resolver numéricamente. Soluciones espúreas Las soluciones espúreas son soluciones falsas producidas por el esquema numérico. Están ligadas al orden de la ecuación en diferencias. Cuando buscamos soluciones del tipo u n = r n, una ecuación en diferencias de orden p dará lugar a p raices r, independientemente de que la ecuación diferencial que aproxima tenga solución única. En general, los esquemas multipaso deppasostienenp 1raícesespúreasquehayquecontrolary evitar que emerjan. Los esquemas unipaso (y multietapa) no presentan este problema. 49 51 Figura 3.6: Regiones de estabilidad para diferentes esquemas numéricos. 50 Mostrar más
Notas sobre Computational Fluid Dynamics
Notas sobre Computational Fluid Dynamics Rev. 0.4.4 Adrián Lozano Durán adrian@torroja.dmt.upm.es 25 de octubre de 2013 Este documento está publicado según la siguiente licencia: GNU Free Documentation Más detalles Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico
Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico Departamento de Matemática Aplicada Universidad Granada Introducción El Cálculo o Análisis Numérico es Más detalles Aritmética finita y análisis de error
Aritmética finita y análisis de error Escuela de Ingeniería Informática de Oviedo (Dpto. de Matemáticas-UniOvi) Computación Numérica Aritmética finita y análisis de error 1 / 47 Contenidos 1 Sistemas decimal Más detalles by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true
by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad Más detalles ORDENADORES VECTORIALES
ORDENADORES VECTORIALES Un ordenador vectorial es una máquina diseñada específicamente para realizar de forma eficiente operaciones en las que se ven involucrados elementos de matrices, denominados vectores. Más detalles Capítulo 4 MEDIDA DE MAGNITUDES. Autor: Santiago Ramírez de la Piscina Millán
Capítulo 4 MEDIDA DE MAGNITUDES Autor: Santiago Ramírez de la Piscina Millán 4 MEDIDA DE MAGNITUDES 4.1 Introducción El hecho de hacer experimentos implica la determinación cuantitativa de las magnitudes Más detalles TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL
TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 1. Electrónica Digital Antes de empezar en el tema en cuestión, vamos a dar una posible definición de la disciplina que vamos a tratar, así como su ámbito Más detalles Aritmética del computador. Departamento de Arquitectura de Computadores
Aritmética del computador Departamento de Arquitectura de Computadores Contenido La unidad aritmético lógica (ALU) Representación posicional. Sistemas numéricos Representación de números enteros Aritmética Más detalles Tema 2: Sistemas de representación numérica
2.1 Sistemas de Numeración Definiciones previas Comenzaremos por definir unos conceptos fundamentales. Existen 2 tipos de computadoras: Analógicas: actúan bajo el control de variables continuas, es decir, Más detalles Tema 2. Espacios Vectoriales. 2.1. Introducción
Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por Más detalles 1.1 Sistema de numeración binario
1.1 Sistema de numeración binario Un sistema de numeración consta de: Un conjunto ordenado de cifras y un conjunto de operaciones. Llamaremos Base al número de cifras que hay en dicho conjunto. De este Más detalles UNIVERSIDAD DE EXTREMADURA Departamento de Matemáticas. Matemáticas. Manuel Fernández García-Hierro Badajoz, Febrero 2008
UNIVERSIDAD DE EXTREMADURA Departamento de Matemáticas Matemáticas Manuel Fernández García-Hierro Badajoz, Febrero 2008 Capítulo VI Concepto de error 6.1 Introducción Uno de los temas más importantes en Más detalles Sistemas de Numeración
UNIDAD Sistemas de Numeración Introducción a la unidad Para la mayoría de nosotros el sistema numérico base 0 aparentemente es algo natural, sin embargo si se establecen reglas de construcción basadas Más detalles Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010
Detalles de Matlab MATLAB utiliza la aritmética del punto flotante, la cual involucra un conjunto finito de números con precisión finita. Esta limitación conlleva dos dificultades: los números representados Más detalles SISTEMAS NUMERICOS Y ERRORES
SISTEMAS NUMERICOS Y ERRORES 1. Introducción a la Computación Numérica El primer computador electrónico en base a la tecnología de tubos al vacío fue el ENIAC de la Universidad de Pensilvania, en la década Más detalles Cursada Primer Semestre 2015 Guía de Trabajos Prácticos Nro. 2
Temas: Programación en MATLAB: Sentencias, expresiones y variables. Estructuras de control. Operadores relacionales y lógicos. Programación de funciones. Aritmética finita: Representación de números en Más detalles I.E.S.MEDITERRÁNEO CURSO 2015 2016 DPTO DE MATEMÁTICAS PROGRAMA DE RECUPERACIÓN DE LOS APRENDIZAJES NO ADQUIRIDOS EN MATEMÁTICAS DE 3º DE E.S.O.
PROGRAMA DE RECUPERACIÓN DE LOS APRENDIZAJES NO ADQUIRIDOS EN MATEMÁTICAS DE 3º DE E.S.O. Este programa está destinado a los alumnos que han promocionado a cursos superiores sin haber superado esta materia. Más detalles CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre
CURSO CERO Departamento de Matemáticas Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre Capítulo 1 La demostración matemática Demostración por inducción El razonamiento por inducción es una Más detalles EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO
EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO 1º) Considérese un número estrictamente positivo del sistema de números máquina F(s+1, m, M, 10). Supongamos que tal número es: z = 0.d 1 d...d s 10 e Responde Más detalles 1 LA INFORMACION Y SU REPRESENTACION
1 LA INFORMACION Y SU REPRESENTACION 1.1 Sistemas de numeración Para empezar a comprender cómo una computadora procesa información, debemos primero entender cómo representar las cantidades. Para poder Más detalles Tema 2. La Información y su representación
Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica Más detalles MÉTODOS MATEMÁTICOS (Curso 2012-2013) Cuarto Curso de Ingeniero Industrial Departamento de Matemática Aplicada II. Universidad de Sevilla
MÉTODOS MATEMÁTICOS (Curso 2012-2013) Cuarto Curso de Ingeniero Industrial Departamento de Matemática Aplicada II. Universidad de Sevilla Lección 1: Introducción al Análisis Numérico ARITMÉTICA DE PRECISIÓN Más detalles Organización del Computador. Prof. Angela Di Serio
Punto Flotante Muchas aplicaciones requieren trabajar con números que no son enteros. Existen varias formas de representar números no enteros. Una de ellas es usando un punto o coma fijo. Este tipo de Más detalles Estructura de Datos. Unidad I Tipos de Datos
Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico. Más detalles ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS
Universidad Nacional de San Antonio Abad del Cusco Departamento Académico de Informática ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS Iván Medrano Valencia ANALISIS DE ALGORITMOS Un algoritmo es un Más detalles Estructura de Computadores
Estructura de Computadores Tema 2. Representación de la información Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Más detalles Tema 2 Representación de la información. Fundamentos de Computadores
Tema 2 Representación de la información Fundamentos de Computadores septiembre de 2010 Índice Índice 2.1 Introducción 2.2 Representación de enteros 2.2.1 Representación posicional de los números. 2.2.2 Más detalles RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2015 /2016
RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2015 /2016 DEPARTAMENTO: MATEMÁTICAS MATERIA: MATEMÁTICAS ACADÉMICAS CURSO: 3º ESO OBJETIVOS DEL ÁREA DE MATEMÁTICAS A LAS ENSEÑANZAS ACADÉMICAS 3º ESO Más detalles O.C. Zienkiewicz, R.L. Taylor. El Método de los Elementos Finitos. Vols 1 y 2. CIMNE-Mc Graw Hill, 1994.
Índice de la teoría 1. Presentación. Estas lecciones sólo pretenden ser una introducción que sirva para orientar sobre los conceptos, para un estudio más amplio se recomienda leer alguna publicación especializada, Más detalles CÁLCULO PARA LA INGENIERÍA 1
CÁLCULO PARA LA INGENIERÍA 1 PROBLEMAS RESUELTOS Tema 3 Derivación de funciones de varias variables 3.1 Derivadas y diferenciales de funciones de varias variables! 1. Derivadas parciales de primer orden.! Más detalles Panorama del curso Métodos Numéricos I
Panorama del curso Métodos Numéricos I Egor Maximenko ESFM del IPN 2014 Egor Maximenko (ESFM del IPN) Métodos Numéricos I 2014 1 / 35 Contenido 1 Propósito y programa del curso, software y literatura 2 Más detalles Arquitectura Von Neumann
Arquitectura Von Neumann Arquitectura Von Neumann Establecida en 1945 por Von Neumann Modelo básico de arquitectura utilizado en la mayoría de los computadores Su idea es la de conectar permanentemente Más detalles Tema 4: Sistemas de Numeración. Codificación Binaria. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid
Tema 4: Sistemas de Numeración. Codificación Binaria Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Sistemas de Numeración. Codificación Binaria Conocer los diferentes sistemas Más detalles Repaso de matrices, determinantes y sistemas de ecuaciones lineales
Tema 1 Repaso de matrices, determinantes y sistemas de ecuaciones lineales Comenzamos este primer tema con un problema de motivación. Problema: El aire puro está compuesto esencialmente por un 78 por ciento Más detalles Tema 1 Generalidades sobre Ecuaciones Diferenciales Ordinarias (E.D.O.)
Tema 1 Generalidades sobre Ecuaciones Diferenciales Ordinarias (E.D.O.) 1.1 Definiciones Se llama ecuación diferencial a toda ecuación que contiene las derivadas de una o más variables dependientes respecto Más detalles Generalidades Computacionales
Capítulo 2 Generalidades Computacionales 2.1. Introducción a los Computadores Definición: Un computador es un dispositivo electrónico que puede transmitir, almacenar, recuperar y procesar información (datos). Más detalles Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática
Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción Más detalles Sistemas Numéricos Cambios de Base Errores
Cálculo Numérico Definición: es el desarrollo y estudio de procedimientos (algoritmos) para resolver problemas con ayuda de una computadora. π + cos ( x) dx 0 Tema I: Introducción al Cálculo Numérico Sistemas Más detalles PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS
PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo Más detalles Materia: Informática. Nota de Clases Sistemas de Numeración
Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos Más detalles Nombre de la asignatura: METODOS NUMERICOS. Carrera : Ingeniería Mecánica. Clave de la asignatura: ACB- 9311 Clave local:
Nombre de la asignatura: METODOS NUMERICOS Carrera : Ingeniería Mecánica Clave de la asignatura: ACB- 9 Clave local: Horas teoría horas practicas créditos: -0-8.- UBICACIÓN DE LA ASIGNATURA A) RELACIÓN Más detalles CONTENIDO. 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador.
CONTENIDO 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador. 4. Sistemas numéricos. 4.1 Generalidades. 42 Sistema binario. 4.3 Sistema octal,. 4.4 Sistema decimal. 4.5 Sistema Más detalles Apuntes de Matemática Discreta 7. Relaciones de Orden
Apuntes de Matemática Discreta 7. Relaciones de Orden Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 7 Relaciones de Orden Contenido Más detalles Representación de Datos. Una Introducción a los Sistemas Numéricos
Representación de Datos Una Introducción a los Sistemas Numéricos Tipos de Datos Datos Texto Número Imagen Audio Video Multimedia: Información que contiene números, texto, imágenes, audio y video. Como Más detalles SESIÓN 8 TIPOS DE SISTEMAS DE MANUFACTURA
SESIÓN 8 TIPOS DE SISTEMAS DE MANUFACTURA CONTENIDO Términos en manufactura Clasificación de sistemas de manufactura Beneficios y ejemplos de sistemas de manufactura Los componentes de un sistema de manufactura Más detalles UNIDAD DIDÁCTICA: ELECTRÓNICA DIGITAL
IES PABLO RUIZ PICASSO EL EJIDO (ALMERÍA) CURSO 2013-2014 UNIDAD DIDÁCTICA: ELECTRÓNICA DIGITAL ÍNDICE 1.- INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 2.- SISTEMA BINARIO 2.1.- TRANSFORMACIÓN DE BINARIO A DECIMAL Más detalles ❷ Aritmética Binaria Entera
❷ Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces de efectuar cálculos aritméticos, ya sea como principal objetivo (calculadoras, computadoras, máquinas Más detalles Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid
Tema 3: Sistemas de Numeración. Codificación Binaria Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Sistemas de Numeración. Codificación Binaria Conocer los diferentes sistemas Más detalles 10.4 Dibujos sobre dominios mallados en triángulos LECCIÓN V
10.4 Dibujos sobre dominios mallados en triángulos LECCIÓN V >>vx=-y./(x.^+y.^); >>vy=x./(x.^+y.^); >>h=quiver(x,y,vx,vy); >>axis square % calculamos vectores Observa que cerca del (0,0) los vectores se Más detalles RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2014 /2015 DEPARTAMENTO: MATEMÁTICAS MATERIA: RECUPERACIÓN DE MATEMÁTICAS CURSO:
RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2014 /2015 DEPARTAMENTO: MATEMÁTICAS MATERIA: RECUPERACIÓN DE MATEMÁTICAS CURSO: 2º ESO OBJETIVOS: Resolver problemas con enunciados relacionados con la Más detalles ELECTRÓNICA DIGITAL. Sistemas analógicos y digitales.
ELECTRÓNICA DIGITAL El tratamiento de la información en electrónica se puede realizar de dos formas, mediante técnicas analógicas o mediante técnicas digitales. El analógico requiere un análisis detallado Más detalles Representación de la Información
Representar: Expresar una información como una combinación de símbolos de un determinado lenguaje. Trece -> símbolos 1 y 3 Interpretar: Obtener la información originalmente representada a partir de una Más detalles ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.
1.- a) Explica qué es un bit de información. Qué es el lenguaje binario? Bit es la abreviatura de Binary digit. (Dígito binario). Un bit es un dígito del lenguaje binario que es el lenguaje universal usado Más detalles UNIDAD 3: ARITMÉTICA DEL COMPUTADOR
UNIDAD 3: ARITMÉTICA DEL COMPUTADOR Señor estudiante, es un gusto iniciar nuevamente con usted el desarrollo de esta tercera unidad. En esta ocasión, haremos una explicación más detallada de la representación Más detalles Fundamentos de Programación. Sabino Miranda-Jiménez
Fundamentos de Programación Sabino Miranda-Jiménez MÓDULO 1. Introducción a la computación Temas: La computación en el profesional de ingeniería Desarrollo computacional en la sociedad Aplicaciones Software Más detalles LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS
ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se Más detalles Apuntes sobre algunos teoremas fundamentales de análisis complejo, con 20 ejemplos resueltos (2007-08)
Variable Compleja I (3 o de Matemáticas) Apuntes sobre algunos teoremas fundamentales de análisis complejo, con ejemplos resueltos (7-8) En estos apuntes, consideraremos las funciones anaĺıticas (holomorfas) Más detalles FUNCIONES DE UNA VARIABLE Julián de la Horra Departamento de Matemáticas U.A.M.
FUNCIONES DE UNA VARIABLE Julián de la Horra Departamento de Matemáticas U.A.M. 1 Introducción Una de las primeras necesidades que surgen en las Ciencias Experimentales es la de poder expresar los valores Más detalles CONCEPTOS BÁSICOS DE INFORMÁTICA. REPRESENTACIÓN DE LA INFORMACIÓN.
INDICE. CONCEPTOS BÁSICOS DE INFORMÁTICA. REPRESENTACIÓN DE LA INFORMACIÓN. TÉRMINOS BÁSICOS DE LA INFORMÁTICA. REPRESENTACIÓN INTERNA DE LA INFORMACIÓN. El SISTEMA BINARIO DE NUMERACION. El sistema decimal Más detalles Simulación de Sistemas Continuos y a Tramos. Prof. Dr. François E. Cellier Institut für Computational Science ETH Zürich.
Simulación de Sistemas Continuos y a Tramos Prof. Dr. François E. Cellier Institut für Computational Science ETH Zürich 5 de junio 007 Introducción Análisis del Error por Truncamiento Queremos hacer un Más detalles Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.
Filtros Digitales Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i. En electrónica, ciencias computacionales y matemáticas, un filtro Más detalles Introducción al Cálculo Simbólico a través de Maple
1 inn-edu.com ricardo.villafana@gmail.com Introducción al Cálculo Simbólico a través de Maple A manera de introducción, podemos decir que los lenguajes computacionales de cálculo simbólico son aquellos Más detalles Representación de números en binario
Representación de números en binario Héctor Antonio Villa Martínez Programa de Ciencias de la Computación Universidad de Sonora El sistema binario es el más utilizado en sistemas digitales porque es más Más detalles Matemáticas. 1 o ESO. David J. Tarifa García. info@esobachilleratouniversidad.com.es
Matemáticas 1 o ESO David J. Tarifa García info@esobachilleratouniversidad.com.es 1 Matemáticas - 1 o ESO 2 Índice 1 Tema 1. Los números naturales 6 1.1 Suma de números naturales................................ Más detalles Capítulo 2 REPRESENTACIÓN DE LOS DATOS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Representación de la información Contenidos 1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5. Conversiones Más detalles CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.
Introducción a la ciencia de la computación y a la programación 1. La computadora CONTENIDOS 2. Entidades primitivas para el desarrollo de algoritmos. 3. Metodología a seguir para la resolución de problemas Más detalles ALGEBRA LINEAL. Héctor Jairo Martínez R. Ana María Sanabria R.
ALGEBRA LINEAL Héctor Jairo Martínez R. Ana María Sanabria R. SEGUNDO SEMESTRE 8 Índice general. SISTEMAS DE ECUACIONES LINEALES.. Introducción................................................ Conceptos Más detalles Límites. Definición de derivada.
Capítulo 4 Límites. Definición de derivada. 4.1. Límites e indeterminaciones Hemos visto en el capítulo anterior que para resolver el problema de la recta tangente tenemos que enfrentarnos a expresiones Más detalles Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles
Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta Más detalles Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL
ELECTRÓNICA DIGITAL La electrónica es la rama de la ciencia que se ocupa del estudio de los circuitos y de sus componentes, que permiten modificar la corriente eléctrica amplificándola, atenuándola, rectificándola Más detalles PENDIENTES DE MATEMÁTICAS DE 2º ESO (CURSO 2014-2015)
PENDIENTES DE MATEMÁTICAS DE 2º ESO (CURSO 2014-2015) CRITERIOS E INDICADORES Se detallan a continuación los criterios de evaluación junto con sus indicadores de contenidos asociados. En negrita se indican Más detalles Estimación de parámetros, validación de modelos y análisis de sensibilidad
Tema 6 Estimación de parámetros, validación de modelos y análisis de sensibilidad 6.1 Calibración Una vez que se ha identificado el modelo y se ha programado, necesitamos aplicarlo al problema concreto Más detalles Modelo de aplicaciones CUDA
Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas Más detalles TEMA 3 Representación de la información
TEMA 3 Representación de la información Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción Para que el ordenador ejecute programas necesita dos tipos Más detalles ESPACIO VECTORIAL ESPACIO VECTORIAL SUBESPACIO VECTORIAL BASE Y DIMENSIÓN N DE UN
Tema 5.- ESPACIOS VECTORIALES ESPACIO VECTORIAL SUBESPACIO VECTORIAL BASE Y DIMENSIÓN N DE UN ESPACIO VECTORIAL Fundamentos Matemáticosde la Ingeniería 1 Aunque históricamente el primer trabajo de Álgebra Más detalles Curso Completo de Electrónica Digital
CURSO Curso Completo de Electrónica Digital Departamento de Electronica y Comunicaciones Universidad Pontifica de Salamanca en Madrid Prof. Juan González Gómez Capítulo 3 ALGEBRA DE BOOLE 3.1. Introducción Más detalles UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO
UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO TRABAJO REALIZADO COMO APOYO PARA LA CATEDRA INFORMATICA I Autora: Ing. Ing. Sylvia Más detalles ARITMÉTICA FLOTANTE Y ANÁLISIS DE ERRORES
TEMA 2. ARITMÉTICA FLOTANTE Y ANÁLISIS DE ERRORES 2 Aritmética de ordenadores y análisis de errores 29 2.1 Por qué son importantes los errores numéricos?.................. 29 2.1.1 El fallo de un misil Más detalles DIRECTRICES Y ORIENTACIONES GENERALES PARA LAS PRUEBAS DE ACCESO A LA UNIVERSIDAD
Curso Asignatura 2014/2015 MATEMÁTICAS II 1º Comentarios acerca del programa del segundo curso del Bachillerato, en relación con la Prueba de Acceso a la Universidad La siguiente relación de objetivos, Más detalles Tema 1: Computadores y Programas
Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad Más detalles Representación en Punto Flotante
Representación en Punto Flotante Minaya Villasana Abril-Julio, 2004 1 Representación en base 2 Las computadoras tienen dos formas de representar números: enteros (solo usado para enteros) y punto flotante Más detalles Los sistemas de numeración se clasifican en: posicionales y no posicionales.
SISTEMAS NUMERICOS Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar Más detalles MATEMÁTICAS CONTENIDOS MÍNIMOS DE 1º E.S.O.
MATEMÁTICAS CONTENIDOS MÍNIMOS DE 1º E.S.O. Calcular el valor de posición de cualquier cifra en cualquier número natural. Aplicar las propiedades fundamentales de la suma, resta, multiplicación y división Más detalles EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos
EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas Fecha: 1 er semestre de 2011 INTRODUCCIÓN El sistema Más detalles construcción de programas Prof. Eliana Guzmán U.
Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución. Más detalles Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.
ARQUITECTURA DE LAS COMPUTADORAS QUE ES UNA COMPUTADORA (UN ORDENADOR)? Existen numerosas definiciones de una computadora, entre ellas las siguientes: 1) Una computadora es un dispositivo capaz de realizar Más detalles Asignatura: PROGRAMACIÓN Y MÉTODOS NUMÉRICOS
UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE MINAS DEPARTAMENTO DE MATEMÁTICA APLICADA Y MÉTODOS INFORMÁTICOS Asignatura: PROGRAMACIÓN Y MÉTODOS NUMÉRICOS Tema: ERRORES DE Más detalles UF0512: Transmisión de información por medios convencionales e. informático. TEMA 1. Conexión y funcionamiento
UF0512: Transmisión de información por medios convencionales e informáticos TEMA 1. Conexión y funcionamiento operativo del equipamiento informático TEMA 2. Transmisión interna personal de documentación. Más detalles IES CANARIAS CABRERA PINTO DEPARTAMENTO DE MATEMÁTICAS CONTENIDOS MÍNIMOS 1º ESO SEPTIEMBRE 2015
CONTENIDOS MÍNIMOS 1º ESO SEPTIEMBRE 2015 UNIDAD 1: LOS NÚMEROS NATURALES. OPERACIONES Y RELACIONES El sistema de numeración decimal Estimación y redondeo de un número natural Las operaciones con números Más detalles Ejemplos y problemas resueltos de análisis complejo (2014-15)
Variable Compleja I (3 o de Matemáticas y 4 o de Doble Titulación) Ejemplos y problemas resueltos de análisis complejo (04-5) Teoremas de Cauchy En estos apuntes, la palabra dominio significa, como es Más detalles Programación Lineal Entera
Programación Lineal Entera P.M. Mateo y David Lahoz 2 de julio de 2009 En este tema se presenta un tipo de problemas formalmente similares a los problemas de programación lineal, ya que en su descripción Más detalles TEMA 1: INTRODUCCIÓN
1 DISEÑO Y DESARROLLO DE COMPILADORES TEMA 1: INTRODUCCIÓN Qué es un Compilador? Un compilador no es más que un traductor, es decir, un programa que nos permite pasar información de un lenguaje a otro. Más detalles Universidad de Costa Rica Escuela de Matemática ALGEBRA LINEAL. x x1 n. θ y. 1 n x1 n ȳ1 n. Carlos Arce S. William Castillo E. Jorge González V.
Universidad de Costa Rica Escuela de Matemática ALGEBRA LINEAL x x x1 n θ y y ȳ1 n 1 n x1 n ȳ1 n Carlos Arce S. William Castillo E. Jorge González V. 2003 Algebra Lineal Carlos Arce S., William Castillo Más detalles CALIBRACIÓN Y CALIDAD
CALIBRACIÓN Y CALIDAD La preocupación por la calidad de los datos que se obtienen con la química analítica es responsabilidad de los científicos y técnicos. Éstos deben mantener en todo momento una actitud Más detalles Desarrollar y aplicar estrategias para resolver problemas Determinar si un gráfico es lineal dibujando puntos en una situación dada
MANEJO DE DATOS Analizar gráficos o diagramas de situaciones dadas para identificar información específica Recoger datos, dibujar los datos usando escalas apropiadas y demostrar una comprensión de las Más detalles Sistemas de numeración
Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan Más detalles 21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)
Agenda 0 Tipos de datos 0 Sistemas numéricos 0 Conversión de bases 0 Números racionales o Decimales 0 Representación en signo-magnitud 0 Representación en complemento Unidad Central de Procesamiento (CPU) Más detalles SISTEMAS DE NUMERACIÓN. Sistema decimal
SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos", Más detalles Ejercicios 2.2 Usando aritmética de cuatro dígitos de precisión, sume la siguiente expresión
CAPÍTULO EJERCICIOS RESUELTOS: ARITMÉTICA DE ORDENADORES Y ANÁLISIS DE ERRORES Ejercicios resueltos Ejercicios.1 Calcula la suma y la resta de los números a = 0.453 10 4, y b = 0.115 10 3, con una aritmética Más detalles 2017 © DocPlayer.es Política de privacidad | Condiciones del servicio | Feedback

References: resolución 
 Resolución 
 resolución 
 Resolución 
 resolución 
 Resolución 
 resolución 
 resolución 
 resolución 
 resolución