This presentation was made at the 2019 NAFEMS World Congress in Quebec Canada
Finite element analysis nowadays is extensively used in all industries, with advanced simulations being routinely carried out in high-tech applications which may involve contact between components, significant material non-linearities, large geometric changes, wave propagation effects, etc. Finite element (FE) codes combine various themes from mathematics, continuum/structural mechanics, physics, computer architecture and programming and fuse these to efficiently perform such simulations. The majority of commercial and proprietary structural analysis codes are based on a Lagrangian formulation, which means they use updated coordinates. The analyses carried out may be static, dynamic or of a short-lived but highly transient nature.
The average user can employ such advanced analysis codes without requiring detailed knowledge of how a code is structured or how it executes. On occasion there is a need to add user defined material models, elements, special loading conditions, or some other enhancement and in this case it is very useful to have a general idea of how FE codes operate, apart from the details pertaining to the addition of specific enhancements. This kind of knowledge also helps towards isolating or locating potential sources of error when such error messages are either unhelpful or non-existent.
The intent of this paper is to describe the general structure of FE codes written to simulate the kind of problems and regimes of loading mentioned above, and to relate the underlying theory to the code structure. It describes the logic flow of such codes: the derivation of elemental and global stiffness matrices, typical integration cycle, differentiation between implicit and explicit solution schemes and consequent impact on memory requirements and integration timestep size, different solver schemes, full and reduced Gauss integration, material modelling approaches, conventional and mortar contact algorithms, etc. The reasons for the occurrence and elimination of phenomena such as shear and volumetric locking, and hourglassing or zero-energy modes will be described. Brief comments will be made on the influence of computer architectures on the choice of implicit solvers.
This contribution opens a window onto what happens when an analysis is carried out and will be of use to those who wish to understand more of what goes on 'under the hood', as well as to those intending to enhance existing code capabilities.
|Date||18th June 2019|
|Organisation||Atomic Weapons Establishment|