 Mr. Rajdeep Adat is going to take a session on the GUI part of OpenForm on BlockMesh. So I hope Rajdeep you are ready. Okay. So, we have a GUI built for OpenForm, it's a project that we had begun in 2021. And initially, there was another software previously built here at Posse. And we had re-versioned it and refurbished it to work with the newer versions of data. And since then we have tried to expand on its capabilities and we are really looking forward to bringing this into a beta release version. So today's session on the GUI for OpenForm is not really just about the demonstration of it or perhaps I'll try to make it as much hands-on as possible, but we also want to know what you people think about it and what are the features that you would expect from a graphical user interface for a software like OpenForm wherein everything is so text-based that it is often very verbose and cumbersome to write these texts. So having a graphical user interface really helps when you are able to automate some of the tasks if not all of the tasks per se. So essentially this is what our objective with a graphical user interface for OpenForm is. We basically want to automate quite a bit of tasks with OpenForm and make OpenForm work like a black box. And essentially the user doesn't really directly go into OpenForm and work with the entire case files wherein you are writing everything from scratch or even if you are copy pasting your essentially writing text. You don't really necessarily have to do it, but part of it really involves creating the case files with a graphical user interface and after that all you really have to do is just transfer it up to OpenForm for the solving part. So the one that we are presenting today because OpenForm encompasses the entirety of the CFD simulation process wherein we can mainly divide it into machine solving and post-processing. We are only showing machine today because that's where our development has extended up till. So let me share another screen from my tab. So let me begin with just a little bit, a little part of the theory first because we kind of really need to know what we are doing with the sort of software. Meanwhile I'll just post the link for the new system that we have. So previously the people who were attending the installation section, they had worked upon the installation process and they have gone through with it smoothly. So what we will do is we will post the link of the new zip file into the chat box so that you can always be updated with it. Even the old one should work, but I would prefer you guys if you are working with the new one that's much better. So just go to this link in the chat box and then you can start downloading it. All you have to really do is download it. And for those people who don't have Blender, I would suggest you to just watch our session today and if you have any further questions, I'll take it after the session. And we'll also go through the installation process if you're really interested in doing this right at this moment. So let me start with a little bit of theory as to why we are using Blender because yesterday someone asked about this and I gave him the answer, but I don't think everybody knows about this. So having Blender as a software, it really helps us to integrate a lot of things together because whenever you're working with Openform or CFT-PerC, you happen to have a geometry or a domain which is defined as an area where your fluid is present. And in this area, there is some kind of interaction with the fluid and the geometry itself. So what we really need with an Openform is these text files called as you have basically of two options. Either it's the block mesh dictionary or it's the snappy X mesh dictionary which you utilize to define or model the geometry. But the thing is writing these geometries is quite difficult. During a time, you have to visualize the entire geometry in your mind. You kind of have to try and think about what it would look like if you were to decompose the geometry into multiple different blocks. And that is itself difficult and on top of that, you also have to calculate the information in the geometry. That is the vertices, the length of the edges, and also calculate how the vertices of the geometry have been ordered. And Openform itself has these very stringent rules upon the ordering of these vertices. And if you don't follow the ordering of those vertices, you might make a mistake. Now if you're having a really complex geometry, what happens is this task becomes very difficult to do just by a single person or even if you try it multiple times, there are chances that you're going to make a mistake. So why not write a software when you do this? Because that's not where the actual learning is right. So the objective of utilizing Blender is to build a software on top of it, which can do this kind of a job for me. And essentially, that is what we are trying to do over here. So good thing with Blender is it is able to integrate all of these things. Why? Because it has a very neat interface for defining my geometry. So I can very easily define my geometry. I can very easily model them. There is a complete graphical user interface for Blender, which allows me to model the geometries very easily. Second thing is I can query the data out of this geometry using a scripting language or the one that I use as Python. And I can directly store this into a system directory. And I don't really have to do much when I'm utilizing this. The second thing is if I were to utilize Python's graphical user interface capabilities, like you have so many libraries like PyQt is there, you have Kibby, you have Tkinter, all of these libraries are really useful in building graphical user interfaces. So many systems have been built on top of them. Good thing with Blender is Blender itself has its own internal system for building graphical user interface. And Python itself has the interfacing language for it. So what we do is we build a graphical user interface on top of Blender. Anything you build on top of a Blender is called as an add-on. And this add-on seen as the installs into Blender. So that is essentially what we're doing. And now I have one very neat way of interacting with the geometry and querying the information out of the geometry right into my system directory. And I have a set of automated tools that I've written in Python and I've put them into a GUI for more convenient usage. So that is essentially what we are doing here. Now today what we're going to do is we're going to actually take up a case and we're going to solve that case in front of everyone and see whether our system itself works or not. So I hope that those people who want to follow up with me in this and those who have attended the installation session, they should be able to follow with this. And in the chat box, as I have already sent the link for the Qtub link, all you need to do is just download it and you have to install the add-on right into Blender. So I'm just going to shift over my screen and let me go back. Okay, so let us start installing the add-on. So this is essentially Blender. And so if anyone is there on the chat box who can give me a thumbs up if they are able, they have already installed Blender and have that system in the, have it in their system, then I will be able to know who all are following. So I think, okay. So we have Joseph. Hi, Joseph. I remember you, Rahul, Tanmay, great. So we have a couple of people here who have these Blender installed. And I hope you have also received the new Qtub link, right? All you have to do is just click on it and click the download button. And like there's a very same way in which you installed the add-on previously. This one has some new additions over it so that you can do some additional stuff on top of it because we are taking a little bit more complex geometry approach. Not very complex, quite simple actually, but it should be very easy for you to work with. So in my screen, you are able to see that I have the Blender preferences window open. In order for me to open the Blender preferences window, I go into the edit section and I open up preferences. This opens up Blender preferences. If you are on Windows, I hope you guys know how to open a Blender. Similar to any other application, just how you open Microsoft Word, you should be able to open Windows as well. For people who are working with Linux, you have to open it via the terminal. Or if you already have kept it in your taskbar or you have installed it as an application, then that is also good. You can directly open it just like how you open a normal application. So I'm not going to go into how do you open Blender as of now. But in case you do have the doubt, I'll clear it up later. OK, so now I'm going to click on the install button. I have already downloaded the zip file from the link that I had previously posted. Download it and go a little bit slow so that you can also catch up. OK, because this process is kind of important. You don't install the add-on, then nothing proceeds after it. So here we have the file browser window, wherein you can see that I have in my downloads folder the venturial.zip file. So just click on this and click on the install add-on button. And you can see that Blender gives me a message that it says modules installed from Venturial. And you will get a little bit of information upon what Venturial is about the author, what it does. And all you have to do is just click on this enable button and it will enable the UI right in front of you. So this is the UI for Venturial. If it doesn't appear sometimes, it doesn't. So what you have to do is you have to press the N button. N stands for not good. OK, so just press the N button and that should open up the sidebar panel. OK, that is where Venturial itself comes up. In fact, any other add-on which is installed within the Blender system, often you might find it right over here. There are many famous add-ons like screencast keys and all which always come over here. OK, so this itself is our UI. It is also like you can also see that you have a lot of options over here. So in case you feel the need to reach out to us also, you can directly reach out from there. You also have some development options over here, which are not really, as of now, that useful. OK, then you have the three sub-processes of any simulation process. So you have a machine process, then you have solver control within the simulation section and then you have post-processing utilities. As of now, you should only be able to see the machine part. OK, and really updating with the simulation as the post-processing part as well in the GitHub repository. OK, and before I proceed further, I should also tell you that you should also start the GitHub repository because that really helps us spread the word and it helps our system become more and more popular. So please just do that for us and I hope you have a very nice session ahead. OK, so let's get back. So essentially the one panel that you see on the left side over here, this is nothing but our file manager. It's a very simple file manager. It doesn't do anything as such. It just creates a simple initial block mesh file for you. OK, so today the example that we're going to look for is based upon the block mesh dictionary. OK, so I'm going to show you the example before I start with this, but I'm just giving you a brief intro as to what our UI looks like. OK, in the right side over here, this section is where you design your geometry. There are certain tools like you move around these vertices or the edges or the faces. You can just move them around and create your geometry as per your need. Then you have the vertices section. Here is this vertices section, a tiny section over here. This is where you query the information out of a geometry into your block mesh dictionary. This information is the information related to the vertices of the geometry. OK, the section over here is the, as you can see, that it's related to boundaries. So this is where you add your information about boundaries. OK, then finally you have this section over here, this one. This is where you add the information about different blocks of your geometry. So your geometry, for a simple cavity flow, there's a single block and a simple matrix cube. So essentially, you add that information over here. And this is all there is, essentially, as of now, which is of importance just for the example that we're going to run through. So I'm just going to take up the example here. So let me just bring the example up so that I just draw the example for you people so you kind of understand what we are doing. OK, may I know where are those options on render? Sorry, which options are you saying? Are you talking about the preferences option? OK, I'll just show it to you again. So right on the top bar, can you see that there is an edit section? OK, onto the edit section, you go to this preferences option. If you click on preferences and then you have these various options on the website, OK, interface themes, and then you have viewport. And in this section called as add-ons, OK, just click on add-ons. So if you click on add-ons, you should be able to see the list of all add-ons that are, by default, available on render. OK, these are official render add-ons. OK, the one that we had downloaded just before is you can just type the name in the search bar and you should be able to see the add-on just down. If you have not installed it, I'll just click on the install button again. OK, and right on the install button, you can see that all you have to do is basically locate where the file is. OK, this is nothing but a simple file browsing. OK, and once you find the file, just click on it and click the install add-on button. I'm not going to click on it again. Otherwise, it might throw some errors. So essentially, that's what you have to do. So I hope I'm clear who was this, Vinay. OK, I hope I'm clear, Vinay. OK, great. So if everyone is able to follow till now, that's good. Meanwhile, I'll just go back to my... OK, so here we have. So I'll just describe what geometry we're trying to do over here. So what I'm really trying to do, like, I don't know if you guys have seen this sort of geometry before, but as we already know that there are so many different things that you can actually do with block mesh. Essentially, the concept that goes behind block mesh is nothing but you have these hexahedral blocks. That is what Openform calls it. OK, these hexahedral blocks are nothing but eight vertex geometries. OK, normally, if you have a perfect hexahedral block, then it's essentially a cube. OK, and what you do with Blender is you join these two blocks to create a geometry. OK, now there could be n number of blocks. OK, there is absolutely no restriction as to how many number of blocks you have within Blender. OK, and if I wanted to create, like, say, a simple geometry variant, I have one block over here. I can join another block on top. I'm just giving a top view of that geometry, something like this, and then I want another block over here. I want another block over here. OK, from this side, I'll say that there is an inlet. OK, from this side, I just want an outlet. And I want to simulate this sort of flow. OK, but you know that this is going to be a cumbersome process to write in your block mesh dictionary. So the way I kind of work around with this is I put all of these blocks into Blender. OK, so I've come to the geometry that we are working upon today. This is nothing but a simple venturi tube. It's a very primitive venturi tube, rather, but it kind of does the job for us. So here I have, so this is the top view of it. OK, everything else is essentially the extension of it in this n direction as if you're extruding it. OK, I'll try to draw it a little bit in 3D if I can. Maybe this might give you a better perspective if I'm drawing it correctly, that is. So this is how it kind of looks, OK? So from there's a face over here from where I'm defining my inlet and there is a face over here from where I'm defining my outlet. So this is my inlet and this is my outlet. Now, I'll also mention that we should always take care about the coordinate system in which we are working in. So the coordinate system that I have designed for this particular geometry is wherein you have negative y-axis in this direction, the positive z-axis in the top direction. And the one coming towards you is the positive x-axis, OK? And the dimensions of it, for the sake of convenience, I'm just going to take it randomly into blender. And it doesn't really matter much, although you should be careful about certain parameters like the convert-to-meters parameter. So you should be careful about that. But try to take the same dimensions that I am taking. So you should be able to follow with that exactly as per I am doing, OK? Now, I'm going to switch over to blender to design this geometry in and query the information of the geometry right into my blockchain. And you can see how quick this is going to be, OK? I will make it a little bit slower for you people. But as you practice with the GUI, you will see that you will become very efficient with it. And that's what the entire purpose of the GUI is, is to make you productive, not waste time behind the things that are the person. OK, so let me just shift over. So now I am into my blender view, OK? I can adjust the width of this by clicking on the left edge of this panel, OK? I can just click on this and hold the click and then just drag it along as much as you want. Now, I feel that it's comfortable right around at this much size, just about half of my screen, OK? So someone is saying, how to open the add-on after installing that, OK? So have you installed the add-on? Yeah, OK. So after installing the add-on, you should be able to see the name of the add-on right in front of you, OK? And there is a small tick box on this corner. Can you see this? Click on this tick box, OK? And it should immediately install it into your system. If you already have clicked it, then it should be in your system. All you have to do is just go out of the Blender Preferences window and click the N button, OK? When you click the N button, N for an output, that is, it will open up the add-on right in front of you. It might ordinarily be a little bit smaller like this, something like that. If you open it up, then you have to click on the left side of the edge and just expand it. So does that answer your question? OK, great. So I hope everyone is caught up to this point because we have yet to begin our geometry itself, OK? But we won't be wasting much time here and we'll immediately start with our geometry, OK? So as I mentioned, first we should create our file, OK? We just need to create our block mesh dictionary. So I'm just going to click on the new mesh button, OK? So it opens up a simple pop-up for me. Within this, it asks me which tool I want to use, OK? I can either choose block mesh or snappy x mesh. So for this session, we're going to take block mesh. And by default, it already recognizes that your dictionary name should be block mesh tip. So it has already done it for you, OK? Once you have done that, you have to select a path as to where the block mesh dictionary should be. Blender is a GUI for open form to create geometry and mesh, yes. You can, Blender itself is not the GUI Siddhavanak. Blender is the platform on which the GUI has been built, OK? There are other GUIs for different kind of purposes, not only for open form. There are so many other GUIs that you build on top of Blender. Venturial itself is the GUI. So you can say, yeah, that is. You can click upon the main center of it to find the logo of it. So that is what we are doing over here, OK? So coming back to, so I'm just going to click on the new mesh button again. If you guys don't need to do it, select the mesh file path. This is where I want to set my file path. So I might go to the download section or I might go to the desktop. I already have a few block mesh ticks in the desktop. So let me just create a new file, a new folder over here. All you just need to make sure is like, you know, have a free folder. That's it. So I'm just going to name it Folder. I'm going to open Folder. I'm going to save it over here, OK? Here, I'm just going to click on the new mesh button. You zoom the screen somewhat if possible. Do we have an option like that? I think the thing is with Blender, you don't get an option to zoom into your screen, but I'll see if I can do it that it doesn't seem to give me an option. But I think the resolution is fine, right? Like I'm also viewing it another piece. So I'm able to see everything I can. Yeah, you can. I think like maybe you can increase the font size. But is there a way to zoom into a particular area? I think that is what Siddhi Vinayak is asking. But I don't want to increase the font size because that just brings the font out of the panel sometimes. So that might get difficult for everybody else. So I think you guys kind of have to adjust with this, OK? So now I'm going to select this path and click on new mesh. I'm just going to click on OK. So this will immediately create one block mesh tick file for me. So Vinayak is saying I'm able to locate the new mesh through select mesh file path. Vinayak, maybe you can click on that red-colored button, OK? What that will do is it will just delete it from your memory and you can create a new mesh file path again. Maybe try that in the same process that is. Let me know if you feel like if you are not able to follow through. I'll take it up with you after the session finishes because I'm maintaining a keen watch on the time. So I want to make sure that we get through with this as quickly as possible and then I can take your doubts as well, OK? The thing with this is it's so fast that you don't have to worry about the time of simulation on all these things, OK? So now that we have created our block mesh tick file, it's just in the RAM memory of our system, OK? It's not yet there in your hard disk. So what this will do is it is just going to create a virtual memory that can, that is there just for some time, OK? That's just a temporary memory that we have, nothing else, OK? So into this view section, you have this option called as this hand. So you can see this option, OK? If you hold this, you can pan the view and you can move it around as much as you want, OK? With the middle mouse button, which is the scroll button, if I put my cursor into the view and I hold it and move my mouse around, I can rotate this or orbit this around, OK? So in that way, I can work around with my 3DB, OK? I kind of like to remove the other part as well. So if this kind of shows and is reducing the size of the screen, then you can hold this and kind of bring it towards the right, OK? Right at the middle, you should be able to see a double arrow when you bring your cursor right at the partition. You should be able to see a double arrow and hold that partition and bring it towards the right, OK? And then you get some more space into this. So with this, we are yet to still start our geometry design, OK? Now I'm going to start bringing the blocks up. Now if you look into the geometry, you have essentially three blocks, OK? If you remember the geometry, that is. So you have these three blocks. So I'm going to select three cell shapes, OK? Openform mentions these blocks as cell shapes. So into the into the GUI, you will see that as cell shapes instead of blocks, OK? The block type that we have here is hexahedron, of course. We have other options as well. Some of them are experimental. Rizum is still there. Maybe on your own time, you can experiment with it and let us know what you feel about it. But for the purpose of this demonstration, I'm going to take hexahedron, OK? Then I'm going to click Add to View. OK. What this will do is it will bring these blocks into my viewport. Now I'm going to zoom in on a little bit. I think I zoomed out too much. Just let me bring that up. Oh, yeah. So all I'm doing is, OK, in a way, that was good to restart because some people might think. So it's actually important for you to know that in case you end up a neglect, how do you restart and come back to the step that you were? OK. Now into my file system, you're going to show my file system. OK. So this is my home directory. Chintaka, are you able to see my home directory? Right into my home directory, I have Blender 3.2.1. OK. This is the main part of the system of Blender 3.2.1. Right click into this area and click on Open in Terminal. Now, alternatively, you can also go to the taskbar and do it. But I prefer to do it this way because in this way, I get to see the terminal as well. OK. So I have the terminal open over here. So there's the terminal. OK. I'm going to click dot slash. Then there's Blender. Dot slash basically means presently in this folder, find Blender. OK. Click on Enter. And then go back to Howl. So it just opens up Blender just like that. OK. I select everything. I just want to remove this. This is of no use to me what Blender comes up with. So if you want to select that, just hold the mouse button and click on this. Click on Inside and this Extended. And you should be able to select everything that is there within that box. And then just press the Delete button. OK. Now, I think if I have saved the preferences, then sure enough it should already be there. OK. Now, because I quit Blender, the previous block mesh trick file that I put into my RAM memory has gone. So I'll have to bring it back. So I click on that mesh, the new mesh button again. Go to the desktop. I have that folder over here. And I split new mesh. Click on OK. So it creates that for me again. OK. Essentially, this is how far we have progressed. OK. If it is not coming, then you go to the Edit section and go to Preferences. Just the way you installed it, it should come back up again. As I said, it is probably because in Blender, you have not spent enough time for its autosave to work. That's why the reason is it's not coming. But as you use it more and more, as you use it for more number of time, it should come back up again. OK. Siddique, can you once again demonstrate how to load the Venturial.sql to this preference? Yeah, sure. So go to the Edit section. Yeah. Edit preferences. Click on Preferences. Yeah. Then you can see the add-ons section where my cursor is. OK. Yeah. OK. Right over there, find Venturial in the search box. If you have or not already installed it, that is. Yeah. If not? It's not there. It's not there, actually. OK. No worries. So go to the Install section on top of our search code. OK. Where you have installed Venturial located, I had it in my Downloads file. So I went to my Downloads folder and I clicked on it. Yeah. Then click on the Install add-on button. OK. OK. So now we'll move forward. Now I wanted three blocks into my view section. So I'm just going to select three over here and click Add to viewport. And this adds my blocks to this viewport. OK. And then I'm going to, like on the right side, I can select this toggle X-ray button. OK. If I toggle X-ray button, I can see through the blocks and I can see the edges that are not invisible from the front. OK. Now, if I want to move any of these blocks, all I have to do is select those blocks and just press the button G. OK. And that way I can move them out. OK. Now I need to make my geometry that I previously showed. So what I'm going to do is I'm just going to enable snapping. OK. What snapping does is whenever I move the block towards the geometry, it immediately snaps it to the type of geometry that I've described. So in this case, I'm selecting vertex and it will automatically snap it to that vertex. So I take this block, I click on the button G. And if I move, you will see that whenever I bring it to a vertex, it automatically snaps it to that vertex. OK. So that's what I'm going to do. So I'm going to snap it to this block right in the middle. OK. Then I want to create something like an outlet flow. So what I'm going to do is I'm just going to hold this and I'm going to extend it a bit onto the y-axis. OK. So in order for me to do that, select this block, press the S button. OK. And then press the Y button. What this does is it allows it to expand only along the y-direction. OK. And I can move my mouse and move it around the y-direction. After pressing Y, I can press the button 2 to scale it twice its length along the y-axis. OK. And then I'm just going to press Enter. After that, again, the G button, I can move it as per as I like that. OK. Then I want to move this one as well. OK. So in this case, I'm just going to bring it towards this side and then just place it right on the other side. OK. The way I moved it was by pressing G, just like how I previously described. Now I'm going to go to the face select mode. OK. By pressing on this button over here into the faces panel. So this is like the boundaries panel. OK. There is a button over here. It's called the face select mode button. OK. Click that button. And it should take you to the face select mode. OK. Now when you select the faces, you can see that there are tiny dots, purple colored dots right over the faces. How to move the block? OK. Select the block. OK. Abhimanyu. And then press the button G. It should move the block. Basically, it holds onto your cursor and then you can move your cursor. OK. After that, you click on the face that you want to scale. So as per the geometry that we saw, I'm just going to scale it up a little bit, not much. Let's save this this much. I think that should be enough. OK. I'm not going to go into the numerical part of this because essentially that's where you set your dimensions and all. OK. That might take way too long for us to finish it within this session. But if you want, we can take that up later on as well. Then you go to this block. I have to scale this block up as well. I'm going to press the face select mode button again for this block. So this brings me to the face select mode for this block. Click on this face and then press the S button. That allows us to expand it as per our requirement. OK. So I'm just going to expand it a little bit. Just about this much should be fine. I think. So this is the kind of geometry that I was looking for. OK. Once this has been done, I can go out of the face select mode and I'm now into the object mode where I can usually select those blocks again. OK. But remember that these blocks are currently separate. They are not joined yet. So that basically means right at the edge, there are always two or more vertices at the same three dimensional space. OK. Or at the same point. Now, whenever we create a geometry, we don't repeat these vertices. We need to remove these vertices from our system. OK. So what we then do is just like how you previously selected these objects, I can just do a box select. OK. If you don't get how to select the box, I can also click on these blocks individually. And while holding the shift button, I can shift select all of them. OK. So Rampur has a question. How can we show that if we want to expand it with certain dimensions? OK. I've got a question. So actually, that's what I said. Rampur, I can get back to you on that in another session or after this after this workshop. But the way you would kind of quickly do it is you select the block and you go to the item section on the right side. OK. Here you can see the dimensions of the block. And based upon these dimensions, you can set the dimensions. OK. Now I'm not changing it, but you can very easily do this. OK. Now, now once we have done this, I'm going to select all of them together. OK. And then I'm going to press the compose button. OK. So compose button is what it removes all the vertices which are repeated. And it removes all the faces that are also repeated. And it creates a singular geometry right form. OK. Now you won't really see any change per se. But if you try to move this block after pressing G, you won't be able to do that. That basically means that you have locked this geometry. OK. Now all I need to do is query information out of it. Now I just have a simple get vertices button over here. Can you show me again how you merge the vertices? Just press the compose button. That's it. So by pressing the get vertices button, I get all the information of the vertices of this particular geometry. OK. There are a total of 15 vertices. OK. So sorry, 16 vertices over here. And I have the information already present here. OK. Now I'm not going to touch this area because if you were to select one of these and press the delete button, you will be able to delete that. The reason why we have given that option is basically the amount of control that a text editor gives to a block message to a user should not be taken away. So all of these things, like these buttons over here, you can hover over that button. Just keep your cursor over here. Don't click on it. And it gives you a hint as to what it does. OK. And be sure to, if you're deleting a vertex, then be very sure that you don't need it. OK. So this is how you get your vertices in the same way when you need an ordered pair of vertices to be mentioned for your blocks. That is how you define your blocks. So I think the way you do that is by the right hand thumb rule around the base of the block. And then go towards the x direction, then towards the y direction, and then towards the z direction. So you can click on the get block section. And that will query the blocks as well. OK. So now you can see that there are three blocks. And you get the ordered pair of these blocks right with you. OK. So that's what this base thing does. So now I should also set the number of cells that I have to select for these cubes. OK. So I'm just going to select the block that are there. OK. And then go to the set cell section. OK. To select these blocks, just click on the checkbox right hand side of the get block section. OK. Just click on these individually. And then click on the set cell section. So along the x-axis, I want this number of cells to be around 20. Along the y-axis, I want it to be 20. And along z also, I'll just keep it 20. OK. That's it. So you will see that in this way. You are able to set your cells for each and every individual block. Now we come to the faces section. OK. So just like how you set your faces, you have to select your faces. OK. Click on the face select option. OK. Now, as I previously defined, this as, yes, yes, when we did it, it is also possible to do that. There is an option called as import geometry. And you can import any CAD or STL file as well. OK. So on this side, I'm going to click the face select mode button. OK. Select the space. OK. To select the space correctly, make sure that you select the point which is most closest to this purple point. This purple point is nothing but the center of that space. OK. You can also see the normals of that particular face or of all the faces by going to this section on the right corner. OK. This is called the viewport overlay section. Scroll right to the bottom and click on this normals area where in the third option gives you the size of the normals. So you can just bring them out and see how the normals of these faces are aligned. OK. You don't need to do this. This is not a step. This is just an annotation that you can so that you know what you're working with. OK. Understand what you're doing over here. I'll just disable this and come back to my system. Now I'm going to name this as inlet. OK. Into the boundary name section. And this is going to be a patch. OK. And I'm just going to click on add boundary. So this just adds the inlet boundary condition onto my boundaries area. So this is basically the area where I can select the boundary just like how you have one for the sizes and how you have one for blocks. OK. Then you have an outlet as well. So I'll go and select the outlet face. So this is my outlet face, the bigger face. I'm going to click on outlet. Enter. This is also going to be patch. I'm just going to click add boundary. So I have outlet as well. And finally, everything else is nothing but a one. So I have to select a one for everything else. So be careful while selecting this. OK. You can press the shift button to select multiple edges, multiple faces like this. OK. So I've selected the ones that are on the right-hand side. Now I'm going to select the ones that are on the back side. So you might have a little bit of difficulty with this in the beginning, but as you kind of work with it, you get better and better at it. OK. Also, you need not worry because there is a block mesh file also with as an examples. So if you have downloaded the zip, you can unzip it and see that there is an examples folder. So you can run the block mesh file from there as well. But this is how we're going to actually do it. We're going to demonstrate that this generates a block mesh. So I recommend that you utilize the file that does within your system. OK. So then you have the bottom faces. So this is one of those faces. Sorry. This one. Then comes this one. And comes this one. So we have selected everything, which is other than the inlet and the outlet. OK. Because you have not selected the inlet and the outlet in this section of the process, you should be able to see through. OK. So far, there's everything clear. Let's give me this. Good. So now we're just going to select ball over here. OK. And I'm going to name this as fixed walls. Make sure that you follow the naming conventions as well. OK. And click on add boundaries. So you will see that all the fixed walls are present, as well as the inlet and the outlet condition. OK. Now you essentially have acquired everything. OK. So all you need to do is go to the run section. OK. And click on the generate block mesh dictionary button. And this will generate the block mesh dictionary button. OK. Where will it generate the block mesh dictionary? It will generate at the point where you initialize it. OK. So I did it in a folder called as a folder named as folder in desktop. So I'll go to that section in my desktop. OK. So let me just open that folder up. So here is that folder. And here is the block mesh dictionary which is generate. OK. Now, how do you know that this is actually generated from the gene way? Because when you open that block mesh file up, it says writing on top that it has been generated by gene way. Don't worry about the version that it mentions about here. And it says open form version 7, because it's been built for previously we built it for open form version 7. And you'll see all the information being present over here. OK. So this is our block version file. Now, if you want the remaining four or five files for the case, I already have it within the mature.zip file. OK. So I'm just going to click here and unzip it. OK. And I'm going to open it up. Into that, I have an examples folder. And there is a zip file for the case file that we're going to work with. OK. Click on expect here. Now I have my system folder. So for you people, I've already added one block mesh chip file. That one has also been generated from the GY. Now I'm going to replace it. And I will let you know, just put it up over there and start the simulation. The simulation takes just about a minute or two in my system. It might take less or more than yours. OK. So let me just bring that folder up. This is the block mesh chip. I'm just going to remove the folder block mesh chip and paste the new one. OK. So now I'm going to open in terminal. OK. I'm going to open. So I'm using Openform 9. As I said, it doesn't matter what version of Openform you're really using, especially with block mesh. Somebody's mic is on, I think. He's mute yourself. And then I'm just going to click on. I'm just going to type block mesh. Now normally, a GUI should be able to do this thing. The reason why I'm doing it manually is basically because I realize that so many people here are using different platforms. While it is envisioned that we build a system for different platforms, we really want to make it as compatible to different platforms as much as possible. But the issue with WSL itself is that it separately does not have a graphics rendering system. So when you install rendering to WSL, you happen to go across certain issues, which at the moment are not yet diagnosed because of which we have kept that separate. But I'm quite sure that this is something that is also possible. In a development version of our add-on, there is a button where you can directly click on that button that says Run Block Mesh and click on that button. And it automatically does the job for you. So if I click on Block Mesh, as you can see that I'm able to properly run the Block Mesh file. So I'm quite sure that now my mesh file has been done. Now, let's see whether the mesh you think the solving part is possible or not. So I'm going to type. I'm going to use the ICOFONE solving. So at least it has started the solving process. So it kind of takes a minute for this to finish up. So meanwhile, I'll just go back to certain other things that we have within our system. So also, I should let you people know that I'll just introduce my team. You already were introduced. So Abhushan here is a person who is really happy with this project. I am myself the developer of the software. Professor Jaini and Professor Prabhu are the advisors for this. And you have already made files. So in addition to that, we also have Fawzi internships that are going on right now. So you can go to Fawzi's web page and find the internships as well. Because OpenFoam GUI is currently a system that we are building, it's currently in development. We are expecting this to come up with it. So because of which, we are hiring interns for this. So the internship task is also available. And everybody can apply for this. Feel free to apply and come up with a solution for the screening task. And if you're able to solve the screening tasks, then you will also be able to, you will also get a chance to participate in the development of this. Nonetheless, you can always contribute just by going to our web page, not our web page, our GitHub page. And if you feel that you have certain issues, so some people over here were not able to like pressing, after pressing the add on, add to viewport button, the blocks were not coming. OK, so that means that there are certain issues for something. So you can click on that, click on the issues section and draft an issue over here. So all you need to do is just click on new issue and it will give you a text box to write your issue. And I will be directly responding to that so that your issues get resolved. So the more issues we have, we are able to address to more and more number of problems. So now the simulation has been done. So let's just open up a parallel and see what our result is. I hope the mesh is properly done this time because that's very important for us, too. Because essentially what we did was mesh in part. We didn't do much of the solving part over here. So we have a very nice mesh exactly how we envisioned it. So can we see the wire part? So it seems that the mesh is also smoothly generated. And it is exactly how we envisioned it. So it was in the negative y direction. So I think it is correctly spaced as well. Yeah, it is correct. So now we can see the velocity profile. So it's kind of how we expected it. So this is what we are able to do. So you saw that we never really touched a single text file throughout the block mesh dictionary generation process. We have even more features because block mesh just didn't contain the hex part, the vertices part, and the edges part. There are so many other things. You can add curve edges as well. The thing is I haven't shown the curve edges part over here because we have it as one of our internship tasks. So if you are able to solve that, essentially you are a very strong candidate for an internship as well. And you should be able to work with that. With the internship, we should be able to expand more upon our system. And that is what we have to achieve. So I hope you guys are encouraged a little bit, if not. And this is all we really wanted to show. And if you have any more queries upon this, I think some people have these twins. I will definitely help you with that. Yeah, so Rajdeep is actually welcoming interns. If anybody is interested to work on this area, he'll be happy to work with you. And also let me tell that Rajdeep, actually, he took inputs from our team members, Divesh Varia, who was there with us, from Ashutosh Shridhar and Manu Pidviraj. They also were our team members. And they also, Rajdeep took inputs from them also. So let me acknowledge them as well. Yeah, so all of our team members, I think, let me just show everybody who were there. So Ashutosh and Manu were our previous colleagues over here. They are currently doing their masters in Germany. The BH, I think you will meet the BH tomorrow. Ashli Melbourne is currently doing his PhD at IIT Bombay. Karthik was an intern just like myself. I was an intern here as well, too. Now I work as a research assistant. Mr. Ante Javalkar, and Ante Javalkar had advised us a lot about some of these Python religious stuff. He's an expert in Python. And finally, Mrs. Shweta Shreve, she used to be our previous project manager. And that's when I had originally interned while she was the project manager. And of course, our professors were absolutely brilliant here. So Professor Prabhu and Professor Jen, we have been with us since day one. So that's what they let you know. A lot of the things that you see over here are basically because of critique from them. And it's very important that we mention that their work has really helped me a lot, okay? Also, the entire FOSC team is to be thanked here. I can't mention everybody, but yeah, thanks to all the FOSC team. So for those people who had these queries, I'll definitely address them. So if you want, you can wait a little bit. And also fill up the feedback form. In the feedback form, you should be able to see questions about the GUI. And I understand that some people have had some issues with the installation, some had these issues with the UI itself. And if you haven't been able to do it, then definitely we will help you with it. So with that, I think my session, I'll end my session. If you have any further questions, so please let me know. Yeah, even Abhushan is also there. So if you have any questions for Abhushan, if you have any questions for Azdi, they'll be happy to help you. Yes, this is Dr. Joseph Prabhu. Actually, I am from Indian Register of Shipping. Hi. Actually, you are doing a great job there. First of all, I thank Professor Janani and Professor Prabhu for making great initiative to form this policy and making a GUI for this open form. So, Azdi, what actually we do here means, I actually do, normally my problem is, is a two-phase flow. We will be having a ship. So air and water will be the interface. And sometimes we'll do single-phase for submarines and open-air like kind of things. So we actually, I am currently working for last two years, I am into open form. Actually, we have commercial software also, like Star Citizen and the ship flow kind of things. So we are now currently a little bit shifting towards open form as they will charge, as commercial software will charge heavily and for even if you, for multi, even core, if you are using eight core, 50 core, we need to pay for them every time. So that's what we are really interested towards open form. So I was really surprised to you that you are working a great GUI for it. It's a great initiative. You start, you are made for making it block mesh. Actually, I can do resistance and resistance test for two-phase flow in open form. So now for that, I will be using snappy hash. You will be aware of that. Yeah. Snappy hash mesh. So can the same similar way, can I incorporate that snappy hash mesh also into this? Yeah. So we actually have another option over here at snappy hash. But the reason you can't select it is basically because this GUI that I had shared to you is specifically for like this particular session. The part of snappy hash is currently in development and you can see that, like, you know, we are updating our data profile regularly. So you should be able to see that as well as and when we are able to develop it. Also, there are some other add-ons for snappy hash as well, but they don't, they cannot do the job quite seamlessly. You kind of need it to work fast, right? That's the entire problem. So, yeah, that's what we are currently aiming at. And if you have certain, like, you know, thoughts about how you should start going up with the snappy hash hash add-on, what are the things that you would expect from a snappy hash hash add-on? Yeah, we will be able to do that. So if you tell us that, right, what we will be able to do is incorporate that. So essentially we are working backwards from our customers. Okay. We are not like, you know, we produce something and we just throw it off into the world just for people to use and never get into it for afterwards. So, yeah. Okay. So this Benjurian form you worked on Python, right? Yeah, it's completely written on Python for 100%. But there are certain source files as well, which are written in C and C++. But as of now, they are not really added here. So we have another developmental version of this add-on where the source files are existing. But the thing with those source files is you need to build them. Okay. And the building process is a very cumbersome process which we can't do within one hour of like a session. That thing itself takes another hour. So that's why I had not mentioned that here in the session. But in the future, if we are able to accommodate another pull-on session just for GUI, then I think definitely we can open up those features as well. They are quite advanced. So in those, you can even do curve geometries. You can actually create meshes out of it. Yeah. Actually, we face problems here actually meshing. Meshing is the thing. We will have refinements, zones, and our based on the inflow velocity and Y plus values. Sometimes we will not get at a single go. We will, our solution will not converge. Yeah. So we, meshing is the main problem we face here. Once meshing is proper, then solution will go. Yeah. So we are looking for, if you did later in the future, if you can add some, and tutorials on snappy customers, that will be better. I think. Yeah, definitely. Not only that, there are these, like you know, features wherein you can intelligently mesh stuff. So often at times you are doing a trial and error vector. Yeah. Upon, based upon empirical data, you can actually find out as to what parameters are best for your system. Okay. And you can preload them into your system and work with them. But those things are like, you know, all along the way. And I think months down the line, you will probably be working on that as well. Okay, fine. Thank you. Yeah. I have one small log. Yes. In this we have shown the three blocks. Is there any possibility we can increase the number of blocks? You can make n number of blocks. It doesn't matter. Ended to anything. Okay. Using this on the same code, right? Yeah. That's what I'm saying. Just add more and more number of blocks. Just keep adding it. Keep joining them. They should automatically append it. If it doesn't, there is a glitch. Mention it in the issues in GitHub. We'll look into it. Okay. And you also mentioned that there is an options from where we can import any geometry from whether it's solid works or anything. Yeah. So that is where the build mesh options. So when you click on this option has currently been disabled because the thing is that when you build mesh, right? There is a separate parser that comes along with build mesh. Okay. It essentially converts previously built STL file or any kind of CAD file into something that is interactable with Glendale. Okay. So in order for that to do, there is a parser that is involved. That parser is quite heavy. And I do not want to put it into a simple 1MB file that is quite big to install. So that's why that feature is not there. However, if you want to try it out, okay? It should eventually come up in the GitHub repository as well. Okay. You should be able to see within the release notes that this has been particularly mentioned. Also this point that you mentioned, right? It is there in our feedback form as well. So in the feedback form, there's a question as to what features you are expecting from this GUI to come up. Okay. And that's where there's a function where you want to import measures from other sources. So that's what we are planning because that will expand the girth of the or expand the domain in which we are working. So. Yeah. Thank you. Can you increase this block from three to four? Is it possible to show here? I think it's possible. I'll just reveal it out once. Sir, can like this, whatever you show sir, it's very interesting because it generates a block made this directly. So can I use the same way for complex geometry which have curve and like this, like blood vessels modeling. Yeah. Yeah. You can. So there is a section for edges as well, right? You might not find this section to be fully working. So the reason it's not working is actually quite funny. So we have to take up interest for working with this sort of future. Okay. So we currently have polyline as well as arc. Okay. But spline and B-spline have certain issues. Okay. That's why you won't be able to see them working properly. So you can see that within the internship task, we have actually put one of those curve fitting tasks over here wherein you are building a spline kind of a function and you're putting it up into your geometry. So yeah, complex geometry is what we are currently looking for. That's our first most priority and bringing up curve edges is something that you want to do it immediately. That's why we are taking up in transport. If you're interested, you can apply or if you can just put up a request into the issues section or just do a poll request if you want. That is also something that you can do. And if you are able to come up with some solution, I'll merge it into the actual way that possible. That's a very important thing to do. So thanks for mentioning that. I should have highlighted myself. Okay. Thank you. Roger, this is the modeling software, right? Yeah, 3D geometry modeling software. Here I can import an .stl file and I can create the domain and I can do the machine here. You can open it up from stl, which is that option itself is there within render. Converting it into a block mesh date is where the parsing is applied. That's why you have a separate option called as build mesh. Okay. So build mesh, what it does is it gets that information out of another source file and it converts it into a proper open form interactable dictionary. So that's why we have a separate option called as build mesh. Okay. Just we can model it. Meshing become the way it is. Yeah. You can model it and create the block mesh dictionary parsing but not the mesh information. So it's not a mesh generation software. It's not mesh defining software. Yeah. Then we can generate the block mesh file here and we need to run the block mesh and generate that. Yeah. So in the actual, there is another developmental version wherein there's a run option over here. Okay. That works primarily on Linux. Okay. And you click on that, it automatically does the job for you. You don't even need to type it. You can even open ParaView from this. So that is also there. Okay. Actually, we use salami also for meshing. Yeah. But it is a salami, it can't handle heavy files and sometimes we keep on crashing that session. Yeah. That's one benefit with Blender. Blender can handle files very heavy. Like if you have a, like you can even switch on to GPU mode if you have a GPU like this and it should be able to handle even large bits. Because in Blender you design entire worlds. People do nonstop things. Even in my own GitHub repository you can find some stuff done on Blender. So you will find that an entire solar system was modeled into Blender. And that file itself was around, after rendering it, it came around 450 MPs, which is not much, but for one person it was way too much. So you can see that it is quite efficient software. And Blender itself is very light. Okay. It's like only 200 MP. Other heavy softwares are in gigabytes. Okay. Sure Rajit, we'll plan something when proceed further in this. Yeah. Thanks. I will mail you. Sure, sure. You can find my mail address. Yeah, I got it. I got the mail. Yeah. Okay. Thank you. If anybody wants to get in touch with me, you can directly mail me. Just take a screenshot of this. Okay. Thanks. Sir, it is possible to create any car model by using the Blender software. Thank you, Moder. Well, yeah, you can. But the thing is, it won't be as comprehensive as CAD modeling software. Because the thing with Blender is, like, you know, whenever you work with Blender, one of the issues that people have faced with this, it's ability to properly mention dimensions. Okay. Now, by default, there is a section of, if you go to the item section, stab and go to the item section, you should see the dimensions of it. And you can also see scale, location, location. All these information, they still do not, they still, they're still not adequate to model something as complex as a car, right to the dimensions that you expected. However, yes, you can actually model a car, okay? But it will look like a car. It will be very much exactly like a car. It won't be just right to the right dimensions. So you have to be a little bit careful about that. But yeah, I think we can still do it. Or rather, if you build something on top of Blender, like a separate add-on, just for, like, you know, handling those dimensions, I think you can, there is even an add-on part as measured, which does that job for you. But it's still not adequate enough to do something as complex as a car. But yeah, one thing I can assure you that you will be getting a number of tutorials upon the block mesh part of this, especially if it comes up with the curve edges, geometries and all those things, right? It will immediately start having tutorials. We hope to make video tutorials as well and put them upon Posse's website. So it will be just like how you work with open form, you will be able to work with that as well. So we can go back and forth. For instance. Yeah. Giram Khurkar was asking a question, droplet size and velocity, okay? Sometimes we do for velocity and pressure distribution. Okay, I don't know whether you can do the droplet with the block mesh per se. It may not be an accurate droplet. But as of now, we do not have that capability. Maybe it's nappy. I think you might be able to do it. So are we done with the questions? Yeah, of course you can do a multi-phase flow study in open form. I mean, I think like we have people here who are working upon multi-phase flow. So you can just drop a mail with the contact dash C of the address Posse.in to ask your questions about multi-phase flow. Perhaps someone from our team can just take that up and ask you. Yeah, sure. So this is the contact details, C of the Posse.in. Other than that, you can also directly go to Posse's website and reach out to Posse.in if you want. I think this is the website. This is the internship's page. I think Pyle can give you more information on how you can write fully contact us. Yeah, sure. So I'm waiting till tomorrow. Tomorrow I'll give all the details. Yeah, yeah. Yeah, our contact details and whom to contact for which purpose. Yeah, that would be good. So that questions can be properly done. If you have any queries for the CFD team of Possein, which is working on open form and open form GUI, you can always write to us at contact safety. I'll just type it in the chat box. So people who are looking like there are students over there, I saw there were many students. So if you are looking for internships, do apply and the internships are still there. You can submit your task till 23rd of January. 20th of January is the last date of registration. Yeah. Yeah. So you can submit it till 23rd of January. I think you can even if you do some good work, you will definitely look forward to working with you again. So yeah, I think that's it. Atharva, if you're asking for the registration for the internship, then yes, there is a Google form in the website. I'll just keep the website for you. Use the website. So the criteria is mentioned in the internship selection, the qualification section. Okay. It doesn't really actually, honestly, it doesn't really matter from which field you are. Yeah, as long as you show a good interest and you are able to solve the screen task, that's what we are doing. But we don't care about it. Solving the screening task is the main criteria. So whoever solves the screening task will be selected and they can work with us as interns. Okay, so Madhav, what we can do is I can schedule a, if you want, I can stay back with you. You can share your screen and so on. Go ahead, Madhav. The options here are not in. Okay, you are on which platform is this next? Okay, you are on Windows. Okay, have you tried reinstalling it, Madhav? Blender. Yeah, no, no, not blender, the add-on. Okay, try reinstalling it. Meanwhile, just go to the help section. Yeah, click on the help section. Sorry, the Windows section, not the help section. Click on toggle system console. Right, the last option. Okay, so it's not showing any errors per se. I think you are utilizing the wrong zip file. It is the one that was sent to you previously. I had sent a new one. So the new one has some source files separately kept. Okay, but don't close this. You should be able to get. I'll just share the link for the new one again. Try installing from there and there you go, Madhav. There is a click on download. You don't need to open it. Just go to Blender and install it. Okay, sir. Yeah, remove the previous one before you do the new one. Sometimes it creates an error saying that this is already installed. Okay, so it won't be an error per se. It would be a warning. So that's it. Okay, I'll try that. And if any problem comes, I'll come to you tomorrow. Yeah, sure. Thank you, everyone. You are a wonderful audience. I hope you all like to apply for internships. You are encouraged to raise issues into our repository. The more we have, the better our softwares. Thank you. Thank you. Thank you. Thank you all. Thank you. Thank you. Thank you team and thank you everybody. So see you tomorrow.