CHAPTER 10: Elliptic PDEs Lieberman Method: Part 2 of 2
In this segment we will talk about how to solve elliptic partial differential equations by the Lieberman method. This is part 2 of 2. In part 1 we talked about the theory. In part 2 we will take an example to see how that works out. If you want more details on this topic all you have to do is go to the numerical methods web page and click on keyword and click on elliptic partial differential equations. So we are going to take an example here. It's the same example we've been taking it for all the different methods we have been talking about. We have solved the elliptic partial differential equation by the direct method. We have solved the elliptic partial differential equation by using the Gauss-Seidel method and now in this case we are going to solve it by using the Lieberman method. Again, Lieberman method is the same as the Gauss-Seidel method, in fact, it is a modification of the Gauss-Seidel method. You are still using the Gauss-Seidel method but what you do is you give a weighting factor to your present iterative value and the previous iterative value at a particular node. So if we look at this particular example here is a rectangular plate. We are given the temperature on the four edges and what we are asked to do is to find out what the temperatures will be inside the plate as a function of x and y. We are given that the grid length is 0.6 meters so we will have 6 nodes along the y-axis and we will have 5 nodes along the x-axis. The weighting factor is given as 1.4 and that's what lambda is, the initial thing that we do to the Gauss-Seidel method to form the Lieberman method. So let's go and see how we can go about doing this. So what we basically have is that we are breaking it up into 5 nodes along the x-axis so that gives us 4 grids along the x-axis and 5 nodes, 1, 2, 3, 4, 5. And same thing, we are breaking up the y-axis into, or the grid to the plate into 5 5 grids, so that gives us 5 grids. 1, 2, 3, 4, 5 grids but the number of nodes which we have now along the y-axis will be 6. So basically you have 30 nodes in this, in this problem but all of these nodes are not the ones where we need to find the temperature. We only need to find the temperature at these internal 12 nodes because the temperature at the external nodes are given by the four boundary conditions which we have at the four edges. So let's go and see how the Lieberman method will work to be able to do this. So as we are saying that we have these boundary conditions on the four edges here, and then what we have is that we have these 12 nodes at which we don't know what the temperature is. We know the temperature at the external nodes, like for example, we know the temperature at these 3 nodes is 50 degrees C. The temperature at these 4 nodes is 100 degrees C. The temperature at these nodes is 300 degrees C. The temperature at these 4 nodes is 75 degrees C. We don't worry about this node, this node, and this node and this node because for this type of problem where the boundary conditions are simply given by the temperatures on the 4 edges we don't have to consider what the temperature at those nodes are. So bottom line is that we have 12 nodes at which we don't know the temperature and we need to find out what the temperature at those 12 nodes is. So the Lieberman method, what we are doing is we are rewriting our equation just like in the Gauss-Seidel method as follows. So for example, we are doing iteration number 1. We are going to look at node 1,1; i=1 and j=1. And now here we are finding out what the temperature at node 1,1 is and these two temperatures which you are seeing for 0 are the initial temperatures which were assumed in our guess that the temperature at the inside nodes is 0 degrees C and these two which you are finding here are basically the temperatures at the boundaries, those are boundary nodes. We know what the temperatures are these. So what we get is 31.25 degrees C and this is exactly the same number which we got when we were using the Gauss-Seidel method but in the Lieberman method what we are doing now, here is that we are to give some weightage to the new temperature which we found out in the present iteration value and the old iteration value. So in this case since lambda is 1.4, we are using 1.4 as our lambda here and here, our 1 minus lambda will be 1-1.4. The new temperature which we found out was 31.25 which is right here and this 0 is the temperature which we has assumed before because that's the initial guess which we assumed for the steady state temperature at that particular node. Hence, giving us 43.75 degrees C. If we now want to find out what the absolute relative approximate error is which will be the present approximation minus the previous approximation divided by the present approximation and the absolute value of that multiplied by 100 in order to get the percentage. So we get 100% error in our first iteration and that's obvious because because of our initial guess for the temperature at 1,1 node is 0. Let's go and see that how we are to find out the value of the temperature at node 1,2 which is i=1 and j=2. Again we write down the equation just like we did for the Gauss-Seidel method here and this temperature if 0 and 0 is the initial temperature which we assumed at those two nodes. This temperature here is the temperature on the boundary, but this temperature is the temperature which we just found out for node 1,1 and this is the temperature which we found out for, after using the Lieberman method. So you use the most recent temperatures for that and we get a temperature of 29.6875 degrees C. Now what we want to do is we want to use the Lieberman method, we want to give the temperature which we just found here a weightage of 1.4 and the temperature which we had previously, which was 0, we are going to give a weightage of 1-1.4 which is -0.4 and that gives us a temperature at the 1,2 node as 41.5625. Again, the absolute relative approximate error at that particular node will be 100% because the initial guess which we assumed for the temperature was 0. Keep in mind that we are talking about initial guess of the temperature, not initial temperatures because we are interested in find out the steady state temperature and that's all what this elliptic partial differential equation gives you. So please do not confuse the initial as the initial temperature, no. It is just the initial guess which we are making for the temperature which will be at steady state for those internal nodes. So what we did was we took all these different nodes which we had, so we already found out the temperatures at 1,1 and 1,2 nodes so then what we did was continued the same for all the other 10 nodes and we found the temperatures at those 12 nodes to be as follows at the end of the first iteration. So I am going to use these in our second iteration to find out better values of the temperatures, steady state value temperatures at the indside. Let's go and see that how we are going to go about doing that. So we will follow the same procedure and now we are on iteration 2 and we will be looking at node 1,1. We are looking right now at the equation for T1,1 just like with the Gauss-Seidel method. These are the previous temperatures which are from the previous iteration. These are the temperatures which we are from the boundary conditions and this is the temperature which we get at 1,1 node. Again, we are going to give this temperature a weightage of 1.4 and we are going to give the previous temperature which we had a weightage of -0.4 and that's what gives us the new estimate of the temperature at 1,1. Now we are going to calculate our absolute relative approximate error which is the present approximation of the temperature minus the previous approximation of the temperature, divided by the present approximation, absolute value of that multiplied by 100 gives us that the amount of absolute relative approximate error at this stage 16.32 for node 1,1. And we will do the same thing for, still iteration 2 but we are now at node 1,2; follow the same procedure, write down the equation for node 1,2 here. This is the temperature from the previous approximation. This is the temperature from the previous approximation. Keep in mind now that this is the temperature now from the current approximation because we always want to use the most recent valuesm which are updated through this relaxation technique here and this of course is the boundary value temperature at node 0,2; that gives us this temperature. Now, because lambda's 1.4 we are going to give a weightage of 1.4 to that temperature. We are going to give a weightage of 1-1.4, which is -0.4 to the temperature which we found out from the previous iteration and based on that we get the temperature at node 1,2 to be 51.3133 degrees C. Now, we want to find the absolute relative approximate error at node 1,2. Again, it will be the current approximation minus the previous approximation, divided by the current approximation and we get a relative approximate error of 19 percent. So, what we did was we conducted the same kind of steps for all the 12 nodes and these are the values of the temperatures which we obtained. We are not writing the decimal part just to show you that what kind of temperatures we obtained at the end of the, 2 iterations. We also calculated the absolute relative approximate errors at each and every node and these are the relative, absolute relative approximate errors which we get and if we are trying to figure out what, to figure out, hey, which is the absolute relative approximate error which we are comparing to the pre-specified tolerance it would be the largest number which is in this case, 81%. So, you have to always calculate the largest absolute relative approximate error to be able to compare it with the pre-specified tolerance whcih might be 1% or 0.5% or whatever it is based on how much accuracy you are looking for in your solution. So we have conducted these iterations, these are all given in the textbook chapter at the numerical methods web page on elliptic partial differential equations. This is what we get at the end of the first iteration. This is what we get at the end of the second iteration and then we conducted 7 more iterations to go to the 9th iteration and these values are within 1% of the previous iterative values. So if your pre-specified tolerance was 1%, these are the, you would conduct 9 iterations in this case to find your steady state temperatures. You can very well see that the temperatures keep on changing as you go through one iteration to another and so it has to reach some kind of a convergent value and these values which you have in the iteration number 9, they are within the 1% relative approximate error. So that's the end of this segment of Lieberman method. |