Engineering Physics o Data and Computation
Keywords |
Classification |
Keyword |
OFICIAL |
Physics Engineering |
Instance: 2024/2025 - 1S 
Cycles of Study/Courses
Teaching Staff - Responsibilities
Teaching language
Portuguese and english
Objectives
This course involves advanced methods in Computational Physics, to be applied in the research work carried out in the PhD thesis. To attain that goal, the student must acquire skills and competencies in the simulation of physical systems applied to situations related to her/his PhD work. Those skills include the practical use of numerical tools as ABAQUS, MATLAB, Python and Maxima, and detailed knowledge of the corresponding physical background. Depending on the physical systems to be studied and simulated, machine learning, parallel computing and science data will be also taken into account.
Learning outcomes and competences
By the end of the semester, the student must be able to:
1) Correctly analyze the equations and conditions describing a given physical system;
2) Develop numerical models and algorithms capable to simulate a physical system;
3) Choose correctly the most reliable numerical approach to a given problem, minimizing the numerical error and optimizing the developed algorithm;
4) Show solid knowledge of the finite element method in order to have an adequate understanding of the obtained results;
5) Analyze the results obtained from the models, in a critical way and using validation/verification techniques;
6) Use machine learning, parallel computing, and multivariate data analysis methodologies when necessary to correctly describe a physical system.
Working method
Presencial
Pre-requirements (prior knowledge) and co-requirements (common knowledge)
Basic knowledge of computer programming.
Program
The course is divided into three different modules organized in a close way with the PhD work.
Module 1 (Finite elements)
Fluid dynamics problems. Conservation equations. The need to discretize by the method of finite volumes. Boundary conditions. Linear equations systems solving algorithms (Gauss-Seidel, Conjugate Gradient, Multigrid). Linear equations systems coupling algorithms (SIMPLE, PIMPLE).
Discrete and continuous problems. Case-study application with numerical validation.
Module 2 (machine learning)
1. Introduction to Learning Theory. 2. Introduction to Linear Regression (Criterion; Normal Equation; The Least-Mean-Square method; Steepest descent; Ridge and Lasso regression). 3. Generative Classifiers (Optimal Bayes decision; Gaussian based classifier; Conditional Independence and Naïve Bayes classifier; Non-parametric density estimation: Parzen window method). 4. Non- Generative Classifiers (Logistic regression; Fisher Discriminant Analysis). 5. Model Selection and evaluation. 6. Introduction to Neural Networks. 7. Introduction to Support Vector Machines. 8. Unsupervised Learning – Clustering (Clustering algorithms; Kmeans, kmedoids, soft kmeans; Mixture of Gaussians). 9. Introduction to models for sequential data
Module 3 (Simulation of physical systems)
1. Numbers representation in the computer. Integers, rational, real and complex numbers. Floating point formats. Lists, vectors and matrices. 2. Numerical integration. Monte Carlo technique. 3. Numerical solution of ordinary differential equations. Chaotic systems. 4. Numerical solution of partial differential equations. Solution of the wave equation, the diffusion equation and Poisson’s equation. 6. Systems of coupled equations and closure conditions. 6. Validation and verification methods.
Mandatory literature
C. J. Greenshields & H. G. Weller; Notes on Computational Fluid Dynamics: General Principles, CFD Direct Ltd, 2022. ISBN: 978-1-3999-2078-0
Christopher M. Bishop;
Pattern recognition and machine learning. ISBN: 978-0-387-31073-2
Landau, R. H., Páez, M. J. & Bordeianu, C.; Computational Physics: Problem Solving with Python (4ª ed.), Wiley, 2024. ISBN: 978-3-527-41425-3
Complementary Bibliography
F. Moukalled , L. Mangani & M. Darwish;
The Finite Volume Method in Computational Fluid Dynamics: An Advanced Introduction with OpenFOAM and Matlab, Springer Cham, 2016. ISBN: 978-3-319-34864-3
José Unpingco;
Python for probability, statistics, and machine learning. ISBN: 978-3-319-30717-6
Joakim Sundnes;
Introduction to scientific programming with Python. ISBN: 978-3-030-50356-7
Jaan Kiusalaas;
Numerical methods in engineering with Python. ISBN: 978-0-521-19132-6
Teaching methods and learning activities
Tutorial lectures. The sections from the mandatory bibliography which the student must study will be selected at the beginning of the semester. Topics will be chosen to take into account the specific profile and research interests of each student. The student should meet with one of the teachers for a tutorial session, on a weekly or biweekly basis. During each of those sessions reading material for independent study will be assigned, as well as a project for each of the three modules of the course. Those projects will be graded by the end of the semester.
The final grade is solely based on those projects, without any exams. The final grade will be (M1+M2+M3)/3, where M1, M2, and M3 are the grades of the projects for the three modules.
Software
Python
MATLAB
Maxima
OpenFOAM
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Designation |
Weight (%) |
Trabalho prático ou de projeto |
100,00 |
Total: |
100,00 |
Amount of time allocated to each course unit
Designation |
Time (hours) |
Elaboração de projeto |
62,00 |
Estudo autónomo |
72,00 |
Frequência das aulas |
28,00 |
Total: |
162,00 |
Eligibility for exams
Attendance to the tutorial lessons and submission of the three projects.
Calculation formula of final grade
(M1+M2+M3)/3, where M1, M2, and M3 are the grades of the projects for the three modules.
Examinations or Special Assignments
Internship work/project
Special assessment (TE, DA, ...)
Classification improvement
Observations