Research · Software · Tutorials – Rotations and their representations

Julia in Practice: Building Scattering.jl from Scratch (4)

In this post we implement submodules rotation.jl of Scattering.jl to rotate a vector in the reference coordinate system to the internal coordinate system of the scatterer. Three representations of a rotaion operation are discussed and implemented. The conversion among and math operations on these representations are also implemented. Read More ›

Software · Tutorials – Write beautiful math and code intensive blog posts

Tutorial and A Template for Blogging with the LYX Jekyll Theme

An abstract or a summary of the blog post should be put here. This paragraph, before the excerpt mark, also goes before the TOC. The excerpt mark we choose in the LYX theme is ` Read More ›

Research · Software · Tutorials – Translations and coordinate transformation

Julia in Practice: Building Scattering.jl from Scratch (3)

In this post we will implement a submodule translation.jl to perform transformation of a vector in the reference coordinate to the internal coordinate of a scatterer. Translation and coordinate transformation will be discussed in detail. Read More ›

Research · Software · Tutorials – The shape of scattering peaks and essential Julia language features

Julia in Practice: Building Scattering.jl from Scratch (2)

In this post we will implement a submodule, peak.jl, to model the shape of scattering peaks. Essential Julia language features will be introduced along the development of the submodule. You shall learn types, constructors, functions, methods, functors, modules, testing, and benchmarking after reading this post. Read More ›

Research · Software · Tutorials – Brief introduction to the scattering theory and the Julia programming language

Julia in Practice: Building Scattering.jl from Scratch (1)

This is the first post of a series of blog posts published in Yi-Xin Liu’s research group website on an effort to demonstrate how to develop a software package for computing scattering and diffraction curves of individual or self-assembled nanoparticles, polymers as well as biological materials using Julia programming language. The purpose of this series of blog posts is in three folds: (1) to provide a source of concise understanding of the scattering theory especially for small angle X-ray scattering (SAXS); (2) to demonstrate the power of the Julia programming language in scientific computing; and (3) to serve as a detailed documentation for the Scattering.jl software package. Read More ›