### SlideShare for iOS

by Linkedin Corporation

FREE - On the App Store

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 ...

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.

- Total Views
- 1,801
- Views on SlideShare
- 1,801
- Embed Views

- Likes
- 1
- Downloads
- 21
- Comments
- 0

No embeds

Uploaded via SlideShare as OpenOffice

© All Rights Reserved

- 1. Linux and Open Source in Math, Science and Engineering Dr. Doug Davis (3D) pde1d.blogspot.com
- 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. 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. 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. 1980 and 90s Early PC and MAC 2D AutoCAD Graphic Engineering Workstations 3D graphics High price High performance Unix variants
- 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. 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. 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. 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. 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. 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. 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. gnuplot plot
- 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. Scientific Python PyLab numpy, numeric python Scipy, Scientific Python – Matplotlib, Python Plotting Traits, Interactive http://www.scipy.org/
- 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. 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. Maxima Symbolic Math Maxima is a descendent of Macsyma Mathmatica and Maple are cousins Written in lisp wxMaxima – wxwidgets gui version
- 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. Programing A Much Bigger Learning Curve May be needed for better understanding Efficiency – Faster computations Many Libraries Fortran or C/C++
- 21. Programing and Platform Tools Kdevelop IDE C, C++, Python, PHP, Ruby Eclipse CDT PTP Photran
- 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. 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. 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. 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. 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. 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. Text Book Using CAE Linux CAE Linux also includes good tutorials Wink
- 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. Salome- Mesh Example
- 31. YACCS Supervisor Module Integrates Solvers Optimization??
- 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. 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. 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. Thank You pde1d.blogspot.com

Full NameComment goes here.Sudhakar Srivastava, Additional Chief Engineer at Nuclear Power Corporation Of India Limited 3 months ago