Advanced Numerical Tools
Course Description
This course aims to introduce advanced numerical tools using the concepts covered throughout the program. Two options are offered:
- Mechanical Design, which aims to introduce the use of computer-aided design (CAD) tools in conjunction with mechanical modelling tools (finite element method).
- User subroutine for Abaqus, which aims to introduce the implementation of advanced constitutive laws in the finite element software Abaqus (UMAT).
These two options are presented below.
Mechanical Design
The course focuses on mechanical design with practical application to computer-aided design. It aims to illustrate, through a realistic engineering example, how CAD modelling can support a structured mechanical design approach.
The practical work is based on the modelling and partial design of a small tensile testing setup for ASTM D638 polymer specimens. The system includes a mechanical loading system and an optical setup intended for image acquisition during the test. This example is used as a common thread throughout the practical sessions.
The course does not aim to provide comprehensive coverage of mechanical design. Instead, it introduces selected design notions through their application to a concrete system. These notions include functional analysis, design choices, tolerance chains, preliminary dimensioning, assembly constraints, threaded connections and functional dimensioning.
FreeCAD is used as the main practical tool. Students import existing geometries, model missing parts, define interfaces between components and assemble the different parts of the system. Particular attention is paid to the relative positioning of parts and to the consistency of the assembly.
Practical sessions include the creation of parametric geometries, the import and positioning of existing CAD parts, the reconstruction of measured components, the design of simple interface parts and the production of technical drawings. Basic mechanical calculations or simple finite element checks may be used to discuss the relevance of selected design choices.
By the end of the course, students are expected to understand how CAD can support mechanical reasoning, to build and modify parametric models, to assemble components consistently, and to justify simple design choices in relation to functional and geometric constraints.
User subroutines for Abaqus
Within the framework of the finite element software Abaqus, this course covers the use and practical implementation of user subroutines in Fortran. The course is primarily based on hands-on programming exercises and focuses on the User MATerial (UMAT) subroutine. It assumes prior knowledge of the basic concepts of the finite element method and material constitutive laws. A basic level of proficiency with Abaqus is also required.
First, the overall structure of a finite element code is recalled. The modular architecture of Abaqus, in which specific functionalities are implemented through dedicated (user) subroutines, is presented, followed by an overview of the available user subroutines and their intended applications. Particular attention is given to the implementation of material constitutive laws. Theoretical aspects are introduced through a review of the concepts of strain, stress, and the consistent tangent modulus within the incremental framework.
The course then focuses on practical implementation. The first part consists of Fortran 90 programming sessions, including a review of fundamental programming concepts and practical exercises on basic programming structures. The conventions governing user subroutines in Abaqus are then introduced through the software documentation, with particular emphasis on the UMAT subroutine.
Several UMAT subroutines corresponding to classical constitutive models are implemented and tested on simple examples in Abaqus, ranging from linear elasticity to more advanced nonlinear models such as nonlinear elasticity and elastoplasticity with internal variables.
By the end of the course, students are expected to understand the modular structure of finite element codes and the capabilities offered by user subroutines in Abaqus. From a practical perspective, they should be able to develop and implement UMAT subroutines in Fortran and integrate them into finite element simulations.
