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

Only $11.99/month after trial. Cancel anytime.

Matrix Methods for Advanced Structural Analysis
Matrix Methods for Advanced Structural Analysis
Matrix Methods for Advanced Structural Analysis
Ebook767 pages22 hours

Matrix Methods for Advanced Structural Analysis

Rating: 5 out of 5 stars

5/5

()

Read preview

About this ebook

Divided into 12 chapters, Matrix Methods for Advanced Structural Analysis begins with an introduction to the analysis of structures (fundamental concepts and basic steps of structural analysis, primary structural members and their modeling, brief historical overview of methods of static analysis, programming principles, and suggestions for the rational use of computer programs). This is followed by the principal steps of the Direct Stiffness Method including plane trusses, plane framed structures, space trusses, and space framed structures. The case of plane or space framed structure, including possible rigid elements at their beam ends (rigid joints) is discussed in detail.

Other topics discussed in this reference include the procedure for analyzing beams with internal releases (partial connection of beam elements) and elastic hinges, as well as the alternative handling of internal releases by modifying the element stiffness matrix. Furthermore, the Method of Substructures is demonstrated for the solution of large-scale models in terms of the associated number of degrees of freedom.

  • The principal steps of the Direct Stiffness Method are presented for plane and space trusses, as well as plane and space framed structures
  • The handling of beams with internal releases and elastic hinges
  • The method of substructures for large-scale structures
  • A computer code (basic steps and source files) based on MATLAB® software for the analysis of beam-like structures
LanguageEnglish
Release dateNov 13, 2017
ISBN9780128118825
Matrix Methods for Advanced Structural Analysis
Author

Manolis Papadrakakis

National Technical University of Athens, Institute of Structural Analysis and Seismic Research, Athens, Greece

Related authors

Related to Matrix Methods for Advanced Structural Analysis

Related ebooks

Structural Engineering For You

View More

Related articles

Reviews for Matrix Methods for Advanced Structural Analysis

Rating: 5 out of 5 stars
5/5

1 rating0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Matrix Methods for Advanced Structural Analysis - Manolis Papadrakakis

    Matrix Methods for Advanced Structural Analysis

    First Edition

    Manolis Papadrakakis

    Institute of Structural Analysis and Antiseismic Research, National Technical University of Athens, Athens, Zografou Campus, GR 15780, Greece

    Evangelos J. Sapountzakis

    Institute of Structural Analysis and Antiseismic Research, National Technical University of Athens, Athens, Zografou Campus, GR 15780, Greece

    Table of Contents

    Cover image

    Title page

    Copyright

    Foreword

    Chapter One: Introduction to Matrix Methods of Structural Analysis

    Abstract

    1.1 Overview of Matrix Structural Analysis and Design

    1.2 Matrix Structural Analysis and Design Procedure

    1.3 Primary Structural Members and their Modeling—Matrix Structural Analysis Steps

    1.4 Brief Historical Overview of Matrix Structural Analysis

    1.5 Flexibility-Stiffness Methods

    1.6 Basic Steps of Programming the Direct Stiffness Method

    Chapter Two: Plane Trusses

    Abstract

    2.1 Introduction

    2.2 Overview of the Plane Truss

    2.3 Vectors of End-Actions of Plane Truss Element

    2.4 End-Translation Vectors of Plane Truss Element

    2.5 Transformation Matrix of Plane Truss Element

    2.6 Total Local Stiffness Matrix of Plane Truss Element

    2.7 Total Global Stiffness Matrix of Plane Truss Element

    2.8 Vectors of Nodal-Forces and Nodal-Translations of Plane Truss

    2.9 Global Stiffness Matrix of Plane Trusses

    2.10 Modification of Global Stiffness Matrix Due to Support Conditions—Reordering Matrix

    2.11 Modification of Global Stiffness Matrix of a Plane Truss Due to Inclined and Elastic Supports

    2.12 Plane Truss Subjected to Member Loading

    2.13 Stress Resultants of Plane Truss Members

    Chapter Three: Plane Frames

    Abstract

    3.1 Introduction

    3.2 Overview of the Plane Frame

    3.3 Vectors of End-Actions of Plane Frame Element

    3.4 End-Displacement Vector of Plane Frame Element

    3.5 Transformation Matrix of Plane Frame Element

    3.6 Total Local Stiffness Matrix of Plane Frame Element

    3.7 Total Global Stiffness Matrix of Plane Frame Element

    3.8 Vectors of Nodal-Forces and Nodal-Displacements of Plane Frame

    3.9 Global Stiffness Matrix of Plane Frames

    3.10 Modification of Global Stiffness Matrix Due to Support Conditions—Reordering Matrix

    3.11 Modification of Global Stiffness Matrix of a Plane Frame Due to Inclined And Elastic Supports

    3.12 Plane Frame Subjected to Member Loading

    3.13 Stress Resultants of Plane Frame Members

    Chapter Four: Spatial Trusses

    Abstract

    4.1 Introduction

    4.2 Overview of Spatial Truss

    4.3 Vectors of End-Actions of Spatial Truss Element

    4.4 End-Translation Vectors of Spatial Truss Element

    4.5 Transformation Matrix of Spatial Truss Element

    4.6 Total Local Stiffness Matrix of Spatial Truss Element

    4.7 Total Global Stiffness Matrix of Spatial Truss Element

    4.8 Vectors of Nodal-Forces and Nodal-Translations of Spatial Truss

    4.9 Global Stiffness Matrix of Spatial Trusses

    4.10 Modification of Global Stiffness Matrix Due to Support Conditions—Reordering Matrix

    4.11 Internal Forces of Spatial Truss Members

    Chapter Five: Spatial Frames

    Abstract

    5.1 Introduction

    5.2 Overview of Spatial Frames

    5.3 Vectors of End-Actions and End-Displacements of Spatial Frame Element

    5.4 Transformation Matrix of Spatial Frame Element

    5.5 Local Stiffness Matrix of Spatial Frame Element

    5.6 Global Stiffness Matrix of Spatial Frame Element

    5.7 Vectors of Nodal-Actions and Nodal-Displacements of Spatial Frame

    5.8 Global Stiffness Matrix of Spatial Frame

    5.9 Modification of Global Stiffness Matrix of Spatial Frame Due to Support Conditions—Reordering Matrix

    5.10 Internal Actions of Spatial Frame Members

    5.11 Application—Analysis of Grid Structure

    Chapter Six: Rigid Joints

    Abstract

    6.1 Introduction

    6.2 Kinematic Relations and Equivalent Actions Betweeen two Points of a Rigid Body Plane

    6.3 Rigid Joints in Plane Framed Structure

    6.4 Analysis of Plane Frame With Rigid Joints

    6.5 Kinematic Relations and Equivalent Actions Between two Points of Space Rigid Structure

    6.6 Rigid Joints in Space Frame Element

    Chapter Seven: Internal Releases—Method of Combined Nodes

    Abstract

    7.1 Introduction

    7.2 Degrees of Freedom of Combined Nodes

    7.3 Assembly of Total Global Stiffness Matrix With Combined Nodes

    7.4 Computation of Nodal Actions of Restrained and Equivalent Structures With Combined Nodes

    7.5 Elastic Hinge

    7.6 Application—Analysis of Plane Frame With Combined Nodes

    Chapter Eight: Internal Hinges—Modified Stiffness Matrix Method

    Abstract

    8.1 Introduction

    8.2 Modified Stiffness Matrices

    8.3 Modified Matrices and Internal Releases

    8.4 Restrained Actions—Equivalent Actions

    8.5 Application—Analysis of Plane Frame With the Modified Stiffness Matrix Method

    Chapter Nine: Static Condensation Method

    Abstract

    9.1 Introduction

    9.2 Physical Interpretation of Static Condensation

    9.3 Qualitative Examination of the Stiffness Coefficients of a Hyperelement

    9.4 Stiffness Matrix and Restrained Actions With Elastic Hinge

    9.5 Application—Different Modeling Considerations of a Plane Frame Structure

    Chapter Ten: Elements of Variable Cross Section

    Abstract

    10.1 Introduction

    10.2 Stiffness Matrix—Analytic Evaluation

    10.3 Stiffness Matrix—Approximate Computation

    10.4 Restrained Actions—Analytic Computation

    10.5 Restrained Actions—Approximate Computation

    10.6 Application—Analysis of An Element of Variable Cross Section

    Chapter Eleven: The Method of Substructures

    Abstract

    11.1 Introduction

    11.2 Presentation of Method of Substructures: A Plane Frame Test Case

    11.3 The Method of Substructures: A Plane Truss Test Case

    11.4 The Method of Substructures: A Plane Truss Numerical Application

    11.5 The Method of Substructures: Numerical Application on a Hybrid Structure

    Chapter Twelve: Programming of Direct Stiffness Method—PFrameMatlab Program

    Abstract

    12.1 Basic Steps of Programming

    12.2 Main Program

    12.3 Individual Program Files

    12.4 Application—Plane Frame Analysis

    12.5 Application—Hybrid Plane Frame Analysis

    Appendix A—Tensor Calculus

    A.1 Introduction

    A.2 Tensors

    A.3 Transformation of Tensors

    References

    Index

    Copyright

    Butterworth-Heinemann is an imprint of Elsevier

    The Boulevard, Langford Lane, Kidlington, Oxford OX5 1GB, United Kingdom

    50 Hampshire Street, 5th Floor, Cambridge, MA 02139, United States

    © 2018 Elsevier Inc. All rights reserved.

    No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.

    This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein).

    Notices

    Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary.

    Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.

    To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.

    Library of Congress Cataloging-in-Publication Data

    A catalog record for this book is available from the Library of Congress

    British Library Cataloguing-in-Publication Data

    A catalogue record for this book is available from the British Library

    ISBN: 978-0-12-811708-8

    For information on all Butterworth-Heinemann publications visit our website at https://www.elsevier.com/books-and-journals

    Publisher: Mathew Deans

    Acquisition Editor: Ken McCombs

    Editorial Project Manager: Peter Jardim

    Production Project Manager: Swapna Srinivasan

    Cover Designer: Greg Harris

    Typeset by SPi Global, India

    Foreword

    This is the first edition of the book titled Matrix Methods for Advanced Structural Analysis, which aims to introduce the reader to the methods of matrix structural analysis and to present thoroughly the steps of the direct stiffness method (DSM), theoretically and through representative examples.

    It consists of 12 chapters, each of which is described briefly below. In Chapter 1, an introduction to the analysis of structures is presented (fundamental concepts and basic steps of structural analysis, primary structural members and their modeling, brief historical overview of the methods of static analysis, programming principles, and suggestions for the rational use of computer programs). In Chapters 2–5, the principal steps of the direct stiffness method are presented for plane trusses, plane frames, space trusses, and space frames. In Chapter 6, the case of plane or space framed structures, including possible rigid elements at their beam ends (rigid joints), is discussed in detail. The procedure for analyzing beams with internal releases (partial connection of beam elements) and elastic hinges is presented in Chapter 7, while in Chapter 8 the internal releases are alternatively handled by modifying the element stiffness matrix. In Chapter 9, the static condensation of displacement degrees of freedom is presented in detail. Emphasis is given to the structural interpretation of the aforementioned procedure on the element and structural levels and to the qualitative interpretation of the terms of condensed stiffness matrices. In Chapter 10, analytical and approximate stiffness matrices and equivalent member forces with variable cross sections along their length are presented. In Chapter 11, the method of substructures is demonstrated for the solution of large-scale models in terms of the associated number of degrees of freedom. Finally, in Chapter 12, a computer code based on Matlab software is provided and presented for the analysis of beam-like structures, while in Appendix A additional material on tensor calculus is given, to facilitate understanding of the mathematical concepts discussed in the book.

    Finally, we consider it our duty to thank Ms. P. Syrimi, Civil Engineer, NTUA for her contribution in minimizing errors throughout this book and Prof. E. Plevris for his coauthorship of Chapter 12.

    M. Papadrakakis; E.J. Sapountzakis, National Technical University of Athens, Athens, Greece

    Chapter One

    Introduction to Matrix Methods of Structural Analysis

    Abstract

    In Chapter 1, an introduction to the analysis of structures is presented (fundamental concepts and basic steps of structural analysis, primary structural members and their modeling, brief historical overview of methods of static analysis, programming principles and suggestions for the rational use of computer programs).

    Keywords

    Structural analysis; Matrix methods; Design procedure; Direct stiffness method; Computational model

    1.1 Overview of Matrix Structural Analysis and Design

    Structures can be viewed as mechanical systems comprising of structural elements of different types, connected together with connection-joints, and other nonstructural elements. The main purpose of a structure is to withstand the applied actions (loads) arising from its own weight, its use (live loads) and environmental effects (e.g., temperature loads and seismic excitations), and transfer them with safety to its supports. Structures are analyzed, designed, and constructed following specific financial, safety, and functionality requirements due to human needs. These human needs constitute the motive for the development and progress of static and dynamic analysis of structures, which are part of the mechanics of structures, with the main objective of analysis, design, and dimensioning of structural elements.

    The analysis of structures, under static or dynamic loads, is the computation procedure for the evaluation of internal stress and strain components of the structural elements arising from external actions. Based on this computation, the designer has to ensure that the developed internal stress and strain components do not exceed specific allowable limits. It is worth noting here that during computation, safety coefficients are employed for considering any uncertainty due to loading, material properties, foundation ground characteristics, and any approximation resulting from the assumptions in modeling and analysis of the structure.

    As mentioned previously, every structure is designed to satisfy at the same time specific constraints of safety and efficiency requirements, without neglecting construction and operational costs, completion time, technical difficulties during the construction phase, and any environmental effect. Therefore, the best possible design of a structure results from the examination and comparison of various alternative solutions based on rational and technical criteria.

    1.2 Matrix Structural Analysis and Design Procedure

    For the analysis of structures, the corresponding models should be developed representing structural elements, foundation, and external actions. More specifically, during the modeling of a structure, assumptions regarding the response of individual structural elements and their connections, their mechanical properties, the intensity of external actions and their combination, as well as the soil properties of the foundation should be made.

    In Fig. 1.1, the steps for modeling the structure, soil-foundation, and actions of a structural system are presented. Following the modeling, the analysis of the structural system is performed, where various simplifications and assumptions regarding the numerical simulation are made. Finally, the analysis is followed by the evaluation of the stress resultants and deformations, and possibly by a reanalysis of the structure with a repetition of the aforementioned steps.

    Fig. 1.1 Modeling of structure, soil-foundation, and external actions.

    The matrix structural analysis procedure is repeated until the basic requirements of the structure are satisfied. It is worth noting that the associated uncertainties and inaccuracies at different stages of the simulation are usually taken into account by employing safety factors both for the material properties and for the applied actions. The alternative approach considering all kind of uncertainties during the mathematical formulation of the structural behavior remains a very computationally demanding approach and is avoided for most cases.

    The basic stages of the matrix structural analysis procedure and design are summarized in Fig. 1.2. Starting from the conceptual design, various alternative design solutions are attempted until the best-possible design is achieved taking into account safety, functionality, and cost issues. During this first stage (structural model), the initial dimensioning of the structural elements is performed based on some general calculations.

    Fig. 1.2 Matrix structural analysis procedure.

    In the second stage (computational model), the components of the structural system are defined with regard to its structural elements, their connections, and the support conditions. This is accomplished after using specific simplifications and assumptions, the validity of which depend on the experience and judgment of the engineer. The following stage is the determination of the computational model, which comprises the numerically simulated components of the structural system. This stage is followed by the numerical solution of the computational model and the computation of the stress resultants (forces and moments) and corresponding deformations and displacements are computed at the critical cross-sections of structural elements. Basically, deformations and displacements are used for serviceability limit checks, so that the structure satisfies the purpose for which it is designed. If the previous checks are satisfied, the design process continues to the next stage. Owing to the aforementioned checks, modifications of initial data are needed in order to obtain the best-possible results, thus leading to new design options.

    After obtaining acceptable results from the analysis, the final stage includes the detailed design of all structural elements (e.g., specific positions of reinforcement bars for concrete structures or finalization of connection types in a steel structure) and the production of final structural implementation drawings.

    The stages of forming and modeling a structural system are critical in matrix structural analysis and design procedure, since they may influence considerably the final design. An unsuccessful conceptual design, regardless of the detailed numerical simulation, may lead to structures with inherent weaknesses which may reduce their bearing capacity and increase the cost considerably. A successful conceptual design and modeling of a structural system requires knowledge, accumulated experience, and good engineering judgment with deep understanding of the real mechanical behavior of the structure under the effect of various loading conditions.

    1.3 Primary Structural Members and their Modeling—Matrix Structural Analysis Steps

    A skeletal structure consists of line structural elements appropriately connected together, which are generally three-dimensional solids. However due to high computational demands in performing analysis of three-dimensional solids, simplified models are adopted which are classified as follows:

    • Bars: Straight-line members with small cross section subjected to axial stress components (compressive or tensile forces). The stress condition of bars is represented by uniform normal stresses along their longitudinal dimension.

    • Beams: Straight-line members with longitudinal dimension significantly larger than their transverse dimensions. These members are subjected to loads parallel or normal to their longitudinal dimension, therefore leading to axial, bending, shear, and torsional stress conditions, which result in irregular distribution of normal and shear stresses at the cross-section and along the longitudinal dimension.

    • Arches: Curvilinear beams with small transverse dimensions to their curved axis. Due to the curved form, the elements are mainly subjected to compressive stresses.

    • Cables: Very flexible elements (low bending stiffness) with small cross-section and zero compressive strength. Their main function is to exploit the significant tensile strength with minimum material.

    • Plates: Plane structural elements of small width compared to the other two dimensions. These elements are subjected to loads normal to their middle surface, resulting in the development of mainly bending stress conditions.

    • Disks: Plane structural elements with small width compared to the other two dimensions. These elements are subjected to in-plane loading, resulting in the development of membrane stress conditions.

    • Shells: Curved surface structural elements (of single or double curvature) with very small width subjected to the loading of arbitrary direction in space, resulting in the development of a combination of bending and membrane stress conditions.

    • Foundation footing: Three-dimensional (3D) solid elements used for individual foundation of columns.

    The aforementioned structural elements can be classified according to their dimensions as linear, surface, and 3D solid elements.

    • Linear or one-dimensional structural elements: Bars, beams, arches, and cables are modeled by a single line which coincides with their centroidal axis and an infinite number of cross-sections normal to it. The dimensions of the cross-sections are much smaller than their longitudinal one. It is noted that a linear element can be straight or curved and the axis of a curved linear element can lie on a plane or in the 3D space. The linear elements whose dimensions and directions of cross-sections do not change along their axis are called prismatic.

    • Surface or two-dimensional structural elements: Plates, disks, and shells are modeled by their middle surface and the thickness of the structural element at each point of the middle surface. The dimension normal to this surface is much smaller than the other two dimensions. If the middle surface lies in a plane, then the element is called a plate or disk, whereas if the middle surface is curved, the element is called a shell.

    • Three-dimensional solid structural elements: Individual foundation footings, vaults, and well structures, with dimensions of the same order in all three directions. These elements cannot be simplified concerning their geometrical shape and develop three-dimensional stress conditions.

    According to the previous paragraphs, the analysis of structures subjected to loading comprises the formulation and solution of a system of algebraic equations, the dimension of which varies according to the degree of discretization and the complexity of the structure. Thus, the elastic static analysis of a structure can be described from the following five steps:

    (i) Basic equations of theory of elasticity

    Definition of the fundamental equations of equilibrium, compatibility equations of deformations, and constitutive relations resulting from the theory of elasticity.

    (ii) Discretized equations of equilibrium for structural elements

    Determination of the discretized equations in matrix form governing the behavior of structural elements.

    (iii) Composition of the system of algebraic equations

    Composition of the algebraic equation of equilibrium for the whole structure based on the matrix equilibrium equations of each individual structural element.

    (iv) Solution of system of algebraic equations

    Solution of the resulting algebraic equations formed at the previous step, employing numerical methods especially piloted for the solution of algebraic systems of significant dimension and sparsity.

    (v) Calculation of stress resultants

    Calculation of the stress resultants for the dimensioning of the structural elements.

    (vi) Presentation of results

    Presentation of the results in an appropriate form to facilitate the evaluation of the design.

    1.4 Brief Historical Overview of Matrix Structural Analysis

    The period 1850–75 can be considered as the most productive years for establishing the basic concepts of matrix structural analysis, first with the work of Navier and Saint Venant (1855), followed by Maxwell (1864), Catsigliano (1879), Mohr (1868), and other researchers. During the same period, the presentation of information in matrix form was defined by Sylvester, Hamilton, and Cayley (1857). These concepts were exploited almost 100 years later for the development of matrix structural analysis.

    A remarkable overview of accomplishments in structural mechanics during the period 1875–1920 is presented by Timoshenko (1953) in his book History of Strength of Materials. The progress achieved during this period was mediocre due to the inability to handle and solve the resulting algebraic equations with many unknowns. For the analysis of frame structures and trusses, which were of the main interest of this volume, the prevailing method of analysis was based on the consideration of stress resultants as unknown quantities.

    In the first quarter of the 20th century, as a result of Maney's attempts (1915) in United States and of Ostenfeld (1926) in Denmark, the basic principles of approximate analysis of truss and frame structures, based on displacement components as unknown parameters, started to be developed. These principles set the basic framework for the static matrix analysis as it is known nowadays. However, until 1932, there were still major restrictions regarding the complexity of problems which could be solved using either stress resultants of members or node displacements as unknown parameters. The introduction of the moment distribution method by Hardy Cross (1932) waived to a certain extent previous restrictions and made feasible the solution of more complex problems.

    The exploitation of mathematical principles of matrix analysis, with the concepts of structural mechanics started mainly with the work of Frazer et al. (1938), and further enhanced during the decade of 1940. It was, however, with the appearance of digital computers at the beginning of 1950 that a big thrust was given to matrix structural analysis. The capabilities of computers influenced tremendously the advances both in theory and practice and established the matrix structural analysis as the most suitable method for dealing with real-world problems. The seminal publications of Turner et al. (1956) and Argyris and Kelsey (1960) combined the concepts of frame analysis and analysis of continuous elements presented in matrix form, set the basic for the development of the finite element method, the most widely used method of solving problems not only in structural mechanics but in a large variety of problems in science and engineering. Finally, important contribution to the establishment of computational methods of static analysis in the structural engineering profession was made at the continuous conferences of ASCE and especially the first three conference proceedings (1958, 1960, 1963).

    For a more detailed historical overview in the static analysis of structures, the publication of Felippa (2000) is recommended for further reading, where a detailed record of the historical development of matrix methods of static analysis of structures is presented.

    1.5 Flexibility-Stiffness Methods

    1.5.1 Flexibility-Stiffness Matrices

    The characteristic equations of the flexibility method for the analysis of skeletal structures are obtained from the successive application of the principal of virtual forces (PVF)-unit load method (ULM), by enforcing the compatibility of displacements for every degree of freedom (dof) of the structure. Therefore, for the truss example of Fig. 1.3, the compatibility equation of translations for dof Δ3 is written as

    Fig. 1.3 Nodal actions and translations of a truss, based on its degrees of freedom (dof).

       (1.5.1)

    where δ3(Pi = 1) , i = 1 , … , 6 is the translation of dof Δ3, generated due to a unit and unique load for the entire structure Pi = 1 at dof Δi. According to PVF-ULM, this translation for the case of the truss of Fig. 1.3, is given by

       (1.5.2)

    where Νmi is the axial force of the member m due to the actual unit load Piis the axial force of the member m acting along dof Δ3. Eq. (1.5.1) is then written in a compact form as

       (1.5.3a)

       (1.5.3b)

    with F3i , i = 1 , … , 6 being the terms of row i of the flexibility matrix [F] of the truss structure.

    If the aforementioned procedure is carried out for all active dof (Δ1 ÷ Δ6) of the

    Enjoying the preview?
    Page 1 of 1