Live CEOing Ep 740: Language Design Review of Numerics Features for 14.0

A design-review transcript (Wolfram Language v14 numerics) led by Stephen Wolfram with Oliver Ruebenkoenig, Michael Trott, and Roger Germundsson. Topics covered: new PDE/PD model functionality for solid mechanics (hyperelastic material models, fibers, thermal effects), fluid mechanics (Navier–Stokes laminar component, boundary-condition naming and methods), electromagnetics (electrostatics, permittivity/permeability and documentation issues), and quantum mechanics (time-dependent Schrödinger examples, eigenproblems, bounded-domain approximations). System-level concerns include memory/history handling (DollarHistoryLength hack) and the need for better automatic differentiation and solver heuristics.
Chapters
Okay. Hello, everyone. We are in the middle of a season of design reviews for version 14, and I think today we actually have three design reviews, and this is our first one about numerics, so PDs. All right. So, Oliver.
Yeah?
Is there other new. I mean, okay, are there new functions here or. This is.
There are. So solid mechanics is just extension of the existing framework and fluid mechanics, electromagnetics and quantum mechanics are new functions.
So there's a. Okay, we've got a final element. We got this page, but that's not what we're talking about here.
No, that's correct. That's just for you.
Where's the guide page that shows new functions?
So there is a. I mean, there's a guide page for electromagnetics.
Okay, where is it?
So we have an overall guide page and then there's one for each domain, basically.
Okay. All right. Okay.
Yeah.
All right. Solid mechanics. All right, so you're saying I should pull this up?
You could if you want to. So this. So solid mechanics doesn't have any new functionality per se. It's got extended. Not a new design per se. It's got new functions or new models added.
That's a reference page, Steven.
Yeah, yeah.
And not a guide page.
Ah, well, where is the guide page?
We don't point to it here, but if you go that, that, that thing exists, if you just open that page, it will. You can click yourself to the guide page.
Okay, well, I mean.
Or if you want to open the source for that solid mechanics space, you need to go to the ref page and document.
I don't particularly. I'm just trying to understand.
Okay, so what's happened here is this very refined, you know, sub models for hyper elastic solid, you know, mechanics basically. So not typically metals or anything like that, but it's like for skin and.
Plastics, rubber, foams and stuff like that.
Composite material.
Yeah, composite materials.
The hell is that doing that? That should not be in documentation ever. Why is it there?
What exactly shouldn't be there?
The thing I just highlighted. Dollar history length equals zero.
Why shouldn't it be there?
It's a.
This is.
Has nothing to do with.
This is a monograph. It's not a. It's not a guide page.
I understand that.
And not a reference page.
Why are you. You've got to explain why you're doing that. What does that have to do with finite elements?
Okay, so it has to do.
Nothing to do with it.
Okay, I'll add a sentence to explain this in more detail. The reason it's there is that history Length tends to take up so much memory that the finite element models potentially wouldn't run. So I'll, I'll add a. A specific set.
Why don't we handle that in a different way?
If I'd be happy to hear a suggestion how to handle that?
Well, you should bring it up. I mean, look, if this is a.
Systematic problem, I didn't realize this is an issue, so why would I bring it up?
You shouldn't be doing hacking like this.
It's not hacking. It's a system function. Dollar history length.
I'm well aware. Yeah. We shouldn't be in 2023. We shouldn't be having to set that to zero. That was the thing that we invented in 1980.
No problem. Steven.
Two megabytes of memory. Why. Why do we really need to do that? Because there's so much stored.
Yes. These, these models can potentially take gigabytes of memory.
Okay. And we're storing them, but we don't want to set history length to zero.
Okay, I'll fix it.
Other parts of the system rely on that not being zero, and people were very confused. But, so what is the correct solution? Is the correct solution. What is the correct solution? I mean, do you need to keep around the versions of the models or not?
No, I don't.
Okay, so why then is it okay? How do we avoid that then? If it doesn't matter, you know, then we should have something where the thing that is the output, that is the giant model. Like, like, let me give an example. Okay. So for instance, okay, if I were to do, You know, range of a million. Okay, it's going to grind away. And notice that it says storeful expression in notebook. Right now. This thing, probably this thing is still in memory, but it certainly isn't in the notebook.
Yeah.
My question would be. Go ahead.
It's the memory that he's worried about, not the notebook.
I'm well aware. But my question is, when do you want to preserve it? When don't you want to preserve it?
I would never want to preserve it. Everything I want to preserve is stored in a variable. I never, never want to preserve anything.
How do you know it's stored in a variable?
Because I assign it to a variable.
Okay.
Everything that, that I need is assigned to a variable.
Otherwise, I think it's an interesting systems level thing that we could have something that says, basically don't assign the out labels if they're too big.
Yeah, yeah.
You know what I'm saying?
Yes, absolutely.
And I mean for your thing. I mean, it's something that just hasn't come up in 30 something years. This issue of know.
Oh, it does come up. I mean you, you must see tech support interaction where this is, this is still coming up, you know, from tech support regularly.
All right. Okay.
Well if you. Then we need to set it in a note. If you set it in a notebook, it's going to affect the rest of.
The session as well.
And people may get confused about that. So we need something else for that.
It's bad idea. That's why I said it's a bad idea. Right, Yeah, I agree.
Okay, so I suggest we. I got the point, I'll take care of it. Let's move on.
I understand that particular issue. I just want to think this through for one more minute. I mean, basically the point is, and we should bring this up probably in the LCC meeting series, something which is essentially a setting that says if, you know, if the, if the thing is too big in the pure outline, don't assign it to that outline. Don't kill history in the whole session. But just don't assign this particular out.
But that still has a problem because you still keep lots of stuff that's not larger than the quantity that you define. The if statement. I don't want any output. I don't want store anything.
I'm sorry, you do want to store something. You want to store the thing that you set to a variable.
Exactly. That's exactly, that's all I want.
The only thing that. Right, but. But the thing that is the problem is the stuff that has been bound to out 17 or something because that is why it isn't removed. The only thing is the hook that is binding it to these out numbers. Right. And if you don't care about storing those. Yes. Then that's the thing to do is, is when it is too big to store, you know, when you want to save memory by not assigning the out number rather than blowing up the whole history. Yeah, right. Okay. That's the place to attack it and I think it's perfectly good idea. I'm just, I'm sort of surprised I haven't heard it in three decades. But I understand your point.
Okay, good.
Let's, let's. I mean. Okay, now let me look at some actual content here.
So what you're seeing here is a collection of hyper elastic material models that are described with their accompanying theory.
Okay, so I mean in this case here, let me just understand this. You know, I would have thought the design of this would more look like the model name and Then an association hanging off the model name somehow that gave the parameters of the model. What you have here is something where you have a model and then parameters but those keys will be different for different models. Is that not true in.
In some, in some models. So a lame parameter and shear modulus is something you could very well specify for a different material model.
Those work for almost everything. But if you have some weird extra, you know, laminar.
Right. Then then they are also in a flat list. But if you prefer a deeper list nest. I don't know.
I don't know. I don't know. I mean I'm just. I didn't raising that at a point for me.
So the, so one, one advantage of the. Well, yeah, so it's probably both models would work fine.
Well, I think that insofar as something is shareable between different material model categories, it's better to have them in this flat list.
Yeah, I agree.
I don't understand this. This seems hackery. I mean again, whenever there's hackery we need to be, you know, trying to figure out how to avoid whatever. Okay, let's take a look at this. So I. It's.
I mean we could spend a lot of time on this, Stephen.
It's.
All, it's that explains how to add your own material model. So because these hyper elastic models are very different for. Very different for different applications, people usually want to make their own models for a specific situation.
I'm complaining about this kind of stuff here that weird, you know, why does it need to be some weird thing like this? Why is this not just some generic.
You know, thing you're looking at the lower level programmatic sort of interfaces as opposed to the. The more sort of use. Ready to use. No, I understand for advanced. So there's a whole.
So the thing is, the thing with these, why they're in a PD models context is very simple that we are still developing the PDE model framework. And before I expose too many functions to system level or to whatever context, it's rather, let's rather. Especially for these super specialized functions, let's rather keep them in the context.
Well, whatever. I mean, why is there a print statement? I mean print statements again went the way of the dodo decades ago.
Yes. So this is basically it's like a hello World program for material models. And for decades ago we used to have a print hello World as a statement of a first program that you've written. And this is the first program you could write for a hyper elastic material model.
So.
So it's in a. It's a homage on. On to. To the old days of programming.
I mean and this is a bad way to do this and we should be using Lookup now if data is a. As an association, which I assume that it is, yeah, you should use lookup more robust than this.
Okay.
It does the right thing when it isn't there and so on. I'm just such a terrible person to give these demos too. I'm sorry. I mean, Yeah, it's complicated stuff. I recognize this. I mean, I don't quite understand what. You know, it would be helpful to me, but it might not be helpful to anybody who's a specialist in this stuff. What is all this stuff?
So we had one, one customer, they wanted to model the hyper elastic extension of seedlings under the temperature change with global warming. And for those they need hyper elastic models with which have thermal expansion capabilities. So that's the type of things people do with this.
Great.
Yeah.
But to me it would be helpful to have a sort of a map of all these various different funky models. I mean again, I'm not sure it would help specialists, but just to give some sense of what, you know, the traditional Young's modulus, you know, then a little bit of lame parameters and then, then you go very wild with all these kinds of equivalents of, you know.
I mean, in a way the hyper elastic material model is part two of the structural or solid mechanics stuff. So there is a solid mechanics monograph that explains the basics, the linear type of the theory for it. So this is already. You're already looking at pretty advanced stuff.
I. You've already gone wild.
Yeah, we are in the wild wild area now.
Why is there an introduction that's way in the middle of the whole thing?
That's probably a mistake.
Seems like a bug. There's a lot of work obviously in all of.
And maybe to just add something is. So the last thing you've seen there down there is we've now actually also added capabilities a little further down capabilities to add fibers to the material. So if you have like a concrete that's reinforced with steel, we can model this type of stuff now. So if you have fibers embedded into a material matrix that's quite sophisticated already, even pre stressed, you could even prestress it. Yes. So if you want to build a concrete bridge that's pre stressed, you could do it.
That's cool. So just to give me some sense, I mean, how close to the end are we here, so to speak? I mean, in other words, do we have at this point, if I looked at the textbooks and so on.
Yeah. So there's two parts to this. So from the theory point of view, I think we've covered quite a bit what we're. The last thing that we're now finishing off is the hyper elastic, the thermal hyper elastic type of stuff. And that's probably as far as I'd take it for now. From a Mathematica or Wolfram language point of view, there is two things that we should do. So the one thing is to define these models, we need something that's called an energy density function. And that expression needs to be. You need to take the derivative with respect to a tensor of this thing. And that's something that's a bit complicated to do now in the Wolfram language. So that's the one thing we should improve on because we're doing that soon and that's on the agenda. Yes, so that's the one thing. And the other thing is because when we solve these things with the finite element solver, we need to take another derivative of these expressions. They become huge and potentially very expensive to evaluate. One way to remedy that would be to use automatic differentiation. So that, that's, that's the two things in that direction for hyper elasticity, the other thing. So that, that's.
It will be good to. I mean, we, we need a better framework in general for automatic differentiation.
Yes, probably.
Yes. Yeah, yeah, yeah.
And I don't know how programmatic these things get. Do they have more than if statements? I mean, what level of.
So the complicated thing is not so much the if statements, it's really, it's finding the derivatives of the, of these energy density functions. That is really complicated.
But these are not algebraic functions. These are some kind of program.
No, they are, but they have matrix variables and you have to differentiate with respect to those matrix variables.
Right.
So you get like a derivative of an inverse and stuff like that.
So it is something beyond algebraic. So the derivative of a matrix inverse, for example. Yeah, yeah, yeah, yeah.
That's what, that's, that's what. I need you to pursue this further.
Basically, we're doing that in calculus and algebra.
So that's something that's happening.
All of these things are differentiable. Yeah, like that trace of C squared and you know.
Yes, stuff like that.
All of that's all differentiable.
Yeah.
You know, I have no idea what the correspondence is between these kinds of things and corresponding features of space time. I don't know whether they. Probably a lot of these exist there. I don't Know whether.
Yeah, but it's. It's not. I mean, so. So the people that need sort of being able to differentiate with respect to vectors and matrices and potentially higher rank arrays, it's like in machine learning, it's in statistics, in optimization. And this, you know, areas like this, signal processing, control theory, a lot of areas are using basically matrix.
All right, so anything else I should particularly look at here?
No, I think that's good for now. Yeah. Yeah. It's everywhere, Steven. I got the point. So one thing why this is cool in the Wolfram language is if you want to use these models, you either need the material or the model parameters from either a paper. But typically you'll get them from experimental data. And doing the fit and then using this data in the model is super easy in the Wolfram language. I think that that's a huge plus compared to other commercial finite element solvers, because, I mean, it's like find fit is so trivial and you can directly use the result from find fit in the model. I think that's pretty good.
By the way. Another picky point.
Yeah, go ahead.
I just magnified this thing and the formulas didn't magnify. That's bad.
Yeah. Is. Is someone PMing this? Maybe that. Because that's certainly a thing for the front end. Maybe.
I will.
I will share that.
Okay. Thank you.
Yes. Yeah. It's ought to be nice if it was possible. You know, this is such a common thing. Slash, dot, whatever. I don't know. I mean, something. We. We maybe should have a discussion at some point about whether we can modernize that approach using something more like lookup here, apply solution or something. Or apply. All right, I should. Let's go on. I mean, I. I'd love to learn more about solid mechanics, but. But I don't think this is probably.
It takes. I mean, I don't understand all that. I. You know, two years ago when we started, I knew I really didn't understand it. And then gradually we spent more time on it, but it's like you have to really dig in, actually.
Yeah, this is. I think it's probably the most complicated PD modeling that I've done so far. Solid hyper elastic material models is complicated.
Right. But I mean, in a sense, I mean, it's kind of like, well, okay, I mean, we've got stress and strain. I mean, in the end, are you computing stress and strain or are you computing and. But then. But it's just very complicated to do that and the relationship between stress and strain is complicated and so on Is that. Is that right?
The models are complicated and there are modern approaches that try to simplify this because, I mean, keeping track of all these different forms of stresses and strains is just a nightmare.
I'm just trying to understand the bottom line is you've got a stress and you want to compute a strain. Is that right? Is that the other way around?
So you've got a energy density, basically, and from that you want to compute the deformation, and from the deformation you compute the strain and then the stress.
Wait a minute. I thought stress was the internal forces and strain was the, Was the deformation. Am I wrong?
So think about it. So stress and strain are related by the material properties, so to speak. Yeah, yeah, good.
That's what I'm trying to understand. I'm trying to understand. In the end, if we wanted to have a master function that would work for every material, does it just say essentially, you know, strain tensor equals function of stress tensor, or is it something different?
It's. No, it's. It's. Strain tensor is function of deformation and stress tensor is function of strain tensor and deformation.
Oh, so there's a separate. I thought the strain was the deformation. What's the.
It's. It's. It's related to the deformation. Yes. Yeah. What's a maybe. Maybe. Maybe. If. Okay. If you, if you, if you want to. Well, yeah, if we, if we say that this is. Yeah, okay. Then you could say. Say it the way you, you, you, you propose. Yeah.
Okay, but. So, so then what we've got is.
Well, what we solve for all the time is displacement.
Yeah, Definition. I understand, I understand. But in the end, the master function is. And it depends on position, etc. Etc. Etc. Is, you know, deformation, SL. Strain equals some function that depends on the material of stresses, but it's still assumed to be a local function. Is that true? That is, if you know the infinitesimal stress at a particular point, then you know the strain at that point. Is that true or is that not true? Or does it.
Right.
Is it more global?
Don't think I've seen a model where it's not local.
Okay. Even when you've got, you know, weird pre stressed concrete fibers and things in your.
Yeah, well, that. Those are basically that. Then you just rotate the local components so that they work in a normal XYZ coordinate system.
But the end result is it is a local function. So it says strain tensor equals function of stress tensor for positions. Xyz.
Okay. Yeah.
Yeah.
So I don't understand why all of this stuff. I mean, if I look at one of these random models.
Yeah.
So where am I seeing the actual pde?
Just scroll down somewhere further down. So you're looking for the W capital W. That's the strain energy density function. There is one. So there is one. So neohooken. So C1I1 minus three. A little. Yeah, that's the same.
Those things are in fact functions of X, Y and Z. Is that not correct?
They're functions of the deformation gradient. And that is a function of the displacement. And that is a function of xyz. Yes.
Okay.
Ultimately, yes.
Which is a bit confusing here. Most of the time in the system, when something is a function, like in a pde, we say it, we show it as a function.
You'll see that if you evaluate the this, the solid mechanics PDE component, then you'll get all the stuff resolved and it's incredibly complicated.
Okay, I understand that, but I mean, where is a picture that. Sorry, where is it? Actually solving a pde, I'm trying to look for that to element mesh. It's got elements. But where's that. Where does it say solve the freaking pde?
So it's. We're looking. So there is a parametric unsolved. That's just where the thing is generated.
I see. Okay. This doesn't look too bad.
I think this is pretty good. I think.
Yeah, I think it's quite good too.
Because I mean, expressing something complicated like this. I mean basically it's just the two lines there. You have the material neo hook and isotropic and the fitted material data and.
Yeah, that's it. Pretty reasonable, right? I mean.
I want to get more slack out of this.
Yeah. Okay. Okay. It's. No, it's impressive.
Good. Thank you.
It is, it really is. So this here, Where was fit Neo hook in somewhere up here. All right, so this is all preparation.
Of this is making a different model. So this is a Ghent model. It's a different type of model. So in this notebook you're looking at, we're comparing all hyper elastic material models. We have. We generate some random or semi random or like, like we said, we generate some input, like experimental data and we fit all models to that to show the differences and to show how this fitting process works.
Okay, I understand. So just to give a comparison, I mean like for example, for, I don't know, Fong shading, Goroux shading, all these kinds of material properties with respect to light, we've sort of, you know, that seems very similar to this in terms of its sort of actually yeah, so.
We did something much more detailed there, which is called PBR or physically based rendering. And that is, that goes like far beyond Goro and Phong and so on. But nevertheless, it's sort of this kind of, you know, approximation of components.
Okay, but so I'm asking the infrastructure that we have for physically based rendering versus the infrastructure we have for fem, is it similar? Is it not similar? Like, if I'm going to describe a.
I don't think it's similar. So my understand for the physical based rendering is, and that's my limited understanding is even though it's called physical based rendering, they still try to mimic the appearance of materials. Here we are actually trying to really compute the exact solution. I mean, numerically exact solution.
I guess I get it. That's not the level that I'm asking it at. What I'm asking is, you know, when we have, I don't know, some kind of shader thing, shading, material property for, you know, something. I don't know what, what's, what's the function that we're using for that? Roger.
Material shading. Actually they all. Well, the material shading is the main. Okay, but there's a, there is a, there is an, A monograph for it that sort of goes into detail to explain.
Okay, so here we've got things like, you know, metallic coefficient, roughness coefficient, etc. Etc. Etc. So what I'm asking here is as we get down into the details of those. Gosh, I can't believe there's enough examples here. Cannot believe it. Okay, I'm just trying to understand, you know, again, we've got these particular properties that we are calling out in some way here. And I'm just trying to understand what. The analogy between that and what we're doing for I, I understand that this is just make the right picture as opposed to. Yeah, compute the pde. I got that point.
I mean, maybe, maybe solid mechanics is not the right PDE field. Maybe things like electromagnetics would be more suitable or quantum mechanics even for how, how properties appear, how material appear and.
Stuff like that, you know, I'm not talking about that. I'm not talking about the what comes out. I'm talking merely about the software bureaucracy of what's going on. Okay, we have a thing here called material shading and it has an association with a bunch of properties. Okay, you have a thing called solid mechanics. Component.
PD component.
Yeah. No, Right, Okay. And it has a bunch of parameters here which presumably are sort of like these parameters here, right? Yes, I'm asking whether the, whether the bureaucracy of these things are similar. Do you get what I'm saying?
I think it is roughly the goals are a little bit different.
The reason it matters that they're similar is, you know, we're going to have various kinds of, you know, we do have various kinds of management functions for dealing with these kinds of things. Whether it's, you know, merging associations, whether it's lookup, the lookup function, whatever else. And you know, we want to be able to make those work as broadly as possible.
Yeah, I think generally speaking for these specs, now that we've done, we've gone to associations almost everywhere.
Yeah, I understand. But then for example, the conventions that we have, I just take a look at it. Just make sure that, you know, there's a. Yeah, there's a correspondence. It looks reasonably close, but we might as well just make sure it actually the same. Okay, I better go on to the. To fluid mechanics. We have Sandor on our livestream who is a fluid dynamicist. Good. All right, let's take.
Okay, for this one we have a first, first go at a laminar flow PD component. Right now we don't have any boundary conditions for them. And the reason. No, that's the monograph. You don't want to look at that. So you'd have to look at the, at the ref page for the laminar flow PD component.
That's what I tried to pull up. I said get function page and didn't work.
Oh really?
Okay, that's what I just did.
That looks better. So the reason we don't have boundary conditions yet is because fluid flow, there's many, many different aspects of it. And I want to make sure that all boundary, that the boundary conditions fit all other types of flows that we have or that we want to have. And customers right now, they can use Dirichlet condition and Neumann value to specify the boundary conditions. And we'll fix that or improve on that when. When we have more knowledge about the area.
So I don't understand. I mean, there's like, you know, dynamic viscosity, kinematic viscosity, bulk viscosity. There's many viscosities. Those three.
Yeah.
Which are all features of. Yeah. I don't know what this mean. This is. Is it. I see Newtonian fixotropic fluid or whatever the heck else it is. Well, do we have Newtonian fluids working?
Yes, Newtonian and non Newtonian fluids are implemented. So we have four or five models for non Newtonian fluids. And there you see your sub List of parameters. So you have a model name and then you specify the sub parameters for the specific model.
I wonder if this is the right way to do this, documentation wise, or whether we should have sub pages for all this stuff. I think it would be clearer to have sub pages with their own examples.
How would we link? I mean, how would you find the subpage?
I mean, you just have links to them and we have. I mean, just like we do for something like formats.
Okay.
Yeah.
I mean, you know, that would be a. Look if it is a thing throughout the PDE area that we're dealing with material models, which does seem to be a thing. It seems like material models is a thing both in the PDE area and in the, you know, 3D graphics area and so on. And maybe we should simply have pages called, you know, material model pages. Roger, what do you think.
Possibly, can we hold off maybe one more release and then decide that we switch into that when we know a little bit more?
I think it's going to make sense because I think it's just too much.
I, I suspect you're right too. I think it. They get too deep, just too, too much.
And it's much nicer to be able to have, you know, the carry you model. Yeah, you know, by the time, you know, you're looking for a carry you model, you're going to want to see three canonical examples there, right there, of that model.
Yes, I suspect you're right. I think it's what it looks to be.
Okay, so let's say I want to do something, I mean, you know, flow around a cylinder or something, but you don't have boundary conditions, so we're out of that game. Is that correct?
No, no, no, no, no, no, no, no, no. You misunderstand. We have boundary conditions, we just don't have fluid flow specific names for them. So you have to use Dirichlet condition and Neumann value to specify the boundary. We can absolutely solve fluid flow around the cylinder.
So when we, when we add boundary conditions for a domain, they just make it easier to do for the typical cases that come up in that domain.
So it's like no slip boundary.
Exactly. Stuff like that. We haven't implemented that yet. Okay, but you still, you can model this and there's examples of that.
Standard is commenting. What does it. What is the, what is the component of a laminar flow? Laminar flow? Well, I don't know what this, what is this thing? What is this? This is a piece of. Yeah, I don't understand what this is.
The laminar, typically, you're going to set, you know, the right hand side to something like a Neumann value or something. So this is not an equation yet.
No, I understand that, but what is it?
So the laminar flow is a combination of a momentum equation and a continuation equation.
So.
Yeah. Continuity equation.
Yeah.
So we have the Navier Stokes part and the continuity equation.
Okay, so here it is.
So it returns based on 2D, it returns three equations, and in 3D it returns four equations.
Okay, so that component. I don't even know what variables it has in it. It's got. I don't understand. It's got a velocity field, it's got a pressure somewhere, probably.
Yeah.
Some external forcing function, perhaps. Alexander is asking what the laminar piece means. It's certainly true that the, The.
So we, we can.
Stokes equations are, are. You know, they're supposed to be valid when nobody really knows absolutely for sure, but they're supposed to be valid for turbulent flows as well.
And you. You can use them for turbulent flow, but we don't have models for those yet. So I wanted to call this laminar flow to say that this is really. It's not. You can't model turbulent flow with this. It's just not.
Well, I don't understand what you say. You can't model it. I mean, in principle, if I just solve the Navier Stokes equations for Newtonian fluid flowing around some random boundary, if I solve them correctly enough, I will get turbulent flow, right?
Yeah, but you need to. You need to have a turbulence model for that.
No, you don't.
What you. Look, what you're talking about is the common vertex street. And we can solve that, but that's still a laminar flow type of flow.
No, no, no, no, no. The equations of fluid dynamics. These equations. Yeah. So far as one knows, in the current state of mathematical physics, it's still slightly unsolved. But so far as one knows, these equations were one, to solve them in a condition with the Reynolds number of a million, one would get turbulent flow.
Right, but we can't solve that.
No, no, I understand that, but we can't solve it. Not because, you know, in principle.
So I assume. I know, Stephen, but I think. I think what Oliver is saying, those turbulence models break down and make it possible to solve for reasonably high Reynolds.
I know, I know, I know. You can.
Finite element technologies.
Sorry, you. You can put in eddy viscosities and all kinds of things like this, which are empirical ways to approximate turbulence, the effects of turbulence. Sandra is Commenting on our, on our live stream in capital letters. There is nothing to model. There is no model needed.
It's.
I, I. You know, if we really want to get persnickety about it, we can ask the question. You know, we can. I mean, the existence and uniqueness of solutions to the Navier Stokes equations is still an unsolved problem, revealing the fact that it could be the case that in certain turbulent flows, we're actually seeing kind of the shadows of things happening at molecular scale. But obviously, there's a lot you can do before you ever get to that. And, and it really isn't a. I mean, Sander is, is quite correct that this has nothing to do with laminar flow. This, this, this equation. These are the equations of fluid dynamics. They are not the equations of laminar fluid dynamics. And I, I.
So I guess you want to rename.
The function to fluid flow PDE component. Okay, that's what it should be. And, and the question of whether it has a, you know, I mean, normally, I think most empirical modeling of turbulence has things like eddy viscosities. In other words, it really is just like these equations, except that there is an additional viscosity term added. I believe maybe there are other.
Yeah, it's. So one approach is to do it with a different viscosity term. Yes.
What's an example of another approach?
Well, if you have a large enough computer, you can use the equation directly.
Okay, but. So that's why that word is wrong.
Okay, got it. Yeah, I'll remove it. My thinking was it will confuse people that they use this function and expect it to work for turbulent models.
What do you mean turbulent models?
For turbulence modeling? Yeah. High Reynolds number. High Reynolds number models.
Okay, but wait, wait a second, wait a second, wait a second. High Reynolds number solving of n Stokes equations or high Reynolds number solving of an empirical model that isn't the Navier Stokes equations, that has some high Reynolds.
Number of the Navier Stokes equation.
And, and why won't it work? They don't have a big enough computer.
Either because they don't have a. Yes. So this version is because they don't have a big enough computer. Right.
Fine.
So it sets expectations that we can't meet. But I grant you, so it's okay to do this change because then in a potential addition. So if we use, for example, Reynolds averaging Navier Stokes equation, we could use the same flow component for a turbulent type of model, which is useful for high Reynolds numbers.
Yeah, I don't see that there's really a big Difference between, you know, the fact that you're messing around with non Newtonian fluids and the fact that you're kind of, which is again, messing around with viscosities and messing around with other kinds of things. You're kind of, you know, I think the thing that is not untypical is to think of turbulence kind of like a bulk fluid. Like a bulk, you know, it's not like, I mean, you know, from a mathematical physics point of view, it's its own derivable thing. It's. Okay, let me give you an analogy. Okay, let's take heat in. You know, you could say, you know, heat is something that one can successfully model as a bulk thing even though it has dynamics underneath. And similarly, one can imagine, you know, modeling turbulence in the same type of way as a bulk thing. And that, you know. Yeah, I mean, just like the fact that you're hacking, you know, some, something which is really little, you know, I don't know, red blood cells or something that are weird shapes and that flow in a weird way, you kind of hack them by defining some effects of viscosity and so on. Similarly, you're, you know, you're, you're hacking the fact that there's really turbulence in the fluid, but you're describing in some empirical way.
I'll make the change. That's not, it's not the end of the world.
Yeah, but I mean. So let's just look at what this is actually doing now. So, Okay, so this is defining some equations here.
Terms, not. Not equations.
Yeah, no, I understand. Sorry, I meant terms. Okay. And then where do I put them in?
That's further down in the applications. Maybe you can look at a stationary example first. So this is a lid driven cavity benchmark type of problem.
Pretty cool. Why do we need to give all of this stuff?
Yeah, so the problem is that the Navier Stokes equation is kind of what's called a saddle point problem. And unfortunately, I don't know of any way to detect these type of problems automatically. The way that's done or dealt with in the finite element world is that you interpolate the fluid velocity on second order and the pressure in first order that allows us to stabilize these equations. And that's our method to do this. I hate it. I can't think of a way to get rid of it for now.
So hold on. I mean, just the fact that you have to give this method here rather than just saying method arrow, automatic, and it knows you're dealing with, you know, fluid equations and so on, because it looks at the symbolic structure of the pde. Right.
Doesn't really know that. We've, we've.
I mean, maybe we've. Maybe we've resolved too much at that point. Maybe we should keep.
I mean, what, what, what we could. What is conceivable is that we have a larger a PDE model container, let's call it for a second, that has additional information like options that would be useful for the solver to find the solution.
I think that would be a good idea because I think what you've done here is you've resolved the PDE into raw equations.
Yes.
Which is nice for interacting with the richlet condition and so on. But it means that you've lost the information. I mean, yes, probably. I mean, I can't imagine that it's a difficult piece of heuristics or machine learning to look at the equations that you've been given and say, oh, that looks like fluid equations. I cannot believe that's difficult to reverse engineer that. See what I'm saying?
Yeah, I see what you're saying, but I, I couldn't figure it out. So maybe someone else smarter than me can do that.
Well, figure out what I mean, how to do that.
How to, how to, to analyze the equation and figure out that this is a fluid flow problem.
Okay. Well, I mean, you're looking for a truly algorithmic way to do that.
Ideally, but I mean, I'm open to other suggestions, of course.
Sandra is, by the way, commenting that should use the word steady rather than stationary. This flow is, is arguably not stationary. It's steady.
So I think what Sander is commenting about is. So I typically use the term stationary and transient for time independent and time dependent problems.
I think steady and unsteady is what's usually used, I think, at Fluid Mechanics. Sounds to me like you should send Sander a draft of the stuff.
Okay.
But I want to come back to this because I, I feel like. Roger, what. I mean, you know.
Well, I think that you had it. I, I mean, I, I kind of believe Oliver, when it says you can't tell from the equations whether it is this, this type of problem or not.
Well, except you can heuristically tell for sure.
Yeah, yeah. But I was thinking about sort of this, this thing of why we want to resolve it to equations so quickly. And, and maybe, maybe that should be. I hate to do another object, but maybe that should be. Opt in to resolve it. Sort of an expansion when you want that.
Yeah, I mean, if, if we had this PD model container, something like that. It would make my life a lot easier parsing these equations.
So then look at it. I mean, we have these kinds of issues also with regions and all this kind of thing. We can resolve them into raw implicit equations and so on, but we often don't do that. Look, another point that's really simple here is when you say method, arrow, whatever, surely you should have a def. Default fluid mechanics method where you just say method arrow.
That's a good idea.
Yeah, well, that's a really good idea.
That's a good idea.
Yeah, that would for sure that.
That would already be quite. Yeah, yeah, that's.
We could implement that now.
Right now.
Right.
Okay. Let's take a look at the electromagnetic stuff and the quantum mechanics stuff a little bit. Where do I go here? What should I look at?
Start with the electromagnetic PD model. That's probably a good start.
This. This thing here.
Yeah.
Guide page.
Yeah.
If you use that other button, you. You don't have to use the Apple search, which is so bad.
Which button?
That one. Yeah. And now.
Don't know how.
Yeah, it's wonderful.
Oh, yeah, that's much better. Just remind me about that every single time you see me get this wrong. Okay.
So again, electromagnetics is Basically a phase 1 type of field of physics for us. So we started with electromagnetic, with electrostatics.
What the heck is this doing with the. Oh, no, this is the.
This is definitely the wrong page.
What? No, no, it's had the wrong picture.
That looks wrong.
Yeah, it's excluded. It's definitely wrong.
But maybe you intend to put a picture there, but that isn't it.
Yeah, the page generally is not the right page for some reason. Wasn't this one of the pages that. That. That Steven's computer had problems with that over.
Yes.
This is not. No, no, no, no, no.
Okay. All right. Okay.
This is out of date.
All right, well, we should try and track that down. But where can I see an example of some of this stuff?
Well, on the ref page, but you could look at the. Okay, open the.
You click the monograph.
Yeah. The monograph should be available at least in some RAW format, in some initial format. Yeah. Try to directly go to the help page and help browser, whatever it's called, and look for electrostatics.
Really?
Then you get the build version.
Yes. Yeah.
So at least then you can see something.
And you should have that documentation installed.
Yeah, there it is now. Except it says can't be found.
What? Yeah, but that. That's not what we want to look at now.
That's an old one.
Yeah.
Well, maybe give.
Give me a second. Give me a second.
Just email it to me. Electric symmetry value. That seems very hokey to me. What are you going to give? Are you going to give the equipotential surface or something for the electrostatic. How does this.
Just hold on a second. Oh, come on.
By the way, please take the O out of Schrodinger. That's not how we're doing it.
The O.
You mean the E. Sorry, the E. The E. I'm sorry, I meant the.
E. Yeah, we can discuss this later.
We really should take the E out. No, no, I know your name as well.
Yes, Stephen. What would you say if someone sent you an email where you spelled ph.
With F but with crypto basis? We have a precedent that we have to follow.
I know we do, but show them to everybody. In English uses. Right. Stranger without the E. Sorry, you can't.
Ask me to do that. It's just. It hurts.
Yes, but I understand. Just think of how many non British spellings we have.
Please, let's leave the E and.
No, I cannot do it. We cannot do that. We can't do it. We're using America.
Why would you use the wrong spelling?
Let's use an error.
Yes, even better.
It's. It is not used that way in English. It's just, it's like you could say what, What's a. You know, I don't know, you could insist that the name of a city. I don't know. I'm sure there are names of cities that are translated from German to English. Right. So, you know, how about Deutschland? Right. There's a. There's a name that you certainly can't use, you know, you wouldn't use in English. Cologne. Yeah, unfortunately, it's just not. It's not going to work. It's not going to work. You can use the accented character.
Just put. Oh, we're not.
It's not going to work. Look at, you know, 100,000 papers in English that use. Anyway, never mind. Okay, we'll cross that bridge later.
So I posted you a link in the chat in the hope that.
Where should I go to that. Where should I go in the documentation?
Yeah, so if you paste that link from the chat into the documentation.
Okay. Yes.
Okay, now we have one. That's good.
Okay, so we've got some permittivity thing here.
Yeah.
Oh, boy. You know, engineers, versions of physics equations are just so horrifying.
Oh, that's what I think about physicists versions. Yes, I see the history lengths. I've seen it I've seen it. We're going to fix it.
Yeah, don't worry about it. Okay, So here's a question. Okay, so relative permittivity is relative to the permittivity of free space. Is that the idea? And so it doesn't have units.
Yes.
Pair ISO definitions.
Okay.
One thing maybe that I could comment.
On is that it has a typo. This says permittiv. Yeah, yeah, yeah, go ahead.
Is that in our material data, we currently don't have values for. Electric material properties, basically. Would be nice to have them in a future version maybe.
What don't we have? We have conductivity and things like that. What don't we have? So if we, if we have permeability, I'm sure we.
If you, if you, if you look at like a metal and want to extract electromagnetic properties, there aren't any.
Like permeability, for example.
Yeah, yeah.
Okay. Well, Michael might comment on that. I mean, I know we're redoing properties and we should surely have that. I mean, there's surely we can get that information. So that's an action item, I think, from Michael's team. Sounds highly reasonable to me.
Yep.
And is there an issue with. I mean, we're just using SI units and that's all we're using.
Yes.
Everything else is the past. Okay, That's beautiful. I mean, you know, your. Your cylinder should surely be bit taller.
Okay.
Look so silly in all these pictures. I mean, it looks very squashed. That's a very minor point. Okay, so that's pretty cool. You can just say the gradient of the potential.
Yeah.
Get out the electric field. That's pretty cool. Now what happens if I were using polar coordinates or something?
We have an axisymmetric version. So that is basically a truncated cylindrical coordinate system. That's what engineers typically use if they have rotational symmetry. But we don't have anything for polar stuff. And the reason is that the underlying PDE components, like the inactive diff and inactive grad, don't work with anything else than Cartesian coordinates.
Okay, Michael, does that bother you? I mean, I think it's going to be relevant in quantum mechanics, for example, a little bit. I mean, is it, is it obvious how to do the change of coordinates if you need to, so to speak? I mean, in other words, if I have something in, You know, that's represented in polar coordinates, can I reasonably easily. See, I'm just going to. These tables don't look as beautiful as they might.
Yeah, I'm not quite satisfied with it either. Maybe I'm going to center it again on the left.
Yeah. I mean, I think it also would do better with just the frame. It will look less floated.
Yeah.
It would be important to have the unit symbols, not italic.
They're in math font.
That's wrong.
But this is wrong. Units are per definition, not math symbols.
Okay.
So that just needs to be solved. I don't know exactly how. One thing about this is. Okay, let's say somebody wants to use this for a physics class. Okay. I suspect we should get somebody to rewrite this for physics classes to remove some of the things. Because if I, if I go up and look at. Wherever it is. Where did you have that table here? Okay. Many of those parameters are unseen in a typical physics discussion. Right. Like.
Okay.
And we really want. I think, Michael, you can comment on this. I mean, it's just like, you know, D equals whatever it is, you know, epsilon times e or something. No other sort of remnant polarization or anything like this.
It would be the only one you wouldn't see. The other ones, I think are all fine.
Okay, fair enough. But I mean, even this equation here, right. Is very fluffy compared to the physics version, I would say. Well, maybe it isn't.
I think the only one that nobody would ever put the Epsilon 0 inside the Epsilon 0, always outside.
Yeah.
So.
And maybe one thing to comment about is. So we have the additional challenge. So we want to solve this with a finite element solver. So we have to adhere to its underlying, well, needs. So it has to be in this form. And the cool thing about this is, and I think that's also interesting for physicists, is that you can actually transform all these equations, solid mechanics, fluid dynamics, whatnot, you can all transform them in, into this single one type of equations. I think that's pretty amazing. So I think actually it would be quite cool for physicists to, I don't.
Know, to take on what is the type of equation.
So what you see, diff, diff, blah, blah, blah, grad, Dependent variable and then right hand side and stuff like that. So it's basically the underlying, the finite element form of this single equation that we can solve.
Well, hold on, hold on, hold on, hold on. You're saying outer thing on the. Is a divergence.
Yeah. On the braces thing with gradients.
Yeah, right, yeah.
And the stuff that's in there in front of the gradient can be a tensor or a matrix.
Yeah. And that already describes to you what the boundary condition looks like. This is a really cool form.
I think the epsilon should stay in, but not the epsilon zero.
Okay, so, I mean, are you saying it should stay. So here's the thing. For the finite element solver, I need the Epsilon 0 inside. Basically. Yeah.
Right. You need the epsilon, but not the Epsilon 0.
Yeah. The Epsilon 0 is a constant.
Yes.
Okay, just listen. We don't have a finite element component that can solve a times div grad. We just don't have that. So that's why I put the A inside the div grad. It's not a problem.
Divide by ε 0, the whole thing.
No, no, no, no, no, no, no, no. You can't. You can't generally do that. If this is discontinuous. This function is epsilon, epsilon, R, whatever it is.
No, ε 0 is a number.
It just makes stuff complicated. Let's.
The argument Oliver is giving is that. I mean, I understand Oliver's argument. I think it looks a little weird here, but I'm trying to understand your statement that. So explain to me this.
Okay. Open the Neumann value ref page, please.
Okay.
Everything comes from the minimizing the energy functional. Starting from there is everything pure mechanics. There's this big book by Ton D from a couple years ago.
So if you. Hold on, Michael, what form? Tell me again, I'll show you the form.
This form, does it need it on overhead?
Yeah. So if you open the details section. So there this, what, one, two, three, four. The fourth bullet point. One, two, three, four.
Yeah.
That has basically. The first thing after the note dot is basically the type of equation we're pursuing.
Okay, but. So, Michael, can you explain to me why all these equations are of that form? Because there's an energy functional.
Because there are the energy functional that are quadratic in the momenta. And that's kind of it.
Here's a different explanation why all of these can be put into this form. Because basically, this equation has all types of derivatives. You can possibly have up to second order and all combinations of it. So for up to second order, everything is covered with this equation because all type of all of derivative to respect.
To space and time.
Yes. Let's discuss.
Because there are the ones of mixed hyperbolic elliptic type.
Yes.
They don't follow in this class.
What? What term doesn't follow into this class?
No, you cannot write them in this form.
Like the equations of transonic flow, for example.
I don't know.
I mean, so the equations we.
Okay, I'll restrict whatever you can write them.
I'll restrict my statement. Their equations for physics that we've dealt so far with could all be transformed into this form. So fluid Dynamics, solid mechanics, heat transfer, mass transport, acoustics, all of this works in this single form.
And I think that not every second order PDE can be transformed into this.
Okay, I'll retreat that, retract that statement. But for the fields of physics that I've just mentioned, we, we can do this.
Yeah.
Even though some of those physics is.
Just an optimization problem anyways. Right.
So maybe that's why there's another small qubit that potentially periodic boundary conditions in infinite objects like crystals.
How do we find.
So this again should be a ref.
Page in the source. In the source. Stephen, you have to use the source. It's not built because they're futurized and.
It doesn't get built then.
Now you already had it open.
Yeah, I would not call that the reaction term. I would call that the potential term.
I have commented exactly the same.
Micah commented exactly the same. So I, I made a compromise in, in adding this. The potential is modeled through a reaction.
Term, but I wouldn't call it a reaction term. I, Whoever who calls it a reaction.
Term, I remove it. I remove it. I'll give in.
I mean, if you're doing scattering theory, but you're not doing scattering theory.
But I think the point is that people understand that even a Schrodinger equation can be modeled with a diffusion term and a reaction term. It's nothing else than that.
Yeah, I understand that, but it will.
And I think it's an important point to make. There's only so many, so few differential operators that you need to model a.
Huge set of physics that's interesting to you, but it's not interesting to me. The users of this.
Okay, I'll remove it.
There. Oh my gosh. Really? I thought it was called the orbital quantum number.
Ricardo, you want to, you want to comment on this? Athemus versus orbital quantum number. Have you seen. I've seen both.
Both names used. So we could change that to I don't know what, what's right there. I mean, I, you know, my knowledge. Okay, we'll do it.
We'll do a web search based on What?
You know, 45 year out of date. I mean, that's what I would have called it. That's what chemists would call it, I think. Michael, do you have a comment here?
I think both are fine.
We can add them both. So people can enter whatever they want.
Yeah. Orthotropic. What the heck is that?
Oh, that's an outdated page. Okay, so that means that the mass is different in the axial directions in the X, Y and Z direction.
When does that show up?
Ineffective treatments of solid states.
Yeah.
And we have. So we've changed that a bit.
Yeah, Yeah. You really need to get rid of these things because this really makes it look like we've just got the innards hanging out.
But this one depends on the X range, so this one you cannot do. Easily remove.
That's different. Yes.
Look, what we're trying to achieve, guys.
I know.
Is what we always try to achieve, which is you just need to know what you're trying to solve. You don't need to know the innards of the methods, of the, you know, finite element, stuff like that.
Could. Could Would be much easier if we had like a pd con. PD container. Model container or something like that. Because then I know what I'm solving and I can.
I understand that. I understand that. But I. I think you can do, you know, worst case is you could even do, you know, machine learning based on the, you know, the actual things you're given, because they're probably even the names of the variables tell you things.
But no, then it would be better to do it a few times and look how much the values change if you. Half the max element.
Yeah. Okay. All right. So this is in a potential. This is in water. I don't know what the potential is here. Harmonic oscillator. So these ships.
It's the X squared potential.
Which is a harmonic oscillator, isn't it? Yeah, yeah, yeah. So these should be Hermite polynomials.
Yes.
Times exponent minus X squared, all to.
Right. Okay, that's cool. So if I want to get out the third one of these, I would literally just say.
Yeah, so this. These are lists now. So you'd probably use ND eigensystem with the third one. Or just use. Use ND eigensystem and take the third part of it.
Yeah, yeah. Right. There's certain argument that that parameter there should have a brace three version that just gives you the third eigenvalue.
Okay.
Does that make sense? I don't know.
Absolutely. I am. I am. I'm voting for this. Oliver. For this since years. Oh, really?
Yeah.
Especially for the connectors. For if I put 10,000 in, I wouldn't trust the 10,000.
Right, right, right. For those we. We have the specific. The feast solver that does this. Yeah, we can look at that.
Okay.
Eigen system. So.
Don'T forget to tell the vendor. So we do the same for the symbolic version.
Okay.
Yeah. I mean, what about for eigenvalues itself? Do we have we don't know. We don't count eigenvalues. We just give all the eigenvalues for a matrix. We don't actually. We can.
No, we can give the top.
Oh, yeah, we give the N. Yeah, right. We do that. So we should do the same thing there.
This is.
This is now probably a 14.
One thing. Yes.
Yeah, that's not something we.
Okay, so just so I understand, in. In let's say I was going to solve the Schrodinger equation of periodic potential, you know, to get out mat functions or whatever. And by the way, how much of this. Well, okay, how would I do that?
That would not work right now because you would need Ploche to get the messy characteristics equivalent numerically.
Okay. So, I mean, this.
Like you could solve this, a certain boundary condition, but you couldn't get the full spectrum because, you know, they form bands. So you have a dense. So you have a continuum. So it wouldn't work.
Right. So that's a mess. But in this case, this domain is infinite. I mean, in. In many of the cases, like with solid mechanics and so on, the. Well, actually, I know I'm confused by that. In the case of solid mechanics, is it true that you're typically dealing with. No, I guess it isn't. Well, yes, it is a bounded domain. I mean, this thing, when you. When you're sort of deforming that thing, it's certainly a bounded domain.
Absolutely.
But in the case of quantum mechanics, normally you're dealing with a nominally unbounded domain. I mean, like in that harmonic oscillator case, while the actual wave functions are localized within the. Within the potential. Well, they are in principle, extend to infinity and do exponentially damped do so. Right. So you. You're able to solve in an infinite domain is what I'm asking.
No, for that, we'd need like a bound, like minus infinity, two plus infinity. And that's not something we've implemented.
No, but what I'm asking is in the way that you had presented that. Okay. Here. Right. Where do I see the. I mean, in this case. Oh, I see that minus three to three.
Yes, that's where the bound is cut off.
I see. And, and. And that boundary condition is what, there, then?
No, that's a Neumann boundary condition. Neumann zero boundary condition means no.
No flux.
Flux.
Yeah, but you know, I was thinking in acoustics, you had this trick to approximate an infinite domain with an impedance.
Yes, but it's very.
A clever trick.
Yes. So there.
There is a quantum mechanics trick like.
That, but Wait a minute, that. That's using. That's like the impedance of free space or something or what?
Yeah.
So that doesn't work. You only have two choices. Either you have bound states, then it doesn't matter if you have a big enough domain or you have a scattering problem. In the scattering problem you can't easily without a lot of machinery source otherwise.
Right. So I mean what we're dealing with is bound state problems here. Scattering problems is a different. We need a different. We're not interested in the eigenvalues.
Has a couple of nice examples but you make the domain still big enough that the boundary doesn't matter.
So like a wave packet scattering off something further down.
You'll see that.
But I mean if we actually want the S matrix or something, then we.
Are out of luck if we want the S matrix also T.
Or R if we really want to go for other letters, matrices with other letters. I think the R matrix is what people talk about in chemistry a lot.
Yeah.
We have another design review coming up right now. But I want to see. I want to see more quantum mechanics here. Help. What's happening here? Okay, what is this? Is this. Is this Schrodinger equation in a Taurus? Yes, That's classic. And it doesn't have zeta function as its eigenvalues. No.
Bavin which cannot be softly closed form.
What's that?
Dominovic stadium cannot be solved in closed form.
Whose stadium is this? I've vaguely heard that it's the kind.
Of the classic one for this many Michael Berry type conjectures about the statistics of high order wave functions. No, the conjectures know the domain areas and so on and so on.
Well, hopefully we can reproduce that here, which is cool. What is this now? What is this? Time current shoulder equation. Why does that have a PD back? Oh, that's just.
It's still in the context. Well that's as soon as it's proved it's going to go.
Okay. H equals zero. I don't understand this conditions.
That's a Gaussian wave period. That in a square well flows to the left. Right. And then later has a revival.
Okay, but what, what's the. Oh, this H I see this H here is equal to zero, right. And this is the initial condition. That's the boundary conditions. Okay, I get it. It's cool. What's that creature. Bothers me to see time going up the page like that. What is this? I mean it looks kind of like nonlinear Schrodinger equation, but it isn't nonlinear.
Time dependent Schrodinger equation. So it has a potential of phi. Phi phi squared.
What do you mean? I mean the standard quotes. Nonlinear Schrodinger equation is not this. It has a nonlinear term in it, doesn't it?
It is nonlinear. If you look at the H.
Look at the output.
Yeah.
Conjugate phi times conjugate five squared.
Okay. That's why this looks like non equation. Okay.
But.
But that's not a physical thing. That will be something where you have the. The probability density inside. I'm. I'm confused here. Michael, help me out.
It is.
This is.
It is something of relevance for Bagos condensed bosses.
Okay, why. I mean, how do you get. So that's an approximation to the condensate somehow?
Yes, because we, we.
We.
We approximate in mean field all the. The high order manybody.
Okay, fair enough. Fair enough. Fine. Okay, that's cool. All right. What's this? I'm now time independent equation with harmonic oscillator. So are we about to see scattering against a harmonic oscillator potential? Vertical and horizontal axes.
Not in harmonic oscillator. On a Gaussian potential.
Yeah. Right. So I don't quite understand this. This is a we move.
This we move is the package coming from the left. Part gets reflected, parts gets transmitted and we get.
That's pretty cool. It's pretty cool. I mean I think that might look good as a 3D sort of profile. And it also really bothers me to see time going up the page. But so it goes. I mean if it's easy to flip around, I would flip it around. I think it will be easier to understand.
You can do scaling function reverse for one of the axis. For the.
Yeah, if it matters. Okay.
Should we do that?
You could try it. I don't know, Michael, what do you think?
I would prefer time going up. But I have argument with various people about this opinion.
I mean we can at least show that it's possible.
Yeah. Somewhere.
Then people can choose whatever they prefer.
This one is good. You should look at this one. This is the coolest of all.
Press play.
Which one? This thing here. Oh, that's a. I mean where. Where were the slits when. When the thing didn't. When the wave packet didn't hit him. They should have been in the picture. Right.
I. Slits are not there. No, I'm joking.
Ruin our sl.
So this has a potential that corresponds to those. Where is it? Region union, blah, blah blah. That makes the slits. Okay, Well, this is quite interesting. So this is a Gaussian wave packet that hits them Is that true? What. What's the initial condition? Yes, it's a Gaussian wave bucket. That is, it has a momentum, an initial momentum, and then it hits the slits. That is pretty cool. So the wavelength is determined by the mass parameter in the Schrodinger equation. Is that true? The thing we're seeing, the little. The wigglies, the wiggles there.
What's the wiggle?
Oh, it's the momentum. It's the Debroy wavelength or something. All right. Yeah. I want to see this for longer time. What happens if you go for longer time?
You hit the end of your universe to break of the box. You can find everything in, and then you get a lot of interference from the walls.
I guess. I didn't know. Although it might be kind of obvious that you get essentially interference fringes on this side as well. It's kind of obvious, I suspect. I also didn't know that you got that kind of rippling, which is also kind of obvious because you're getting waves reflected back here.
Yeah.
And. But then why don't you get sort of De Broy ripples on the other side? Why. Why are these things here streaming out without having any kind of wave like behavior there?
Because. Because you. You just continue based. Like a free. The free wave packet wouldn't do it either. That's kind of part of the free one that goes through.
I see.
And only the other one has no.
IP because this one has. Right, right, right. So this one is having interference with the reflected.
Exactly.
Stuff.
Yeah.
Huh. Okay. I've never seen this before. That's cool. Is it in quantum mechanics textbooks these days? I don't know. Yeah, this is.
Yeah, I think so.
About.
This was already in. What's the Schmidt book from this mathematical visual. Quantum Mechanics.
Oh, yeah, I remember that book. That was a nice book. All right. I'm. I'm. That was less exciting.
No, you must wait long enough.
Oh, what's going to happen here? What is this? This is a wave packet that is in some kind of orbit magnetic field.
And it slowly kind of. Because the initial one is not quite an I function. So it slowly disperses.
I think it's pretty cool to be able to do that in the magnetic field.
Sure. All right. There's a lot of cool stuff here. The Slater determinants. Wait a minute. This is multipartical stuff.
Design stuff for the future.
So is there a thought about how to do coupled children's equations?
Yes and no. So in a way. So the thing is, we can generate the equations, but we can't solve them. That's basically the issue.
I see, but which aspect? I mean, with respect to the anti symmetrization or what?
I'm sorry?
With respect to the symmetrization. Anti symmetrization or what dimension just. I see. We can't solve them because it's too hard for our finite element methods or what?
Because we don't. Basically we don't have any solver right now that solves these type of things.
What kinds of solvers have people developed for these?
Beats me.
I don't know, Michael.
I think typically not finite elements. And if finite elements then reduce to one particle in symmetrical afterwards.
I see.
I mean this would be, I think, a whole new class of a solver.
Okay, well, very interesting stuff. All right. I think it's time for our next meeting here and. Oh dear. Okay, Great. Anything else I should make sure to look at?
Right now, I think you've sampled everything.
A lot of nice stuff. Very complicated. Are we going to put out these monographs as. As like actual books?
Yeah, it's in the making app.
Okay. I'd like to have them on my shelf. They will be easier to refer to.
Should I sign it? I trade one. Give me one of those, I give you one of mine. How about that?
How many pages is it?
I don't know. I think all in all, maybe a thousand or something.
Okay, but Michael is still the old time. Why not?
Yes.
We can't compete with him, can we?
Okay. All right. Very good, guys. Thanks a lot.
Thanks a lot, Steven. Bye now.
Okay, bye bye.
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






