Home » Courses » Mathematics » Mathematical Methods for Engineers II » Video Lectures » Lecture 10: Shocks and Fans from Point Source
Flash and JavaScript are required for this feature.
Download the video from iTunes U or the Internet Archive.
Lecture 10: Shocks and Fans...
The following content is provided by MIT OpenCourseWare under a Creative Commons license. Additional information about our license and MIT OpenCourseWare in general is available at ocw.mit.edu.
PROFESSOR: So this is the equation that we-- this inviscid Burgers' equation, no viscosity is the one we've learned about for shocks appear, fans can appear and I want to do more today with exact solutions. So today is a little bit more analysis than numerical solutions. So while doing something, sort of PDE rather than numerical PD, well it's natural to include Burgers' equation with viscosity. So that's got the extra term there and if I can, I would like to say something about two other important equations, nonlinear. One has a third derivative on the right-hand side, so it's a dispersion rather than a diffusion. And that equation is named after Korteweg-de Vries, KDV it's often called. I'll just put that down. KDV is the shorthand for that equation and it comes up in water waves, one-way water waves actually, along that shallow channel. It was actually seen by somebody riding along next to the wave and the wave kept its shape and so this equation has had a period of great fame in some way. It's nonlinear of course, but it was discovered that there was a really clever way to solve it. Actually, we will solve these equations even though they're nonlinear, that won't be too hard. The clever ideas that went into solving that one, I can describe a little bit, but not in full detail. And then we'll connect also to Hamilton-Jacobi type equations, which are very closely related to this in one dimension and in fact, they'll come into it. OK, so those are the equations and then next time we'll come a little more about finite differences for those equations and a lot more about the level set method, which is more connected to Hamilton-Jacobi and is quite a remarkable idea. OK, so that's for next time. This is for this time.
So what I have in mind for this time is to begin, can we solve our equation starting from a source, starting from a delta function, a point source? What's the solution look like? And I guess when I thought about it, I can see several ways to get at the answer and it's a very worth it example to do this from a point source. It has a natural interest and then it comes up in many other ways. So how we going to get the answer?
Well, I can do it in terms of fans and shocks. Let me just proceed informally at first. The delta function is like a step up followed by a step down. Well, a very big step up and an immediate step down, right? So it's the extreme case. And remember that the step up-- for the step up you remember the Riemann problem? Going from a lower to a higher one. That's the case where the characteristics separate, leave an open space that has to be filled in with a fan. So I would expect the solution to start with a fan and then I'm imagining that as the limit of an initial function like this. So that's step up, we'll start a fan going and then this step down will start a shock going. Because here I have u is zero and here u is something big and that drop down means that the characteristics from here will immediately overtake the characteristics from the zero, from starting from zero. Have zero speed, the xt-plane-- they're just going up. The characteristics that start because of this thing are going to the right, so I'll have a shock. So I'm expecting a fan and then a shock based on the previous lectures.
OK, and I'm going to figure out what fan it is and what shock it is and where the shock is. Now what I have on here is an exact formula for the solution. You might say, why didn't you tell me that before? And I will plug in the initial, it comes from the initial function and from a minimization process and it's not obvious. That's a funny way to describe a function of x and t, but of course it does. x and t appear here, y is the parameter and I'm minimizing with respect to y and that will give us-- well, it better give us the same answer. So I'm taking this as an important case, which gives us a chance to review all the pieces that came into, all the rules that came into it. We had the rules for a fan, which was of the form x/t if it started at zero. We have the rules for a shock, which was that the shock speed should be the jump in f of u-- which is u squared over 2 for Burgers' divided by the jump in u. And so that's a difference of squares, is a difference of first powers. When I do that simple division it factors out and I get a u left plus a u right over 2. The 2 coming from there and the difference going into the difference of squares gives me that.
OK, and then the other condition was the entropy condition that f prime-- remember, this is f prime of u-- so f prime of u, which is here, u. So u left should be greater-- the shocks, what's the rule on the entropy condition? That the characteristic should run into the shock. So coming from the left they should be faster. We have some shock line that's increasing with a speed, s, which is d-- position of the shock-- dx/dt and coming from the left the shocks should be going faster and run into it. Coming from the right the shocks, the characteristics should be slower so that the shock line catches them and therefore, these also run into the shock. So this is f prime at u right. And remember here, it's just u left bigger than the shock speed, bigger than u right.
Now I'm going to go to the delta function itself, which will be cleaner and neater than this steep square way. So we could pick any of those as the key to telling us-- this is what I'm expecting for a solution. Here is zero. Here is x. So I'm expecting that-- I guess I'll graph u. u of x at some time, t. OK, so I'm graphing u at some later time, t. OK, I'm expecting the solution to be u equal zero here because it starts at zero-- well, I'm really now when I point to that figure what I really mean now is a delta function. So this is infinitely thin and infinitely tall. So characteristics are going to take off and well, who can say-- you might think the whole thing would break down because the delta function is in some sense, infinite at that point. But it doesn't. You'll see that a very sensible solution emerges here. And it's a fan, so u is x/t I guess. So u starts at zero-- yeah, let me draw u at some later time, t. It's linear and then it's a shock. So this is what I expect for the answer. I expect u to be zero, x/t up to some point, up to the shock. Up to x is the shock position and then after that it has the value zero because the initial function hasn't changed, hasn't got the message. So this was after x equal x of t. That's what it should look like. I'm proceeding here sort of on the basis of what we know about the solution. And maybe I can just mention that the text, the problems at the end of the section on conservation laws in the Introduction to Applied Math text asks about a few other initial functions.
For example, minus the delta function. Maybe we should think through those questions. Is the solution with minus the delta function the negative of this solution? What do you think? No. This is a nonlinear equation and that fact shows up right away in the possibility that when you change the sign of the initial function, you don't just change the sign of the solution. And other things, I could ask well, suppose I have an initial function u zero of x and I add 1 to it. Does that add 1 to the solution everywhere? That's a question to think about. So these are sort of questions that are not finite differences, but differential equations. All that remains here is to find the position of that shock. I guess one way to do it-- OK, I can think of several ways to do it.
One way would be to use the fact that the total mass is conserved. So the integral of u at any time, integral of that function from minus infinity to infinity-- that's the total mass, has to agree with the initial total mass, which is 1 because the initial density distribution was that delta function at the origin and that we know integrates the 1. So one way to find this position would be the fact that the integral from zero to the place that the fan ends-- that's a capital X-- of x/t dx should be 1. 1 because it was initially 1. So that's gives us capital X squared over 2-- over 2t as 1. In fact, I guess I'm thinking now, this approach occurred to me sort of as I was walking to class, I'm thinking now that's unbeatable. That tells us where the shock position is, capital X squared over 2t is 1, so capital X is square root of 2t.
OK, we could take that as a guess, if you like, and verify that it obeys all the nonlinear rules here. Right now it just obeys the fact that the total mass is conserved, which is like the minimal fact. But of course, we've built into this solution an expectation of fan followed by shock, which is now what we really want to verify. So I guess, what should I check next? I maybe should check the shock speed. Does this solution with that shock give me the correct shock speed? OK, let me check that.
What's the shock speed? s is the speed of the shock, so it's the derivative of square root of 2t and what's that? That's square root of 2t to the 1/2. So that's square root of 2 times t to the 1/2. The derivative of t to the 1/2 is 1/2 t to the minus 1/2. So it's 1 over square root of 2t. That's the shock speed for this proposed solution. If we decide that the shock should be at that point. Now what's supposed to happen? What is it that I want to check? I want to check that the jump condition is correct for this shock. That if a shock speed is that, so the question mark is, is this-- so that's the speed of the shock as we're sort of conjecturing it to be located. And now the question is, whether that shock speed agrees with u on the left plus u on the right over 2. So what do I have to check? I have to check what is u on the left of the shock if this is my answer.
Well, the left of the shock is the point when x equals capital X. That's where the shock happened, so it's capital X over t. Square root of 2t over t. So the value of u square root of 2t over t. That's where the fan is. That's this height and that height is zero. So it's the average of this and zero. So that's the jump condition. So this is the jump condition that we're checking and is it right? I hope so. Otherwise we're in mighty big trouble. OK yes, I have the same cancellation of square root of 2 into 2 and t to the 1/2 leaves me with-- yes, I'm left with that. So yes. Jump condition satisfied by this conjectured solution. What else?
Well, just having a shock with the right speed doesn't mean I've got the right answer. Doesn't mean I've got the right answer, can I just make that point because it's easy to slip by. Let me take an extreme case where I compare. So these comments are going to be to say that I really need to check the entropy condition. Because I could have two problems. One which started from initial value minus 1 jumping to 1. So that's a Riemann problem. And the other which starts from 1 and jumps to minus 1. And I guess in both cases, remember that f of u, which is u squared over 2 is 1/2 on both sides of that line x equals zero.
In other words, could this solution stay at minus 1 and this solution stay at plus 1 and have a jump between them? And same for this. This solution could stay at 1, this could stay at minus 1 and have a jump. And now of course, in this case the jump will be upwards from minus 1 to 1. In this case it'll be a drop from 1 down to minus 1. And I guess, I think this one is OK with the entropy condition and this one is not OK. Let me say again what I'm meaning. The fact I've chosen this simple example with f of u equal u squared so that 1 squared and minus 1 squared give me the same answer. So the jump across this line is zero, the speed of the shock is zero, the jump condition is OK. So I'm saying that the jump condition is OK for both. And it's the right thing to have the jump in this one, but this is wrong. There should be a fan and I guess I've forgotten how the fan will go. We do have 1 here and we do have minus 1 there, but the value of u is connected not by a jump at a point, but by a fan that gets us from there to there. A fan is also known as an expansion way. That's the right thing to have for that problem.
All that is just to say that I do have to check the entropy condition. But I hope it's not going to be too difficult. So my entropy condition, remember for this special case f prime is just u. So I'm really just checking now ul greater than the shock speed, greater than ur. ur is zero of course. On this side of the shock it's zero. So the shock-- can you get that? We're going to be OK on the entropy condition. The shock speed is greater than zero and it's smaller than ul. Well, how is that? Is this quantity, the shock speed-- no, greater than is this shock speed, so checking that enropy condition means-- shall I put it up here. ul bigger than-- so this was the characteristic speeds, the wave speeds on the left of the shock. They must run into the shock, so they must be going faster than the shock. OK, so let me just do this comparison. ul at the left of the shock, on the left of the shock x is capital X, which we decided was root 2t. This is root 2t over t. That's u left because the shock starts when x is equal to root 2t and that's what u equals. And the shock speed we figured out here is 1 over. Now, so the question is, is this true? 1 over root 2t. I guess I sure hope that it is. And it is of course.
If I multiply out by this I have 2t over t, which is just 2 is bigger than 1. So the answer again, is yes. So that completes checking that our proposed solution of fan then shock is OK. But now let me come to this formula because it's quite a handy, useful formula. And what I have here is f of u divided by-- or f of x minus y divided by 2. That something squared over 2 divided by t. Well, what do I want to say about that going on?
Well, first of all, if I do plug in the delta function for u0, it gives the right answer. I can easily do this minimization. What what do I get when I plug in the delta function for u0, just to start on trying this formula to be sure it gives the same answer that we just found? So the integral of u of x and zero, the integral of u is a step function. So this will be a step function of 1 for y greater than zero and zero for y less than zero. Minimization requires a little patience because a step function of y is coming in here, y is there and the only way I would know to do that minimum would be the separate the different cases and do each one. Each one would be simple. I don't think we need to take our time to do that. It's going to give the same answer and the minimization is actually carried out in the applied math book. But I would like to say where it came from. Where did this formula-- so I'll go back to this formula. As a general formula for any starting value, starting function. And in some way derive the formula. Figure out where did that come from? It came from the Burgers' equation with-- so now I want to speak about this guy-- the Burgers' equation with viscosity.
It turns out that that equation and this is something very important. That equation has an exact solution because I can change variables and make it linear. I can turn it into the heat equation. So that was a neat idea, which two people noticed at almost the same time. That very satisfying change of variables will turn this, will get rid of this nonlinearity and turn it into the heat equation. So it's a nonlinear change of variables of course, but not that hard to discover once you begin to hope that there is one. And then once it's a heat equation we know the solution. The linear heat equation we know how to solve. So we solve it and then what? Let the viscosity new go to zero. Watch what this solution is doing as new goes to zero and of course, it'll be smooth for any positive value of new. The viscosity keeps things smooth. The shock appears in the limit. Maybe I should say something just physically about waves, breaking waves. If you look at waves in water, they're obeying a nonlinear wave equation, more complicated than ours, but nevertheless the same features. And a wave forms and as all water skiers know, surfers know, surfers I guess know it best. The wave in time begins to break.
Now up to that time the viscosity is actually not so important. But as it begins to break there's a terrific uxx now at the moments before breaking. And that uxx then, that term produces viscosity. I mean, there is a viscosity there and suddenly it's important. And so the viscosity will prevent-- even though it's small, the viscosity will prevent the actual, complete break. I mean, what actually happens in that wave is of course, a very difficult thing. The nonlinearity, turbulence-- everything's happening suddenly. Not easy, but the main point is as in many problems, a term that's small in the case of smooth solutions. Where uxx has a normal size and new is very small, so that term is small. Suddenly uxx has a giant size and that term is important, physically important. So Burgers' inviscid equation, this is the case with inviscid means new equals zero. So Burgers' equation is dropping that term and it does have a shock as we very well know. What are the steps that these two people notice that take Burgers' equation and turn it into the heat equation?
Let me see if I can remember the two steps. So I'm starting with Burgers' equation and I want to make it the heat equation. OK, so a first step is to introduce the integral of u. Let me call that capital U of x. So capital U of x will be the integral so if I write it this way I'm going to change u to capital U. So I'm introducing a new variable, capital U. The linearity won't disappear yet, but it'll look a little different. So if I took this equation and I look at it, well let me just say what's the equation going to look like for capital U. If I write it down then you'll see that it's right. dU/dt plus-- instead of d by dx it'll be 1/2 dU/dx squared equals new Uxx. I claim that that's Burgers' equation written for capital U. Do you see that? Let me just see, well, how do I get from there to the equation with a star, Burgers' equation. I think I just take the x derivative. If I take the x derivative of every term, I'm taking the x derivative of U, so that's a little u. So I have d little u dt as I want. If I'm taking the x derivative of this term I have little uxx, as I want. And if I take the x derivative of this term it'll produce that. The x derivative of the 2 will come here, du/dx will be the little u. The x derivative of that will be the ux. It's straightforward. And so now I've got it in a slightly different, but still nonlinear form. Still quadratic. Now comes the nonlinear change of variables. I think it's u is minus 2 new log, so that's the nonlinear part of the new unknown that I finally want, which is w. So that's an exponential change of variable. Capital U is matching log w, so w is matching either the e to the minus, an exponential of u. And I won't go through the steps. But when you introduce that in this equation it turns into the heat equation.
Of course, the initial function is different. The initial w is different from the initial u. Well, in fact we could see, at time zero. So this was at all times. I didn't write the t explicitly, but at time zero, what is w of zero? I guess I just take the exponential. I put this over here and take its exponential. So w of x and zero will be u of x and zero. The starting value of u divided by minus 2 nu. All exponential. This is the sort of expression, e to the something divided by-- with a minus sign-- divided by 2 nu that we're going to meet. We meet it in the initial condition and we meet it in the solution. Well, actually we now know the solution. If we remember, what's the solution to the heat equation?
So we have the heat equation. There's a constant in the heat equation, so we just have to remember where does that constant go and that's actually worth doing. And then we have to start it from this initial condition. Let me just write over here the solution to the heat equation. So this board will follow that board and so do you remember the solution to the heat equation? You remember we know the solution that starts from delta function, that fundamental solution is that e to the minus whatever over 40. Over 2t is it? Yeah, so what is w of x and t? Let's see. So we have the heat equation. There is a square root of 4 pi and now it's 4 pi nu t. When nu was 1 we didn't know that, but now essentially this nu I can change the time variable to nu times t. So everywhere I saw t I now will see nu times t. And then do you remember what went in here? The initial value, w of x and zero times the fundamental solution-- that bell curve that is centered at x. So it's either the minus, do you remember what it looked like? I think there's an e to the minus centered at x, so it's x minus t squared over-- was it 2? And now over 2t it was and now there's a nu t. x minus-- oh, wait a minute. I can't have x's. Let me take w of s and zero, e to the x minus s squared. This is from minus infinity to infinity. And that finally is going to give me w of x and t. So I integrate ds.
It's actually good to go back to and see something that we derived before but we haven't thought about it for awhile. This is the fundamental solution starting at the point s. This is the amount of initial function there is at the point s. And I integrate over all those little starts of point sources. I integrate over all the sources. All the way from s equal minus infinity to infinity and I get that answer. And now I know what w of s and zero is. That's what I just found. This is e to the minus as we've just said. Capital U of x and zero. U zero I'll call it, over 2 nu. So for this, substitute this. It's requiring patience, but not genius I'd say to do this. Now the question is, what happens as nu goes to zero and that the thing that makes this worth presenting.
What happens to integrals like this. I have an integral of something and the exponentials are both negative. I've somehow an integral like this. I have the integral of some e to the minus-- something-- I'll say b over nu. Do you see that the b involves the u0 over 2? Well, let me put a 2 nu. This is really what I have in this formula. Well, divided by this thing, so let me put that 1 over square root outside. And remember, my question is what happens as nu goes to zero? Do you have any idea-- I mean, it's a mess. We do not want to do this integration. It's an exact formula, but not one I want to deal with. What I do want is to know what happens as nu goes to zero. And the main point is that nu is showing up in the denominator. We have some quantity in the numerator, what is that quantity?
That quantity is u0 plus this x minus x squared over 2 nu t-- over t because in fact, if we're lucky this b is exactly this quantity. This is exactly this bracket. That's I think, my b if I change letter from s to y. If I'd been like prepared in advance I wouldn't of introduced y and s because they're both just dummy variables and they should have been the same. You see that this guy, because you remember the change between little u and capital U? Capital U is just the integral. So that's u0. And this is this x minus y squared over 2t. I'm not sure if I've got a 2 somewhere lost, but we won't worry about that. The main point that I want to make is, how do you deal with an integral like this? Because this is like a major topic in a more advanced course on applied math, a more advanced course on the analysis of applied math, not the numerical analysis.
What's happening is nu goes to zero. Well as nu goes to zero, this thing is getting very large. e to the minus a very large amount. So it's as near nothing as you can imagine. e to the minus a very negative amount. But still the total is considered somehow and the question is, what's the main leading term in this quantity and the answer is, you look at the point where b is a minimum. If b at one point is 1 than we have an e to the minus 1 over 2 nu. And compared to e to the minus 100 over 2 nu the e to the minus 1 over 2 nu is way bigger. So that in the end the contribution all comes from the point where b is a minimum. And that's what this formula says we should look for. And if you figure out what that contribution is in taking into account the fact that we do have a 4 pi nu t here-- without this the whole thing would just be going to zero as nu goes to zero. There's an e to the minus very negative stuff at zero. But we have a nu here, so in the end something nonzero emerges, but it emerges totally at this point where b is a minimum and that's what this formula has found. This is the minimum value of b. OK, I won't track down further.
Do I remember the right word? Is it stationery phase? Did anybody meet these words? I'm speaking now about something in the history of applied math. Still those tools that were created over the precomputer years are still extremely valuable to understand what's going on and this is just an illustration. OK that's my comments on the limiting case of Burgers', which is inviscid Burgers and we actually used this form of the equation as the first step in linearization. As I say, it's quite a nice exercise now to use this formula. An explicit formula, which we last time did not suspect. We were tracking down, we knew the problem was nonlinear and were tracking down shocks and fans. Here's a formula that just plain gives us the answer. So this gives us a shock or a fan, whichever. This has the right shock speeds if there's a shock and it has the right-- the entropy condition is satisfied because it was satisfied all along as nu was going to zero. OK, so now do I want to make some final comments on this Korteweg-de Vries-- KDV-- equation.
I mean that would be a ideal numerical example. In fact, its importance was discovered numerically. One could say that this is one of the biggest contributions of numerical simulation to the theory of nonlinear PDEs. The discovery-- and it just came out of the blue-- the discovery that that particular nonlinear equation was what we might call integrable. That there is some twist that produce linear equations whose solution give the answer to this nonlinear equation. Maybe what I ought to say is, first to tell you what those numerical experiments were like and people just like loked at the answers and said, can this be? OK, what were they like? So we could find-- without much work-- we could find solutions of the form, of a traveling wave form. So we could find solutions that have the form some function of x minus ct. If you plug that in you have then derivatives of f. You have an ordinary differential equation for f and you can actually find shapes; waves that travel following that equation. So of course, what you can't do is add two of them together and still have a solution because the equation is not linear. So everybody assumed, OK, people had found these travelling waves before and the computer will-- if you start with the right initial condition the computer will produce a traveling wave. If you start with the right initial condition the computer will show two travelling waves at different speeds. This c will be different from one wave to the other. So what will happen as time goes forward? One wave will catch the other one because it's going faster. So the shapes of each wave are known. I think it's 1 over hyperbolic cosine squared. So we have one wave going with a different c, going faster than another wave. We're computing along. The fast wave catches the slow wave and they interact. Of course they interact because the problem's nonlinear and you can't see what's happening at the time when the big one catches the small one. But you can keep computing. And what happened was that after this jumble the fast wave emerged with the same shape. And the slow wave emerge behind it with the same shape. And there was some lag of course, some delay moment, which had been used up in the jumble as the one passed the other. But they emerged looking the same.
I mean, that's sort of like a linear property. Not exactly because you couldn't just add them, it wasn't perfect, but the shapes were perfect. And that suggested that this equation might have hidden linearity that nobody noticed. And then finally that was discovered. It was a search. People found conservation laws, it's easy to show that the integral of u is conserved by this equation. We've done that a thousand times. Then other integrals are conserved and if you just like to do algebra a short list of conserved quantities: integral of u, integral of u squared and a few others, not just u cubed and u fourth of course. People were creating a list. And then somebody saw how to get an infinite number of integrals. So that was a suspicion that the problem was integrable. That if you could find an infinite list of conserved quantities, conserved even under this nonlinear interaction term that somewhere something was linear and then eventually a change of variables-- well, more than a change of variables, a total twist was found integrated and get that explicit answer. That's more than I can do, but I want to say of course that immediately set out a mad search for other nonlinear problems that were in this sense completely integrable.
And now, am I going to be able to list some of the ones that were discovered? I think I can-- whoops-- not on that board. So I'll just end with the completely integrable nonlinear equations. And I don't know if the list is complete, the discovery of new ones is like a major thing, so we have Korteweg-de Vries. That was this the first. Then there was a nonlinear Schroedinger equation. And the solutions, I have to say what the solutions are called. Those waves that I mentioned, which they're not quite that bad-- are called solitons, solitairy waves. And it was the interaction of soltions and the fact that they emerged looking unchanged that set off this horrific effort to figure out what was going on. So I was going to write nonlinear Schrodinger in here and without saying exactly where the nonlinearity appears, but you take Schrodinger equation. Then oh, I'm blanking out on other. There are just a couple more famous ones. I'll put those names into an e-mail rather than stumble here. OK, so that's a little history with no details of an incredibly special class of nonlinear PDEs.
Well of course, the Navier-Stokes equations aren't on that list. And we still don't know, especially in 3D, I guess that's one of the million dollar Clay prizes is to know whether that every Stokes equations have a solution for all time. So that's one of these 7 famous prizes of which 1 of the 7, geometry analysis prize, apparently that problem has been solved. So there are 6 to go and 1 of them is whether the Navier-Stokes equations have solutions. Actually, I'll just take one more minute of your time. Thank you.
People had or somebody had conjectured some possible blow-up in which maybe that was a case, that was an example of nonexistence. We could find a particular initial that created such a blow up in a small space that the Navier-Stokes equations couldn't be continued. But big numerical experiments just reported in the last weeks show that that particular example, that somebody thought might prove nonexistence after a finite time doesn't. So it's back to the drawing board really. I don't see how numerically we're ever going to see that it does exist, but this numerical experiment was efficiently clear to say that that particular phenomenon that looked dangerous didn't go wrong. OK, so next time it's a little more about numerical solutions of these equations and then about the level set method. And then looking ahead, we have a guest lecture on financial mathematics, the PDs of financial math for everybody who wants to go to New York and make a billion. And then we're going to very quickly be in the second part of the course on solving large linear systems. OK, I'll see you Friday then for level sets. Good. Thanks for your patience. Hi.
AUDIENCE: [INAUDIBLE]
PROFESSOR: Of course I have.
MIT OpenCourseWare makes the materials used in the teaching of almost all of MIT's subjects available on the Web, free of charge. With more than 2,200 courses available, OCW is delivering on the promise of open sharing of knowledge. Learn more »
© 2001–2015
Massachusetts Institute of Technology
Your use of the MIT OpenCourseWare site and materials is subject to our Creative Commons License and other terms of use.