Axel's Old News

This page is where I used to post things that i consider noteworthy, particularly announcements of workshops or when any of the software packages that i am contributing to made a significant progress. Since I am a lazy person, this is no longer updated. Similar content (and then some) is posted to my Facebook page now.

Lecture Notes and Exercises for Temple HPC Summer School 2014

posted Jul 21, 2014, 2:02 PM by Axel Kohlmeyer

The collected talk slides, programming problems, solutions and supporting materials from this year's HPC Summer School at Temple are now available for download at https://sites.google.com/site/akohlmey/lectures/hpc-school-2014.tar.gz?attredirects=0&d=1. Please note that it is strongly recommended to have some personal tutoring when working on these exercises to get the proper explanations and insight as this has been designed to be used in such a fashion.

School on Molecular Dynamics for Biomolecules and Nanomaterials, Aug. 18-22 2014

posted Jul 17, 2014, 1:03 PM by Axel Kohlmeyer


The School on Molecular Dynamics for Biomolecules and Nanomaterials
 to be held at Temple University in Philadelphia, PA on August 18-22 2014 is now open for registration.

The school aims to provide some of the theoretical and technical foundation necessary for successfully planning, preparing, performing, and analyzing molecular dynamics calculations using the NAMD, LAMMPS
and VMD software packages.  Lecturers include recognized experts and developers of these three software packages.

The curriculum of the school consists of a series of lectures and intensive, tutored hands-on exercises. Ideal participants are undergraduate, graduate and post-graduate students with limited or no
existing experience in MD seeking an introduction into the process of using MD simulations as part of a research project.

Please note that there is NO FEE to attend this school, there is no travel support, there will be no meals provided.  Space is limited to 45 participants on a first-come-first-serve basis.  The registration deadline is August 11, 2014.

School on Molecular Dynamics for Biomolecules and Nanomaterials Aug.  18-22nd 2014 @ Temple University, Philadelphia, PA 

More information and registration is available at:

Registration deadline is August 11th, 2014.

If you have any questions, please contact chris.macdermaid@gmail.com

LAMMPS User and Developer Symposium @ ICTP

posted Jan 31, 2014, 12:50 PM by Axel Kohlmeyer   [ updated Mar 3, 2014, 12:37 PM ]

The Abdus Salam International Centre for Theoretical Physics (ICTP) is organizing LAMMPS Users and Developers Symposium to be held at ICTP, Trieste, Italy from 27/28 March 2014 co-scheduled with the Workshop on Advanced Techniques for Scientific Programming and Management of Open Source Software Packages 

The LAMMPS Users and Developers Symposium is a 1 1/2 day event open to LAMMPS users, developers, and people interested seeing what can be done with LAMMPS. There is no registration fee, however attendees are expected to arrange travel and accommodation on their own. Low cost accommodation in the ICTP guest house may be available and has to be arranged with the ICTP housing office directly.

The symposium will include a keynote lecture by the lead LAMMPS developer, Steve Plimpton, contributed talks, a poster session. The full program is available here.

Scienomics (delivering science)
The LAMMPS Workshop and Symposium are co-sponsored by ICTP and Scienomics. The sponsoring includes social events during the event and providing travel support for selected participants, that were not covered by other funding sources. Scienomics will also hold a seminar on the afternoon of Thursday, 27 March introducing MAPS materials modeling and simulation platform and its interface to LAMMPS.  During the hands-on session all participants will have the opportunity to work with MAPS and discuss their research interests with Scienomics' scientists.

Please visit Scienomics website at www.scienomics.com
For further details or contacts: info@scienomics.com

Registration deadline for the LAMMPS Symposium is: 10 February 2013.

You can register for the symposium at: https://docs.google.com/forms/d/1nj-yr7WIicADIfrijofhQSoS4dZ4w1y8iWle81wCcYQ/viewform

For more information about the workshop, you can contact me at: akohlmey@gmail.com




Problem Solving Exercise

posted Nov 18, 2013, 6:07 AM by Axel Kohlmeyer   [ updated Nov 22, 2013, 7:10 AM ]

In response to a recent "challenge" from a friend on Facebook, here is a little piece of python code to solve the problem systematically with a piece of software rather than guessing or counting. Following the guidelines of "How to Think Like a Programmer", this code first implements the solution for a couple of small and easy to solve problems before trying it on the complex data set. The overall problem of counting all triangles is broken down into the following principles: 1) find triangles by looping over points on a straight line pointing away from the reference and a triangle is found if the third point contains a connection to the first; 2) avoid double counting by requiring that indices of the corners in the triangles are numbered in ascending order; 3) the third corner must not be on the same line as the first.
from itertools import chain
def findtriangles(topo):
    """Count number of triangles based on provided topology information."""
    tri = []
    i = 0
    for p in topo:                      # loop over first corners
        for j in list(chain(*p)):       # loop over possible second corners
            if (j < i):                 # ... but avoid double counting
                continue
            for m in topo[j]:           # loop over possible third corners
                if (m.count(i) > 0):    # third corner must not be on the
                    continue            # ... same line as first corner
                for k in m:
                    if (k < j):         # avoid double counting again
                        continue        # check if third connects back to first
                    if (list(chain(*topo[k])).count(i) > 0):
                        tri.append([i,j,k])
        i += 1
    return tri
The full python program is attached below.
Update 22-11-2013 for topology shown below. 

LAMMPS Users and Developers Workshop and Symposium @ ICTP

posted Nov 2, 2013, 7:12 AM by Axel Kohlmeyer   [ updated Nov 4, 2013, 8:33 AM ]

The Abdus Salam International Centre for Theoretical Physics (ICTP) is organizing LAMMPS Users and Developers Workshop and Symposium to be held at ICTP, Trieste, Italy from 24 to 28 March 2014 co-scheduled with the Workshop on Advanced Techniques for Scientific Programming and Management of Open Source Software Packages 

The LAMMPS Users and Developers Workshop and Symposium is structured into 3 workshop days with limited attendance followed by a 1 1/2 day symposium with room for a larger audience of LAMMPS users, developers and people interested seeing what can be done with LAMMPS. The workshop provides specialized training for computational scientists that already are or want to become LAMMPS developers. The training will consist of lectures on the LAMMPS software overall design and implementation details as well as hand-on tutorial sessions by LAMMPS experts and developers. The LAMMPS workshop requires documented knowledge in molecular dynamics simulations, since the workshop will focus on technical aspects only. There is no registration fee and qualified applicants from developing countries can apply for partial or full financial support for travel and accommodation. Low cost accommodation in the ICTP guest house is available for other participants depending on availability.

Application deadline for the LAMMPS Workshop (including the symposium) is: 1 December 2013.
You can apply for the workshop at http://cdsagenda5.ictp.trieste.it/full_display.php?ida=a13190

Registration deadline for the LAMMPS Symposium is: 1 February 2013.
You can register for the symposium only at: https://docs.google.com/forms/d/1nj-yr7WIicADIfrijofhQSoS4dZ4w1y8iWle81wCcYQ/viewform

For more information about the workshop, you can contact me at: akohlmey@gmail.com



Workshop on Advanced Scientific Software Programming and Management

posted Nov 2, 2013, 6:07 AM by Axel Kohlmeyer

The Abdus Salam International Centre for Theoretical Physics (ICTP) is organizing a Workshop on Advanced Techniques for Scientific Programming and Management of Open Source Software Packages to be held at ICTP, Trieste, Italy from 10 to 21 March 2014 followed by a LAMMPS Users and Developers Workshop and Symposium.

The purpose of this workshop is to disseminate best practices and build fundamental skills in creating, extending and collaborating on modern, modular, and reusable software frameworks with a scripting language interface. Over the course of a two week intense training program, participants will be trained with lectures and extensive hands-on sessions from scientists with extensive experience in developing for widely used scientific software packages. There is no registration fee and qualified applicants from developing countries can apply for partial or full financial support for travel and accommodation. Low cost accommodation in the ICTP guest house is available for other participants depending on availability.

Application deadline is: 1 December 2013.

For more information about the workshop, you can contact me at: akohlmey@ictp.it


Keeping LAMMPS Up-to-date With Little Effort or Bandwidth

posted Jul 23, 2013, 10:50 AM by Axel Kohlmeyer

One of the annoying side effects of building LAMMPS binary RPMs frequently, is that it can take up quite a bit of time and bandwidth to update the binaries all the time, since they are quite big (after all, they include pretty much all features). The RPM system offers to build "delta" RPMs, i.e. packages that contain only the difference between full RPM files. However, the corresponding tool did not want to be convinced to build delta RPMs for the LAMMPS packages. However, it turned out to be possible to perform the steps more-or-less manually and now we can have a massive bandwidth saving and quick updates, as shown below:

Setting up and reading Presto delta metadata
lammps-icms/prestodelta | 1.9 kB 00:00
Processing delta metadata
Download delta size: 337 k
(1/2): lammps-common-20130722-3ak_20130723-3ak.el6.x86_ | 67 kB 00:00
(2/2): lammps-openmpi-20130722-3ak_20130723-3ak.el6.x86 | 270 kB 00:00
Finishing rebuild of rpms, from deltarpms
<delta rebuild> | 9.4 MB 00:04
Presto reduced the update size by 97% (from 9.4 M to 337 k).

LAMMPS binaries for the masses: Episode 2, Attack of the Windows VMs

posted Jun 25, 2013, 10:14 AM by Axel Kohlmeyer   [ updated Jun 25, 2013, 10:15 AM ]

After mass building Linux RPMs, it was a comparatively small step to extend this to windows, thanks to the rather nifty cross-compiler packages shipped with Fedora Linux. Building for Windows has some new challenges, but once with some perseverance, i finally got my VM to build 32-bit and 64-bit LAMMPS binaries with and without MPI, and - of course - with OpenMP and (almost) all optional packages included. The stuff is now at: http://git.icms.temple.edu/rpm/windows.html. I am really curious to see how many people will end up using this compared to the Linux RPMs.

Simple Text-mode Graphics for Fortran

posted Jun 22, 2013, 9:14 AM by Axel Kohlmeyer

Here is a little hack for Fortran programmers, that want to seem some fast approximation of how their calculations are doing. Specifically when you're stuck with programming in Fortran, the options are limited or require writing a wrapper and thus it is often not worth the overhead.

But a graphical display is not really needed. A fairly good approximation can often be achieved with simple text mode (ASCII) characters. Practically all text-mode "terminals" on modern Linux machines support a strange thing called ANSI escape sequences that would allow to control positioning the cursor and writing text into (almost) arbitrary locations and changing text attributes like color (from a limited palette, though). Combine this with using different characters to represent different shades of grey and you have a low resolution graphics display. The code is here.

RPM Repository for pre-compiled LAMMPS binaries goes live

posted Jun 17, 2013, 4:11 AM by Axel Kohlmeyer   [ updated Jun 25, 2013, 10:15 AM ]

This one was quite a bit of an education (and still is) in what vendors of pre-packaged software have to go through. After some serious scripting and leaning more than i ever wanted to know about virtual machines and RPM package management, the LAMMPS RPM repository at http://git.icms.temple.edu/rpm/ is now online and active. If you follow the installation instructions at http://git.icms.temple.edu/rpm/install.html then you can soon have pre-compiled serial or parallel LAMMPS binaries on your desktop and have them (semi-)automatically updated. So far Fedora (18, and 19beta for x86_64), CentOS (6.4, and thus RHEL 6.4) and openSUSE (12.3) are used to build 32-bit and 64-bit binaries with practically all LAMMPS packages installed (there are some small exceptions for mostly technical reasons). I'm curious to see how many people will end up using this...

1-10 of 38