{"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/efficient-probabilistic-modeling-of","title":"Efficient Probabilistic Modeling of Crystallization at Mesoscopic Scale","arxiv_id":"2405.16608","date":"2024-05-26","proceeding":null,"authors":["Pol Timmer","Koen Minartz","Vlado Menkovski"],"abstract":"Crystallization processes at the mesoscopic scale, where faceted, dendritic growth, and multigrain formation can be observed, are of particular interest within materials science and metallurgy. These processes are highly nonlinear, stochastic, and sensitive to small perturbations of system parameters and initial conditions. Methods for the simulation of these processes have been developed using discrete numerical models, but these are computationally expensive. This work aims to scale crystal growth simulation with a machine learning emulator. Specifically, autoregressive latent variable models are well suited for modeling the joint distribution over system parameters and the crystallization trajectories. However, successfully training such models is challenging due to the stochasticity and sensitivity of the system. Existing approaches consequently fail to produce diverse and faithful crystallization trajectories. In this paper, we introduce the Crystal Growth Neural Emulator (CGNE), a probabilistic model for efficient crystal growth emulation at the mesoscopic scale that overcomes these challenges. We validate CGNE results using the morphological properties of the crystals produced by numerical simulation. CGNE delivers a factor of 11 improvement in inference time and performance gains compared with recent state-of-the-art probabilistic models for dynamical systems.","url_abs":"https://arxiv.org/abs/2405.16608v1","url_pdf":"https://arxiv.org/pdf/2405.16608v1.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":"efficient-probabilistic-modeling-of","repo_url":"https://github.com/poltimmer/CGNE","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"physical-simulations","task_name":"Physical Simulations"}],"methods":[{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"generalized-mean-pooling","method_name":"Generalized Mean Pooling"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"multigrain","method_name":"MultiGrain"},{"method_slug":"pca-whitening","method_name":"PCA Whitening"}],"datasets_introduced":[{"slug":"cgne-snowflakes","name":"CGNE-Snowflakes","full_name":""}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.16608","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.16608"}},"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/poltimmer/CGNE","reach":null}],"summary":{"ran":3,"ran_honours":2,"ran_draft_wrong":3,"ran_fixture":2,"unverified":7},"by_repo_kind":{"official":{"samples":17,"ran":10,"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":"94365ddc5119d1c3","entry":"ConditionalEncoder","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"94365ddc5119d1c3"}},{"code_sha256_prefix":"ca11a07853fcfd9a","entry":"SpatialZDecoder","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ca11a07853fcfd9a"}},{"code_sha256_prefix":"30bd8f3af6765427","entry":"UNet","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"30bd8f3af6765427"}},{"code_sha256_prefix":"a03305db8cde716f","entry":"get_dims","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a03305db8cde716f"}},{"code_sha256_prefix":"cc806af544656971","entry":"get_reduce_fn","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cc806af544656971"}},{"code_sha256_prefix":"23c70171bfdea31e","entry":"inject","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"23c70171bfdea31e"}},{"code_sha256_prefix":"bbcbb9086e4f6c57","entry":"linear","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bbcbb9086e4f6c57"}},{"code_sha256_prefix":"07f4def57668ac20","entry":"prefix_dict","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"07f4def57668ac20"}},{"code_sha256_prefix":"a94bffaac953f8ac","entry":"round_hidden_dim","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a94bffaac953f8ac"}},{"code_sha256_prefix":"9c15697cc6b908dd","entry":"samplewise_dropout","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9c15697cc6b908dd"}},{"code_sha256_prefix":"8b26bb1316edf4f7","entry":"ApproximatePosterior","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.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":"8b26bb1316edf4f7"}},{"code_sha256_prefix":"1a5eb01f3d5a8d75","entry":"CGNE","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.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":"1a5eb01f3d5a8d75"}},{"code_sha256_prefix":"805d5ad4e3ab108d","entry":"ConditionalPrior","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.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":"805d5ad4e3ab108d"}},{"code_sha256_prefix":"0c907c94d8dd9ffd","entry":"ConvEncoder","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.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":"0c907c94d8dd9ffd"}},{"code_sha256_prefix":"d1c55394546f648e","entry":"ResBlock","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.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":"d1c55394546f648e"}},{"code_sha256_prefix":"2772856799b7f6e3","entry":"ResBlockDown","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.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":"2772856799b7f6e3"}},{"code_sha256_prefix":"ee1edaf3879a5653","entry":"ResBlockUp","repo":"poltimmer/CGNE","repo_kind":"official","path":"CGNE/lightning_modules/cgne.py","file_url":"https://github.com/poltimmer/CGNE/blob/HEAD/CGNE/lightning_modules/cgne.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":"ee1edaf3879a5653"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}