Código |
14961
|
Ano |
3
|
Semestre |
S2
|
Créditos ECTS |
6
|
Carga Horária |
TP(60H)
|
Área Científica |
Física
|
Objectivos de Aprendizagem |
Familiarizar os alunos com os recursos e práticas atualmente utilizados na abordagem computacional de problemas científicos. No final da frequência desta UC o aluno deve demonstrar ser capaz de: - identificar problemas passíveis de resolução computacional e escolher formulações numéricas apropriadas a essa resolução; - implementar abordagens computacionais a problemas científicos em ambientes modernos, incluindo sistemas multi processador, agregados de computadores e sistemas distribuídos (cloud computing), usando linguagens compiladas como C++ ou interpretadas como python e octave. - utilizar sistemas distribuídos de gestão de versões em projetos individuais e colaborativos.
|
Conteúdos programáticos |
1. Linguagens de programação e ambientes computacionais interativos modernos. 2. Tipos de sistemas multi-processadores e recursos para o seu aproveitamento em cálculo científico. 3. Utilização de sistemas distribuídos de gestão de versões. 4. Equações diferenciais ordinárias e evolução de sistemas de corpos materiais. Métodos de Runge-Kutta. Movimento de projéteis com resistência atmosférica, sistemas gravitacionais de muitos corpos, sistemas de osciladores acoplados. 5. Equações às derivadas parciais e dinâmica de campos clássicos. Métodos de Gauss, método dos volumes finitos e das diferenças finitas, métodos espectrais: equação de Poisson, equação da difusão, equação de onda, equação de Schrodinger, elasticidade e dinâmica de fluidos. 6. Métodos de Monte-Carlo. Modelo de Ising, propagação da luz em meios túrbidos.
|
Metodologias de Ensino e Critérios de Avaliação |
Os alunos terão que realizar 4 trabalhos ao longo do semestre. Todos eles envolvendo a necessidade de desenvolver software para resolução de problemas de Física.
Os alunos que não entregarem os 4 trabalhos serão considerados como não tendo frequentado a UC.
Se a média da nota dos 4 trabalhos (NT) for inferior a 6 o aluno não será admitido a exame.
A nota final da UC (NF) será obtida pela expressão.
NF=0.60*NT + 0.40*NE
onde NE é a nota de exame que pode ter uma componente oral dado a natureza dos conteúdos programáticos.
|
Bibliografia principal |
G. Wilson, et al (2014). Best Practices for Scientific Computing, PLoS Biol 12(1) S Sirca, M Horvat (2012). Computational Methods for Physicists, Springer-Verlag W Gropp, E Lusk, A Skjellum (2015). Using MPI: Portable Parallel Programming with the Message-Passing Interface, MIT Press B Chapman, G Jost, R Pas (2007). Using OpenMP: Portable Shared Memory Parallel Programming, MIT Press J Pitt-Francis, J Whiteley (2012). Guide to Scientific Computing in C++, Springer-Verlag J Eaton et al (2019). GNU Octave 5th Edition (https://octave.org/octave.pdf) Python Software Foundation (2019). The Python Tutorial (https://docs.python.org/3/tutorial/index.html) R. Landau (2007). Computational Physics, Whiley-VCH H. Gould,J. Tobochnick (2006). Introduction to Computer Simulation Methods in Physics, Addison Wesley. T. Pang (2006). An Introduction to Computational Physics, Cambridge: Cambridge University Press.
|
Língua |
Português
|