Reverse Engineering Legacy Finite Element Code

2012 ◽  
Vol 721 ◽  
pp. 307-312 ◽  
Author(s):  
Samuel Ratnajeevan Herbert Hoole ◽  
Thiruchelvam Arudchelvam ◽  
Janaka Wijayakulasooriya

The development of code for finite elements-based field computation has been going on at a pace since the 1970s, yielding code that was not put through the software lifecycle – where code is developed through a sequential process of requirements elicitation from the user/client to design, analysis, implementation and testing and release and maintenance. As a result, today we have legacy code running into millions of lines, implemented without planning and not using proper state-of-the-art software design tools. It is necessary to redo this code to exploit new object oriented facilities and make corrections or run on the web with Java. Object oriented code’s principal advantage is reusability. Recent advances in software make such reverse engineering/re-engineering of this code into object oriented form possible. The purpose of this paper is to show how existing finite element code can be reverse/re-engineered to improve it. Taking sections of working finite element code, especially matrix computation for equation solution as examples, we put it through reverse engineering to arrive at the effective UML design by which development was done and then translate it to Java. This then is the starting point for analyzing the design and improving it without having to throw away any of the old code. Using auto-translators and then visually rewriting parts by the design so revealed, has no match in terms of speed and efficiency of re-engineering legacy code.

2001 ◽  
Vol 32 (10-11) ◽  
pp. 759-767 ◽  
Author(s):  
B Patzák ◽  
Z Bittnar

1994 ◽  
Vol 37 (22) ◽  
pp. 3921-3937 ◽  
Author(s):  
Gordon W. Zeglinski ◽  
Ray P. S. Han ◽  
Peter Aitchison

2012 ◽  
Vol 53 (60) ◽  
pp. 90-96 ◽  
Author(s):  
S. Cook ◽  
T. Zwinger ◽  
I.C. Rutt ◽  
S. O'Neel ◽  
T. Murray

AbstractA new implementation of a calving model, using the finite-element code Elmer, is presented and used to investigate the effects of surface water within crevasses on calving rate. For this work, we use a two-dimensional flowline model of Columbia Glacier, Alaska. Using the glacier’s 1993 geometry as a starting point, we apply a crevasse-depth calving criterion, which predicts calving at the location where surface crevasses cross the waterline. Crevasse depth is calculated using the Nye formulation. We find that calving rate in such a regime is highly dependent on the depth of water in surface crevasses, with a change of just a few metres in water depth causing the glacier to change from advancing at a rate of 3.5 kma–1 to retreating at a rate of 1.9 km a–1. These results highlight the potential for atmospheric warming and surface meltwater to trigger glacier retreat, but also the difficulty of modelling calving rates, as crevasse water depth is difficult to determine either by measurement in situ or surface mass-balance modelling.


2020 ◽  
Vol 60 (1) ◽  
pp. 25-37
Author(s):  
Michal Bošanský ◽  
Bořek Patzák

The efficient codes can take an advantage of multiple threads and/or processing nodes to partition a work that can be processed concurrently. This can reduce the overall run-time or make the solution of a large problem feasible. This paper deals with evaluation of different parallelization strategies of assembly operations for global vectors and matrices, which are one of the critical operations in any finite element software. Different assembly strategies for systems with a shared memory model are proposed and evaluated, using Open Multi-Processing (OpenMP), Portable Operating System Interface (POSIX), and C++11 Threads. The considered strategies are based on simple synchronization directives, various block locking algorithms and, finally, on smart locking free processing based on a colouring algorithm. The different strategies were implemented in a free finite element code with object-oriented architecture OOFEM [1].


Sign in / Sign up

Export Citation Format

Share Document