ACM : Avogadro Challenge Manager

A software to manage your data of computatoinal physics.


ピクチャ 1


ACM is an application that help us manage databases of scientific computations. Scientific computational often requires management of the wide variety of data. This software helps researchers manage their database.

A typical work flow is as follows.
  1. Register a simulation model.
  2. Choose a parameter set for which you want to execute simulation.
  3. ACM makes shell scripts which run simulations.
  4. Select a host and submit the jobs.
  5. Wait for completion.
  6. Download the data after the completion and include them into the database.
  7. Repeat 2 ~ 6.
ACM helps the above process and automate your daily tasks.
ACM also keeps a log about what you have done, how long each run takes, and on which node your runs were done.



  • Unix based OS (such as Linux or Mac OS X)
  • Ruby 1.8
  • rubygems 1.3.0 or later

This application is implemented by Ruby. So a Unix-based operation system and Ruby are necessary. RubyGems is a defacto-standard tool to manage libraries written in Ruby. This application is installed as a library of RubyGems.


First, download the gem file.


On terminal, execute the following command.

sudo gem install acm-0.6.1.gem

Confirm that the command "acm_server" is available.

which acm_server

How to use

Preparation of your simulation codes

Before starting the ACM, you have to prepare simulation codes by yourselves.
Suppose you want to simulate the Ising model.
Your Ising model has three parameters, L (system size), K (temperature), and T (simulation time).
Prepare your simulation program so that it accept parameters as arguments.
The execution command which run with L=32, K=0.25, T=128, seed=20394, should look like the following,
./Ising.out 32 0.25 128 20394.
Here, 20394 is the seed of the random number sequence.
Formats of the output files are arbitrary, but must be created under the current directory.

Then, put the simulation program on the path you decided. (Here, we put it onto ~/acm_simulator/Ising.out.)
The program must be compiled in advance.
You have to put it on the same path of the remote host if you want to run it on remote hosts.

Starting up the web-server

On terminal, type the following command.
acm_server ~/your_database_path

If this command is typed for the first time, a blank database folder is created at the specified path.

Access ACM web-page with a web-browser

Access http://localhost:10080/acm_cgi/simulators.cgi
This is the top page of this software.

Addition of the simulators

To be updated.

Creation of jobs

To be updated.

Execution of the jobs and inclusion of the data at local host

To be updated.

Registration of hosts

To be updated.

Execution of the jobs at remote hosts

To be updated.


This software is distributed under the GPL license.

(GPL License)

Copyright (C) 2009 Yohsuke Murase and Shigenori Matsumoto

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .

Known bugs

  • When a job is executed on localhost, the CGI process does not response until the job finishes.
  • When downloading, the CGI process does not show the page until the download finishes.
  • When including, the CGI process does not show the page until the inclusion finishes.