Software

Scientific Computing

Polyorder.jl

Flagship SCFT platform

Julia

High-performance, next-generation SCFT simulation platform for polymer systems

Capabilities
  • Bleeding edge MDE solvers (ETDRK4) and preconditioned accelerators (Anderson-ETD, NGMRES, OACCEL)
  • GPU acceleration: device-agnostic support via AcceleratedKernels.jl
  • Low memory mode: checkpointing and shared cache for up to 80% memory reduction
  • Flexible architectures for arbitrary block copolymer topologies (linear, star, comb, cyclic)
  • Variable cell optimization and symmetry adapted solution for all 1D/2D/3D space groups

Polyorder Web App

Julia

Web-based interface for running and managing Polyorder.jl simulations

Capabilities
  • Complete web interface for SCFT simulation configuration
  • Real-time simulation monitoring with live convergence plots
  • Thread-safe distributed worker pool
  • Block copolymer library with pre-defined architectures
  • Seed library with rich set of pre-defined seeds
  • User management and simulation history tracking

Scattering.jl

Julia

Julia library for computing scattering and diffraction of nanoparticles, crystals, and clusters

Capabilities
  • Form factor of single particles and collections of particles
  • Structure factor and scattering curves of crystals
  • Translation, rotation, and symmetry operations on particles
  • Unit cell and space group support for 1D, 2D, and 3D crystals

PhaseDiagram.jl

Julia

Julia library for computing phase diagrams of block copolymers, blends, and solutions

Capabilities
  • Microphase separation phase boundary computation
  • Macrophase separation coexistence (binodal) boundary computation
  • Integration with Polyorder.jl as SCFT solver backend

Polymer.jl

Julia

Common interface for describing polymer systems with arbitrary architectures

Capabilities and installation
  • Graph-based representation for arbitrary block copolymer topologies
  • Convenient constructors for common polymer chains and multicomponent blends
  • Serialization and configuration via YAML files
  • Control parameters for systematic phase diagram construction

Installation

1
2
julia> ]
pkg> add Polymer

PolymerArchitecture.jl

Julia

Graph representation and symmetry analysis of polymer architectures

Capabilities
  • Automatic identification of equivalent and semi-equivalent sub-architectures
  • Architecture type classification (linear, star, comb, etc.)
  • Symmetry reduction for polymer field-theoretic simulations (SCFT and FTS)
  • Integration with Polymer.jl

CubicHermiteSpline.jl

Julia

Cubic Hermite spline interpolation for 1D and 2D data

Capabilities and installation
  • Univariate and bivariate interpolation
  • Gradient calculations

Installation

1
2
julia> ]
pkg> add CubicHermiteSpline

AcceleratedDCTs.jl

Julia

Fast, device-agnostic, AbstractFFTs-compatible DCT library for 1D/2D/3D data

Capabilities and installation
  • High performance: optimized Makhoul's method outperforming standard separable approaches
  • Device agnostic: runs on CPU (multithreaded) and GPU (CUDA, AMD via KernelAbstractions)
  • VkDCT backend: VkFFT-based CUDA library for DCT-I offering ~15x speedup on GPU
  • AbstractFFTs compatible with zero-allocation Plan support
  • Specialized 3D kernels avoiding redundant transposes

Installation

1
2
julia> ]
pkg> add AcceleratedDCTs

CrystallographicFFT.jl

Julia

Exploit crystallographic symmetry to compute FFTs on 3D periodic grids up to 28× faster

Capabilities and installation
  • Up to 28× speedup over full-grid FFT for highly symmetric space groups
  • All 230 space groups supported
  • GPU acceleration via CUDA weak extension
  • R2C FFT transforms for further memory and compute savings
  • SCFT-ready with built-in diffusion kernel and stress helpers
  • Zero-allocation execution with pre-allocated plans

Installation

1
2
julia> ]
pkg> add CrystallographicFFT

Utility

MakiePublication.jl

Julia

Publication quality figures using Makie.jl

Capabilities
  • Custom themes for major publishers
  • 15 color palettes
  • Hollow markers support

PolymerArchitectureMakie.jl

Julia

Visualization of polymer architectures using GraphMakie.jl

Capabilities
  • Integration with PolymerArchitecture.jl
  • Customizable visual styles

mpltex

Python

Python package for creating publication-quality plots

Capabilities
  • ACS style plots
  • Presentation and web styles
  • Tableau color scheme

Legacy

PolyOrder

Legacy C++

C++ library for polymer self-consistent field theory (deprecated)

Capabilities
  • Non-orthogonal unit cell support
  • Weakly charged polymers support

cheb++

Legacy C++

C++ library for Chebyshev polynomials

Capabilities
  • Chebyshev differential matrix
  • Clenshaw-Curtis quadrature

scftpy

Legacy Python

Python package for polymer SCFT calculations

Capabilities
  • Confined polymer simulations
  • Polymer brush simulations

chebpy

Legacy Python

Python package for spectral methods of PDEs

Capabilities
  • Chebyshev series construction
  • Fast Chebyshev transform

PyDiagram

Legacy Python

Python package for generating phase diagrams

Capabilities
  • Polyorder and PolyFTS file support
  • Free energy analysis
  • Phase boundary plotting

gyroid

Legacy Python

Python package for symmetry adapted basis functions

Capabilities
  • 1D, 2D and 3D symmetry groups
  • Structure renderer

NGPy

Legacy Python

Web application for nucleation and growth simulations

Capabilities
  • Online simulation and analysis
  • Web framework for custom applications