Scientific Tools for Linux Ryan Curtin LUG@GT Ryan Curtin Getting - - PowerPoint PPT Presentation

scientific tools for linux
SMART_READER_LITE
LIVE PREVIEW

Scientific Tools for Linux Ryan Curtin LUG@GT Ryan Curtin Getting - - PowerPoint PPT Presentation

Scientific Tools for Linux Ryan Curtin LUG@GT Ryan Curtin Getting your system to boot with initrd and initramfs - p. 1/41 Goals This presentation is intended to introduce you to the vast array Goals of software available for scientific


slide-1
SLIDE 1

Ryan Curtin Getting your system to boot with initrd and initramfs - p. 1/41

Scientific Tools for Linux

Ryan Curtin

LUG@GT

slide-2
SLIDE 2

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 2/41

Goals

This presentation is intended to introduce you to the vast array

  • f software available for scientific applications that run on
  • Linux. Software is available for electrical engineering,

mathematics, chemistry, physics, biology, and other fields.

slide-3
SLIDE 3

» Goals Mathematical Tools » Non-Free Mathematical Tools » 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. 3/41

Non-Free Mathematical Tools

MATLAB (MathWorks) Mathematica (Wolfram Research) Maple (Maplesoft) S-Plus (Mathsoft)

slide-4
SLIDE 4

» Goals Mathematical Tools » Non-Free Mathematical Tools » 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

MATLAB

MATLAB is a fully functional mathematics language You may be familiar with it from use in classes

slide-5
SLIDE 5

» Goals Mathematical Tools » Non-Free Mathematical Tools » 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

Mathematica

Worksheet-based mathematics suite Linux versions can be buggy and bugfixes can be slow

slide-6
SLIDE 6

» Goals Mathematical Tools » Non-Free Mathematical Tools » 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

Maple

Large mathematics suite GUI mode and CLI mode available

slide-7
SLIDE 7

» Goals Mathematical Tools » Non-Free Mathematical Tools » 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. 7/41

Free Mathematical Tools

GNU Octave: MATLAB clone mathomatic: automatic algebraic manipulator R: environment for statistical analysis SAGE: open source mathematics toolkit

slide-8
SLIDE 8

» Goals Mathematical Tools » Non-Free Mathematical Tools » 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. 8/41

GNU Octave

Open-source clone of MATLAB MATLAB compatibility is mostly implemented, but

differences still exist

Uses gnuplot for graphing

slide-9
SLIDE 9

» Goals Mathematical Tools » Non-Free Mathematical Tools » 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. 9/41

mathomatic

Command-line algebraic manipulator Solves systems of equations quickly Very colorful output

slide-10
SLIDE 10

» Goals Mathematical Tools » Non-Free Mathematical Tools » 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

R

Open-source clone/derivative of S-Plus Statistical analysis suite

slide-11
SLIDE 11

» Goals Mathematical Tools » Non-Free Mathematical Tools » 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. 11/41

SAGE

A "viable free open source alternative to Magma, Maple,

Mathematica, and Matlab"

Modular: you can call other programs from inside SAGE Uses Python for mathematics

slide-12
SLIDE 12

» 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. 12/41

Non-free EE tools

ModelSim: highly advanced digital circuit simulator Cadence Virtuoso: IC development suite Altera Quartus: HDL synthesis/simulation design tool Xilinx ISE: HDL-based design tool for Xilinx FPGAs

slide-13
SLIDE 13

» 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. 13/41

Free EE tools

ngspice, gnucap: backend circuit simulators ktechlab: fledgling GUI schematic input project gEDA: fully-featured electronics design automation suite ghdl, freehdl: VHDL compilers and simulators iverilog, GPL Cver: Verilog compiler and simulator gtkwave: Waveform viewer gwave: Waveform viewer for SPICE-like simulations gspeakers: Speaker enclosure design tool

slide-14
SLIDE 14

» 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. 14/41

ngspice

SPICE simulator with graphing support Uses ’spice’ as a backend Uses gnuplot as a graphing frontend Default library does not contain very many devices http://ngspice.sourceforge.net/

slide-15
SLIDE 15

» 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. 15/41

gnucap

GNU Circuit Analysis Package: general purpose circuit

simulator

Not like SPICE: designed to do true mixed-mode simulation

(analog/digital)

Mostly compatible with the SPICE language Command-line tool for use in batch mode, like SPICE

variants

http://www.gnu.org/software/gnucap/

slide-16
SLIDE 16

» 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. 16/41

ktechlab

Digital/analog circuit simulator for basic to moderately

complicated circuits

Relatively new; version 0.3.6 is the most recent Similar in design to Cadence PSpice or NI Multisim

(Windows-only products)

Does not seem to have specific models of devices Library of generic devices seems somewhat limited, but

useful for basic applications

http://ktechlab.org/

slide-17
SLIDE 17

» 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. 17/41

gEDA: Introduction

gEDA is the most prominent suite of electronic design

automation tools

A massive set of applications with functionality including:

Schematic capture Attribute management Bill of materials (BOM) generation Netlisting Analog/digital simulation PCB layout

http://www.geda.seul.org

slide-18
SLIDE 18

» 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

gEDA: Workflow

slide-19
SLIDE 19

» 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. 19/41

ghdl

Complete VHDL simulator that implements the IEEE VHDL

standard

Does not support Verilog Mostly compatible with ModelSim Does not support synthesis Runs from the command line; use gtkwave to look at

simulation results

Slow development: last release (0.26) in April 2007 http://ghdl.free.fr/ freehdl is a similar project that never got off the ground http://freehdl.seul.org/

slide-20
SLIDE 20

» 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. 20/41

iverilog

Verilog simulation and synthesis (to XNF files) implemented One-man design team (Steven Williams), so releases are

slow

Project is currently relatively stable http://www.icarus.com/eda/verilog/

slide-21
SLIDE 21

» 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. 21/41

GPL Cver

Fully implemented 1995 P1364 Verilog HDL simulator Does not do synthesis Has been around for longer than iverilog and has a larger

design team

Releases are very slow since the project became proprietary New project is ’CVC’; but is non-free http://www.pragmatic-c.com/gpl-cver/

slide-22
SLIDE 22

» 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. 22/41

gtkwave

GTK-based application for viewing digital waveforms Reads many different simulation formats: LXT, LXT2, VZT,

GHW, VCD, EVCD

Simple, stable (current version is 3.1.3), and easy to use Configurable through rc files http://home.nc.rr.com/gtkwave/

slide-23
SLIDE 23

» 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. 23/41

gwave

A waveform viewer for analog waveforms, such as SPICE

  • utput

Can read output from HSpice, Spice2, Spice3, ngspice,

CAzM, gnucap, and other binary / ASCII formats

A component of the gEDA suite Relatively stable; last release 2006-06-06 http://www.geda.seul.org/tools/gwave/

slide-24
SLIDE 24

» 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. 24/41

gspeakers

Simple GTK-based application for speaker design Development appears to have stopped; last version (0.11)

released in 2004

Driver design, enclosure design, and crossover network

design

Sometimes confusing and unpolished, but somewhat usable Has the potential to be a great application for speaker

design... if someone finished it

http://gspeakers.sourceforge.net/

slide-25
SLIDE 25

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools » Chemistry tools » chemtool » rasmol / pymol » easychem » openbabel Physics Tools Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 25/41

Chemistry tools

chemtool: organic molecule drawing program rasmol, pymol: molecular renderer easychem: presentation-focused chemical structure

drawing program

  • penbabel: converter for molecular modeling file formats

http://sal.jyu.fi/Z/2/index.shtml lists many

chemistry programs for Linux

slide-26
SLIDE 26

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools » Chemistry tools » chemtool » rasmol / pymol » easychem » openbabel Physics Tools Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 26/41

chemtool

A small program for drawing chemical structures Uses GTK Stable; latest release 1.6.11 Produces simple, functional chemical structures Exports eps for easy inclusion in L

A

T EXdocuments

  • http://ruby.chemie.uni-freiburg.de/~martin/chemt
slide-27
SLIDE 27

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools » Chemistry tools » chemtool » rasmol / pymol » easychem » openbabel Physics Tools Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 27/41

rasmol / pymol

Molecule analyzers: makes molecules easier to visualize

and interpret

RasMol can convert between various color pallettes for easy

interpretation, but its power is mostly from the fairly simple command-line interface

PyMol produces images that are usually found on textbook

covers or pages due to their intricate detail

PyMol does not have as powerful a command-line interface

as RasMol

RasMol: http://www.openrasmol.org/ PyMol: http://pymol.sourceforge.net/

slide-28
SLIDE 28

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools » Chemistry tools » chemtool » rasmol / pymol » easychem » openbabel Physics Tools Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 28/41

easychem

Simple program designed to draw chemical molecules Still in semi-early development: current version is 0.6 and a

new version has not appeared since early 2006

http://easychem.sourceforge.net/

slide-29
SLIDE 29

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools » Chemistry tools » chemtool » rasmol / pymol » easychem » openbabel Physics Tools Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 29/41

  • penbabel

A suite of several programs including conversion utilities, a

’grep’ for molecules, and other tools

Converts over 80 different chemistry-related formats

  • http://openbabel.sourceforge.net/wiki/Main_Page
slide-30
SLIDE 30

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools » Physics Tools » ROOT » lightspeed » Open Dynamics Engine » celestia Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 30/41

Physics Tools

ROOT: large-scale data analysis tool lightspeed: interactive OpenGL relativistic simulator jaxodraw: Java program for drawing Feynman diagrams Open Dynamics Engine: industrial quality libraries for

articulated rigid body dynamics simulations

celestia: OpenGL 3D space simulator maestro: NASA’s program to control the Spirit and

Opportunity rovers

slide-31
SLIDE 31

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools » Physics Tools » ROOT » lightspeed » Open Dynamics Engine » celestia Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 31/41

ROOT

A set of object-oriented frameworks for processing very

large sets of data

Designed for parallel operation on clustered systems The language ROOT uses is C++ http://root.cern.ch/

slide-32
SLIDE 32

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools » Physics Tools » ROOT » lightspeed » Open Dynamics Engine » celestia Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 32/41

lightspeed

Simple utility for viewing relativistic effects on geometric

lattices

Can handle 3DStudio and LightWave 3D objects Uses OpenGL to render objects For a given velocity, this utility displays what it would look like

when relativistic effects are considered

slide-33
SLIDE 33

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools » Physics Tools » ROOT » lightspeed » Open Dynamics Engine » celestia Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 33/41

Open Dynamics Engine

Free physics SDK licensed under the BSD license Used by many non-mainstream games, including smash hits

like Amsterdam Taxi Madness, Simulator Bob, and Shanghai Street Racer

Good for simulating articulated rigid body structures Emphasizes speed and stability over physical accuracy http://www.ode.org/

slide-34
SLIDE 34

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools » Physics Tools » ROOT » lightspeed » Open Dynamics Engine » celestia Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 34/41

celestia

OpenGL 3D space simulation Not technically a physics tool, but it’s really cool Allows you to explore space, with nice OpenGL graphics http://www.shatters.net/celestia/

slide-35
SLIDE 35

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools Other Tools » Other tools » dia » kivio » L

AT

EX » xfig » umbrello Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 35/41

Other tools

dia: Diagram drawing utility kivio: KOffice flowcharting utility (similar to Visio) L

AT

EX: typesetting utility

xfig: Drawing utility The GIMP: GNU Image Manipulation Program umbrello: UML modeler

slide-36
SLIDE 36

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools Other Tools » Other tools » dia » kivio » L

AT

EX » xfig » umbrello Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 36/41

dia

GTK-based diagram drawing utility GUI model similar to the GIMP Can be used for flowcharting, circuit diagrams, block

diagrams, and other diagrams

Large database of components you can diagram and link

together

Exports as almost any graphics format http://www.gnome.org/projects/dia/

slide-37
SLIDE 37

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools Other Tools » Other tools » dia » kivio » L

AT

EX » xfig » umbrello Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 37/41

kivio

KOffice’s diagramming and flowcharting application Library of diagrammable components is not very large;

however, it supports Dia components

Very similar to Dia, but GUI model is like KOffice and not the

GIMP

http://www.koffice.org/kivio/

slide-38
SLIDE 38

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools Other Tools » Other tools » dia » kivio » L

AT

EX » xfig » umbrello Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 38/41

L

A

T EX

Typesetting language; able to produce beautiful documents Used to make this presentation See previous presentations on L

A

T EX: http://lugatgt.org/articles/latex2/

http://www.latex-project.org

slide-39
SLIDE 39

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools Other Tools » Other tools » dia » kivio » L

AT

EX » xfig » umbrello Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 39/41

xfig

Tool for drawing complex diagrams Similar to Dia and Kivio, but GUI is different http://www.xfig.org

slide-40
SLIDE 40

» Goals Mathematical Tools Electrical Engineering Tools Chemistry Tools Physics Tools Other Tools » Other tools » dia » kivio » L

AT

EX » xfig » umbrello Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 40/41

umbrello

Qt-based UML modeler Can take a series of C files and generate a UML hierarchy Somewhat buggy for very large diagrams http://uml.sourceforge.net/

slide-41
SLIDE 41

» 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

Questions?