AmorphGen Logo

Getting Started

  • Installation
    • Requirements
    • Install from PyPI
    • Install from source
    • Backend compatibility
    • HPC setup (SLURM)
    • Verify installation
  • Quickstart
    • 1. Melt-and-quench pipeline
      • The 7 stages
    • 2. Random structure generation
    • 3. Batch quench
    • Choosing a backend
    • Accessing radii data

User Guide

  • Random structure generation
    • How it works
      • Automated minsep
        • Bond-type classifier
        • Edge cases at the classifier boundary
      • Automated density
      • Coordination-aware placement (optional)
      • Transparency: the auto-derive log line
    • CLI examples
    • Python API
    • Accessing radii data
  • Melt-and-quench pipeline
    • Overview
    • Stage descriptions
      • Stage 1: Structure optimisation
      • Stage 2: Pre-melt equilibration
      • Stage 3: Melt (heat ramp)
      • Stage 4: High-temperature equilibration
      • Stage 5: Quench (cooling ramp)
      • Stage 6: Low-temperature equilibration
      • Stage 7: Final optimisation
    • Running specific stages
    • Customising parameters
  • MQ-ensemble workflow
    • Concept
    • Single-command CLI: --mq-ensemble
    • Output layout
      • HPC job-array tip
    • Choosing protocol parameters — a note on methodology
    • Recommended mq.yaml for an oxide
    • Equivalent two-step manual workflow
    • HPC / Slurm split (best for parallelism)
    • Resume behaviour
    • When to use --mq-ensemble vs the alternatives
    • Validation
  • Batch quench
    • Use case
    • CLI usage
    • Python API
  • Hybrid workflow
    • Concept
    • Single-command CLI: --hybrid-ensemble
    • Recommended hybrid.yaml for an oxide
    • Why use the hybrid workflow?
    • Comparison to --mq-ensemble (crystal melt-quench)
    • Example: a-TiO₂
  • Calculator backends
    • MLIP backends
      • MACE
      • CHGNet
      • SevenNet
      • Custom / fine-tuned models
    • Classical potentials
      • Lennard-Jones
      • Buckingham + Coulomb
    • Listing available models
  • YAML configuration
    • Configuration precedence
    • Structure
    • Example: full melt-quench pipeline
    • Example: hybrid (random + quench)
    • Example: validation reference YAML
    • Example: classical potential
    • Loading YAML in Python
    • Stage-1 vs stage-7 optimisation: the final_opt fallback
    • Tips
  • Benchmarks: Random Generation Methods
    • Methods compared
    • Results
      • SiO₂ (48 atoms: Si₁₆O₃₂)
      • Si (40 atoms)
      • Li₂ZrCl₆ (72 atoms: Li₁₆Zr₈Cl₄₈)
    • Recommendations
    • Reproduction
      • SiO₂ with CHGNet MQ
      • Li₂ZrCl₆ with MACE MQ
      • Python API
    • Equilibration convergence
  • CLI & Python API Reference
    • CLI Commands
      • Structure Generation
      • Batch Optimisation
      • Batch Quench
      • Melt-Quench Pipeline
      • Structure Analysis
      • Utility
    • Python API
      • Structure Generation
      • Batch Optimisation
      • Melt-Quench Pipeline
      • Structure Analysis
      • Batch Quench (Python API)
      • YAML Configuration
      • List Available Models
    • YAML Config Reference
    • Pipeline Stages
    • Default Output Directories
    • Random Generation: Automated Defaults
      • Minsep (minimum interatomic distances)
      • Density estimation
      • Coordination-aware placement (auto coordination targeting)
      • Auto-retry on placement failure
    • Cell Filter Options
  • HPC deployment
    • SLURM job script
    • Resuming timed-out jobs
      • Pipeline mode
      • Batch quench mode
      • Python API
    • Array jobs for batch processing

Tutorials

  • Tutorials

API Reference

  • Calculators
    • Calculator factory
      • get_calculator()
      • list_models()
    • Backend detection
      • _detect_backend()
    • MACE models
    • SevenNet models
    • Classical potentials
      • LennardJonesCalculator
        • LennardJonesCalculator.implemented_properties
        • LennardJonesCalculator.calculate()
      • BuckinghamCalculator
        • BuckinghamCalculator.implemented_properties
        • BuckinghamCalculator.calculate()
    • Deprecated aliases
      • get_mace_calculator()
  • Random structure generation
    • amorphgen.pipeline.random_gen
    • generate_random()
    • batch_random()
  • Pipeline
    • MeltQuenchPipeline
      • MeltQuenchPipeline
        • MeltQuenchPipeline.STAGE_NAMES
        • MeltQuenchPipeline.STAGE_CHECKPOINTS
        • MeltQuenchPipeline.run()
    • Stage modules
      • Stage 1 & 7: Structure optimisation
        • amorphgen.pipeline.opt_cell
        • run()
        • batch_optimize()
      • Stage 2, 4, 6: Equilibration
        • amorphgen.pipeline.equilibrate
        • run()
      • Stage 3: Melt (heat ramp)
        • amorphgen.pipeline.melt_cell
        • run()
      • Stage 5: Quench (cooling ramp)
        • amorphgen.pipeline.quench
        • run()
      • Final optimisation
        • amorphgen.pipeline.final_opt
        • run()
      • Batch quench
        • amorphgen.pipeline.batch_quench
        • run()
  • Structure analysis
    • StructureAnalyser
      • StructureAnalyser
        • StructureAnalyser.__init__()
        • StructureAnalyser.density()
        • StructureAnalyser.coordination()
        • StructureAnalyser.bond_distances()
        • StructureAnalyser.bond_angles()
        • StructureAnalyser.rdf()
        • StructureAnalyser.structure_factor()
        • StructureAnalyser.averaged_rdf()
        • StructureAnalyser.ring_statistics()
        • StructureAnalyser.voronoi()
        • StructureAnalyser.energy_ranking()
        • StructureAnalyser.averaged_cn()
        • StructureAnalyser.summary()
        • StructureAnalyser.per_structure_summary()
        • StructureAnalyser.save_report()
        • StructureAnalyser.plot()
    • Reference-validation helpers
      • validate_against_reference()
      • format_validation_report()
    • Energy ranking helpers
      • compute_energy_ranking()
      • rank_from_log()
      • format_log_ranking()
    • Submodule reference
  • Command-line interface
    • Usage
    • CLI reference
      • amorphgen.cli
      • parse_args()
      • main()
    • Examples
      • Full pipeline
      • Full pipeline with YAML config
      • MQ-ensemble (full pipeline + N independent quenches in one command)
      • Hybrid ensemble (random + quench)
      • Extract snapshots from a trajectory
      • Hybrid workflow (skip heating)
      • Pipeline with resume
      • Random generation
      • Batch optimisation
      • Batch quench with resume
      • Structure analysis
      • Rank structures by energy (from a random-gen log)
      • List available models
    • Default output directories
  • Configuration
    • Default configuration
      • amorphgen.configs.default_config
    • Configuration keys
    • Configuration precedence
    • Override examples
      • Python API
      • YAML config
  • Utilities
    • Common helpers
      • amorphgen.utils.common
      • compute_density_gcm3()
      • make_cubic()
      • build_md_dynamics()
      • resolve_ramp()
      • MDLogger
        • MDLogger.log()
        • MDLogger.close()
      • TrajectoryWriter
        • TrajectoryWriter.write()
        • TrajectoryWriter.close()
      • attach_outputs()
      • merge_config()
      • extract_snapshots()
    • Radii, classification and auto-derivation
      • amorphgen.utils.radii
      • infer_oxidation_state()
      • auto_target_cn()
      • classify_bond()
      • get_ionic_radius()
      • get_metallic_radius()
      • get_effective_radius()
      • default_minsep()
      • estimate_density()
      • estimate_cell_length()
      • format_auto_derive_summary()
    • Format conversion
      • amorphgen.utils.convert
      • convert()
    • MD equilibration convergence analysis
      • amorphgen.utils.equilibration
      • Usage
      • parse_md_log()
      • running_average()
      • extract_energies()
      • plot_energy_convergence()
      • block_average_test()
      • plot_block_averages()
      • compute_msd()
      • plot_msd()
      • plot_temperature()
      • plot_rdf_time_windows()
      • compute_cn_vs_time()
      • plot_cn_vs_time()
      • convergence_report()
    • Other utility modules

Development

  • AI-assisted development disclosure
  • Contributing to AmorphGen
    • Getting started
    • Development setup
    • Running tests
    • Code style
    • How to contribute
      • Reporting bugs
      • Suggesting features
      • Submitting changes
      • Adding a new MLIP backend
      • Tutorials
      • Documentation
    • Project structure
    • Code of conduct
    • Questions?
AmorphGen
  • Search


© Copyright 2026, Chaiyawat Kaewmeechai.

Built with Sphinx using a theme provided by Read the Docs.