Showing posts with label Open Source. Show all posts
Showing posts with label Open Source. Show all posts

Sage - an Open Source Mathematics Software System

Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface.

Additional Documentation:
  1. Sage Tutorial
  2. Sage Installation Guide
  3. Sage FAQ
  4. Download for Linux

Smokescreen - Flash.... without plugin

What on earth is Smokescreen?
Smokescreen is a new open-source project aimed at converting Flash to JavaScript/HTML5 to run on devices that does not support adobe flash....

Smokescreen will soon be released for free under an open source license. So look out for more information.
Yes, do look at the Smokescreen Demo

Inkscape - Open Source Scalable Vector Graphics Editor



Inkscape is an Open Source vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format.

Inkscape supports many advanced SVG features (markers, clones, alpha blending, etc.) and great care is taken in designing a streamlined interface. It is very easy to edit nodes, perform complex path operations, trace bitmaps and much more. We also aim to maintain a thriving user and developer community by using open, community-oriented development.'

Available for both Mac, Linux and Windows

Screenshots of Inkscape

OpenFOAM - Open Source CFD

OpenFOAM is a free, open source CFD software package. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.

Parallel Computing and Packages of Octave

Here is some interesting information on Parallel Computation for Octave
  1. openmpi_ext
    MPI functions for parallel computing using simple MPI Derived Datatypes. It requires Octave
    (>= 3.2.4)
  2. parallel
    Parallel execution package for cluster computers. For parallel execution on a single machine see e.g. function parcellfun (author: Jaroslav Hajek) in package general. It requires Octave (>= 3.0.0)
  3. multicore
    An Octave-forge package providing functions for parallel processing on multiple cores. It requires (>= 2.9.12)
For more information on Octave Packages, see Octave Package

NAMD and VMD


NAMD, recipient of a 2002 Gordon Bell Award, is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems. Based on Charm++ parallel objects, NAMD scales to hundreds of processors on high-end parallel platforms and tens of processors on commodity clusters using gigabit ethernet. NAMD uses the popular molecular graphics program VMD for simulation setup and trajectory analysis, but is also file-compatible with AMBER, CHARMM, and X-PL0OR.


VMD is a molecular visualization program for displaying, animating, and analyzing large biomolecular systems using 3-D graphics and built-in scripting. VMD supports computers running MacOS X, Unix, or Windows, is distributed free of charge, and includes source code.

Weka - Data Mining Software in Java

What is Weka?
Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization.
To download and install Weka, see Download and installing Weka

Graph Editor for Open-Source Computer Algebra System Sage

Graph editor part of the open-source computer algebra system Sage. Will need HTML 5

Installing Sage From Source

Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface.
Software Prerequisites:
  1. gcc 4.x and above
  2. g++
  3. gfortran
  4. make
  5. m4
  6. perl
  7. ranlib
  8. tar
  9. readline and its development headers
  10. ssh-keygen -- needed to run the notebook in secure mode.
  11. latex -- highly recommended, though not strictly required

OS and hardware Prerequisites:
  1. 2 GB of free disk space 
  2. Linux (32 bits or 64-bits or IA64 or 32-bit PPC or MAC OS X) 

Steps to install Sage:
# tar xvf sage-x.y.z.tar
# cd sage-x.y.z
# make
# ./sage

Finally add the directory of SAGE to your Path Directory
export PATH=$PATH:/usr/local/sage-x.y.z/

For more detailed information on installation of SAGE, do look at the Steps to Install from Source

Deploying the MIT Photonic-Bands (MPB) package

The MIT Photonic-Bands (MPB) package is a free program for computing the band structures (dispersion relations) and electromagnetic modes of periodic dielectric structures, on both serial and parallel computers.


MPB Information:
  1. MPB Download Page
  2. MPB Installation Guide

Software Requisites:
  1. Basic linear Algebra Subroutines (BLAS). For more information on BLAS installation, see the Section on BLAS
  2. Linear Algebra PACKage (LAPACK). For more information see the Section on LAPACK
  3. FFTW For more information see my Blog Entry Installing FFTW
  4. HDF (Hierarchical Data Format)
  5. GNU Guile. Guile is a library designed to help programmers create flexible applications. Using Guile in an application allows programmers to write plug-ins, or modules
  6. libctl is a free Guile-based library implementing flexible control files for scientific simulations. 
Sample Installation of prerequisites using F77 - GNU Fortran:
# f77=gfortran CFLAGS="-I/usr/local/fftw-mpi-2.1.5/gnu/include -I/usr/local/hdf5-1.8.5/gnu/include" 
CPPFLAGS="-I/usr/local/fftw-mpi-2.1.5/gnu/include -I/usr/local/hdf5-1.8.5/gnu/include -DH5_USE_16_API=1"
LDFLAGS="-L/usr/local/fftw-mpi-2.1.5/gnu/lib -L/usr/local/hdf5-1.8.5/gnu/lib"


Finally the Installtion of MIT PB, for our installation, we use some of the settings
# ./configure --prefix=/usr/local/mpb-1.4.2 --with-mpi 
--with-blas=/usr/local/gotoblas2-unthreaded/libgoto2.a
--with-lapack=/usr/local/octave/lib/octave-3.2.4/lapack_LINUX.a