Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Finite Elements Using Maxima: Theory and Routines for Rods and Beams
Finite Elements Using Maxima: Theory and Routines for Rods and Beams
Finite Elements Using Maxima: Theory and Routines for Rods and Beams
Ebook417 pages1 hour

Finite Elements Using Maxima: Theory and Routines for Rods and Beams

Rating: 0 out of 5 stars

()

Read preview

About this ebook

This book provides a study aid on the finite element method. Based on the free computer algebra system “Maxima”, it presents routines to symbolically or numerically solve problems in the context of plane truss and frame structures. This allows readers to not only check classical “hand calculations” but also understand the computer implementation of the method. The mechanical theories focus on the classical one-dimensional structural elements, i.e. bars, Euler–Bernoulli and Timoshenko beams as well as their combination to generalized beam elements. Focusing on one-dimensional elements reduces the complexity of the mathematical framework and the resulting matrix equations can still be displayed with all components, and not only in a symbolic representation. The use of a computer algebra system and the incorporated functions, e.g. for equation solving, highlights the methodology of the finite element method rather than standard procedures.
The book is based on the Springer Brief “Finite Elements for Truss and Frame Structures” (978-3-319-94940-6) by the same authors.
LanguageEnglish
PublisherSpringer
Release dateMay 21, 2019
ISBN9783030171995
Finite Elements Using Maxima: Theory and Routines for Rods and Beams

Related to Finite Elements Using Maxima

Related ebooks

Mechanical Engineering For You

View More

Related articles

Reviews for Finite Elements Using Maxima

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Finite Elements Using Maxima - Andreas Öchsner

    © Springer Nature Switzerland AG 2019

    Andreas Öchsner and Resam MakvandiFinite Elements Using Maximahttps://doi.org/10.1007/978-3-030-17199-5_1

    1. Introduction

    Andreas Öchsner¹   and Resam Makvandi²  

    (1)

    Faculty of Mechanical Engineering, Esslingen University of Applied Sciences, Esslingen, Germany

    (2)

    Institute of Mechanics (IFME), Otto von Guericke University Magdeburg, Magdeburg, Sachsen-Anhalt, Germany

    Andreas Öchsner (Corresponding author)

    Email: andreas.oechsner@gmail.com

    Resam Makvandi

    Email: resam.makvandi@gmail.com

    The finite element method (FEM) can be considered as the most important computer tool in structural mechanics. Despite the fact that there are other numerical approximation techniques known in literature, e.g. the finite difference method or the boundary element method, the FEM is the most common tool in industrial practice. The method itself has practically no limitations in regard to the physical problem. However, the available computer hardware, i.e. working memory and CPU, may impose some limitations on the size of the problems. A diversity of commercial finite element packages with different specializations is nowadays available for the calculation engineer. Some finite element packages are even incorporated in computer-aided design (CAD) programs. This facilitates the conversion of a geometry into a finite element mesh. However, a reliable application of this powerful tool requires an in-depth understanding of the underlying theory. The challenge is not to obtain from a commercial package some numbers or colorful pictures. The challenge and task of an engineer is to guarantee good results.

    To study the finite element method is a challenging task and different approaches are available. This ranges from classical lectures and the corresponding textbooks [2, 3, 15, 22, 23] to the classical tutorials with ‘hand calculations’ [9]. In a more modern academic context, so-called problem or project based approaches are also common in some countries [16]. It is also common that the more theoretical sessions are accompanied by computer based laboratories where a commercial finite element package is introduced [17]. As an alternative, a real programming language can be used to teach the computer implementation and to develop own routines [8, 20]. The scope of this book is slightly different since we are going to use the functionality of a free computer algebra system. Doing so, we can avoid the need to program standard routines and focus more on the methodology. The idea for this books partly stems from lecture notes which are based on the commercial computer algebra system Mathematica [7]. However, we decided to use the free computer algebra system Maxima to avoid any license issues since the software can be freely downloaded for all common operating systems. Furthermore, different graphical user interfaces can be used.

    © Springer Nature Switzerland AG 2019

    Andreas Öchsner and Resam MakvandiFinite Elements Using Maximahttps://doi.org/10.1007/978-3-030-17199-5_2

    2. Maxima—A Computer Algebra System

    Andreas Öchsner¹   and Resam Makvandi²  

    (1)

    Faculty of Mechanical Engineering, Esslingen University of Applied Sciences, Esslingen, Germany

    (2)

    Institute of Mechanics (IFME), Otto von Guericke University Magdeburg, Magdeburg, Sachsen-Anhalt, Germany

    Andreas Öchsner (Corresponding author)

    Email: andreas.oechsner@gmail.com

    Resam Makvandi

    Email: resam.makvandi@gmail.com

    The computer algebra system Maxima was originally developed in the late 1960s and earlier 1970s at MIT under the name ‘Macsyma’ . The historical development is excellently summarized in the article by Moses [12]. Compared to many commercial alternatives such as Maple, Matlab or Mathematica, Maxima is distributed under the GNU General Public License (GPL) and thus a free software. In addition, it is recommended to use in the following the wxMaxima graphical user interface (GUI), which is also distributed under the GNU GPL. The routines used in the following chapters are optimized for this GUI. Both programs can be downloaded from the links in Table 2.1.

    A few basic operations in Maxima are explained in the following without any attempt for completeness. The interested reader may find elsewhere further links and examples in order to study the functionality of Maxima [5, 6, 11]. Particularly worth mentioning is the web page ‘Maxima by Example’ by Woollett [21]. Let us now start with the basic arithmetic operations as outlined in the following listing 2.1.

    We can see from this example that all expressions entered into Maxima must end with a semicolon ‘;’. Alternatively, the ‘$’ character can be used at the end of a statement to suppress the output of that line. Some pre-defined functions in Maxima are collected in Table 2.2. It should be noted here that the arguments of the trigonometric functions must be given in radians.

    Another characteristic is that Maxima tries to provide symbolic results, which include fractions, square roots etc. The function float(...) can be used to obtain a floating-point representation as shown in the following listing. The most recent result can be recalled with the percentage operator (%).

    Table 2.1

    Links to download the installation packages

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch1_HTML.png

    Module 2.1

    Basic arithmetics

    Table 2.2

    Some pre-defined functions in Maxima

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch2_HTML.png

    Module 2.2

    Use of the function float(...)

    The value of a variable is entered by the use of a colon ‘:’, see the following listing. To clear a value from an assigned variable, the command kill(...), or for all variables kill(all), is used.

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch3_HTML.png

    Module 2.3

    Definition of variables

    Some predefined constants in Maxima are ‘%e’ (i.e., the base of the natural logarithm; e = 2.718281...), ‘%pi’ (i.e., the ratio of the perimeter of a circle to its diameter; $$\pi $$ = 3.141592...), and ‘%i’ (i.e., the imaginary unit; $$\sqrt{-1}$$ ).

    A function is defined by the use of a colon followed by the equal sign ‘:=’, see the following listing 2.4. In regard to the naming of variables and functions, it should be noted that the names must start with a letter and may contain numbers or even an underscore. The following way of defining a function uses the general structure

    $$\textsf {f(x) := (expr1, expr2, \ldots , exprn)}\,,$$

    where the value of exprn is returned by the function f(x).

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch4_HTML.png

    Module 2.4

    Definition of a function

    The following example (see Module 2.5) shows the definition of a function under consideration of a block structure. The block structure allows to make a return from some expression inside the function, to return multiple values, and to introduce local variables.

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch5_HTML.png

    Module 2.5

    Definition of a function under consideration of a block structure

    Let us mention next the command ratsimp(...), which allows to simplify algebraic expressions.¹ The following listing 2.6 illustrates the simplification of the expressions

    $$\begin{aligned} f_1(x)&=2x^2+(x-1)^2\,, \end{aligned}$$

    (2.1)

    $$\begin{aligned} f_2(x)&=\frac{x^2+4x-3x^2+1}{(x-1)^2-1+2x}\,. \end{aligned}$$

    (2.2)

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch6_HTML.png

    Module 2.6

    Manipulation and simplification of algebraic expressions

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch7a_HTML.png../images/481335_1_En_2_Chapter/481335_1_En_2_Sch7b_HTML.png

    Module 2.7

    Solution of a linear system of equations in matrix form

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch8_HTML.png

    Module 2.8

    Symbolic integration of integrals

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch9_HTML.png

    Module 2.9

    General solution of differential equations: rod element

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch10_HTML.png

    Module 2.10

    General solution of differential equations: Euler–Bernoulli beam element

    ../images/481335_1_En_2_Chapter/481335_1_En_2_Sch11_HTML.png

    Module 2.11

    General solution of differential equations: Timoshenko beam element

    Matrix operations and the corresponding solution of linear system of equations in matrix form are of utmost importance in the context of the finite element method. The following listing 2.7 illustrates the solution procedure of a linear system of equations:

    $$\begin{aligned} \begin{bmatrix}\frac{15 A E}{L}&-\frac{6 A E}{L}&0\\ -\frac{6 A E}{L}&\frac{9 A E}{L}&-\frac{3 A E}{L}\\ 0&-\frac{3 A E}{L}&\frac{3 A E}{L}\end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3\\ \end{bmatrix} = \begin{bmatrix} 0\\ 0\\ {F_0}\\ \end{bmatrix}\,. \end{aligned}$$

    (2.3)

    The following example (see Module 2.8) shows the symbolic integration of integrals. The task is to calculate the integrals

    $$\begin{aligned}&\int \limits _{0}^{\tfrac{L}{2}}\frac{\left( M_1(x)\right) ^2}{2EI_1(x)}\,\text {d}x\,, \end{aligned}$$

    (2.4)

    $$\begin{aligned}&\int \limits _{0}^{\tfrac{L}{2}}\frac{16}{25}\,\varrho \left( d_1(x)\right) ^2\text {d}x\,, \end{aligned}$$
    Enjoying the preview?
    Page 1 of 1