TMT4210

Material and Process Modelling

Spring

Trondheim

Norwegian and English

Overview

39 candidates

Average grade

B

3.97

0.08

Pass rate

100%

same

Grade distribution
Average over time
Pass rate over time

About this course

Content

The course includes a general introduction to modelling and computer simulation as tools in materials science and engineering, and basic skills in programming and program development. Some important types of problems that will be treated are: Analysis and filtering of experimental data, numerical integration and derivation, root finding, optimization, numerical methods to solve ordinary and partial differential equations, use of random numbers and Monte-Carlo methods, simple introduction to artificial neural networks. The topics will be presented by means of relevant examples related to modelling and simulation of processes and reactions in materials science and materials engineering. The problems are related to physical and process metallurgy as casting and solidification, plastic deformation, recrystallization and grain growth, diffusion, thermo-mechanical treatment, phase transformation kinetics and additive manufacturing. The specific examples and topics may vary from year to year.

Learning outcomes

After successfully completing the course, students will be able to:

  • Use numerical methods to process and interpret data, including smoothing, numerical differentiation and integration, root finding, and parameter estimation by least-squares fitting.
  • Implement and solve mathematical models computationally, reformulating governing equations into forms suitable for numerical solution and applying methods for ODEs and PDEs (e.g., Euler, Runge-Kutta, finite differences).
  • Develop efficient, user-friendly Python programs for scientific computing, using core programming structures (loops, conditionals, functions) and appropriate input/output routines.
  • Apply stochastic and optimization techniques, including random number generation and Monte Carlo methods, to analyze deterministic problems and support model calibration.
  • Evaluate the quality and reliability of numerical results, including accuracy and convergence, and adjust algorithms or settings to meet required precision.
  • Communicate computational results clearly and professionally, producing publication-quality plots and well-structured, well-documented codes that others can understand and reuse.

Teaching methods

The course and the teaching will be centered around a set of relevant computer-based problems/exercises. The problems/topic of the exercises and knowledge and skills required to solve the problems will be presented in the lectures. The exercises will be based mainly on Python programming language. Total amount of work load for the whole semester (incl. independent home work) is ~200 hours.