About XANSONS for CODXANSONS for COD is a research project aimed to create an open access database of simulated x-ray and neutron powder diffraction patterns for nanocrystalline phase of the materials presented in the Crystallography Open Database (COD). You can participate by downloading and running a free program on your computer.
Principal calculations for this project are completed. The database of simulated powder diffraction patterns can be found at http://database.xansons4cod.com. The project will continue to process newly added COD entries but the number of new tasks per month will be very small. Those who want to join the project despite this, can ask any participant for the invitation code, which is shown on the profile page.
This project uses original open source (GPLv3 license) software XaNSoNS (X-ray and Neutron Scattering on Nanoscale Structures) to simulate the diffraction patterns on CPU and GPU. Download the source code of the client app here.
XANSONS for COD is a privately managed BOINC project. It was supported by the Russian Foundation for Basic Research in 2015 - 2017 (project RFBR #15-07-07901-a).
Scientific ProblemThe conventional technique used to recover the structural properties of the crystalline samples by their powder diffraction pattern is the Rietveld refinement method. In this method, the theoretical powder diffraction pattern is refined until it fits the experimental one. The computation of the angles and intensities of the Bragg peaks can be made almost instantaneously in the approximation of the infinite size of the crystallite. To adjust for the finite size of the crystallites in the samples or finite resolution of the measurement device, these peaks are broadened artificially with the broadening function (usually Gaussian). This artificial broadening works great until the size of the crystallite in the sample is something below few tens of nanometers. For the such small crystallites, it is very hard to get the right broadening function which works fine for all Bragg peaks. Fortunately, for the such small crystallites, it is not a problem to calculate the powder diffraction patterns using the Debye equation (with the distance-histogram approximation, such as that proposed by Marcin Wojdyr and implemented in his Debyer code). This project is aimed to calculate the x-ray and neutron powder diffraction patterns for the nanocrystallites with the size varying from 6 nm to 30 nm for the most of the entries of the Crystallography Open Database. The two different types of materials are considered: (a) isolated spherical crystalline nanoparticle of a given size (diameter), (b) crystalline material with long-range order broken on the distances greater than a given value. The obtained database may simplify the diagnostics of the nanocrystalline samples and complement the Full Profile Search Match method in the crystallite size analysis of the nanocrystalline samples.
In addition to the above, the calculation of the powder diffraction pattern using the Debye equation allows to account the lattice defects such as site vacancies, atom replacements and displacements. So, if the Crystallography Information File (CIF) for the given structure provides the site occupancy numbers and atomic displacement parameters, the application will use them to calculate the diffraction pattern.
System RequirementsSupported operating systems:
- Windows 7 SP1 64-bit and above. Manual installation of Visual C++ Redistributable Packages for Visual Studio 2013 is required (64-bit version).
- OS X 10.9.5 and above (including macOS).
- 64-bit Linux with kernel 3.10 and above.
- Nvidia GPU with CUDA Compute Capability 1.3 and above (Windows, Linux) or 2.0 and above (OS X/macOS) with at least 1GB of memory (GDDR5 memory is recommended). Driver version 340.21 and above (Windows, Linux) or CUDA Driver for MAC version 7.0.29 and above (OS X/macOS).
- AMD GPU with OpenCL 1.2+ support with at least 1GB of memory (integrated AMD GPUs, a.k.a. APUs, are not recomended, see Important Notes below).
- Intel GPU of 8-th generation and above with OpenCL 1.2+ support (older Intel GPUs are not recommended, see Important Notes below).
- The apps of this project do not make checkpoints. If stopped, the task will be restarted from the beginning. The task execution time should not exceed 10 minutes for moderate PCs. However, some tasks may take longer to complete on low-end PCs. This is particularly true for low-end GPUs. If the execution time of tasks is unacceptably high for your GPU, consider disabling it in the 'Preferences for this project' in your profile page.
- Some antivirus software may place the executables into quarantine as unknown (and therefore suspicious) files. To prevent this from happening, disable blocking of unknown files in the antivirus preferences (e.g. in Avast disable CyberCapture feature). When BOINC client will download the executables, you can manually scan the BOINC data directory (C:\ProgramData\BOINC\ by default) for viruses. After that, the disabled antivirus functionality may be re-enabled again.
- The algorithm which solves the problem on GPU uses 64-bit integer atomic functions on Nvidia and AMD GPUs and emulates them on Intel GPUs. All tested integrated AMD GPUs (APU) and all tested Intel GPUs below 8-th generation showed very poor performance for the tasks of this project probably caused by specific hardware architectures of these GPUs. If your GPU is affected, you can disable it in the 'Preferences for this project' in your profile page.
- GPU apps do not require dedicated CPU core by default anymore. If you notice any performance issues caused by this, consider using custom app configuration. Place this file in the project’s folder.
- The progress bar for GPU tasks may freeze on 0% for a few seconds. This is OK and does not mean that the app is hanging (at that time CPU computes the atomic ensemble and does not report a progress).
- Read our rules and policies
- Download and run BOINC.
- Choose Add Project and enter URL: http://xansons4cod.com/xansons4cod/
- If you have any problems, get help here.
- Your account - view stats, modify preferences
- Server status
- Teams - create or join a team