 Let us just look at how things are going in this iterative solution process. As I said we have a domain, we have divided this domain into a bunch of grid points. m multiplied by n is the total number of grid points. The iteration process proceeds in the following manner. You initiate a solution which can be a rough guess altogether. For example in this case what you can do is our problem setting is 0, 0, 0 and T 1. So, you can choose to initialize the entire domain as T equal to 0. That is fine or you can choose to initialize the domain with a temperature of T 1 plus 0 divided by 2. So, T 1 over 2 that is also fine. Typically you will see that irrespective of the initial guess, these iterations converge. There is a formal convergence criterion which comes from the numerical analysis of these methods. But as we have decided that we are not going to get into the numerical analysis side as much as the numerical methods description. I will not get into those details. I will point out on model where you can look up and read little bit more about the convergence criterion, why this method does converge and so on. But no matter what the initial guess that you choose you will realize in this case that you do converge to the correct solution. Depending on the choice of your initial guess, the number of iterations required to converge to the final solution may vary. That is perfectly acceptable. But you will see that no matter what initial guess that you choose you will converge to the solution. So, the question is how do we decide what is a converge solution in this iterative algorithm. So, remember the basic idea in the iteration algorithm. What we are doing is we are initiating the domain with some guess value and using our iteration step such as this one whether it is under relaxed or over relaxed it does not matter. What we are doing is we are updating the solution in the domain grid point by grid point. And in this process we are essentially moving toward the correct solution. So, if you monitor one grid point let us say there will be a value of t at that grid point when you initiate the iteration process. After the first iteration the value at that grid point will change. So, let us say if it was initialized as 0 it will change to 5 after first iteration. You complete the iteration in the sense that you visit all grid points, update the values of all grid points, go back to the first point and start doing this again. You will realize that the grid point under consideration in our second iteration level will change its value from 5 to 7 let us say and so on. So, what is done at the end of each iteration sweep which means that we have gone ahead and visited all of these m multiplied by n grid points in the domain and updated the values. What is done is what a check for convergence is carried out meaning that one way to do it is you go back again and find out the change that you have achieved through the present iteration level that is kth to k plus first iteration level. For all grid points you can find out the maximum change that you can find out at any particular grid point and you say that if that maximum change is less than some convergence criterion as we say namely 10 to the power minus 3 or minus 4 or minus 5 that is totally up to you. How accurate the solution that you want you can choose the convergence criterion based on that and if your convergence criterion is satisfied namely the maximum change that you see at a grid point through a given iteration to be less than the convergence criterion you say that my solution is converged and you break out of the iteration loop and say that my solution is achieved. So, that is one way of doing it I will say that that is not exactly the way convergence has convergence criterion has been implemented in the in the Sylab codes that have been presented to you for your lab sessions. The idea is really that what we would like to do is you should you should get familiar with those Sylab codes clearly you are going to run those during the lab sessions and generate the outputs, but at the same time what we want you to do is get into the code in the sense that open up the code and start going through the code line by line and what we have tried to do is we have tried to comment the entire program heavily. So, that you will find the way the logic proceeds at each step what is getting done is written through a through a bunch of comment statements. So, that you know what is going to happen and in that sense when you follow the code you will realize how these iterations algorithms have been coded, how the convergence criteria have been implemented and eventually what we will want you to do is you want to change that criterion depending on how you want to do it and rerun the code it may not happen during the lab session I understand that, but post workshop we will be giving you a couple of weeks to get familiar with all these Sylab codes and to play around with the Sylab codes eventually to change it according to something that you want and then send us back the a small report saying how you have changed the Sylab code for a given situation. Let us say that we change our problem statement to implement different types of boundary conditions then you should go and change the module or the part in the Sylab code which is dealing with the boundary conditions and run the code again see if it is giving the correct solution and so on. So, eventually the idea is that you should be able to generate these codes on your own in some sense a starting point will be given to you with the codes that we have generated. So, you can use those as framework basic framework that is available to you and then start making the changes. So, let me just go back to my slide and finish up with the statement of a convergence criterion for the iterations whether it is a Jacobi or the Gauss Seidel that we are talked about or the relaxation form of those you can implement the same criterion essentially you find out the maximum value of the absolute difference between the value at a grid point after the k plus first iteration and the value of the grid point at the k th iteration find out the maximum value of these in the entire domain and set it less than equal to some epsilon which is as I said could be 10 to the minus power 3, 10 to the minus power 4, 5 etcetera and once this is achieved the iteration loop will break and you come out and say that your converge solution is achieved. So, this is the two problems that we will that we will solve in our lab session today. So, what I am going to do is I am going to just describe the problem sheet that we have created for the lab. And these have been already uploaded in the in the moodle few days back along with the codes that that are you going to be used for the lab session. So, in the lab session today which will occur from 2 p m to 3 30 p m what we will solve is these two problems that we have just talked about remember that we have obtained the analytical solutions for these two problems yesterday. So, we have the analytical solution in the form of that series solution for the diffusion equation as well as this steady state two dimensional conduction equation that we just talked about. The analytical solution has also been incorporated in the Sylab codes that have been given to you. So, the way the analytical solution functions is how we were describing it yesterday if you remember it is a series solution. So, the series is getting evaluated till convergence again. So, what we choose is we choose m equal to 1 as the first term in that series. So, let me just open up that document for a minute. For example, the the analytical solution that we worked out or at least didn't work out completely, but at least pointed out how how you can obtain it for this two dimensional steady state conduction equation is now projected on on the screen at the bottom its boxed equation. So, as as you can see it is a it is an infinite series solution. So, the way this will be implemented and evaluated in the Sylab code will be that you will choose or you will see rather how the code is operating that n equal to 1 is chosen corresponding to which the term n equal to 1 will be evaluated here. So, that will be our first term in the series then you choose n equal to 2 add evaluate the second term again add that to the first term. So, that will be our updated value of the of the series solution while doing this of course, or after having done that or before doing it whichever way you you find out the difference between the first term and the second term and if the difference in absolute number if it is less than convergence criterion again you say that you have evaluated the series to convergence. So, this way the the series will be evaluated you keep on adding terms and every time you add the term you find out the difference between the successive terms. If if the difference between the successive terms is less than a certain criterion convergence criterion certain small number we say that the series is evaluated to convergence. And the Sylab code actually will point out how many terms are required to be added in in this situation and also the previous solution to obtain the solution. So, the Sylab code will actually calculate the numerical solution using our iteration algorithm for this particular problem. It will also evaluate the analytical solution by evaluating this series to convergence a numerical convergence that is and will compare by plotting 2 different plots a temperature contours obtained from the numerical solution and the temperature contours obtained using the analytical solution. So, when you when you run that code and I will describe which code is that in a minute when you run that code you will see that once the code runs and completes you will see on your screen 2 different graphics windows one will have the contour plots for temperature contour plot for temperature obtained using numerical solution the other window will show the contour plot for temperature using the analytical solution that is the way the the code has been written. And we would like you to also look into the implementation of this series solution in the code it is useful to know how these series are programmed how many terms are added in what form the convergence criterion is implemented and so on. So, let me now quickly go to to the lab sheet and describe to you what will be done in the lab sheet. I think it is it is possible that many of you already have the lab sheet with you either in the form of a hard copy sheet which perhaps your coordinators have given to you or definitely you may have seen it when we uploaded it on on model in the soft copy form it is essentially a word document that has been generated for each of these labs. I just want to point out what is what is getting done here and all lab sheets will be more or less similar in the in the structure. So, in this case what we have is the first problem that that we are talking about is our diffusion problem. The entire problem has been written in in in the form of a setting of the problem. So, the governing equation is written the boundary conditions and then the initial conditions are are specified. Now, that we are solving this using numerical method we have to provide numbers. So, appropriate numbers have been given here for kinematic viscosity density that velocity of the top plate and the spacing between the two plates. And this geometrical and physical data has already been coded into the the Sylab program. So, you do not have to do anything about it. The way the Sylab code will work is there are two codes by the way for this diffusion equation. One code will deal with this explicit method that we described and the other code will deal with the implicit method. The names of the codes which are going to be dealing with the explicit method and the implicit methods have been written in bold in this in this problem sheet. And what is what is required is that you run both of these for a maximum time of 3 seconds is what has been given. You can change that if you want, but but at least initially you you stick to what is given as the problem statement for three different values of the axial pressure gradient in in the first case when we are using the explicit code. What I will suggest is that when you run the code you will realize that a series of prompts is given and you have to input something corresponding to each of those prompts. When it comes to the selection of time step I will suggest that select the option of calculating the time step by using the stability criterion. So, that the the code works without blowing up and will give the solution. So, please keep that in mind that has been written in bold letters in the in the in the sheet anyway. Similarly, when it comes to the implicit scheme which is the second part of the problem here, a different code will be executed. Again when you execute that second code there will be a series of prompts at the at the prompt you will have to input certain information. And at least for the initial purpose that information is provided in the problem sheet. So, you just type in that information and let the code churn out the solution and and see what happens. In the case of the diffusion equation problem the CYLAB program is going to numerically compute the solution and also analytically compute the solution. And in this case it is a one-dimensional problem which is a function of time. So, the the output window will show how the velocity is developing in time at different while locations. So, that there will be different curves I think there are going to be 6 curves between time equal to 0 and the maximum time equal to 3 seconds that has been mentioned here. I think what the what the code is is going to do is it is going to divide this entire time period of 0 to 3 into 6 equal increments. And then at each of these 6 times it will plot how the solution is. So, you will see and get an idea of how this u velocity is evolving in the domain as a function of time. Superimposed on the numerical solution will also be the analytical solution. And I think the analytical solution will come in the form of marks whereas the numerical solution will come in the form of continuous lines. That is the so the array saying that is correct and that is good. So, I think most of the coordinators have have used this code during their workshop here in March. Some modifications of course have been made into the code and some prompts as a as a result of those will come up when you execute the code. But the basic structure of the code is more or less the same it is not really different. And in that sense the coordinator should be able to able to figure out relating to what they did in the coordinator workshop in case somebody has any questions. So, that is just the problem setting. Now, moving on to the next page what we have done here and provided is for the first problem let us say we have provided two answer sheets. So, to say one of them is for the explicit method one is for implicit method. And what you see typically here is there will be three empty boxes provided on page number two of this problem sheet. And the caption for the figure reads that numerically and analytically calculated velocity profiles using the fully explicit scheme for three different values of the axial pressure gradient. So, the three boxes correspond to the velocity profiles that you will obtain as a function of time for three different values of the axial pressure gradient. So, what we are expecting is that once the code gives the output you can export that output in JPEG or GIF for one of those graphics format. And in your soft copy that is available with you you can actually place the output for your own reference. So, that you generate your own answer sheet in the soft copy which we would like you to carry back along with the Sylab codes of course. So, that after the workshop you can spend careful time with these codes and make sure that you can recreate these solutions. So, there is some space given here for your own observations if you want to note any of it. So, it is really up to you I mean now we want to give the control to you and feel free to play around with the code and make sure that you understand how it is working. So, some space is given to you for your own observations if you want to note down again this is really for your own sake. We are not expecting that you submit this problem sheet along with the answer sheet back to us at least the ones that we are giving you for the lab session. Moving on to page number three a similar answer sheet is provided and in this case it is for the implicit method similar things there are three cases that we are asking you to evaluate with the implicit method and corresponding to each of these three cases you take the output from the graphics window of Sylab and copy paste that into these boxes that have been provided again to complete this answer sheet. The final page talks about the conduction equation that we just talked about del square t equal to 0 in two dimensions and here also the problem statement is given in terms of what we are solving as the governing equation right here along with the boundary conditions when you execute the corresponding code which is mentioned here in bold the code that deals with the Laplacian of t equal to 0 solution. Again a series of prompts will be provided by the code and you will have to input some information corresponding to each of those prompts all that information which is essentially the boundary conditions and the length and the height or the width of our domain in x and y direction etc. have been provided here along with the temperatures. This is just for a reference purpose you can change these numbers whichever way you want but at least perhaps the first time you run it maybe you should use these just to make sure that how the code runs and how it outputs. The next set of lines which is in bold is informing you that use the code for three different values of that relaxation parameter omega and I have just written here use 0.5, 1 and 1.5 and corresponding to each of these omega values note down the number of iterations required to achieve convert solution. When the code runs it outputs continuously the iteration level as a step number. So, you will see that step number 2, step number 3, step number 4 will keep on appearing as the code is completing iteration steps. So, just monitor the number of these step numbers which are essentially the number of iterations required for obtaining the convert solution and make sure that the code is requiring lesser number of steps or iteration levels when the parameter is increased from 0.5 to 1 to 1.5. I hope you can note that and finally just as the first problem two windows have been provided here on the answer sheet as we are calling it and the caption reads the temperature contours obtained using numerical solution which you can place in the top box and the one that we obtain using the analytical solution you can paste in the bottom box. So, that is the way the lab sheet is generated. It is very straight forward in some sense you will not be really doing anything if you look at it that way all that you will be doing during the lab session is to run these codes by providing the outputs that have been suggested in the problem sheet generate the output and then complete the answer sheet that is the minimum thing that you can do during the lab session. What we are really expecting that you will do is to go through the code line by line if not during the lab session later and see how the code is structured and how it is executing steps one after the other. We have made sure that there are plenty of comments written in the code that will tell us how and what is going to happen. So, it should be relatively straight forward to follow this most of the coordinators have done this. So, I think they will be able to help you as well on the execution of these codes. So, with this we are at the end of our finite difference discussion. Remember the reason we have chosen to discuss finite difference method in a very restrictive manner meaning that we are discussing it using these two specific problems one of this diffusion equation and the one of the Laplace equation. The reason is because the focus of the workshop is on finite volume technique that will be taken up starting from 11.30 today. So, the next session will be actually by Professor Sharma where he will begin the part two of this workshop which is now actually getting focused on the computational fluid dynamics part. What we have done from day one to now is to try to build a background in terms of deriving the governing equations in terms of getting used to those governing equations through the manipulations that we have done throughout these last four days and the few analytical solutions that we have worked in the sessions yesterday. With these we believe that the background required for getting on to this CFD analysis is more or less set. What we have done last session yesterday and the session this morning so far is just about introduce the idea of a finite difference approach wherein the partial derivatives in a governing equation are replaced using or replace with approximate relations approximate expressions which we obtain using the Taylor series application that we discussed. And we have also seen a couple of standard solutions algorithms. One was that implicit method which turned into a requirement of solution using that Thomas algorithm the tri-diagonal matrix algorithm. And then the last example that we took the two dimensional steady state conduction where we have used our iteration method for solving it. So, with this I am essentially coming to the end of my part I would like to thank all of you I think the participation has been excellent so far in my opinion. Some extremely good questions have been asked over the last four and half days. And although we have not been able to address many of them convincingly let us say. What we are going to do now is we will start answering those on moodle because I think already enough questions have been uploaded on moodle since we could not really visit all centers and take all questions. So, we will try to now answer these questions one by one on moodle. So, I will still request the participants to be slightly patient. What we are going to do as far as questions on this finite difference in part is concerned since there is no question and answer session today we can take up the questions on this part on Monday because tomorrow is a break in the workshop. And on the on the on Monday during the question answer session I will be around. So, if there are any questions on the finite difference in part I will be happy to address those. And in fact in all question answer session starting from Monday feel free to ask questions based on the first half of this workshop the governing equations the kinematics part analytical solutions and the finite differencing. So, I will be always present here during the work during the question answer session for sure. So, feel free to ask those questions. So, thank you very much.