Content

tops: exact torque-free dynamics of rigid bodies

C++ version

code: tops.h, tops.cc
doc: topsv2.pdf
needs: vecmat3.h
version:version 2, May 2009
version 1:topsv1.h, topsv1.cc, doctopsv1.pdf

C version

code: ctops.h, ctops.c
doc: docctops.pdf

Notes

vecmat3: efficient 3d vector and matrix classes

C++ only

C++ header file for three dimensional vectors and matrices, using expression templates for efficiency.

Example

#include "vecmat3.h"
#include <iostream>
using namespace std;
int main()
{
  Matrix A(1,2,3,-1,2,-1,0,0,1);
  Vector x(3,0,1);
  cout << x << endl; // prints "3 0 1".
  Vector y = A*x;
  cout << y << endl; // prints "6 -4 1".
  Matrix B = Inverse(A);
  y = B*y;
  cout << y << endl; // prints "3 0 1" again.
}

Get the latest version at the vecmat3 github repository.

code: vecmat3.h
doc: vecmat3v23.pdf
version:version 2.3, February 2011
version 1: vecmat3v1.h, docvecmat3v1.pdf
version 2: vecmat3v2.h, vecmat3v2.pdf

testtops: an example for using tops

C++ version

code: testtops.cc
needs: tops.h, tops.cc, vecmat3.h
version:version 2, May 2009
version 1:testtopsv1.cc

C version

code: testctops.c
needs: ctops.h, ctops.c

simtop: simulation of interacting rigid bodies

C++ version

code: simtop.cc
input:simtop.ini
needs: tops.h, tops.cc, vecmat3.h
version:version 2, May 2009
version 1:simtopv1.cc

C version

code: simctop.c
input:simtop.ini
needs: ctops.h, ctops.c

Notes

pa: piecewise analytic probability distributions from data

Functions to compute piece-wise analytic approximations to probability distributions and potentials of mean force based on sample data, avoiding noisy histograms.

C version

code: pa.h, pa1.c, pa2.c, pautil.c
doc: pa.pdf

Applications of pa

testpafit: example of using pafit

code: testpafit.c
needs: pa.h, pa1.c, pautil.c

analyze-pdf: construct a piecewise analytic fit of a probability distribution function given sample data

code: analyze-pdf.c
needs: pa.h, pa1.c, pautil.c

run-analysis: construct a piecewise analytic fit of a radial distribution function given interparticle distance sample data

code: run-analysis.c
needs: pa.h, pa1.c, pa2.c pautil.c

Makefile: can be used to make all three applications of pa.

code: Makefile
needs: pa.h, pa1.c, pa2.c pautil.c, testpafit.c, analyze-pdf.c, run-analysis.c

C++ version aka paxx

code: paxx.h, paxx.cc
doc: paxx.pdf

Applications of paxx

These c++ applications have the same name and functionality as their c variants above.

paxxtest

code: paxxtest.cc
needs: paxx.h, paxx.cc

analyze-pdf:

code: analyze-pdf.cc
needs: paxx.h, paxx.cc

run-analysis:

code: run-analysis.cc
needs: paxx.h, paxx.cc

Notes