Content
- tops: exact torque-free dynamics of rigid bodies
- vecmat3: efficient 3d vector and matrix classes (C++ only) based on expression templates
- testtops: an example for using tops
- simtop: simulation of interacting rigid bodies
- pa and paxx: piecewise analytic probability distributions (paxx is the c++ version) from sample data
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
- R. van Zon & J. Schofield, J. Comp. Phys. (2007).
- R. van Zon & J. Schofield, Phys. Rev. E 75 056701 (2007).
- L. Hernández de la Peña, R. van Zon, J. Schofield & S. B. Opps, J. Chem. Phys 126, 074105 (2007).
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