{
  "abstract": "Realistic adsorbate–substrate geometries are essential for meaningful electronic-structure calculations at interfaces, yet constructing them remains slow and generally ad hoc for bulky molecules, high coverages, and irregular surfaces. This challenge limits systematic exploration of adsorption configurations across many problems in catalysis, surface chemistry, and materials design. We introduce metalsurfer, a Python package that generates density functional theory (DFT)-ready interface models from simplified molecular input line-entry system (SMILES) strings and a substrate. The workflow combines chemistry-aware, CPU-parallel placement enumeration with TorchSim GPU-batched relaxation under a machine-learned interatomic potential (MLIP), molecular integrity filters, sequential coverage growth, and optional Bayesian acquisition. We demonstrate these capabilities on three chemically distinct systems. For camphor on Cu(111), a ∼1.2 h search recovers neighbors to all eight published weak-adsorption minima and provides a set of plausible basins for refinement. For bipyridine on defected Au(111), offline fixed-batch replays on saved saturation pools show that probability-of-improvement acquisition identifies the first committed motif much faster than random sampling. Transfer from earlier coverage steps also accelerates later searches, with a trust gate that can fall back to a cold model if the prior fails current-step validation. For CO/Pt(111), fixed-coverage n-tuplet searches locate all four ordered adlayers reported in the literature. In each case, a few hours of GPU screening produce a compact shortlist for DFT refinement. metalsurfer thus provides a practical route through the combinatorial problem of interface construction.",
  "abstract_shown": true,
  "affiliations": [
    "Departamento de Qúımica F́ısica and Instituto de Biocomputación y F́ısica de Sistemas Complejos",
    "Universidad de Zaragoza",
    "Consejo Superior de Investigaciones Cient́ıficas and Universidad de Sevilla"
  ],
  "article_type": null,
  "arxiv": null,
  "author_total": 4,
  "authors": [
    {
      "affs": [
        0,
        1
      ],
      "name": "Jorge Gonzalo"
    },
    {
      "affs": [
        0,
        1,
        2
      ],
      "name": "Jorge Felez"
    },
    {
      "affs": [
        0,
        1
      ],
      "name": "Julen Munarriz"
    },
    {
      "affs": [
        2
      ],
      "name": "Ruben Laplaza",
      "orcid": "0000-0001-6315-4398"
    }
  ],
  "bibtex": "https://research.draconitic.com/paper/bb2q9v8yjatvm.bib",
  "cited_by": 0,
  "doi": "10.26434/chemrxiv.15010192/v1",
  "fulltext_url": null,
  "id": "bb2q9v8yjatvm",
  "issns": [],
  "landing_url": "https://chemrxiv.org/doi/full/10.26434/chemrxiv.15010192/v1",
  "language": null,
  "licence": "CC-BY",
  "licence_label": "CC BY",
  "licence_source": "journal",
  "licence_url": "https://creativecommons.org/licenses/by/4.0/",
  "metadata_licence": null,
  "native_subjects": [
    [
      "openalex",
      "2505|Machine Learning in Materials Science"
    ]
  ],
  "openalex": "W7221165792",
  "pdf_url": "https://chemrxiv.org/doi/pdf/10.26434/chemrxiv.15010192/v1",
  "pmcid": null,
  "pmid": null,
  "published": "2026-10-09",
  "publisher": "American Chemical Society (ACS)",
  "ris": "https://research.draconitic.com/paper/bb2q9v8yjatvm.ris",
  "sources": [
    {
      "first_seen": "2026-10-30T12:17:22Z",
      "native_id": "10.26434/chemrxiv.15010192",
      "source": "chemrxiv",
      "url": "https://chemrxiv.org/doi/full/10.26434/chemrxiv.15010192/v1"
    }
  ],
  "subjects": [
    {
      "field": "chemistry",
      "origin": "openalex:2505|Machine Learning in Materials Science",
      "subfield": "materials-polymers"
    }
  ],
  "title": "Metalsurfer: Fast Generation of Realistic Substrate-Adsorbate Interfaces",
  "title_text": "Metalsurfer: Fast Generation of Realistic Substrate-Adsorbate Interfaces",
  "type": "preprint",
  "updated_at": "2026-10-30T12:17:22Z",
  "url": "https://research.draconitic.com/paper/bb2q9v8yjatvm",
  "venue": "ChemRxiv",
  "versions": []
}