Free/Open Source Software for Science & Engineering

41
 Free/Open Source applications  for Science and Engineering P. Sugathan I U A C Delhi

description

Free/Open Source Software for Science & Engineering by P Sugathan from IUAC

Transcript of Free/Open Source Software for Science & Engineering

Page 1: Free/Open Source Software for Science & Engineering

   

Free/Open Source applications for 

Science and Engineering 

P. SugathanI U A CDelhi

Page 2: Free/Open Source Software for Science & Engineering

   

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”

http://www.gnu.org

Page 3: Free/Open Source Software for Science & Engineering

   

Popular GNU/Linux distributions

 Ubuntu Debian Fedora Open SUSE Sabayon Scientific Linux Slackware   ..............many more...........

Page 4: Free/Open Source Software for Science & Engineering

   

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.

            www.fsf.org

Page 5: Free/Open Source Software for Science & Engineering

   

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                  

Page 6: Free/Open Source Software for Science & Engineering

   

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. 

Page 7: Free/Open Source Software for Science & Engineering

   

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.

  SourceForge.net, 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. 

Page 8: Free/Open Source Software for Science & Engineering

   

FOSS  characteristics that make it popular 

   Customisation,  licensing, hardware costs, development tools

Problems that designers cite as reasons to stay away.

  Support

  Fragmentation

Page 9: Free/Open Source Software for Science & Engineering

   

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

www.scientificlinux.org

GNU/Linux for computational use

Page 10: Free/Open Source Software for Science & Engineering

   

Scientific computation &  Software DevelopmentGCC compilerPython , Octave, Numpy/Scipy/R statistical

Document publicationsTex/Latex/

Data visualization/PlottingScidavis Monte Carlo Simulation/ Data Analysis ROOT GEANT

Few scientific programs of general utility.

Page 11: Free/Open Source Software for Science & Engineering

   

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 

Page 12: Free/Open Source Software for Science & Engineering

   

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

Page 13: Free/Open Source Software for Science & Engineering

   

Python Resources   

Part of many GNU/Linux distributions

Web:www.python.org

Tutorials

http://docs.pyhton.org/tut/tut.htmlhttp://www.byteofpyhton.infohttp://diveintopython.org

Page 14: Free/Open Source Software for Science & Engineering

   

Python Use CasesWeb 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.

Page 15: Free/Open Source Software for Science & Engineering

   

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

Page 16: Free/Open Source Software for Science & Engineering

   

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.

Page 17: Free/Open Source Software for Science & Engineering

   

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.

Page 18: Free/Open Source Software for Science & Engineering

   

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

ForecastWatch.com Uses Python To Help Meteorologists

MayaVi Uses Python for Scientific Data Visualization

Page 19: Free/Open Source Software for Science & Engineering

   

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.

GSL ­ GNU Scientific Library

ftp://ftp.gnu.org/gnu/gsl/

Page 20: Free/Open Source Software for Science & Engineering

   

NumPy  and  SciPy  are  two  of  many  open­source packages  for  scientific  computing  that  use  the  Python programming language

Scientific Tools for Python

Page 21: Free/Open Source Software for Science & Engineering

   http://www.gnu.org/software/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.

Octave

Page 22: Free/Open Source Software for Science & Engineering

   

The R Project for Statistical Computing

http://www.r­project.org/

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

Page 23: Free/Open Source Software for Science & Engineering

   

TeX/ LaTeX : a document preparation systemA  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­project.org

Page 24: Free/Open Source Software for Science & Engineering

   

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.

www.opendx.org

For  visualization  tasks  from  creating insightful images to building complete applications

OpenDX

Page 25: Free/Open Source Software for Science & Engineering

   

scidavis.sourceforge.net

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

Data Plotting 

Page 26: Free/Open Source Software for Science & Engineering

   

Qt GUI Designer

http://doc.trolltech.com/

The Qt Designer is a visual design tool that makes 

designing and implementing user interfaces a lot easier. 

Page 27: Free/Open Source Software for Science & Engineering

   

www.povray.org

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. 

PovRay

Page 28: Free/Open Source Software for Science & Engineering

   

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

http://www.csc.fi/english/pages/elmer

Finite Element Analysis

Page 29: Free/Open Source Software for Science & Engineering

   

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. 

http://grass.itc.it/

Geographic Resources Analysis Support System

Page 30: Free/Open Source Software for Science & Engineering

   

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.

http://brlcad.org

Page 31: Free/Open Source Software for Science & Engineering

   

  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.

http://www.gpleda.org

GEDA project

Page 32: Free/Open Source Software for Science & Engineering

   

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.

http://geant4.web.cern.ch/geant4/index.shtml

Page 33: Free/Open Source Software for Science & Engineering

   

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

http://root.cern.ch

Page 34: Free/Open Source Software for Science & Engineering

   

ROOT data visualization

Page 35: Free/Open Source Software for Science & Engineering

   

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 

http://sourceforge.net/

Source Code Repository

Page 36: Free/Open Source Software for Science & Engineering

   

http://xxx.lanl.gov

Open  access  to  584,546  e­prints  in  Physics, Mathematics, Computer Science, Biology, Finance and Statistics

Open access E­Print archives

Page 37: Free/Open Source Software for Science & Engineering

   

www.openscience.org

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.

Open Science Project

Page 38: Free/Open Source Software for Science & Engineering

   

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

http://developer.android.com/index.html

Page 39: Free/Open Source Software for Science & Engineering

   

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 . 

Page 40: Free/Open Source Software for Science & Engineering

   

PHOENIX Board

http://www.iuac.res.in/~elab/phoenix/

Page 41: Free/Open Source Software for Science & Engineering

   

THANK YOU