Zum Inhalt

2024 | Buch

Tensorkalkül mit objektorientierten Matrizen für numerische Methoden in Mechanik und Ingenieurwissenschaften

Grundlagen und Funktionen für Tensor-/Matrix-Algorithmen der Finite-Elemente-Methode

insite
SUCHEN

Über dieses Buch

Die Intention des Buches ist es, für numerische Algorithmen zur Analyse von Tragstrukturen eine Synthese von klassischen Matrizen- und Tensor-Methoden einerseits und von moderner Software-Technologie andererseits auf der Basis von objektorientierten Methoden zu vollziehen. Dafür wird ein durchgängiges Methodenkonzept bereitgestellt, mit dem die theoretischen Modellierungsgrundlagen nahtlos in numerische Berechnungen umgesetzt werden können, um methodische Brüche in Teilbereichen zu überwinden.

Der Schlüssel dazu liegt in der Umsetzung des objektorientierten Paradigmas bei der Modellierung der mechanisch/numerischen Strukturen und beim Entwurf von Klassen, welches inzwischen im Ingenieurwesen hinlänglich untersucht und in der Software-Entwicklung weit verbreitet ist.

Als innovativer Ansatz wird den entworfenen Methoden die indexbasierte Tensor- und Matrizen-Notation zugrunde gelegt, um gleichartige Operationen mit überladenen Standardoperatoren in C++ für Tensoren und Matrizen höherer Stufe ausführen zu können. Exemplarische Anwendungen und prototypische Programme zeigen den Vorteil dieser integrativen Vorgehensweise.

Inhaltsverzeichnis

Frontmatter
Kapitel 1. Einleitung
Zusammenfassung
The main intent of the book is to provide a synthesis between classical matrix and tensor methods on the one hand and modern software technology on the other. For this purpose, the approach is used to develop a consistent method concept with the help of object-oriented methods, by which the theoretical modeling fundamentals of mechanics can be seamlessly converted into numerical computation programs for the solution of technical problems, without having to overcome methodological breaks in subareas. A classic example of this is the symbolic notation of the tensor and matrix calculus with its complex syntax and semantics, which appears to be less suitable for direct implementation in computer algorithms.
Udo F. Meißner
Kapitel 2. Grundlagen der Matrizenrechnung
Zusammenfassung
In this introductory chapter the most important basics of the classical matrix calculus are compiled, as found in [Zurmühl/Falk 1986], [Pestel/Leckie 1963]. The primary goal is to introduce the reader to the index notation for multidimensional matrices in order to base all arithmetic operations on it in the following context. The reader may become sufficiently familiar with this notation and gets used to the possibly strange notation, which differs considerably from the traditional symbolic notation of related publications. The second important aspect is the generalization of the conventional notation restricted mostly to one- and two-dimensional matrices, which was originally introduced for computational schemes on traditional writing media. Because adequate formulations for multidimensional matrices are the important basis for all further considerations. This is also due to the use of programming languages in the mathematical-scientific field which are processing arrays of several dimensions by standard implementations. The introduction to index formulations prepares the reader as well for the corresponding acquaintances with covariant and contravariant tensors in the following chapters about tensor analysis and computational tensor/matrix methods.
Udo F. Meißner
Kapitel 3. Objektorientierte Matrizen
Zusammenfassung
In this chapter about object-oriented matrices, the focus is first placed on the structure and storage of multidimensional matrices, which are also mapped by applications on the digital von Neumann computers into the one-dimensional physical main memory. The section about hyper matrices explains this context and presents different representations for multidimensional matrices with the corresponding mathematical mapping rules. The representation of matrices is then followed by the exemplary implementation of multidimensional matrices and vectors in object-oriented matrix classes, like MATRIZEM, MATRIX and VEKTOR, by use of the programming language C++. The primary goal is to demonstrate the organization of the matrix objects in adequate class structures according to the object-oriented principles of encapsulation, inheritance, and communication interfaces of public functions.The reader may extend its knowledge of object orientation in C++ by studying the relevant literature, like [Rumbaugh/Blaha/Premerlani/Eddy/Lorensen 1991] on object-oriented modeling or like [Breymann 1997] on C++, as well as by research in the Internet. In addition to the generation and management of static and dynamic matrix objects, it is particularly important to recognize the advantages of the overloading of operators in the presented approach. By this means an intuitive and transparent handling of the new matrix objects is established for the use of arithmetic and functional operations. These aspects will be demonstrated in Chapter 7 by means of two typical FEM-application algorithms established by tensor and matrix objects.
Udo F. Meißner
Kapitel 4. Grundlagen der Tensorrechnung
Zusammenfassung
Tensor calculus, with its consistent formulation of invariants and transformations, has for years acquired a high significance in engineering. Thus, early works on the mechanics of load-bearing structures, such as [Green/Zerna 1954], which renewed the formulation of the theory, and compendium of mathematics on the tensor calculus in index notation, such as [Duschek/Hochrainer 1968], can serve as a basis at this point. In this chapter, the most important basics of tensor algebra are recapitulated in this context, especially to make the approach of the object-oriented matrix calculus comprehensible and to provide the ability to apply the presented methodology consistently. This is because the index notation allows the arithmetic operations of tensor calculus to be seamlessly transformed into the practical numeric of programming tools using the new object-oriented classes and methods of matrix calculus. This capability is demonstrated with the tensor class BASIS and its application in the numeric function METRIC.
Udo F. Meißner
Kapitel 5. Dreidimensionale Visualisierung der Vektor-Objekte
Zusammenfassung
With the basics of tensor calculus described in the previous chapters and its object-oriented implementation in numerical algorithms, the presented objects were captured in the three-dimensional Euclidean space. They may be managed accordingly and represented in different views by transformations.
Udo F. Meißner
Kapitel 6. Tensoranalysis für Finite Elemente
Zusammenfassung
In this chapter, the fundamentals of tensor analysis are compiled for use within the finite element method. As with the classical approaches, such as [Klingbeil 1966], the differential geometry of the spatial bodies is treated first, followed by the mechanical fundamentals for the deformation of elastic continua. The tensor representations are then specialized to the finite element approximations for the capture of the geometry and the description of the displacement fields. These explanations follow the classical compendium, such as [Zienkiewicz/Taylor 1989] or even the textbook [Meißner/Maurial 2000]. Here, however, they are consistently presented in the preferred index notation for matrices and tensors. Derived exemplary for numerical purposes are the matrix relations for the approximate spanning of the geometry of individual elements, and for their stiffness relations under external loading, as well as for the calculation of internal forces. Since the principle of the matrix methodology is mainly concerned here, the plane continua of the plate theory are selected as a relatively transparent field of application, which are sufficiently complex, but nevertheless illustrative, in order to demonstrate the advantages of the new matrix methods with typical examples.
Udo F. Meißner
Kapitel 7. Objektorientierte Numerik für Finite Elemente
Zusammenfassung
Finally, the application of the object-oriented matrix calculus is presented in two sections about quadrilateral and triangular plate elements on the basis of typical C++ routines. The numeric functions PARALLELOGRAM and TRIANGLE exemplify in the source code, the calculations of differential geometries, the matrices of the stiffness relationships, and of the internal forces for both finite elements, as well as the computation of the corresponding numerical results. These elements are a bi-linear parallelogram element and a linear triangular element, each with abstracted elasticity parameters, so that the calculated results for deformations and stresses under tension and shear can be verified in the elementary way. The program code, which is kept simple and clear, is primarily intended to demonstrate here how the required matrix objects of the new matrix classes can be created and managed, and how the tensor/matrix arithmetic can be handled intuitively and clearly with the overloaded syntax for matrix operations.
Udo F. Meißner
Kapitel 8. Schlusswort
Zusammenfassung
With the present concept, a comprehensive synthesis from theoretical tensor notation and traditional matrix calculus to new classes of matrices and object-oriented algorithms for mechanics and engineering problems was accomplished. This integral approach to the elementary tensor calculus of tensor bases has been realized with the tensor class BASIS, and was tested using the function METRIK. In this context, also graphical methods for the perspective representation of basis vectors and tensor quantities play a significant role in illustrating the correlation of these quantities in three-dimensional space. For this purpose, the graphic classes PERSPEKTIVE and PyPLOT were created and utilized with the function BASIS_3D for three-dimensional stereo vision.
Udo F. Meißner
Backmatter
Metadaten
Titel
Tensorkalkül mit objektorientierten Matrizen für numerische Methoden in Mechanik und Ingenieurwissenschaften
verfasst von
Udo F. Meißner
Copyright-Jahr
2024
Electronic ISBN
978-3-658-44939-1
Print ISBN
978-3-658-44938-4
DOI
https://doi.org/10.1007/978-3-658-44939-1