O'Sullivan, S and Bird, R.E. and Coombs, W.M. and Giani, S. (2019) 'Rapid non-linear finite element analysis of continuous and discontinuous Galerkin methods in MATLAB.', Computers & mathematics with applications., 78 (9). pp. 3007-3026.
MATLAB is adept at the development of concise Finite Element (FE) routines, however it is commonly perceived to be too inefficient for high fidelity analysis. This paper aims to challenge this preconception by presenting two optimised FE codes for both continuous Galerkin (CG) and discontinuous Galerkin (DG) methods. Although this has previously been achieved for linear-elastic problems, no such optimised MATLAB script currently exists, which includes the effects of material non-linearity. To incorporate these elasto-plastic effects, the externally applied load is split into a discrete number of loadsteps. Equilibrium is determined at each loadstep between the externally applied load and the arising internal forces using the Newton–Raphson method. The optimisation of the scripts is primarily achieved using vectorised blocking algorithms, which minimise RAM-to-cache overheads and maximise cache reuse. The optimised codes yielded maximum speed gains of 25.7 and 10.1 when compared to the corresponding unoptimised scripts, for CG and DG respectively. It was identified that with increasing refinement of the mesh, the solver time begins to dominate the overall simulation time. This bottleneck has a greater disadvantage on the DG code, predominantly due the asymmetric nature of the global stiffness matrix. The implementation of an efficient solver would see further improvement to the overall run times, particularly for large problems.
|Full text:||Publisher-imposed embargo |
(AM) Accepted Manuscript
File format - PDF (1278Kb)
|Full text:||(VoR) Version of Record|
Available under License - Creative Commons Attribution.
Download PDF (1192Kb)
|Publisher Web site:||https://doi.org/10.1016/j.camwa.2019.03.012|
|Publisher statement:||© 2019 The Authors. Published by Elsevier Ltd. This is an open access article under the CC BY license. (http://creativecommons.org/licenses/by/4.0/)|
|Date accepted:||06 March 2019|
|Date deposited:||07 March 2019|
|Date of first online publication:||12 April 2019|
|Date first made open access:||No date available|
Save or Share this output
|Look up in GoogleScholar|