Scientific Tools for Linux
Ryan Curtin LUG@GT
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 1/41 Goals
» Goals This presentation is intended to introduce you to the vast array Mathematical Tools of software available for scientific applications that run on Electrical Engineering Tools Linux. Software is available for electrical engineering, Chemistry Tools mathematics, chemistry, physics, biology, and other fields.
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 2/41 Non-Free Mathematical Tools
» Goals MATLAB (MathWorks)
Mathematical Tools » Non-Free Mathematical Tools » MATLAB » Mathematica Mathematica (Wolfram Research) » Maple » Free Mathematical Tools » GNU Octave » mathomatic Maple (Maplesoft) »R » SAGE Electrical Engineering Tools S-Plus (Mathsoft)
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 3/41 MATLAB
» Goals MATLAB is a fully functional mathematics language Mathematical Tools » Non-Free Mathematical Tools You may be familiar with it from use in classes » MATLAB » Mathematica » Maple » Free Mathematical Tools » GNU Octave » mathomatic »R » SAGE
Electrical Engineering Tools
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 4/41 Mathematica
» Goals Worksheet-based mathematics suite Mathematical Tools » Non-Free Mathematical Tools Linux versions can be buggy and bugfixes can be slow » MATLAB » Mathematica » Maple » Free Mathematical Tools » GNU Octave » mathomatic »R » SAGE
Electrical Engineering Tools
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 5/41 Maple
» Goals Large mathematics suite Mathematical Tools » Non-Free Mathematical Tools GUI mode and CLI mode available » MATLAB » Mathematica » Maple » Free Mathematical Tools » GNU Octave » mathomatic »R » SAGE
Electrical Engineering Tools
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 6/41 Free Mathematical Tools
» Goals GNU Octave: MATLAB clone
Mathematical Tools » Non-Free Mathematical Tools » MATLAB » Mathematica mathomatic: automatic algebraic manipulator » Maple » Free Mathematical Tools » GNU Octave » mathomatic R: environment for statistical analysis »R » SAGE Electrical Engineering Tools SAGE: open source mathematics toolkit
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 7/41 GNU Octave
» Goals Open-source clone of MATLAB Mathematical Tools » Non-Free Mathematical Tools MATLAB compatibility is mostly implemented, but » MATLAB » Mathematica differences still exist » Maple » Free Mathematical Tools Uses gnuplot for graphing » GNU Octave » mathomatic »R » SAGE
Electrical Engineering Tools
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 8/41 mathomatic
» Goals Command-line algebraic manipulator
Mathematical Tools » Non-Free Mathematical Tools » MATLAB » Mathematica Solves systems of equations quickly » Maple » Free Mathematical Tools » GNU Octave » mathomatic Very colorful output »R » SAGE
Electrical Engineering Tools
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 9/41 R
» Goals Open-source clone/derivative of S-Plus Mathematical Tools » Non-Free Mathematical Tools Statistical analysis suite » MATLAB » Mathematica » Maple » Free Mathematical Tools » GNU Octave » mathomatic »R » SAGE
Electrical Engineering Tools
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 10/41 SAGE
» Goals A "viable free open source alternative to Magma, Maple, Mathematical Tools Mathematica, and Matlab" » Non-Free Mathematical Tools » MATLAB » Mathematica Modular: you can call other programs from inside SAGE » Maple » Free Mathematical Tools Uses Python for mathematics » GNU Octave » mathomatic »R » SAGE
Electrical Engineering Tools
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 11/41 Non-free EE tools
» Goals ModelSim: highly advanced digital circuit simulator Mathematical Tools Cadence Virtuoso: IC development suite Electrical Engineering Tools » Non-free EE tools Altera Quartus: HDL synthesis/simulation design tool » Free EE tools » ngspice Xilinx ISE: HDL-based design tool for Xilinx FPGAs » gnucap » ktechlab » gEDA: Introduction » gEDA: Workflow » ghdl » iverilog »GPL Cver » gtkwave » gwave » gspeakers
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 12/41 Free EE tools
» Goals ngspice, gnucap: backend circuit simulators Mathematical Tools ktechlab: fledgling GUI schematic input project Electrical Engineering Tools » Non-free EE tools gEDA: fully-featured electronics design automation suite » Free EE tools » ngspice ghdl, freehdl: VHDL compilers and simulators » gnucap » ktechlab » gEDA: Introduction iverilog, GPL Cver: Verilog compiler and simulator » gEDA: Workflow » ghdl gtkwave: Waveform viewer » iverilog »GPL Cver gwave: Waveform viewer for SPICE-like simulations » gtkwave » gwave gspeakers: Speaker enclosure design tool » gspeakers
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 13/41 ngspice
» Goals SPICE simulator with graphing support
Mathematical Tools
Electrical Engineering Tools » Non-free EE tools Uses ’spice’ as a backend » Free EE tools » ngspice » gnucap » ktechlab Uses gnuplot as a graphing frontend » gEDA: Introduction » gEDA: Workflow » ghdl » iverilog Default library does not contain very many devices »GPL Cver » gtkwave » gwave » gspeakers http://ngspice.sourceforge.net/
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 14/41 gnucap
» Goals GNU Circuit Analysis Package: general purpose circuit Mathematical Tools simulator
Electrical Engineering Tools » Non-free EE tools » Free EE tools » ngspice Not like SPICE: designed to do true mixed-mode simulation » gnucap (analog/digital) » ktechlab » gEDA: Introduction » gEDA: Workflow » ghdl » iverilog Mostly compatible with the SPICE language »GPL Cver » gtkwave » gwave » gspeakers Command-line tool for use in batch mode, like SPICE
Chemistry Tools variants
Physics Tools Other Tools http://www.gnu.org/software/gnucap/
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 15/41 ktechlab
» Goals Digital/analog circuit simulator for basic to moderately Mathematical Tools complicated circuits
Electrical Engineering Tools » Non-free EE tools » Free EE tools » ngspice Relatively new; version 0.3.6 is the most recent » gnucap » ktechlab » gEDA: Introduction » gEDA: Workflow Similar in design to Cadence PSpice or NI Multisim » ghdl » iverilog (Windows-only products) »GPL Cver » gtkwave » gwave » gspeakers Does not seem to have specific models of devices
Chemistry Tools Physics Tools Library of generic devices seems somewhat limited, but
Other Tools useful for basic applications
Questions? http://ktechlab.org/
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 16/41 gEDA: Introduction
» Goals gEDA is the most prominent suite of electronic design Mathematical Tools automation tools
Electrical Engineering Tools » Non-free EE tools » Free EE tools A massive set of applications with functionality including: » ngspice » gnucap Schematic capture » ktechlab Attribute management » gEDA: Introduction » gEDA: Workflow Bill of materials (BOM) generation » ghdl » iverilog Netlisting »GPL Cver » gtkwave Analog/digital simulation » gwave » gspeakers PCB layout Chemistry Tools http://www.geda.seul.org Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 17/41 gEDA: Workflow
» Goals
Mathematical Tools
Electrical Engineering Tools » Non-free EE tools » Free EE tools » ngspice » gnucap » ktechlab » gEDA: Introduction » gEDA: Workflow » ghdl » iverilog »GPL Cver » gtkwave » gwave » gspeakers
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 18/41 ghdl
» Goals Complete VHDL simulator that implements the IEEE VHDL Mathematical Tools standard Electrical Engineering Tools » Non-free EE tools Does not support Verilog » Free EE tools » ngspice Mostly compatible with ModelSim » gnucap » ktechlab Does not support synthesis » gEDA: Introduction » gEDA: Workflow » ghdl Runs from the command line; use gtkwave to look at » iverilog simulation results »GPL Cver » gtkwave » gwave Slow development: last release (0.26) in April 2007 » gspeakers http://ghdl.free.fr/ Chemistry Tools
Physics Tools
Other Tools freehdl is a similar project that never got off the ground Questions? http://freehdl.seul.org/
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 19/41 iverilog
» Goals Verilog simulation and synthesis (to XNF files) implemented
Mathematical Tools
Electrical Engineering Tools » Non-free EE tools One-man design team (Steven Williams), so releases are » Free EE tools » ngspice slow » gnucap » ktechlab » gEDA: Introduction » gEDA: Workflow Project is currently relatively stable » ghdl » iverilog »GPL Cver » gtkwave http://www.icarus.com/eda/verilog/ » gwave » gspeakers
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 20/41 GPL Cver
» Goals Fully implemented 1995 P1364 Verilog HDL simulator
Mathematical Tools Electrical Engineering Tools Does not do synthesis » Non-free EE tools » Free EE tools » ngspice Has been around for longer than iverilog and has a larger » gnucap » ktechlab design team » gEDA: Introduction » gEDA: Workflow » ghdl Releases are very slow since the project became proprietary » iverilog »GPL Cver » gtkwave » gwave » gspeakers New project is ’CVC’; but is non-free
Chemistry Tools http://www.pragmatic-c.com/gpl-cver/ Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 21/41 gtkwave
» Goals GTK-based application for viewing digital waveforms
Mathematical Tools Electrical Engineering Tools Reads many different simulation formats: LXT, LXT2, VZT, » Non-free EE tools » Free EE tools GHW, VCD, EVCD » ngspice » gnucap » ktechlab Simple, stable (current version is 3.1.3), and easy to use » gEDA: Introduction » gEDA: Workflow » ghdl Configurable through rc files » iverilog »GPL Cver » gtkwave http://home.nc.rr.com/gtkwave/ » gwave » gspeakers
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 22/41 gwave
» Goals A waveform viewer for analog waveforms, such as SPICE Mathematical Tools output
Electrical Engineering Tools » Non-free EE tools » Free EE tools Can read output from HSpice, Spice2, Spice3, ngspice, » ngspice » gnucap CAzM, gnucap, and other binary / ASCII formats » ktechlab » gEDA: Introduction » gEDA: Workflow A component of the gEDA suite » ghdl » iverilog »GPL Cver Relatively stable; last release 2006-06-06 » gtkwave » gwave » gspeakers http://www.geda.seul.org/tools/gwave/
Chemistry Tools
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 23/41 gspeakers
» Goals Simple GTK-based application for speaker design
Mathematical Tools Electrical Engineering Tools Development appears to have stopped; last version (0.11) » Non-free EE tools » Free EE tools released in 2004 » ngspice » gnucap » ktechlab Driver design, enclosure design, and crossover network » gEDA: Introduction » gEDA: Workflow design » ghdl » iverilog »GPL Cver Sometimes confusing and unpolished, but somewhat usable » gtkwave » gwave » gspeakers Has the potential to be a great application for speaker
Chemistry Tools design... if someone finished it
Physics Tools http://gspeakers.sourceforge.net/ Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 24/41 Chemistry tools
» Goals chemtool: organic molecule drawing program Mathematical Tools rasmol, pymol: molecular renderer Electrical Engineering Tools easychem: presentation-focused chemical structure Chemistry Tools » Chemistry tools drawing program » chemtool » rasmol / pymol openbabel: converter for molecular modeling file formats » easychem » openbabel Physics Tools http://sal.jyu.fi/Z/2/index.shtml lists many
Other Tools chemistry programs for Linux
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 25/41 chemtool
» Goals A small program for drawing chemical structures
Mathematical Tools Electrical Engineering Tools Uses GTK Chemistry Tools » Chemistry tools » chemtool » rasmol / pymol Stable; latest release 1.6.11 » easychem » openbabel
Physics Tools Produces simple, functional chemical structures
Other Tools
Questions? Exports eps for easy inclusion in LATEXdocuments
http://ruby.chemie.uni-freiburg.de/~martin/chemtoo
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 26/41 rasmol / pymol
» Goals Molecule analyzers: makes molecules easier to visualize Mathematical Tools and interpret
Electrical Engineering Tools Chemistry Tools RasMol can convert between various color pallettes for easy » Chemistry tools » chemtool interpretation, but its power is mostly from the fairly simple » rasmol / pymol command-line interface » easychem » openbabel Physics Tools PyMol produces images that are usually found on textbook
Other Tools covers or pages due to their intricate detail
Questions? PyMol does not have as powerful a command-line interface as RasMol
RasMol: http://www.openrasmol.org/ PyMol: http://pymol.sourceforge.net/
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 27/41 easychem
» Goals Simple program designed to draw chemical molecules
Mathematical Tools Electrical Engineering Tools Still in semi-early development: current version is 0.6 and a
Chemistry Tools new version has not appeared since early 2006 » Chemistry tools » chemtool » rasmol / pymol http://easychem.sourceforge.net/ » easychem » openbabel
Physics Tools
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 28/41 openbabel
» Goals A suite of several programs including conversion utilities,a Mathematical Tools ’grep’ for molecules, and other tools
Electrical Engineering Tools
Chemistry Tools » Chemistry tools Converts over 80 different chemistry-related formats » chemtool » rasmol / pymol » easychem » openbabel
Physics Tools http://openbabel.sourceforge.net/wiki/Main_Page
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 29/41 Physics Tools
» Goals ROOT: large-scale data analysis tool Mathematical Tools lightspeed: interactive OpenGL relativistic simulator Electrical Engineering Tools jaxodraw: Java program for drawing Feynman diagrams Chemistry Tools Physics Tools Open Dynamics Engine: industrial quality libraries for » Physics Tools articulated rigid body dynamics simulations » ROOT » lightspeed » Open Dynamics Engine celestia: OpenGL 3D space simulator » celestia maestro: NASA’s program to control the Spirit and Other Tools Opportunity rovers Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 30/41 ROOT
» Goals A set of object-oriented frameworks for processing very Mathematical Tools large sets of data Electrical Engineering Tools Designed for parallel operation on clustered systems Chemistry Tools The language ROOT uses is C++ Physics Tools » Physics Tools http://root.cern.ch/ » ROOT » lightspeed » Open Dynamics Engine » celestia
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 31/41 lightspeed
» Goals Simple utility for viewing relativistic effects on geometric Mathematical Tools lattices
Electrical Engineering Tools Chemistry Tools Can handle 3DStudio and LightWave 3D objects Physics Tools » Physics Tools » ROOT » lightspeed Uses OpenGL to render objects » Open Dynamics Engine » celestia
Other Tools For a given velocity, this utility displays what it would look like Questions? when relativistic effects are considered
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 32/41 Open Dynamics Engine
» Goals Free physics SDK licensed under the BSD license
Mathematical Tools Electrical Engineering Tools Used by many non-mainstream games, including smash hits Chemistry Tools like Amsterdam Taxi Madness, Simulator Bob, and Physics Tools » Physics Tools Shanghai Street Racer » ROOT » lightspeed » Open Dynamics Engine » celestia Good for simulating articulated rigid body structures
Other Tools
Questions? Emphasizes speed and stability over physical accuracy
http://www.ode.org/
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 33/41 celestia
» Goals OpenGL 3D space simulation
Mathematical Tools Electrical Engineering Tools Not technically a physics tool, but it’s really cool Chemistry Tools
Physics Tools » Physics Tools Allows you to explore space, with nice OpenGL graphics » ROOT » lightspeed » Open Dynamics Engine » celestia http://www.shatters.net/celestia/
Other Tools
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 34/41 Other tools
» Goals dia: Diagram drawing utility Mathematical Tools kivio: KOffice flowcharting utility (similar to Visio) Electrical Engineering Tools LAT X: typesetting utility Chemistry Tools E Physics Tools xfig: Drawing utility Other Tools The GIMP: GNU Image Manipulation Program » Other tools » dia umbrello: UML modeler » kivio » LATEX » xfig » umbrello
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 35/41 dia
» Goals GTK-based diagram drawing utility
Mathematical Tools Electrical Engineering Tools GUI model similar to the GIMP
Chemistry Tools Can be used for flowcharting, circuit diagrams, block Physics Tools diagrams, and other diagrams Other Tools » Other tools » dia Large database of components you can diagram and link » kivio » LATEX together » xfig » umbrello Questions? Exports as almost any graphics format http://www.gnome.org/projects/dia/
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 36/41 kivio
» Goals KOffice’s diagramming and flowcharting application
Mathematical Tools Electrical Engineering Tools Library of diagrammable components is not very large; Chemistry Tools however, it supports Dia components Physics Tools
Other Tools » Other tools Very similar to Dia, but GUI model is like KOffice and not the » dia » kivio GIMP » LATEX » xfig » umbrello http://www.koffice.org/kivio/ Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 37/41 LATEX
» Goals Typesetting language; able to produce beautiful documents
Mathematical Tools Electrical Engineering Tools Used to make this presentation Chemistry Tools
Physics Tools See previous presentations on LAT X: Other Tools E » Other tools http://lugatgt.org/articles/latex2/ » dia » kivio » LATEX » xfig http://www.latex-project.org » umbrello
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 38/41 xfig
» Goals Tool for drawing complex diagrams
Mathematical Tools Electrical Engineering Tools Similar to Dia and Kivio, but GUI is different Chemistry Tools
Physics Tools http://www.xfig.org Other Tools » Other tools » dia » kivio » LATEX » xfig » umbrello
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 39/41 umbrello
» Goals Qt-based UML modeler
Mathematical Tools Electrical Engineering Tools Can take a series of C files and generate a UML hierarchy Chemistry Tools
Physics Tools Somewhat buggy for very large diagrams Other Tools » Other tools » dia » kivio http://uml.sourceforge.net/ » LATEX » xfig » umbrello
Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 40/41 Questions?
» Goals
Mathematical Tools
Electrical Engineering Tools
Chemistry Tools
Physics Tools
Other Tools
Questions? » Questions?
Ryan Curtin Getting your system to boot with initrd and initramfs - p. 41/41