WEBVTT

00:00.000 --> 00:10.000
All right, next step, I was on there with some very interesting stuff in my business.

00:10.000 --> 00:11.000
Thank you.

00:11.000 --> 00:13.000
Good afternoon, everyone. My name is Alex Anderson.

00:13.000 --> 00:15.000
I'm the best of you. Call me Alex.

00:15.000 --> 00:19.000
Today, I'm talking to you about a pantheon of the gods.

00:19.000 --> 00:24.000
Collection of open source multi physics software for analysis of fusion power plant systems.

00:24.000 --> 00:27.000
A brief overview of what I'm going to talk to you about.

00:27.000 --> 00:30.000
If you don't know about it, give it a little introduction for you's energy.

00:30.000 --> 00:33.000
If you want to know a bit more about it, then please do ask me.

00:33.000 --> 00:35.000
It's one of my favorite subjects.

00:35.000 --> 00:39.000
While I am presenting fusion as an application here,

00:39.000 --> 00:44.000
most physics solvers can actually be used across a wide variety of engineering domains.

00:44.000 --> 00:47.000
So if it's useful to you, please do take it up and use it.

00:47.000 --> 00:49.000
I'm going to tell you about the challenges we face in fusion energy.

00:49.000 --> 00:52.000
Why is physically difficult? Why we need HPC?

00:52.000 --> 00:57.000
I'll tell you about how we found a solution, which is a pantheon of the gods.

00:57.000 --> 01:00.000
Also, some of the things we learned.

01:00.000 --> 01:03.000
So fusion, this is your typical fusion reaction.

01:03.000 --> 01:08.000
We take Juterium, Tritium, Smushing Together, make it really hot.

01:08.000 --> 01:11.000
We get some Helium and Neutron.

01:11.000 --> 01:13.000
And that's a nice amount of energy.

01:13.000 --> 01:16.000
And obviously this is very hot.

01:16.000 --> 01:20.000
Sort of an order of millions of Kelvin.

01:20.000 --> 01:23.000
So we need to stop it from touching things.

01:23.000 --> 01:26.000
So we put it inside this big magnetic cage.

01:26.000 --> 01:29.000
Of course, it's not just a magnetic cage, it's more to this.

01:29.000 --> 01:33.000
We need to actually get fuel in and then get the exhaust products out.

01:33.000 --> 01:39.000
We need to find some way of actually getting the heat we generate into some sort of useful energy

01:39.000 --> 01:41.000
that we can convert into electricity.

01:41.000 --> 01:44.000
And then we also need to maintain.

01:44.000 --> 01:46.000
So there are many other systems.

01:46.000 --> 01:50.000
That's generally what we tend to focus on in my group.

01:50.000 --> 01:53.000
We tend to focus on everything that isn't the plasma.

01:53.000 --> 01:55.000
And it turns out it's quite a hard problem.

01:55.000 --> 01:56.000
It involves quite a lot of physics.

01:56.000 --> 01:59.000
First of all, we've got these neutrons coming out of this magnetic cage,

01:59.000 --> 02:01.000
because they don't respond to magnetic fields.

02:01.000 --> 02:03.000
They're very nicely particles.

02:03.000 --> 02:05.000
And these come out.

02:05.000 --> 02:07.000
We need to stop them.

02:07.000 --> 02:11.000
We need to get their energy and we need to do useful things to them.

02:11.000 --> 02:13.000
It's also a big structural problem.

02:14.000 --> 02:17.000
We've got a big magnetic cage, strong magnetic fields.

02:17.000 --> 02:20.000
You know, tens of Tesla.

02:20.000 --> 02:23.000
And then we've got all the heat loads.

02:23.000 --> 02:26.000
Ten megwats per meter square roughly.

02:26.000 --> 02:30.000
You know, the sort of heat loads you might get in a reentry vehicle.

02:30.000 --> 02:33.000
And yeah, we've got some clothes flowing around.

02:33.000 --> 02:34.000
Some of them might be conducting.

02:34.000 --> 02:37.000
So when we've got electromagnetic, we've got fun things going on.

02:37.000 --> 02:39.000
Like magnetic or hydrodynamics.

02:39.000 --> 02:40.000
Add on to this.

02:40.000 --> 02:43.000
All of our data is quite uncertain.

02:43.000 --> 02:47.000
So we know a little bit about materials as they go in.

02:47.000 --> 02:48.000
Ten years into operation.

02:48.000 --> 02:51.000
We don't really know what our materials are going to behave like.

02:51.000 --> 02:59.000
And so we're going to need a bigger computer at some scalable software to run on it.

02:59.000 --> 03:01.000
So what I mean, that's scalable software.

03:01.000 --> 03:02.000
I mean, turn its parallel first.

03:02.000 --> 03:05.000
A code that's designed to scale well on HPC from the outset.

03:05.000 --> 03:08.000
Not so many that's had parallel sort of budget on top of a serial code.

03:08.000 --> 03:11.000
So I mean, it's permissively licensed that's able to run anywhere.

03:11.000 --> 03:16.000
Any number of processes with extension and modification permitted.

03:16.000 --> 03:17.000
Something that's portable.

03:17.000 --> 03:19.000
I will say more on this later.

03:19.000 --> 03:24.000
But, you know, we have access to a number of machines and it needs to be able to operate on all of these.

03:24.000 --> 03:29.000
It needs to be extensible because we don't have everything we need for fusion yet.

03:29.000 --> 03:32.000
So we're still writing the servers that we need.

03:32.000 --> 03:34.000
It needs to be supported.

03:35.000 --> 03:42.000
Which I'll make a nod to the high performance software foundation for this one as a good way of getting supported.

03:42.000 --> 03:47.000
This didn't exist five years ago when we made this selection.

03:47.000 --> 03:49.000
We did at the time choose a compiled language.

03:49.000 --> 03:54.000
I will say a bit more on that later and also want to stabilize stable API and something that's actually developed.

03:54.000 --> 03:59.000
If you want more details into how we selected a framework for this.

03:59.000 --> 04:01.000
That is a talk from 2020.

04:02.000 --> 04:04.000
But there's no clear winner.

04:04.000 --> 04:06.000
Made a trade-off and we selected moves.

04:06.000 --> 04:07.000
It's a snapshot in time.

04:07.000 --> 04:10.000
So if we did it again now, we might come up with a different answer.

04:10.000 --> 04:12.000
Your mileage may vary.

04:12.000 --> 04:15.000
So what do we do with moves?

04:15.000 --> 04:19.000
This is a multi-physics opportunity to set simulation environment.

04:19.000 --> 04:22.000
It's a framework and we came up with a collection of servers.

04:22.000 --> 04:24.000
They interpret for a multi-apsystem.

04:24.000 --> 04:28.000
So the fact that they extend on your single physics is an issue.

04:28.000 --> 04:30.000
You can still connect them up together.

04:30.000 --> 04:32.000
Aurora connects our neutron accept.

04:32.000 --> 04:37.000
Apollo slash her face this is our electromagnetic silver.

04:37.000 --> 04:46.000
You've got Atlas which does our hydrogen ice-trip transport.

04:46.000 --> 04:51.000
We've got Proteus which does our fluids and covers in a bit of electromagnetic.

04:51.000 --> 04:53.000
So we've got Maggie's hydrodynamics.

04:53.000 --> 05:00.000
And it also sort of is a drop-in replacement for pick your favourite commercial silver.

05:00.000 --> 05:03.000
And all the rest.

05:03.000 --> 05:06.000
So get some help in care for Aurora multi-physics.

05:06.000 --> 05:08.000
A few are highlight is Aegis.

05:08.000 --> 05:11.000
It is a charge particle tracking for heat deposition.

05:11.000 --> 05:15.000
Hippo which couples in open foam to do from hydraulic.

05:15.000 --> 05:19.000
We've got Fatal on which has got five coupling in.

05:19.000 --> 05:22.000
And one I want to say a bit more about is platypus.

05:22.000 --> 05:26.000
Which enables new simulations using the M-Found finer airboat library.

05:26.000 --> 05:28.000
Which seems a bit backwards.

05:28.000 --> 05:32.000
But when I get onto the learnings it will make sense.

05:32.000 --> 05:35.000
So back to my initial criteria.

05:35.000 --> 05:38.000
First of all it's a portable OBS1 on X go hardware.

05:38.000 --> 05:41.000
Five years ago we thought, well this means GPU.

05:41.000 --> 05:46.000
Nowadays we didn't quite realise that everything is GPU.

05:46.000 --> 05:50.000
So this is where platypus comes in.

05:50.000 --> 05:55.000
M-Found is our library of choice to enable that GPU-fine element calculation.

05:55.000 --> 05:59.000
We also are collaborating with Argon using Cardinal.

05:59.000 --> 06:04.000
Which couples in finer element code neck RS which is the GPU fluids code.

06:04.000 --> 06:07.000
Which is where we spend a lot of our time to our calculations.

06:07.000 --> 06:09.000
So that's probably the best part to accelerate.

06:09.000 --> 06:14.000
We did choose to select down selects a compiled languages.

06:14.000 --> 06:17.000
Maybe this is not such a good idea.

06:17.000 --> 06:19.000
It's easier to find Python developers.

06:19.000 --> 06:22.000
And most of our users aren't actually running at the scale.

06:22.000 --> 06:26.000
Where the difference between Python and a compiled language actually matters.

06:26.000 --> 06:31.000
And finer element types were another thing that we sort of missed off of our criteria.

06:31.000 --> 06:33.000
This is a certain finite element time.

06:33.000 --> 06:36.000
So I'll allow for better formulations, more accurate answers.

06:36.000 --> 06:39.000
For some work we've now implemented the ones we need in Moose.

06:39.000 --> 06:45.000
But also platypus by leveraging M-Found also enables you to use their finite element types.

06:45.000 --> 06:48.000
Which is very handy.

06:48.000 --> 06:51.000
And I think that's all I have to say.

06:51.000 --> 06:53.000
Any questions?

