Computational Modeling of Materials


The course intends to implement knowledge and develop basic skills, using computational methods, to simulate and analyze simple models of systems behavior or processes evolution.

General characterization





Responsible teacher

Guilherme António Rodrigues Lavareda, Maria do Carmo Henriques Lança


Weekly - 4

Total - 62

Teaching language



To have basic knowledge of Mathematics, Materials Science and Computation (not restrictive).


• Steven C. Chapra, Applied numerical methods with MATLAB for engineers and scientists, 4th ed., Mc-Graw Hill, New York, 2018

• Desmond J. Higham & Nicholas J. Higham,  Matlab guide, 2ª ed., SIAM, Philadelphia, 2005

• Steven C. Chapra & Raymond P. Canale, Numerical methods for engineers, 2ª ed., Mc-Graw Hill, New York, 1988 (most recent: 7th ed)

• John H. Mathews & Kurtis D. Fink, Numerical methods : using MATLAB, 4ª ed., Pearson, New Jersey, 2004

Teaching method

The course will be given in a classroom with computers (one computer per student) and datashow.


Initial presentation of the theory followed by application examples.


Autonomous resolution of exercises at the end of class.


Software used:

- Visual Basic for Applications (VBA/excel).

- MatLab/Octave.

Evaluation method

Frequêncy assessment

Elements used

Project Grade (NP)

Class Attendance (As)



NP >= 9.5

As >= 2/3 of the total number of classes


Continuous assessment (AC)

Elements used

Grade of 1st Test (T1)

Grade of 2nd Test (T2)

Project Grade (NP)


Approval with exam exemption

MT = (T1+T2)/2 >= 9.5

NP >= 9.5


Final Grade using AC (NF)

NF = 70% MT + 30% NP



Elements used

Exam Grade (NE)

Project Grade (NP)


Approval conditions

NE >= 9.5

NP >= 9.5


Final Grade using exam (NF)

NF = 70% NE + 30% NP


Final remarks:

In any evaluation test (within AC or exam), a complementary oral test may be required by teachers to clarify students'''''''' knowledge or defend a grade.

Subject matter

Part I a - Introduction to VBA

    - Excel as a spreadsheet. Excel functions.

    - The Visual Basic for Applications (VBA) excel environment.

    - Variables, constants, procedures and functions. Types and nature of variables.

    - Data exchange between the program and excel sheets.

    - Native VBA functions and access to excel functions

    - Flow control: Elementary and composite control instructions.

    - Manipulation and formatting of text. Text functions

    - Matrices and Arrays. Matrix operations using excel functions.

    - File operations. Data recording and reading.

    - Execution of external programs.

    - Events

    - Graphics

    - Graphical User Interfaces (forms)


Part I b - Introduction to MatLab/Octave

    - The MatLab/Octave environment

    - Variables, constants, operators and functions. Variable types.

    - Matrices and Arrays. Matrix and non-matrix operations. Data structures.

    - Text and graphics.

    - File operations. Data recording and reading.

    - Flow control: Elementary and composite control instructions.

    - Scripts and Functions

    - Graphical User Interfacess (GUIs)


Part II - Scientific Computing

     - Curve fitting to experimental data
     - Fourier analysis
     - Equation roots and relative MaxMin
     - Linear systems
     - Numerical integration
     - Numerical differentiation
     - Ordinary differential equations – prob. of initial value
     - Ordinary differential equations – prob. of boundary conditions
     - Monte Carlo methods and molecular dynamics: basic introduction


- Application Examples - Final Project