Skip to content
[email protected] edited this page Jun 12, 2019 · 5 revisions

Welcome to the APLPhys wiki.

APLPhys is an experimental framework for doing physics-related computation using APL.

Overview

This project is a preliminary investigation into physics simulations in APL. It is intended to demonstrate APL as a tool for translating mathematical formulae into executable code.

Audience

We hope that this project will appeal to physical science, computing and mathematics students and teachers; researchers in physics / materials science and those using molecular dynamics in particular; and of course the APL and array programming communities.

Scope

As it stands, this project is a proof-of-concept for a simple Lennard-Jones melt velocity Verlet simulation. We hope the accompanying code explanations and comparative speed tests will show that APL is suitable as a rapid-development tool with the added benefit of tolerable computation speed. The master branch will contain code which aims to be semantically clear with regards to the procedure of the simulations. The faster branch will contain code which is rewritten to be more computationally efficient.

Future

We hope to expand this project to include other computational simulation models, initially inspired by the LAMMPS gamut. There is also the potential to use Dyalog APL for data processing of experimental data, perhaps in combination with Microsoft Office Excel (maybe libre office?).

APLPhys simulation engine

Masses on springs

A bit of a toy for showing off the stencil ⌺ primitive.
Masses are arranged in a 2D grid. Adjacent masses are connected by simple Hooke springs with no resistance. The mass-spring grid floats in a vacuum.

Lennard-Jones melt

For speed testing against python, FORTRAN and LAMMPS.
Particles interact via pair-wise LJ potential. The integrator is the velocity Verlet algorithm.

Web-based front end

This MiServer-based UI demonstrates the simulations in an interactive browser-based environment.

Menu

CSS balls

Clone this wiki locally