S/PHI/nX at “Lange Nacht der Wissenschaften”

PrintScientific software is commonly highly complex and it requires a lot of time, effort and dedication to perform successful research with such tools. People that are interested in such research, but no experts in the field will normally hesitate from using complex tools.

Using the Python programming language, we have now developed a first graphical user interface (GUI) for simple quantum mechanical particle-in-a-box calculations, that allows the usage of the modern electronic structure simulation package S/PHI/nX with a very simple and intuitive surface.

Build Notes: S/PHI/nX on Windows

Windows_logo

S/PHI/nX and its underlying high-performance general-purpose C++ class library SxAccelerate are already available on all popular Linux derivates (such as RHEL, CentOS, Fedora, OpenSuSE, Debian, Ubuntu) as well as MacOS X and FreeBSD.

However, until now the support of Windows was missing. In particular, having the general-purpose C++ library available under all relevant operating systems would be very beneficial:

SxAccelerate provides an intuitive high-level C++ programming interface necessary for rapid application development. It is based on modern programming techniques to allow the generation of very efficient code. Furthermore, it interfaces most of the commonly needed operating system function calls:

Spectrograms in C++ with libav (FFmpeg), libpng and S/PHI/nX

SxFFT1It this C++ example we will draw spectrograms with libav (FFmpeg), S/PHI/nX, and libpng. Libav is used to read audio files. From S/PHI/nX we will use mostly SxMatrix to store audio sample data and vector of complex numbers as the input for SxFFT1d. Libpng writes images in PNG file format.

The spectrogram is an important representation of audio data because human hearing is based on a kind of real-time spectrogram encoded by the cochlea of the inner ear (more here). The spectrogram can be defined as an intensity plot of Short-Time Fourier Transform (STFT) magnitude. STFT is a sequence of Fast Fourier Transform (FFT) on input audio samples. The intensities are usually plotted in decibel logarithmic scale.

Images in C++ with libpng and S/PHI/nX

julia-300b
Hi there! In this short text we will go through some code to create fractal images and then write them to image files. It is a small tutorial to S/PHI/nX and mainly its part SxAccelerate which is used as external library in this project (more about SxAccelerate and code examples). The “Sx” classes that are used are namely SxCLI, SxString, SxArray, SxNArray, SxException and SxComplex.

The first question is to choose some image file format to store our pixels.One is usually very happy just with PPM formats because they are so easy to create. (More details about PPM/PGM/PBM variants with examples). But we will go one step further and use PNG (Portable Network Graphics). It is practical. Just to mention few features: Lossless compression, palette/grayscale/truecolor color mode, up to 16-bit-per-sample support, transparency, and so on. Finally, the format has its MIME and we can put the images directly to web.

Build Notes: CentOS 6.3

CentOSToday CentOS 6.3 has been released. CentOS – the Community ENTerprise Operating System  – is a free community-driven alternative to Red Hat Enterprise Linux  (RHEL). CentOS 6.3 is based on RHEL 6.3 (available since 06/21/2012). CentOS can be considered as a particularly stable Linux distribution which is, therefore, very popular for building up large cluster environments.

The complete release notes of CentOS 6.3 can be found here.

Installing Minimal CentOS 6.3

The following series of screenshots demonstrates how a minimal CentOS 6.3 system can be installed. In this example a virtual machine with only 512 MB of RAM has been used which causes the CentOS installer to fall back to the text-only installation mode. Note, that the installer itself requires at least 392 MB of RAM. Please adapt the settings according to your needs. Download the installation media from your next nearest CentOS mirror. Here the image CentOS-6.3-x86_64-netinstall.iso has been downloaded from the RWTH Aachen.

S/PHI/nX Binary Distribution (*.rpm)

Download S/PHI/nX and SxAccelerate Binaries here.

package2Following the build notes (Fedora, CentOS) this article sheds light on the installation sequence of the binary packages.

The Fedora binaries of S/PHI/nX and SxAccelerate as provided by Gemmantics are available as rpm files. RPM – the format of the Redhat package manager – is the native package format of Fedora. 

I follow the previous discussion about installing S/PHI/nX on Debian systems. To keep the article as a whole some parts are copied instead of linked.

Build Notes: Fedora 15

After discussing the installation of S/PHI/nX and SxAccelerate on Debian in the previous post this time I focus on Fedora 15. Fedora is a community driven Linux distribution and strongly supported from Redhat. Fedora is known to embrace latest developments such as new kernel releases, compilers, libraries, and protocols very early compared to many other distributions. After briefly sketching the installation of a minimal Fedora 15 setup I will demonstrate the compilation of S/PHI/nX and SxAccelerate on that system.

S/PHI/nX Binary Distribution (*.deb)

Download S/PHI/nX and SxAccelerate Binaries for Debian here.

1st S/PHI/nX Binary Distribution released.

The object-oriented Density-Functional-Theory program package S/PHI/nX and its underlying high-performance general purpose C++ framework SxAccelerate have been released recently as open-source. Although building the libraries is straightforward, Gemmantics creates and maintains binary packages of both S/PHI/nX and SxAccelerate. In the upcoming weeks we will deploy native installers for various operating systems. By using the binary packages you can start working with S/PHI/nX or developing with SxAccelerate within one or two minutes.

The first operating system which we support for shipping S/PHI/nX binaries is Debian (others will follow). Debian’s native package management system is apt-get, packages can be installed with the dpkg program.

Build Notes: S/PHI/nX on Debian

In this and the upcoming articles on S/PHI/nX and SxAccelerate I will briefly discuss the installation of the packages on various operating systems. The generated S/PHI/nX libraries and executables will be bundled and added to the binary distributions of S/PHI/nX.

I will begin this series with Debian. Debian is a widely spread Linux distribution, quite stable, and easy to install and work with.


© 2017 DACS Laboratories GmbH | Imprint | Privacy Policy