PHYSICA
Physica Links
- https://bitbucket.org/ttriumfdaq/physica
- (dead link) http://www.triumf.ca/view-announcements?which=1422 RIP
- (obsolete) https://ladd00.triumf.ca/viewvc/daqsvn/trunk/physica (username: svn, password: svn)
- ftp://csftp.triumf.ca/pub/CompServ/physica/
- http://computing.triumf.ca/legacy/physica
Extrema links
- http://exsitewebware.com/extrema/
- http://sourceforge.net/projects/extrema/
- http://extrema.svn.sourceforge.net/viewvc/extrema/
About
PHYSICA is a high level, interactive programming environment with user friendly graphics and sophisticated mathematical analysis capabilities. Over 200 numeric and character functions are provided, as well as over 30 operators, providing all of the operations of simple calculus, along with powerful curve fitting, filtering and smoothing techniques, and employing a dynamic array management scheme allowing arrays limited in size only by system resources. Algebraic expressions of arbitrary complexity are evaluated using a lexical scanner approach. Line graphs, histograms and pie charts, as well as contour, density and surface plots are available. The user interface is a command language with a simple to use and easy to learn syntax, incorporating basic elements of a structured programming language including conditional branching, looping and subroutine calling constructs.
PHYSICA was developed at TRIUMF by Joe Chuma, Fred Jones and other
Documentation
The old PHYSICA home page from TRSHARE/~chuma is here: (thanks to Kelvin Raywood) http://computing.triumf.ca/legacy/physica/
The user guide and the reference guide are here: https://ladd00.triumf.ca/viewvc/daqsvn/trunk/physica/doc/users-guide.pdf?view=co https://ladd00.triumf.ca/viewvc/daqsvn/trunk/physica/doc/physica.pdf?view=co
Executables
Historic PHYSICA executables are available here: ftp://csftp.triumf.ca/pub/CompServ/physica/
If none of them work for you, follow these instructions to build PHYSICA from sources.
Build on Linux
Only 32-bit PHYSICA is known to work. 64-bit is known to not work. When building on 64-bit Linux, many 32-bit "devel" packages need to be installed.
The Linux Makefile builds 3 flavours of the physica executable:
- physica : normal dynamically linked executable
- physica-static : fully static executable (no shared libraries), same as old versions of physica. Cannot be built on SL5/SL6 because they do not supply libX11.a static libraries
- physica-half-static : link as many libraries as possible statically. This is the recommended executable for general use. It can only be built on 32-bit SL5. (SL6 do not provide many 32-bit static libraries).
Build:
- svn checkout https://ladd00.triumf.ca/svn/daqsvn/trunk/physica
- cd physica
- make
- ./physica
Build on MacOS
This was tested on MacOS 10.6, 10.7, 10.8, 10.9.
NOTE: this g77 does not work on MacOS 10.10 - incompatible LLVM "as"
- install g77
- download g77-intel-bin.tar.gz from http://hpc.sourceforge.net or from http://daqshare.triumf.ca/~olchansk/hpc-sourcefourge-net-g77
- sudo /bin/sh
- cd /
- tar xzvf .../g77-intel-bin.tar.gz
- install required libraries using MacPorts
- install MacPorts: download the MacPorts-xxx-Lion.pkg from http://www.macports.org/install.php, install
- sudo /bin/sh
- port -v selfupdate
- port upgrade outdated
- port install gd2 +universal ### (will take forever because it thinks it needs to build most of everything)
- port install readline +universal ### up to MacOS 10.6, not needed on MacOS 10.7, 10.8
- port install readline +universal libpng +universal gd2 +universal ### on MacOS 10.9, will take a long time to install many packages
- svn checkout https://ladd00.triumf.ca/svn/daqsvn/trunk/physica
- cd physica
- make physica
- ./physica
- ### or on MacOS 10.9:
- make physical-half-static
- ./physica-half-static
- @rangauss.pcm
Test
./physica PHYSICA:@rangauss.pcm