Live CEOing Ep 842: Design Review of PDE Modeling

Transcript of a Wolfram Language design review (Live CEOing Ep 842) led by Stephen Wolfram with contributors Roger Germundsson, Oliver Ruebenkoenig, and Sebastian. The discussion focuses on PDE modeling features for the 14.2 cycle — especially Neumann boundary/unit normal representation, magnetostatics (magnetic scalar/vector potentials, units and material properties), FEM-specific APIs, region symmetry handling, material databases, interpolation on discontinuous domains, and planned work on solid mechanics (plasticity) and units support.
Chapters
Hello, everyone. Welcome to a Wolfram language design review. This is, I think, our very first review for the 14.2 cycle, and it's about PDE modeling. So are we doing magnets this time? Yes.
Okay, so there are two types, the sort of permanent magnets.
And I know, I've heard of that.
Physics and quasi static.
Indeed. Okay, but first of all, this is a boundary condition.
This was an issue how we started or.
Yeah, yeah, okay, got it.
So this was an issue that got surfaced in a previous release where we need a symbolic representation for the boundary normal that then gets computed later on inside the FEM code by solving a Poisson equation.
Okay, so the normal Neumann condition looks like what?
Well, yeah, it's.
It's Neumann value, right?
Yeah, that's how we do it here, by Neumann value.
So hold on, so let me understand what that means. So, so if I say, what's a typical use of Neumann value or Dirichlet value or something in an equation?
So you have a flux over a boundary, and the non U unit normal flux might be something. So there you have an electric current density value specified as jx0, jy0, but that needs to be normalized automatically to the boundary unit normal. And that's what we do there.
So you can specify. Let me understand first what Neumann condition, Neumann value on its own does, because I have to remind myself.
So you can see here that. That. That.
Okay, so that says neumann value is 1.0, which means that the. Okay, there's a richlet condition, which means that at this point, this is true. Okay, so here. So what does Neumann value mean again?
So that means that at the predicate we specify a specific Neumann value. If you open the details, the Neumann value has a very specific meaning in the finite element world.
So I hope it's not finite elements. I hope it's PDE's.
Yeah, but it's. It's the. It's the implementation that this plays along with.
But the important point is what it means in terms of the pde.
Yeah, so if you look at the weak form, or if you look at the pde, the PDE typically gets solved by multiplying it with a test function doing integration by parts, and that integration by parts yields an integral over parts of the boundary. And that integral over the boundary is replaced with a Neumann value.
It has the same effect as if you had a Neumann condition.
Correct.
But this is how you kind of have to do it with the weak formulation, the pd.
I have a question for you guys. Sorry. The example repository exists right yes. Can somebody put a link to it? Yes, I can.
It.
Okay, Sorry. Okay, what is the mathematical statement here? Dirichlet condition is something like some scalar field. Phi equals zero on the boundary. The Neumann condition is the normal. The normal derivative of phi equals something on the boundary. Is that correct?
Kind of, yeah.
What's the kind of.
If you look at the exact definition in the. What, third node under the graphics, that's the exact definition of what it is.
Okay, am I wrong in what I said? It's the. It's the constraint on the normal derivative of the scalar field at a particular point. Is that correct or is that not correct?
Not exactly. So it constrains a set of normal derivatives for the various parts of the PDE on the Neumann. The important part is that this is combined is a combination of several components that the Neumann value addresses.
I'm totally confused. Let's do some basic math. Roger, Devendra. Somebody. Somebody just remind me of the basic theory. Am I just wrong? I mean, am I misremembering what Neumann conditions are? I think this is a Neumann value on that what you're talking Norman condition. Are they. Aren't they different? I mean, that's. I mean, he's talking about a partially integrated form of the pd, if I understand right. Is that correct?
Yeah, that's correct.
So when you integrate by parts, you get a leftover term that's not the Neumann condition itself. It's a Neumann value. It's what bakes in the Norman condition.
Correct.
Well, okay, so this new Neumann boundary unit normal. Okay, look, it gives you. Okay, I can't review these things. I. I don't know, you know.
No, no, I mean, but what's the net effect? Why do we need it? Okay, because you may want to express that flux where you're going to multiply something by the normal on the boundary to express normal.
Not in a list. Why is that point not in a list?
Because the whole thing is a normal. I mean. Or why do you mean the arguments is.
Yeah, why are the arguments which are. Which are a vector, are they not?
No, they're the independent variables. They're sort of spatial variables.
I see. Okay, but. But now represents an outward pointing unit normal. But where. Where is that unit normal? Let me look at the example.
I mean, it gets computed all over the surface.
Oh, I see. This is unit normal at the point xy.
Yeah, yeah, exactly.
But why doesn't it say that? Okay, it needs to say that, otherwise it's completely incomprehensible. Outpoint a unit Normal vector. Why does it say N? There's no N that I can see here. There's no reason to say call it N there. Normal vector at the point X, Y, whatever. What is a solid? I don't know what solid has to do with it. We're not even dealing with solids when.
We'Re dealing with, we can't define outward unless it's a solid. Right?
Okay, fine. Solid in the sense of not a liquid, but solid as in a solid.
In the sense it's full dimensional. So in 2D it's two dimensional.
Why don't we say three dimensional? I see, on a, on a filled region or something. I think we should say because solid is not what you would usually call it in 2D.
We, we do actually, but.
Well, it's probably not a good idea because people won't understand it. It's something. But that, you know, it's something like a whale is not a fish type type thing. It's just not going to be understandable.
We have solids in four too, and.
People understand that better. Honestly. Solid region. Because it's solid geometry. You know, you don't call it solid geometry when you have a pentagon which has filled, filled in interior, do you? So it's super confusing to call it solid in a, a filled thing in, in 2D. Solid should call it filled. Okay, okay. I mean, that logic makes sense to you, right, Roger? Yes. Okay.
But solid is an accepted term for it as well.
I, I understand that. I understand that just like everything can be represented in category theory, it's just not very useful to people if, unless they happen to speak that language. Okay. Outward pointing, normal vector at the point XY blah, blah, blah, on the boundary. On the boundary of a filled region in 2D comma 3D comma dot, dot, dot. My. Is that correct?
Yes.
Okay. All right. So now, Okay, now this makes sense.
You can see by the way here that it says A minus for the Neumann boundary unit.
Yeah, I understand. Because that means we're pointing.
Exactly.
Yeah.
Okay.
Why does this have Neumann in its name? Isn't it a boundary normal?
But we can't, it, it's something that's specifically needed for fem. We cannot support it in geometry more generally. It's, it's here.
Why can't we support it in geometry?
That's, that's probably a two development cycle development project to do that.
Okay, fine, I understand. But I'm just asking where we're going.
We, we need, we need it here because of you.
I, I, I got it. I got It. I understand we need it here. I'm trying to understand if we could magically develop it, we would have a thing called boundary region, boundary unit normal, something like that.
Yes. And we can compute it approximately explicitly for some point because we've needed that before. But this. This would take a whole other.
No, I get it. Look, I don't understand. I think those. The XY should be in a list. I don't get why it's not. Because I think as soon as you say on at that point, you pick a point where you're going to apply this unit normal. You're going to have that point packaged up in a list to represent its coordinates. Right?
Yep. I can change it.
Seems right. It doesn't seem right to me because even the description I was talking about at the top, you say at the point and then you've got to put the, you know, brace xy, blah, blah, blah. Yeah, I think you're right.
Okay, I'll change it.
Okay, so let's now go back to this question about the future will be some kind of region boundary unit normal. Is that right? Maybe that's what we think.
Maybe. Okay.
Okay.
When.
When we need it and when we have.
When we can, you know. Okay, I understand. So what makes this boundary unit normal? A Neumann one as opposed to just a. A one that you know, we.
Nothing. Except that we want to restrict. This is where it's used. This is where it's needed. It's a defensive naming.
Okay, I understand the. All right, fair enough. Okay, let's move on. Magnesio statics. Exciting.
So this is more like normal kind of new modeling capabilities.
The world is. Is by this point. MKS and nothing else. Right. MU0. All those kinds of things. All the rationalized CGS units, they're all gone with the dinosaurs. Is that correct?
Yeah.
You're absolutely sure of that?
No.
Okay. I would ask Michael Trott.
Good.
Really follows these things? I mean, I have no idea.
I'll ask him.
In the physics world, I think the generation that new rationalized CGS is gone. I can't speak to the engineering world and particularly.
I'll check with Michael.
Yeah, okay.
I mean we use the. The quantity system. So whatever that provides is what will happen.
Yeah. Unfortunately electromagnetic units as you may or may not.
Yeah.
Know. Right. Have this problem that it really does. You know. None of these constants are really real physical things. They've got four pies around, you know. It's a mess.
I'll speak with Michael about this and see what we can do.
What does that mean? What's this PI over two? Ah, that is.
This, that is exactly what you.
Yeah, that's not great. I mean, wouldn't. Shouldn't the default use some kind of. Shouldn't the default use a quantity object there instead of. I don't think seeing PI over. I didn't even know there was a 2.5 million in that. I, I think seeing that is really bad. I think that should say Epsilon 0. What a mu 0, whatever it is.
Okay, that can be changed.
I mean, if you say mu0, does it stay as mu0 or does it. Does it. It.
Probably, yeah. Well, probably it would be converted because right now we can't really deal with. With the units. With this particular thing with the units and nd solve.
I don't know what you're going to do about this. I mean, maybe, maybe you need to put in a special case where it's really not acceptable to have the thing spray, you know, numbers out. I mean, you know, as somebody who's MU0 is a personal friend, so to speak, I would never recognize it in that form.
I'll see what I can do about it.
Yeah, I mean, maybe you just have to special case that. That unit or something.
In worst case, that's what I'll do. Yeah.
Okay, fine. All right, So this default one is some kind of unit magnetic flux line thing or what?
Yeah, so if you scroll up a bit in the nodes, there is a section that specifies what default values we use. So they're just there where your mouse is. Oh, sorry. Just a little below the list there. So there we have all default values that we use and there is also the vacuum permeability. That's mu0.
Okay, fine. Okay, obviously magnetostatic needs to be a spelling word. You've probably dealt with that. Have you dealt with that?
Are you okay with magnetostatic as a single word? We. I've requested it so many times and nothing happened, but if you're okay with it, I'll. I'll push further.
Why are. What. What did they say?
Nothing, they don't reply.
What do you mean they don't reply?
Well, if I send this to tspelling, we want this added. Sometimes it happens and sometimes it doesn't. In this case, it didn't happen.
Okay, so who's project managing here? Oh, yeah. Okay, so can you please make sure that you understand it how that's supposed to work? Right. I think DQA is managing the spelling dictionaries, so. And can you also find out why they're not Responding to Oliver. Sure, sure. Yeah, I can do that. Okay. I wish we didn't have to have such long, you know, blurbs here. This is going to cause us trouble.
I'll try to shorten it.
I mean, we really need to follow. You know, we're trying to follow single sentence, colon at the end.
I know, I know.
So, but I need to really try.
That because context comes from.
Yeah, I understand that it's useful to have context, but you can probably shorten it and, you know, I have no idea what the implications of changing the format are. You know, these things are now getting consumed by AIs as well as humans and, you know, so, I don't know, maybe the AIs don't care. They're so sloppy anyway, it doesn't really matter to them.
I mean, the rule we follow is that everywhere it's single sentence, except in the applications where we allow.
Well, this is example section, right? I know, it's basic.
It is, yeah.
Yeah.
So.
Really, do we have to give a plot range here? Really, really, really. I don't understand this. You don't have to say image size tiny. You can just resize it here interactively. You get what I'm saying?
Yeah.
You're always allowed to do that. That's part of our rules. Okay. It doesn't have to. In other words, just. Roger. I mean, I assume this is in your style guidelines. I mean, basically the actual size on the page.
We didn't spend a lot of. We didn't spend any time on the applic. On the examples. We spent time.
All right, so, Okay, so the first elements here are.
The dependent variable, the vector potential. Sorry, the.
No, no. B field. Not the A field. The B field. Right, the. The B field as in magnetic field, not the vector potential.
No, no, no. This. This is like a magnetostatic case. So this is a magnetic potential.
Hold on.
Look at the equation in the notes.
Yeah, go back up soon.
Stop there. Which one?
The first one is fine.
I don't have a clue what this is. Wait a minute. Magnetization is a B field. Yes.
Yes.
The vector potential, the A field.
This is the scalar. The dependent variable is a scalar. We're looking at magnetic fields in the next notebook. So this is really. This is the scalar version. It doesn't.
It doesn't. I'm very confused.
Bring up the. The next one too. Just for, you know, put them side by side.
What is the next 1?
Magnetic PDE component. As opposed to magnetostatic. No, no, no, no. Magnetic pd. Come. That One.
Yeah, maybe there's some very basic physics I don't know here. Tell me what the. What is the quantity that you are looking at in magnetostatics here?
The magnetic potential.
How is that defined?
Sebastian?
Yeah, so in magnetostatic, we have the magnetic scalar potential and it's defined by the magnetic field intensity equals. The gradient of this scalar is really, really similar to an electrostatic cases.
Okay, and under what circumstances? Wait a minute.
If the. Thing.
I don't understand it. If it has a. A curl that doesn't work anymore, Right. Or am I wrong? What, what. What's the condition?
This doesn't. Doesn't have a curl, then magnetic PD component has the curl. That's the equation you're talking about. That's what we're going to talk about in the magnetic PD component.
Okay.
If you scroll down in the magnetic PD component, you'll see the curl.
Okay. All right. But. But in this scenario here.
Yeah.
That the.
The difference is purely as the gradient of a. Of a. Of a scalar field.
Correct. We can make the simplification because in this case we don't consider any currents. And with the magnetic PD component, we consider current. And then things become more complicated. This is really a special case.
This is a special case for permanent magnets.
Absolutely. That's it. That's it.
Okay. All right. Yeah, I've actually never studied those too much. Okay. Formatting glitches here. Okay. That picture is kind of upscale, very obscure. Okay. I am pretty confused about the units implications of having these. You got to ask Michael this. This is really subtle and complicated.
I'll speak with Michael. Absolutely.
I mean, I. My guess is there's another parameter that you need to have which is some kind of rationalization, whatever it is thing.
Okay. I'll review these pages again with Michael to see what he. What he has to say about that specifically.
Okay, that's a horror. I'm going to ignore that horror.
You see, now, it's a system.
I do. But now what is so A? Here is the vector potential. Is that correct?
Correct.
Right.
And why is this not just a B field?
So in order to make efficient computations, it's useful to convert this to this vector potential because then we can reduce this type of equations to diffusion type equations which we can efficiently solve.
But what I would like to type in is. Okay, let me give you an example, which really has got to flow properly. Okay. There's a magnetic field. How do I get it in? See what I'm saying? Yeah. Now, I mean that right? This may not be the best form of it. There may be some other form that geomagnetic model data can generate, but in the end it's kind of magnetic field in teslas, right? Correct. That's. You know, I don't know why is.
Is a background magnetic field. Right.
I don't know. There's a thing for. For. For Felipe. I don't understand why it's a nanotesla rather than micro tesla given that it's so big. But that's just a minor point. Y. Okay, so this is a field. Yes, it's a background field. Right. But it's also is a magnetic field and it shouldn't be the case that it's like a. An epic journey to convert it to the form that we need to use it here.
Yeah, agreed. And I'll look into that and see how we can do that.
Okay, but I mean, so the goal I'm. I'm concerned about, the vector potential isn't the thing you want to start from much of the time. You know, the thing you measure. Okay. The other thing is on your phone you have a magnetometer. Yeah, I can speculate. Right. We have never finished this client value design that returns results from a magnetometer. But however one imagines those results get returned, it should be easy to plug them in here. But those results are going to be B fields. See what I'm saying?
Y.
So I mean, I kind of think you need a version of this that is vector potential version and a magnetic field version.
Right. I look into how. How to. To do that.
Okay, fine. The.
Now.
External current. Why the external current? So this is. This is being given as what amounts to a boundary condition, right? Correct.
The current.
No, no, the whole. This whole thing.
Yes. Right. So this is equal to some kind of a boundary condition then. Yeah. Though. Yeah. For these. For these type equations, we can only specify a magnetic potential condition.
Then why are you giving all that stuff there with electric current?
So maybe I'm misunderstanding you. Those are the components of the PD operator that you can specify.
Okay, but what is external current? So this thing is as a function of position. This is telling you in this case the A field. But it could be the B field.
Yes.
What is external current? So external current is a JJ.
Yeah.
That is at that point. The point there's an external about it. At a particular XY coordinate there is a J value.
Right.
So there's nothing external.
External in that sense means that this is an. Is a current that's not produced by the B field itself. It's a current that is coming from somewhere else, basically. Is that correct, Sebastian?
Yeah, it's a current that you use to excite to your coil. For example, you apply one ampere to your coil that. We mean with external current. Obviously there are currents generated inside the coil.
And using just the word current would be somewhat confusing because it's more like a source speed.
It's source.
Source. Yeah. Yeah. Source current. Maybe that might be. Might you can change that if they source better.
I think that makes more sense, probably. This is a PDE component. You talk about the source term in the pde.
Yes. Very, very reasonable.
Okay, So I don't quite understand the use of the region symmetry thing. I mean, I know it's. It's. If I give that region symmetry and I give the value only for some part of. Let's say it's circularly symmetric, for example, axisymmetric there, and I give it. What do I do? I give the actual value.
No, that's not really how it works. So the thing is that if you have symmetries, you can reduce the size of the geometry and that's the boundary condition you'd specify at the symmetry. So it takes care of you to specify whatever boundary condition is needed at the symmetry. Boundary condition. But.
So in other words, in the axis symmetric case, if I just specified it at theta equals zero, it will automatically extend to all other theta values. Is that true?
There is only one theta value at that boundary.
I thought it was a cylinder or something. A cylinder has many theta values, but it's just like. It doesn't matter which one you pick, because they're all the same. Why am I confused?
So at the axis of symmetry, at R equals.
Oh, not at the axis. Not at the axis. I'm talking about at the. At the cylinder itself. That's distance R away from the axis. Where are you spec.
But there. But there you don't have a symmetry condition. The symmetry condition is only at R equals zero.
Okay, I don't quite understand the. How this works then. I mean, I thought it was a way to specify less parameters in the equation because the others are related by symmetry.
Sebastian, do you have any comment on this?
No. Axisymmetric is just a way to model. For example, instead of solving the 3D model, just solve.
I got it. I know what the point is. I'm trying to understand what the meaning of it really is.
It's. It's a way to generate the correct boundary condition at this. At the axis of symmetry.
Okay, but you have to specify less information when it is symmetric. Oh, okay. You guys need to understand this. Roger, do you understand this?
Yeah, I thought it was that we specify like a quarter.
You know what I was saying? Which is you specify one member of the equivalence condition. The equivalent set.
Exactly. Do you have an example there, Sebastian.
In the ref pages? Not.
Okay, okay, so you guys need to understand this, right? Is it the case, as Roger and I think that this, that when you specified that symmetry, you need to give only one member of the equivalence class, that is the, you know, the current or the. The. The scalar potential at this, you know, a theta equals zero is blah. And then if it's axisymmetric, theta Bengals PI over 7, it's also blah. Right? That's my understanding, Roger. Is that your understanding as well?
Yeah.
We can discuss it then, Roger.
Yeah, let's do that.
Okay. All right, so let's take a look at the other pieces of the soul story. Okay. Okay. I don't understand this. Don't understand that at all. What is this? You say what this is?
We should. Yeah, sure.
What does that mean? What does that mean?
It means there is no flux over that edge. There is no.
Yeah, but why is it called a symmetry boundary?
If you want, Stephen, you can look at the illustration of magnetostatic. There I have a permanent magnet. And there you can see that there is a symmetry in the other one, magnetostatic. Instead of solving the whole domain, you can only simulate how.
I understand. Yeah, there's something wrong here. This isn't right. You've got two different ways of specifying symmetry. It's not clear how you're reducing the number of degrees of freedom. I understand that this has, you know, as a practical matter, you don't need to solve both sides. Roger, I suggest that you look at this, okay? And then we'll talk about it again.
I will.
Okay. This doesn't seem right to me.
I. I actually honed in on it when we. When we did review, but I. I'll, you know, let's go back and let's see if we can make it very crisp.
Okay. How do I get to this monograph?
I don't know how to get to it during, you know, in production builds, but we don't have.
So I've asked that the documentation be installed. So you should be able to paste this into the browser in the prototype browser. And you should see this. Magnetic Magnetostatics for Permanent Magnets. And it should give you the monograph.
Yeah. Huh? Nice. Okay. My God. Okay.
Oh, and by the way, talking about the. The monographs, so we are about 80% through having them DQA checked. So we'll work.
Remember, we got to get rid of this. This goes. This cannot be there. We go through this like four times.
We're working on that.
And that Neumann boundary and get rid of nonsense here.
Yeah, so we've discussed that.
We just need to have new functions basically instead of those internal context functions. And the first one is you can either put them in the function repository. We've talked about this. Yeah. Or you can surface them properly. What I think you should do.
We're working on it. Yeah.
At the very least put them in the function repository. There's no change to these document this documentation other than you don't have this dependency. Yes. Right. And get rid of this. Just get rid of it. I don't know why it's still here. Why is it still here?
There is no equivalence to setting dollar history equal length. Dollar history length to zero for what I need and we've discussed this before and the people that had this, followed this discussion said there is no other way to do it.
Really? You were supposed to get back to me if that was what you heard. You get rid of this.
You were in that discussion also. I'm assuming that you got all the information.
No, I did not get the information. You need to get rid of this. So make sure. Okay. Why don't you send a separate piece of email and explain what was going on?
Yep, I'll do that.
Yeah, I want to see that gone. Which team do you think had things to say about this?
So there were Mark Soron, Itai and people like that were on that.
No, they were not relevant people.
Okay.
Roger, have you looked into this?
No, there was. You brought it up last time and there was a long follow up discussion.
And I didn't follow it. Okay, well, it needs to go. In other words, if that's a problem that we have 35 years into our product, if we still can't deal with the memory usage that we're generating, there's something wrong.
I'll bring it up again. Yeah, sure.
Okay, make sure. So as far as I'm concerned, I need to see that gone.
Okay.
If it's not going to be gone, you must explicitly get back to me and explain why.
Okay, Right, sure.
Why are these things look like look so terrible here?
Can we please make a note for Brett? Yeah, thank you.
Yep, I can do that. I mean that's some silliness to do with the way the right justification, whatever else here. The functionality looks beautiful. Oh for God's Sake.
No, yeah, yeah, yep, got it.
When are we getting units in here? Because what do you do in modeling.
The geometry part to accept units? So if I.
Where are we at with that?
So it's not in 14.2, but so we now having regular meetings between, like, Charles and Oliver, so. Between the fem team and geometry team.
Yeah.
And this is one. This is kind of a whole list of things to work on, and units being one of them. Our plan is to include units. If it's a composite object, like a mesh object, it can have it there as an annotation.
Yeah, that's what I would.
If it's region, we can otherwise use region wrapper because, like, disk itself, you know, where the heck are you going to put the units? But the region wrapper can have it. That was the intent from the beginning. We just haven't done it yet, so.
Well, a disk, you know, the radius could have units.
Yeah, well, but we need to get rid of them because the rest of the system is not prepared for that.
I understand that. So I think it should be the same thing that we're doing with like a tabular or something like that, where you have, you know, or a quantity array, for that matter, where there's a little, you know, generic array thing inside.
Yeah, well, okay, we. Our intent is to have region wrapper.
To be the more complete object. Right. I don't think that will ultimately be the right solution. I think ultimately we need to just get units in everywhere, so. Sorry, but. Sure. What's happening with those dashes there? Okay, this is super confusing because in the usual statement of these things, it will be. The divergence will be row over Epsilon 0, right? Oh, no, the D field. How does this work? The D field is epsilon times the E field, right?
Yeah.
Yeah.
So is this actually right, but no Epsilon 0 on the right hand side?
Yeah, that version of equation is right. But you can use divergence of E.
Yeah, okay, I get it. I get it. Come on, guys. Come on, come on, come on, come on. Well, I mean, if I might say so, this is kind of silly because spin, there is an intrinsic magnetic moment to something like an electron that has nothing to do with this phenomenon. See what I'm saying?
We'll check it.
Yeah, well, I mean, that's the way the physics works. It's just this is not he us. This is like, you know, elementary, typical, you know, electrical engineering textbook without physics. Right. So the point is. Yeah. I mean, it's not horrifying, but it's just like, blah.
Yeah, I Know that they use it an analogy to use currents to describe the effects of the spins on orbiting electrons.
Well, the orbiting electrons is a different thing. That's a little bit more legitimate. The spin is not legitimate. It has, it has no known connection to any current whatsoever. I mean, a little bit more in a proton. But an electronic. So far as anybody knows, I think it's probably not correct. But as far as anybody knows, it has nothing to do with the current. Just like a spinning black hole has nothing. There's nothing intrinsically spinning about it. It makes things around it spin. But that's a different issue. Anyway, that's our physics moment. Lovely. I mean, I don't quite understand.
Yeah. So this is a hab cure. So it is how you magnetize a material and.
I know, I know, I know. I mean, at some temperature below the Curie point.
Yeah.
You've got, you've got a bunch of randomization here that is representing the analog of temperature. Right. Presumably below the cury point. Because above the Curie point, you can't magnetize it. Yeah, right. So one thing that's a little bit confusing to me is, I mean, okay, let's get some reviews of this. I mean, this looks great in general. It's just, let's avoid things which are, you know, where you understand my point that this.
Yeah. Do you have somebody specific in mind that you want this to review?
There probably some outside people who would be good people to review this.
I'll find someone.
I, I would say that there are two different reviews that will be useful to have physicist and an electrical engineer because they're going to be looking for different things and they're going to expect different things. As a chat. Bruno, we could point you to who's written. Been writing a book about particle accelerators, tech, who. Who knows magnetostatics. Well, I know, well, whatever you need for the magnets and the particle accelerator, Bruno. But it's always asking people to review things. Always tricky because you have to find. You have to set it up in such a way that they don't think, oh, yeah, they'll fix that later. Or they must know that type thing. See what I'm saying? It's like, it's really. It's more like, you know, the person who's used to grading, you know, college papers or something. It's like, you know, don't assume the person understands something. They might have made a goofy mistake. See what I'm saying? Not saying that you have. I'm just saying that.
Yeah, I got it. Yeah, yeah.
Sure. It's a little bit. I mean, as I read through this, it's a little repetitive. Like, it seems to have the same pictures over and over again. I. I don't know quite why that's happening. Why is that happening?
So sometimes we do an overview, give an introduction, and then we'll do the same thing again in more depth.
For example, I've seen that picture four or five times going through this document, haven't I?
I think you've seen it in one of the ref pages.
No, I've seen it in this document. One, Two. All right, you're right. I exaggerated.
So it's two and the other ones are in the ref pages.
Yeah, that's fine. Okay. Looks great. Good. What's this?
That is one of the functions we're working on to get into system context.
How many are there?
I'd say about 10, maybe.
That looks like an empty function. I mean, the others should go in the system.
This is actually the function that we discussed in the ILD meeting. The function evaluate or the interpolation. That's kind of what it looks like now, but I'll change that.
Okay. Okay.
So that. Just as an FYI, that discontinuous interpolation. So we have material boundaries, like layered cake cakes. Yeah. And we. We didn't have to tackle discontinuities in the spatial domain for interpolating functions before.
I understand. But now we do, and, I mean, presumably that will be part of interpolation. Right? I mean, presumably it should be similar to the way that we do exclusions and plotting. Yes.
Yeah. So the way it works now is that we have regions that are aware of multiple domains, and we need a way to specify on a boundary between these two domains which part that boundary should belong to.
Okay.
So it's a bit. It's a bit. It's related, but a bit different than interpolation. I mean, of course it does interpolation, but the setup needs additional.
Did we already talk about this, or is this still.
No, no, no. We haven't. We haven't. This is. And this is still in FEM context, I admit it, but something we would want in system context.
Okay. I don't. Yeah, go ahead. Right, so there is a set of.
Things that are sort of slowly evolving. So in this case, you have sort of piecewise constant material inside of a region.
Yep.
One could imagine, too, in the future that you have, you know, grade, you know, graded material, something that varies continuously.
Yep.
Then you have effectively, like a whole field over the region.
Yep.
We're not there yet. But, you know, we've anticipated that we're going to need it in some.
Yeah, I mean, like, for example, a refractive index or something of a material can vary continuously with position. Yeah, right.
So we don't really have, you know, we're using simpler ways of modeling it now over time. I think that that's where we're going to end up. We've anticipated it, but you don't kind of want to develop it before you.
Need it because it's indeed because the variation with position of material properties, which is what we're talking about primarily. Exactly.
Yeah.
And also thing that came up when we do this, I'm sure you're aware, our electromagnetic material properties are not great, apparently.
So typically in other PD models we can specify material goes to, I don't know, copper. But we can't really do that here because the entities for the materials don't really have enough.
I mean, they must do for the common ones. But.
And we, we filed a bug report or something about that.
So there's a complicated thing because like, for example, you know, there's a lot of dependency. Like, for example, if the material is heated above the curie point, it ain't going to ferromagnetize.
Right, right.
And so it's more like what we have with thermodynamic properties where it's like, what's the density of water? Well, it depends on the pressure, it depends on the temperature.
So I assume at some point we'll need a bit more of an elaborated material database.
But I mean, like we have, I mean, we have very elaborated stuff for thermodynamics which you're using, correct?
Yeah, exactly. But we don't have that for other material.
Like, I mean, what happens in your heat flow stuff. I mean, are you using thermodynamic data to the point where you could see kind of condensation happening in the, you know, you've got something with steam.
We've got one example where we did that condensation, like dew condensers for water. That's what we simulated. And there, there we did see that.
But so that's a model. So thermodynamic data is a model for the way that we could do more elaborate magnetic and so on material properties.
Yeah, yeah, absolutely. And that's another point where the discontinuous interpolating function could come in handy because then you can piece together various regions of this set of properties that material can have into one interpolating function.
But that's needed for implementation. But I don't understand why that's needed for. Because I mean a material, it is what it is if it has a certain temperature, if it has a certain, you know, magnetic. Well, I mean the magnetic field thing is complicated because there's a hysteresis of, you know, oh, there was. It was magnetized at some point in the past type thing.
Yeah. So there is good reason why there is no material goes to copper. Possibility in. For. For magnetic stuff. Yeah.
Well, I think. Right. I mean, yeah, this is tricky. I'm going to have to go soon. So let's. Solid mechanics.
So this. So solid mechanics. We're still working on the plasticity. We have a working code but it's a bit too slow. So we still want to work on it for another version to polish it up. And fluid.
I think I mentioned that last time. But with plasticity we kind of need something that's a little bit like one event where you need to know that you reach that.
Breaking point.
Well, I mean where it goes plastic. Where it goes like a fluid type.
Thing starts to flow.
Right. And.
Yeah.
What is that called? What is the plastic? There must be some stress level at which you get plastic deformation.
Yeah. The yield criterion.
Oh, yield. Yeah.
Yield. Yeah.
Right.
Yield strength. Right.
Yeah.
So I mean we have yield strengths for lots of materials, right?
Yeah, yeah.
That's not a good sign. What is? What. Why would we not have that?
Maybe you should. Well, tensile yield strength. Tensile yield strengths or something like that. Maybe that.
That would help. Yeah. That's bad. Can you report that, please? Yes, I can. That's uninspired. But at least it knows what it is. What would it.
I mean, we should have this for copper.
I would have thought we should have it for copper. I am where.
I mean, I.
No. Well, it's good to drive the material data. That's really odd.
It's.
It's good to drive that with actual use cases here. All right.
Can you give me a one or two sentence opinion on what would you think about having something like a dollar standard condition?
Like standard temperature and pressure.
Yeah. Or specific sets. Yeah. I mean maybe even. Yeah. Like a GE$, geolocation. Like a dollar standard.
I think it's a good idea. I don't know whether that's the right name for it, but I think.
Yeah, I got it. Yeah, sure, sure, sure.
But I mean you're talking 20 degrees centigrade.
Yeah, whatever.
Yeah.
So that's something that you can set actually.
So zero magnetic field probably. Or maybe it may be some.
Or whatever. Whatever. Whatever the standard condition for. I mean, you could have like specific standard conditions. Named standard conditions. And cook up your own if you wanted to, I guess. And that could be used as a background information for material data.
Okay, but standard conditions thing. I mean, the fact is, some stuff we really do know based on geoposition. So, for example, we know the acceleration due to gravity. We know. We know the. The we can compute. I mean, for a given time, we can compute. We know the air pressure, for example. Right. So, I mean, there is the generic standard of. Oh, it's, you know, one atmosphere, 20 degrees centigrade. And there's the more specific standard, which is, you know, you're in Denver. It's. It's not one exactly one atmosphere type thing.
I mean, you might want to do two different with.
You broke up. Yeah. Hello.
Want to do something that's reproducible in the lab and give me standard conditions for this and that setup?
No, I think the idea of sound condition is a good idea. Very good idea. There's probably some thought to do with the geo aspect of it and so on, but. Yes. Okay. I think I should run off. Unless there's something very quick for me to look at here.
Okay, thanks.
Oh, okay. Good stuff. See you all soon.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






