Free/Open Source Software for Science & Engineering


Published on

Free/Open Source Software for Science & Engineering

by P Sugathan
from IUAC

Published in: Technology
1 Comment
1 Like
  • Comprehensive and informative slideshare!A great open source electronic laboratory notebook for researchers and scientists:
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Free/Open Source Software for Science & Engineering

  1. 1. Free/Open Source applications  for  Science and Engineering  P. Sugathan I U A C Delhi    
  2. 2. GNU Operating System  Unix­like operating systems built from a collection of  libraries, applications and developer tools.   Linux  kernel  allocate  resources  and  talk  to  the  hardware.   The  combination  of  GNU  and  Linux  is  the        GNU/Linux OS used by millions.  Many variants or “distributions”    
  3. 3. Popular GNU/Linux distributions  Ubuntu  Debian  Fedora  Open SUSE  Sabayon  Scientific Linux  Slackware    ..............many more...........    
  4. 4. What is Free Software? Free software is a matter of the users' freedom to run, copy,  distribute, study, change and improve the software.    In the GNU project, the term  "copyleft" is used to protect  these freedoms legally for everyone. The Free Software Foundation (FSF)  is the principal organizational  sponsor of the GNU Project.       
  5. 5. Free and open source software( F/OSS)  A Community in which information will be freely exchanged Benefits  Increase  quality via community peer review  Accelerate  development via community  contributions                 Dissemination of knowledge                       
  6. 6. Open Source in Science & Engineering  Science is an open process. Experimental results are  published and  shared with the larger community to benefit  all humanity.  It makes sense that the software used for scientific  computations should also be open.     
  7. 7. FOSS  advantage        Designers  can  choose  from  a  variety  of  open­source­ software  components  ranging  from  multiple  variations  of  the  wildly  popular  Linux  operating  system  to  sophisticated debugging tools., the  largest  open­source­software­ development  site,  provides  free  hosting  to  more  than  230,000 registered projects, including database, security,  gaming,  clustering,  multimedia,  and  VOIP  (voice  over  Internet Protocol) offerings.     
  8. 8. FOSS  characteristics that make it popular     Customisation,  licensing, hardware costs,  development tools Problems that designers cite as reasons to stay away.   Support   Fragmentation    
  9. 9. GNU/Linux for computational use Linux  is  used  on  desktop  PCs,  supercomputing  clusters,  embedded  scientific  equipment,  as  a  programming  environment  for  scientific  programming  and  a  myriad  of  other uses. Scientific  Linux(SL)  is  a  Linux  release  put  together  by  Fermilab,  CERN,  and  various  other  labs  and  universities  around  the  world.  Its  primary  purpose  is  to  reduce  duplicated  effort  of  the  labs,  and  to  have  a  common  install  base for the various experimenters.   Linux  programmers  can  take  advantage  of  a  number  of  scientific libraries included in the distribution. :    
  10. 10. Few scientific programs of general utility. Scientific computation &  Software Development GCC compiler Python , Octave, Numpy/Scipy/ R statistical Document publications Tex/Latex/ Data visualization/Plotting Scidavis  Monte Carlo Simulation/ Data Analysis  ROOT  GEANT    
  11. 11. GCC, the GNU Compiler Collection    Includes front ends for C, C++,  Fortran, Java, and Ada, as well  as libraries for these languages (libstdc++, libgcj,...).  GCC was originally written as the compiler for the GNU OS   GNU project debugger GDB, the GNU project debugger, allows you to see what is  going on "inside"  the  program while it executes   Helps  you catch bugs     
  12. 12. Python: Programming tool kit Python is a programming language created by Guido van  Rossum in 1989 Lets you work more quickly  and integrate your systems  more effectively.  Gains in productivity and lower  maintenance costs. Highly cross platform Python is free to use, even for commercial products. Simple and complete by design    
  13. 13. Python Resources     Part of many GNU/Linux distributions Tutorials    
  14. 14. Python Use Cases Web and Internet Development  Offers  wide range of choices for web development: Writing basic CGI scripts. Web application Frameworks such as Django and TurboGears. High­end solutions such as Zope. Advanced content management systems such as Plone.    
  15. 15. Database Access Custom and ODBC interfaces to MySQL, Oracle, MS SQL  Server, PostgreSQL, SybODBC, and others  Standard Database API. Object databases such as ZODB and Durus. Desktop GUIs The Tk GUI development library is included with most  binary distributions for Python. wxWidgets GTK+ Qt    
  16. 16. Scientific and Numeric Python is widely used in scientific and numeric computing: Bioinformatics Physics Education A superb language for teaching programming. Python Special interest group is a good place to start Game and 3D Graphics Python is widely used in commercial and hobby game  development: PyGame and PyKyra are two of the game frameworks available  for Python.    
  17. 17. Network Programming Support for lower level network programming: Easy­to­use socket interface. Twisted Python, a framework for asynchronous network  programming. Software Development often used as a support language for software developers,  for build control and management, and testing SCons for build control. Buildbot and Apache Gump for automated continuous  compilation and testing. Roundup or Trac for bug tracking and project management.    
  18. 18. Python Success story NASA: Space Shuttle Mission Design AstraZeneca : uses python for collaborative drug discovery ReHat : install scripts, sys admin tools Google :  Python is one of the official language Nokia S60 smart phone Uses Python To Help Meteorologists     MayaVi Uses Python for Scientific Data Visualization
  19. 19. GSL ­ GNU Scientific Library The  GNU  Scientific  Library  is  a  numerical  library  for  C/C++  that  contains  built­in  functionality  for  random  numbers,  statistical  distributions,  matrix  mathematics,  complex numbers, and more. The library provides a wide  range of mathematical routines such as random number  generators,  special  functions  and  least­squares  fitting.  There are over 1000 functions in total with an extensive  test suite.    
  20. 20. Scientific Tools for Python NumPy  and  SciPy  are  two  of  many  open­source  packages  for  scientific  computing  that  use  the  Python    programming language  
  21. 21. Octave Octave  is  a  high­level  language,  primarily  intended  for  numerical computations.   It  provides  a  convenient  command  line  interface  for  solving linear and non­linear problems numerically, and for  performing  other  numerical  experiments  using  a  language  that is mostly compatible with Matlab.  Octave  has  extensive  tools  for  solving  common  numerical  linear  algebra  problems,  finding  the  roots  of  non­linear  equations,  integrating  ordinary  functions,  manipulating  polynomials,  and  integrating  ordinary  differential  and  differential­algebraic equations.  
  22. 22. The R Project for Statistical Computing http://www.r­ R  is  an  integrated  suite  of  software  facilities  for  data  manipulation, calculation and graphical display.  A  suite  of  operators  for  calculations  on  arrays,  in  particular  matrices,  A  large,  coherent,  integrated  collection  of  intermediate  tools  for data analysis Graphical  facilities  for  data  analysis  and  display  either  on­     screen or on hard copy
  23. 23. TeX/ LaTeX : a document preparation system A  high­quality  typesetting  system  designed  for  production  of  technical & scientific papers De  facto  standard  for  communication  and  publication  of  scientific documents Separates content creation from typesetting issues Similar  to  HTML  :    text  is  marked  up  and  processed  to  produce a document. Nice  features  such  as  automatically  creating  properly  formatted title pages and reference sections. A  TeX  document  is  processed  by  the  LaTeX  program  to  produce  a  variety  of  formats,  include  DVI,  PostScript,  PDF,  and HTML.      www.latex­
  24. 24. OpenDX For  visualization  tasks  from  creating  insightful images to building complete  applications OpenDX is a uniquely powerful, full­featured software  package for the visualization of scientific, engineering and  analytical data Its sophisticated data model provides users with great  flexibility in creating visualizations.  
  25. 25. Data Plotting SciDAVis is a free interactive application aimed at data analysis  and publication­quality plotting. SciDAVis is similar in its field of application to proprietary Windows   applications like Origin    
  26. 26. Qt GUI Designer The Qt Designer is a visual design tool that makes  designing and implementing user interfaces a lot easier .    
  27. 27. PovRay The persistence of vision raytracer a high quality tool for creating  stunning  3D graphics  Used to  create images suitable for all stages of scientific research:  investigation, diagrams for papers, and high quality images for      promotional purposes.  
  28. 28. Finite Element Analysis Elmer  Open  Source  Finite  Element  Software  for  Multi  physical  problems  Elmer includes physical models of fluid dynamics, structural  mechanics, electromagnetic, heat transfer and acoustics, for  example.  These  are  described  by  partial  differential  equations which Elmer solves by the Finite Element Method  (FEM).    
  29. 29. Geographic Resources Analysis Support System GRASS  is  free  Geographic  Information  System  (GIS)  software  used  for  geospatial  data  management  and  analysis,  image  processing,  graphics/maps  production,  spatial modelling, and visualization.  Used by academic and  many governmental agencies and  environmental consulting companies.  Modules  for  management,  processing,  analysis  and  visualization of georeferenced data.     
  30. 30. BRL­CAD  is  a  powerful  cross­platform  open  source  solid  modelling  system  that  includes  interactive  geometry  editing,  high­performance  ray­tracing  for  rendering  and  geometric  analysis,  image  and  signal­processing  tools,  a  system performance analysis benchmark suite, libraries for  robust geometric representation.    
  31. 31. GEDA project   GPL'd  suite  and  toolkit  of  Electronic Design Automation  tools.  Used  for  electrical  circuit  design,  schematic capture,  simulation,  prototyping,  production,    analog  and  digital  simulation, and printed circuit board (PCB) layout.    
  32. 32. GEANT4    Geant4  is  a  toolkit  for  the  simulation  of  the  passage  of  particles  through  matter.  Its  areas  of  application  include  high energy, nuclear and accelerator physics, as well as  studies in medical and space science.    
  33. 33. The ROOT system provides a set of OO frameworks with  all  the  functionality  needed  to  handle  and  analyse  large  amounts of data in a very efficient way.  Included  are  histograming  methods  in  an  arbitrary  number  of  dimensions,  curve  fitting,  function  evaluation,  minimization,  graphics  and  visualization  classes  to  allow  the easy setup of an analysis system that can query and      process the data interactively or in batch mode
  34. 34. ROOT data visualization    
  35. 35. Source Code Repository SourceForge  is  a  centralized  location  to  download  and  develop free open source software. World's largest open source software development web site.   More than 230,000 software projects have been registered   More than 2 million registered users,  Largest collection of open source tools and applications on  the net.  Free Access  to hosting and tools for developers     
  36. 36. Open access E­Print archives Open  access  to  584,546  e­prints  in  Physics,  Mathematics, Computer Science, Biology, Finance  and Statistics    
  37. 37. Open Science Project The OpenScience Project maintains a comprehensive listing of  openly available scientific software packages.  Contains packages for a wide range of disciplines, including,   mathematics, astronomy, anthropology, and archaeology.   It  makes  it  easy  to  find  software  for  specialized  scientific  fields.    
  38. 38. Mobile Application  Android by google Android is the first free, open source, and fully customizable  mobile  platform.  Android  offers  a  full  stack:  an  operating  system,  middleware,  and  key  mobile  applications.  It  also  contains a rich set of APIs that allows third­party developers  to develop great application    
  39. 39. Computer Interfaced Science Experiments Phoenix  allows  you  to  develop  science  experiments   by  connecting   sensor  /  control  elements  to  a  computer  and  access  them  through  software.  Phoenix  depends  heavily  on Python language.          The hardware design is freely available. The project is  based  on  Free  Software  tools  and  the  code  is  distributed  under GNU GPL .     
  40. 40. PHOENIX Board  
  41. 41. THANK YOU