
Stress Wave Animation
Click the image to visualize the propagation of a stress wave generated by a ballistic impact on a layered armour plate.
This work can be divided into four different objectives:
This step was needed to be performed in order to validate theoretical stress wave speed with the one calculated in ABAQUS/CAE. Both elastic and plastic stress wave speeds were validated according to the time a certain stress pulse took to travel a number of finite elements.
Replacing manual input with a python script significantly incresed testing and simulation productivity. Such script would command the whole model generation procedure, submit simulation and save/record output data. Available Input parameters include:
Using the ABAQUS/CAE Python interface, a script was written not only to make the model generation effortless, but also to command a series of iterations on a Particle Swarm Optimisation algorithm. ABAQUS would load random configurations, simulate them, generate output data such as weight and maximum stress and slowly converge to acceptable solutions.
A compilation of pictures relevant for this dissertation including ABAQUS/CAE model pictures and charts.
Click the image to visualize the propagation of a stress wave generated by a ballistic impact on a layered armour plate.
Initial testing configuration. Configurations can be easily edited in the python script depending on the specifications needed.
The division of the plates by partitions is very important for the latter mesh operations.
This plot contains important data points used to calculate and confirm the stress wave velocity.
Four stages in time of the propagation of a stress wave.
A flowchart of how ABAQUS/CAE interprets Python commands (Image from "Abaqus Scripting User’s Manual, Version 6.11. 2011.").
The following flowchart describes the structure of the developed optimisation algorithm using Python.
An example of how the objective function evolves with every iteration. The algorithm ran three times and returned three different solutions.
Click the image to visualize the propagation of a stress wave generated by a ballistic impact on a layered armour plate.
A Python script is a very powerful tool and enables the user to effortlessly change a multitude of parameters used in the ballistic model configuration. The optimisation procedure not only was successfully implemented, but it was also possible to enhance its performance! The front plate absorbs a bigger amount of energy under the form of plastic strain. The interlayer plate absorbs some of the energy under the form of elastic strain. The tested configurations returned solutions where Place C absorbed the least ammount of energy.
Finite Element Analysis; CAE
Scripts and Algorithms
Automation of Processes and application of Particle Swarm Optimisation Algorithm.
Process ABAQUS/CAE output data through MATLAB scripts to create plots, charts and data reports.
Taking iniative to study, develop and test different ideas on my own.
Using tools I learned throught my studies to search and study new possible solutions.