{"title":"Minimization of Nonlinear Energies in Python Using FEM and Automatic Differentiation Tools","authors":"Michal Béreš, Jan Valdman","doi":"arxiv-2407.04706","DOIUrl":null,"url":null,"abstract":"This contribution examines the capabilities of the Python ecosystem to solve\nnonlinear energy minimization problems, with a particular focus on\ntransitioning from traditional MATLAB methods to Python's advanced\ncomputational tools, such as automatic differentiation. We demonstrate Python's\nstreamlined approach to minimizing nonlinear energies by analyzing three\nproblem benchmarks - the p-Laplacian, the Ginzburg-Landau model, and the\nNeo-Hookean hyperelasticity. This approach merely requires the provision of the\nenergy functional itself, making it a simple and efficient way to solve this\ncategory of problems. The results show that the implementation is about ten\ntimes faster than the MATLAB implementation for large-scale problems. Our\nfindings highlight Python's efficiency and ease of use in scientific computing,\nestablishing it as a preferable choice for implementing sophisticated\nmathematical models and accelerating the development of numerical simulations.","PeriodicalId":501256,"journal":{"name":"arXiv - CS - Mathematical Software","volume":"27 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Mathematical Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2407.04706","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
This contribution examines the capabilities of the Python ecosystem to solve
nonlinear energy minimization problems, with a particular focus on
transitioning from traditional MATLAB methods to Python's advanced
computational tools, such as automatic differentiation. We demonstrate Python's
streamlined approach to minimizing nonlinear energies by analyzing three
problem benchmarks - the p-Laplacian, the Ginzburg-Landau model, and the
Neo-Hookean hyperelasticity. This approach merely requires the provision of the
energy functional itself, making it a simple and efficient way to solve this
category of problems. The results show that the implementation is about ten
times faster than the MATLAB implementation for large-scale problems. Our
findings highlight Python's efficiency and ease of use in scientific computing,
establishing it as a preferable choice for implementing sophisticated
mathematical models and accelerating the development of numerical simulations.