All right, I've got a bunch of photos I'd like to show you and I think that's okay. This is me, I'm obsessed with caffeine. And I do, it makes me do strange things. That's basically all we need to know. One of the things that I'm going to show you, I think is captured my imagination quite a bit. With the captioning concept of it being wearable, I think the first thing that most people think about is a product that has sketchy history. Google made something called Google Glass and it didn't quite make it into the mass market. And mostly for social reasons, not because of technical reasons. The idea that you would have something that was wearable that would constantly be sending what it saw to the cloud and from who else. Some people thought that was not a very good social environment. And so the social response that was changed the name of the product. But it didn't entirely die. The Google Glass was 2015. And I know it seems like a long time ago because of COVID. But that was when it was conceived. And 2017, it made a reappearance. It came back two years later, but not as a live streaming tool. Instead, they tried to introduce it to enterprise. And so Google Glass is available, but not to consumer. So if you are an enterprise and you have a need for it in, I don't know, manufacturing or maybe training or something like that when you need a heads up display. Or if you need your hands to do something while looking at something, then Google actually doesn't provide it. And the cost price is about 1000 US dollars. So it is available. It came to my attention because in the last couple of years I've been trying to make accessible to persons with disabilities. So tech for the purpose, tech for the purpose, that's the hashtag. So this article, which is on IEEE points to the use case where they were trying to see how this kind of device would be useful for children with a specific kind of disability. Because the tech is already there. It's done the necessary engineering behind it to put it to good use. And I thought this was a good idea. But the problem I had with this was the price tag. So the people I was working with in Singapore also found that this was not accessible. An accessibility device, but it's financially prohibitive. It's not affordable. So strangely inaccessible. So do what, you know, hackware and hackers do. We take part and try and find a local alternative to something that's available in the market for something you can't afford. And that is the approach that I take a lot of people in the Google resonate with. So the question then became what's inside Google Maps. And I Google that. Turns out this picture came up and it says at the bottom, it's surprisingly simple. I don't know about you, but some people would find that surprisingly simple. Others. Mostly people like me, didn't think that that was particularly simple, especially the thing in the corner. But if you worked with lenses and things, it's not exactly simple to make that happen. It looks like there are few parts, but there's a lot of engineering that goes in the end.  You will not be able to read it physically. It's impossible for your eyes to focus on something that's floating in the store. The best you can do it somewhere here. That's like the nearest distance that you can see. So the question was, can we do without the optics? And it turns out we can.  So we tried it. This one in open sky, which I think some people would really like. We came up with the Raspberry Pi as a very nice way to do that. It's a Pi Zero W. And the total cost price came down by a factor of $100. This is a generous number. I mean, if you add up all the component parts in there, it's probably going to cost a lot next. But we're not factoring in the time to print and the time to design and all those other things. But I think generously we could probably sell it for $100. So this is what we have here. It's 3D printed. Got a Raspberry Pi on the side and got a display screen. And it uses high tech space-age technology to hold it all together. Which is a bunch of plastic and anybody want to guess what this is? I'd love to say that yes, you're absolutely right, it's carbon fiber, but it's not. It's even cheaper than that. It's a dollar for this two meter. It's a 50 cents per meter. And it's very commonly used around Singapore and Southeast Asia. When you're angry with somebody, there's a phrase. We tell them to go for a kite. And it's used for big size kites. You go to a kite store and there are a few in Singapore where you can buy this material. For 50 cents a meter. And it's very easy to work with and chop it with a pair of scissors and stick it into your 3D printed parts with the screws in. And you've got a wearable that is highly customizable and puts a screen within your field of vision. And if you connect that screen to a Raspberry Pi, you've got that screen displaying anything you want from the internet. So the design of this was so that it would be modular enough that we could tailor it to individuals. Because remember I mentioned I was trying to work with persons with disabilities. So as cool as this makes me look right now. I know everybody wants what's in the room. It was meant for people who were either hearing impaired or users of hearing aids. And so we designed it so that it would allow for it to be personalized. So individualized. So this noise piece would only fit one person. The earpiece would only fit according to the person. And everything else is kind of interchangeable. So that's what we did. I'm forgetting something. Yes, the wiring is intentionally left for cool factor. And because it's a prototype, so it's exposed. But the end result is you get a screen that's invisible within your field of vision. And it's lightweight enough that it doesn't cause too much of a problem. The challenge then became how you power this thing long enough for it to be useful. Also, what does it do? If you want to have captions and want to see something, what is it actually going to show on the screen?  So no big deal, right? You're watching video anyway. So but this is meant for real life video, which some of us struggle with. But if you get somebody saying something and you're hearing it and barely able to pick it up, or it's drowned out by white noise or somebody else speaking, it really helps to have captions within the field of view. And now if you talk to people who are deaf or hard of hearing or hearing impaired, they use a tap on their phone. So they usually have it out here and then they listen to what people are saying and then they just see it on the phone. So that's the current state of how people with hearing impairments work. So this was tried to push that down here and see if we can make it right. So that was the intention. It's supposed to have a little microphone at the end of it. It picks up what is being said, send it to the Google Cloud, uses a speech to text engine and then springs back the text in real time. So you can see the captions and what's being said. So that's what we call I hear several prototypes. This was the chopstick prototype, which is important point out because it literally has a chopstick in it. It's actually easier to work with chopsticks than 3D printing everything. That is what inspired this material. If we never use the chopstick and 3D printed everything, we would never come up with this pro tip there use chopsticks. The display is not particularly fancy. It is what you normally use when you want to have a tiny little version and don't want to break the bank. This is like $12 and plug it in the Raspberry Pi again, all standard stuff, nothing particularly scary. You follow the standard tutorials, plug in your Raspberry Pi zero and get your display working. I just put it up here because we tried to watch YouTube on the time. It turns out, it's got a web browser Raspberry Pi OS interface. You can watch a YouTube video. You do need a magnifying glass, but it can be that. So that's the screen that's hovering in front of me. It helps with other makers, but the key person you want to work with is somebody who uses a carrying aid. So we worked with a number of people who volunteered from the same association of debt. They came in, they partnered with a very cool idea. Very few people engage with carrying aid users and very quickly we found out where we made all the mistakes.  So when you have something lightweight and more modular enough, you can invite people who are actually going to use it and learn from them takeaway. So what we find out when we talk to carrying aid users is that this year gets in the way of the actual carrying aid. And what you want is something complementary, you don't want it to replace the carrying aid. So we got feedback from this person and said, you know what, try a strap. And so we got rid of these bits, we just pulled them off and then it was strapped instead. And that worked out beautifully for him. But somebody else who tried it said that they were quite okay with it. And so we left it like without the strap. So it depends on the individual user and how they use it. Because you have a modular design, you can come up with things on the fly. All we need is, you know, cable tie and duct tape, you can solve pretty much all the problems. Okay, so that's something we call I hear. And this is a prototype that is now I'm still actively working on. If somebody wants to join in, let me know after the talk. Part two is we took this idea and we did a book. And instead of having something personalized individualized for each individual user. There was a request from these people, and they all are on Singapore, it's a collective of theater people so Esplanade SRT National Library faces like that that do performance parts like on the stage. So they had this idea and they wanted to do something that would allow for hearing impaired or people who use hearing aids to go and watch a live theater performance without having to download a special app. So they could pick up something and wear it and then watch the show, leave it behind and then go away. That was the intention. And being an open source approach and open post projects, we were able to draw inspiration from community responses now. This is a common sight around the world, not just in Singapore. Medical workers responding to the pandemic situation. This is a picture from 2020 when we ran out of personal protective equipment. Some people in Singapore decided to put up their hand and said, you know what, I want to try it out. I'm a geek. I don't know how to do medical stuff, but I have a 3D printer. So how can I help? And it turns out it's not just in Singapore, everywhere people started printing things. So this is a Prusa design. It's downloadable, tested and printed millions of times around the world. There are different ideas that came out before this one. But this is the one that is highly printable, uses the material and lasts the longest. I printed this in 2020 and it's still totally flexible and wearable. So this is where the face you would go. So we drew inspiration from this idea and turned it into this. And you can see literally that has intimate relations with this and produces an offspring, which is a pork hardware for exactly the same concept. And it's highly wearable. You don't have to personalize anything. It's all very, you know, generic, and it has more 3D printed parts. And this is not staying in place because, you know, prototypes. But it's the same screen. And I've designed this to be a little bit adjustable so you can move it, like, you know, in front or further away. And the same telescope in and out a little bit. But the idea is exactly the same. We're trying to turn this thing on. Look, it actually works. Later on, after the talk, you can have a look, it will try and connect the Wi-Fi and fail, but you can actually see some text on the screen. It is entirely open source because, you know, I don't know how to do. I don't know how to do advanced ads. So I'm sure somebody recognizes the software this is made on anybody. Think of that. Thank you very much. Yes, it's the same sort of 3D design software that you use for to introduce CAD to children. If you want to customize a key chain with a 3D printer, then you use TinkerCAD. And it turns out you can push the boundaries with TinkerCAD quite a while and you can come up with something like this and work with theater professionals and get people, actual hearing and CAD users out into the field watch the performance using a prototype that was made on TinkerCAD. So this is where the project is right now. You can call it this play screen because it sounds like this play screen, but it's about plays. So it's a working title, but anybody wants to get involved please do because the play that this was written for is the text that you're seeing on the screen here. And if you think about it, stage performances, when you have hearing and bed people in the audience, they put up some kind of a screen where they show subtitles in a live stage. But if you have an outdoor performance, these two are actors who are performing outside, you can't really carry around the TV screen to show people subtitles. And so a lot of people who are here in the bed don't ever go and participate in these sort of fun and interesting performances. So that was a unique opportunity, and we were able to involve a lot of people in this kind of like prototyping process. So it's not just about hardware. It's not just about, you know, being clever with open source. It is about involving persons with disabilities in your sort of design process. I'd love to show this video possible, but that is not happening. What we learned very quickly when we had people wearing these things and walking around was that it allowed for somebody who has a hearing aid to keep their hearing aid on, and they were able to watch the show exclusively the show because it only has a script. It's not like I hear, which has like, you know, whatever people are saying with live transcripts. This one only displays the script that is performed by the actors. And so it doesn't get in the way of your other interactions with people around it.  They're all different hearing aid users, and they were able to communicate with each other while the performance is going on. And unlike us, hearing impaired users are able to communicate without making a sound, because they use sign. And when you use sign, you need your hands. So we realized that completely accidentally wasn't like the main thing you could think about when we started designing this. And we gave it to them and they were like, yeah, you know, this is good. So the design process involves users, we learn things that we don't know what to expect. Also, it's quite a cool factor. A lot of people wanted to take the picture of the thing while they were wearing it, while the performance was going on. So the people that participated in this trial had a lot of fun. So this is what we call this play screen.  And so a lot of people have been thinking of various kinds of electronics, but this is where it is now. The trial is complete. SRT is very happy with the success of this one prototype. But like Varsha's, you only made five, you've only made three of yours. So right now there are five that exist. I'd love to increase that count, but I need all the help that I can get. I want to try and optimize the power consumption, change the capability of what you can do with the screen, because it is full color. And all we're using it right now is for text. So one of the people who participated in the thing, they were not deaf, but they were speaking big, actually said, you can, on the same device, have people showing videos of sign. You don't have to show text. And sign has this beautiful advantage that it's not an English. You can sign language. It's the language on the phone. So it trumps in language. The other suggestion that a lot of people have was you can show different languages at the same time. So that's where we are. We're doing this. If you want to know more about the trial, it's on SRT website. If you scan the QR code, it will take you to the military or the thing that I'm doing and got all of this stuff. My contact is over there.  I want to end this off very quickly with a request for donors for the make a space to the place that we'll be trying out all this other stuff, but this is a tech. We want to keep it going, but we only have until the end of this year. So please do donate and one last request. If there's anybody in the room who has worked with wireless antenna design, or know somebody who is good at this, please talk to Michael later on. Thank you very much.


Hello everyone, welcome to NPTEL course on groundwater hydrology and management. This is week 10 lecture 3. In this week, we have been focusing on collecting groundwater data for assessing the aquifer properties. The previous classes, we looked at the different data that is required to understand the physical properties and we saw that the government has done very in depth analysis in certain states like Tamil Nadu and Tamil Nadu's data tells there is some characterization of the aquifer. Similarly, other states have been populated and slowly the entire country data would be put on the WRIS website. So please log in often and check for updates. So in today's lecture, we will be going through the WRIS ground data. As I explained earlier, ground data can come from different sources especially on this website from Central Ground Water Board, which is under the government of India and there is state government budgets that have been put for groundwater monitoring, which is the state data. So there is central owned data and then state owned data. All these data are now shared in the WRIS website. You can click and choose which ones you want for understanding because maybe some state water data is collected at multiple intervals. So you could have better access to it. Then you have the data properties we looked at is station name, trends, long-term average. We will go through this today also to look at specific data and how do we look at the long-term average and then short-term average, etc. So individual wells we will look at and download. I will not show you the tables that I do with Excel or any other software because many of you may not have these softwares, for example. So all I will show you is how to download and then making the graphs, etc. is you could learn from graphing techniques. Basically the same graph you see on the screen can be reproduced by these maps, by these data that we are going to collect. So let's start with showcasing the central groundwater boards data. We will pick one location and then we will look at how the wells have been looking at, let's say Maharashtra will take and then we will compare it to some regions in Rajasthan to see why the groundwater levels are declining. So what actually is measured we will tell. So let me share my screen. So we are on the home page again, as I said, go to water data and then groundwater level. Click it and based on the time it takes, you will see how the populated, the area is populating. Okay, it will take some time just give it for the internet to pick it up, okay, there it is. So in the last class, we looked at where this water levels are declining and increasing for the whole of India. As I said, we can look at the one location. So how did I pull the map up and down is by left click your mouse and then move hold on to the left click and then move the whole picture will move. You can zoom in, zoom out, go to the last view, okay, or zoom to area. You can say I can draw a box and then zoom to this area. The last view was India whole I had so I can go to the last or the new view. I can zoom in by putting plus and zoom out by putting negative. So these are the basics and some details about the data, mobile apps, etc. is given. Okay, so for example, I drew a box and that's where the, I can take the box off and then I'll say I need, you can also use a scroll button from your mouse to move out and in. Okay, so here's where I am. I'm going to look at a particular well where let's pick one from here and I'm going to see just central non-orderable data for first. Okay, it is a monthly or seasonal, let's keep monthly. And then I'm going to use the same default time. Okay, let's say Jan, ready, 22, let's go a bit further. So I'm clicking the calendar. I'm clicking the year, not the month, click the year, and then you can have a various months, go to 2012, for example, and so I'm going to take nine years of data. So depending on your internet, just we are practicing. So you can take what you would like. Okay, so I'm going to click Maharashtra to populate Maharashtra. You can see Maharashtra is now populated. Okay, I have to click not in the center also, but on the line, then you can come this one. And then you have for October, the default thing will come so you can see all these. Okay, so what you can see is the levels of Maharashtra are improving slightly and then coming back down in this one year, that 2018 default. I haven't clicked this yet. So once I click it, you'll see the entire India now doing the map. Okay, and then you can pick your specific location. I'll show you how to do it. Okay, we've taken this out. So as I said, the entire India from 2012 to 2021, it is almost same. It is average. The trend is not down or up. Almost it is same. It does go really down, which means the pumping has increased. The groundwater level has fallen. I love to draw this so that you could see what I'm looking at. Okay, so this is your ground level. So this GL ground level and meters below ground level. Okay, so this is your well. And what is happening is the water level goes down and then up, down, up, down, up. Okay. So it is almost stabilizing. Here you could see what has happened in this part is the water level has gone a little bit down, but it has come up again. So this is the top surface. So the water level has come down, but it's gone up again. Okay, which means it is okay. The aquifer is not stressed of the whole of India. So how many wells are there in CGWV, 32,678. I've been telling 50,000, 15,000. That includes the wells that are operative. See, total number of stations can be 32. How much you can access is within 15,000 range and also some data are not there. I'll show you the things. So the graph is now based on this value, which is 15,000, approximately 15,000 wells. So 15,000 wells average is taken here. All this is running behind the servers and cloud space. So you don't have to worry that it's going to take my computer time or my computer processing limit. All you have to have is a good internet to get this data. Okay, so moving on, we'll also see that the average level is nine meters below the ground and it goes up and down. So nine is still deep compared to the locations. Okay, so now you could see that I have it for whole of India. You can pull down this slider. You can see the slider or if you want, I could put my spotlight. So this slider, I'm saying, this slider, you can bring down to see the states, okay. And there is another slider here to see the data. Let's show you here. So you can pull this down to see the data. So the multiple sliders within the frame, you have to be careful which ones you choose, okay. So on overall nine meters is the water level for India in that period and we had 15,000 wells analyzed for it. Now what we have to do is we have to look at how much wells are there for Maharashtra. So I'm going to put a search here just for a state, Maharashtra, it comes up and it says number 22. When you go to number 22, it doesn't open, but you can go here, the point of change is for finger and that is what you want. You can click it and see now it zooms into the Maharashtra state and the data for which I ran the analysis is there. So I didn't have to do anything. Just select the Maharashtra state. How do you know the Maharashtra state has been selected? You can see from the top, I'll come here India Maharashtra. If I click India, it will go back to the India view and now I'm in Maharashtra. How many wells, 1,644 wells have been put here for analysis out of 2,500 wells, okay. And the level is six meters. So in India, it was nine meters depleted. For Maharashtra, it is six meters depleted, which means Maharashtra is doing better than the overall average India size. Now you can move this, it's fine. You can move and do, but still as long as this is saying Maharashtra, you're still in the Maharashtra page. Okay. I'm going to remove the rainfall. The rainfall is given by IMD. I'll come to those data later and you can see the current level fluctuating up and down in almost stabilizing at six mark. So six is the average across and then it goes above six and below six. You remember the well diagram hydro, so it goes above and below the sixth level. In Maharashtra, there's many states, so districts, and these districts are given here. How many districts are there? At least the data. You can pull down this slider and pull down this slider, so you have 36 total, 35 districts total and then the row column, right? And each district has its own number of stations. So let's say Tane is known. So let's click Tane or let me check Jalgovan because I know Jalgovan is a little bit drier. Yeah. Jalgovan is there. 51. Let's click Jalgovan. Okay. Now it's turning. See. Six meters for entire Maharashtra. Now I'm going to click Jalgovan. It goes to Jalgovan. The screen goes to Jalgovan. And what you could see here is I have to pull this up and then go up 11 meters. So as I said, 11 meters depletion in Jalgovan. And within Jalgovan, there are blocks. There are one block, two blocks, et cetera, and each block has its own different readings. So there are 51 stations analyzed out of 88. And the overall trend is at lower 11. It is still fluctuating along 11, but it is much lower than the India average, which is nine, and also the Maharashtra average, which is six. Now we have come to one district, Jalgovan. And then let's say this one. I want to look at this and this is the source, CGWB. If I did all sources, then all the sources will come and it will tell me if it is central groundwater board or the state data. So I'm going to click ABORA and that is the well. So when I click the station name, it goes to the well and stops. And now it populates the data. So what do you find in this data? It is not full, which means I said start in January 2012, you can see here. And then go to January 2021. It starts in January 2012, but then it doesn't go beyond 2014. So this is one such station where the data is not there. It is start in well. And there's no rainfall data. So the rainfall doesn't pick up, but there is no other data. So this is where you need to be careful in downloading only the data that you have full term. What is the point? If, for example, if you want to understand 10 years of data, groundwater depletion. What are you going to do with just using five data points? You need more, right? So that is where I'm trying to get at. You need to take five years of data, at least in a 10 year period. And since this doesn't qualify, we can go back.  Come down. You don't see any back button. So be very careful in pressing the back button. What I would recommend is go up and click Maharashtra again. So this blue color will turn, the hand will turn into a finger. The pointer will turn into a finger. And that means you can click. So if I click Maharashtra, now the entire Maharashtra comes out. So see, now it's populating the entire Maharashtra. All the data is back. So this is how you could zoom into particular wells, particular districts, and then look at where which wells are there. We could have gone back to the, you know, just the district itself, but okay, that's fine. We'll go back to another, we'll pick another district. Let's pick a district where the water level is down so that we can look at, let's take Parmani. Okay. So Parmani district is a very highly agricultural district. You see a lot of sugarcane growing there and it's populating now, Parmani. So in this blue box comes, please give it time. But sometimes it goes long time. So just stop it and then go to another one. Okay. So maybe the data is getting stuck somewhere. So it's okay. And always these kind of things you can come back and then select it will still work. And this blue line has to go, but it's not going. So as I think it may be it's stuck. Okay. It's okay. Let's click another district. If it doesn't work, just click summit again. Let's see if it populates. So while it's populating, I'll also say that you have multiple other extent and layers that we can use to reduce the internet, you know, downloading data. All these are downloading a lot of data. Okay. So since it's getting stuck, let me refresh this page. I'm going to reload. You can see this button. You just click that. It will reload. So now we'll know if it is an issue with the entire WRIS data system or just the Maharashtra one we looked at. So while it's populating. I would like to stress that please first use central groundwater data because it has a longer time frame of data. Okay. And also try to be consistent with which station you are using because each station has its own data issues, right? There might be a full data term for the static period or very less. And when you download it, you will know that it is not a continuous data. What you saw was a line, right? You saw a line like this for the data. It doesn't mean that you have a data here, here, here, here, here, here, along the line. No, it's only at some points. Some points along the data, there is line that is along the line that is data and that is being connected through this software. So you have to be careful in using this software. So now it's working. It took some time for bringing back the screen. Okay. So let's select another state and then click on where we want to go. Okay. So I'm going to click India back and then under India I'm going to take, I'm just going to use one less data set so that we can quickly download the data. I'm clicking Maharashtra. I'm clicking Parbani. You can see how many total stations are there and the source. Okay. And you could say that here there is no well record. So you need to come to a well record which has the data. So it looks like none of this has the data for this period. That's fine. We can go back to another data set, go to Maharashtra again. I'm just using one year data to because of the internet and the webpage which is creating an issue. So let's say Mumbai. Okay. In Mumbai, this is the Mumbai area and you have church gate, for example. And that is the location of the station. So now what I wanted to show you is if you come down in the website, you could see that the name of the station is given as Mumbai, Bombay church gate. It is a source CGWB where which basin, which river basin is it located in. This is located in the west flowing rivers from Tappi, Tandri basin. The state is Maharashtra and this is the lat long. So those who know the GIS and GPS coordinates. This is where the exact location of the well is on the planet. So every inch of the planet has a GPS GIS location. It is called lat long latitude and longitude. So that gives you the exact location of your well. So if you're going to use a mod flow groundwater model or GIS map, you need to know exactly where it is located and that is where this number helps. And this is the average level 1.68 meters. So below 1.68 meters, you have groundwater. And this is good groundwater in quantity. Why? Because it is very shallow. Within a meter you dig, you get water out. However, because it's next to the ocean or the salt water bodies, you can get some water coming in, right, the sea salt water coming in. So the taste may not be as good, but we won't get into that aspect. We are only looking at quantity in this class. So now I have this data for this period and I can also select here. I could go different seasons or I could say I want a date from 2. So right now, because of the website actually causing some issues when we download large data, I'm just going to show the principle to collect one data. So one data, one well. So you can click here. It'll ask again, are you a government professional academic? So since I am an academician, I'm a professor, I'll put my name and my email ID, submit. It starts to download. It'll ask you where to download it. I'll put it on my desktop and then I will show you how to open it and use it. Okay, it's downloaded.  But again, this is how you could download one data. Let's try one more time doing the longer time period. So I'm going to click here. I'm going to say all agencies, let's say CGWP for now, it changes. And then start and date, I will give 2018 and 2021, submit. So for India, it has repopulated again. I'm going to do the same thing. I'm going to say Maharashtra, I'm clicking Maharashtra, it's zooming in. And you could see that the rainfall is fluctuating fine. And as the rainfall fluctuates, the current level from 2018 to 2021 also fluctuates. And I'm going to select a district, you can say Mumbai. Okay, there are in the district, there are five stations and all the five station average is pulled up. You can actually download all the five stations. You can click here, it'll download all the stations together or you can select which stations you want. So if you look at here, you have some stations at level one meters below the ground. See, it's asking where to download it. I'm going to download it on my desktop, I just put it here on my downloads. And then it is downloaded, so I will just click to show you how it looks like for all the districts. Okay, so I've collected how many districts now? Seven districts within Mumbai, I'm sorry, seven stations within Mumbai, urban. So the district name is Mumbai and within Mumbai, I have selected seven districts. It'll ask this question, are you trusting the source? You'll have to say yes, because it is a government data, we hope there is no virus, so we'll just say yes, open the file now. And you can see the levels, okay? This is the average level for each and every station for the time period. So it says Thursday, I took it. It doesn't tell you what is the time period of the data. It is up to you, you have to make note of this details. Okay, so coming back, let it populate while we work on this one. And then if you click the Bombay church, for example, then it goes to that station. Now you can download the individual data for that period. You can click, it stores again, now it says groundwater station, Mumbai church gate. You can click save, I'll open it. It says yes, do you want to open the file? Yeah, so you have this latron where the location of the well is and the average for that period from 2018 to 2021, I have the average. So this is how you build a groundwater data set by clicking on each and every well you want, take the locations and the average well reading, okay? You can also download this data, which is your time series of data. What you downloaded here is just the location data, but if you want the time series, you can click on the time series. It lasts, do you want a PDF or CSV, which is your Excel? Say Excel, and it will save as CSV file. I'll open it. Now you could see for Mumbai church gate from 2018 to 2021, the monthly or whenever they took Jan, May, August, November, Jan, May, August, November. So all the data has been taken. The last 10 years data has been given and this is also there. All the units are meters below ground level, okay? Last year's also meters below ground level, this also. So you have the last year's data, current data and so whatever you select here, whatever you select on the web page will be shown. I didn't put rainfall, so rainfall is not on that list, okay? So in the next class, we will look at two different scenarios using the data from the groundwater board. And then we will try to see how the resources are estimated. So I've clearly shown you an example of how to zoom in to a state, zoom in to a district, and then you can come down and select the number of wells and then you select a well. After you select a well, then you could look at the data as a time series. You can download the data as an Excel or an image. You can click here, an image can also come. You can also make the, as a chart line, okay? Or a column, if you want a column and you can make it big, small however you want. You can play with all these. So all these tools are always being updated by the WRIS site. So with this, I would like to stop today's class. Please spend time on this website to download the data. And every time the method would change a little bit. But the idea is same. You will get the location of the entire India with the average. Then you can zoom in to the district. You can zoom in to the particular state and then district. And then within the district, you can look at how many you have, okay? How many wells you have? Not all wells are recording and all wells do not have the full time record of the data. There are some issues. So you select which data you can and then use it for your study. With this, I will stop today's class. I will see you in the next class. Thank you.


So, we have been looking at convergence behavior of numerical schemes for solving ODE initial value problems and we graduated from scalar case to the vector case. We have looked at now general linear differential equations, multidimensional linear differential equations and analyzed stability of some of the well known integration methods particularly we looked at explicit Euler, implicit Euler and then. So, the way to go about of course is to use at least to get an insight is to use diagonalization and we have considered a special case where d x by d t is equal to a x, a is a diagonalizable matrix and a can be written as psi lambda psi inverse and lambda lambda is a matrix which has lambda 1, lambda 2, lambda n where lambda i correspond to ith eigen value of a and psi corresponds to eigen vector matrix, psi corresponds to the eigen vector matrix. So, that is columns are eigen vectors of a and then using this diagonalizable matrices we actually got some insight into how different methods behave see for example, if I write down the equation for trapezoidal rule then trapezoidal rule is x n plus 1 is equal to x n plus h by 2 f n plus 1 and for linear multivariable system it turns out to be for linear multivariable system it turns out to be this difference equation and then we defined E n that is difference between x star n minus x n where x star n is the true solution x star n is the true solution. Let me just move back and the state here the true solution the true solution is x n plus 1 star is equal to e to the power a h x star n this is the true solution and then we want to find out the difference between the true and the approximate solution for by trapezoidal rule is given by this particular matrix this particular matrix difference equation and then if we want to look at E n plus 1 x star n plus 1 then you get this matrix difference equation this particular matrix into this matrix into this vector. So this is the difference equation which we should evolve we had made one more assumption we had made two assumption a is diagonalizable the other assumption we had made was real part of all eigenvalues of a is strictly less than 0. So we have assumed that real part of lambda i is strictly less than 0 real part of lambda i is strictly less than 0 then x star goes to 0 as n goes to infinity. So we are looking at a stable multivariable system all eigenvalues are on the left half plane and because of that x star goes to 0 our focus is in understanding how this particular equation behaves the this part of the equation that is this matrix eigenvalues of this particular matrix block matrix this is a block matrix this is a matrix this is a matrix this is a matrix this is null matrix. So this is a block matrix and what we want is all eigenvalues of this matrix should be inside unit circle in order that the approximation error asymptotically goes to 0. So for this to happen we have to do this jugglery we have to look at this matrix i minus h by 2 a inverse i plus h by 2 and then I am going to use the same trick psi psi inverse h by 2 psi lambda psi inverse inverse psi psi inverse plus h by 2 psi this can be written as so psi is equal to i minus h by 2 lambda inverse i plus h by 2 lambda into psi inverse ok. This is a diagonal matrix this is a diagonal matrix because lambda is a diagonal matrix i is a diagonal matrix i plus h by 2 lambda is a diagonal matrix and this is a diagonal matrix. So with this this particular matrix any element of this matrix the diagonal element of this matrix will be of the form 1 plus h by 2 lambda i divided by 1 minus h by 2 lambda i that will be the element of this matrix diagonal element of this matrix and then we want this to be strictly less than 1 for all i ok we want this to be strictly less than 1 for all i. So that is the stability characteristic that is the convergence characteristics we call this method to be asymptotically stable or a stable provided all the Eigen values are all these Eigen these are Eigen values of this this matrix i plus i minus h by 2 a inverse into i plus h by 2 a. So all these Eigen values should be inside unit circle you can show that if real part of each Eigen values negative then this condition is satisfied that is all the Eigen values are always inside unit circle ok. So trapezoidal rule will or implicit Euler are a stable ok you will get solutions which are converging to the true solutions. So these methods are better than explicit Euler or similar some other explicit methods it is a second order in the Gupta method. So the stability characteristics of these so one can actually draw what are called as stability envelopes of different methods and you can see that the stability depends upon two things one is Eigen values and other is h how do you choose h ok and the way you choose h is you apply this condition such conditions for all Eigen values and choose most conservative h smallest h or I mean it is most conservative with smallest h ok that satisfies. So there are certain general conclusions that have been drawn which compare different methods. So see there is a plethora of methods there are so many methods so which one to use. So as I said you will develop differences when you start actually using them some of you might use Gears method some of you might use Runge-Kutta method and we know how to make it work but to make it work you should know all these theory otherwise it is hard to make it work. So for example implicit Euler and Krank-Nickelson method are asymptotically stable or a stable but higher order methods have predictor corrector predictor methods have restricted regions of stability. So Krank-Nickelson and implicit Euler are nice methods in terms of stability but as you move on to higher order predictor corrector methods the region of stability shrinks accuracy improves ok. A higher order predictor corrector method will have better accuracy but a smaller region of so when you move to the higher order or multi step method higher order in terms of polynomial approximation multi step method the stability region actually shrinks. So accuracy improves stability shrinks. So one has to choose H very very carefully if you want better accuracy ok. So there is a trade off and you have to understand this when you then things like explicit Tange-Kutta methods have better region of stability or larger region of stability than explicit Euler. So in some sense explicit Euler you can say is you know very vulnerable to mistakes. You make small mistake in choice of H explicit Euler can give you but then if you see engineering literature there are some people will still use explicit Euler ok. They will choose integration steps as very very small and make it work. So it is not that you cannot make explicit Euler work ok. You have to understand how to make it work. So with Range-Kutta you might be able to take larger steps with explicit Euler you probably have to take many many small steps. Now and there are situations where you have to use explicit Euler ok. For example right now one of my student in systems and control PhD student is working on we are working on some algorithms for control of a motor ok. Now we have to do online integration ok in milliseconds ok because the motor is fast right and you want to do you want to do some mathematical model calculations online in the microprocessor in fractions of a second I cannot do iterative calculations. I cannot afford to do iterative calculations. I have to do very very fast in computing. We still do not have computers or microprocessors even with so much this thing which can you know do implicit method implementation in fraction of a second ok because there are floating point calculations. So the simplest method that you can implement is explicit Euler and if you choose integration steps as very very small it works ok. We want to use mind you I am trying to use a model for a motor which is a set of five differential equations. I want to solve them online on a chip ok and this this is where I have to use explicit Euler because that is simplest in terms of computations ok. So I have to make it work rather than trying to go for a more complex method where you know convergence see convergence may occur if you are using iterative calculations implicit methods for some steps convergence may occur but for some one particular step suppose it gets stuck what do you do ok. So I am trying to control my motor using a model and then if suddenly my calculations get stuck I have a problem. So I have to use a method which is guaranteed to give me next value that is so which method you use when is something which is you know there is no formula for that you have to develop expertise and sometimes you have to use explicit Euler sometimes you have to use predictor character sometimes you have to use Range Kutta depending upon sometimes you have to use collocation. So it depends upon the situation upon the problem at hand upon the solvers that you have kind of computing power that you have limitations that you have. So it is a function of many things there is no one prescription. So do not think that after doing all this well I will never use explicit Euler you will use explicit Euler in some situations ok and you should know how to make it work. Now there is one concept which I want to state here before I do one more small application of ODE IVP differential algebraic solvers probably I will give a introduction in the next class if there is a time will start today or so as I said there is much more to this stability analysis and you should be aware of these aspects when you compare different methods they are very very useful for comparing different methods of solving initial value problems. One last thing which will connect to DAE solvers is this concept of stiffness of ODE. Now stiffness is a concept that is related to the Eigen values of local Jacobian if it is a non-linear system or if it is a linear system it is related to relative Eigen values that is the largest Eigen value and the smallest Eigen value ok. I will just talk about this through an example I am going to use this particular example d by dt y1 y2 simple problem you know dy1 by dt and dy2 by dt is equal to given by this matrix differential equation two variables ok. Now this problem can be solved analytically. So the analytical solution of this particular problem is y1 t well we have seen how to compute analytical solution it is e to the power a t into y0 ok. So this will be e to the power a t y0 which is nothing but if you do this calculations of e to the power a t it will be 2 e to the power minus under a t 1 naught 3 by 99 e to the power minus t and so this is the solution this is y1 t and this is y2 t ok. Now suppose I wanted to solve this problem using some numerical integration ok some numerical integration what will it depend upon the choice of h will depend upon what are lambda 1 lambda 2 what are the Eigen values here the Eigen values here lambda 1 is minus 100 and lambda 2 is equal to minus 1 right. Now suppose I am using explicit Euler ok then you know the condition right 1 minus 100 h less than 0 strictly inside unit circle or strictly less than 1 1 minus h the two conditions one is this condition one is this condition if I were using explicit Euler this is this is this is for making sure that explicit Euler does not blow up ok. But if you want accurate solution just look at the relative time scales what is happening here is that y1 t ok is decaying 100 times faster than y2 t because y2 t has this plus this this term is going to is going to decay very very slowly e to the power minus t decays much much slower than e to the power minus 100 t ok. So, if you want to capture the behavior of e to the power minus 100 t you should choose integration step size to be very small if you do not choose very small ok you will miss out you will miss out on this dynamics ok. But this if you choose it based on minus 100 t ok you have to do too many steps of integration ok. So, your computation increases ok but nevertheless you are forced to look at this Eigen value when you choose integration step size otherwise you will miss out what is happening for y1 ok you will be able to only capture y2 correctly. So, if you look at the way this is I mean if you plot y1 and y2 versus t one will decay like this and other will decay like this ok. So, if you want to capture this you better you better choose small step sizes ok. But you know this one is very very slow and unfortunately these kind of effects are very very common in chemical engineering systems. Pressure dynamics I mean this is a representative hypothetical two differential equations look at real distillation column. In the distillation column dynamics of temperature on a tray or dynamics of composition liquid composition ok is very very slow compared to dynamics of pressure and vapor compositions ok. Dynamics of pressure pressure changes very fast ok across the column, but the liquid composition on the tray changes very very slowly. If you want to write a differential equation that governs the pressure dynamics ok pressure dynamics we normally make an assumption that pressure is constant when you do design actually pressure is not constant that is a simplifying assumption pressure is varying inside a distillation column otherwise there will not be a flow right. The vapor has to flow from bottom to top. So, there is a pressure gradient pressure transients are extremely fast concentration transients are extremely I mean on the relative scale concentration transients are something like e to the power minus t pressure transients are e to the power minus 100 very very fast. If you want to capture pressure transients you have to choose integration step size to be very small ok maybe 0.1 second, but concentration change on a tray might take you know 50 minutes ok. So, one is very slow one is very fast and then if you insist that you want a dynamics of pressure to be captured you have to choose integration step size with reference to the transient of the pressure and not transient of the concentration ok such systems are called as stiff systems ok. So, the way to mathematically quantify stiffness is through Eigen values or local Eigen values you linearize find the Jacobian find the local Eigen values and you define something called a stiffness ratio ok. So, here is just quantification of the time scales before I move to stiffness ratio you know for this particular system y 1 t will become less than 0.01 times y 0 when t is greater than 0.03 in a very short time in a very short time ok y 1 t will reduce to 100s of its original value ok whereas, same thing to happen for So, y 1 t comes to 100s of its original value in just 0.03 seconds whereas, or 0.03 hours whatever whatever time unit you want to take whereas, y 2 t comes to 100s of its value in 4.65 hours or 4.65 units minutes or seconds or whatever you want to take ok. So, you can see one is a fast mode and one is a slow mode such systems where some modes are very fast some modes are very slow are called as stiff systems and then you have to use what are called as stiff solvers ok. Well one now in non-linear systems there is one more difficulty the stiffness Eigen values can change because its local Jacobian and Eigen values can change as you move in the state space ok. So, in some regional state space system can be highly stiff in some region it can be less stiff. So, well best method is to use variable step size integration if you can afford to do it I give you an example of electrical motor where I cannot afford to use the variable step size you know my calculations will go berserk if I use variable step size. So, if you can use variable step size if you do not know if you have a luxury of using variable step size and if you do not know anything about the stiffness that will solve your problem to a large extent, but sometimes you are forced to use fixed step size and then you have to worry about the relative time scales. So, how do you quantify this ok. So, we call this as stiffness ratio. Stiffness ratio is defined as mod of real part of lambda I a max mod of real part of the Eigen values when when you find out they can be complex ok. So, only look at the real part the complex part typically gives if you look at the solution of exact solution of a linear ordinary differential equation then probably you remember from your course on control that you have roots of the characteristic polynomial have real part and complex part ok. The complex part gives rise to sinusoidal bounded behavior the real part actually decides the rate of convergence ok. So, we only look at the real part the maximum magnitude real part by minimum magnitude real part this ratio is called a stiffness ratio. If this ratio is large typically greater than 10 20 then you have a problem ok 100 is very bad. So, that is variable step size rate you cannot have step change in H value, but you can have variable step size implementation if you can afford to. So, if the system is stiff one way is use variable step size with tight accuracy monitoring that will that will you know take off your worry about the stiffness then you can yeah. So, one has to built in some super intelligence which looks at you know if one value is not changing you can start increasing the. So, if y 1 has decreased already decreased and going to 0 then for y 2 you can increase the step size, but then you will have to have some you know if then else rule base or something like that which is which you know a priory which you know a priory that now pressure has stabilized ok. Now, let me look at, but for a complex plant ok it is not always possible for some simple system with 2, 3 variables you might be able to do what you are saying ok, but for a chemical plant simulation that is difficult ok, but then you should know about the stiffness part and then you know decide upon how to implement your scheme. Of course, the stiffness ratio in this particular case there is a constant a matrix if you have a non-linear differential equation then you locally linearize and then look at Jacobian. So, if you have if you are solving equation here of type d x by d t is equal to f of x, x belongs to R n and you are at x t n is equal to x n then well we of course, look at dou f by dou x x equal to x n we look at this Jacobian Eigen values of the Jacobian. We will tell you local stiffness you cannot define a global stiffness, it will be a local stiffness and Eigen values of this matrix can change as exchanges ok. So, in the situation where you do not know anything and you are luxury to implement variable step size that is a better option ok. Now, before we move to differential algebraic systems. So, one way is you know one way to deal with the situation is to say that well I am not really interested in the dynamics of the slower variable ok. I could argue that well pressure you know transient if it happens in seconds I am not so much concerned I am just worried about the steady state pressure behavior ok. I want to I want to only study the dynamics of the slow slow system ok. So, one way see I have this differential equation I will go back to the simpler differential equation we let us say we have this differential equation d x 1 by d t is equal to some alpha 1 x 1 plus alpha 1 to x 2 and d x 2 by d t is equal to alpha 2 1 x 1 plus alpha 2 2 x 2 this is my differential equation. I know from the physics of the problem that d x 1 by d t is a fast mode and x 2 by d t is a slow mode ok. I can decide to approximate make a pseudo steady state approximation that this is equal to 0 ok. Now, there is a trouble because this is fine you can do this approximation I do not want to worry about pressure transients I am mainly concerned about concentration transients in the distillation column ok. We meant to make this approximation this is no longer an ODE initial value problem this is a differential algebraic system ok. Now here you might say well that is not so difficult you know you just eliminate x 1 right x 1 in terms of x 2 and you have only one differential equation ok. This is true it is easy to solve when this is a linear differential equation these coefficients are nice and you can solve what if I say well this is not the case but it is sum sum g of x 1 x 2 is equal to 0 ok likely to be the case in a chemical engineering system some non-linear function of this kind of algebraic constraints in chemical engineering systems arise because of thermodynamic equilibrium. Then between a concentration of vapor phase and liquid phase are you know at thermodynamic equilibrium actually thermo when you say that thermodynamic equilibrium that is a simplification there is a transient when the concentration on the you know plate changes there is some transient between you know that concentration and the concentration of the vapor phase. But we make an assumption that it is instantaneously vapor phase composition comes from an equilibrium it does not happen instantaneously we are only making a simplification we are making an approximation ok. Because those time scales we are not so much concerned about those time scales we assume that almost instantaneous there is full modeling purpose in reality it is not going to happen there will be some time lag small time lag we are willing to forego that time lag ok. So, you will get these kind of equations differential algebraic equations. So, differential algebraic equations of course belong to many times the stiff equations and then you need different solvers different class of solvers to handle this kind of a problem. We will have a very very brief look at these methods how to handle this. Anyway before I move to that. So, before we start talking about differential algebraic systems I want to talk about one application of ODE solving in a different context. ODE initial value problem I have a solver for ODE initial value problem and I want to use this solver to solve a boundary value problem. I want to solve a boundary value problem. Now what is the difference between boundary value problem and initial value problem? Initial value problem only at initial point the conditions are specified and then you can go marching boundary value problem part of the conditions are specified at one boundary part of the conditions are specified at the other boundary. Suppose you have two differential equations you need two conditions one condition might be specified at one boundary one condition might be specified at the other boundary. So, now if you want to use marching algorithms you have to do some some more tricks. These class of methods are called as shooting methods. Now again I am not going to go too much deep into this I just want to give you an introduction. So, there are methods called single shooting there methods called multiple shooting. I am going to discuss only about the single shooting method just to give you idea of what is shooting method. Let us go back to our good old problem of tubular reactor with axial mixing and then with that help of that example I will show how I can use an ODE initial value problem solver to deal with a boundary value problem. Now this is my tram problem 1 by P e and by now you are very very familiar with this problem. You have solved this problem by multiple methods. So, inside the domain 0 to 1 this is the differential equation which should hold second order differential equation and at the boundaries you have dc by dz is equal to P e c minus 1 at g is equal to 0 and dc by dz is equal to 0 at g is equal to 1. A second order differential equation needs two conditions one condition is at one boundary the other condition at the other boundary. Now if I say that z equal to 0 is the initial point then to start using marching I need two values in the beginning. Let us see how why we need two values in the beginning before that I am going to just transform this problem. I am going to define x 1 is equal to c and x 2 is equal to dc by dz. This will give me two differential equations one is d x 1 by dz is equal to x 2 and then this differential equation I can write as 1 by P e d x 2 by d z d 2 c by d z square is d x 2 by d z minus x 2 minus d a x 1 square equal to 0. So, if I write it in the standard form I will get d x 1 by d z d x 2 by d z this is 0 this is x 2 and this is P e times d a x 1 square plus x 2 this is my differential equation d x by d x 1 by d z and d x 2 by d z. Now my first condition is x 2 0 is equal to x 2 0 is equal to this right this is my differential equation this is boundary condition 1 this is boundary condition 2 this equation is of the form d x by d z is equal to f of x fine this is ordinary differential equation first order I have so many methods for solving this you know Euler method implicit Euler explicit Euler Runge-Kutta whatever I have those methods for solving this, but to start solving I need two things using initial value problem I need x 1 0 and x 2 0 I need x 1 0 and x 2 0 I do not have two of them separately I have one constraint suppose suppose I decide to choose x 1 0 x 2 0 will get defined right if I decide to choose x 1 0 x 2 0 will get defined then I can choose x 1 0 let us say I call this alpha then x 2 0 will become alpha minus 1 this is my guess this is my guess using this guess I get x 2 which is this guess now what I can do see now this is a differential equation with two initial conditions specified I can start marching in space now not in time I am marching in space so I go from z equal to 0 using say Euler method I start marching from z equal to 0 to z equal to 1 I start marching from z equal to 0 to z equal to 1 if my guess alpha is correct what should happen this condition should be satisfied this condition should be satisfied that is x 2 1 should be equal to 0 if it is not equal to 0 I can refine my guess I can come back and change alpha again start marching so I can solve this problem iteratively this is called shooting because you are trying to hit a bird which is hidden behind a cloud so you just shoot you guess and shoot where the bird is if it does not hit you start again take a new bullet and start so you start shooting you guess the missing initial conditions at z equal to 0 start shooting towards a start marching towards z equal to 1 okay so guess is correct you know the conditions at z equal to 1 will be satisfied this is a way I can use a OD initial value problem solver to solve a boundary value problem okay this is a boundary value problem being solved using repeated use of initial value problem solver okay I am going to use again and again say Euler method or Runge Kutta method to march in space to reach from z equal to 0 to z equal to 1 keep checking this condition now the question is how do I form the iterations can you tell me how will you form the iterations now you have to merge Newton's method see you should create a guess from the old guess how will you do it x 2 1 equal to 0 as an equation x 2 1 equal to 0 is actually function of this alpha is function of this alpha okay and so you can actually find the gradient see suppose you choose some alpha 0 so what I am saying is f of alpha is equal to x 2 1 right what is x 2 1 is function of what is your guess initial guess alpha right now you want to reach you want to solve the problem see for the time being do not worry about what is the process of calculating this x 2 1 okay given alpha there is some mechanism by which you calculate x 2 1 say Runge Kutta solver or whatever method that you have chosen you have a way of solving this what is where you want to reach you want to reach f of alpha equal to 0 am I correct you want to reach x 2 1 is equal to 0 this is where you want to reach classic one variable problem a non-linear problem okay might be little difficult to get derivatives it is not impossible it is possible to do it I have discussed this in the notes but let us use a simpler approach secant method okay what I can do is I can start with some alpha 0 and alpha 1 okay I can take 2 guesses alpha 0 alpha 1 how do you get give a good guess you have to use your physics knowledge this is a tubular reactor what should be the you know initial value you have to use your understanding of chemical engineering to give you to initial guesses now you know using alpha 0 I do calculations I compute f alpha 0 which is whatever x 2 value at 1 which you will get this will not be equal to 0 because your guess is not correct if your guess was correct you would have reached the solution okay then there was no problem of getting iterations now this is this this is not equal to 0 then you can start with f alpha 1 and you again get x 2 so let us call this as let us call this as x 2 1 alpha 0 x 2 1 alpha 1 okay x 2 now I want to create a new guess alpha 2 okay so what I am going to do now so what is alpha 2 this will be alpha 1 minus the derivative the derivative is f alpha 1 minus f alpha 0 upon we have to use the derivative inverse actually so f alpha 1 divided by f alpha 1 minus f alpha 0 simple secant method so in general I can I can write that is alpha k plus 1 is alpha k minus f of alpha k what is f value f is nothing but x 1 evaluated sorry x 2 evaluated at z equal to 1 okay x 2 evaluated at z equal to 1 you want to reach x 2 at 1 equal to 0 okay and you generate initial guess like this if you have a differential equation boundary value problem where you know you do not have only 2 equations but you have 4 5 6 equations it might happen if you have temperature and concentration to be considered together okay then you have more missing initial conditions you can write Wechstein method you can use multivariable secant method you can use you can also use Newton-Laphson method so this is just the idea as to how to do a solving of boundary value problem using a shooting method where the missing initial conditions are guessed in this case there is only one missing initial condition you guess the missing initial conditions you go to the final point find out a gradient generate a new guess and keep doing this OD initial value problem solving till you reach the solution how do you reach this how do you find whether you reach the solution you look at whether f of so basically finally what I want to happen is this mod of x 1 x 2 at 1 alpha this should be strictly less than epsilon we can specify epsilon to be 10 to the power minus 10 what is 0 it is difficult to say so a small number okay till these two come very very close they are very very small okay one minute this cannot be the condition here because we want to reach x 2 not not the gradient not the gradient here I would like to check x 2 is equal to 0 okay so this should be less than epsilon I want I want the final value to go to 0 so I cannot say it goes to exactly equal to 0 I can give a very very small number here and say that this should be close to 0 okay this should be very very close to 0 so if this is very very close to 0 whatever epsilon we specify then you stop the iterations okay till then till this condition is not satisfied you keep guessing alpha okay for every guess of alpha you use a initial value problem ID OVP so OD IVP solver to integrate from z equal to 0 to z equal to 1 that is you do one shooting well if you hit the target you stop the iterations if you do not hit the target generate a new guess of alpha and keep doing this so your combined initial value problem solver with a secant method see one thing which I wanted to stress right in the beginning is that there are very few tools that we have and finally you know we have to make a belpuri of a solution is a belpuri for a particular problem you have to come up with you know taking this and taking this and then you know mixing the two and creating a creating a recipe so some of the one of the well-known books in numerical methods is titled numerical recipes is a book called numerical recipes in C or numerical recipes in Fultran very popular books very nice little books so I think the world recipe when I read it for the first time was intriguing I mean why should somebody called a numerical recipe okay but it is indeed if you start looking at it it is a recipe you know you are concocting a solution by using some basic tools basic ideas and you are mixing the two same problem you could have solved by converting into you know algebraic equations but then again for solving the algebraic equations you have to use Newton Newton's method Newton Raphson okay here you are not converting them into algebraic equations you are converting them into an initial value problem using initial value problem repeatedly okay and then and then it's a mixture of things see to solve let's say you convert into algebraic equations using orthogonal locations the same problem okay then to solve it using Newton's method you need ax equal to b solver okay so solving ax equal to b or solving an ODE IVP these are some basic tools if you have them you can concoct a solution to large class of problems okay you can concoct a recipe for solving many so you have to you have to understand this how these ideas are used to concoct a recipe or a solution that is very very important so next class will have a very beef peak at this differential algebraic systems because in real chemical engineering problems you more often than not encounter differential algebraic systems so let's at least touch upon the tip of the iceberg and then close the show


So apparently I need to explain this because some people don't get it. I switched away from Linux on one machine. One machine. A network gateway. That's it. That's it. Just because it was easier to set up the firewall. My development has always been and will remain primarily for Linux and that mostly has to do with Linux being generally the higher user base out of the next systems. Followed up very shortly by FreeBSD. Try in to target Solaris a bit better, but the quality of the NAT compiler there is notoriously lacking. Never really considered Windows a primary target for the development, mostly because of the absolutely terrible situation the Windows console host is in. It doesn't support a lot of the escape sequences, but also doesn't have a good alternative to the escape sequences either. There's some APIs you can hook into to do some basic things like 16 bit. The 16 color support. Not 16 bit, but just 16 colors. You know, just the eight dull and eight bright colors. That's basically it.   But also the Windows console host has some pretty big problems with handling Unicode stuff. Windows internally does UTF-16. It has a UTF-8 code page, but there's all this weird stuff that you have to do to actually get it to generate properly in the console host. Inside of a normal program, it works fine. But for things like the test logs or whatever, I don't want to have all these hooks into the Win32 API just to get it to print properly. So Windows support is definitely an afterthought. Now, I set up the video this specific way basically to bait people because I wanted to talk a little bit about this ridiculous fanboy stuff that happens in computing and it's bizarre to me how you'll get these camps, the Linux camp, the Windows camp, the BSD camp, and I feel like most system administrators are not like this, but there are definitely very vocal individuals within each of these, you know, camps. People who say like in the Linux camp who hear somebody uses a different system and basically get triggered. I find it hilarious, but totally why? Why? But it's not like it's just Linux users who are like this. You have Windows users who do the same thing.  It's such a bizarre thing because there are so many real problems still going on in the world, but no, no, no, they freak out about the system that somebody is using and it's always really easy to spot these individuals because they have completely incorrect views about the other system or like very cherry-picked things, misunderstanding of statistics, stuff like that. A great example of that was something that happened last year. The WannaCry stuff had to do with a vulnerability in a protocol, a protocol that was primarily developed for and used on Windows systems, but totally existed for others that was taken advantage of to do remote code execution stuff used to, in that specific case, was ransomware. It was a vulnerability in the SMB v1 protocol or back when it was also known as CIFS. Linux machines got hit by it. You can even find YouTube videos on people seeing if you could run it within wine and it would break out of wine and start to infect the rest of the Linux system. It was really interesting to see. In most cases, especially the early cases, it was not capable of running anything outside of the wine environment, so it would like dump the little notice that you then had all your stuff encrypted, but it couldn't actually do anything outside of the little wine domain. Later revisions of it would hit Linux, though. That's just one example. There's plenty of others where the sort of fanboy attitude that it's Windows that gets all the viruses, and Linux is pretty much immune to things. No, it's not. Most vulnerabilities are in regards to like a protocol or a specific language's way of doing things. An example of that, a more abstract example, but say you're running a web server with PHP. Vulnerability within the PHP runtime is going to affect anything that is running that. As long as it's not like using the vulnerability to upload a specific executable and execute that, because that's operating system-specific. But if you're capable of hijacking the PHP runtime and sending direct PHP commands to it, that'll affect anything. It's just that specific machine. I've got other machines I've got to set up soon and picking out parts for and everything that are going to be purely Linux anyways. Like in no way I am abandoning the system. I just set that video up just to draw attention to this thing that I consider ridiculous, because if you look at the benchmarks of any of these things, or real-world things, like what the IT administration is like for them, you find that nothing is outright better. That each one does something, better than the others, but that they also do something worse than the others. Solaris is a great example of that. Performance of the databases and for Java VM are really good, but holy crap, that system takes forever to boot up. Solaris is insane with boot times. It's so bad. I think the only thing I've seen that was worse than the others was Mac OS 9, which was an abomination. NetBSD, absolutely wonderful security, almost no application support. You'd never want to run OpenBSD on an office workstation, because it's terrible for that. But it's wonderful for a network gateway, as long as you don't mind putting in a little bit of extra administration into it, to get it set up, because it's not super easy, but once you've got that set, you're basically good. Just terrible for a workstation, though. I'm of the mindset that everything, every system, just a tool, each one does something well. Pick it based on the things that it does well and knows specific needs. Pretty simple to me.  Windows is the right choice for that gateway? Not the right choice for a lot of other systems.


Human rights are more relevant than ever as we navigate technologies and our penetration into very, very many parts of our lives. We need to have a guidepost with which to decide, you know, are these going to be used for good or for evil. And I think that guidepost is the universal declaration on human rights. We'll constantly be torn between wanting to be safe and wanting to advance. Some of the main challenges between now and 2030 will be in that tension to take advantage of all the benefits that technology and the fourth industrial revolution has to offer us. I don't think that rights are changing. I think they're universal and always will be. They're fundamental principles. The way we look at them through a technological lens may be slightly different. I work in the area of making sure that women and children can realize their rights. Coming to the Global Future Councils and interacting with them has allowed me to really expand my thinking on what the future for children means, the jobs they're going to have in the future, who they're going to become, the economies that they're entering into. And so it provides a broader vision for where children are headed.