×

AFEPack: a general-purpose C++ library for numerical solutions of partial differential equations. (English) Zbl 07916208

Summary: AFEPack is a general-purpose C++ library for numerical solutions of partial differential equations. With over two decades development, AFEPack has been successfully applied for scientific and engineering computational problems in a variety of areas such as computational fluid dynamics, electronic structure calculations, computational micromagnetics. In this paper, design philosophy of the library, algorithms and data structures used in the discretization of governing equations, numerical linear algebra for the discretized system, as well as the pre-processing and post-processing of the simulations, will be described systematically for the AFEPack. The realization of two main features of the library, i.e., adaptive mesh methods and parallel computing, will be introduced in detail. The potential of the library for large scale scientific/engineering problems would be demonstrated by several examples. The future works on developing the library will also be discussed.

MSC:

65-04 Software, source code, etc. for problems pertaining to numerical analysis
65M08 Finite volume methods for initial value and initial-boundary value problems involving PDEs
65M60 Finite element, Rayleigh-Ritz and Galerkin methods for initial value and initial-boundary value problems involving PDEs
65N08 Finite volume methods for boundary value problems involving PDEs
65N30 Finite element, Rayleigh-Ritz and Galerkin methods for boundary value problems involving PDEs
Full Text: DOI

References:

[1] Abinit. https://www.abinit.org/.
[2] Clawpack. https://depts.washington.edu/clawpack/.
[3] Geoclaw. https://depts.washington.edu/clawpack/geoclaw/.
[4] Netgen. https://ngsolve.org/.
[5] Paraview. https://www.paraview.org/.
[6] PHG. http://lsec.cc.ac.cn/phg/index en.htm.
[7] Quantum ESPRESSO. https://www.quantum-espresso.org/.
[8] Sem poisson solver. https://github.com/hfzhan/SEM Poisson.git.
[9] VASP. https://www.vasp.at/.
[10] Open DX: Paths to Visualization. VIS Inc, 2001.
[11] Gang Bao, Ricardo Delgadillo, Guanghui Hu, Di Liu, and Songting Luo. Modeling and computation of nano-optics. CSIAM Transactions on Applied Mathematics, 1(4):616-638, 2020.
[12] Gang Bao, Guanghui Hu, and Di Liu. An h-adaptive finite element solver for the calculations of the electronic structures. Journal of Computational Physics, 231(14):4967-4979, 2012. · Zbl 1245.65125
[13] Gang Bao, Guanghui Hu, and Di Liu. Numerical solution of the Kohn-Sham equation by finite element methods with an adaptive mesh redistribution technique. Journal of Scientific Computing, 55:372-391, 2013. · Zbl 1272.82003
[14] Gang Bao, Guanghui Hu, and Di Liu. Real-time adaptive finite element solution of time-dependent Kohn-Sham equation. Journal of Computational Physics, 281:743-758, 2015. · Zbl 1354.65187
[15] Gang Bao, Guanghui Hu, and Di Liu. Towards translational invariance of total energy with finite element methods for Kohn-Sham equation. Communications in Computational Physics, 19(1):1-23, 2016. · Zbl 1388.65141
[16] Gang Bao, Guanghui Hu, Di Liu, and Songting Luo. Multi-physical modeling and multi-scale computation of nano-optical responses. In Hongtao Li, Jichun Yang and Eric Machorro, editors, Recent Advances in Scientific Computing and Applications, Contemporary Mathematics, volume 586, pages 21-40. American Mathematical Society, 2012.
[17] Gang Bao, Mingming Zhang, Bin Hu, and Peijun Li. An adaptive finite element DtN method for the three-dimensional acoustic scattering problem. Discrete and Continuous Dynamical Systems -B, 26(1):61-79, 2021. · Zbl 1465.65125
[18] Huanying Bian, Yedan Shen, and Guanghui Hu. An h-adaptive finite element solution of the relaxation non-equilibrium model for gravity-driven fingers. Advances in Applied Mathe-matics and Mechanics, 13(6):1418-1440, 2021. · Zbl 1488.65403
[19] M. Brezina, A. J. Cleary, R. D. Falgout, V. E. Henson, J. E. Jones, T. A. Manteuffel, S. F. McCormick, and J. W. Ruge. Algebraic multigrid based on element interpolation (AMGe). SIAM Journal on Scientific Computing, 22(5):1570-1592, 2001. · Zbl 0991.65133
[20] Hongyu Chen, Guanghui Hu, and Defang Ouyang. A numerical study of the distribution of chemotherapeutic drug carmustine in brain glioblastoma. Drug Delivery and Translational Research, 2021.
[21] Yun Chen, Bernard Billia, Dian Zhong Li, Henri Nguyen-Thi, Na Min Xiao, Abdoul-Aziz Bogno. Tip-splitting instability and transition to seaweed growth during alloy solidification in anisotropically preferred growth direction. Acta Materialia, 66:219-231, 2014.
[22] Xin Bo Qi, Yun Chen, Xiu Hong Kang, Dian Zhong Li, and Tong Zhao Gong. Modeling of coupled motion and growth interaction of equiaxed dendritic crystals in a binary alloy during solidification. Scientific Reports, 7:45770, 2017
[23] Philippe G. Ciarlet. The Finite Element Method for Elliptic Problems. Society for Industrial and Applied Mathematics, 2002. · Zbl 0999.65129
[24] S. Clain, S. Diot, and R. Loubère. A high-order finite volume method for systems of conser-vation laws-multi-dimensional optimal order detection (mood). Journal of Computational Physics, 230(10):4028-4050, 2011. · Zbl 1218.65091
[25] Andrew J. Cleary, Robert D. Falgout, Van Emden Henson, Jim E. Jones, Thomas A. Manteuf-fel, Stephen F. McCormick, Gerald N. Miranda, and John W. Ruge. Robustness and scalabil-ity of algebraic multigrid. SIAM Journal on Scientific Computing, 21(5):1886-1908, 2000. · Zbl 0959.65049
[26] Sambit Das, Phani Motamarri, Vishal Subramanian, David M. Rogers, and Vikram Gavini. DFT-FE 1.0: A massively parallel hybrid CPU-GPU density functional theory code using finite-element discretization. Computer Physics Communications, 280:108473, 2022. · Zbl 07682148
[27] Yana Di, Guanghui Hu, Ruo Li, and Feng Yang. On accurately resolving detonation dynam-ics by adaptive finite volume method on unstructured grids. Communications in Computa-tional Physics, 29(2):445-471, 2020. · Zbl 1474.65310
[28] Yana Di, Ruo Li, and Tao Tang. A general moving mesh framework in 3D and its application for simulating the mixture of multi-phase flows. Communications in Computational Physics, 3(3):582-602, 2008. · Zbl 1195.76252
[29] Yana Di, Ruo Li, Tao Tang, and Pingwen Zhang. Moving mesh methods for singular prob-lems on a sphere using perturbed harmonic mappings. SIAM Journal on Scientific Computing, 28(4):1490-1508, 2006. · Zbl 1123.65101
[30] Yana Di and Zhijian Yang. Computation of dendritic growth with level set model using a multi-mesh adaptive finite element method. Journal of Scientific Computing, 39:441-453, 2009. · Zbl 1203.65178
[31] Dennis Diehl. High order schemes for simulation of compressible liquid-vapor flows with phase change. PhD thesis, Albert-Ludwigs-Universität Freiburg, 2007. · Zbl 1161.76002
[32] A. El-Hamalawi. A 2D combined advancing front-Delaunay mesh generation scheme. Finite Elements in Analysis and Design, 40(9):967-989, 2004.
[33] The OpenFOAM Foundation. OpenFOAM. https://openfoam.org/.
[34] Bin Gao, Guanghui Hu, Yang Kuang, and Xin Liu. An Orthogonalization-Free Parallelizable Framework for All-Electron Calculations in Density Functional Theory. SIAM Journal on Scientific Computing, 44(3):B723-B745, 2022. · Zbl 1491.35402
[35] Christophe Geuzaine and Jean-Franc ¸ois Remacle. Gmsh: A 3-D finite element mesh gen-erator with built-in pre-and post-processing facilities. International Journal for Numerical Methods in Engineering, 79(11):1309-1331, 2009. · Zbl 1176.74181
[36] Guanghui Hu. An adaptive finite volume method for 2D steady Euler equations with WENO reconstruction. Journal of Computational Physics, 252:591-605, 2013. · Zbl 1349.76478
[37] Guanghui Hu. A numerical study of 2D detonation waves with adaptive finite volume methods on unstructured grids. Journal of Computational Physics, 331:297-311, 2017. · Zbl 1378.76126
[38] Guanghui Hu, Ruo Li, and Tao Tang. A robust high-order residual distribution type scheme for steady Euler equations on unstructured grids. Journal of Computational Physics, 229(5):1681-1697, 2010. · Zbl 1329.76261
[39] Guanghui Hu, Ruo Li, and Tao Tang. A Robust WENO Type Finite Volume Solver for Steady Euler Equations on Unstructured Grids. Communications in Computational Physics, 9(3):627-648, 2011. · Zbl 1364.65226
[40] Guanghui Hu, Xucheng Meng, and Tao Tang. On robust and adaptive finite volume meth-ods for steady Euler equations. In Christian Klingenberg and Michael Westdickenberg, ed-itors, Theory, Numerics and Applications of Hyperbolic Problems II, pages 21-40, Cham, 2018. Springer International Publishing. · Zbl 1407.76086
[41] Guanghui Hu, Xucheng Meng, and Nianyu Yi. Adjoint-based an adaptive finite volume method for steady Euler equations with non-oscillatory k-exact reconstruction. Computers & Fluids, 139:174-183, 2016. 13th USNCCM International Symposium of High-Order Meth-ods for Computational Fluid Dynamics -A special issue dedicated to the 60th birthday of Professor David Kopriva. · Zbl 1390.76444
[42] Guanghui Hu, Zhonghua Qiao, and Tao Tang. Moving finite element simulations for reaction-diffusion systems. Advances in Applied Mathematics and Mechanics, 4(3):365-381, 2012.
[43] Guanghui Hu and Nianyu Yi. An adaptive finite volume solver for steady Euler equations with non-oscillatory k-exact reconstruction. Journal of Computational Physics, 312:235-251, 2016. · Zbl 1351.76109
[44] Guanghui Hu and Paul Andries Zegeling. Simulating finger phenomena in porous media with a moving finite element method. Journal of Computational Physics, 230(8):3249-3263, 2011. · Zbl 1316.76048
[45] Xianliang Hu, Ruo Li, and Tao Tang. A multi-mesh adaptive finite element approximation to phase field models. Communications in Computational Physics, 5(5):1012-1029, 2009. · Zbl 1364.65196
[46] Ansys Inc. Ansys fluent. https://www.ansys.com/products/fluids/ansys-fluent.
[47] Q-Chem Inc. Q-chem. https://www.q-chem.com/.
[48] Yang Kuang and Guanghui Hu. An adaptive FEM with ITP approach for steady Schr ödinger equation. International Journal of Computer Mathematics, 95(1):187-201, 2018. · Zbl 1390.65147
[49] Yang Kuang, Yedan Shen, and Guanghui Hu. An h-adaptive finite element method for Kohn-Sham and time-dependent Kohn-Sham equations. Journal on Numerica Methods and Computer Applications, 42(1):33-55, 2021. · Zbl 1488.65428
[50] Ruo Li. Moving Mesh Methods and Applications. PhD thesis, Peking University, 2001.
[51] Ruo Li. On multi-mesh h-adaptive methods. Journal of Scientific Computing, 24:321-341, 2005. · Zbl 1080.65111
[52] Ruo Li, Qicheng Liu, and Fanyi Yang. A discontinuous least squares finite element method for time-harmonic Maxwell equations. IMA Journal of Numerical Analysis, 42(1):817-839, 2021. · Zbl 07465516
[53] Ruo Li, Tao Tang, and Pingwen Zhang. Moving mesh methods in multiple dimensions based on harmonic maps. Journal of Computational Physics, 170(2):562-588, 2001. · Zbl 0986.65090
[54] Ruo Li, Tao Tang, and Pingwen Zhang. A moving mesh finite element algorithm for singular problems in two and three space dimensions. Journal of Computational Physics, 177(2):365-393, 2002. · Zbl 0998.65105
[55] Ruo Li, Xin Wang, and Weibo Zhao. A multigrid block LU-SGS algorithm for Euler equa-tions on unstructured grids. Numerical Mathematics: Theory, Methods and Applications, 1(1):92-112, 2008. · Zbl 1174.76313
[56] Ruo Li, Yanli Wang, and Chengbao Yao. A robust Riemann solver for multiple hydro-elastoplastic solid mediums. Advances in Applied Mathematics and Mechanics, 12(1):212-250, 2019. · Zbl 1488.76082
[57] Ruo Li and Fanyi Yang. A discontinuous Galerkin method by patch reconstruction for ellip-tic interface problem on unfitted mesh. SIAM Journal on Scientific Computing, 42(2):A1428-A1457, 2020. · Zbl 1440.65218
[58] Xucheng Meng, Yaguang Gu, and Guanghui Hu. A fourth-order unstructured NURBS-enhanced finite volume WENO scheme for steady Euler equations in curved geometries. Communications on Applied Mathematics and Computation, 2021.
[59] Xucheng Meng and Guanghui Hu. A NURBS-enhanced finite volume solver for steady Euler equations. Journal of Computational Physics, 359:77-92, 2018. · Zbl 1383.76356
[60] Xucheng Meng and Guanghui Hu. A NURBS-enhanced finite volume method for steady Euler equations with goal-oriented h-adaptivity. Communications in Computational Physics, 32(2):490-523, 2022. · Zbl 1497.76058
[61] Bojan Niceno. Easymesh. https://web.mit.edu/easymesh v1.4/www/easymesh.html.
[62] Hang Si. Tetgen, a Delaunay-based quality tetrahedral mesh generator. ACM Trans. Math. Softw., 41(2), 2015. · Zbl 1369.65157
[63] Heyu Wang and Ruo Li. Mesh sensitivity for numerical solutions of phase-field equations using r-adaptive finite element methods. Communications in Computational Physics, 3(2):357-375, 2008. · Zbl 1199.80004
[64] Heyu Wang, Ruo Li, and Tao Tang. Efficient computation of dendritic growth with r-adaptive finite element methods. Journal of Computational Physics, 227(12):5984-6000, 2008. · Zbl 1148.65052
[65] J. A. Weideman and S. C. Reddy. A MATLAB differentiation matrix suite. ACM Trans. Math. Softw., 26(4):465-519, 2000.
[66] Congcong Xie and Xianliang Hu. Finite element simulations with adaptively moving mesh for the reaction diffusion system. Numerical Mathematics: Theory, Methods and Applications, 9(4):686-704, 2016. · Zbl 1399.65268
[67] Lei Yang, Jingrun Chen, and Guanghui Hu. A framework of the finite element solution of the Landau-Lifshitz-Gilbert equation on tetrahedral meshes. Journal of Computational Physics, 431:110142, 2021. · Zbl 07511455
[68] Lei Yang and Guanghui Hu. An adaptive finite element solver for demagnetization field calculation. Advances in Applied Mathematics and Mechanics, 11(5):1048-1063, 2019. · Zbl 1488.65665
[69] Lei Yang, Yedan Shen, Zhicheng Hu, and Guanghui Hu. An implicit solver for the time-dependent Kohn-Sham equation. Numerical Mathematics: Theory, Methods and Applications, 14(1):261-284, 2020. · Zbl 1488.65400
[70] Hongfei Zhan and Guanghui Hu. A novel tetrahedral spectral element method for Kohn-Sham model. Journal of Computational Physics, 474:111831, 2023. · Zbl 07640578
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.