Herramientas Personales
Usted está aquí: Inicio Ingeniería y Arquitectura Fortran para la Simulación Electromagnética (2007) Ejercicios proyectos y casos

Ejercicios proyectos y casos

Acciones de Documento
  • Enviar esto
  • Imprimir esto
  • Content View
  • Bookmarks

 

INDICACIONES SOBRE LOS EJERCICIOS

         El propósito de los ejercicios que se proponen a continuación, es que el alumno que haya seguido el curso y realizado los ejemplos con soluciones de cada capítulo, practique con ejemplos algo más complicados y ahora ya relacionados con problemas electromagnéticos concretos.
         Cada ejemplo consta de una primera parte con la descripción física del problema que contiene las expresiones requeridas para ser usadas en el programa fortran a realizar. Asimismo, se incluye alguna referencia donde poder consultar de forma ampliada los conceptos relacionados con el problema propuesto.
         La programación en fortran del problema planteado se estructura en tres niveles con dificultad creciente. Lo más adecuado es realizarlos de forma secuencial, pues lo habitual es que la realización de uno sirva de apoyo para los siguientes. En cualquier caso, no es imprescindible hacerlo así. Cada nivel se cataloga con un tanto por ciento relativo a la dificultad que se estima respecto a la consecución final del problema. Los niveles son
                  
Nivel 1
60 %
Nivel 2
80 %
Nivel 3
100 %
 
         Esto significa que realizar correctamente el nivel 1 representaría adquirir un conocimiento sobre la programación del problema del 60% (algo así como optar a una calificación máxima de 6 sobre 10 si esto fuera un examen). De la misma forma para los otros dos niveles.
 

RECOMENDACIONES EN LA PROGRAMACIÓN

         A continuación se enumeran unos cuantos consejos útiles a la hora de escribir el código fortran que resuelva el problema planteado.
 
  • No escribir el código fortran de un tirón y luego compilar. Esto produce habitualmente una gran cantidad de errores de todo tipo que son muy difíciles de localizar.
  • Lo correcto es escribir cada rutina en forma de bloques cerrados o compactos, comprobándose su funcionamiento cada vez. En otras palabras, es mejor hacer las cosas poco a poco. Por ejemplo, se puede realizar la lectura y escritura de datos y sólo una vez comprobado su correcto funcionamiento pasar al siguiente bloque y así sucesivamente.
  • Es muy aconsejable (aunque en el nivel 1 no se pida) realizar la lectura de datos con formato de manera clara, por ejemplo, según se muestra en el capítulo correspondiente. Ello quiere decir que el usuario del programa debe saber dónde colocar la parte entera y la parte decimal de cada variable. La razón para ello, es que cuando otra personada quiera utilizar el programa realizado, o simplemente cuando ha pasado el tiempo, no sabemos o no nos acordamos de cómo hay que escribir los datos de las variables de entrada. Por supuesto en el fichero de entrada es imprescindible indicar las unidades de aquellos datos de entrada que las tengan. No hacer esto es un error grave.
  • En el fichero que contiene los datos de salida, deben siempre incluirse, sin excepción, los datos de entrada, incluyendo sus unidades cuando sea necesario.
  • Es conveniente llamar a las variables con nombres que identifiquen las cantidades físicas que representan. Eso ayuda a encontrar posibles errores  en el proceso de depuración, además de hacer el código del programa más correcto y fácil de entender.
  • Después de un tiempo, es difícil acordarse del significado de muchas de las variables y de qué hace cada parte del programa y sus subrutinas. Por ello, es muy útil comentar el programa de la manera que se ha visto en los ejemplos de cada tema. Esto ayuda a entender en el futuro qué hace cada bloque de un programa.
  • Si se utilizan rutinas (subrutinas) o funciones es muy interesante describir cuáles son las variables de entrada y salida.
  • En fortran no hay instrucciones para definir variables locales (aquellas que sólo se conocen en la rutina en la que se definen) ni globales (las que se conocen en todas las rutinas del programa). Aún así, es muy conveniente dedicar tres bloques diferenciados para la definición de variables; a saber
  • Un bloque en el que se definan sólo aquellas variables utilizadas como entrada y salida de subrutinas y funciones.
  • Un bloque en el que se definan sólo aquellas variables utilizadas como bloques common.
  • Un bloque en el que se definan sólo aquellas variables utilizadas en la propia rutina pero que no son conocidas en el resto de rutinas que forman el programa.
Con esto se consigue tener una estructura de definición de variables de forma coherente que permite encontrar de forma ágil y sencilla dónde se define cada variable.
 
  • Una labor esencial en todo el aquél que realice un programa es la comprobación de que, una vez que el programa funciona, lo hace correctamente, es decir, proporciona resultados correctos. Esta comprobación se puede hacer de diferentes formas. Algunas estrategias, relativas a problemas científicos y no necesariamente excluyentes entre sí, se relacionan a continuación,
  • Si los resultados se corresponden con una fórmula cerrada (analítica) realizar una comprobación resolviendo algún caso concreto con la calculadora.
  • También se puede ejecutar el programa realizado para algunos casos particulares con solución sencilla conocida. Si para esos casos particulares, “la cosa” funciona nos aseguramos, no de que el programa funciones bien para todos los casos, pero sí de que, al menos, vamos por buen camino.
  • Cuando se disponga de datos y resultados obtenidos por otros caminos (libros, artículos científicos, Internet etc.) se pueden comparar con los nuestros y ver su igualdad o similitud.
Copyright 2014, por los autores de los cursos. Cite/attribute Resource. IPIÑA, J. S., VEREZ, M. A. S. (2008, May 26). Ejercicios proyectos y casos. Retrieved May 30, 2017, from OCW Universidad de Cantabria Web site: http://ocw.unican.es/ensenanzas-tecnicas/fortran-para-la-simulacion-electromagnetica/ejercicios-proyectos-y-casos. Esta obra se publica bajo una licencia Creative Commons 4.0. Creative Commons 4.0