PHYSICA

From DaqWiki
Revision as of 20:09, 9 November 2018 by Olchansk (talk | contribs) (→‎NOTE)
Jump to navigation Jump to search

Physica Links

Extrema links

NOTE

Primary PHYSICA repository has moved from SVN on ladd00 to GIT on bitbucket: https://bitbucket.org/ttriumfdaq/physica

To get the latest version use: git clone https://bitbucket.org/ttriumfdaq/physica.git

As of November-2018: - this version of PHYSICA is known to compile on RHEL/CentOS/SL-6 if required 32-bit libraries are installed. - this version of PHYSICA is known to run (32-bit build on el6) on RHEL/CentOS/SL-7 if required 32-bit libraries are installed, see here https://www.triumf.info/wiki/DAQwiki/index.php/SLinstall#Install_libraries_for_PHYSICA_.28CentOS7.29 - status on MacOS is presently unknown (g77 is required, but probably cannot run on latest MacOS).

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:

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