Guolin Wan , Yuhui Li , Ting Lai , Peixuan Li , Yongqian Zhu , Jingyu Yang , Yan-Fang Zhang , Jinbo Pan , Shixuan Du
{"title":"Sym4state.jl: An efficient computation package for magnetic materials","authors":"Guolin Wan , Yuhui Li , Ting Lai , Peixuan Li , Yongqian Zhu , Jingyu Yang , Yan-Fang Zhang , Jinbo Pan , Shixuan Du","doi":"10.1016/j.cpc.2024.109283","DOIUrl":null,"url":null,"abstract":"<div><p>Exploring magnetic configurations of magnets often involves utilizing the four-state method to obtain the magnetic interaction matrix, and Monte Carlo method to simulate spin textures and phase transition processes. However, computing the interaction matrix between magnetic atoms using the four-state method requires plenty of individual calculations. Despite manual simplifying the number of individual calculations based on material's symmetry is possible, there remains a necessity for an automated approach to streamline the process for high-throughput screening of magnetic materials. Meanwhile, the traditional sequential Monte Carlo simulation encounters challenges of low efficiency and long time consuming in dealing with large systems. Furthermore, the prior parallelism in the Heisenberg model was limited to parallel computation of the system's energy or run several replicas in parallel. Hence, in our pursuit of comprehensive parallelization for the Heisenberg model, we have introduced a novel adaptation of the checkerboard algorithm, enabling a fully parallelizable simulation of the Heisenberg model. To address these problems, we have developed <span>Sym4state.jl</span>, a program specifically designed to simplify the computation of magnetic interaction matrix and simulate spin textures under various environmental conditions. This program, available as a Julia package, can be freely accessed at <span>https://github.com/A-LOST-WAPITI/Sym4state.jl</span><svg><path></path></svg>.</p></div><div><h3>Program summary</h3><p><em>Program title:</em> Sym4state.jl</p><p><em>CPC Library link to program files:</em> <span>https://doi.org/10.17632/s6dkmgrjfw.1</span><svg><path></path></svg></p><p><em>Developer's repository link:</em> <span>https://github.com/A-LOST-WAPITI/Sym4state.jl</span><svg><path></path></svg></p><p><em>Licensing provisions:</em> MIT</p><p><em>Programming language:</em> Julia</p><p><em>Nature of problem:</em> Employing the four-state method to calculate magnetic interaction matrix for magnetic materials can be simplified based on material symmetry, however, there is a lack of automated approach to streamline the simplification. Additionally, the commonly used Metropolis method for simulating magnetic texture can only make parallel computation of the system's energy or run several replicas in parallel, which could hardly boost the performance when simulating the large-scale magnetic textures.</p><p><em>Solution method:</em> We simplify the four-state method calculations by utilizing the principles of energy invariance under symmetry operations and time reversal operations. To enhance the efficiency of the Metropolis algorithm, we have designed a strategy to divide the entire 2D lattice into multiple domains. We then execute the Metropolis algorithm in parallel for each individual domain, thereby improving the overall computational efficiency.</p><p><em>Additional comments including restrictions and unusual features:</em> While the methods aimed at simplifying the four-state method and parallelizing the Metropolis algorithm are applicable to both 2D and 3D systems, the current program is specifically designed for the calculation and simulation of magnetism in 2D materials. As a result, compatibility with 3D systems has not yet been implemented.</p></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":null,"pages":null},"PeriodicalIF":7.2000,"publicationDate":"2024-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465524002066","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
Exploring magnetic configurations of magnets often involves utilizing the four-state method to obtain the magnetic interaction matrix, and Monte Carlo method to simulate spin textures and phase transition processes. However, computing the interaction matrix between magnetic atoms using the four-state method requires plenty of individual calculations. Despite manual simplifying the number of individual calculations based on material's symmetry is possible, there remains a necessity for an automated approach to streamline the process for high-throughput screening of magnetic materials. Meanwhile, the traditional sequential Monte Carlo simulation encounters challenges of low efficiency and long time consuming in dealing with large systems. Furthermore, the prior parallelism in the Heisenberg model was limited to parallel computation of the system's energy or run several replicas in parallel. Hence, in our pursuit of comprehensive parallelization for the Heisenberg model, we have introduced a novel adaptation of the checkerboard algorithm, enabling a fully parallelizable simulation of the Heisenberg model. To address these problems, we have developed Sym4state.jl, a program specifically designed to simplify the computation of magnetic interaction matrix and simulate spin textures under various environmental conditions. This program, available as a Julia package, can be freely accessed at https://github.com/A-LOST-WAPITI/Sym4state.jl.
Program summary
Program title: Sym4state.jl
CPC Library link to program files:https://doi.org/10.17632/s6dkmgrjfw.1
Nature of problem: Employing the four-state method to calculate magnetic interaction matrix for magnetic materials can be simplified based on material symmetry, however, there is a lack of automated approach to streamline the simplification. Additionally, the commonly used Metropolis method for simulating magnetic texture can only make parallel computation of the system's energy or run several replicas in parallel, which could hardly boost the performance when simulating the large-scale magnetic textures.
Solution method: We simplify the four-state method calculations by utilizing the principles of energy invariance under symmetry operations and time reversal operations. To enhance the efficiency of the Metropolis algorithm, we have designed a strategy to divide the entire 2D lattice into multiple domains. We then execute the Metropolis algorithm in parallel for each individual domain, thereby improving the overall computational efficiency.
Additional comments including restrictions and unusual features: While the methods aimed at simplifying the four-state method and parallelizing the Metropolis algorithm are applicable to both 2D and 3D systems, the current program is specifically designed for the calculation and simulation of magnetism in 2D materials. As a result, compatibility with 3D systems has not yet been implemented.
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.