{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2604-27685","title":"VibroML: an automated toolkit for high-throughput vibrational analysis and dynamic instability remediation of crystalline materials using machine-learned potentials","arxiv_id":"2604.27685","date":"2026-04-30","proceeding":null,"authors":["Rogério Almeida Gouvêa","Gian-Marco Rignanese"],"abstract":"While machine-learned interatomic potentials (MLIPs) accelerate phonon dispersion calculations, merely identifying dynamical instabilities in computationally predicted materials is insufficient; automated pathways to resolve them are required. We introduce VibroML, an open-source Python toolkit driven by foundational MLIPs that shifts the paradigm from stability verification to automated structural remediation. VibroML employs an energy-guided genetic algorithm that vastly outperforms traditional soft-mode following, efficiently navigating the potential energy surface to uncover diverse, dynamically stable polymorphs. As 0 K harmonic stability does not guarantee macroscopic viability, an automated molecular dynamics workflow evaluates finite-temperature structural retention. VibroML also couples with ProtoCSP, our combinatorial structure prediction engine, to stabilize frustrated crystal topologies via targeted alloying, successfully rescuing functional perovskite networks like Cs$_2$KInI$_6$ and KTaSe$_3$. Demonstrating broader applicability, we mined the Alexandria database -- where ~50% of quaternary and 99.5% of quinary elemental combinations lack any structural entries -- to identify thousands of abandoned, high-symmetry stoichiometries. Deploying ProtoCSP's \"cold start\" retrieval and VibroML's evolutionary search on a sample, we successfully identified dynamically stable low-symmetry candidates. Through integrated structural remediation, thermal validation, and systematic compositional exploration, VibroML enables a comprehensive deep-screening approach, yielding physically sound structural propositions that far surpass standard high-throughput workflows.","url_abs":"https://arxiv.org/abs/2604.27685","url_pdf":"https://arxiv.org/pdf/2604.27685","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2604.27685","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2604.27685"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/rogeriog/VibroML_SupportData","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/rogeriog/ProtoCSP","reach":null}],"summary":{"ran":26,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":28,"ran":26,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":21,"samples":[{"code_sha256_prefix":"b6665f1a4de458d8","entry":"clean_array_string","repo":"rogeriog/ProtoCSP","repo_kind":"found_in_text","path":"protocsp/core.py","file_url":"https://github.com/rogeriog/ProtoCSP/blob/HEAD/protocsp/core.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b6665f1a4de458d8"}},{"code_sha256_prefix":"c937c18450377c55","entry":"clean_run_id","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"phonon_and_md_benchmarking/extract_evals_all.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/phonon_and_md_benchmarking/extract_evals_all.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c937c18450377c55"}},{"code_sha256_prefix":"4bd5d51182b0f7c7","entry":"clean_run_id","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"phonon_and_md_benchmarking/MACE_MD_evals/extract_md_data.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/phonon_and_md_benchmarking/MACE_MD_evals/extract_md_data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4bd5d51182b0f7c7"}},{"code_sha256_prefix":"2a0640baa9ea61dd","entry":"clean_species_string","repo":"rogeriog/ProtoCSP","repo_kind":"found_in_text","path":"protocsp/core.py","file_url":"https://github.com/rogeriog/ProtoCSP/blob/HEAD/protocsp/core.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2a0640baa9ea61dd"}},{"code_sha256_prefix":"b99edf2ca880c954","entry":"find_all_summary_files","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"remediation_results/compile_unique_structures.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/remediation_results/compile_unique_structures.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b99edf2ca880c954"}},{"code_sha256_prefix":"dce6be00a547905c","entry":"find_first_timing_ga","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"remediation_results/compile_timing.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/remediation_results/compile_timing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dce6be00a547905c"}},{"code_sha256_prefix":"21c3d8f91d16810a","entry":"find_last_timing_ga","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"remediation_results/compile_timing.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/remediation_results/compile_timing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"21c3d8f91d16810a"}},{"code_sha256_prefix":"6e27b1633c5ef30b","entry":"get_aligned_data","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"LiF_anomaly_tests/plot_LiF_anomaly_comparison_broken_allMLIPs.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/LiF_anomaly_tests/plot_LiF_anomaly_comparison_broken_allMLIPs.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6e27b1633c5ef30b"}},{"code_sha256_prefix":"9791df69cbe09b79","entry":"get_aligned_data","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"neb_results/plot_comparison_DFT_MLIP_neb_paths.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/neb_results/plot_comparison_DFT_MLIP_neb_paths.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9791df69cbe09b79"}},{"code_sha256_prefix":"8ad931c24fc4e724","entry":"get_path_stats","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"LiF_anomaly_tests/get_statistics_path.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/LiF_anomaly_tests/get_statistics_path.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8ad931c24fc4e724"}},{"code_sha256_prefix":"e9e6b64db3e85003","entry":"natural_sort_key","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"LiF_anomaly_tests/get_statistics_path.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/LiF_anomaly_tests/get_statistics_path.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e9e6b64db3e85003"}},{"code_sha256_prefix":"b08935eb4f58eb1f","entry":"parse_analysis_date","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"remediation_results/compile_timing.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/remediation_results/compile_timing.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b08935eb4f58eb1f"}},{"code_sha256_prefix":"940b795955ef4d56","entry":"parse_detailed_symmetry_file","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"phonon_and_md_benchmarking/MACE_MD_evals/extract_md_data.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/phonon_and_md_benchmarking/MACE_MD_evals/extract_md_data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"940b795955ef4d56"}},{"code_sha256_prefix":"1d7e3e33718cc1ea","entry":"parse_dft_csv","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"LiF_anomaly_tests/plot_LiF_anomaly_comparison_broken_allMLIPs.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/LiF_anomaly_tests/plot_LiF_anomaly_comparison_broken_allMLIPs.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1d7e3e33718cc1ea"}},{"code_sha256_prefix":"7876f4c2e330d535","entry":"parse_energy_from_folder","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"phonon_and_md_benchmarking/extract_md_evals_all.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/phonon_and_md_benchmarking/extract_md_evals_all.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7876f4c2e330d535"}},{"code_sha256_prefix":"84c681f8c22f7150","entry":"parse_folder_name_info","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"phonon_and_md_benchmarking/extract_evals_all.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/phonon_and_md_benchmarking/extract_evals_all.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"84c681f8c22f7150"}},{"code_sha256_prefix":"15c9157870f92397","entry":"parse_folder_name_info","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"phonon_and_md_benchmarking/extract_md_evals_all.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/phonon_and_md_benchmarking/extract_md_evals_all.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"15c9157870f92397"}},{"code_sha256_prefix":"5e8698dbd79476e4","entry":"parse_ga_recovered_summary","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"remediation_results/compile_unique_structures.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/remediation_results/compile_unique_structures.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5e8698dbd79476e4"}},{"code_sha256_prefix":"ec48c38e73c94933","entry":"parse_gpumd_output_files","repo":"rogeriog/ProtoCSP","repo_kind":"found_in_text","path":"protocsp/mlip_utils.py","file_url":"https://github.com/rogeriog/ProtoCSP/blob/HEAD/protocsp/mlip_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ec48c38e73c94933"}},{"code_sha256_prefix":"fc70fa76cbfa872a","entry":"parse_mlip_csv","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"LiF_anomaly_tests/plot_LiF_anomaly_comparison_broken_allMLIPs.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/LiF_anomaly_tests/plot_LiF_anomaly_comparison_broken_allMLIPs.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fc70fa76cbfa872a"}},{"code_sha256_prefix":"7165feaea82c1e6b","entry":"parse_opt_random_report","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"remediation_results/compile_unique_structures.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/remediation_results/compile_unique_structures.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7165feaea82c1e6b"}},{"code_sha256_prefix":"7834f2043014dbc9","entry":"parse_vasp_csv","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"neb_results/plot_comparison_DFT_MLIP_neb_paths.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/neb_results/plot_comparison_DFT_MLIP_neb_paths.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7834f2043014dbc9"}},{"code_sha256_prefix":"319d07216052d059","entry":"process_dft_file","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"LiF_anomaly_tests/get_statistics_path.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/LiF_anomaly_tests/get_statistics_path.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"319d07216052d059"}},{"code_sha256_prefix":"e46e34107e4a6f2a","entry":"process_formula_batch","repo":"rogeriog/ProtoCSP","repo_kind":"found_in_text","path":"lemat_database_scripts/reorganize_db.py","file_url":"https://github.com/rogeriog/ProtoCSP/blob/HEAD/lemat_database_scripts/reorganize_db.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e46e34107e4a6f2a"}},{"code_sha256_prefix":"591d5e4a5f5edac9","entry":"process_single_csv","repo":"rogeriog/ProtoCSP","repo_kind":"found_in_text","path":"lemat_database_scripts/indexer.py","file_url":"https://github.com/rogeriog/ProtoCSP/blob/HEAD/lemat_database_scripts/indexer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"591d5e4a5f5edac9"}},{"code_sha256_prefix":"1b8a6c6474a17ba7","entry":"sanitize_filename","repo":"rogeriog/ProtoCSP","repo_kind":"found_in_text","path":"lemat_database_scripts/reorganize_db.py","file_url":"https://github.com/rogeriog/ProtoCSP/blob/HEAD/lemat_database_scripts/reorganize_db.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1b8a6c6474a17ba7"}},{"code_sha256_prefix":"f36d015a68aed427","entry":"parse_neb_summary","repo":"rogeriog/VibroML_SupportData","repo_kind":"found_in_text","path":"neb_results/plot_comparison_DFT_MLIP_neb_paths.py","file_url":"https://github.com/rogeriog/VibroML_SupportData/blob/HEAD/neb_results/plot_comparison_DFT_MLIP_neb_paths.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f36d015a68aed427"}},{"code_sha256_prefix":"9103391b5e1f043a","entry":"reconstruct_structure","repo":"rogeriog/ProtoCSP","repo_kind":"found_in_text","path":"protocsp/core.py","file_url":"https://github.com/rogeriog/ProtoCSP/blob/HEAD/protocsp/core.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9103391b5e1f043a"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}