| Marsette Vona: | XSim Info |

This page introduces XSim, a Java and JScheme simulator for 3D crystalline robots with hardware-accelerated graphics. You can run XSim as an applet or via Java Web Start by clicking one of the links at the top of the page.
(xadd ...))(fit))
The full XSim JScheme API is defined in xsim-api.scm, with additional scheme sugar in xsim-extra.scm. In general, the JScheme api is a thin cover over the corresponding Java API. For example, (xremove-all) covers Xtal.removeAll().
See the javadoc and the source for full details. In particular, a read through the header doc for Xtal and Display, followed by a scan of xsim-api.scm and xsim-extra.scm, will give a good picture of all XSim functions and how to invoke them.
When run as an application (java -jar XSim.jar), you interact
with XSim via the console. It may be more convenient to use a console with
specific support for scheme interaction, for example, Emacs Quack (tip: open
xsim-api.scm and xsim-extra.scm in the same Emacs session and you'll get M-/
name completion for the XSim API). Source files specified on the command line
(ending in ".scm"), if any, are loaded in order. If a file named "init.scm" is
specified, it is loaded before the GUI is displayed and can thus set an initial
configuration. Other files are loaded after the GUI is displayed.
When run as an applet, you interact with XSim via the pop-up text box.
See the SimpleMixedJ3D and Display class header documentation for details on how to navigate using the mouse and keyboard, how to pick atoms, and how to change properties of the display.
Scalablity tests were performed for 1M and 10M atom simulations on the following platform:
AMD Athlon(tm) XP 2100+, 1734.408MHz, 256 KB cache 1GB RAM Linux 2.6.17-prep i686 athlon i386 GNU/Linux NVIDIA GPU GeForce FX 5500, VideoRAM: 262144 kBytes Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) java options: -Xmx900m -ea
For 1M atoms, construction of the initial xtal took about 8s, and resulted
in a total application footprint of about
125MB. (draw-fast-planar) renders of the entire xtal took about
5s; topological operations took about 0.2s, and geometric operations took about
11s.
For 10M atoms, construction of the initial xtal took about 120s, and
resulted in a total application footprint of about
870MB. (draw-fast-planar) renders of the entire xtal took about
35s; topological operations took about 1.7s, and geometric operations took
about 41s.
You'll probably want to create a directory into which to unpack the jar (jar xvf XSim.jar). The code for XSim proper will be under the unpacked directory xsim/.
make clean removes the precompiled stuff, make rebuilds the class files, and make javadoc builds the documentation.
To build you'll need a 1.5 JDK available (i.e. with the binaries on your path) with a full Swing implementation and Java3D 1.5. You'll also need (GNU) make and m4.
THIS INFORMATION AND/OR SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS INFORMATION AND/OR SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| vona@mit.edu | © 2008 Marsette Vona | Wed Jan 23 18:31:22 EST 2008 |