SPARC

SPARC (Simulation Package for Ab-initio Real-space Calculations) is an open-source DFT code using real-space formulation with finite differences for accurate and efficient large-scale electronic structure calculations. Developed at Georg…

1. GROUND-STATE DFT 1.1 Plane-Wave / Pseudopotential Codes VERIFIED 1 paper
Back to Mind Map Official Website

Overview

SPARC (Simulation Package for Ab-initio Real-space Calculations) is an open-source DFT code using real-space formulation with finite differences for accurate and efficient large-scale electronic structure calculations. Developed at Georgia Institute of Technology, SPARC is designed for excellent parallel scalability on modern HPC architectures including GPUs. It features cyclic boundary conditions for accurate stress calculations and is particularly well-suited for high-throughput materials scre

Reference Papers (1)

Full Documentation

Official Resources

  • Homepage: https://sparc-x.github.io/
  • Documentation: https://github.com/SPARC-X/SPARC/blob/master/doc/Manual.pdf
  • Source Repository: https://github.com/SPARC-X/SPARC
  • License: GNU General Public License v3.0

Overview

SPARC (Simulation Package for Ab-initio Real-space Calculations) is an open-source DFT code using real-space formulation with finite differences for accurate and efficient large-scale electronic structure calculations. Developed at Georgia Institute of Technology, SPARC is designed for excellent parallel scalability on modern HPC architectures including GPUs. It features cyclic boundary conditions for accurate stress calculations and is particularly well-suited for high-throughput materials screening and large system simulations.

Scientific domain: Real-space DFT, finite differences, high-throughput, large-scale simulations
Target user community: Materials scientists, HPC users, high-throughput researchers

Theoretical Methods

  • Kohn-Sham DFT (LDA, GGA, meta-GGA)
  • Real-space finite-difference representation
  • High-order finite differences
  • Norm-conserving pseudopotentials (ONCV)
  • Cyclic boundary conditions
  • van der Waals corrections (vdW-DF, DFT-D3)
  • DFT+U for correlated systems
  • Spin-orbit coupling
  • External electric fields
  • Dispersion corrections

Capabilities (CRITICAL)

  • Ground state electronic structure
  • Geometry optimization (BFGS, LBFGS, FIRE)
  • Full cell relaxation
  • Molecular dynamics (NVE, NVT, NPT)
  • Band structures and DOS
  • Stress tensor calculations
  • High-pressure simulations
  • Elastic constants
  • Phonons (via finite differences)
  • Absorption spectra
  • Excellent parallel scalability
  • GPU acceleration
  • Large systems (1000+ atoms)
  • High-throughput workflows
  • Cyclic boundary conditions
  • Accurate stress calculations

Sources: Official SPARC documentation (https://sparc-x.github.io/), GitHub repository

Key Strengths

Real-Space Formulation:

  • Finite-difference discretization
  • No plane-wave cutoff issues
  • Natural O(N) scalability
  • Systematic convergence
  • Local refinement possible

Cyclic Boundary:

  • Accurate stress calculations
  • No Pulay stress
  • High-pressure simulations
  • Variable cell dynamics
  • Correct forces

Scalability:

  • Excellent parallel efficiency
  • GPU acceleration
  • Domain decomposition
  • Scaling to thousands of cores
  • HPC optimized

Open Source:

  • GPL v3 licensed
  • Active GitHub development
  • Community contributions
  • Well-documented
  • Modern codebase

High-Throughput:

  • Automated workflows
  • Database integration
  • Batch processing
  • Materials screening

Inputs & Outputs

  • Input formats:

    • .inpt (main input file)
    • .ion (atomic positions)
    • Pseudopotential files (.psp8)
    • Simple text format
  • Output data types:

    • .out (main output)
    • .static (final structure)
    • .aimd (MD trajectory)
    • Band structure files
    • DOS files

Interfaces & Ecosystem

  • Preparation:

    • ASE integration
    • Python scripts
    • Standard format conversion
  • Analysis:

    • Python tools
    • ASE calculator
    • Custom scripts
  • Pseudopotentials:

    • ONCV pseudopotentials
    • SG15 library
    • PseudoDojo
  • Parallelization:

    • MPI (excellent scaling)
    • GPU offloading
    • Hybrid parallelization
    • Domain decomposition

Workflow and Usage

Example Input (.inpt):

# Silicon bulk
MESH_SPACING: 0.2
EXCHANGE_CORRELATION: GGA_PBE

KPOINT_GRID: 4 4 4
KPOINT_SHIFT: 0 0 0

ELEC_TEMP_TYPE: Fermi-Dirac
ELEC_TEMP: 315.775

TOL_SCF: 1e-6
MAXIT: 100

PRINT_FORCES: 1
PRINT_ATOMS: 1

Running SPARC:

sparc -name silicon
mpirun -np 16 sparc -name silicon

Advanced Features

Cyclic Boundary Conditions:

  • Torsional degrees of freedom
  • Accurate stress tensor
  • No Pulay corrections needed
  • High-pressure accuracy
  • Variable cell shape

GPU Acceleration:

  • Offload computation to GPUs
  • Significant speedup
  • Hybrid CPU-GPU
  • Modern GPU support

High-Order Finite Differences:

  • Up to 12th order
  • Systematic accuracy
  • Convergence control
  • Efficient stencils

Stress Calculations:

  • Highly accurate stress
  • No Pulay stress corrections
  • Cell optimization
  • High-pressure studies
  • Elastic properties

Real-Space Advantages:

  • No FFT bottleneck
  • Better load balancing
  • Scalability benefits
  • Sparse matrices

Performance Characteristics

  • Speed: Competitive
  • Scaling: Excellent (1000+ cores)
  • GPU: Significant acceleration
  • Memory: Moderate
  • Typical systems: 100-2000 atoms

Computational Cost

  • DFT: Efficient
  • Large systems: Excellent scaling
  • MD: Production simulations feasible
  • Cell relaxation: Accurate and efficient
  • GPU: Dramatically faster

Limitations & Known Constraints

  • Newer code: Less established than VASP/QE
  • Community: Growing but smaller
  • Pseudopotentials: ONCV format required
  • Features: Fewer than mature codes
  • Documentation: Good but evolving
  • Learning curve: Moderate
  • Platform: Linux primarily

Comparison with Other Codes

  • vs VASP: SPARC open-source, real-space; VASP proprietary, plane-wave
  • vs Quantum ESPRESSO: Similar capabilities, different formulation
  • vs PARSEC: Both real-space, SPARC more modern
  • vs ABINIT: SPARC newer, excellent GPU support
  • Unique strength: Real-space with cyclic boundary conditions, GPU acceleration, accurate stress, open-source, excellent scalability

Application Areas

High-Throughput Screening:

  • Materials databases
  • Property predictions
  • Automated workflows
  • Large-scale studies

High-Pressure Physics:

  • Accurate stress calculations
  • Phase transitions
  • Equation of state
  • Extreme conditions

Large Systems:

  • Nanostructures
  • Interfaces
  • Amorphous materials
  • Complex systems

Materials Science:

  • Structural properties
  • Electronic structure
  • Mechanical properties
  • Thermodynamics

Best Practices

Convergence Testing:

  • Mesh spacing (h)
  • K-point grid
  • Electronic temperature
  • SCF tolerance
  • Systematic approach

Stress Calculations:

  • Use cyclic boundary
  • Tight convergence
  • Fine mesh spacing
  • Check stress tensor

GPU Usage:

  • Enable GPU acceleration
  • Balance CPU-GPU workload
  • Optimize batch sizes
  • Monitor GPU utilization

Parallelization:

  • Domain decomposition
  • Test scaling efficiency
  • Optimize MPI layout
  • Balance communication

Performance:

  • Use appropriate mesh spacing
  • Minimize output frequency
  • Restart from checkpoints
  • Optimize k-points

Community and Support

  • Open-source (GPL v3)
  • Active GitHub repository
  • Issue tracking on GitHub
  • Documentation online
  • Growing community
  • Academic support

Educational Resources

  • User manual (PDF)
  • Tutorial examples
  • GitHub documentation
  • Example input files
  • Published papers

Development

  • Active GitHub development
  • Regular updates
  • Community contributions welcome
  • Modern C codebase
  • GPU-aware design

Research Group

  • Georgia Institute of Technology
  • Prof. Phanish Suryanarayana
  • Active research
  • Method development
  • HPC focus

Recent Features

  • GPU acceleration
  • Meta-GGA functionals
  • SOC implementation
  • Enhanced parallelization
  • Improved algorithms

Verification & Sources

Primary sources:

  1. Official website: https://sparc-x.github.io/
  2. GitHub repository: https://github.com/SPARC-X/SPARC
  3. Documentation: https://github.com/SPARC-X/SPARC/blob/master/doc/Manual.pdf
  4. Q. Xu et al., arXiv:2010.01278 (2020) - SPARC paper
  5. P. Suryanarayana et al., Comput. Phys. Commun. 224, 288 (2018) - Real-space methods

Secondary sources:

  1. SPARC documentation and examples
  2. Published studies using SPARC
  3. Real-space DFT literature
  4. GitHub discussions and issues

Confidence: VERIFIED - Appears in multiple independent source lists

Verification status: ✅ VERIFIED

  • Official homepage: ACCESSIBLE
  • Documentation: Available (GitHub, PDF manual)
  • Source code: OPEN (GitHub, GPL v3)
  • Community support: GitHub issues, documentation
  • Active development: Very active GitHub
  • Academic citations: Growing
  • Specialized strength: Real-space with cyclic boundary conditions, GPU acceleration, accurate stress, open-source, excellent scalability

Related Tools in 1.1 Plane-Wave / Pseudopotential Codes