Abstract
Computational fluid dynamics (CFD) is one of the most emerging fields of fluid mechanics used to analyze fluid flow situation. This analysis is based on simulations carried out on computing machines. For complex configurations, the grid points are so large that the computational time required to obtain the results are very high. Parallel computing is adopted to reduce the computational time of CFD by utilizing the available resource of computing. Parallel computing tools like OpenMP, MPI, CUDA, combination of these and few others are used to achieve parallelization of CFD software. This article provides a comprehensive state of the art review of important CFD areas and parallelization strategies for the related software. Issues related to the computational time complexities and parallelization of CFD software are highlighted. Benefits and issues of using various parallel computing tools for parallelization of CFD software are briefed. Open areas of CFD where parallelization is not much attempted are identified and parallel computing tools which can be useful for parallelization of CFD software are spotlighted. Few suggestions for future work in parallel computing of CFD software are also provided.
Similar content being viewed by others
References
Accary G, Bessonov O, Fougère D, Meradji S, Morvan D (2007) Optimized parallel approach for 3d modelling of forest fire behaviour. Parallel computing technologies. Springer, Berlin, pp 96–102
AlOnazi A, Keyes D, Lastovetsky A, Rychkov V (2015) Design and optimization of openfoam-based CFD applications for hybrid and heterogeneous HPC platforms. arXiv:1505.07630
Amritkar A, Deb S, Tafti D (2014) Efficient parallel CFD-DEM simulations using OpenMP. J Comput Phys 256:501–519
Amritkar A, Tafti D, Liu R, Kufrin R, Chapman B (2012) OpenMP parallelism for fluid and fluid-particulate systems. Parallel Comput 38(9):501–517
Andersson B, Ålund A, Mark A, Edelvik F (2013) MPI-parallelization of a structured grid CFD solver including an integrated octree grid generator. Technical report, Chalmers University of Technology
Andrews PL (2014) Current status and future needs of the behaveplus fire modeling system. Int J Wildland Fire 23(1):21–33
Asanovic K, Bodik R, Catanzaro BC, Gebis JJ, Husbands P, Keutzer K, Patterson DA, Plishker WL, Shalf J, Williams SW et al (2006) The landscape of parallel computing research: a view from berkeley. Technical report UCB/EECS-2006-183, EECS Department, University of California, Berkeley
Ayguade E, Gonzalez Tallada M, Martorell X, Jost G (2004) Employing nested OpenMP for the parallelization of multi-zone computational fluid dynamics applications. In: 18th International parallel and distributed processing symposium, 2004 proceedings. IEEE, p 6
Balaji P, Buntinas D, Goodell D, Gropp W, Thakur R (2010) Fine-grained multithreading support for hybrid threaded MPI programming. Int J High Perform Comput Appl 24(1):49–57
Basermann A, Kersken HP, Schreiber A, Gerhold T, Jägersküpper J, Kroll N, Backhaus J, Kügeler E, Alrutz T, Simmendinger C et al (2012) HICFD: highly efficient implementation of CFD codes for HPC Many-Core architectures. In: Bischof C (ed) Competence in high performance computing, Springer, Berlin, pp. 1–13
Baskaran MM, Ramanujam J, Sadayappan P (2010) Automatic C-to-CUDA code generation for affine programs. In: Gupta R (ed) Compiler construction. Springer, Berlin, pp 244–263
Berger MJ, Aftosmis MJ, Marshall D, Murman SM (2005) Performance of a new CFD flow solver using a hybrid programming paradigm. J Parallel Distrib Comput 65(4):414–423
Blazewicz M, Brandt SR, Diener P, Koppelman DM, Kurowski K, Löffler F, Schnetter E, Tao J (2012) A massive data parallel computational framework for petascale/exascale hybrid computer systems. arXiv:1201.2118
de Boer AH, Hagedoorn P, Woolhouse R, Wynn E (2012) Computational fluid dynamics (CFD) assisted performance evaluation of the twincer disposable high-dose dry powder inhaler. J Pharm Pharmacol 64(9):1316–1325
Bohbot J, Knop V, Laget O, Angelberger C, Réveillé B (2010) High performance 3d CFD codes for complex piston engine applications. In: International multidimensional engine modeling user’s group meeting at the SAE congress
Bosshard C, Bouffanais R, Deville M, Gruber R, Latt J (2011) Computational performance of a parallelized three-dimensional high-order spectral element toolbox. Comput Fluids 44(1):1–8
Boukhanouf R, Haddad A (2010) A CFD analysis of an electronics cooling enclosure for application in telecommunication systems. Appl Therm Eng 30(16):2426–2434
Boulet M, Marcos B, Dostie M, Moresoli C (2010) CFD modeling of heat transfer and flow field in a bakery pilot oven. J Food Eng 97(3):393–402
Caraeni M, Devaki R, Aroni M, Oswald M, Caraeni D (2009) Efficient acoustic modal analysis for industrial CFD. In: 47th AIAA aerospace sciences meeting including the new horizons forum and aerospace exposition
Chandra S, Lee A, Gorrell S, Jensen CG (2011) CFD analysis of pace formula-1 car. Brigham Young University
Chen F, Bornstein R, Grimmond S, Li J, Liang X, Martilli A, Miao S, Voogt J, Wang Y (2012) Research priorities in observing and modeling urban weather and climate. Bull Am Meteorol Soc 93(11):1725–1728
Cheng M, Wang G, Mian HH (2014) Reordering of hybrid unstructured grids for an implicit Navier–Stokes solver based on OpenMP parallelization. Comput Fluids 110:245–253
Cohen J, Molemaker MJ (2009) A fast double precision CFD code using cuda. In: Biswas R (ed) Parallel computational fluid dynamics: recent advances and future directions. Destech Publications Inc, Lancaster, pp. 414–429
Couder-Castañeda C, Barrios-Piña H, Gitler I, Arroyo M (2015) Performance of a code migration for the simulation of supersonic ejector flow to SMP, MIC, and GPU using OpenMP, OpenMP+ LEO, and OpenACC directives. Sci Program 2015:17
Crespo A, Dominguez JM, Barreiro A, Gómez-Gesteira M, Rogers BD (2011) GPUs, a new tool of acceleration in CFD: efficiency and reliability on smoothed particle hydrodynamics methods. PLoS One 6(6):e20,685
Denton J, Dawes W (1998) Computational fluid dynamics for turbomachinery design. Proc Inst Mech Eng C J Mech Eng Sci 213(2):107–124
Djomehri MJ, Jin H (2002) Hybrid MPI+ OpenMP programming of an overset CFD solver and performance investigations. NASA Ames Research Center, NAS Technical Report NAS-02-002
Dong S, Karniadakis GE (2004) Dual-level parallelism for high-order CFD methods. Parallel Comput 30(1):1–20
Duvigneau R, Kloczko T, Praveen C (2008) A three-level parallelization strategy for robust design in aerodynamics. In: Proceedings 20th international conference on parallel computational fluid dynamics, pp 379–384
Elangovan M (2011) Simulation of irregular waves by CFD. World Acad Sci Eng Technol 55:1379–1383
Emelyanov V, Karpenko A, Volkov K (2015) Development of advanced computational fluid dynamics tools and their application to simulation of internal turbulent flows. In: Progress in flight physics, vol 7. EDP Sciences, pp. 247–268
Fan Z, Qiu F, Kaufman A, Yoakum-Stover S (2004) GPU cluster for high performance computing. In: Proceedings of the 2004 ACM/IEEE conference on supercomputing. IEEE Computer Society, p 47
Ferziger JH, Peric M (1996) Computational methods for fluid dynamics. Springer, Berlin
Flager F, Welle B, Bansal P, Soremekun G, Haymaker J (2009) Multidisciplinary process integration and design optimization of a classroom building. J Inf Technol Constr 14:595–612
Fletcher C, Mayer I, Eghlimi A, Wee K (2001) CFD as a building services engineering tool. Int J Archit Sci 2(3):67–82
Fries L, Antonyuk S, Heinrich S, Dopfer D, Palzer S (2013) Collision dynamics in fluidised bed granulators: a DEM-CFD study. Chem Eng Sci 86:108–123
Frisch J, Mundani RP, Rank E, van Treeck C (2015) Engineering-based thermal CFD simulations on massive parallel systems. Computation 3(2):235–261
Gerndt A, Sarholz S, Wolter M, Mey DA, Bischof C, Kuhlen T (2006) Nested OpenMP for efficient computation of 3d critical points in multi-block CFD datasets. In: SC 2006 conference, proceedings of the ACM/IEEE. IEEE, pp 46–46
Geveler M, Ribbrock D, Mallach S, Göddeke D (2011) A simulation suite for lattice-Boltzmann based real-time CFD applications exploiting multi-level parallelism on modern multi-and many-core architectures. J Comput Sci 2(2):113–123
Girod M, Sanader Z, Vojkovic M, Antoine R, MacAleese L, Lemoine J, Bonacic-Koutecky V, Dugourd P (2015) UV photodissociation of proline-containing peptide ions: insights from molecular dynamics. J Am Soc Mass Spectrom 26(3):432–443
Göddeke D, Buijssen SH, Wobker H, Turek S (2009) GPU acceleration of an unmodified parallel finite element Navier–Stokes solver. In: International conference on high performance computing & simulation, 2009. HPCS’09. IEEE, pp 12–21
Gourdain N, Gicquel L, Montagnac M, Vermorel O, Gazaix M, Staffelbach G, Garcia M, Boussuge J, Poinsot T (2009) High performance parallel computing of flows in complex geometries: I. Methods. Comput Sci Discov 2(1):015,003
Griebel M, Zaspel P (2010) A multi-GPU accelerated solver for the three-dimensional two-phase incompressible Navier–Stokes equations. Comput Sci Res Dev 25(1–2):65–73
Grisogono B (2011) On nature, theory, and modelling of atmospheric planetary boundary layers. Bull Am Meteorol Soc 92(2):123–128
Gropp WD, Kaushik DK, Keyes DE, Smith BF (2001) High-performance parallel implicit CFD. Parallel Comput 27(4):337–362
Hawkes J, Turnock S, Cox S, Phillips A, Vaz G (2014) Performance analysis of massively-parallel computational fluid dynamics. In: Proceedings of the 11th international conference on hydrodynamics (ICHD 2014), Singapore
Heuveline V, Krause MJ, Latt J (2009) Towards a hybrid parallelization of lattice Boltzmann methods. Comput Math Appl 58(5):1071–1080
Hochkirch K, Mallol B (2013) On the importance of full-scale CFD simulations for ships. In: 11th International conference on computer and IT applications in the maritime industries, COMPIT
Höhne T, Krepper E, Rohde U (2009) Application of CFD codes in nuclear reactor safety analysis. Science and Technology of Nuclear Installations 2010
Holland DM, Lockerby DA, Borg MK, Nicholls WD, Reese JM (2014) Molecular dynamics pre-simulations for nanoscale computational fluid dynamics. Microfluid Nanofluid 18(3):461–474
Hu YC, Lu H, Cox AL, Zwaenepoel W (1999) OpenMP for networks of SMPs. In: Parallel processing, 1999. 13th International and 10th symposium on parallel and distributed processing, 1999. 1999 IPPS/SPDP, proceedings. IEEE, pp 302–310
Jacobsen DA, Senocak I (2011) Scalability of incompressible flow computations on multi-GPU clusters using dual-level and tri-level parallelism. In: 49th AIAA aerospace sciences meeting including the New Horizons forum and aerospace exposition, vol 4, pp 2011–947
Jacobsen DA, Thibault JC, Senocak I (2010) An MPI-CUDA implementation for massively parallel incompressible flow computations on multi-GPU clusters. In: 48th AIAA aerospace sciences meeting and exhibit, vol 16
Janßen CF, Mierke D, Überrück M, Gralher S, Rung T (2015) Validation of the GPU-accelerated CFD solver ELBE for free surface flow problems in civil and environmental engineering. Computation 3(3):354–385
Jeff Burnham P (2014) Modeling dams with computational fluid dynamics: past success and new directions. Flow Science, Santa Fe. http://www.flow3d.com/wp-content/uploads/2014/08/Modeling-Dams-with-Computational-Fluid-Dynamics-Past-Success-and-New-Directions.pdf. Accessed 12 Jan 2016
Jespersen DC (2010) Acceleration of a CFD code with a GPU. Sci Program 18(3–4):193–201
Jia R, Sunden B (2004) Parallelization of a multi-blocked CFD code via three strategies for fluid flow and heat transfer analysis. Comput Fluids 33(1):57–80
Jin H, Frumkin M, Yan J (2000) Automatic generation of OpenMP directives and its application to computational fluid dynamics codes. In: Valero M (ed) High performance computing. Springer, Berlin, pp 440–456
Jin H, Jespersen D, Mehrotra P, Biswas R, Huang L, Chapman B (2011) High performance computing using MPI and OpenMP on multi-core parallel systems. Parallel Comput 37(9):562–575
Jin H, Jost G, Johnson D, Tao WK (2003) Experience on the parallelization of a cloud modeling code using computer-aided tools. NASA Technical report, NAS-03-006
Jost G, Jin H, an Mey D, Hatay FF (2003) Comparing the OpenMP, MPI, and hybrid programming paradigms on an SMP cluster. In: Proceedings of EWOMP, vol 3, p 2003
Jost G, Robins B (2010) Experiences using hybrid MPI/OpenMP in the real world: parallelization of a 3d CFD solver for multi-core node clusters. Sci Program 18(3–4):127–138
Kafui D, Johnson S, Thornton C, Seville JP (2011) Parallelization of a Lagrangian–Eulerian DEM/CFD code for application to fluidized beds. Powder Technol 207(1):270–278
Karimi K, Dickson NG, Hamze F (2010) A performance comparison of CUDA and OpenCL. arXiv:1005.2581
Kayne A (2012) Computational fluid dynamics (CFD) modeling of mixed convection flows in building enclosures. In: ASME 2013 7th international conference on energy sustainability
Khor YS, Xiao Q (2011) CFD simulations of the effects of fouling and antifouling. Ocean Eng 38(10):1065–1079
Kiris CC, Kwak D, Chan W, Housman JA (2008) High-fidelity simulations of unsteady flow through turbopumps and flowliners. Comput Fluids 37(5):536–546
Kneer A, Schreck E, Hebenstreit M, Goeszler A (2000) Industrial mixed OpenMP/MPI CFD-application for calculations of free-surface flows. In: WOMPAT 2000
Kowalski T, Radmehr A (2000) Thermal analysis of an electronics enclosure: coupling flow network modeling (FNM) and computational fluid dynamics (CFD). In: Semiconductor thermal measurement and management symposium, 2000. Sixteenth annual IEEE. IEEE, pp 60–67
Kumar M, Kumar NS, Raj RTK (2015) Heat transfer analysis of automotive headlamp using CFD methodology. Heat Transf 2(7):90–99
Larkin NK, O’Neill SM, Solomon R, Raffuse S, Strand T, Sullivan DC, Krull C, Rorig M, Peterson J, Ferguson SA (2010) The bluesky smoke modeling framework. Int J Wildland Fire 18(8):906–920
Ledur CL, Zeve CM, dos Anjos JC (2013) Comparative analysis of OpenACC, OpenMP and CUDA using sequential and parallel algorithms. In: 11th Workshop on parallel and distributed processing (WSPPD)
Lee BK (2011) Computational fluid dynamics in cardiovascular disease. Korean Circ J 41(8):423–430
Li Y, Paik KJ, Xing T, Carrica PM (2012) Dynamic overset CFD simulations of wind turbine aerodynamics. Renew Energy 37(1):285–298
Ma Z, Wang H, Pu S (2015) A parallel meshless dynamic cloud method on graphic processing units for unsteady compressible flows past moving boundaries. Comput Methods Appl Mech Eng 285:146–165
Maknickas A, Kaceniauskas A, Kacianauskas R, Balevicius R, Dziugys A (2006) Parallel DEM software for simulation of granular media. Informatica Lith. Acad. Sci. 17(2):207–224
Mavriplis DJ (2002) Parallel performance investigations of an unstructured mesh Navier–Stokes solver. Int J High Perform Comput Appl 16(4):395–407
Mininni PD, Rosenberg D, Reddy R, Pouquet A (2011) A hybrid MPI-OpenMP scheme for scalable parallel pseudospectral computations for fluid turbulence. Parallel Comput 37(6):316–326
Morris PD, Narracott A, von Tengg-Kobligk H, Soto DAS, Hsiao S, Lungu A, Evans P, Bressloff NW, Lawford PV, Hose DR et al (2015) Computational fluid dynamics modelling in cardiovascular medicine. Heart 102:18–28
Mudigere D, Sridharan S, Deshpande A, Park J, Heinecke A, Smelyanskiy M, Kaul B, Dubey P, Kaushik D, Keyes D (2015) Exploring shared-memory optimizations for an unstructured mesh CFD application on modern parallel systems. In: Parallel and distributed processing symposium (IPDPS), 2015 IEEE international. IEEE, pp 723–732
Müller MS, van Waveren M, Lieberman R, Whitney B, Saito H, Kumaran K, Baron J, Brantley WC, Parrott C, Elken T et al (2010) SPEC MPI2007—an application benchmark suite for parallel systems using MPI. Concurr Comput Pract Exp 22(2):191–205
Nakata T, Liu H, Bomphrey RJ (2015) A CFD-informed quasi-steady model of flapping-wing aerodynamics. J Fluid Mech 783:323–343
Notay Y, Napov A (2015) A massively parallel solver for discrete Poisson-like problems. J Comput Phys 281:237–250
Ogasawara E, de Oliveira D, Chirigati F, Barbosa CE, Elias R, Braganholo V, Coutinho A, Mattoso M (2009) Exploring many task computing in scientific workflows. In: Proceedings of the 2nd workshop on many-task computing on grids and supercomputers. ACM, p 2
Patel HB, Dinesan MD (2015) Optimization and performance analysis of an automobile radiator using CFD—a review. Int J Innov Res Sci Technol 1(7):123–126
Plimpton SJ, Devine KD (2011) Mapreduce in MPI for large-scale graph algorithms. Parallel Comput 37(9):610–632
Rumsey CL, Allison DO, Biedron RT, Buning PG, Gainer TG, Morrison JH, Rivers SM, Mysko SJ, Witkowski DP (2001) Cfd sensitivity analysis of a modern civil transport near buffet-onset conditions. NASA Center for AeroSpace Information, Hanover. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.7.5416&rep=rep1&type=pdf. Accessed 12 Jan 2016
Saha P, Aksan N, Andersen J, Yan J, Simoneau J, Leung L, Bertrand F, Aoto K, Kamide H (2013) Issues and future direction of thermal-hydraulics research and development in nuclear power reactors. Nucl Eng Des 264:3–23
Sayma A (2009) Computational fluid dynamics. Bookboon, Copenhagen
Schornbaum F, Rüde U (2015) Massively parallel algorithms for the lattice Boltzmann method on non-uniform grids. arXiv:1508.07982
Schuster DM (2011) The expanding role of applications in the development and validation of CFD at NASA. In: Kuzmin A (ed) Computational fluid dynamics. Springer, Berlin, pp 3–29
Selma B, Désilets M, Proulx P (2014) Optimization of an industrial heat exchanger using an open-source CFD code. Appl Therm Eng 69(1):241–250
Selvam M, Hoffmann KA (2015) MPI/Open-MP hybridization of higher order WENO scheme for the incompressible Navier–Stokes equations. AIAA SciTech 5–9 Jan 2015 Kissimmee, Florida
Senocak I, Thibault JC, Caylor M (2009) Rapid-response urban CFD simulations using a GPU computing paradigm on desktop supercomputers. In: Eighth symposium on the urban environment, Phoenix Arizona 10–15 Jan 2009
Shang Z (2014) High performance computing for flood simulation using telemac based on hybrid MPI/OpenMP parallel programming. Int J Model Simul Sci Comput 5(04):1472,001
Shang Z, Cheng M, Lou J (2014) Parallelization of lattice Boltzmann method using MPI domain decomposition technology for a drop impact on a wetted solid wall. Int J Model Simul Sci Comput 5(02):1350,024
Shimpalee S, Greenway S, Spuckler D, Van Zee J (2004) Predicting water and current distributions in a commercial-size pemfc. J Power Sour 135(1):79–87
Simmendinger C, Kügeler E (2010) Hybrid parallelization of a turbomachinery CFD code: performance enhancements on multicore architectures. In: Proceedings of the V European conference on computational fluid dynamics ECCOMAS CFD
Smith BL (2010) Assessment of CFD codes used in nuclear reactor safety simulations. Nucl Eng Technol 42(4):339–364
Smith CW, Matthews B, Rasquin M, Jansen KE (2015) Performance and scalability of unstructured mesh CFD workflow on emerging architectures. Scientific Computation Research Center, Rensselaer Polytechnic Institute, Troy. http://www.scorec.rpi.edu/REPORTS/2015-2.pdf. Accessed 12 Jan 2016
Stopford PJ (2002) Recent applications of CFD modelling in the power generation and combustion industries. Appl Math Model 26(2):351–374
Tessendorf J et al (2001) Simulating ocean water. Simulating nature: realistic and interactive techniques. SIGGRAPH 1(2):5
Thibault JC, Senocak I (2009) CUDA implementation of a Navier–Stokes solver on multi-GPU desktop platforms for incompressible flows. In: Proceedings of the 47th AIAA aerospace sciences meeting, pp 2009–2758
Turner EL, Hu H (2001) A parallel CFD rotor code using OpenMP. Adv Eng Softw 32(8):665–671
Vázquez M, Rubio F, Houzeaux G, González J, Giménez J, Beltran V, de la Cruz R, Folch A (2014) Xeon phi performance for HPC-based computational mechanics codes. Technical report, PRACE-RI
Vijiapurapu S, Cui J, Munukutla S (2006) CFD application for coal/air balancing in power plants. Appl Math Model 30(9):854–866
Wang B, Hu Z, Zha GC (2008) General subdomain boundary mapping procedure for structured grid implicit CFD parallel computation. J Aerosp Comput Inf Commun 5(11):425–447
Wang Jf, Piechna J, Mueller N (2012) A novel design of composite water turbine using CFD. J Hydrodyn Ser B 24(1):11–16
Warner TT (2010) Numerical weather and climate prediction. Cambridge University Press, Cambridge
Weyna S (2010) Acoustic intensity imaging methods for in-situ wave propagation. Arch Acoust 35(2):265–273
Wong KK, Inthavong K, Zhonghua S, Liow K, Jiyuan T (2010) In-vivo experimental and numerical studies of cardiac flow in right atrium. HKIE Trans 17(4):73–78
Xia B, Sun DW (2002) Applications of computational fluid dynamics (CFD) in the food industry: a review. Comput Electron Agric 34(1):5–24
Xiao J, Travis JR, Royl P, Svishchev A, Jordan T, Breitung W (2015) PETSC-based parallel semi-implicit CFD code gasflow-MPI in application of hydrogen safety analysis in containment of nuclear power plant. In: Joint international conference on mathematics and computation (M&C), Supercomputing in nuclear applications (SNA) and the Monte Carlo (MC) method, Nashville, TN
Xu C, Deng X, Zhang L, Fang J, Wang G, Jiang Y, Cao W, Che Y, Wang Y, Wang Z et al (2014) Collaborating CPU and GPU for large-scale high-order CFD simulations with complex grids on the TianHe-1a supercomputer. J Comput Phys 278:275–297
Xu Z, Zhao H, Zheng C (2015) Accelerating population balance-Monte Carlo simulation for coagulation dynamics from the Markov jump model, stochastic algorithm and GPU parallel computing. J Comput Phys 281:844–863
Yao J, Jameson A, Alonso JJ, Liu F (2001) Development and validation of a massively parallel flow solver for turbomachinery flows. J Propuls Power 17(3):659–668
Yue X, Zhang H, Luo C, Shu S, Feng C (2014) Parallelization of a DEM code based on CPU-GPU heterogeneous architecture. In: Li K (ed) Parallel computational fluid dynamics. Springer, Berlin, pp 149–159
Yuguang B, Guoqiang W, Yuguang Z (2013) A novel parallel computing method for computational fluid dynamics. Int J Comput Sci Issues (IJCSI) 10(1):693–698
Zhang H, Trias Miquel FX, Tan Y, Sheng Y, Oliva Llena A, et al (2011) Parallelization of a DEM/CFD code for the numerical simulation of particle-laden turbulent flows. In: 23rd International conference on parallel computational fluid dynamics (Barcelona), pp 1-5
Zubanov V, Egorychev V, Shabliy L (2015) Design of rocket engine for spacecraft using CFD-modeling. Procedia Eng 104:29–35
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Afzal, A., Ansari, Z., Faizabadi, A.R. et al. Parallelization Strategies for Computational Fluid Dynamics Software: State of the Art Review. Arch Computat Methods Eng 24, 337–363 (2017). https://doi.org/10.1007/s11831-016-9165-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11831-016-9165-4