Hi.
In this segment I will introduce you to the Deal.II website, and
then we'll look at a way of running your code on your own machine,
using a virtual machine through Oracle Virtualbox.
All right, so let's go to the screen now.
We'll actually go first to the Coursera website.
And if you scroll down, on the left there's a resources
tab with links to different websites and other resources.
So at the very top is the deal II website.
It's actually just a dealII.org with the two as a double i.
There are three things I wanted to show you about the deal.II website.
The first, under 8.2.1, which is the current deal.II release.
We'll go to Tutorials.
The tutorials are really just example programs, and if we scroll down you see
a graph or a schematic of how the different tutorials relate to each other.
They sort of build off each other and
become more sophisticated the higher the numbers go.
We'll go to number eight, which is elasticity,
which is something that you'll be coding yourself at some point.
Although it will be a little bit different format.
Now, I really like the way these tutorials are set up.
The first part of the tutorial, as you can see,
goes through the underlying physics and the governing equations involved.
Can see it gives a pretty in depth explanation of what's going on and
what you will be modeling, or what they are modeling in this tutorial.
It also gives relations to other tutorials and
where you might want to take it further.
The next section is what's called the commented program, and as you can see it
has comments, paragraphs of explanation interspersed with the code itself.
All right, explains the header files, the templates that are going on,
the different function names and so on, as well as the DOT data types, okay.
So that section is quite long.
So I'll scroll down.
It also goes over the results, but then at the very end is the plain program.
So if you just want to see the code itself, here it is at the very bottom.
So you can look through it and see what's going on.
There are several of these programs, these example programs, these tutorials.
They're really helpful especially if you want to move on, beyond this course and
use deal.II in your own research, or for your own work.
This is really helpful for learning deal.II on both a simple and
an advanced level, all right.
Go back to the deal.II website really quickly here.
The other thing I wanted to show you, or one of the other things,
is the download page.
We actually won't be expecting you, or you won't need to download deal.II and
install it on your own machine, but if you do want to, this is how you do it.
You can install it on Linux and that would be this first archive file,
this tar.gz file, you would download it to your Linux computer and
here are the instructions for installing that.
It's actually really simple to install it on a MAC.
Here are the binary packages, and the instructions there.
Another option that deal.II has on their website, is a virtual machine image, and
I'll go into that a little bit more.
We actually won't be using deal.II as a virtual machine image,
because it doesn't have the HDF5 library installed,
which is necessary for creating the hallmark submission file.
So actually,
if you're going to be installing this on your own computer, whether it's a Linux or
a Mac machine, you'll need to make sure the HD5 library is installed.
If you want to run it on Windows, there may be ways to do it
by creating a Linux environment, such as Seguin, using Seguin.
But it's probably going to be easier to use the virtual machine that
I'll be talking about in this segment, or AWS,
which I'll be talking about in a future segment, all right?
The third part of the deal.II website that is extremely helpful,
is their documentation on the deal.II classes and
functions, such as the deal.II vector, the deal.II full matrix and so on.
I actually usually don't access that through the deal.II website itself,
initially.
I access it by going to a search engine like google,
and searching deal.II vector for
example, and it's usually at the very top of the results.
Okay, so here is vector class template reference, and at the top of
the page shows how the inspector class relates to other classes.
That can be pretty extensive with things like full matrix.
With a vector it's a little more simple, and then it goes through the public and
private member types and data types associated with the vector.
So it goes through the different constructors,
the functions like reinit explains the different operators involved.
All right, so there are quite a lot of functions here, and if you want to know
how to use one more in depth, or a more in depth explanation, just click on the link.
It scrolls down to the right spot on the web page, okay.
And deal.II's documentation is really good,
that's one of the reasons we decided to use deal.II with this course, okay.
So those are the three mains things about the deal.II website that I wanted to show.
Of course there's more to the website than that and feel free to explore.
All right, but now I want to shift over and look at the virtual machine.
Okay so to do that, we'll go back to the Coursera website under resources again.
We'll be using this virtual machine through Oracle's VirtualBox.
So here's the link to download that.
It's an application that you can use on Linux or Windows or a Mac.
Whatever type of operating system you're using,
you should be able to use VirtualBox, okay.
It's a pretty, It's pretty straightforward to download and install.
It's not a huge file.
It doesn't take up a lot of space on your computer, by itself.
Okay, but once you've installed VirtualBox, you want to
go back to Coursera, and you'll download the virtual machine appliance.
Now this is what has all of the software that you'll be using, okay?
And it's a Linux appliance, it's an Ubuntu virtual machine, okay.
It's a .OVA file, so you would just click on this.
It would download it.
As you can see, it's 2 GB, so it's a pretty big file.
I'm not going to download it again to my computer.
It can take quite a while, depending on your internet connection, okay.
But once you've downloaded your .ova file, then you would go to VirtualBox,
which you already have installed, and you'll open that up.
I've already imported the appliance to my machine, but
I'll show you how you would do that on yours.
Go up to file, import appliance, and
then you would browse to where that file is downloaded.
So here it's in my downloads folder, press Open, and
next would take me to the different settings.
Okay, you shouldn't have to change any of these settings, probably,
and then you would press Import.
Now it would take about 20 or 30 minutes to import, so
I won't press Import again here.
I'll just press Cancel, but again, of course you would press Import.
Okay, now once it's imported, your screen will look like this, okay?
So you press Start, and it can take a little while to bring up the screen.
Okay, and the first time it's running here for you, it may come up with this error,
like it does for me,
it says implementation of the USB 2.0 controller not found.
I just press OK, and
I go to settings making sure of course that virtual machine is selected still.
Go down to USB and I'll deselect enable USB 2.0 controller.
Press OK, and now I'll go back to start.
So again, this is an Ubuntu virtual machine image, and so, as it comes up,
you may not need to use it but the username and password will be Ubuntu.
So, if you ever need to use it as a super user, using as you do.
It does take a little bit for the screen to come up.
Okay, so we're loading xubuntu now, and
even though it's a small screen now we can make it full screen so
that it's, as if you're actually working on a new Ubuntu machine.
It is a virtual desktop here and
everything is actually located right on your own laptop.
So you don't need an Internet connection once everything's installed, and
again this works with Linux, Mac or Windows.
Now after it's installed, the virtual machine appliance does take up
a fair amount of space on your hard drive, something like 7 or 8GB.
So you will need about that much space on your hard drive in order to use
this option.
So you can see it is its own desktop, I'll switch to full screen mode.
It has its own web browser here, so Chromium.
You go up to the top left, is where you'll access the different applications.
So actually the web browser here doesn't work.
You go over here to the right to Internet, and then you can go into Chromium,
go to development, and you have Emacs for a text editor, for editing your code.
Let's see, Accessories.
Leafpad is also a text editor, but it's not necessarily meant for editing code.
It is there though, it's quite a bit simpler than Emacs.
Another thing is you have an archive manager,
because your co-template will be downloaded as a .zip file.
So you can use Archive Manager to unzip your files, and
then remember when you're submitting your homework files you will be
creating a zip file of all the submission files.
So again, you can use Archive Manager to do that.
So everything you need to do for
your homework you can do right here within this virtual machine.
Because you have the text editor,
you have the webpage or the web browser, you have the archive manager.
You also have VisIt to visualize your code.
You can double click that, and it opens up the GUI.
Okay of course, so now the main thing that you need to know how to do on here is how
to run your code right?
So up here as well, you would go to Terminal Emulator, and
here you have your terminal two actually run your code.
Okay so do ls.
So we'd want to, for an example, I'll go into the deal.II examples,
so it's cd deal.II examples, and here it has step one and so on.
These correspond to the tutorials that we saw on the deal.II website.
So if go into the step-8,
you can see it has CMakeLists.txt file and a step-8.cc.
So the first step to run your code is to do cmake and
then CMakeLists.txt and press enter, so this will create a make file,
that's specific to our .cc file to our source code okay?
So now if I press ls, you can see that it's created several different
files including this make file, and the make file will compile and
run our code so I can do make run, and it will run step-8 for us.
It does take a little bit of time, just to compile your code,
even if it doesn't take a long time to run it on the virtual machine.
It does take a little while to compile it and link everything.
It's finally linking and running it for us.
Okay, so now if we list the files.
You can see it created several VTK files which you could open up and
visit and look at.
All right, and when you run your code you'll be doing something similar,
you'll have it a schemiclist.txt file as well as some source code.
Of course you'll be editing the source code, and
you'll be running it using Cmake.
Okay, so that should be enough to get you going with the virtual machine and
in the future segments we'll be talking about how to run your code using AWS.