22
FÍSICA COMPUTACIONAL César Guerra [email protected]

Introduccion Fisica Computacional

Embed Size (px)

DESCRIPTION

Introduccion Fisica Computacional

Citation preview

Fsica computacional

Fsica computacionalCsar [email protected] es la Fsica Computacional?Procesar, analizar y mostrar grandes cantidades de datos de las mediciones. Ej.: Anlisis de datos en aceleradores de partculas, el anlisis de imgenes astronmicas.

Solucin numrica de ecuaciones que no pueden lograrse mediante tcnicas analticas. Ej.: Ecuacin de Navier Stokes, ecuaciones de campo de Einstein, ecuacin de onda para el clculo de la estructura electrnica de un material.

Experimentos computacionales: simular fenmenos fsicos obteniendo informacin sobre el comportamiento del sistema en diferentes regmenes. Ej.: Simulaciones moleculares de los materiales, dinmica planetaria y galctica.Ejemplo: Sistema de Hnon-HeilesModelo simple de movimiento estelar en una galaxia. Las soluciones muestran caos determinstico.

Ejemplo: M-CarbonSe han diseado nuevos materiales super-duros como el M-carbon calculando su dureza.La dureza predicha para el M-carbon es 83.1 GPa, que es comparable al del diamante 94.4 GPa.Este trabajo est publicado en: Physical Review Letters vol. 102, 175506, 2009.

Ejemplo: LHC

LHC

El LHC fue diseado para colisionar protones, de hasta 7 TeV, siendo su propsito principal examinar la validez y lmites del Modelo Estndar.Procedimiento generalDisear un modelo computacional (algoritmo) para la cuestin fsica de inters.

Resolver cuestiones como la discretizacin, el anlisis de error, la estabilidad, la eficiencia, etc.

Implementar el algoritmo en algn lenguaje especializado y realizar el clculo, o simulacin, etc.

Analizar, visualizar e interpretar los resultados contrastando la teora y el experimento o simulacin.

Mejorar o extender el modelo computacional.Programacin: Tipos de datoEn Fsica tratamos con varios tipos de nmeros: enteros, reales y complejos. En las computadores los nmeros se especifican mediante un tipo de dato.Debido a la restriccin de memoria, hay diferencias importantes entre los nmeros matemticos y los de una pc.

Programacin: DeclaracionesUsualmente uno puede asignar nombres a las variables y luego tratarlas como variables aritmticas. En algunos lenguajes no es necesario declararlas el tipo de estas variables.En algunos lenguajes los tipos de dato pueden ser vectoriales (arreglos) con una aritmtica correspondiente.

Programacin: Estructuras de controlTodo algoritmo se puede implementar usando solo tres estructuras de control:

Secuencias: Las instrucciones se ejecutan en secuencia. Tambin conocido como un bloque de instrucciones.

Repeticin: Estas estructuras conocidas genricamente como bucles repiten un conjunto de instrucciones mientras cierta condicin se cumpla.

Seleccin: Cambian el curso de un programa en tiempo de ejecucin dependiendo de condiciones lgicas.Programacin: Estructuras de alto nivelLos programas se ensamblan modularmente a partir de procedimientos (funciones y subrutinas).

En lenguajes orientados a objetos, estos procedimientos se pueden combinar con datos para formar clases.

Combinaciones de clases forman mdulos en algunos lenguajes.

Usualmente los procedimientos, clases y mdulos se organizan en diferentes archivos y contextos.

Programacin: Diagrama de flujoEjemplo: Ecuacin cuadrtica

Ejemplo: La raz de A

Presentacin de los programasUsar comentarios explicativos en el cdigo.Indentar el cuerpo de cada estructura de control.Usar nombres de variables que sean auto-explicativas.Al imprimir, indicar que se esta requiriendo/mostrando.

Unidades y escalamientoMuchas variables fsicas son o muy pequeas o muy grandes en el SI y pueden generar desbordamiento.

Una solucin es trabajar en unidades convenientes al problema en consideracin.

Otra solucin es usar el escalamiento de variables.

Si de todas maneras se desea trabajar en el sistema SI se pueden obviar las potencias de 10.Ejemplo: Ley de decaimientoConsideremos la ecuacin diferencial que nos lleva a la ley de decaimiento:

donde es la constante de decaimiento. Si inicialmente se tiene 100 g de una sustancia radioactiva, estimar en cuanto tiempo la muestra ha desaparecido para los casos: lambda = 10-19 1/ao y lambda 1023 1/s.

Lenguajes de programacinRecomendadosFortran, C, C++ (compilador MinGW)Java, PythonMathematica, Matlab, Octave

Otroshttp://en.wikipedia.org/wiki/List_of_programming_languageshttp://en.wikipedia.org/wiki/List_of_compilers

Software de anlisis numricoRecomendadosNumerical Recipes (Fortran, C, C++)Numpy, Scipy (Python)Mathematica, Matlab, Octave

Otroshttp://en.wikipedia.org/wiki/List_of_numerical_analysis_softwarehttp://en.wikipedia.org/wiki/List_of_numerical_librarieshttp://en.wikipedia.org/wiki/List_of_statistical_packages

Software para generar grficos RecomendadosMathematica, Matlab, OctaveGnuplot, Matplolib (python)

Otroshttp://en.wikipedia.org/wiki/List_of_information_graphics_software

Presentacin de tareasEnviar sus tareas en un archivo comprimido codigo.zip a la siguiente direccin [email protected]

La presentacin de los programas y los resultados obtenidos influirn en la nota.

Las tareas entregadas fuera de fecha tendrn nota cero.

Las tareas son individuales, en caso de fraude la nota asignada ser cero.

Evaluacin del cursoSe enviarn peridicamente tareas que deber resolver de manera individual.

Se tomar un examen final del curso, basado en las tareas y lo desarrollado en clase.

La nota final se calcular tomando el promedio simple de todas las tareas y el examen final.BibliografaChapman, Stephen J., Fortran 95/2003 for scientists and engineers. McGraw-Hill, 2008

Rubin H. Landau, A First Course in Scientific Computing. 1a edicin, 2005.

Press, William H. Numerical Recipes, The Art of Scientific Computing, 3a ed. 2007.

Press, William H. Numerical recipes in Fortran 90 University Press, 1992, 1996