{"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/periodic-materials-generation-using-text","title":"Periodic Materials Generation using Text-Guided Joint Diffusion Model","arxiv_id":"2503.00522","date":"2025-03-01","proceeding":null,"authors":["Kishalay Das","Subhojyoti Khastagir","Pawan Goyal","Seung-Cheol Lee","Satadeep Bhattacharjee","Niloy Ganguly"],"abstract":"Equivariant diffusion models have emerged as the prevailing approach for generating novel crystal materials due to their ability to leverage the physical symmetries of periodic material structures. However, current models do not effectively learn the joint distribution of atom types, fractional coordinates, and lattice structure of the crystal material in a cohesive end-to-end diffusion framework. Also, none of these models work under realistic setups, where users specify the desired characteristics that the generated structures must match. In this work, we introduce TGDMat, a novel text-guided diffusion model designed for 3D periodic material generation. Our approach integrates global structural knowledge through textual descriptions at each denoising step while jointly generating atom coordinates, types, and lattice structure using a periodic-E(3)-equivariant graph neural network (GNN). Extensive experiments using popular datasets on benchmark tasks reveal that TGDMat outperforms existing baseline methods by a good margin. Notably, for the structure prediction task, with just one generated sample, TGDMat outperforms all baseline models, highlighting the importance of text-guided diffusion. Further, in the generation task, TGDMat surpasses all baselines and their text-fusion variants, showcasing the effectiveness of the joint diffusion paradigm. Additionally, incorporating textual knowledge reduces overall training and sampling computational overhead while enhancing generative performance when utilizing real-world textual prompts from experts.","url_abs":"https://arxiv.org/abs/2503.00522v1","url_pdf":"https://arxiv.org/pdf/2503.00522v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"periodic-materials-generation-using-text","repo_url":"https://github.com/kdmsit/TGDMat","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2503.00522","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2503.00522"}},"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":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/kdmsit/TGDMat","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"unverified":11},"by_repo_kind":{"official":{"samples":13,"ran":2,"repositories":1}},"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":0,"samples":[{"code_sha256_prefix":"8d63ea1111adc6f6","entry":"get_file_paths","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/compute_metrics.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/compute_metrics.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8d63ea1111adc6f6"}},{"code_sha256_prefix":"d96ea1a7adc8e5bb","entry":"unsorted_segment_sum","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/model/utils.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/model/utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d96ea1a7adc8e5bb"}},{"code_sha256_prefix":"767f69d375a6d9e3","entry":"coord2diff","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/model/utils.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/model/utils.py","link_basis":"harvester_set","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":"767f69d375a6d9e3"}},{"code_sha256_prefix":"cda1449e300d44f3","entry":"cosine_beta_schedule","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/model/diff_utils.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/model/diff_utils.py","link_basis":"harvester_set","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":"cda1449e300d44f3"}},{"code_sha256_prefix":"5d418b6dcded34ba","entry":"generation","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/evaluate.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/evaluate.py","link_basis":"harvester_set","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":"5d418b6dcded34ba"}},{"code_sha256_prefix":"a9a11e4f977a3fc2","entry":"get_model_path","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/eval_utils.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/eval_utils.py","link_basis":"harvester_set","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":"a9a11e4f977a3fc2"}},{"code_sha256_prefix":"f4df852f3a0bac35","entry":"lattices_to_params_shape","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/evaluate.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/evaluate.py","link_basis":"harvester_set","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":"f4df852f3a0bac35"}},{"code_sha256_prefix":"84a1879c66fb8e8b","entry":"linear_beta_schedule","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/model/diff_utils.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/model/diff_utils.py","link_basis":"harvester_set","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":"84a1879c66fb8e8b"}},{"code_sha256_prefix":"255352a46c0e6633","entry":"load_data","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/eval_utils.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/eval_utils.py","link_basis":"harvester_set","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":"255352a46c0e6633"}},{"code_sha256_prefix":"415e6a383e6ff70c","entry":"load_model","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/eval_utils.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/eval_utils.py","link_basis":"harvester_set","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":"415e6a383e6ff70c"}},{"code_sha256_prefix":"f9097d641770f184","entry":"quadratic_beta_schedule","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/model/diff_utils.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/model/diff_utils.py","link_basis":"harvester_set","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":"f9097d641770f184"}},{"code_sha256_prefix":"5691f086c26974f7","entry":"reconstructon","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/evaluate.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/evaluate.py","link_basis":"harvester_set","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":"5691f086c26974f7"}},{"code_sha256_prefix":"1ab907ce7ea53c6d","entry":"sample_centered_gaussian","repo":"kdmsit/TGDMat","repo_kind":"official","path":"csp_task/model/utils.py","file_url":"https://github.com/kdmsit/TGDMat/blob/HEAD/csp_task/model/utils.py","link_basis":"harvester_set","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":"1ab907ce7ea53c6d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}