skip page navigationOregon State University
Oregon State Home  |  College of Science  |  Find Someone

Demonstrating Numerical Methods in the Classroom, and the Open Source Project FEMhub

Event Detail

Event type: Colloquium
Date/Time: 11/02/2009-16:00   
Location: Kidd 364


Speaker info

Speaker: Pavel Solin, University of Nevada, Reno


Abstract:
In my experience, students of numerical methods enjoy the course much more if they have a chance to see live demonstrations of the algorithms in classroom (and they do their programming assignments with less grumble). This may not necessarily mean additional workload for the instructor. There are excellent free tools that can be run from any web browser and they just work. One such example is the JODE applet for ordinary differetial equations that I will show. The only shortcoming of this applet is that it does not show how things are actually done, which is essential for a numerical methods course. Therefore, we have developed a web notebook based on Python, where the students can see how the methods are implemented, they can check them out, and they can implement their own algorithms and make them easily available to everyone. We will demonstrate this using a few elementary numerical methods such as the Taylor polynomial, rootfinding, and polynomial interpolation. The second part of the talk is specifically about finite element methods (FEM). Nowadays, many students, researchers, and teams develop their own FEM codes and make them freely available via internet. However, it is virtually impossible to compare their performance and results, or to collaborate on their development, because of lack of a common platform and design standards. The open source project FEMhub is aimed at changing that. Its goals are to: * Make it very easy to download and install many open source FEM codes at once. * Provide easy access to open source tools for geometrical modeling, mesh generation, and visualization. * Allow the user to define the problem only once and have it solved by means of various codes for comparison purposes. * Provide a browser tool so that all codes in FEMhub are accessible through the internet, for people who cannot or do not want to install the package, or do not have the necessary CPU power. * Make it possible to run realistic FEM computations from any classroom equipped with internet access. * Create a quality assessment procedure and legal certification mechanism for open source FEM codes. This effort is a joint project with NIST. Currently, FEMhub contains the packages SfePy, LibMesh, Phaml, FiPy and Hermes as FEM engines, lots of tools to ease visualisation (matplotlib, mayavi, pyglet), and a web notebook which is based on the Sage notebook. The development is very active and increasingly more people are contributing on a voluntary basis.