Functor-oriented topology optimization of elasto-plastic structures

Abstract The paper deals with a novel approach to development of optimality criteria based finite element code for topology optimization of elasto-plastic structures. The novelty of this work is related to the concept of function object called functor and its application to efficient FE code development. First, the general problem of topology optimization under stress constraints is briefly formulated. Then, the programming aspects of topology optimization using traditional object-oriented and functor based programming are discussed. The advantages of the functor based approach are related to simplicity of designing the FE code architecture and reusability of this code. In particular the metric known as 'Lack of cohesion of methods' is useful in comparing these two different paradigms. Finally, the paper is also illustrated with numerical examples of topology optimization using the proposed methodology.

[1]  Glaucio H. Paulino,et al.  An object-oriented framework for finite element analysis based on a compact topological data structure , 2014, Adv. Eng. Softw..

[2]  Santiago Badia,et al.  FEMPAR: An Object-Oriented Parallel Finite Element Framework , 2017, Archives of Computational Methods in Engineering.

[3]  Robert Ian Mackie Object oriented programming of the finite element method , 1992 .

[4]  Thomas Zimmermann,et al.  Object-oriented finite element programming: III. An efficient implementation in C++ , 1993 .

[5]  J. Maxwell,et al.  I.—On Reciprocal Figures, Frames, and Diagrams of Forces , 1870, Transactions of the Royal Society of Edinburgh.

[6]  Robert Ian Mackie Object oriented implementation of distributed finite element analysis in .NET , 2007, Adv. Eng. Softw..

[7]  Paul H. Lewis,et al.  Comparing programming paradigms: an evaluation of functional and object-oriented programs , 1996, Softw. Eng. J..

[8]  Yu Liu,et al.  An object-oriented MATLAB toolbox for automotive body conceptual design using distributed parallel optimization , 2017, Adv. Eng. Softw..

[9]  Frédéric Hecht,et al.  New development in freefem++ , 2012, J. Num. Math..

[10]  D. V. Grinchenkov,et al.  Object-oriented Approach to Design of the Complex Mechanical System Dynamics Mathematical Models , 2015 .

[11]  M. Bendsøe,et al.  Topology Optimization: "Theory, Methods, And Applications" , 2011 .

[12]  János Lógó,et al.  Topology optimization considering multiple loading , 2017, Computers & Structures.

[13]  Bartlomiej Blachowski,et al.  Elasto-Plastic Topology Optimization Under Stochastic Loading Conditions , 2018, EngOpt 2018 Proceedings of the 6th International Conference on Engineering Optimization.

[14]  Thomas Zimmermann,et al.  Object-oriented finite element in programming: II: A prototype program in Smalltalk , 1992 .

[15]  D. V. Griffiths,et al.  Programming the finite element method , 1982 .

[16]  Robert Ian Mackie,et al.  Design and deployment of distributed numerical applications using .NET and component oriented programming , 2009, Adv. Eng. Softw..

[17]  W. Bangerth,et al.  deal.II—A general-purpose object-oriented finite element library , 2007, TOMS.

[18]  D. Cojocaru,et al.  An object-oriented approach for modeling and simulation of crack growth in cyclically loaded structures , 2008, Adv. Eng. Softw..

[19]  P. Tauzowski,et al.  Sensitivity analysis for viscoelastic bodies in object-oriented finite element environment , 2003 .

[20]  Douglas Gregor,et al.  C++ Templates: The Complete Guide , 2002 .

[21]  A. Michell LVIII. The limits of economy of material in frame-structures , 1904 .

[22]  Roland W. Lewis,et al.  Why you should consider object‐oriented programming techniques for finite element methods , 1999 .

[23]  Thomas Zimmermann,et al.  Object-oriented finite element programming: I: Governing principles , 1992 .

[24]  D. Owen,et al.  Computational methods for plasticity : theory and applications , 2008 .

[25]  Daniel Rypl,et al.  Object-oriented, parallel finite element framework with dynamic load balancing , 2012, Adv. Eng. Softw..

[26]  G. R. Miller A LISP-based object-oriented approach to structural analysis , 2005, Engineering with Computers.

[27]  Roque Luiz da Silva Pitangueira,et al.  A computational framework for constitutive modelling , 2017 .

[28]  Jaroslav Mackerle,et al.  Object-oriented programming in FEM and BEM: a bibliography (1990-2003) , 2004 .

[29]  R. I. Mackie Application of service oriented architecture to finite element analysis , 2012, Adv. Eng. Softw..