Generative Artificial Intelligence and Metal Matrix Composites


Dear Reader,

I hope you are doing well. Its summer season here and my school work is really winding down as I prepare for a long summer holidays in this August. I will keep publishing videos on the YouTube channel and writing this newsletter but outside that, I will try and relax a bit. Here are the focus of this week's newsletter is on Technical Reflections: Generative AI and Metal matrix composites. Due to the length of the discussion today, and as I do not want to make the newsletter too long, I will leave out the other features of my regular newsletter reflections.


Technical Reflections

Generative AI and Metal matrix composites

I got a comment from a CM Videos Insider, on the CMVideos Youtube channel, who was wondering the role of Generative AI in generation of 3D metallic matrix composites. Here is the comment:

Hello Dr. Okereke, is there any scope for applying generative AI models to aid in synthesis of metal matrix composites or just any composite? What do you think about this?

Of course, I gave a response to the question that goes like this:

There is certainly a possibility of AI helping with the generation of metallic composites. I made a video for UD composites and AI as seen here: https://youtu.be/T52OfJJVCvA. I believe you can adapt a similar process for metallic composites.

I decided to take it further in this newsletter and show how you can go about creating metallic matrix composites using Generative AI.

Theory of creating metal matrix composites

Here are the steps

  • Decide on the virtual domain dimensions: You have to decide on what dimensions will the virtual domain be. In the case I will show later, we will work with a cubic representative volume element of size: 100 x 100 x 100 unit-cubed.
  • The particulate composite is assumed spherical: Of course the particulate composite has to be assumed of a certain geometry. The easiest is spherical but there are cases of amorphous geometries, spheroidal, ellipsoidal and other particulate dimensions. In the case shown later, we will work with a sphere of dimension 10 units in diameter.
  • Randomness should be at the core: A particulate composite has to be randomly distributed. This is at the core of it because the formation of a particulate composite is driven by a Monte Carlo style implementation. Therefore, the user should find a way of allowing fibres to populate the cubic domain in a Monte Carlo style approach.
  • Overlap of particulates must be precluded: There is no possibility overlap of particulate inclusions. This must therefore be implemented as part of the model generative process. The essential way this is done is by specifying a distance below which any two particles must not be accepted into the domain during the Monte Carlo style approach.
  • Visualize the model created: It is always essential that you are able to visualize the results you generated as that is the true proof that the model exists, and obeys the constraints specified above. Beyond just a visual output, you might always include what is described as 'randomness quantification variables' to objectively assess the true representable nature of the generated model. If you want to learn more about this latter point, here is a video I made in the past explaining this: https://youtu.be/ALkk-sbbmlo?t=293
  • From visualized model to ABAQUS RVE: The last requirement for the creation of metallic matrix composite is finding a way to take the visualized model (typically a graph) and translate that into a model available for use in ABAQUS. This will typically involve writing a Python script that can be run in ABAQUS to create the RVE of the metal matrix composite.

Use of Generative AI to create metal matrix composites

Once I understood the above steps, I decided to use a generative AI to create the RVE of the metal matrix composite. I used ChatGPT by OpenAI to aid the development and here is the prompt that I sued:

Prompt 1

Write a MATLAB code for creating a metallic matrix composite where the volume is cubic with dimensions 100 by 100 by 100 units. The particles are spherical of diameter 10 units. The particles should be randomly distributed within the 3D domain and has a volume fraction of 5%.

The image to the left below was the result from using Prompt 1 but this was not looking as expected. I needed to visualize the particles properly as spheres and therefore asked it to use the mesh command in MATLAB to create the spherical particulates. Here is my second prompt:

Prompt 2

Rewrite the code where each particle is plotted as a sphere using the mesh command in MATLAB.

The figure shown below to the right is the better output and it shows truly the RVE of the metal matrix composite

After running the prompt 2 above on ChatGPT, you get to the point where a MATLAB script is written automatically by the AI tool. The image below represents the code that was used to generate the image of prompt 2 above.

So how do I get this into ABAQUS?

The hard aspect of the above is translating the information from a Generative AI system into ABAQUS. This is because often the output from ChatGPT is a script (MATLAB here) which results in an image when plotted. The MATLAB script is not readable by ABAQUS. On the contrary, the ABAQUS framework will have to read a Python script. So the challenge here is getting the MATLAB script and Output to be translated into a Python script which ABAQUS can understand and read.

This is possible but it will require you to either know how to code up the outputs from MATLAB into python yourself or on the contrary rely on a MATLAB-to-Python translator code/software which can do the same.

Here at CM Videos Ltd, we have one of such codes called MontCarlGen2D for accomplishing the same task for a 2D RVE. If you are interested then click the link below to get hold of the code that helps get MATLAB output into an ABAQUS model.

We are also developing a 3D version of such code which will generate 3D RVEs with randomly distributed particulate constituents. Please sign up with the link below to the newsletter where I share updates on the stage and theoretical and practical insights underpinning the development of the MontCarlGen3D code.


That is the end of the newsletter. I hope you have not been put off by the length of it. I apologize if that is the case. The 'writing and reflective juice was flowing.' I wish you an amazing weekend and next week. Whatever you are up to, good luck, stay safe and God bless you richly. Catch you next week.

Thank you for reading this newsletter.

If you have any comment about my reflections this week, please do email me in a reply to this message and I will be so glad to hear from you.

If you know anyone who would benefit from reading these reflections, please do share with them. If there is any topic you want me to explore making a video about, then please do let me know by clicking on the link below. I wish you a wonderful week and I will catch up with you in the next newsletter.

Lets keep creating effective computational modelling solutions.

Michael


Connect with me on: Twitter | LinkedIn | Instagram | Tiktok| Mailing List

Other Links


Welcome to new subscribers: If you are one of the new faces joining the CM Videos Insider Group, then welcome. I am pleased you are here and please do click the link below to see and hopefully read previous newsletter articles from me. Thank you.