GenIce3

GenIce3: Overview for AI Assistants

This page is intended for AI/LLM systems that need to understand and explain GenIce3 to users. It provides a compact, structured summary of the project.

What GenIce3 is

Key concepts

Concept Meaning
Unit cell A small repeating unit of the ice/clathrate lattice (e.g. 1h = Ice Ih, CS2 = clathrate sII). Specified by name as first argument.
Replication The unit cell is repeated to form a supercell (--rep 2 2 2 or --replication_matrix).
Ice rule Each oxygen has exactly two covalently bound hydrogens; hydrogen bonds are assigned to satisfy this.
Depolarization Dipole optimization so that net polarization is near a target (default zero).
Cages In clathrates, cavities (e.g. 12-hedra, 16-hedra) that can hold guest molecules (methane, THF, etc.).
Doping Unit-cell ions: -a/--anion, -c/--cation (lattice sites). Spot ions: -A/--spot_anion, -C/--spot_cation (specific water in supercell). See Doping and defects.
Protonic / Bjerrum defects H₃O⁺, OH⁻, or L/D Bjerrum defects; currently API-only (see API examples).

Entry points

  1. Command line: genice3 [OPTIONS] UNITCELL
    • Unit cell name is required. Options include --rep, -e (exporter), -g/-G (guests), -a/-c (unitcell ions), -A/-C (spot ions), -Y (config file).
    • Full list: run genice3 --help or see CLI reference.
  2. Python API: from genice3.genice import GenIce3; from genice3.plugin import UnitCell, Exporter
    • Create GenIce3(), set genice.unitcell = UnitCell("A15") (or other name), optionally set replication_matrix, spot_anions, spot_cations, spot_hydroniums, spot_hydroxides, then access reactive properties (graph, lattice_sites, digraph, orientations) or call Exporter("gromacs").dump(genice, ...).
    • Reactive pipeline: Properties like fixed_edges, digraph, orientations are computed on demand from unitcell, spot_*, etc.
    • Examples: API examples (with embedded code).

Plugin architecture

Common tasks (quick answers)

Where to find more

When explaining GenIce3 to a user, prefer linking to the relevant manual section (e.g. CLI, ice structures, API examples) and summarize in one or two sentences what the user can do (generate ice/clathrate, choose lattice, export to MD formats, add ions or defects via API).