Your SlideShare is downloading. ×
0
Linux and Open Source in Math,
Science and Engineering

Dr. Doug Davis (3D)
pde1d.blogspot.com
Agenda

 A bit of history
 Where we are
 Visualization
 Math
 Engineering
 Science
Watt's steam engine at the lobby ...
A bit of History

 Computers originally for Computing
 Unix developed for telephone system
Human computers
in the NACA H...
1960s and 70s

 Mainframe era

 IBM, CDC, Cray, Burroughs Corporation, DEC,
NCR, General Electric, Honeywell, RCA, and
U...
1980 and 90s
 Early PC and MAC
 2D AutoCAD
 Graphic Engineering Workstations
 3D graphics
 High price
 High performa...
2000s
This is a picture of the TinyHPC Beowulf cluster

 Beowulf cluster

 MPI – Message
Passing Interface
 PVM – Paral...
Today

 Top500.org

 91% of 500

Fastest
Computers in
the World use
Linux
 1.2% Use MS
Windows

 The Network is
the Co...
S&E Software Tools

 3 Classes of Tools
 Quick and Dirty

 Spreadsheets
 Mainly S&E eduction use
 Matlab, Octave, Sci...
Spreadsheet
One Dimensional Partial Differential Equation

 Calc

∂U
∂U
+ U
= 0
∂t
∂x

U (0) = [ 1 + sin( π x ) ] / 2
Bur...
One Killer Feature of Linux
for S&E in My Opinion Anyway

 GPM - gpm provides mouse cut-and-paste
services

 Highlight, ...
Plotting
“The purpose of computing is insight, not numbers.”
R.W.Hamming, Numerical Methods for Scientiust and Engineers, ...
gnuplot

 plot and splot main commands
 > help plot
 > help set

 set terminal and set output for plot file output
 t...
gnuplot
plot
Other Plotting Software

 Mainly 2D or Math functions
 Matlab - $$$
 matplotlib – free
 graph and plot - free

 3-D C...
Scientific Python

 PyLab

 numpy, numeric python
 Scipy, Scientific Python –
 Matplotlib, Python
Plotting
 Traits, I...
Sage

 SAGE Math

 www.sagemath.org
 Author Video on Why Open Source
"I am a
cool
multiedge
graph with
loops"

http://w...
Sagemath.org

 Python

>>> notebook()

@interact

environment
 PARI/GP
 Maxima
 scipy, matplolib
R
 singular

 Ever...
Maxima

 Symbolic Math
 Maxima is a

descendent of
Macsyma
 Mathmatica and
Maple are
cousins
 Written in lisp

 wxMax...
Octave

 GNU Octave is a high-level interpreted

language, primarily intended for numerical
computations.
 Most compatib...
Programing

 A Much Bigger Learning Curve
 May be needed for better understanding
 Efficiency – Faster computations
 M...
Programing and Platform Tools

 Kdevelop IDE

 C, C++, Python, PHP, Ruby

 Eclipse

 CDT
 PTP
 Photran
Math Libraries
 Linear Algebra
 Fast Fourier Transform

 GSL – Gnu Scientific Library

 C functions, with many wrapper...
Other Math Libraries

 AMD Core Math Library (ACML)

 Fortran
 Supports 6 compilers on Linux and 2 on
Windows

 AMD Ac...
High Performance Libraries

 PETSC – PDE library
 Dakota - Optimization
 Trilinos - object-oriented software framework
...
Other Languages

R

 Statistics Language Package
 This means data analysis
 Good plotting facilities
 Powerful Non-Li...
Engineering Tools

 Linux weakness is lack of popular CAD

 Most geometry engines work under Linux
 ACIS, Granite, Open...
CAELinux

http://www.caelinux.com

Linux Distribution Focused on Computer Aided Engineering
CAELinux is an installable Liv...
Text Book
Using CAE
Linux

CAE Linux also
includes good tutorials Wink
Salome -MECA
http://www.salome-platform.org/

 Integrated Analysis Framework
 Geometry → Grid → Solver → Visualization
...
Salome- Mesh Example
YACCS

 Supervisor Module
 Integrates Solvers
 Optimization??
OpenFOAM
http://www.openfoam.com/

 Arbitrary Polyhedral Cell Field Solver
 Separate Solvers for Different Problems
 Re...
Catalogs of Programs

 SAL – Scientific Applications for Linux

 http://www.sai.msu.su/sal/sal2.shtml
 Search-able refe...
Other

 Latest Linux Kernel adding
more Real Time functions

 Process Control
Requirement

 Mathscript for Android
(Sym...
Thank You

 pde1d.blogspot.com
Upcoming SlideShare
Loading in...5
×

Linux and Open Source in Math, Science and Engineering

1,851

Published on

Covers a brief history of Open Source Math, Science and Engineering Software on Linux. A look at the software tools currently available for mathematical analysis and plotting for math science and engineering. Presented at 2011 Ohio LinuxFest.

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,851
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
33
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Linux and Open Source in Math, Science and Engineering"

  1. 1. Linux and Open Source in Math, Science and Engineering Dr. Doug Davis (3D) pde1d.blogspot.com
  2. 2. Agenda  A bit of history  Where we are  Visualization  Math  Engineering  Science Watt's steam engine at the lobby of the Higher Technical School of Industrial Engineering of Madrid Wikimedia Commons
  3. 3. A bit of History  Computers originally for Computing  Unix developed for telephone system Human computers in the NACA High Speed Flight Station "Computer Room", Dryden Flight Research Center Facilities WikiMedia Commons
  4. 4. 1960s and 70s  Mainframe era  IBM, CDC, Cray, Burroughs Corporation, DEC, NCR, General Electric, Honeywell, RCA, and UNIVAC  Fortran Programs  Hollerith Cards  Beginnings of interactive programing Thomas J. Watson, Sr. was fired several times by John Henry Patterson the owner of NCR in Dayton, Ohio. So he went to work for Computing-Tabulating-Recording Company (CTR) which became IBM under his leadership
  5. 5. 1980 and 90s  Early PC and MAC  2D AutoCAD  Graphic Engineering Workstations  3D graphics  High price  High performance  Unix variants
  6. 6. 2000s This is a picture of the TinyHPC Beowulf cluster  Beowulf cluster  MPI – Message Passing Interface  PVM – Parallel Virtual Machine  COW – Cluster of Workstations  LOBOS – Lots Of Boxes On Shelves The name Beowulf originally referred to a specific computer built in 1994 by Thomas Sterling and Donald Becker at NASA. Photo by Mukarram Ahmad http://en.wikipedia.org/wiki/File:Tinyhpc.jpg Instructions for building a Low cost Beowulf (cir. 2000) http://www.clustercompute.com/
  7. 7. Today  Top500.org  91% of 500 Fastest Computers in the World use Linux  1.2% Use MS Windows  The Network is the Computer Sun's John Gage – CNET June 9, 2008
  8. 8. S&E Software Tools  3 Classes of Tools  Quick and Dirty  Spreadsheets  Mainly S&E eduction use  Matlab, Octave, Scilab  Python  Programming Tools  Fortran and C/C++  Libraries  Tools  Science & Engineering Tools  CAE – Computer Aided Engineering
  9. 9. Spreadsheet One Dimensional Partial Differential Equation  Calc ∂U ∂U + U = 0 ∂t ∂x U (0) = [ 1 + sin( π x ) ] / 2 Burgers Equation  OpenOffice  LibreOffice 1st Order Euler 1.2  Gnumeric 1 0 2 4 6 8 10 12 Amplitude 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 X 1.2 1.4 1.6 1.8 2
  10. 10. One Killer Feature of Linux for S&E in My Opinion Anyway  GPM - gpm provides mouse cut-and-paste services  Highlight, then mouse middle click, to paste selected text  Fast and simple way to transfer numbers between programs  Command line file names,  ls → <command> → double click→ middle click  With OO Calc can transfer whole text tables  eMail and web addresses  Works with vi, kwrite, gedit, OO writer, etc.
  11. 11. Plotting “The purpose of computing is insight, not numbers.” R.W.Hamming, Numerical Methods for Scientiust and Engineers, Dover Publications  Gnuplot  Fit function  Plot data or functions  Fast script running  Paraview  3D  Filter Tree View  Many Commercial Options  Tecplot, Fieldview, EnSight
  12. 12. gnuplot  plot and splot main commands  > help plot  > help set  set terminal and set output for plot file output  text data in columns  default white-space separators  > set datafile separator ','  quotes for file name in plot command  no titles in file  two blank lines separate index number  user functions  > sinc(x) = sin(pi*x)/(pi*x)  multiple error bars
  13. 13. gnuplot plot
  14. 14. Other Plotting Software  Mainly 2D or Math functions  Matlab - $$$  matplotlib – free  graph and plot - free  3-D Contours  Tecplot - $$$  Ensight - $$$  Fieldview - $$$  Paraview – free  Visit - free  Many many more http://vtk.org/Wiki/File:ParaViewWeb-shuttle.png http://paraviewweb.kitware.com/PWShuttle/
  15. 15. Scientific Python  PyLab  numpy, numeric python  Scipy, Scientific Python –  Matplotlib, Python Plotting  Traits, Interactive http://www.scipy.org/
  16. 16. Sage  SAGE Math  www.sagemath.org  Author Video on Why Open Source "I am a cool multiedge graph with loops" http://www.sagemath.org/tour-graphics.html
  17. 17. Sagemath.org  Python >>> notebook() @interact environment  PARI/GP  Maxima  scipy, matplolib R  singular  Everything Open Source Math Better than MATLAB – Arbitrary Precision, Faster, Object Oriented Programming, Symbolic Algebra, OPEN SOURCE
  18. 18. Maxima  Symbolic Math  Maxima is a descendent of Macsyma  Mathmatica and Maple are cousins  Written in lisp  wxMaxima – wxwidgets gui version
  19. 19. Octave  GNU Octave is a high-level interpreted language, primarily intended for numerical computations.  Most compatible with Matlab  Can run many .m files  Octave Forge  Examples and tools  http://octave.sourceforge.net/ http://www.gnu.org/software/octave/index.html
  20. 20. Programing  A Much Bigger Learning Curve  May be needed for better understanding  Efficiency – Faster computations  Many Libraries  Fortran or C/C++
  21. 21. Programing and Platform Tools  Kdevelop IDE  C, C++, Python, PHP, Ruby  Eclipse  CDT  PTP  Photran
  22. 22. Math Libraries  Linear Algebra  Fast Fourier Transform  GSL – Gnu Scientific Library  C functions, with many wrappers  info gsl Complex Numbers Special Functions Permutations BLAS Support Eigensystems Quadrature Quasi-Random Sequences Discrete Wavelet Transforms Simulated Annealing Chebyshev Approximation Discrete Hankel Transforms Roots of Polynomials Vectors and Matrices Sorting Linear Algebra Fast Fourier Transforms Random Numbers Random Distributions Histograms Monte Carlo Integration Differential Equations Numerical Differentiation Basis splines IEEE Floating-Point Physical Constants Minimization Least-Squares Fitting Root-Finding Interpolation N-Tuples Series Acceleration Statistics
  23. 23. Other Math Libraries  AMD Core Math Library (ACML)  Fortran  Supports 6 compilers on Linux and 2 on Windows  AMD Accelerated Parallel Processing Math Libraries (APPML)  AMD OpenCL GPUs  Intel® Math Kernel Library (Intel® MKL)  Fortran and C
  24. 24. High Performance Libraries  PETSC – PDE library  Dakota - Optimization  Trilinos - object-oriented software framework  Paraview – 3-D Visualization Tool  VTK – 3-D Visualization Library  HDF5 – Hierarchical Data Facility  NetCDF – Network Common Data Form
  25. 25. Other Languages R  Statistics Language Package  This means data analysis  Good plotting facilities  Powerful Non-Linear Regression  Java  JScience – http://jscience.org/  Java Scientific Library -http://www.ee.ucl.ac.uk/~mflanaga/java/
  26. 26. Engineering Tools  Linux weakness is lack of popular CAD  Most geometry engines work under Linux  ACIS, Granite, OpenCascade  Some Linux Cad Packages  QCAD – 2D – Free , GPL  VariCAD - ~$700 – free trial - varicad.com  BricsCAD - $$ - http://www.bricsys.com  Graphite One CAD - ~$2000 for 3-D  freeCAD – sourceforge.net/projects/free-cad/  Some Light 3D for Grid Generators  CUBIT, Salomè
  27. 27. CAELinux http://www.caelinux.com Linux Distribution Focused on Computer Aided Engineering CAELinux is an installable LiveDVD Linux distribution based on Ubuntu 10.04 LTS 64 bit Pre-post processors & CAD: Salome_Meca 2010, Salome 5.1.3, GMSH 2.4, Netgen , Tetgen, enGrid, Discretizer / Discretizer::Setup, Paraview, OpenDX, CGX, QCad, FreeCAD, SagCAD, ElmerGUI / ElmeFront / ElmerGrid Finite Element solvers: Salome_Meca 2010, Code_Aster STA10.1, Elmer v5.5 , Calculix 2.1, Impact 0.76, Dynela, Fenics Computationnal Fluid Dynamics: OpenFOAM v1.7, Gerris flow solver and GFSView, Code-Saturne 2.0 with CFD analysis wizard and tutorial , Elmer Solver, air foil and airplane analysis tools (Xfoil, Javafoil, AVL, Datcom+) Multibody dynamics : MBDyn with its Blender interface and EasyAnim 3D bio-medical image processing: ITK-Snap, Image J, Voxel_Mesher Mathematics: GNU Octave +QtOctave, Scilab, wxMaxima, R & Rkward, Gnuplot, Latex, Labplot, g3data, Scipy. Is provided with interactive flash tutorials, videos as well as examples to start learning how to use the included open-source softwares for realistic simulation
  28. 28. Text Book Using CAE Linux CAE Linux also includes good tutorials Wink
  29. 29. Salome -MECA http://www.salome-platform.org/  Integrated Analysis Framework  Geometry → Grid → Solver → Visualization  User Modules  Geometry: create, edit, import/export CAD models (OpenCascade)  Mesh : mesh a CAD model using a standard meshing algorithm or any external mesher  Med : MED data files management  Post-processor : dedicated viewer (Paraview/ VTK)  YACS : supervision module  Python Scripting
  30. 30. Salome- Mesh Example
  31. 31. YACCS  Supervisor Module  Integrates Solvers  Optimization??
  32. 32. OpenFOAM http://www.openfoam.com/  Arbitrary Polyhedral Cell Field Solver  Separate Solvers for Different Problems  Really a framework  OpenCFD Ltd. acquired by SGI An extensive set of OpenFOAM solvers has evolved (and is forever growing) that are available to users. OpenFOAM is used mainly for CFD but has found use in other areas such as stress analysis, electromagnetics and finance because it is fundamentally a tool for solving partial differential equations rather than a CFD package in the traditional sense.
  33. 33. Catalogs of Programs  SAL – Scientific Applications for Linux  http://www.sai.msu.su/sal/sal2.shtml  Search-able reference to many programs  Very Old – Last update May 2001  Netlib - Netlib is a collection of mathematical software, papers, and databases  http://www.netlib.org/  160+ packages and catagories
  34. 34. Other  Latest Linux Kernel adding more Real Time functions  Process Control Requirement  Mathscript for Android (SymPy)  TeX Live -  Kile, Texmaker and Lyx  KDE Cantor  GNU TexMacs https://market.android.com/details? id=com.funmath.mathscript
  35. 35. Thank You  pde1d.blogspot.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×